Found something useful? Don't forget to leave a comment!

Thursday, December 10, 2009

Spicing up Thunderbird 3 (Windows) with userChrome.css

After experiencing the raw speed of Thunderbird 3 + IMAP, I immediately ditched Windows Live Mail. Admittedly, the latter’s default interface is much easier on the eyes. But Thunderbird can be given a facelift, thanks to some userChrome.css tweaks. After some Googling, I came up with the following. This adds green-white zebra stripes to the message index and increases font sizes in the message index as well as the header and folder panes.

/* better looking fonts for folder pane and message list */
#folderTree > treechildren {font-size: 13px; font-family: Segoe UI;}
#threadTree > treechildren {font-size: 16px; font-family: Segoe UI;}

/* Light green, high-contrast zebra stripes in message list */
#threadTree treechildren::-moz-tree-row(odd) {
-moz-appearance: none !important;
background-image: none !important;
background-color:#EEFFBB !important;}

#threadTree treechildren::-moz-tree-row(odd, selected) {
background-color: Highlight !important;

/* increase font size in header pane */
#msgHeaderView {font-size: 14px !important; font-family: Segoe UI !important;}

Here’s a screenshot of my tweaks in action (sorry about the massive amount of blurring):

Enjoy your beautified Thunderbird!

Wednesday, December 9, 2009

John the Ripper Jumbo Builds for AMD K10 and Intel Core 2 (Windows)

I took the liberty of creating some Windows builds of John the Ripper These have the jumbo patch revision 2 applied, as well as JimF’s enhancements to the jumbo patch. These builds were done on MinGW 5.1.6 + GCC 4.4.0 + OpenSSL 0.9.8l.

For AMD K10 processors (gcc march=amd10fam, MMX, SSE2, SSE3, SSE4A)

For Intel Core (gcc march=core2, MMX, SSE2, SSE3, SSSE3)

Saturday, November 21, 2009

Better-looking HTTP Basic authentication with XmlHttpRequest

I’m sure everyone has encountered the good old browser username/password dialog on some website or another that uses HTTP authentication. While the built-in browser dialog works, it looks old-fashioned, somewhat out-of-place and would be unprofessional on a large-scale website. In almost any case, a form-based login hooked up to a backend like PHP/MySQL would be ideal, but this is not always an option. But thanks to a little JavaScript, HTTP Basic authentication can also be performed through a spiffy-looking form. Ease of integration is the main advantage – you can integrate the login form anywhere on your website. It works pretty well (see below on Firefox quirk).

So let’s get down to the nitty-gritty of setting this up. I will only be detailing the JavaScript and form code, but at the end you can find a nice, simple HTML page that integrates everything.

First, we construct the login form. Note that there is not actually a FORM element since nothing is being GETted or POSTed – we call the JavaScript function described later to process the input.

   1: <fieldset>

   2:     <legend><b>LOGIN</b></legend>

   3:     Username<br />

   4:     <input name="user" id="u" style="width: 10em" type="text" onkeypress="handleEnter(this, event)" /><br />

   5:     Password<br />

   6:     <input name="pass" id="p" style="width: 10em" type="password" onkeypress="handleEnter(this, event)"/><br />

   7:     <input name="submitBtn" type="submit" value="Enter" onclick="submitLogin()" /></fieldset>

Note the functionality of the submit button – it calls the submitLogin JavaScript function, described below. Also note the IDs of the username and password fields, u and p.

The heart of the login function is powered by a JavaScript XmlHttpRequest call. The implementation as described below works and has been test on IE7+, and versions of Firefox in recent memory. It should also function on Chrome and Safari (not tested).

The following code is XHTML-compliant and should be placed within the HEAD section of the HTML file.

   1: <script type="text/javascript">

   2: //<![CDATA[


   4: function submitLogin() {


   6: username = document.getElementById('u').value;

   7: password = document.getElementById('p').value;


   9: addr = "Main/";

  10: if (username.length == 0 || password.length == 0)

  11: { return false; }

  12: xmlhttp = new XMLHttpRequest();

  13:"HEAD", addr, false, username, password);

  14: xmlhttp.send();

  15: if (xmlhttp.status == 200)

  16: {

  17:     document.location = "Main/";

  18: }

  19: else

  20: {

  21:     alert(xmlhttp.status + ": Login failed. Check your credentials.");

  22: }

  23: return false;

  24: }


  26: //]]>

  27: </script>

How it works:

  • We grab the username and password from the page elements with IDs of ‘u’ and ‘p’, corresponding to the fields we constructed above.

  • ‘addr’ corresponds to the password-protected directory or resource we are trying to access.

  • If any of the fields are blank, do nothing.

  • Construct and activate the XmlHttpRequest object using a header-only call to the address, passing the credentials the user supplied.

  • If we get a 200 OK response from the server, take the user to the protected page.

  • If not, pop up an error. (On Firefox, an incorrect username/password will pop up the browser dialog. The user will not see the error until they click ‘Cancel’)

Enjoy your shiny new login form! This works great for light applications that do not require full-blown DB authentication but still need a more user-friendly solution. I am currently implementing this as a front page for my Windows HFS file server.

*Thanks to Leo Vildosola for his Windows Live Writer Code Snippet plugin!

Sunday, November 8, 2009

DFI's Mini-ITX P55 motherboard

techPowerUp! News :: DFI Prepares First P55 Mini-ITX Motherboard

This is definitely one of the more exotic pieces of tech, but surely it would make for an awesome LAN party mini-rig. The PCIe x16 2.0 slot is pretty much required since the P55 has no IGP. They even claim that the board will have overclocking potential. That's all well and good, but just try finding a mini-ITX case with the airflow needed to cool a hot-running i5/i7 and the high-powered GPU you're likely going to stuff inside.

Saturday, November 7, 2009

TI modernizes calculator software with Windows 7 and x64 support

TI Connect Adds 64-Bit, Windows 7 Support -

TI Connect is an OK piece of software if you discount the fact that it flaked out on any OS past Windows XP. Users had to resort to workarounds like running XP in a virtual machine and bypassing the host USB interface in order to connect the calculator to the VM. Thankfully, TI has turned from suck-ass to something more like kick-ass with this new 1.6.1 beta patch. To be honest, though, I haven’t done any serious programming/linking/syncing for my TI-84 or TI-89 for quite a while.

Sunday, November 1, 2009

Create CUE files from dBpoweramp CD rips with dbpa2cue

EAC is undoubtedly a powerful tool for ripping CDs, thanks to its vast number of configuration options and support for features like secure mode, AccurateRip database checking, gap detection, and CUE file generation. For the most part, dBpoweramp is a similarly awesome CD ripping tool – although it’s not free, its flexible codec system and no-duh GUI make for a great combination of performance and ease-of-use. It does, however, lack the aforementioned ability of EAC to create CUE files, which can be used to re-burn ripped audio files back to a disc.

That’s where my new dbpa2cue tool comes in. When secure mode is used, dBpoweramp can be configured to write a detailed logfile with ripping information. dbpa2cue is able to read the relevant per-track information from the logfile and use this data to write a viable CUE file. If the ripped audio files are still present, dbpa2cue can optionally read tag data and add additional metadata to the CUE file.

The core of dbpa2cue utilizes libDBPA, my DBPA log processing library, originally written for the earlier dbpa2eac program (which was taken down following a complaint from a moderator). You will need the .NET Framework, 2.0 or later.

The GUI of dbpa2cue is very easy to use – simply browse for, drag and drop, or type in the path to a valid dBpoweramp ripping log. By default tagging data is used if possible.

Version 1.3 (released 1/13/2010) is now available for download:

Saturday, October 31, 2009

A Toolkit for the Hardcore Music Enthusiast

iTunes, low-bitrate encodes, and poorly tagged music might suffice for the average listener and teenagers, but the same cannot be said for the discriminating music enthusiast. The vast library of a true music aficionado is painstakingly maintained, with complete, consistent metadata and set up with an organized folder structure. Only lossless sources are acceptable for obtaining music, and similarly every last song is either kept in lossless format or properly converted into a high-bitrate lossy transcode.

This might sound a bit excessive, but it’s how I’ve structured my collection for quite sometime. Thankfully, it’s not at all difficult to set up, as long as you possess the right combination of tools. Here’s how my toolchain works:

  1. Acquisition
    • CD ripping
      There are a number of programs for this, but for high-quality secure digital extraction my program of choice is dBpoweramp CD Ripper. A polished GUI, highly configurable ripping and tagging options, AccurateRip, and flexible codec support make dBpoweramp easy to use while still producing great results.
    • P2P
      This might have a legal status that’s slightly less acceptable, but if you choose to take this route you must be particularly discriminating. Look only for properly encoded lossless (e.g. FLAC) releases.
  2. Transcoding/Conversion
    I applaud you if you have an infinite supply of large-capacity disk drives on which to store your 100% lossless music stash. But for the majority of people keeping everything encoded losslessly is not worth the space premium. That’s why we have lossy compression formats like MP3 and AAC. Again, I prefer dBpoweramp’s Music Converter for this due to its great GUI and unified collection of codecs. Of course, when transcoding be sure to follow the golden rule: Always convert from lossless to lossy, and never from lossy to lossy as that will further degrade the source audio. For listening transparency the general recommendation is to use LAME MP3 @ V2 VBR (~192Kbps) and for AAC @ q. 55 VBR. Contrary to popular belief, max-bitrate encodes like MP3 @ 320 CBR is just pointless and a waste of space. I don’t care how much of an audiophile you are, after you achieve transparency any higher bitrates are a moot point.
  3. Tagging
    No matter where you got your music, chances are that if the tags came from an online database (e.g. freedb) you’ll see inconsistencies, spelling errors, omissions, etc. This is especially the case with classical music, since there seems to be no clear consensus on what fields should be used for what. Additionally, albums obtained from shady sources tend to have badly misformed tags. In any case, my favorite tagging program is Mp3tag. Don’t let the name fool you – it supports a huge range of formats, most importantly the common ones like MP3/AAC/FLAC. It can do basic stuff like field editing and adding/removing album art. And it can also do cool whizbang stuff like regex modification on fields, field swapping, user-defined tag fields, etc. Highly recommended if you’re completely anal about cataloging your music collection, like me.
  4. Library management/media player
    So what good would the previous steps have done you if you can’t enjoy your music? In my opinion mainstream players like iTunes and Windows Media Player simply don’t stack up. I’m not going to lie: I’m a Mediamonkey fanboy all the way (see my previous review). One of the best things about MM is its File Monitor feature – it constantly monitors your music folders checking for additions/deletions/changes, which are then reflected in the database. And speaking of its database, which is powered by SQLite, MM can easily manage a collection of 100,000+ songs (or so they say). iTunes and WMP will easily get bogged down/confused by large collections and dead links. MM also includes a variety of sorting options to make navigation a snap. On top of that, MM can perform a variety of basic tagging options so you don’t have to whip out a dedicated tagger unless you’re performing radical surgery. And if your collection has a good set of tags (which it should by now!) MediaMonkey is capable of automatically setting up a folder structure to subdivide your collection on the hard drive. Combine this with the File Monitor, and you get a bit of magic – just drop files into your My Music folder, for example, and watch them disappear into their own album folder.

While this might take a bit more work than blindly downloading songs and throwing them in random places, it’s well worth the effort. Compare your high-quality, uniform collection to the average discombobulated stockpile of low-bitrate, badly transcoded files. Not only will it be a breeze to find what you want and hear it in great quality, your friends will thank you if you decide to share an album or two.

Tuesday, October 27, 2009

Spice up your Windows with Microsoft’s Own Windows 7 Themes, Gadgets, and more

Microsoft has for download a smorgasbord of themes, ranging from Ferrari to Ducati to Bing to…South Africa? Each one promises a stunning set of new desktop backgrounds. Also available are some awesome standalone backgrounds and a showcase of gadgets. For you early Win7 adopters, check these out! Microsoft has uncharacteristically took a pretty good stab at the world of user customization…

Free Image Hosting at

Tuesday, October 20, 2009

Vertically Center Text on a Page (Word 2007)


Hey…you learn something new everyday. Have you ever needed to create a title page where the text has to sit in the vertical center of the page? Just go to Page Layout, then hit the little arrow in the lower right of Page Setup. Go to the Layout tab and set Vertical Alignment to center. No more slamming the enter key 50 million times or painstakingly positioning a text book!


Hey, you learn something new every day.

Thursday, October 15, 2009

My Picks: The Best Windows 7 Features

Windows 7’s version number is actually NT 6.1, implying it’s only a minor point release compared to Vista (NT 6.0). But in reality, most would agree that Win7 is a significant step forward in the OS world, even if it’s just a comprehensive improvement of the Vista codebase. Regardless of your opinions on Vista, it’s hard to deny that 7 brings some awesome new features to the table. Here is my Top 10 take on those awesome features, in no particular order.

  1. Sticky Notes
    Functional yet brilliantly simple, these little guys live on your desktop and are a great productivity tool for keeping track of things. Handwriting support on tablets, basic text formatting, and multiple color options are an added bonus.
  2. The “New” Taskbar
    Vista sorta changed things up, but with Windows 7 the taskbar is a wholly reinvented affair. Program labels are not shown by default – instead, you’re displayed with a list of icons which can be permanently pinned. Software can also be written to take advantage of jumplists, accessible by right-clicking icons. To accomodate all this, the taskbar is now slightly higher, but I believe it’s well worth the small cost in screen space.
  3. Desktop Wallpaper Slideshows
    Macs (which I hate) have had this feature for a while, and on the Windows of the past one had to resort to 3rd-party software. Now Microsoft has made this eye candy part of the OS. Win7 handles hundreds of wallpapers in a folder with ease, and can be set at different intervals to change the wallpaper.
  4. Libraries
    Some people might argue with me for praising this feature. But like it or not, the new Libraries feature in Windows 7 makes folder consolidation a snap. Got some movies on your basement NAS box, music on your HTPC, and photos on your workstation? Just create a library and you can manage and view it all as if it were all in one place, thanks to Win7 Libraries.
  5. New Windows Media Center Features
    These days a lot of PC TV tuners are hybrid, meaning that they can tune analog or digital signals, but not at the same time. Take the Hauppauge HVR-2250, for example – it has DUAL hybrid tuners. Under Vista one could record either two analog streams or two digital strings, but not mix and match – essentially defeating the purpose of having a hybrid tuner in the first place. Now, Win7 allows you to mix and match, recording one analog and one digital stream at the same time. Great for HTPC enthusiasts.
    WMC in 7 now also supports ClearQAM tuning, which was possible in Vista but only with the OEM-only TV Pack 2008. This will be a boon to anyone who subscribes to FiOS TV or any other TV service that uses ClearQAM.
  6. Standardized Monitor Configuration
    In the days of Vista and earlier, advanced monitor configuration was done more or less through the video card driver, either NVIDIA ForceWare or ATI’s Catalyst Control Center. Now everything monitor-related is taken care of through a new, simplified, standardized applet. Regardless of whether it’s a Radeon, GeForce, or crappy Intel card, everything from dual monitors to resolution to cloning is all handled through Windows itself.
  7. Logon Background Customization

    This is something that’ll be more interesting for geeks and OEMs, but is cool nonetheless. In previous Windows versions one had to resort to hacking the resources in the logon shell to achieve the same effect. Now even the average joe can rock out with a super-awesome logon screen! Note, however that support is limited to files <256kb and a certain predefined set of resolutions only.
  8. Unified Network Manager
    The new taskbar networking interface now unifies all of your connection options, whether it’s wireless, wired, or WWAN. The layout is suspiciously reminiscent of NetworkManager on Linux…but anyway, it makes switching/connecting a LOT easier.
  9. Device Stage
    Windows 7 now offers users an overview of all the devices connected to the computer – printers, USB peripherals, hard drives, scanners, cell phones, etc etc. Apparently device developers can use Device Stage to extend the functionality and interaction of their products. We’ll see how that pans out.

There are so many new and improved features in Windows 7 – this is but a smattering of them. Hopefully, you now have an idea of the awesomeness to expect when Microsoft releases 7 to the public.

Saturday, October 10, 2009

A Smattering of Good (and BAD) Pickup Lines

These are some of the funnier/ridiculous pickup lines I’ve come across. Some of these are just so bad you wouldn’t be caught dead using ‘em in real life. For the same reason some are more offensive than funny. Here they are in no particular order:

  1. Nice shoes, wanna fuck?
  2. Your legs are like two theme parks, what time do they open?
  3. I want to be DNA helicase so I can unzip your jeans.
  4. I know what you're thinking and the answer is 'Yes, that is a 64-bit driver.'
  5. Are you Jamaican? cause jamaican me boner.
  6. I wish I were sin^2 and you were cos^2, because together we could be 1.
  7. Does this rag smell like chloroform to you?
  8. I'm an astronaut and my next mission is to explore Uranus.
  9. Hi, my bank account is over 7 figures. What's that? You want to marry me? But you didn't hear my cheesy pick up line yet!
  10. How do you like you eggs in the morning, scrambled or fertilized?
  11. Is your dad a baker? Because you have a lot of rolls.
  12. Is your dad a dentist? Because it looks like he stole all your teeth.
  13. Is your dad a cop? Because I don't want another restraining order.
  14. Does your dad work for the RIAA. FUCK THE RIAA!
  15. I'm not sure of your name, but I'm sure I've come across your face before.
  16. That dress sure is becoming on you. Then again, if I was on you, I'd be coming, too.
  17. Pardon me, do you have a vagina? Because I'd like to put my penis inside it.
  18. Ever been to Alaska? No? So you've never seen pipes like these.
  19. Hope your firewall is down, cause I want to flood your ports.
  20. Hey, are you constipated? Cause I wanna fuck the shit out of you.
  21. Do you work at Subway? Because you're giving me a footlong.
  22. You wanna go back to my place, eat pizza and screw? What, you don't like pizza?
  23. If you were my homework I'd do you on the table.
  24. Roses are red
    Violets are green
    I like your legs
    And what's in between.
  25. You must be my homework; I don't know if I'm gonna do it, but I'm getting an extension.
  26. You smell just like your bicycle seat!
  27. Hey baby, are those space pants? 'Cause your ass is out of this world.
  28. Hey baby, wanna come over to myspace so i can twitter your yahoo until i google all over your facebook?
  29. Do you sleep on your stomach? "Can I?"
  30. You must be a general, because my private just snapped to attention.

Tuesday, October 6, 2009

The WRT54GL Killer: Netgear’s Open Source WNR3500L


Ever since Linksys released the first version of their WRT54G,the company has made a name for itself with its open-source routers. Although the WRT54G series switched to a proprietary vxWorks OS starting with revision 5, the open-source tradition continued with the later WRT54GL model, a unit designed specifically for the Linux/modding/open-source/power-user community. There’s a reason why the WRT54GL has won the Newegg Customer Choice Award a whopping 28 times…because it’s AWESOME. I am currently a proud owner of 3 of these little guys. Well, more specifically, the WRT54GL is compatible with a smorgasbord of third-party projects and firmwares, the most popular being DD-WRT, OpenWRT and Tomato.  Sure, there are numerous other open source-compatible routers from Asus, Buffalo, and whatnot, but the WRT54GL will remain close to every geek’s heart. Although its 802.11g and 10/100 Ethernet might be getting a little long in the tooth these days, it remains the gold standard of its niche.

Until now.

Netgear has just announced its new WNR3500L router, which, judging from its feature set, seems directly aimed to compete with the WRT54GL and other open-source routers. Supposedly the device will offer strong third-party support straight out of the gate with a developer program and compatibility with DD-WRT, OpenWRT, and Tomato as well. Perhaps mostly importantly, though, are the WNR3500L’s specifications of 802.11n and Gigabit Ethernet. This may be the first consumer-oriented device that combines high performance with the flexibility of open-source firmware. Plus, its minimalist black look is definitely an improvement over the cute but aging blue Linksys box shape.

Undoubtedly, eager buyers will jump on these as soon as Netgear starts selling ‘em. In the meantime, we’ll stay tuned for more information and the inevitable head-to-head comparison. Is the WNR3500L a WRT54GL killer?

Tuesday, September 29, 2009

FREE Microsoft Security Essentials Now Available

Wow, this is a first for Microsoft – releasing a competitive AV/antispyware package for FREE (unlike that OneCare BS that came before). MSE (codename Morro) is intended as a replacement for both OneCare and Windows Defender (it appears that the latter is actively disabled during MSE installation). The new user interface is designed to be lean and mean, which is suitable for even less tech-savvy users. MSE uses Microsoft Update for signature updating and is West Coast Labs Checkmark certified.  Time will tell how good this new kid on the block really is, but my gut feeling is that this will be an excellent competitor in the free AV market, particularly compared to AVG and Avast.

My personal advice, of course, is that no antivirus/security program – no matter how effective – is a replacement for basic common sense and smart computing practices.

Sunday, September 27, 2009

Hardware-independent Cloning of a Linux (Fedora) Install, Part 2

Back in Part I of the tutorial, I covered the process of creating an image of a Linux computer (running Fedora) using FSArchiver and an external USB hard disk as the backup medium. Now, we’re going to restore the image onto a target computer (with a different hardware configuration) and prep this new system for booting. Our goal: That the target machine will run a Linux environment that appears virtually identical to the user, thus saving lots of time that would otherwise be needed to reinstall software, tweak the user environment, etc.

Create partitions

In order for the cloning to work successfully, you will need the same number of partitions as on the source machine, plus an optional swap partition. Each partition, in turn, must be large enough to store all of the data that will be restored onto the partition. Parted Magic, true to its name, provides the excellent and easy-to-use GParted tool, a GUI frontend to the parted partitioning software. The nuts and bolts of using GParted are out of the scope of this article; please see the official documentation for more details.


In the example screenshot above, I have created several partitions on a WD10EADS 1TB hard drive. /dev/sda3 is a 200MB /boot partition. Furthermore, /dev/sda4 is an extended partition that contains the / root partition /dev/sda5, the large /home partition /dev/sda6, and the swap partition /dev/sda7 (again, swap is optional. It is more relevant to low-RAM systems). Note that formatting the partitions (with the exception of swap, if you created one) is not necessary, since FSArchiver will format each partition to match the parameters of the source filesystem.

Mount the backup medium and restore the image

Now it’s time to restore the image onto the new partitions. Run the mount manager and mount your external disk.


In the example above, I have mounted my Seagate drive, /media/sdc1.

After mounting the image, open a terminal prompt and cd to the mount point of the external disk, e.g. /media/sdc1. To execute the restore process:

# fsarchiver restfs –v /media/XYZ/ARCHIVE_NAME.fsa id=0,dest=/dev/X1 id=1,dest=/dev/X2,id=2,dest=/dev/X3

Replace with the correct parameters relative to your particular system, of course. You can also add a –j X, where X is the number of processor cores available, to enable multithreading. Make sure the partitions you are restoring to correspond to the order of the partitions in the image file. The restore process make take anywhere from a half hour to several hours or more, depending on your CPU speed and hard drive.

Fix the GRUB bootloader

Next, we need to ensure that the grub.conf file points to the correct partitions. Mount your boot partition and go to grub/grub.conf. Make sure that the splashimage and root of each boot entry points to the proper partition. Keep in mind that grub starts counting from 0 – so if you have a partition /dev/sda3, it would be known as (hd0,2). Likewise, /dev/sdb1 would be (hd1,0).

Now that our grub.conf is correct, we need to install GRUB on the MBR (master boot record) of your primary (boot) hard drive. Determine what your boot partition is using the guidelines in the previous paragraph. Let’s say my boot partition is (hd0,1). Then my commands would be:

# grub
grub> root (hd0,1)
grub> setup (hd0)

At this point, your system is ready to boot into its new, cloned Linux environment. Yes, it can boot – but will most likely fail. This leads us into the final steps…

Rebuild the initrd

The initrd is the Linux Initial Ramdisk, a sort of early boot environment that prepares the root environment for mounting later on in the booting process. During a regular (e.g. from the install CD/DVD) Fedora installation, the installer generates a ramdisk specific to the computer’s disk and hardware setup. Since the whole point of this tutorial is that we are assuming a different set of hardware, the original initrd image is useless.

First, we need to find the version string for the kernel on the system. On a running system we could just do a uname –a, but since we’re running off a LiveCD this won’t work. An alternative would be to check grub.conf. A typical kernel version string would be something like:

Generating a new initrd can be a bit tricky, depending on whether you have a separate boot partition or a unified / partition with a boot directory.

The latter situation (a single, unified root+boot partition) is fairly straightforward. Using the mount manager, mount this partition and note its mount point. Open a command prompt:

# chroot /media/XYZ (replace XYZ with the appropriate location)
# cd boot

Obviously, replace KERNEL_VERSION_STRING in the last command with the kernel string specific to your Linux image. This command will overwrite any existing initrd image for that version of the kernel.

The former situation, involving separate / and /boot partitions, is slightly more tricky. The basic idea is the same; however, since a chroot is involved we cannot run mkinitrd and tell it to write across partitions. One way to overcome this is to mount both partitions, write the initrd file to the / filesystem, and move (mv) it where it belongs to the boot partition. Another, slightly more advanced method is to first mount the / partition, then mount the boot partition to the /boot directory on /.

Setting up swap space (optional)

If you created a swap partition, you’ll need to let the computer know about it. First, we’ll need the UUID of the swap partition. To do this, run:

# blkid

Note the device mapping and UUID (in quotation marks) of the swap partition.

Now mount the / partition and go to etc/fstab. Edit, or create if necessary a line like the one below, making sure to use the UUID from blkid:

UUID=c2f72258-bcd7-4cff-93fc-e584bb03226f swap  swap   defaults        0 0

A Few Last Tweaks

There are a few more tweaks that I highly recommend. On the cloned / partition, edit the file etc/udev/rules.d/70-persistent-net.rules and delete all lines beginning with “SUBSYSTEM”. This will force the Linux install to redetect the computer’s network hardware.

Finally, make sure your video settings will work with the new machine. Recent versions of X (like that shipped with Fedora 11) do not require an /etc/X11/xorg.conf file, but if you have installed either the ATI or nVIDIA proprietary drivers, make sure that the hardware in your computer is compatible. If in doubt, simply delete the aforementioned xorg.conf file to allow X to autodetect your video hardware and select a generic driver.

Congratulations! At this point, your Linux clone is fully prepared and ready to run. Reboot from Parted Magic and cross your fingers – you should see a nice GRUB bootscreen IDENTICAL in appearance to the one on your original computer. Boot as usual, and you should experience a user interface that’s exactly the same as the way you left it. Enjoy your new old system!

Tuesday, September 22, 2009

A Collection of SLIC 2.1 BIOS mods

Here’s a list of all my SLIC 2.1 modded BIOS, created for educational purposes. For more information on what these do, please see: As detailed there, the mods were performed using AndyP’s AMI and Award Mod Tools. All files below are archives containing the modded BIOS, the corresponding XRM-MS certificate, and a suitable DOS flashing tool. For more information on DOS BIOS flashing, please see my previous post.

Disclaimer: BIOS flashing is, of course, a potentially risky operation. All the mods below have been flashed and tested successfully, but I am not responsible for anything that happens due to the use of these mods.

UPDATE 05/08/2010: MA785GM-US2H updated to new F10 BIOS.

UPDATE 03/31/2010: MA785GM-US2H updated to new F8 BIOS.

UPDATE 10/09/2009: Foxconn A7DA-S updated to new 81BF1P09 BIOS.

Board model: ASRock A780GMH/128M
BIOS type: AMI
BIOS version: P1.20
Mod method: SSV3

Board model: ECS MCP61PM-AM
BIOS type: Award
BIOS version: 1.12GS
***NOTE: This is an OEM board used in the eMachines T5234 and possibly some Gateway models.***
Mod method: Dynamic (due to presence of existing Vista SLIC 2.0 table)

Board model: ECS MCP61PM-HM
BIOS type: Award
BIOS version: 5.27
***NOTE: This is an OEM board used in the Compaq SR5110NX.***
Mod method: Dynamic (due to presence of existing Vista SLIC 2.0 table)

Board model: Foxconn A7DA-S (Socket AM2+ DDR2 version, NOT the new 3.0!)
BIOS type: AMI
BIOS version: 81BF1P09
Mod method: SSV3

Board model: Gigabyte MA78GM-S2HP
BIOS type: Award
BIOS version: F5
Mod method: SSV3

Board model: Gigabyte MA785GM-US2H
BIOS type: Award
BIOS version: F10
Mod method: SSV3

Wednesday, September 16, 2009

uTorrent IPFilter Updater (uTIPF) v1.5.6 R2

I’m releasing a revision of 1.5.6. The actual program code has NOT been changed, but rather a supporting component: wget. uTIPF is now using Bart Puype’s standalone wget executable – this resolves issues with msvcr71.dll missing on some Win7 systems, and also negates the need to have two DLL files. The readme has also been expanded slightly.

As always, hit up the left sidebar for the download page, or go to

Wednesday, September 9, 2009

Hardware-independent Cloning of a Linux (Fedora) Install, Part 1


WARNING: The following tutorial is highly technical. If you are not proficient in a Linux environment, particularly with mounting, the following is NOT for you. As always, backup any and all important data.

A complete OS (re)install and format is always a pain. There’s so much more to do afterwards – installing drivers, setting up software, fine-tuning your user environment, and transferring personal documents and data. Combined, all these chores can make for a massive headache.

In the corporate world, this obstacle is often overcome by imaging. Simple bit-for-bit disk imaging works great when you have many computers with identical hardware configurations, but for those of us at home, what are the chances every single computer is the same? In this two-part series, I’m going to demonstrate how to clone a Fedora Linux 11 system from one machine to another, regardless of how different the hardware may be.

Before we begin, we’ll need to prepare a few things. In particular, you’ll need a reliable external storage device (aka a USB hard drive). Make sure your backup drive is large enough to hold your entire Linux install and then some.

Now we’ll need to prepare either a LiveCD or LiveUSB of PartedMagic. PartedMagic is an excellent live distro suited for system maintenance, disk partitioning and management, etc. In particular, PartedMagic comes with FSArchiver, the filesystem backup tool that will be the core of our efforts. One of the limitations of traditional imaging tools is that images must be restored onto disk partitions that are at least as big as the source disk. For example, a 50GB partition must be restored onto a partition >50GB – even if the partition is only partially filled to capacity. FSArchiver is much more lenient: images can be restored anywhere as long as there is sufficient capacity. If you only had 1GB of data on that 1TB partition, you only need a partition size of 1GB.

At the time of this writing the latest available versions were PartedMagic 4.4 which shipped with FSArchiver 0.5.8. Currently, FSArchiver 0.5.9 is out but unless you want to do some binary file replacement, we’re not going to bother.

There is documentation on preparing the LiveCD/LiveUSB at the PartedMagic website. The process is quite straightforward, so I will not go into detail here.

PART I – Backing up the Linux system

Boot into the Parted Magic environment. First, you need to take stock of your particular hard drive configuration and where your Linux is installed. Open a terminal and enter:

# fdisk –l


This will list all the hard disks present as well as the partitions on each drive. A typical Linux install may use anywhere from 1-3 partitions, or more if you have a complicated setup. On my example system, I have a 250MB /boot partition, a 15GB root (/) partition, and a big 250GB /home partition. As you can see in the screenshot above,, these partitions correspond to the devices /dev/hda1, /dev/hda5, and /dev/hda6 respectively.

Now that you know what partition(s) you are targeting, it’s time to mount the external drive to which the image will be written. This is a trivial task thanks to Parted Magic’s graphical mount utility – simply click the “Mount” button next to the relevant device/partition. My example drive is a Seagate 250GB USB disk on /dev/sdc1. The mount point in Parted Magic, then, would be /media/sdc1.


The target partitions – hda1, hda5, hda6 – are marked with a red stripe. My backup drive sdb1 for storing the image is marked with a blue stripe.

Finally, we arrive at the imaging step. Execute the command below, adjusting parameters as necessary. Change EXT to the /dev name of your backup media, and add the /dev name(s) of the target partition(s) you want to backup at the end.

# fsarchiver –v savefs /media/EXT/fedora.fsa /dev/TARGET1 [/dev/TARGET2 /dev/TARGET3]

Optionally, you can add the option –j X if you have a multi-core processor. Replace X with the number of processor cores. Also, if you wish to use compression, use –z Y, where Y is an integer from 1-9 (9 is the highest compression level, using LZMA).

Fore more information about FSArchiver’s command line options, please see this page.

Upon running FSArchiver as described above, you should see a scrolling readout of directories and files present on your system. The running time will vary depending on your CPU and disk speed, as well as the compression level used (if any).

This concludes Part I. Later, we’ll take a look at the steps required to successfully restore and boot the image on another computer, regardless of hardware differences.

Friday, September 4, 2009

Z-Alarm 2 is Released

The original Z-Alarm was, admittedly, a little on the rough side. While it worked reliably and did its job, it looked ugly and gray like a misshapen piece of urban sculpture. Z-Alarm 2 aims to fix all that. In fact, it was designed around one goal: to fully emulate a traditional alarm clock.


As you can see, the GUI was completely rewritten. All user controls are grouped at the bottom of the screen. A custom LED-style fonts goes nicely with the idea of an old-fashioned alarm clock.

Most notably in this release is the expanded music support. As long as a DirectShow codec is installed for a particular audio format, Z-Alarm 2 can use it. For example, in the above screenshot, I’m playing an AAC/m4a file.

More information, instructions, technical details, and credits can be found in the readme. I’ll leave you to try it out for yourself:

Saturday, August 29, 2009

Windows 7 and a Dell Inspiron E1705


My trusty Dell Inspiron E1705, a 17” behemoth of a laptop, has lasted me beautifully for more than three years. It originally came with an OEM install of Windows XP Media Center Edition 2005 – all right, but quite frankly the MCE features were unneeded. This was followed up with an upgrade to XP Professional and eventually SP3. The machine ran XP decently enough – somewhat fast, but by no means snappy. It also had a bad habit of hard drive thrashing. The battery is also completely dead, but that’s no fault of the laptop (I hope!)


The system specs:

  • Intel Core Duo T2300, 1.66GHz
  • 2x1GB Crucial DDR2-667 (up from the original 2x512MB of DDR2-533)
  • Intel 945GM chipset / GMA 950 graphics
  • A09 BIOS with SLIC 2.1 mod 
  • Fujitsu 100GB SATA 5400RPM HDD
  • NEC 8x DVDRW
  • Broadcom 440x 10/100 Ethernet + Intel 3945ABG WiFi
  • Sigmatel HD Audio
  • Ricoh memory card reader
  • Expresscard/54 slot (not tested)

After getting hold of Windows 7 Ultimate, I thought “Why not?” It wouldn’t run any slower than XP, would it?

After a tolerably brief install process, I found myself sitting in front of a pristine Win7 desktop. Wow, that new taskbar (with those big pinnable icons and jumplists) is awesome. All hardware was immediately recognized and installed with the exception of the Ricoh memory card reader. However, that was quickly resolved after a visit to Windows Update.

The GMA 950 is notorious for its poor performance, especially in games, but believe it or not it has actually had a WDDM driver (read: Windows Aero capable) since Vista. And yes, it actually runs Aero amazingly well. Nowhere near as fluid as, say, my desktop’s Radeon 4830 but more than sufficient for daily workstation use.

As for other software, compatibility has been decent so far. Some issues I’ve noticed: Acronis True Image Home 2009 is unable to mount TIB images. Hopefully that will be fixed as I’ve got some music from my XP backup that needs to be re-instituted. (UPDATE: True Image Home 2010 is out.) Also, Daemon Tools installation popped up a compatibility warning, but the latest version seems to work fine. TrueCrypt also popped up a warning, but as long as you stay way from full-disk encryption it will work normally.

As for security, I’m just running Avast 4.8 Home with the Windows 7 firewall. It’s a nice, unobtrusive combination that’s reasonably light on system resources.

In general, I’ve found Windows 7 to be faster and more responsive than XP was. This is no small feat considering that the Dell is 3+ years old and Windows 7 is a brand-new OS. This may be attributable to Windows 7’s revamped hardware support and the use of the GPU for the Aero UI.

Oh, and by the way, here’s a shot of the Windows Experience Index:


Not TOO shabby, eh?

Monday, August 24, 2009

Create a “Modern” MS-DOS USB Bootdisk

DOS and MS-DOS may be ancient on the timeline of technology, but that says nothing about the usefulness of this old, crusty operating system. Perhaps you’re feeling nostalgic about that old game (*cough* *cough* DOOM), or more likely you need a pure DOS environment to flash the BIOS on your brand-new motherboard.

But DOS has traditionally been relegated to the realm of the floppy disk, and when was the last time you saw one of those? Instead, we’ll be using a more 21st-century USB flash drive as the host boot media.

Before we begin, you’ll need to download a couple of things:

The MS-DOS files here are originally from; I updated a few of the included utilities, namely DOSKey and DOSLFN (long file name support). Other noteworthy features of this custom MS-DOS bootdisk include CD-ROM support and DOSKey macro support.

From the HP USB Tool archive you downloaded, extract HPUSBFW.EXE to a handy location (The other file is a command-line version of the utility). In the MS-DOS archive you should find a folder named “msdos71b” – extract that entire folder somewhere handy as well.

Run the HP USB Tool, HPUSBFW.EXE. Select your USB drive as the target device. Make sure the filesystem is FAT (and NOT FAT32 or NTFS). The volume label can be anything, but name it something meaningful :) Check “Quick Format” and “Create a DOS startup disk” / “using DOS system files located at”. Browse to the location of your extracted “msdos71b” folder.


Cross your fingers and hit “Start”. If all goes well a popup info window should appear. Now, your USB drive is DOS bootable with a barebones set of files. But we want more than just barebones, right? We want a tricked out, fully prepared MS-DOS distro. To do that, browse to the contents of that “msdos71b” folder you extracted. Select all, and copy all the files to the root of your USB drive. Just hit no when asked to replace anything (the HP USB Tool already used the same files).

When done, your USB drive’s contents should be something like the following. Note that some files may not appear in Windows Explorer since they are regarded as system files.


At this point your MS-DOS USB bootdisk (bootstick?) is ready to go. Simply pop it in on any computer with USB booting support, and you should be rewarded with a nice, old command prompt:


Some things never change.

Wednesday, August 19, 2009

Get your TV fix for (almost) free


Cut the Cable Bill - PC World

Long time no see, I know. That’s what a dose of Florida sunshine will do to you.

Anyway, PC World just posted a decent article on the many choices out there for getting national-network TV content for free. Hulu has always been a perennial favorite, but did you know that YouTube is also starting to host a select variety of shows (including MythBusters)? One can also connect directly to the major networks’ websites, but this often has more location restrictions – BBC is available only to those in the UK. More exotic options include desktop apps like XBMC and Boxee. Those not afraid of spending some cash might look at an Apple TV (ahhh, Apple!) or even running out and buying that entire season of a show on DVD.

Last but not least, I would like to shamelessly plug the option of torrenting your TV content. ‘Nuff said.

Monday, July 13, 2009

Windows 7 going Gold? Nope

For some time now, people have speculated about when Microsoft will announce the “gold” RTM (release-to-manufacturing) of Windows 7. First, it was July 18, then the July 13 rumors started. Well, there is indeed a build 7600 that appeared today, but Microsoft has broken the silence and denied that this is the coveted final version. Nevertheless, the appearance of this build (on the usual slew of P2P networks) is suspicious – the latest known build was somewhere in the 7260 range, so this jump may mean that Microsoft has made significant progress in finalizing the code. Finally, note that the official build number of the final release has NOT been determined.

Tuesday, June 9, 2009

Get Your iPhone OS 3.0 on BitTorrent Now


Gizmodo - iPhone OS 3.0 Now Available in Torrent - iPhone OS 3.0

Well, to say the least, it looks like someone beat Apple to the jump. This is supposed to be the same build demonstrated at WWDC 2009…now we just wait for the jailbreak!

Monday, June 8, 2009

uTorrent IPFilter Updater (uTIPF) v1.5.6 released

Version 1.5.6 of my uTorrent IPFilter Updater (uTIPF) is now available. This is a point release that adds date checking to the update logic. Instead of blindly downloading the filter list like before, uTIPF first checks to see if the client-side list is already up-to-date. If so, uTIPF will notify the user and exit.

The new version is live and available as usual at

Portable Apps Relaunch - Mozilla Firefox Ultimate Edition

The Portable Apps section of the site has been languishing for awhile now. What better way to revive it than with the release of an all-new, never-before seen portable app?


Mozilla Firefox Ultimate Edition may sound cheesy, but this portable powerhouse is no joke. This custom spin adds integrated Flash, Java, PDF, and Quicktime multimedia capabilities to the venerable Firefox browser – all in one neat package that’s ready-to-run from a USB stick or network drive.

*Firefox 3.0.10
*Foxit Reader 3.0 build 1506 w/ Firefox plugin
*Java SE 6 Update 14
*Adobe Flash
*QT Lite 2.9.0 (

For more info and download links, head over to

And don’t forget to check out the rest of the BINARY INSPIRATIONS Portable Apps Collection at

Thursday, June 4, 2009

Hackers Targeting Windows XP-Based ATM Machines


Hackers Targeting Windows XP-Based ATM Machines | Maximum PC

Wow, whose bright idea was it to put XP on a highly sensitive, mission-critical machine that processes privileged information and holds large sums of money? It would really, really suck to have a BSOD right before the cash drawer was supposed to open. This takes spyware to a whole new level…yikes. Windows belongs nowhere near an ATM.

Monday, June 1, 2009


Effective today, BINARY INSPIRATIONS has moved to a more meaningful and relevant URL: it’s now All dependent links such as the RSS feed, stat counter and Technorati link have been updated accordingly.

Tuesday, May 26, 2009

Get Your Windows Vista Service Pack 2 Now


Microsoft has released Service Pack 2 for Windows Vista (and Server 2008), so grab it now either off of Windows Update, as a standalone installer, or an ISO:

SP2 for x86 32-bit
SP2 for x64 64-bit
SP2 ISO Image

For more info, check out the release notes.

Tuesday, May 19, 2009

Get your new, awesome not-so-budget computer for under $300!

Pardon the title, it sounds like an obnoxious ad. Memorial Day is just around the corner, and you know what that means – deals, deals, deals! It’s now possible to get a very nicely equipped computer build for less than $300 shipped, thanks to Newegg’s free shipping deals on many cases, which saves some serious $$$ for those on a budget.

Prices are current as of 5/19/2009.

Part Price
AMD Athlon X2 7750 Black Edition, 2.7GHz $59.99
Rosewill R804BK ATX Mid-Tower Case (includes 350W PSU) $39.99
ASRock A780GMH/128M Micro-ATX motherboard $71.99
Patriot Viper 2x2GB DDR2-800 RAM (use promo code EMCLSMX34) $26.99 (after $25 MIR)
Western Digital SE16 WD500AAKS 7200 RPM SATA Hard Drive $59.99
Sony Optiarc AD-7240S 24X SATA DVD Burner $25.99







Needless to say, this thing is going to kick some serious ass compared to any store-bought computer in the same price range. I’ll be picking up more or less the same build this weekend – considering the amazing performance/$ ratio of the 7750BE CPU, 4GB of RAM, and 500 gig hard drive, this is quite possibly the best $300 you can spend on a computer.
Also worthy of note is the ASRock 780G motherboard, which is a second-generation design featuring the improved SB710 southbridge and a slew of ports, including HDMI and SPDIF audio. (Hint hint: this thing would be a great media center/HTPC machine.) In terms of software, this thing has more than enough brunt to take Vista and Windows 7 head-on.

Grab the goods while they’re still hot!

Sunday, May 3, 2009

ScienceHD – A Unique Sci-Fi/HD/Documentary Oriented Tracker

ScienceHD ( is now open for signups. Get yours quick – the current max user limit is at 5,000 and more than 4,400 users have already been enabled. Upon first glance, I am very impressed with this Gazelle-based BitTorrent tracker. The layout is clean and tasteful, and the current selection holds a lot of variety: National Geographic, Penn and Teller, History Channel, etc. I’m sure ScienceHD will prove to be a big hit for those who love learning. I’ve already got my eye on a Discovery Channel special on Chernobyl.

Undoubtedly, the site has a lot of potential and is off to a strong start. I enthusiastically encourage all those interested to sign up now!


Tuesday, April 28, 2009

Office 2007 SP2 Released

The second service pack for Office 2007 has been released. Highlights include ODF document support and the usual slew of stability/performance enhancements. Get your 290MB copy either from Microsoft Update or from the official download page:

Wednesday, April 22, 2009

nVidia, OpenCL, and GPGPUs

 Nvidia Releases OpenCL Driver, SDK | Maximum PC

General-purpose graphics processing unit (GPGPU) technology has the potential to revolutionize compute-intensive tasks such as video encoding, large-scale simulations, and molecular/protein research (Folding@Home!). However, it’s been hindered by the lack of a standardized, open API to unify compatibility among various GPU manufacturers, first and foremost ATI and nVidia. It looks as if nVidia will be the first to overcome this hurdle with today’s release of their OpenCL implementation. Compare this to CUDA, nVidia’s first (but closed-source) attempt to enter the GPGPU market. Though it’s in pre-beta stage, the new toolkit just might usher in a new era of computing.

Friday, April 17, 2009

Court Finds Pirate Bay Founders Guilty, slapped with 1-Year Jail Sentence and $3.6M fine

The Pirate Bay Verdict and the Future of File Sharing - PC World


Today is a sad, sad, day for pirates and file-sharing enthusiasts alike. It’s all over the interwebs now: A Swedish court has ruled that the four founders of the popular BitTorrent tracker The Pirate Bay are guilty of “assisting in making copyright content available”.

Quite frankly, the verdict is shocking given the technical competence of the prosecution and their inability to make a solid case.

Best of luck to the TPB team as they try to combat this BS verdict and appeal, but if worst comes to worst, rest assured that file-sharing, P2P, and BitTorrent will be around for some time to come, thanks to rapidly evolving decentralized networking tech as well as the inumerable small-scale and private P2P networks and sites/trackers.

Long live the pirates!

Tuesday, April 7, 2009

A List of 900 Private Torrent Sites

900 Online Private Torrent Trackers: 2009 Edition | THE source for BitTorrent & P2P Tips, Tricks and Info. | FileShareFreak

For all you hardcore BitTorrent and file-sharing/P2P aficionados, you may find this quite exhaustive compilation of BT trackers from FileShareFreak quite interesting. If you have enough time to vet all of them, you really do have too much time on your hands.

Check out a book…with Google Book Downloader

Google Book Search and its ambitious scanning project have put many of the world’s finest literary and scientific works at our fingertips. One can download entire works if they are public domain or are no longer under copyright, but for current-market books only a preview of a certain number of pages is allowed. So…let’s say, hypothetically, that you DESPERATELY need the full text of a book, but don’t feel like making a late-night trip to the library. What then? Why, it’s Google Book Downloader to the rescue!

This handy little tool, written in C#, solves your literary woes. Simply input the Google BookID (found in the URL of the original Google Books page) and hit Check. Once that completes, click “Download All” and GBD does the rest by systematically downloading the pages in a randomized order (boy, does that make sense :) Finally, click “Save entire book as” the temporary downloaded pages are compiled into a nice, neat PDF. The GUI could use a little work, but once you figure out how to use the tool things work out nicely. PDF creation is handled by iTextSharp, the C# port of the popular iText Java library.

GBD in action:

gbd (.NET Framework 3.5 is required.)

Note that I do NOT condone any illegal or unsavory use of this software. Have a nice day.