Jan
26
2009
Dear open source software community,
Utilities are an important part of programming packages. It is commonly held that a utility class be one with static methods; the association that they may hold may be as simple as the type they operate on.
A utility for manipulating strings may be called StringUtil or StringUtils. There is no consensus on this in the community.
If you hold that each method in the class IS a utility, you would probably assume the class should be named StringUtils. (like apache lucene, apache commons, spring)
If you hold that the class itself is the utility, bound together by its common association. Each method is simply that, a method in the utility that operates on strings, you would probably assume the class should be named StringUtil. (like apache lucene, apache poi or jetty)
Thats right, in lucene they can’t even decide within the same project…
They have packages named util and utils, and utilities name SUBJECTutil and SUBJECTutils.
Kind of like my codebase at work… As soon as you decide.. can you let me know?
- Joshua
Update: At my work developer poll ”util” has it. Three to one with one abstaining.

Jan
04
2009
My home network gateway is a busybox (linux) based openWRT router running on linksys wrt54g hardware. I’ve been playing with its many built in and package based features, via ssh and a web based portal. For my next version I think I can dump the web based portal and go strait for the pure ssh only distribution.
My router is actually not a router at all anymore, it is an embedded computer with a wireless adapter (or two?) and a fully configurable switch, set up in client mode, using its wireless adapter to search for open wifi nodes and connect. Then it nats up a wired network (which my 800 foot condo has 14 ports) for the rest of my computers.
I realized just how cool it was when I was adding a crontab entry to do connection detection and reconnect and it opened up vi. I don’t get vi, and don’t care to understand it. I had to go look up how to exit it. I’m not ashamed to say so, its a horrible, horrible invention. Ok so not a horrible invention, but like the telegraph it has served its purpose. Can we move on?
So I cracked open the global profile in zile (light emacs clone) and changed the default editor.
That is when I realized, this is cool. I have not one, but multiple editors on my router. Other packages that are available are traffic shaping, upnp, various kinds of vpn, torrent clients among other things.
Next I am going to move on to my home backup/file server/torrent machine which will probably be an openwrt box as well. This time its running on a 1 watt solid state linksys NSLU2, spinning up a hard drive when I want to stream or backup something, but mostly relying on a large usb flash drive for torrenting. The NSLU2 and the router combined will be a super low power ‘always on’ computer for my home. Yay!