ACME Labs
acme.com · Personal blog · on HN since 2007
Jef Poskanzer's personal site hosts free software such as thttpd and micro_httpd, the PBM image utilities, and assorted web experiments.
What HN saysHN commenters mention it as one of the oldest personal sites online and credit Jef as author of the PBMplus image conversion tools.
74HN people shared it
56linked it in comments
21stories submitted
413story points
7 months agolast shared
2007people per year2026
Most-shared posts
- 1Acme Thttpd18 people · 81 points · first shared 2007 · 23 comments on HN
- 2Attack of the Repo Men11 people · 10 points · first shared 2010 · 1 comments on HN
- 3ACME Laboratories7 people · 36 points · first shared 2015 · 10 comments on HN
- 4Acme micro_httpd: 200 LOC. Used in DSL Routers5 people · 5 points · first shared 2011 · discussion on HN
- 5Mini httpd5 people · first shared 2021
- 6Benchmarks4 people · first shared 2013
- 7Phoon3 people · first shared 2025
- 8Goodbye AdSense2 people · 160 points · first shared 2012 · 67 comments on HN
- 9Religion and Sexual Ethics (1994)2 people · 2 points · first shared 2021 · discussion on HN
- 10Xantfarm2 people · first shared 2019
- 11Mail filtering2 people · first shared 2011
- 12Same scale2 people · first shared 2022
- 13Nike Missile Sites of the San Francisco Bay Area1 people · 91 points · first shared 2015 · 48 comments on HN
- 14LLM scraper bots are overloading acme.com's HTTPS server1 people · 14 points · first shared 2026 · 3 comments on HN
- 15http_load - test your server for heavy load1 people · 12 points · first shared 2008 · 9 comments on HN
What HN people wrote when they linked it
ghshephard · 2015-06-16
"Magnitude of the Disaster" is the type of hyperbole that doesn't bring clarity to the situation.
I've spent the majority of my working life in the last three years happily accessing the internet, internet services, and I've always been behind a PAT device when in a hotel, serviced apartment, etc...
For example, right now, in my Office in Singapore, my IP address is: 192.168.108.34. And I do all my conferences, whiteboarding, VPNs, etc.. from this office.
Now - back to your scenario - You certainly can share a lot of HTTP Servers on a single IP address - a lot of the customers I've worked with do so using PAT, and, you get very used to the port number being part of the HTTP server address:
I.E. http://www.acme.com:3031
In a ultra-low IP address environment, you have teams with not only IPAM (IP address Management tools), but also Port Address Management - they track who has been allocated to which port.
Now - is this the best case scenario? - No, obviously not - it would be awesome to have a Static IP address, and, there are some scenarios in which I have to have a static IP address - in particular getting IPSec VPNs through PAT can be problematic, so if I want to run a VPN concentrator, I start begging and pleading to get a static IP address. But I know this is going to cost me a lot of money. And that's where I started - once we run out of IPv4 addresses, the market will just start bidding the price of them up. Right now, most ISPs in Singapore will give you a…
janmo · 2026-04-08
> I closed port 443
> Now closing https service is obviously just a temporary fix
Probably the best starting point would be to edit the robots.txt file and disallow LLM bots there.
Currently the file allows all bots: http://acme.com/robots.txt
burnt-resistor · 2025-09-04
1991 is the starting point.
1994 - https://fogcam.org
199? - http://www.toad.com (domain registration August 18, 1987, web site <= 1999 from archive.org)
199? - https://acme.com (domain registration April 17, 1991, web site <= 1996 from archive.org)
NelsonMinar · 2023-06-17
APOD is great. I'd love to hear an overview of the various ways it's published and their choices on how. The ways to publish "daily interesting stuff" have changed so many times in 28 years.
I read it in Feedly, using a third party RSS feed with larger images. https://acme.com/jef/apod/
cylinder714 · 2022-07-26
I think Jef was the original author of the excellent PBM image-conversion utilities: https://acme.com/software/pbmplus/
They're still usable, but the netpbm project has expanded upon Jef's work: http://netpbm.sourceforge.net/
protomyth · 2022-01-24
Reminds me a bit of "Attack of the repo man", a classic case of this behavior http://acme.com/software/thttpd/repo.html
slobiwan · 2021-12-10
Xantfarm was a particular favorite of mine. Made coming into work on a Monday morning kind of fun, to see what the ants had been up to
https://acme.com/software/xantfarm/
lipanski · 2021-05-13
My favourite is thttpd [1] which is super tiny, battle-tested and actually meant for the job (and only this job). It's available as a package on most Linux distros.
Serving a static folder `/static` on port `3000` as user `static-user` and with cache headers set to 60 seconds would go like this:
thttpd -D -h 0.0.0.0 -p 3000 -d /static -u static-user -l - -M 60
Even if you've got Python lying around on every Ubuntu server, I still don't get why you wouldn't use something leaner to serve your static files, as long as it's easy to install/configure. Same goes for most of the runtimes in that list.
[1] https://www.acme.com/software/thttpd/
aspenmayer · 2020-08-04
I found this during research and thought I'd share. It could be better, but it's a one-person project labor of love, so I'm pretty forgiving.
For new-ish parts, PCPartPicker.com is still the single best resource for this info, but their info isn't always entirely accurate. For a given board I was researching with USB3.0, PCPartPicker listed it as having USB3.1Gen1 support. For compatibility its built-in checking is pretty good for what it does, but if your use case demands specific I/O ports/functionality, especially dicey things like Thunderbolt over USB-C, always discover the ground reality for yourself from first-party sources, such as the OEM/vendor.
https://pcpartpicker.com/products/motherboard/
Here's some other motherboard research links I found:
https://acme.com/build_a_pc/boardfinder/
http://www.motherboards.org/mobot/stats.html
chiaro · 2017-11-13
Ha, absolutely not. Other commenters here have already made the population density comparisons pointing out that there is plenty of room, but I think it's best conveyed visually:
http://acme.com/same_scale/?48.84937,-357.65363,37.7749,-122.4194,12,M…
Sukotto · 2011-11-22
Acme Labs has much the same problem. Jef's (2005) article about handling his mail is still a good read (though a bit dated now) http://acme.com/mail_filtering/
jotaen · 2023-03-21
Disclaimer: I’m not your target audience, and I only wanted to leave some minor bits of feedback about your home page. The page does look very neat to me overall, and I like the idea of making it an interactive demo. However, there are some UX/design details that I had trouble to wrap my head around:
- The demo onboarding flow is embedded into a fictional website (acme.com). That sample website only seems “half-functional”, though, and it took me a while to understand how it relates to the enclosing home page: some controls take effect within the embedded acme.com website (e.g. the clicking on the checklist items, which reveal content in the right-hand panel); some controls take effect outside of the embedded sample website, i.e., on the enclosing home page (e.g. clicking on the “See use cases” button, which makes the entire page scroll down); some controls don’t take effect at all (the items of the fake menu on the left hand side, e.g. “Team”, “Settings”, etc. – except for the “Reset demo” button, though). It might well be just me, but for my taste the overall design approach of the demo feels quite “meta”.
- I was able to complete the first checklist item “Welcome to Frigade!” by clicking the “Mark complete” button. But I couldn’t figure out how to complete the second item (“See use cases”) – even though I saw all use cases. Is that right, or did I miss something? The progress indicator in the lower right-hand corner suggests that I’d be able to complete all 6 steps at…
rascul · 2026-01-18
It happened to thttpd
https://www.acme.com/software/thttpd/repo.html
mwcremer · 2025-08-17
Reminds me of Jef Poskanzer’s micro_http: https://acme.com/software/micro_httpd/
hungmung · 2025-07-03
As others have mentioned, check out phoon.
https://www.acme.com/software/phoon/
jpecar · 2025-07-02
Reminds me of ACME phoon ... I used to have this in my .bashrc ;) https://acme.com/software/phoon/
lpribis · 2025-04-30
Use this site for that https://acme.com/same_scale/. It lets you compare any two map views at the same scale.
fanf2 · 2024-09-25
There are a few other HTTP/1.1 servers at that kind of size https://www.acme.com/software/thttpd/benchmarks.html
rcarmo · 2023-10-07
ACME.com to the rescue:
https://acme.com/software/mini_httpd (slow)
https://acme.com/software/thttpd (pretty decent)
fuzztester · 2023-08-03
e12e · 2022-12-18
I'm not sure I follow - you want a smart, small webserver that takes in a http request and updates an analytic store based on headers?
Sounds like something nginx might handle via lua scripting?
Otherwise, maybe you want:
https://github.com/lammertb/libhttp
Or you might want to look at either of:
https://www.acme.com/software/thttpd/
https://github.com/openbsd/src/tree/master/usr.sbin/httpd
If you really want to build (another) web server in C.
Not entirely clear why want to use C for this, though?
hirundo · 2022-07-26
This gives me a different impression of the Methodists than I had:
https://acme.com/jef/religion_sex/
throw0101a · 2021-05-13
> My favourite is thttpd [1] which is super tiny, battle-tested and actually meant for the job (and only this job). It's available as a package on most Linux distros.
Surprising not on Debian or Ubuntu AFAICT:
* https://packages.debian.org/search?keywords=thttpd
Though it does seem to have this from the same author:
* https://packages.debian.org/search?keywords=mini-httpd
* http://www.acme.com/software/mini_httpd/
There are times that I want to run Let's Encrypt that's not a full-time web server (SMTP, IMAP, etc), and it would be handy to spin up something ad hoc on tcp/80 to do the verification step and then stop it right after.
samtc · 2021-04-02
thttpd (http://acme.com/software/thttpd/), mini_httpd (http://acme.com/software/mini_httpd/) and micro_httpd (http://acme.com/software/micro_httpd/) from acme software worth taking a look at.
ezekiel68 · 2020-11-18
For all I know, Servo will go on to conquer the world.
However -- after surveying the comments here, I am left with a poignant sense that this launchpad project has already contributed way beyond its share of heavy lifting to shape and to popularize the rust programming language. Servo no longer needs to succeed in order for rust to win.
Back before multi-core x86 CPUs or the C10K paper came out, a unique engineer decided to show the world[0] how an event-driven web server could perform way better than the threaded web servers of the day. Nobody really uses thttpd in serious production work anymore, but its influence and example can be traced through Zeus web server, lighttpd, litespeed, and on to haproxy and nginx today.
[0] http://acme.com/software/thttpd/
turkeydonkey · 2019-12-20
I'm disappointed that it's not served up by the one true http server for static sites, https://acme.com/software/thttpd/
strenholme · 2019-12-12
Not to mention thttpd, which was updated as recently as last year:
http://acme.com/software/thttpd/
donio · 2019-08-16
xantfarm is another one I like, ant farm in your root window
https://acme.com/software/xantfarm/
g_sch · 2019-06-10
Reminds me also of this exchange the maintainer of thttpd had with a repo guy: http://acme.com/software/thttpd/repo.html
mirimir · 2018-11-22
Also, thttpd[0] is fast, doesn't fork, and is resistant to DoS attacks. The downside is that it's no longer in many repositories, and it can be a pain to compile.
0) https://acme.com/software/thttpd/