Six hundred miles by car in ten hours with a five year old
They said it couldn’t (shouldn’t) be done, but we made it! I can’t believe how well Nate behaved. I’ve done road trips with adults who were more difficult companions.
View Larger Map
"bugroff" license
I ran across an interesting Open Source license the other day, John Carter’s Bugroff License, included below. It’s among the license acceptable to the Debian project.
Richard Stallman of the Free Software Foundation devised, in addition to some marvelous software, the GNU General Public License (GPL for short). Or the CopyLeft it is sometimes called.
It is quite a revolutionary document, using the “copyright” tool to to protect your right to use free software.
Unfortunately using copyright to protect free software is a lot like using a Jackal to guard the hens.
In fact, various inconveniences relating to this have resulted in modifications such as the LGPL (Library General Public License) and more recently the NPL (Netscape Public License)
I call these matters mere inconveniences, the real damage will occur when the Jackal’s, (sorry, I mean lawyers), actually get to test the GPL in court for the first time.
Thus enter my version.
Its very simple.
Entirely consistent.
Completely unrestrictive.
Easy to apply.
The “No problem Bugroff” license is as follows…
The answer to any and every question relating to the copyright, patents, legal issues of Bugroff licensed software is….
Sure, No problem. Don’t worry, be happy. Now bugger off.
All portions of this license are important..
- “Sure, no problem.” Gives you complete freedom. I mean it. Utterly complete. A bit of a joke really. You have complete freedom anyway.
- “Don’t worry, be happy.” Apart from being good advice and a good song, it also says :- No matter what anyone else says or does, you still have complete freedom.
- Now bugger off. The only way to get rid of pushy Jackals is to ignore them and not feed them. The GPL is just begging somebody to take it to court. Can’t you just see it. Exactly the same thing that happened when some twit (not Linus) registered Linux as his own personal trademark. People got upset, started a fund, and hired, off all ruddy things, a Jackal to try and defend the chicken! Who really benefits from this trademark / patent / copyright thing anyway? The lawyers. Who made it up in the first place? The lawyers.
OK so the last part of the license sounds a bit harsh, but seriously folks, if you are a :-
- Lawyer asking these legalese questions… You should go off and learn an honest trade that will actually contribute to life instead of draining it.
- Programmer asking these legalese questions… You have amazingly powerful tools in your hands and mind, use them to ask and answer the worthwhile questions of life, the universe and everything. Stop mucking about with such legal nonsense and get back to programming.
- User/reader asking these question… Don’t worry. Go off and be happy. Have fun. Enjoy what has been created for you.
SOLD: 1992 BMW R100 GS Paris-Dakar
SOLD: April 30th, 2010
I’ve decided to sell my “1992 BMW R100 GS Paris-Dakar” (link removed)
Always garaged, dealer serviced, clean and in great shape. Flash green and black with just under 58k on it.
Details and farkles… Bruno’s drive shaft with grease fittings installed ~24k ago, Nippondenso starter, Dyna coil, stainless steel brake line, Touratech bash plates, Progressive fork springs, Fox shock, Gizmo Mills Brake! LED Rear Light, OEM clear sport shield and Parabellum tall touring shield, Flip-a-lever throttle lock, Piaa 35W halogen aux driving light with dash switch, fat-foot sidestand plate, Fastway pegs, Powerlet plug on dash and below seat, solo and two-up seat and rack, RAM mount and misc. arms, two-year-old sealed battery always kept on a tender, OEM hard cases, OEM heated grips, OEM Akront rims, OEM owner’s manual, OEM toolkit, plus extras and parts. Shod with Tourances with a bit over a 1000 miles on them. Never crashed or down hard. All paperwork, title and current registration.
See the Picture gallery
weblocks, finally!
I have a little web app in mind so I decided to experiment with Weblocks, a continuations-based web framework in Common Lisp, which has been on my list of cool things to check out. I’m on OSX and it’s been a true experience in yak shaving...
- The easiest method is to install it via clbuild. Except there’s no tarball.
- The clbuild repo is in darcs. Ok, I’ll build it from macports. Except, the dependencies are broken.
- Mix and match versions, local port repo, a couple of patches. Nada. Drop back to older release. At least I didn’t have to fight with ghc. Ok, off and running again.
- Nope, need mercurial. Ok, build that.
- Oops, rebuild SBCL to include threading. Really ready now!
- No luck- problems with cl-json and symbols have changed names in parenscript. Great, fix that to find…
- What? Some deps don’t build properly within clbuild. Ok, build them one at a time.
- Problems with hunchentoot, so pull the latest and build.
- Wrong, need a newer version of chunga, build that too.
- Try newer versions of various deps.
- Try older versions of various deps.
- Rebuild several deps by hand, skipping clbuild entirely.
Lather, rinse, repeat a few times starting at step #7. Sleep. Work. Hack. Curse. Hack. Drink. Sleep. Work. Hack. Curse.
Finally, for no obvious reason it’s working!

I’ll follow up with the (current, as of today) magic combination of versions and build steps but I first need to balance the cursing with drinking.
How my five-year-old understands my job
An XKCD comic describes how my five-year-old (and some adults) understands my job:
http://www.xkcd.com/722/
Unbelievable story, $500 car in a rally
go read Jalopnik:
http://jalopnik.com/5497042/how-a-500-craigslist-car-beat-400k-rally-racers
… This is the multifaceted tale of Bill Caswell, a man who bought a crapcan off Craigslist to run against $400,000-plus rally cars in a World Rally Championship race. It is a tale of a guy who had a welder, a bunch of credit cards, and a lot of free time but no real backing or funds. It is a story of a dude who taught himself how to build an FIA-legal roll cage because he wanted to spend the fabrication fee on race tires instead. It’s the story of a gearhead who drove a rustbucket to a third-place finish in an FIA-sanctioned event.
nginx and textpattern
I run a lean combination of os, webserver and cms on my VPS- NetBSD, Nginx and Textpattern- and it seems to be a fairly uncommon one, judging from the few results in google. That’s not a bad thing, but it does mean rolling your own.
To get a current build of ngix, it’s necessary to build it yourself or out of pkgsrc/wip. Since nginx keeps cgi and php at arms length, I use spawn-fastcgi to run a pool of php interpreters. This is also trivial to build. I slapped together a basic spawn-fcgi rc file and start both nginx and the pool like any other service.
My core nginx.conf looks like this:
user nginx nginx; worker_processes 2; events { worker_connections 512; } http { include /usr/pkg/etc/nginx/mime.types; default_type application/octet-stream;log_format main '$remote_addr - $remote_user [$time_local] "$request" ' '$status $body_bytes_sent "$http_referer" ' '"$http_user_agent" "$http_x_forwarded_for"';access_log /var/log/nginx/access.log main; error_log /var/log/nginx/error.log notice; rewrite_log on; # rewrite shows up in error.log at level 'notice', # turn this off unless debugging to avoid bloated logssendfile on; tcp_nopush on; tcp_nodelay off;keepalive_timeout 45 20; keepalive_requests 25;gzip on; gzip_http_version 1.0; gzip_comp_level 2; gzip_min_length 1100; gzip_buffers 4 8k; # gzip always compresses "text/html", others that benefit... gzip_types text/plain text/xml text/css text/javascript application/x-javascript application/xml application/xml+rss;server { listen 80; server_name localhost; location / { root share/examples/nginx/html; index index.html index.htm; } }include /usr/pkg/etc/nginx/virtual-othersite.conf; }
Configuration of nginx is straight-forward if you accept “messy” urls (i.e. http://www.example.com/foo/index.php) but everyone prefers “clean” urls and that gets into rewrite rules. I haven’t found any for Textpattern (that work with clean urls, anyway) so I came up with my own. The virtual site configuration contains these rewrite rules for textpattern and the fastcgi handling:
server { listen 80; server_name www.othersite.com; root /var/www/othersite.com; index index.html index.php;location / { # rewrite all requests to the maint page # if it exists... # if (-f $document_root/maintenance.html) { rewrite ^(.*)$ /maintenance.html last; break; }# rewrites for textpattern locations... somewhat brittle, relies # on knowledge of the args # if (!-e $request_filename) { rewrite ^/(favicon.ico|robots.txt) @404 break; rewrite ^/archive(.*)$ /index.php?s=archive$1 last; rewrite ^/about.*$ /index.php?s=about last; # enable the next rule during setup, then disable... # rewrite ^/textpattern/setup/(.*)$ /textpattern/setup/index.php$1 last; rewrite ^/textpattern(.*)$ /textpattern/index.php$1 last; rewrite ^/ /index.php; } }location ~ \.php$ { try_files $uri @404; fastcgi_pass 127.0.0.1:9000; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; include fastcgi_params; }location @404 { return 404; break; }# cache static files location ~ ^/(images|javascript|stylesheet)/ { expires 1d; } }
These rules appear to work with the exception of in-line commenting, which redirects to the article. Pop-up comments, since they use a full url, work as expected. The 404 handling is to short-circuit having the fastcgi processes handle common known bad requests.
Blank origami cd sleeve
A friend on a mailing list pointed out that you can fold a US Letter sheet of paper to make a cd sleeve. Neat! I found the original instructions for an origami cd case at Tom Hull’s site but estimating (and refolding) made a messy result, so I whipped up a template using OmniGraffle with marks numbered to his steps: origami-cd-sleeve.pdf. Using the entire printable area on my printer, I get good results.
Some things are almost universal
I’ve been vacationing and using various internet providers with my netbook (much easier than worrying about internet cafes and dealing with one time pads for passwords). Almost universally, the routers and access points at the hotels and apartments have default passwords and minimal settings to achieve some functionality beyond inefficiently turning electricity into heat. Individuals and companies specializing in providing network service seem to do slightly better job (though in one case the AP wasn’t secured after clearing the Sputnik agent).
Email packrat
I’m an email packrat. I have organized, compressed archives of nearly everything I’ve received or sent since 1999. In duplicate. I qualify “nearly” because in 2006 I switched to maildir after corrupting an mbox and out of necessity began culling several mailing lists. And the only reason it only goes back ten years is that I can’t read some of the tapes and can’t find a second copy on a different medium or simply don’t have the operating system any more (OS/2, for example). But that isn’t the point. The point is that I found an email I sent six years ago in less time than it took to write this entry and I did it using little more than grep (I really must sit down and index all of that with mairix).
Ross Lonstein