Older blog entries for softweyr (starting at number 4)

Along with all the work-related stuff (pushing out another Beta release, designing for a new hardware platform, etc), I got a few hours to work on OpenSail. One of my co-workers has taken an interest in this project, and started poking through the Dallas Semiconductor website, looking at the 1-Wire Bus devices.

I suppose I should OpenSail as a project here; somebody might actually read about and do something. I get so tired from work I don't have much time to devote to it, and what time I do manage I want to go sailing instead of egg-heading around with more code. Oh, well, as the song says, I'll sleep when I'm dead.

Just in case anyone reads this, the idea behind OpenSail is to wire up wind instruments, knot/log impeller, electronic compass, a GPS, and perhaps a depth sounder to a computer. Then we write some software to tell the crew, the helmsman, and the tactician (yes, this is for racing) where the boat is and what the wind is doing. Other possibilites include displaying position and situation on a chart display; recording historical data during the trip for later review; and display performance vs. polar plot data, both in real-time and using the historical data.

The real problems aren't the code, but rather the custom hardware we'll have to craft. Sailing hardware is expensive in general, and the manufacturers of the purpose-built sailing stuff don't want the competition. The stuff made for home weather stations and such aren't tough enough, and generally aren't accurate enough either.

So anyhow, I guess I'll go figger out how to add the project here on advogato. Jason and I are going to collect all the info I've gathered and write a requirements/design spec in HTML so I can post it on the web page, then we can link it here.

Ugh. Almost one year, huh? Life in a startup can be time-consuming.

Just to bring this diary up-to-date, I became a System Architect for DoBox Inc. about a year ago, just when my diary entries here ended. Now I can come up for breath, and catch up on my participation in public software development. The DoBox software I've been working on is based on BSD technology - the core operating system is a customized version of OpenBSD, plus tools and utilities from NetBSD, FreeBSD, and other Open Source projects.

OpenSail has been on the back burner this entire time, but I'm hoping to get some time to work on it this spring. I'm currently working on a replacment for the lame-o wind direction instrument in the One-Wire weather kit, which shows only 8 directions: N, NE, E, SE, S, SW, W, and NW. I'm toying with a 9-bit optical encoder for true 360 degree accuracy, or perhaps an 8-bit encoder which will give just slight sub 1 degree accuracy. I'll still be using 1-Wire devices at the masthead to keep the weight and wiring requirements down.

I'll try to keep this a little more up to date, including recent contributions to BSD and other projects. I'll also try to get OpenSail stuffed into the project list here sometime, and get the other two contributors to link to it.

I spent some time this afternoon poking around the Dallas Semiconductor web site, and ordered a One-Wire Weather Station Kit. Keichii is excited about helping, so I'm going to plunge into the early design work for a project I've wanted for a long time, my OpenSail project.

The initial goals for OpenSail are quite modest: given a wind direction and velocity from the One-Wire weather kit, and boat speed and direction from a GPS via serial/NMEA output, calculate and display the apparent and true wind speed. Later, we can add features like wind tracking, performance vs. polar plots, layline tack alerts, lifts, etc.

I spent some time poking into libvgl for graphics output, but that would limit it's portability. Since I'll probably run it on my VAIO, I think I'll stick with X for output. A friend at work suggested writing it in GTK-, since that will be good experience. I'll look into it more this week while I'm off work.

I wish I could afford to just do this full time.

Hacked up the tab-expansion code in Xchat. It was doing a rather lazy first-fit, and I kept talking to Greg Lehey's backup connection, groggy-B, instead of his primary connection, groggy-P. Attempts to modify his naming convention met with a stone wall of 'this is how we named things at Tandem, so it must be right.'

I also implemented a weighted selection; when you choose one amibguous definition over another it will prefer the one you just selected over all others. For instance, once you've addressed groggy-P in a message, the next time gr<tab> will select groggy-P over groggy-B and green.

I haven't decided if I like the weighting or not. I'll work with a few more days, make a decision, and contact the Xchat maintainer to see if he is interested in the patches. If not, I may add them to the BSD port/pkg kits.

Reading through the diaries of some of the other FreeBSD people here, I'm amazed at the number of people I've come to know over the years through the internet, but not in person. I'm still awed at the contributions these people make on a daily basis, and more than a little surprised at just how long I've known some of them. It's good to see more BSD people flooding in here, this looks like an interesting resource.

New Advogato Features

New HTML Parser: The long-awaited libxml2 based HTML parser code is live. It needs further work but already handles most markup better than the original parser.

Keep up with the latest Advogato features by reading the Advogato status blog.

If you're a C programmer with some spare time, take a look at the mod_virgule project page and help us with one of the tasks on the ToDo list!