ACME Updates

What's new at ACME Laboratories!


22apr2009 ChuMaker (permalink):
Added a little toy I call the ChuMaker. It creates imitation Frank Chu protest signs.

09apr2009 Discussr (permalink):
Ok, here's the app that I needed db for: Discussr. It's an alternate front-end for flickr's group discussions.

14mar2009 db (permalink):
I'm working on a web app whose database is a little too big for tab-separated ASCII files but not big enough to merit a full-fleged SQL database. It would be nice if there was a mid-range option, say a command-line interface to the dbopen(3) library routines. So I wrote one.

17feb2008 ACME Annotator (permalink):
Another new AJAXy page: the Annotator. It lets you add notes to any image on the web.

22jan2008 ACME Chartmaker (permalink):
The latest product from ACME Labs is a front-end for Google's graphing system which makes it much easier to use. Check it out.

20jan2008 Power Failure (permalink):
Unexplained power failure this evening. I don't know when it started, but it ended at 10:05pm, just 15 minutes after my UPS ran down. "Ooo so close."

02jun2007 Power Failure (permalink):
Berkeley lost electricity for 2.5 hours due to someone's mylar graduation balloons hitting a power line. ACME stayed up.

14feb2007 googrep (permalink):
I wrote a little program that combines Unix grep-style text searching with Google-style pattern syntax. It's called googrep.

12jun2006 Mapper Updates (permalink):
I made two small upgrades to ACME Mapper:

24may2006 Outage (permalink):
We had a 9.5 hour power failure yesterday afternoon/evening. The UPS kept things going for 3 hours, so ACME was down for 6.5 hours.

16may2006 Outage (permalink):
ACME's SDSL line was out from 3pm 15may to 11am 16may.

10apr2006 ACME Mapper 2.0 (permalink):
I have been working on a new version of my map page. The old one was an improved front-end for TerraServer. The new version is based on the Google Maps API, so it has a much nicer user interface. Check it out: Mapper 2.0.

15feb2006 Hearts (permalink):
As usual, Valentine's Day was busy for acme.com because of the Heartmaker - 1.2 million hits. In fact the only busier day I've had was last June when my mail filtering tutorial got slashdotted for 1.6 million hits. Here's a graph of this week's traffic:


12dec2005 micro_httpd (permalink):
I stored out a new version of my tiny web server, micro_httpd. It has a better directory lister, and it now handles filenames with spaces in them. This puts it over 200 lines of code, but that's still pretty small.

18nov2005 Golden Gate Sunsets map (permalink):
For my first map based on the ACME GeoRSS Map Viewer, I plotted out all the spots from which you can see the sun setting right in the middle of the Golden Gate.

12nov2005 ACME GeoRSS Map Viewer (permalink):
I made a page that displays GeoRSS map files as a Google map. This lets people make nice pretty maps very easily.

12oct2005 Hot Springs (permalink):
Yet another Google Maps app: USA Hot Springs. This one is a good example of how to present thousands of data points, way more than the Google Maps API can normally support.

18sep2005 Planimeter (permalink):
I remembered the name of the doohickey used to measure areas on a map, so I changed the name of the Areometer to the Planimeter. Links using the old name will continue to work.

14sep2005 Areometer (permalink):
Inspired by the Gmaps Pedometer, I made a map that computes the area enclosed by a given path: the Google Areometer.

Actually there already was at least one other map that does this, but it only does a planar approximation. My version uses completely accurate spherical geometry, including drawing great circle arcs instead of straight lines.

There are a couple other features of interest to Google Maps authors: it remembers the most recent position/zoom/map-type in a cookie; and it correctly handles lines & regions that cross the International Dateline.

18aug2005 Metro (permalink):
I made a Google Maps version of the Paris Metro map. And it does route-finding! It's very slick.

29jul2005 BART (permalink):
I made a Google Maps version of the BART schedule.

26jul2005 js_httpd (permalink):
I wrote yet another tiny web server, but this one is in JavaScript. Why? People tend to think of JavaScript as a crippled Java, but it's really more like awk on steroids, and not in the bad way that perl went. The version of the language I'm using for this has some non-standard extra objects added for file I/O and system access. With these additions, I think it makes a fairly good general-purpose scripting language, and I wrote the web server to illustrate the point. Perhaps someday if the I/O extensions become standardized, general use of JavaScript will catch on.

09jun2005 /. (permalink):
The mail filtering pages got slashdotted yesterday. The server handled the load pretty well, except that there were a lot of packet collisions on the two-foot ethernet segment between the server and the DSL box.

05jun2005 ipizer (permalink):
First release of ipizer, a filter to improve sendmail log files so they are easier to analyze.

03jun2005 Outage (permalink):
Had a two-hour power outage this evening. The server stayed up, on UPS. My workstation lasted less than an hour on its smaller UPS, so I read a book while waiting.

25may2005 Filtering (permalink):
The new ACME Labs Mail Filtering Tutorial is now open to the public.

18mar2005 Prints (permalink):
I added an "Order Prints" button to all of my photos. This uploads the picture to smugmug if necessary, and then redirects you there. You can also order stuff besides prints, such as t-shirts, coffee mugs, and jigsaw puzzles.

16mar2005 xmlrpc (permalink):
I wrote a simple command-line XML-RPC client, xmlrpc.

11mar2005 Mapper (permalink):
I added geocoding to the ACME Mapper. This means you can type in a street address and it will find the coordinates. It does this by making an HTTP request to Google Local and parsing the results.

11feb2005 sfcmilter (permalink):
I did some work on sfcmilter to make it a little less susceptible to false positives.

10feb2005 stat (permalink):
Trivial new program available - stat. It displays info on a file, like "ls", but in programmer-level detail. I've actually had this kicking around my personal src dir for years, but never got around to publishing it.

02feb2005 graymilter (permalink):
New version of graymilter available - now it has an optional initial whitelist.

24jan2005 Missile Defense (permalink):
Found an amusing editorial cartoon on the net - ACME Missile Defense, by Bruce Plante from the Chattanooga Times Free Press by way of Slate and 12thharmonic.

22jan2005 Comments (permalink):
I wrote a little web-comments widget and added it to my blogs and photo pages.

21jan2005 texttohtml (permalink):
Minor tweak to texttohtml to better handle files with CRs as well as newlines.

18jan2005 Outage (permalink):
Another power outage this morning. The UPS battery lasted for three and a half hours! Too bad the outage lasted four hours. Oh well.

12jan2005 RSS (permalink):
My political page hail-to-the-thief.org is now RSSified too.

11jan2005 RSS (permalink):
This page now has an RSS feed, by way of some trivial blogging shell scripts that I might release at some point. I also recently added RSS to my photos page, using a more specialized set of scripts.

03jan2005 file_date (permalink):
Added a trivial program to display a formatted date for a given file: file_date.

21dec2004 Outage (permalink):
We were off the net for an hour again this morning while SBC and Covad switched in a new phone line.

20dec2004 XIP (permalink):
Another XIP tweak, to throw an exception for one more type of malformed XML file.

19dec2004 XIP (permalink):
Trivial fix to XIP; the header file was missing a couple of consts it should have had.

17dec2004 Outage (permalink):
acme.com was off the net from 10am on Thursday the 16th until 1pm today - 27 hours! There was a real three-way clusterfsck going on between Speakeasy, SBC, and Covad. The SBC guy showed up promptly, checked the line, and said there was a short-circuit in Covad's part. Speakeasy then dropped the ball until I called them at 5pm. Covad showed up at noon Friday and said it's SBC's problem. They are going to meet here on Monday and sort it out. Meanwhile I can keep things going by rebooting the DSL modem whenever it loses the link.

14dec2004 date_parse (permalink):
A couple of minor enhancements to the timegraph program in the date_parse package.

05dec2004 copy_exif (permalink):
First release of copy_exif, a little utility program for copying EXIF data from one JPEG file to another.

02dec2004 Outage (permalink):
We had an hour-long power outage this morning, but the system stayed up due to the massive UPS I installed this spring. It's an APC Back-UPS RS1500 ($227) plus an RS/XS auxillary battery pack ($123). Very nice.

28nov2004 graymilter (permalink):
First release of graymilter, a very simple graylisting milter.

27nov2004 Hi-Res Images (permalink):
TerraServer has added hi-resolution color images for some urban areas, so I added them to the ACME Mapper.

24sep2004 Digicams (permalink):
Added sensor size, sensor type, and pixel pitch to the digital camera database. Also, we passed 400 camera listings!

14sep2004 sfcmilter (permalink):
First release of sfcmilter, designed to work alongside spfmilter and plug a hole in the design of SPF.

28may2004 spfmilter (permalink):
Another new milter released: spfmilter, which implements the SPF mail-forgery prevention protocol.

18may2004 blackmilter (permalink):
First (very beta) release of blackmilter, a mail filtering module for blacklisting large numbers of IP addresses.

14may2004 sample_milter (permalink):
Wrote sample_milter, an example of a sendmail mail filtering module.

06may2004 Clam AV (permalink):
Acme.com is now running Clam AV, an anti-worm/virus mail filter. Before installing this we were getting about three worms per second, using up about 1/4 of the DSL line's bandwidth. Clam AV rejects them earlier in the mail transaction, saving some CPU cycles and possibly even some bandwidth by shutting them down before the entire worm gets transmitted.

01may2004 New Server (permalink):
Acme.com has switched to the real new server, still running over a DSL line to my office. Details on the hardware page.

17mar2004 Temporary Server (permalink):
Acme.com has switched to a temporary new server running over a DSL line to my office. Details on the hardware page.

16feb2004 Precedence Day (permalink):
In honor of Precedence Day, I made an HTML version of this table.

19dec2003 mini_httpd/thttpd (permalink):
Released version 1.19 of mini_httpd and 2.25 of thttpd.

26oct2003 mini_httpd/thttpd (permalink):
Released new versions of mini_httpd and thttpd.

18aug2003 Digicams (permalink):
The digital camera database passed 300 listings today.

21mar2003 Boardfinder (permalink):
And 1000 boards today!

18mar2003 Boardfinder (permalink):
Boardfinder passed 900 boards today.

12oct2002 Digicams (permalink):
Finished the initial data entry for the digital camera database. 189 cameras listed!

05oct2002 Digicams (permalink):
Opened up a new database for digital cameras. Only 19 entries so far but I'll add more soon.

15aug2002 Boardfinder (permalink):
Boardfinder reached 800 boards today.

23jul2002 date_parse (permalink):
Added a date_merge program to the date_parse package.

26may2002 mini_httpd/thttpd (permalink):
Released new beta versions of mini_httpd and thttpd.

25may2002 Build-A-PC (permalink):
Completely updated the Build-A-PC page. I'm particularly happy with the redone memory page. Also the Boardfinder is now up to 582 boards.

17apr2002 Mapper (permalink):
Added a few new features to the ACME Mapper: it remembers your previous settings and start location; you can mark a location and get the distance and direction from there; the Save Map page displays the "World File" parameters of the map; and you can turn the little red dot off if you like.

26mar2002 phoon (permalink):
Updated phoon to use the latest verison of date_parse.

18mar2002 http_get (permalink):
Added a new feature to http_get - now the exit status reflects the HTTP response code.

04jan2002 date_parse (permalink):
Minor update to date_parse.

04jan2002 IPv6 (permalink):
Updated all my network software to be IPv6-ready.

02jan2002 Label Maker (permalink):
Added 18 fonts to the Label Maker.

19dec2001 HTTPS (permalink):
We are now serving our entire web tree via HTTPS as well as regular HTTP. Same content, slower but more secure service.

07dec2001 Firewalls (permalink):
Updated the FreeBSD firewall tutorial to reflect FreeBSD 4.x and IPv6.

04dec2001 Boardfinder (permalink):
Rewrote some of the Boardfinder's shell scripts in C for speed. Now searching is basically instant.

29nov2001 Boardfinder (permalink):
Updated the Boardfinder with about seventy new boards, cleaned up broken links, and added AGP Pro.

14nov2001 http_load (permalink):
New version of http_load with a bunch of new features - settable timeout, HTTP response-code histogram, random source-IP, SSL cipher specification.

12nov2001 mini_httpd/thttpd (permalink):
Released new beta versions of mini_httpd and thttpd.

09nov2001 mini_sendmail (permalink):
Minor update to mini_sendmail.

26aug2001 Email (permalink):
Added email capability to the Label Maker, License Maker, and Heart Maker. You can mail yourself the images you make.

14aug2001 New IP (permalink):
Had to reboot to change IP addresses.

10aug2001 Mapper (permalink):
The ACME Mapper is open for business. This is a topographic & photographic mapping system based on Terraserver, with some significant improvements.

09aug2001 coords (permalink):
Released coords, a set of geographical coordinate conversion routines.

01aug2001 Photos (permalink):
I finished a total re-write of my photography web pages & scripts. Now it's completely database-driven. The system currently has 1650 photos, using 329 MB.

16jul2001 Boardfinder (permalink):
Added a few more boards to Boardfinder, bringing the total to 405. Also sped up the searching, which was getting a little slow with that many boards.

15jul2001 mini_sendmail (permalink):
mini_sendmail updated.

20jun2001 Creeks (permalink):
A geographic / photographic database of Berkeley Creeks.

12may2001 revpar (permalink):
Released revpar, to reverse files by paragraphs.

11may2001 http_ping (permalink):
Released http_ping, a little program to measure HTTP latency.

09may2001 Zippo (permalink):
The folks at watches.acme.com sent me a free Zippo lighter engraved with "ACME LABS"! It's very nice.

08may2001 Outage (permalink):
A rolling blackout hit explosive.net, and due to a loose power cable the battery backup had much less capacity than planned. We were down for about half an hour.

23apr2001 thttpd (permalink):
thttpd version 2.21b released - had to do a quick fix to a problem that was causing the server to hang.

20apr2001 thttpd (permalink):
thttpd version 2.21 released.

02apr2001 Domains (permalink):
Added to the ACME family of vanity domain names: longpork.com and poskanzer.org. Also I officially enabled the free email systems on all the domains.

01apr2001 Ads (permalink):
The first month of ads from Aaddzz ended up bringing in $504.52, which is not bad. The distribution was uneven - there were many days with only a few bucks, and then there were a few days with more than $60. Anyway, I'll keep them for now.

The donations page has brought in $225.20 through PayPal, $167.80 through Amazon, and $200 direct, for a total of $593.00 in two months. That's also not bad!

14mar2001 Donate (permalink):
ACME Labs received a $200 donation from Maniacal Contributor Arvind Ghanekar. Woo hoo!

06mar2001 Ads (permalink):
Looks like that first $30 day at Aaddzz was some sort of fluke. $5/day is more like it. Oh well, that's acceptable. I'm making more off direct donations though.

05mar2001 Ads (permalink):
The first ACME Labs banner ad is up and running on Aaddzz. I made it using pbmplus and the labelmaker. It's not beautiful but it gets the message across.

04mar2001 Outage (permalink):
www.acme.com was down most of today due to a power plug being not completely plugged in at explosive. Oh well, I guess they're not perfect.

02mar2001 Ads (permalink):
We have started running banner ads from Aaddzz. They seem like a pretty good broker. For example, they let publishers set options like maximum ad size in bytes, and whether to disallow animated ads. First day's commissions were about $30, or $900/month, which is not bad at all if it keeps up. That's about twice what I was making at Burst! Media, my previous broker. I also got about $20 of "promotional" money, which can be used to run my own ads on other Aaddzz sites. Guess I have to come up with an ACME Labs banner now.

23feb2001 Outage (permalink):
Explosive moved their operation tonight, including this machine. About 3.5 hours downtime, no apparent problems.

21feb2001 All Your Candy (permalink):
All your candy are belong to us.

20feb2001 Heart Maker (permalink):
The Heart Maker was made Cruel Site of the Day. Another 10000 visitors!

15feb2001 Heart Maker (permalink):
The Heart Maker got mentioned in memepool.com. Even though it was a day after Valentine's, it brought in over 6000 visitors.

07feb2001 Outage (permalink):
We were down for five hours today due to a car crashing into a utility pole down the street from my ISP.

06feb2001 License Maker (permalink):
The License Maker got mentioned in memepool, bringing in about 3000 visitors.

28jan2001 Donate (permalink):
I started a trial run of this - voluntary $5 donations to support the site. We shall see if anyone goes for it.

18jan2001 Outage (permalink):
The California energy/finance crisis hit us yesterday - our co-location ISP explosive.net got blacked out for 90 minutes. Fortunately they have two hours of battery backup installed, and it worked flawlessly, so we stayed on the air.

06jan2001 Dates (permalink):
I noticed this morning that the short 06jan01 date format I like to use is now ambiguous. Furthermore, it will remain ambiguous for the next thirty years! Y2K wasn't enough to make me switch to four-digit dates, but this is.

25dec2000 Boardfinder (permalink):
Boardfinder passed 300 boards.

11dec2000 Thief (permalink):
Added hail-to-the-thief.org to the ACME Labs family of web pages.

01dec2000 Boardfinder (permalink):
Added 13 more boards to the Boardfinder, including the first Pentium-4 boards. Since the only current chipset for the P4 requires the use of RAMBUS memory, I had to add that into the system too, which is unfortunate cause it sucks.

01dec2000 /. (permalink):
We got Slashdotted yesterday and I didn't even notice! It was for this amusing palindromic C program that I grabbed off the net years ago. Not even my own code. Traffic approximately doubled for about ten hours - not too big a deal.

30nov2000 Boardfinder (permalink):
Added 33 new boards to the ACME Boardfinder, including ten with DDR memory.

27oct2000 Build-A-PC (permalink):
Updated the Build-A-PC page. Actually it's now pages, I split it up into separate files by topic. Memory prices have been falling a lot, down by almost 50% since the previous update five weeks prior.

19oct2000 License Maker (permalink):
Finally got around to adding all the historic license plates to the License Maker.

08oct2000 select (permalink):
Added -all flag to select, and fixed a bug with schema-mode databases.

05oct2000 Ciphers (permalink):
Added the AES and RC6 cryptosystems to the Acme.Crypto Java package. AES is the just-announced Advanced Encryption Standard, and was formerly known as Rijndael. RC6 was a candidate for the AES and didn't win the competition, but is still quite good.

30sep2000 select (permalink):
Added ignore-case flag to select.

27sep2000 thttpd (permalink):
thttpd 2.20 released.

24sep2000 Boardfinder (permalink):
Added name searching to the ACME Boardfinder.

13sep2000 http_load (permalink):
New version of http_load with a couple of enhancements and bug fixes - max & min timings, SSL random-number seeding fix, proxy support, timer improvements.

06sep2000 RSA (permalink):
Two weeks before their patent was to expire, RSA has released their public key encryption algorithm into the public domain. This means I can add actual RSA programs to the bigint package, instead of just including directions for performing it with the bic calculator.

06sep2000 Updates (permalink):
Started the ACME Updates file.

04sep2000 Build-A-PC (permalink):
Medium-sized update to the Build-A-PC guide. The sample Athlon design changed from Slot-A to Socket-A. The sample dual-Pentium design changed from Slot-1 to FC-370. The sample compute-server design changed from a Celeron to a Duron.

23aug2000 Boardfinder (permalink):
I added a motherboard database to the Build-A-PC page.

11aug2000 select (permalink):
select, a little ASCII-database program.

27jul2000 bigint (permalink):
bigint, a new large integer math package.

18jun2000 closest_fractions (permalink):
closest_fractions, a little program to find the rational numbers closest to a given real number.

18may2000 Testbed (permalink):
I've been working on a gigabit ethernet testbed.

09may2000 Colormap (permalink):
A colormap sampler.

21mar2000 Build-A-PC (permalink):
Wrote a Build-A-PC guide.

28jan2000 thttpd (permalink):
Added referer-checking to thttpd, to deter bandwidth parasites.

25jan2000 thttpd (permalink):
thttpd now supports IPv6. It's the first Unix web server to do so out of the box, without patching.

18jan2000 Calendar (permalink):
The ACME Calendar.

31dec1999 http_post (permalink):
http_post, a little program to do HTTP POST requests and return the results. Same idea as http_get.

16dec1999 BlueLight (permalink):
K-Mart's web site BlueLight.com went on the air, powered by thttpd.

10dec1999 mini_httpd (permalink):
mini_httpd now handles SSL/HTTPS. It is almost certainly the smallest/simplest web server to do so.

25nov1999 New Server (permalink):
www.acme.com is now running on a 450 MHz K6-2 box co-located at explosive.net. Here's a rundown of the changes:
Old setup New setup
ISP Best.com Explosive.net
OS FreeBSD 2.2.8 FreeBSD 3.3
CPU 200MHz shared 450MHz dedicated
Server bestwwwd/2.4 thttpd 2.07
chrooted no yes
Disk space 70 MB about 6 GB
Bandwidth limit 200 MB/day 5.4 GB/day
CGI CPU limit 1000 seconds/day 86400 seconds/day
Cost $50/month $100/month


24nov1999 weblog_parse (permalink):
weblog_parse, a program to parse and extract data from standard web log files.

27oct1999 Privacy (permalink):
ACME Labs now has a privacy policy. This is intensely boring, but apparently necessary if you want to carry any ads from IBM.

17sep1999 mini_httpd (permalink):
Released mini_httpd. This is an old-fashioned forking web server, making a new process for each request, just like the first version of NCSA before they invented pre-forking. It's intended as a simple testbed for trying out things like SSL. It's surprisingly fast, though. On my old 100MHz Pentium it clocked 70 ops/sec, 90% as fast as Apache on that platform. I suppose forks are pretty fast when the program's size is minuscule - the executable is only 8KB.

12sep1999 License Maker (permalink):
The ACME License Maker.

05sep1999 http_load (permalink):
Added SSL to http_load.

16mar1999 micro_proxy (permalink):
micro_proxy - the world's smallest web proxy?

15mar1999 micro_httpd (permalink):
micro_httpd - the world's smallest web server?

15nov1998 Outage (permalink):
ACME Labs was mostly off the net for the last week because some moron at Network Solutions let a host registration for www.acme.com go through.

24jun1998 Benchmarks (permalink):
Some web server benchmarks.

23jun1998 thttpd (permalink):
thttpd 2.00 released.

27nov1997 Serve (permalink):
Acme.Serve won a Byte Editor's Choice Award of Distinction. JavaSoft's JWS (the server formerly known as Jeeves) won the same award.

28sep1997 ECLI (permalink):
Experimental Command Line Interface.

07feb1997 Label Maker (permalink):
The ACME Label Maker.

20dec1996 Nnrpd (permalink):
First release of Acme.Nnrpd, a netnews reading daemon in Java.

27nov1996 Widgets (permalink):
First release of Acme.Widgets, a few Java GUI utility classes.

18aug1996 Under Construction (permalink):
The Under Construction page.

10aug1996 Serve (permalink):
First release of Acme.Serve, a tiny Servlet engine.

11jun1996 Psg (permalink):
Released Acme.Psg, a Postscript-like graphics package for Java.

25mar1996 Stats (permalink):
Started producing daily web stats reports.

03nov1995 On The Air (permalink):
www.acme.com goes on the air, hosted at best.com.

19oct1995 thttpd (permalink):
First beta version of thttpd released.

07jul1994 First (permalink):
My first web page, at ftp://ftp.netcom.com/pub/jef/web/jef.html

17apr1991 Registered (permalink):
Registered acme.com domain name.
Back to ACME Labs.