• Rewriting from scratch

    Let's face it. If you are a software developer, you have certainly felt some time that code developed by others was a real mess and that you could do a much better job rewriting it from scratch (specially without actually understanding the "messy" code in detail). Big mistake. I'm not going to explain here why because the Things You Should Never Do, Part I article from Joel on Software talks about this in great detail.

  • Automatic mouse button repeating

    The trackball I bought has two little buttons that replace the typical (and useful!) wheel. One (button 3) is used to scroll down and the other (button 4) to scroll up. These are the events that a wheel generally generates every time you move it in either direction. Unfortunately, if you press and hold one of these special buttons, the trackball only sends a single press event. So, if you want to scroll a document up or down, you have to repeatedly click buttons 4 and 3 respectively, which is highly annoying: you end up going to the scroll bar and using it rather than the two buttons.

  • NetBSD is now Multiboot-compliant

    Since there were no comments after my request for review for the patch that makes NetBSD be Multiboot-compliant, I have commited it to the tree. This feature is enabled as a default on i386's GENERIC and GENERIC_LAPTOP kernels; for others, you need to add options MULTIBOOT to their configuration file. Please note that regular GRUB builds will not boot these new kernels properly. This is because of a bug in GRUB Legacy.

  • Got the trackball

    A couple of days ago I received the Logitech Marble Mouse I had ordered, which means that I've now got the perfect input devices :-)

  • Multiboot support for review

    During the past few days I've continued to work on adding Multiboot support to NetBSD. It has been a hard task due to the lack of documentation — I had to reverse-engineer all the i386 boot code — but also very interesting: I've had to do deal with low-level code (recovering somewhat my ASM skills) and learn some details about ELF (see the copy_syms function in multiboot.c and you'll see why).

  • File systems documentation uploaded

    The file systems documentation I described yesterday has been uploaded to NetBSD's website alongside with all the documentation. You can read the official announcement or go straight to the book! You'll notice that it is now prettier than the version posted yesterday because it properly uses NetBSD's stylesheet.

  • File systems documentation for review

    My Summer of Code project, tmpfs, promised that I would write documentation describing how file systems work in NetBSD (and frankly, I think this point had to do a lot with my proposal being picked up). I wrote such documentation during August but I failed to make it public — my mentor and I first thought about making it an article (which would have delayed it anyway) but soon after it became apparent that that structure was inappropriate.