PärPod
PärPod Books
Series

PärPod Books

Full books and long-form texts, narrated.
18 episodes · 12h 1m · updated Feb 28, 2026
Overcast Apple Podcasts
Daniel Stenberg's free, open-source guide to curl—the tool powering billions of internet requests in Spotify, Instagram, and Grand Theft Auto—reveals how this 30-year project became essential infrastructure.
Your browser knows http://example.com is a name, not a number—here's how curl actually finds that machine on the Internet and what happens before the first byte of data moves.
curl and libcurl's MIT license derivative, created in 1996 by Daniel Stenberg, lets anyone freely access, modify, and share the C source code hosted on GitHub—no restrictions.
Daniel Stenberg's curl runs on practically any system with a C89 compiler and POSIX sockets—here's how to build it yourself from source code.
curl processes whatever you give it—misspell an option or pass an illegal URL, and it'll likely still run, potentially sending "garbage in, garbage out" to your server.
When you type your password into a curl command line, other users on the system can see it in process listings—here's why -u alice:12345 is risky and what to do instead.
Use curl's -v flag to watch your transfers unfold in real-time, revealing exactly how your data moves from command line to server.
Curl offers --speed-limit and --speed-time flags to abandon transfers dropping below 1000 bytes per second for 15 seconds, letting you avoid setting fixed timeouts unnecessarily high for variable file sizes.
TLS (formerly SSL) is the cryptographic security layer that protects curl transfers—curl negotiates cipher algorithms and versions with servers, and you can view these details with the -v flag or customize them with --ciphers for protocols like HTTPS, FTPS, LDAPS, POP3S, IMAPS, and SMTPS.
Daniel Stenberg created curl in 1996, and HTTP has dominated its 30-year existence—here's how to master command-line HTTP transfers with the methods, response codes, and redirects that power the web.
Master HTTP requests with curl: Use -X DELETE to change methods, customize headers, and avoid common pitfalls like HEAD requests that hang waiting for response bodies.
Ep 12Everything curl: libcurlRead
28m · Feb 28, 2026
Thousands of applications rely on libcurl's C API to handle internet data transfers—here's how to integrate it into your own projects with just a few lines of code.
curl_easy_init() creates a transfer handle, but the magic happens when you call curl_easy_perform()—libcurl's core function that actually moves data across the internet.
When libcurl receives data, CURLOPT_WRITEFUNCTION lets you intercept it with a custom callback—but calling libcurl functions from inside could break everything.
libcurl automatically handles HTTPS security and server verification transparently, but you control HTTP responses through write and header callbacks while extracting metadata like response size with curl_easy_getinfo().
libcurl's share object lets multiple handles swap cookies, DNS cache, and SSL sessions without storing them separately in each transfer.
libcurl's 'data' variable names every easy handle in the codebase—a critical naming convention that connects transfers to connections and powers multiplexed requests across thousands of production systems.
Curl's custom test suite runs thousands of XML-formatted test cases across every platform—each one pinpointing exactly which function call should fail to catch bugs before they ship.
Feed URL copied