Recent blog entries for green

It's sure been a long time since I've posted. I've been trying to get through my FreeBSD PRs recently, and keeping more active on mailing lists. It's nice to see freebsd-security become a bit more of a discussion grounds, with a growing S/N ratio.

I've got a growing interested in working on security-related things (fostered in no small part by seeing what rwatson is doing). I wonder if that will pan out as something I'll be working on as a career soon. I've started to consider what to do about college, this being my senior year...

I've decided on a new project. I'm going to embark on the creation of "Bonkle", a variation on a game sometimes referred to with a name matching Bo.*le. The basic idea is it will be networked and support as many players as you'd like and provide a decent wire protocol to make clients easier to do later. I plan to develope the server first, working in ruby, and then at start on a termcap/curses/whatever client, and then graphical clients... I don't know if I'll be the only one working on it or if anyone wants to help *cough hint cough*

I wonder what the near future holds :) Hopefully less problems coming from me not doing enough documentation.

Well, I had a weird problem yesterday. It seems FreeBSD's NFS really isn't as robust as it should be (*cough* not as if I think NFS is robust itself...). I was testing an ISO9660 image to be burned by vnconfig(8)ing it on /dev/vn0 and mount_cd9660(8)ing it on. Well, I meant to unmount it, but I typed "mount /mnt" instead of "umount /mnt" and didn't notice until the morning.

By the morning, my computer's internet connection, a sad/lowly modem, had been disconnected. I went to do things on the box, and things tried to work with /mnt. Well, what /mnt was defined as was a hard NFS mount of sunsite (uk) :( The logs showed that there was an error 65 looking up the host (No route to host) due to the PPP disconnection.

I spent about 30 minutes trying to unmount that bastard. It really must be a bug that makes things stick on the "nfsrcvlk" wait channel. Long story short, after everything, I could not unmount it, and had to shutdown -r (while the bufdaemon couldn't be stopped because of the broken NFS mount...), and I ended up having the disks fscked before the system next started up.

I've learned a few things from this. One, there are big problems with hard mounts. It's definitely a bug that the NFS mount doesn't start working again after the network connection returns, and things just keep getting wedged. I think I shut down the machine with >5 wedged processes in the "nfsrcvlk" wchan... Two, hard mounts are WAY too much trouble to be the default. I'm going to immediately start lobbying for changing the default to a soft or intr mount. Three, mount(8) lets you make mistakes too easily. The mistake in question is mounting something directly over something else, non-union. This capability is almost always a mistake, and I can see other people facing the same problem. My solution here is to make it an error in mount(8) to mount something directly over an already mounted mount point, but of course create an option to force it. It should be allowed by default to mount something with the "union" option over another mount point, as that is a valid layering technique (when working?). It's just not right to allow someone to mount something directly over something else without a fuss!

I hope that some good will come of the mess I got myself into!

In the past week, I've been able to do a bit of work on closing PRs assigned to me. I've decided to give away a few ports to other committers, because due to unknown issues I have very little energy most days ;-(

The brighter parts of the week have included obtaining a new mpg123 (0.59s in the CVS) which has a good 10-20% improvement in decoding speed for the 3DNow! core, getting friends at school (re)introduced to boggle, getting a cordless keyboard, and getting to be close again to an ex-girlfriend (which can be a very, very hard thing).

As far as FreeBSD goes, even with my little energy, I'd like to continue to do as much as I can find the motiviation to. Right now, I haven't figured out what I'm going to work on next. I've got a pet app, read_cd, which might do well to complement burncd(8) sometime soon, but I really haven't come up with many new interesting ideas. I'd love to have an idea for something new and interesting to come to me, but so far I've been drawing a blank.

It would help if there wasn't so much software already written, and there was really something I wanted so much that I'd have the inspiration to start it. Argh, too much good software already written =) I suppose right now I'm kinda relegated to supporting my existing areas (OpenSSH mainly, and some other ports which can be fussy), getting bugs fixed (Hmm... Snes9X on the Alpha wasn't working last time I checked...), and rejuvenating/cleaning up eclectic things.

I hope I get more energy instead of this fatigue soon; there's so much more I'd love to learn and do.

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!