technical

After a long, frustrating week of simple things that should be working, not, it is refreshing to have the reverse scenario happen. More specifically, before today I have never had a wireless card work on Linux right out of the box. Perhaps its a testiment to Linux's ever-increasing hardware support and strong developer community, or perhaps D-Link is to be given credit (though I doubt it; I used to have a D-Link wireless router and it was the worst possible device, quickly switched to the Linksys one I have no and never went back), but the D-Link WDA-1320 pci based WIFI card worked right out of the box. Thats right, no drivers to hunt down and install, no man pages to read, just plugged it in, used network manager to select my wireless network, specified my password, and whala! I was surfing.

I very much recommend this card to any Linux user who is looking for the simplest and most pain free wireless experience on Linux.

I love Linux but hate when things don't just 'work out of the box' (definitely not a Linux-only problem though). Well, recently I bought a PC off ebay to use for a media center I'm setting up and ran into some woes with the Ethernet card. I always expect wireless problems but it has been years since I had an issue with a wired network card. Alas, after quite a bit of Googling I found my answer ( here ) and figured I'd share it incase anyone else was wondering.

Both the jQuery library (as well as javascript in general) and SVG are technologies I've really been meaning to explore as a web developer. Recently at Red Hat we've been very busy overhauling our project for an impending major demo (blog post on this in the near future) and I've been expirementing with incorporating both these technologies into the site. Both are very cool, and alot can be written about them, but I'll skip all the introduction and give simply jump into how you can utilize the jQuery SVG Plugin. Before you begin, make sure you have the jquery, jquery.svg, and jquery.svggraph plugins readily available and accessible from your web page (for those using Drupal out there, it now has built in jQuery support, so you will only have to d/l the svg and svggraph plugins and insert them into your theme template). Also make sure to note that while SVG works out of the box in Firefox, IE users will need to download a plugin to get it working.

Dirvish is an easy to use backup system based on rsync. Having recently setup an external encrypted usb drive to store backups, mounted at /mnt/backup1, I setup backups for target directories on my local system using Dirvish (of course, if it were not in early development, I would use Snap but alas its too early to trust critical system operations to it). The entire process is fairly easy, there being two files which you need to modify, as well as creating a cron job to run dirvish daily. I'll keep it brief and simple here, use this great guide if you want more info. Before we begin, recognize a 'bank' is a directory where multiple vaults are stored. A 'vault' holds the configuration and the actual snapshots of the filesystem(s).

A few months back I wrote an article on how to create and access an encrypted hard drive in Linux. Recently I've been setting up a large external usb drive to store nightly backups and couldn't figure out how to load the unencrypted device /dev/mapper/enc from the encrypted device /dev/sda1 post-boot (eg the usb drive wasn't turned on until the computer was completely started up). Lo and behold the answer was right in front of me, in my very own article, eg. step 3 or running the cryptsetup command:

cryptsetup -c aes-cbc-plain -d /etc/enc-key create enc /dev/sda1

I was under the impression that this altered the drive somehow, but does not in any way, it merely loads the unencrypted partition, from which point the user can mount the filesystem. I suppose a warning should go here, because I presume its possible (tho I have not tried it) to load the encrypted partition with a different key and thus the unencrypted partition will be "illegible", eg. the computer thinking its just random data. Any reads or writes to it will most certainly destroy any stored, encrypted information.

Anywho, it took me a little while to figure this one out, so I figure it might be useful for anyone else in the same situation.

Several years back, during my job at the Living School Book, I was tasked to admin a small LDAP server for a small project we were working on. It was all new too me at the time, and I took a while to learn it, writing up an article in the process. Lo and behold my time spent was worthwhile as I've been helping my current coworkers get up to speed on how LDAP works and is administrated. To help out, a former coworker (and good friend) helped me digg up this ancient article I wrote (alright only a few years old and everything is still relevant) on getting started with LDAP. Enjoy!

Essentially the goal for this article is to setup a partition under Linux under which all data that is stored will be encrypted and 'inaccessible' to those without the correct key (course with all the password-cracking software out there today, who knows what really is secure). This is actually a very simple task, with instructions scattered over the Internet, so I just simply consolidated the most useful directions I found into the guide below:

As a long time SVN user it is the version control system I know the best (though I am not a fan of any version control
implementations I've used so far, SVN is just the one I've used the most). I've never setup my own repository before and
looked into doing so today for various code of my own that I develop locally. All in all it is a simple process, but there are
a few gotchya's that you have to look out for.

Well in my first blog post since January 1st, I will be discussing and sumarizing what I learnt over the past few days relating to the GNU Autotools, specifically autoconf and automake. Having been a C++ fan since I learned it (roughly nine years ago, it was my first language), I never got around to learning the GNU build system (seeing as there is not much use in web development). Regardless, I set out to learn it as I need to incorporate it into my new currently-top-secret project. Note, I am writing this as I learn it and am no expert yet.

Theres alot of clutter out there when it comes to these, but to put it simply it all comes down to two files:

In my spare time over the last few months, I’ve been working on a project which I dub ‘Snap’. Snap is my attempt at replicating the functionality of ‘Windows System Restore’ on Linux. As the name indicates, Windows System Restore backs up all the important files, libraries, and registry entries on Windows for future restoration. To accomplish this in Linux, the underlying package management system is used. Snap stores which packages have been installed on the machine, and any files not tracked by the package management system or have been modified since installation.

Included is the Snap library, ‘snaptool’ the console frontend, and ‘gsnap’ the gnome gui. Currently only the Yum Package Management system is supported, but Snap supports a simple plugin interface, allowing easy support to work with any distro.

I hope people try it out and give me good feedback (patches are even better :-D), and I look to maintain it as much as I can in the future. I do have other things to work on (namely my master’s thesis which I have been pushing off till now) and since Snap already does what I need it to do (save my packages when upgrading between Fedora versions), I’m not sure how many new features I will add. But thats the beauty of open source, and I’m looking forward to anything anyone contributes

Click here to go to the Snap Project page.Click here to go to the Snap Sourceforge page where you can download and access the code.