August 6th, 2004
I updated metadate to parse metadates contained in stories. I had to do this because entries_cache wasn’t providing metadates for stories outside the current directory, but the permalink plugin needs those.
Download metadate 0.0.3 Be sure to rename it to “metadate”
Documentation is available here.
Posted in Blosxom | 2 Comments »
June 18th, 2004
Here is dotcat version 0.3. Changes from the previous version include:
- Now can handle multiple input files
- a new –disable-pruning option in case you want to not combine duplicate nodes & edges
- documentation in POD (use ‘perldoc dotcat’)
Download dotcat 0.3
Posted in Developer Utilities | No Comments »
May 31st, 2004
Just for fun in the evenings, my wife and I have been working on a simple marbles solitaire game. Yeah, we know, there are already hundreds of versions of this game. That isn’t the point. It is a way for us to learn SDL and keep our programming skills sharp. It isn’t finished yet so there are some rough edges, but we are posting it anyway. In the game, just click to move pieces around. ‘q’ quits and ‘r’ resets the board.
Download source code
win32 binaries
Posted in Programming | No Comments »
April 7th, 2004

3 weeks ago my wife, brother, and I got the opportunity to mountain bike from Aetna Springs to Calistoga. This ride starts on private property but my parents obtained permission to cross through a friend of the owner.

The route follows an old wagon road which goes over the mountains between Aetna Springs and Calistoga. The road used to be used to reach the numerous mines in the area, and in some parts you can still see the ruts worn into the rock by the wagon wheels. We started a few miles past the old Aetna Springs resort, at a gate where a sign proclaimed “End of county maintained road.” From there the road goes up, skirting along the edge of a hill. The road was fairly rough on the way up and we ended up walking quite a lot of it. My parents, who were hiking, were able to keep up with us on this section of the road. The terrain in this area is very desolate and filled with odd looking volcanic rock outcroppings.
After the first main climb the road crosses a small valley before dropping down to Maple spring. Right before the road starts down there was was a small cave next to the road. The tracks from 4-wheel drive vehicles, which we had seen from the start of the ride, stopped at the cave. After that, the trail was considerably more brushy, and in most areas it was reduced from a road to a single track. In a few places we walked just to avoid touching the poison oak infringing on the trail.
Maple spring didn’t have very much water, but it would have been enough to drink if we had been thirsty (it might have been hard to get to the water through the brush, however). From here the trail climbed up until it met the hiking trails in the Palisades area near Calistoga. There were some great wildflowers along the trail, although often the trail was technical enough that we had to stop riding if we wanted a chance to look at the flowers.

Once we met the Palisades trail, it was all downhill. The first section down is all rocks and was some of the most technical riding I have ever done. I think I walked at least half of it, and almost went over the handlebars twice. I definitely would have felt better with some body armor here. After leaving the technical rocks the trail is much nicer. There were still the occasional rocks in the trail, but after the section at the top we were ready to take them on.

This was a great ride. We probably won’t ever have the opportunity to do it again (owing to the private property at the start) but I’m glad we were able to do it once. It isn’t something I would want to do every day, however. By the time we got down our hands were aching from braking and hanging on over the bumps.
Posted in Mountain Bike, Outdoors | 7 Comments »
April 5th, 2004
I’ve been working on a utility to combine dot files before they are run through graphviz. My goal is to combine the per-class inheritance diagrams which doxygen generates into a single large diagram that shows inheritance for all the classes in a project (of course, it should be useful for combining other graphs). I don’t have everything just the way I want it, but it is working now so I figured I would post it.
Currently it only combines two dot files at a time. You use it like this:
dotcat in1.dot in2.dot out.dot
In the future I would like to add the ability to combine multiple dot files, along with better control over how they get combined (right now it doesn’t always keep the URL attributes of nodes, for example)
Download dotcat 0.1
Posted in Developer Utilities | No Comments »
March 15th, 2004
Well, the last version of fullcategory had a bug which broke permalinks. Yes, this plugin was supposed to fix a bug but instead contained a bug…haha. Thanks to Gary Gale for finding the problem. Anyway, here is the new version.
Download fullcategory 0.0.2
Documentation is available here.
Posted in Blosxom | No Comments »
February 18th, 2004
By default, blosxom will return results for partial category name matches. For example, if “telephone” is a category, these would all return posts about telephones:
- http://example.com/telephone
- http://example.com/telepho
- http://example.com/tele
(If “television” was also a category, that last example would include posts from both the television & telephone categories)
This behavior gets in the way of Fletcher’s emptymessage plugin, so I wrote the fullcatgory plugin. Fullcategory changes Blosxom so only full category names will give results. This lets the emptymessage plugin do its thing. I’m pretty sure that with both emptymessage and fullcategory installed, I will be able to run an automatic link checker over my site and find dead (404) links, where before some links went to empty blosxom pages.
Download fullcategory 0.0.1
Documentation is available here.
Posted in Blosxom | No Comments »
February 17th, 2004
Want to remotely access computers behind your Bering firewall, but they aren’t turned on? You need the Wake-On-Lan Proxy written by Ken Yap.
Wake-On-Lan (WOL) is a technology that lets you turn on a computer on your network by sending a special packet to it over the network. The WOL proxy makes it easy to send these packets to your network from anywhere on the Internet, securely. It consists of a server (wold) and a client (wolc.pl). When the client sends the right password to the server, the server sends a WOL packet to the target computer.
If you want to set this up on your Bering firewall, first get WOL working. It is hard to debug, so it is best to get this out of the way before you add the proxy into the mix.
- Load the etherw package onto your firewall. This lets you send WOL packets when you are logged into the firewall.
- Make sure the target computer supports WOL and has it enabled in the BIOS
- The OS on the target machine has to leave the network card in a WOL-ready state when it shuts down. Instructions for linux and windows. Here is how I set up my Shuttle SK41G for WOL
- Turn off the target machine and send a WOL packet from the firewall:
ether-wake 00:AA:BB:CC:DD:EE -i eth1
The target machine should turn on
Once you have basic WOL working, it is time to set up the proxy:
- Load the wold.lrp package onto the firewall
- Go into “lrcfg”–>”packages”–>”wold” to edit the configuration file (/etc/wold.conf). Add the target machine’s MAC address, name, and password. You will need the same configuration file for the client
- Add wold to the list of services (/etc/services) and give it a port number:
...
# Local services
wold 54321/tcp # WOL proxy
wold 54321/udp # WOL proxy
...
- Configure inetd.conf to run wold when the client connects.
...
wold stream tcp nowait sh-httpd /usr/sbin/tcpd /usr/sbin/wold \
-f /etc/wold.conf -i 192.168.1.255 -p 54321
...
Restart inetd (run svi inetd resart).
- Configure hosts.allow to allow machines to connect to the firewall
...
wold: ALL
...
- Edit the shorewall rules file to allow incoming wold connections from the local network and the internet, and to allow outgoing WOL packets to the local network.
...
# Allow WOLD requests to the firewall from anywhere,
# Allow WOLD magic packets from the firewall to local
ACCEPT loc fw tcp 54321
ACCEPT net fw tcp 54321
ACCEPT fw loc udp 54321
...
Restart shorewall (run svi shorewall resart)
- Back up all the Bering packages you changed (wold, shorewall, etc)
- Grab the client (it is in the WOL proxy package, found here) and set it up with the same configuration file you used on the server (you can remove passwords if you want to be prompted). Run it like this:
$ ./wolc.pl -f wold.conf 192.168.1.254:54321 computer_name
Posted in Bering Firewall | 1 Comment »
February 17th, 2004
This is the Wake-On-Lan Proxy 0.5 written by Ken Yap, packaged for Bering firewalls. Only the daemon is included in the .lrp package, since that is the part that needs to run on the firewall.
Download wold.lrp version 0.5
I also wrote a short explanation of how to set this up here.
Posted in Bering Firewall | 1 Comment »
February 17th, 2004
My main computer is a Shuttle SK41G. It is a great computer… elegant, powerful, and small. I have windows installed for games (the SK41G is great for LAN parties), but I use Mandrake Linux most of the time. To get Wake-On-Lan(WOL) working with it, I had to do two things:
- Enable WOL in the BIOS. The options for this are in “Power Management Setup”–>”IRQ/Event Activity Detect”. There are two options: “PowerOn by PCI Card” and “Modem Ring Resume”. I’m not sure why, but either option enables WOL when the computer has just been plugged into power, but “PowerOn by PCI Card” is the only one I could get to enable WOL when linux shuts down the computer. (WOL is strange that way…)
- Configure linux so WOL is enabled when the computer shuts down. This WOL FAQ suggests adding a post-install line to /etc/modules.conf to run ethtool, but that didn’t work on my system. Instead I put this in /etc/rc.d/rc.local:
ethtool -s eth0 wol ubmg
Posted in Linux | 3 Comments »