It's funny, NetBSD runs on basically everything except mass produced consumer PCs ๐
Runs great on my T420, SparcLX, compaq P3, PMAX RISC, and VAX tho
curl
Daniรซl Stenberg
facts and praise
I'm fortunate that I am allowed to follow Daniรซl, lead programmer of the mightycurl. The reason I formulated the line in this way, is because only through the power of the FediVerse I've gotten a boost from someone I follow, who found a post of the lead programmer or curl interesting
stats:
install base => 20000*106 devices
20 billion+ installations!
curl is used in command lines or scripts to transfer data. curl is also libcurl, used in:
Curl is THE Internet transfer engine for countless software applications in over twenty billion installations!
curl is used daily by virtually every Internet-using human on the globe!
curl is 30 years old
Let that sink in!
Opinion
curl is mature critical network infrastructure software that we all need to have our internet powered software / hardware to function in respect to data transfer.
The syntax to use curl in simple implementations is IMHO quite easy. In case you need to know an extra option, the executable and libcurl have excellent documentation. End users normally interact with curl using the (elf) binary on Linux based POSIX operating systems. The more mature BSDs have another binary format
Just type curl to get an initial output which looks like this on my current system
curl
curl: try 'curl --help' or 'curl --manual' for more information
then type
curl --help
Usage: curl [options...] <url>
-d, --data <data> HTTP POST data
-f, --fail Fail fast with no output on HTTP errors
-h, --help <subject> Get help for commands
-o, --output <file> Write to file instead of stdout
-O, --remote-name Write output to file named as remote file
-i, --show-headers Show response headers in output
-s, --silent Silent mode
-T, --upload-file <file> Transfer local FILE to destination
-u, --user <user:password> Server user and password
-A, --user-agent <name> Send User-Agent <name> to server
-v, --verbose Make the operation more talkative
-V, --version Show version number and quit
This is not the full help; this menu is split into categories.
Use "--help category" to get an overview of all categories, which are:
auth, connection, curl, deprecated, dns, file, ftp, global, http, imap, ldap, output, pop3, post, proxy,
scp, sftp, smtp, ssh, telnet, tftp, timeout, tls, upload, verbose.
Use "--help all" to list all options
Use "--help [option]" to view documentation for a given option
When you type curl --manual|less you get the manpages which I delimited with less through a vertical pipe
_ _ ____ _
___| | | | _ \| |
/ __| | | | |_) | |
| (__| |_| | _ <| |___
\___|\___/|_| \_\_____|
NAME
curl - transfer a URL
SYNOPSIS
curl [options / URLs]
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It
supports these protocols: DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP,
HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S, RTMP, RTMPS, RTSP,
SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See
libcurl(3) for details.
URL
The URL syntax is protocol-dependent. You find a detailed description in
RFC 3986.
I can also type man curl to get a nice output:
curl(1) curl Manual curl(1)
NAME
curl - transfer a URL
SYNOPSIS
curl [options / URLs]
DESCRIPTION
curl is a tool for transferring data from or to a server using URLs. It supports these protocols:
DICT, FILE, FTP, FTPS, GOPHER, GOPHERS, HTTP, HTTPS, IMAP, IMAPS, LDAP, LDAPS, MQTT, POP3, POP3S,
RTMP, RTMPS, RTSP, SCP, SFTP, SMB, SMBS, SMTP, SMTPS, TELNET, TFTP, WS and WSS.
curl is powered by libcurl for all transfer-related features. See libcurl(3) for details.
URL
The URL syntax is protocol-dependent. You find a detailed description in RFC 3986.
If you provide a URL without a leading protocol:// scheme, curl guesses what protocol you want. It
then defaults to HTTP but assumes others based on often-used hostname prefixes. For example, for
hostnames starting with "ftp." curl assumes you want FTP.
You can specify any amount of URLs on the command line. They are fetched in a sequential manner in
the specified order unless you use -Z, --parallel. You can specify command line options and URLs
Manual page curl(1) line 1 (press h for help or q to quit)
The reasoning behind curl --manual is simple. On a machine without the manual system you still need access to the full manual. This is one of the reasons why man curl is also implemented as curl --manual
An important RFC is echoed to my terminal in the man curl output which is RFC 3986
A Uniform Resource Identifier (URI) is a compact sequence of
characters that identifies an abstract or physical resource. This
specification defines the generic URI syntax and a process for
resolving URI references that might be in relative form, along with
guidelines and security considerations for the use of URIs on the
Internet. The URI syntax defines a grammar that is a superset of all
valid URIs, allowing an implementation to parse the common components
of a URI reference without knowing the scheme-specific requirements
of every possible identifier. This specification does not define a
generative grammar for URIs; that task is performed by the individual
specifications of each URI scheme.
I shall not quote the whole RFC 3986 here. You can read all about it on the RFC site (see sources)
As you can see curl is thorougly documented, has all the features a simple end user needs to fetch all kind of data, scaled up all the way to the extensive complex features router hardware et all, needs to transfer data.
programming route
I came to this toot when I saw that certain external feature code, which lives in stable external libraries, is now being removed from curl. I should say the code is depreciated then phased out.
This is a logical step
The same is also happening in the Linux kernel, they are following in the footsteps of curl
Conclusion
There is a treasure trove of information in the sources. Just reading the pages on RFC 3986 will keep you occupied for hours.
Have fun and keep reading / learning and programming!
sources:
https://www.rfc-editor.org/rfc/rfc3986
https://curl.se/mail/lib-2026-03/0026.html
#curl #programming #mathematics #linear #algebra #libcurl #Linux #BSD #freeBSD #openBSD #netBSD #POSIX #bash #csh #ksh #sh #fish #radio #TV #smartTV #router
WELP I can no longer say that #FreeBSD's draft policy on LLM code contributions was leaning towards #NetBSD's way of thinking of banning the slop code entirely. I was going off what was said at last year's BSDCan.
Apparently it's shifted since then. https://reviews.freebsd.org/differential/changeset/?ref=1487182
Hopefully it shifts back, before it's finalized. I feel a bit crushed. I've been talking about that prior draft policy as a positive indicator for months. Im realizing I had pinned a lot of hope on it.
I've been trying REALLY hard to stay away from software with LLM generated code. (sigh). Ive dived back into FreeBSD hard after many years away, and have even been trying to contribute some stuff to ports.
I guess if this goes south, ill be re-evaluating things. Maybe NetBSD? Though I know it's missing some things from pkgsrc that will hurt to do without. #bsd
@nuintari I think your mirror idea would work, but keep in mind that if you reach the maximum depth of your write cache, the physical disk will hold up writes to the RAM disk until things get caught up.
Something I donโt get: how can it take 40 to 45 minutes to back up, say, 128 gigs? Thatโs only slightly faster than free-128-gig-USB-stick-from-Microcenter speeds. With a decent NVMe SSD, that should take, say, 128 seconds or so.
RAM disks are great for certain uses. Iโve booted machines with no disks, create a RAM disk, installed #NetBSD on to it, chrooted to it, then run entirely in the RAM disk for months. Itโs a great solution to certain problems.
(edit: RAM disk <-> physical disk hold up)
i have written a NetBSD review on my website after trying it for a few weeks :3
it is so lightweight! and very fun even though itโs kinda hard to use
Latest ๐ฉ๐ฎ๐น๐๐ฎ๐ฏ๐น๐ฒ ๐ก๐ฒ๐๐ - ๐ฎ๐ฌ๐ฎ๐ฒ/๐ฌ๐ฏ/๐ฎ๐ฏ (Valuable News - 2026/03/23) available.
https://vermaden.wordpress.com/2026/03/23/valuable-news-2026-03-23/
Past releases: https://vermaden.wordpress.com/news/
#verblog #vernews #news #bsd #freebsd #openbsd #netbsd #linux #unix #zfs #opnsense #ghostbsd #solaris #vermadenday
Latest ๐ฉ๐ฎ๐น๐๐ฎ๐ฏ๐น๐ฒ ๐ก๐ฒ๐๐ - ๐ฎ๐ฌ๐ฎ๐ฒ/๐ฌ๐ฏ/๐ฎ๐ฏ (Valuable News - 2026/03/23) available.
https://vermaden.wordpress.com/2026/03/23/valuable-news-2026-03-23/
Past releases: https://vermaden.wordpress.com/news/
#verblog #vernews #news #bsd #freebsd #openbsd #netbsd #linux #unix #zfs #opnsense #ghostbsd #solaris #vermadenday
New #blog post alert!
I muse about research some of my grad students and I did around independently evaluating some #OpenBSD anti-ROP mitigations, and I bid farewell to being an OpenBSD developer.
https://briancallahan.net/blog/20260322.html
#freebsd #netbsd #dragonflybsd #bsd #unix #linux #compiler #compilers #rop #research