"The only way to eat well in England is to have breakfast three times a day." -- W. Somerset Maugham

Fri, 14 Feb 2003

[15:35] Some Recent Hacks

Richard Soderberg came looking for my Parse::BNF module yesterday, which is really just a wrapper around a Parse::RecDescent grammar that translates a BNF grammar into a P::RD grammar suitable for further hacking. I really should post the bloody thing on the CPAN, but I mention it here only because that way I can search Google for it the next time I go looking for it.

(Parenthetically, I accidentally wiped out the layout template for this site last week in a fit of chemically-induced pique, and, of course, I had no backups. Google cache to the rescue! In the words of the irascible Gnat Torkington, "Between Google and archive.org, who needs RAID?")

So, in a similar vein, I thought I'd mention Vingt, my 20 questions bot, concieved in response to MJD's evil Perl quiz of the week (and its 'expert' companion). Vingt is an IRC bot that plays 20 questions to try to guess an animal you're thinking of. It will learn about animals it doesn't already know about, and it will ask for clarification of inconsistent responses. Vingt requires perl 5.8.0 or better, plus Net::IRC and YAML.pm, all of which can be had from the CPAN. Finally, you can get a sample database to peruse and/or try out.

Then there's a whole series of HP printer hacks. Find all the Hewlett-Packard printers on your network by running this perl script on your Linux box. Set the "READY" message on any HP printer to the 16 characters of your choice with the hphack script, or, if 16 characters aren't enough for your brand of scintillating wit, try a scrolling marquee that updates every 300 milliseconds. Finally, if you're fresh out of clever aphorisms for your nearby printer, here's a script that pastes a random fortune to one randomly selected printer on your network, in scrolling marquee, three times through, once every half hour or so.

During a very, very boring meeting yesterday, I ended up implementing the Sieve of Eratosthenes, an ancient and quite efficient method for calculating prime numbers, to avoid gnawing my own leg off out of ennui. I started with a Perl implementation, then wrote a C version, demonstrated that the C version was over 30 times faster than the Perl, and then proceeded to calculate all of the prime numbers below 20 million in about 70 seconds on my Pentium 3 laptop. During a somewhat less boring meeting this morning, I came up with an improved C version that's another 15% faster, and uses 8 times less RAM.

Of course, let's not forget the potentially useful software that's taken up the remainder of my spare time: NoCatSplash, the C port of NoCatAuth, targeted at wireless gateways running on embedded-style systems. Supposedly these guys have already ported it to their platform. I'm hoping to get actual authentication using GPG working in time for CodeCon.

Somewhat more exciting is the Open Source mapping software that Rich Gibson and I have been working on, which plots street addresses to lat/long (a.k.a., geocoding), plots line-of-sight profiles between would-be wireless peers, and recommends possible wireless connections, complete with figures on clearance, distance, and true bearing. Our immediate plans involve building a web service to facilitate other people's use of the package. We will be presenting our work at O'Reilly's Emerging Technology Conference.

The Book

Items of Local Interest
· the lovely & talented jo
· our Mapping Hacks blog
· my O'Reilly Net blog
· jo's devlog
· geocoder.us
· Locative US
· NoCat Wireless
· UO Faculty of Cartography
· Locative Media Lab
· World Summit for Free Information Infrastructures

Items of Recent Interest
· boston craigslist > all apartments: search for "cambridge -allston -brighton -somerville -medford"
· Mapping the Neighbourhood
· World Language Mapping System: Worldwide language areas and points for GIS
· ActiveRDF
· Borders in Cyberspace: Conflicting Public Sector Information Policies and their Economic Impacts
· Life with CPAN
· TJ's KMLDocument for Google Earth (+KML Reference)
· Boston Hiking Guide (with MBTA info)
· Calcium: feeding the Coral CDN with FeedTree
· Prototype Dissected - snook.ca
· OpenWrt / RC4 + Capture portal
... more del.icio.us links

Prior Musings
[2006] Jan Feb Mar Apr
May Jun
[2005] Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
[2004] Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
[2003] Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec
[2002] Jan Feb Mar Apr
May Jun Jul Aug
Sep Oct Nov Dec

Regularly Scheduled Programs
· Testing Range
· Idle Words
· mattw.fn_blog()
· AkuAku
· Anarchogeek
· Laughing Meme
· zephoria
· Aaron Swartz
· Praxis + Parfait
· Accordion Guy
· behind the times
· Oblomovka
· Lawrence Lessig

· freenetworks.org
· Ruckus Society
· Old-Growth Preservation

l337 h4><0rz
· Axis of Aevil
· Kirrily "Skud" Robert
· Meng Weng Wong
· Simon Cozens
· Steve McNabb
· Forrest English
· Drew Woods
· Sean Burke
· Nat Torkington

Friends, Romans, & Countrymen
· Limit of X
· San Matejo de Yabulda
· T.J. Mc
· Forecast Music
· Eric Schwartz
· Pseudopod

21st C. Living
· perl
· Squigby
· acme's recipe archive

© copyright 2002-2004 Schuyler Erle * [email protected]
All original material on this website is licensed under the Creative Commons.
= Powered by Blosxom =