Category Archives: Software - Page 4

Collecting weather with one wire

I thought I’d written about this in the past, but it appears I have not so I’ll have to take a bit more time to explain this than I thought. To make a long story shorter my interest in weather and computers indicates that at some point I would like to have a computerized weather station at the house. In looking into this, and with my strong preference for inexpensive and open source solutions, I came across the Dallas Semiconductor 1-Wire protocol. As it turns out there are a lot of things you can do with the 1-wire protocol, including using their iButtons and readers as the basis for an access control system (another fun project). One of the early ways they popularized the 1-wire system was by developing an inexpensive weather station.

The station is now sold by Automatizacion Aplicada a Gasolineras (AAG) on their website. The sourceforge One Wire Weather (OWW) project is an open source solution to logging and displaying the data from just such a station. As an added benefit the OWW project has a page listing hardware suppliers, projects and scripting resources. If you’re interested in this sort of thing I encourage you to look at the 1-Wire products and the OWW project as a fun activity.

Shorten that URL

Several times in the past I’ve considered building an open source program similar to TinyURL (with some improvements) for my own use. I think it would be especially handy as a way for me to link to other sites from my blog while keeping strict anti-spam measures in place (which sometimes whine about my own off-site links).

I can’t believe this hasn’t been done before as the code shouldn’t be that difficult. I did spend some time recently looking for starter code but didn’t quite come up with what I was looking for. Instead I found lists of simialr sites which don’t appear to use open source code either the notlong service has links to some of their competitors and the Perl Shorten library gives another list of such services. The closest I have come is this short url php script but I haven’t looked at the code yet and I’m tempted not too because I’m not thrilled with the way the short urls appear to be handled and there is no information about how the code is licensed. The last thing I want is to get caught up in a licensing battle like the SCO/IBM case.

If you know of any open source PHP/mySQL URL shortening projects please add a coment and share the wealth.

Ajax comes to your server

I recently heard about the nifty Ajaxterm project. The idea is to provide terminal access to Linux servers without the need for a Java client which has been the way this has been accomplished in the past. Obviously the connection is insecure unless you use SSH and relies on the local webserver staying up so their are some limitiations. Nonetheless, this is a cool project and one that could prove useful in a number of system management scenarios.

Organizing Books

I have a lot of books, probably far too many and certainly far too many for me to remember what all I have. I often think it would be helpful if I could search a database of my books when I’m checking to see if I have something. There are some sites online where you can do this with a small collection for free or pay to catalog a larger collection but I have two problems with that. First, I don’t like trusting comapnies with my data which could be sut off at any time. Second, I have this thing about doing it myself and using open source software. I keep meaning to write a simple PHP/mySQL program to handle this but just have too many similar PHP/mySQL projects that I need to work on first.

I recently came across some open source software that would provide a good atarting point for such a system. Home Library seems to be just what I’m looking for, though it may be a bit immature. I’m going to be keeping my eye on this as I could use somthing to catalog all my DVDs and videotapes as well. I was also pointed towards the bibliophile project at sourceforge. While not a final product itself they have a number of links to catalog like programs on the projects page. While these are more geared towards organizing references for papers they are useful in their own right and apparently might be useful as catalogging software too.

Recovering from an ext3 hard drive crash

If you run a Linux system and have had the misfortune of having your hard drive crash without a recent backup or RAID configuration you’re in for a world of hurt. Thankfully, there are some free utilities that might make things go a bit easier for you.

My favorite utility is a gem called dd_rescue. This program will work quite hard (and efficiently) to recover as much of your data as possible onto another hard drive or a disk image. It does this by reading smaller and smaller block sizes, isolating as much of the good data as possible before copying it off. Of course this program can’t bring back data that is in the bad area itself, but it does salvage everything it can. I’ve used it a couple of times and one time it worked pretty well, recovering all the important data and the other time I got almost nothing usable. If you need a quick and dirty attempt to get things going again as quickly as possible this is your ticket.

Goodbye freedb, long live freedb

If you’ve been following the freedb controversy you know that the two major freedb developers quit on July 1st of this year. Concerns exist that the freedb project may not be stable or reliable into the future. Obviously many freedb aware applications could be affected by a disruption in service. Thankfully a few alternatives are now available which can keep you running until applications make a switch to a new service.

Perhaps the simplest solution is simply to switch to freedb2. This project is designed to be entirely freedb compatible and is based off of the July 1st freedb data combined with new submissions. New data is released to the public domain and the server side software (forthcoming) under the BSD license. freedb2 will let you query in the standard way using http://freedb2.org:80/~cddb/cddb.cgi as your freedb URL. Submissions are accepted in the freedb way to either submissions@freedb2.org (preferred) or freedb-submit@freedb2.org.

If you’re looking for a more robust next generation solution I would suggest taking a look at what the people at MusicBrainz are doing. With core data in the public domain and additional data licensed under the Creative COmmons Attribution-NonCommercial-ShareAlike license MusicBrainz is becoming a much better database. One of the biggest problems with getting people to adopt MusicBraniz is the lack of compatibility with CDDB/freedb applications which have not been updated by their developers to the MusicBrainz protocol. Thanks to the recent events at freedb devlopers have answered this call and a freedb interface to basic MusicBrainz information now exists. Simply by pointing your CDDB/freedb application to http://www.mb.inhouse.co.uk:80/~cddb/cddb.cgi you can access MusicBrainz data. Note that this translator uses a cached copy of the MusicBraniz database so there is some lag between database updates and the data becoming available. Additional information on the limitations of this translator can be found here and a copy of the source code (license unknown) is available from this svn server. Because of additional and different fields than those supported by CDDB/freedb data must be submitted using a MusicBrainz aware application. It should be noted that the translator is not an optimal solution and is subject to a href=”http://lists.musicbrainz.org/pipermail/musicbrainz-users/2006-July/012741.html”>some limitations. It would be best for for application developers to switch to native support of MusicBrainz.

One of my favorite applications that uses freedb data is the excellent (and free) CD ripper Exact Audio Copy (EAC) which has excellent error correction. I have been unable to find any other application (which is unfortunate as I would prefer a Linux application for ripping) that does as good a job. Hopefully the author, Andre Wiethoff, will update his application to support MusicBrainz in the future. Even better would be if he would release the application under the GPL or BSD license so it could be ported to alternative operating systems.

Is that a VPN in your pocket?

I’ve been doing some VPN work again these days. Some time ago I considered updating my home VPN from PPTP to OpenVPN which is an open source SSL VPN package. I eventually decided to hold off for a few reasons. First, there is a built-in PPTP client in Windows which means I can login from just about any computer without having to download anything. Second, my PPTP solution allowed for a simple Ethernet bridge between the remote system and my home network. Finally, I could log in to the PPTP VPN from my PocketPC device.

As I mentioned I recently setup a VPN system for a client and chose to go with OpenVPN because it was going to be used from only a few specific clients, it was going on a Linux router anyway and did not need to support PocketPC clients. In this case I’m using the OpenVPN GUI for Windows client. It’s not as simple as the built-in PPTP client, but it’s still at least as easy to use as other third party VPN clients I’ve worked with in the past from vendors such as Checkpoint, Watchguard and Cisco. Interestingly enough, as I researched this installation I ran across an alpha port of OpenVPN to PocketPC just recently completed by David G. Lemley, III. At least one of my issues with OpenVPN has been resolved so it may be time to again re-evaluate my use of the aging PPTP protocol for my home VPN.

For those wondering why I made no mention of IPSEC…In my experience IPSEC is both problematic and overkill for a “road-warrior” style system where single clients are going to use LAN resources.

Evolved Gaming

There have only been a few so-called “first person shooter” games which I have played extensively. Heretic, Doom and Quake II are certainly my favorites. Although I don’t play many games at all these days when I do I almost inevitably play one of these classics which I prefer to their more modern counterparts. Of course I was thrilled to learn that Quake II Evolved has continued the development of Quake II in an open source framework. QIIe has some sweet looking graphics that can take advantage of the leaps in video hardware made since Quake II first came out.

Simulating Transportation

If you enjoy playing simulation games as mush as I do (yes, once upon a time I spent hours and hours playing SimCity 2000, SimFarm, SimIsle and more) you might enjoy OpenTTD. Once upon a time Microprose (of Civilization) fame published a game entitled Transport Tycoon and later came out with a Deluxe version. Apparently the game has rabid fans and that popularity led to an unofficial patch (TTDPatch) which fixed some of the bugs left by Microprose when the game was abandoned. Since that time much of the game has been reworked as OpenTTD. OpenTTD includes numerous feature and usability enhancements. Running OpenTTD requires the original graphics files from Transport Tycoon Deluxe, but they shouldn’t be too hard for you to locate on the internet if you are unable to obtain a copy of the original game. Being open source means that OpenTTD can and has been ported to almost any operating system so you should have no problem finding a machine to run it on.

File Synchronization

For years I’ve recommended using Second Copy to automatically synchronize folders and save backup copies of files. A typical installation would be for copying off nightly backups of a user’s documents and profile from a laptop to a network share. If you’re looking for a freeware alternative you might take a look at SyncBack Freeware from 2BrightSparks Software. You’ll have to scroll past the paid version to find the freeware version, but it is availible.

If you’re a little more the doit yourself type I would check out Unison File Synchronizer which is what I use myself these days. It’s a lot like rsync in that it only transfers the smallest portion of a file it can. Unlike rsync there is an easy to install Windows port of Unison which is a great benefit if you’re working in a mixed Win32/*NIX environment. Unison also has fantastic scripting support making it the best bet if you have the time and technical inclination to set that up.