cURLing

Image by Rainer Stropek on Flickr
cURL up on the couch and check out this cool open-source tool!
The world of open source—that is, where all the code is made publicly, freely, available—software is a funny one. A lot of open source projects are tiny things that no one ever really hears about other than a handful of people who need it. Some of them grow to be giant communities that last for decades and have taken on a life of their own, like the Linux operating system.
But sometimes you have pieces of software that aren’t household names and yet are incredibly important to so many of the things you use every day! In this article, we’re going to talk about one of those: cURL!
cURL—which stands for “client for URLs”—is a tool that does one thing and does it well: it lets you send data to and receive data from other computers across the internet based on their URL. I’m being slightly careful in how I’m saying this because while, yes, that mostly means the web it doesn’t exclusively mean websites. You can actually use cURL with a bunch of different ways to talk to computers across the internet, also called protocols.
cURL is both a program you can use on the command line, as we’ll show some examples of in a bit, but it’s also a library you can use with essentially any programming language to transfer data across the internet.
cURL was originally the work of just a single person—Daniel Stenberg—nearly thirty years ago but now is supported by a team of programmers and is used by, well, almost everyone. Seriously. Loading music to play on your phone with Spotify? cURL! Your Playstation downloading files? cURL! Your phones use cURL. Your tv uses cURL. Your router uses cURL. Steam uses cURL. Cars use cURL. It’s everywhere and it’s just an open source project started by one programmer.
I think that’s actually really cool! You have a piece of software that does its job well and now, over time, a ton of our technology has come to rely on it. Kinda the perfect open source success story!
Now, while talking about all that is fun I’d be remiss if I didn’t show you some fun things you can do with cURL at home. For this part, I’m going to be assuming that you have access to a command line: cURL works on Windows 10, Linux, and Mac OSX, and is generally pre-installed on any of those operating systems.
So from your favored command line try typing the following:
curl cheat.sh
and you should see something like
this is a little command line interface that lets you access a bunch of documentation about learning how to code just using cURL!
For example, you could type something like
curl cheat.sh/python/:learn
and you’ll get a big Python tutorial right in your terminal. You can do it with a bunch of languages including C, Ruby, Haskell, and Lua.
But another really fun thing you can do with cURL is store, share, and retrieve small files with this service: https://0x0.st/
The website version describes how to use it but the fun part is that you can, from the command line, put files on this server and they’ll stay there anywhere from a month to a year depending on how big they are: the smaller the file, the longer it’s allowed to live on the server. So you can’t use this for storing things permanently, but you can use it to do something like share pictures with friends!
Basically, anything that’s a simple (or even not so simple) website you can interact with via cURL.
The real point, though, that I want you to take away from this is that it’s possible, even in your spare time, to write software that does one thing so well that it becomes important to almost everyone on the planet!
Learn More
What is cURL?
https://en.wikipedia.org/wiki/CURL
Everything Curl
How does Curl Relate to APIs?
https://developer.ibm.com/articles/what-is-curl-command/
Curl Command Exercise
https://linuxize.com/post/curl-command-examples/
Daniel Stenberg
Also In The August 2022 Issue

This method of detecting marine waste is truly out of this world!

Looking for free computing resources for your classroom? Check out Computing at School!

Never be late again with the help of this neat coding project!

From bulletproof vests to stronger tires, Kevlar is a really versatile material!

Time to learn how humans have kept track of time over the centuries

Check out how programmers are competing to make an even simpler Wordle!

Your dreams of having a robotic friend may be closer than you think!

Check out some of the cool ways virtual reality is being used in medicine!

A sandy problem requires a sandy solution!

Learn how you can use retro game design to help kids embrace their creativity!

Make a kitchen timer with this quick coding lab!

Perlin noise is as random as it gets!

Leave your mark on the world wide web with your own website!

cURL up on the couch and check out this cool open-source tool!

You know leap forward and fall back, now add a little kick with a leap Second

Check out some of the cool tech being invented for pets!

Discover the true origins of the great poop emoji!

Pokemon in Minecraft? Tell me more!

Collection of the Learn More links from all of the August 2022 stories, in one place.

Interesting stories about computer science, software programming, and technology from August 2022.