pkg_add with mtree project idea, 2008-12-11 00:00:00 #
Another project idea I had was to take better advantage of the /etc/mtree/set.* files on NetBSD. These files compose a database of installed files on any given NetBSD system. As far as I can tell, however, they aren't used for anything else. They will be scanned by /etc/security if you copy them to $something.secure (cat set.* >> files_to_scan.secure). The file "secure" is also a part of the security scan. So the basis of the idea is this- if NetBSD needs to do a security update, it usually only needs to replace a few files and change the minor.minor version number. Instead of having to reinstall all of your sets, or all of net.tgz, you should be able to pkg_add -s security_update_20081208.tgz which will simply update the affected files, make backups, change the set.mtree's, and increase the version number after validation. This could also trigger notes about updating configs, checking for dependencies, etc. As a side-effect, pkg_add could also install FULL base.tgz or any other set as a system package and that idea could be resurrected because, as we all know, it's the right way to go. I'm also a proponent of keeping system packages in a separate database from pkgsrc packages, which is why I like the mtree idea so much- it's a different format!
bsd-fuse project idea, 2008-12-10 00:00:00 #
Here's a project idea- Create a project on sourceforge/google code to create FUSE filesystems for all of the commonly-known bsd filesystems. For example- netbsd-ffs, freebsd-ffs, openbsd-ffs, netbsd-lfs, dragonflybsd-hammer, etc. I started to look at this and it's a serious undertaking. :) Would I have to teach FUSE about the ufs/disklabel layer before I could get into ffs/lfs on disk? Or would it be as easy as just pointing the fuse functions to the already-written functions in the filesystem code? Hopefully, I will get motivated enough to look at this a little more.
Paris, 2008, 2008-12-06 00:00:00 #
I've added from my recent trip to Paris. Check them out! Ginny and I spent a week there recently and I'm just getting over the sinus infection I picked up along the way. Although the flights were long and the weather was bad, it was still a good time and being in paris is a huge improvement over being in atlanta. :)
Linux doesn't have ss_len, 2008-12-04 00:00:00 #
While writing I had to learn that linux didn't support the same socket structures as BSD. This is, in my opinion, annoying and a case of NIH (Not Invented Here syndrome). So, the most portable way to use the various socket calls is to always call sizeof() instead of using a stored-in-the-struct socklen_t value. In fact, don't even attempt to set sockaddr_storage.ss_len or any similar member, because your compile will break on linux. Of course, as a newbie to socket programming the sage of sockaddr_storage was a little difficult to grok in the first place. Yes, i also know I don't use KNF. I also haven't event attempted any c programs on windows, so maybe I'll have to give that a shot and learn about REAL portability issues. :)
ldapblog - the ldap powered blog, 2008-11-23 00:00:00 #
Okay, so this blog is using blogger. I also tried blosxom, but it was too much of a pain to configure. Blogger gives you static pages, so apache can just pop them out fast. Originally, this blog was supposed to be powered by some software I was writing but have decided not to finish. The main motivation was that most blogs are backed by sql (mysql, specifically) and call the database each time they are accessed. This architecture, in my opinion, isn't that great for a commonly accessed sites and I also think it's an abuse of sql and probably dangerous since sql injection is so common. (I've been the victim of wordpress hacking before; it sucks. I was hosting tons of ads and crap before someone finally defaced my whole site.) So, an idea inspired by what I didn't like about the common software stack ended up as a blog powered by LDAP. LDAP is really well suited to read-heavy and structured data, but it would still require a dynamic site (unless I wanted to create a publishing option ala blosxom). I also thought it would be nice to use ldap BIND operations for security and stuff. Either way, it's more work than I wanted to put forward, but you can find what I did at the part of my site. The code actually works and will get stuff into the directory, but it needs a lot of work to be complete. The most important part is the which I think gives a good start on how a blog should be structured. If you would like to pick up this effort, drop me a line, take my code, do whatever! If you make good progress I might actually be willing to switch this site over to the new ldapblog. :) 1.1.2.++ :)