• Analyzing security with Nessus

    A bit more than a week ago we had to experiment with Nessus as part of a class assignment. Nessus is a very complete vulnerability scanner that runs on top of Unix-based operating systems. In order to not get obsolete too quickly, the set of checks it runs can be updated based on a database maintained by the product's company, Tenable (much like what happens with an antivirus utility). It is important to note that this list is always seven days behind the up-to-date list unless you are a paid subscriber, which is very reasonable.

  • Parallelizing command execution with vxargs

    If you need to maintain multiple hosts, you know how boring it is to repeat the exact same task on all of them. I'm currently using PlanetLab as part of a class assignment and I'm facing this problem because I need to set up around 10 machines and execute the same commands on all of them. vxargs is a nice Python script that eases this task. It lets you run a command parametrizing it with a given set of strings (e.

  • What is keeping me busy

    I am sorry for the small amount of posts lately but I think this is the busiest semester I have ever had since I started my undergraduate degree four years ago. Here is what I have to do, sorted from more to less interesting: VIG (in pairs): Develop an application with Qt and OpenGL that shows a scenario and a set of cars moving around it. The interface has to allow the user to inspect the view, manage the cars (amount, position, etc.

  • Article: Smart Pointers in C++

    A bit more than a year ago I discovered what smart pointers are, thanks to the Boost Smart Pointers library. Since then I can no longer think of a C++ program that handles dynamic memory without them, because it is highly subject to programming mistakes and is hard to write. (Of course, there are exceptions.) This is why I decided to write the Smart Pointers in C++ article which just got published in ONLamp.

  • iBook and the clamshell mode

    A reader named Richard saw some of my old posts and seems to be confused about how I got the iBook G4 I own (one of the latest available models) to work in clamshell mode. The thing is that I didn't get it to work as expected. After buying the BenQ FW202P flat panel I replaced my old PS/2 keyboard and mouse with USB peripherals, hoping that they'd let me use my iBook in clamshell mode.

  • iParty 8 slides available

    I've given my NetBSD talk today at the iParty 8. The slides are now available in the advertisement material section of the NetBSD web site; note that they are in Spanish. If the talk video record is made public, I'll publish a link. Enjoy!

  • NetBSD's KNF: Prefixes for struct members

    The NetBSD coding style guide, also known as Kernel Normal Form (KNF), suggests to prefix a struct's members with a string that represents the structure they belong to. For example: all struct tmpfs_node members are prefixed by tn_ and all struct wsdisplay_softc members start with sc_. But why there is such a rule? After all, the style guide does not mention the reasons behind this. The first reason is clarity. When accessing a structure instance, whose name may be anything, seeing a known prefix in the attribute helps in determining the variable's type.