Two newly-added floppy OSes #

/misc | Dec 31, 2009

Black screen with many white exclamation points / marks on boot... #

was due to a failing EVGA e-GeForce 8800GT video card. Pulled the card and exclamation points were gone for good.

black screen with white exclamation points

Could not find any definitive information or solution on the web, though there were a few similar complaints:

/misc | Dec 29, 2009

Postcardware Windows apps by Piotr Chodzinski #

These run under all Windows versions from 95 on up! (via Mike Mills)

/windows | Dec 27, 2009

Freeware Mac apps by Colin Henein #

/mac | Dec 27, 2009

Downloading DjVu files from Internet Archive (archive.org) #

Clicking DjVu book links on archive.org opens them in a Java applet within the web browser, with no option to save. Right clicking and "saving link as..." results in a tiny HTML file being downloaded instead. Here's how to download the actual DjVu file (we'll use H.G. Wells' The wonderful visit in this example):
  1. Right click and copy the DjVu link: http://www.archive.org/stream/wonderfulvisit00welluoft/wonderfulvisit00welluoft.djvu
  2. Paste the link into your browser's address bar
  3. Add an extra forward slash before "stream": http://www.archive.org//stream/wonderfulvisit00welluoft/wonderfulvisit00welluoft.djvu
  4. Press Enter to begin downloading the DjVu file
UPDATE: The DjVu file can also be downloaded from the directory listing: simply click the "HTTP" link to the right of "All Files:" to access.

/misc | Dec 27, 2009

Reading HTML files on a Kindle #

(Via Kindle browser to read html files)

/eink | Dec 27, 2009

Ensign, Demint to force vote on health care bill unconstitutionality #

WASHINGTON, D.C. - Today, U.S. Senators Jim DeMint (R-South Carolina) and John Ensign (R-Nevada), raised a Constitutional Point of Order on the Senate floor against the Democrat health care takeover bill on behalf of the Steering Committee, a caucus of conservative senators. The Senate will vote tomorrow on the bill's constitutionality.

"I am incredibly concerned that the Democrats' proposed individual mandate provision takes away too much freedom and choice from Americans across the country," said Senator Ensign. "As an American, I felt the obligation to stand up for the individual freedom of every citizen to make their own decision on this issue. I don't believe Congress has the legal authority to force this mandate on its citizens."

"Forcing every American to purchase a product is absolutely inconsistent with our Constitution and the freedoms our Founding Fathers hoped to protect," said Senator DeMint. "This is not at all like car insurance, you can choose not to drive but Americans will have no choice whether to buy government-approved insurance. This is nothing more than a bailout and takeover of insurance companies. We're forcing Americans to buy insurance under penalty of law and then Washington bureaucrats will then dictate what these companies can sell to Americans. This is not liberty, it is tyranny of good intentions by elites in Washington who think they can plan our lives better than we can."

Americans who fail to buy health insurance, according to the Democrats' bill, would be subject to financial penalties. The senators believe the bill is unconstitutional because the insurance mandate is not authorized by any of the limited enumerated powers granted to the federal government. The individual mandate also likely violates the "takings" clause of the 5th Amendment.

The Democrats' healthcare reform bill requires Americans to buy health insurance "whether or not they ever visit a doctor, get a prescription or have an operation." If an American chooses not to buy health insurance coverage, they will face rapidly increasing taxes that will rise to $750 or 2% of their taxable income, whichever is greater.

The Congressional Budget Office once stated "A mandate requiring all individuals to purchase health insurance would be an unprecedented form of federal action. The government has never required people to buy any good or service as a condition of lawful residence in the United States."

A legal study by scholars at the nonpartisan Heritage Foundation concluded: "An individual mandate to enter into a contract with or buy a particular product from a private party, with tax penalties to enforce it, is unprecedented-- not just in scope but in kind--and unconstitutional as a matter of first principles and under any reasonable reading of judicial precedents." (emphasis mine)

Source

/misc | Dec 22, 2009

Notes #

/misc | Dec 19, 2009

Xcopy Windows to a new hard drive #

While imaging a 160GB drive with four partitions (Dell Diag, Recovery, OS, MediaDirect) to a new 500GB drive via an Acronis True Image boot CD, something went terribly wrong. Long story short, neither drive would boot (stuck in perpetual reboot loop) though files were visible on both drives. After wrangling with partition and recovery tools on the 500GB drive to no avail, the following process worked:
  1. Wiped all partitions on the 500GB drive and created a single NTFS partition
  2. Installed Vista normally on 500GB drive
  3. Booted from Microsoft Diagnostics and Recovery Toolset (DaRT) CD
  4. Erased all files from C: on 500GB drive
  5. Copied all files from 160GB drive's OS partition (F:) to 500GB drive (C:) via xcopy:
    xcopy f:\*.* c:\ /b /c /e /h /k /o /r /x /y
  6. Booted from 500GB drive - still no joy: "Missing operating system"
  7. Booted from Vista install disc and selected "Repair your computer" (with the vague idea of trying fixboot and perhaps fixmbr)
  8. The following message appeared: "Windows found problems with your computer's startup options. Do you want to apply repairs and restart your computer?"
  9. Clicked "Repair and restart" and booted from 500GB drive
  10. Windows Vista started normally, with all data and apps intact!

UPDATE: Robocopy replacement (covers another interesting tool, strarc.exe)

/windows | Dec 19, 2009

Bundled Snow Leopard Upgrade DVDs do *not* work on older Macs with blank drives #

There are many assertions around the web that the Mac OS X Snow Leopard Upgrade DVD works exactly like the full version. Here's an example of such a claim from Macworld:
However, the Snow Leopard upgrade DVD does not require that you have Leopard installed; it's a full install disc that works on any Intel Mac.
and another from MacInTouch:
Can I install the Snow Leopard upgrade on a blank hard disk?
Yes. According to a number of reports, you can even install it on a Mac that does not have a Leopard disk attached.
While this may be true of the retail upgrade disc, bundled DVDs and those issued under the Mac OS X Snow Leopard Up-to-Date Program (distinguishable by the notice "This software is part of a hardware bundle - not to be sold separately") do not work on older Macs with blank drives, as this screenshot demonstrates:
Mac OS X can't be installed on this computer. This disc requires that Mac OS X 10.5 or later already be installed on your computer.
For bots, screen readers, and image-free browsers, here it is in plain text:
Mac OS X can't be installed on this computer. This disc requires that Mac OS X 10.5 or later already be installed on your computer. If you want to restore your system from a Time Machine backup, click "Restore from Backup".
The only choices are "Restore from Backup" and "Restart". Not even the usual utilities (Terminal, Disk Utility, etc) are available. This message can be avoided by plugging in an external drive with Leopard installed (including another Mac in Target Disk Mode) or by remastering the DVD with a few minor changes. For more on this issue, see:

/mac | Dec 14, 2009

Random Harvest #

/misc | Dec 13, 2009

Batch replace text in PDF files #

Simple text replacements in simple PDF documents can be made with changepagestring.pl, part of CAM-PDF-1.52, which, by the way, includes many other cool tools like:
$ perl -MCPAN -e shell
If this is the first time you've run CPAN, it will ask you a series of questions - the default answers worked fine for me. When the cpan> prompt appears, install the CAM::PDF module:
cpan> install CAM::PDF
Now let's see if our PDF allows modification:
$ pdfinfo.pl pcasm-book.pdf 
File:         pcasm-book.pdf
File Size:    1071411 bytes
Pages:        195
Author:       Paul A. Carter
CreationDate: D:20050320210800
Creator:      LaTeX with hyperref package
Keywords:     80x86 assembly programming
Producer:     pdfTeX-1.10b
Subject:      80x86 Assembly Language Programming
Title:        PC Assembly Language
Page Size:    variable
Optimized:    no
PDF version:  1.4
Security
  Passwd:     none
  Print:      yes
  Modify:     yes
  Copy:       yes
  Add:        yes
As it does, let's batch replace the word "Borland" with the word "Inprise" and name the new file output.pdf:
$ changepagestring.pl -o pcasm-book.pdf Borland Inprise output.pdf
That seems to have worked, but there are still instances of "Borland" in the file - why were they not changed? The following script by Adam314 will output the entire file, including the hidden PDF formatting codes:
#!/usr/bin/perl
use warnings;
use strict;
use CAM::PDF;
 
my $infile = '/path/pcasm-book.pdf';

#open file
my $doc = CAM::PDF->new($infile) || die "$CAM::PDF::errstr\n";
 
#look for string
for my $page (1..$doc->numPages) {
	my $content = $doc->getPageContent($page);
		print $content
		}
Sure enough, the string "Borland" only shows up twice. Where are all the others? Why, surrounded by hideous formatting code like these examples:
Borl)1(and)1('s
Borlan)1(d's)-2
Borlan)1(d)-497
Borl)1(and)-241
In his link above, Adam314 offers advice for replacing instances like these with regex. At this point I grew rather weary, however, especially as text replacements were wont to cut off or run into other words. However, for simple text replacements in simple PDF documents, changepagestring.pl may come in handy.

/nix | Dec 13, 2009

Recursively reassign owner #

chown -R new_username:new_group directory
:new_group is optional. Especially helpful when, after having imported data from one OS X user account to another, attempting to move files results in them being copied instead, and attempting to move folders results in a password prompt ("Finder requires that you type your password").

/mac | Dec 13, 2009

Lock or unlock files recursively in OS X #

$ chflags -R uchg directory
$ chflags -R nouchg directory
View file flags with the -O (capital "o") switch:
$ ls -lO
-rw-r--r-- 1 user staff uchg 0 Dec 13 07:19 locked_file
-rw-r--r-- 1 user staff -    0 Dec 13 07:19 unlocked_file
(via Entrepreneur Geek and macos-x-server.com)

This tip is particularly useful when copying folders like My Documents, My Pictures, etc from Windows machines to OS X. Rather surprisingly, these folders are actually assigned the Read-only attribute in Windows:
Unlike the Read-only attribute for a file, the Read-only attribute for a folder is typically ignored by Windows, Windows components and accessories, and other programs. For example, you can delete, rename, and change a folder with the Read-only attribute by using Windows Explorer. The Read-only and System attributes is only used by Windows Explorer to determine whether the folder is a special folder, such as a system folder that has its view customized by Windows (for example, My Documents, Favorites, Fonts, Downloaded Program Files), or a folder that you customized by using the Customize tab of the folder's Properties dialog box.

OS X honors the Read-only attribute by dutifully locking the directories, leading to unexpected and generally undesirable results.

UPDATE: OS X also hides (in the Finder) files and folders that were hidden in Windows (Local Settings, AppData, etc). chflags can be used to unhide these as well:

$ chflags -R nohidden directory
Rehide:
$ chflags -R hidden directory

/mac | Dec 13, 2009

Blosxom alternatives, microblogs, etc. #

This blog post has been sporadically updated over the years, but that is no longer necessary thanks to StaticSiteGenerators.net ("The definitive listing of Static Site Generators — all 460 of them!"), Awesome Static Web Site Generators, and Static Site Generators for Jamstack Sites.

/blosxom | Dec 03, 2009

Top-notch Dell sales rep #

Four years ago I wrote about a particularly helpful Dell business rep. Sadly, he was promoted soon after and I've been drifting through a desert of "also-rans" ever since. Until now. Until Geoffrey Hoeinghaus. Geoff helped me track down an issue that five other reps could not resolve, and has been providing legendary service to my clients. You can reach him at Geoffrey_Hoeinghaus at dell dot com, or by phone at 1-800-456-3355 x 9462831.

/misc | Nov 27, 2009

Code collections #

/misc | Nov 26, 2009

Plutarch's "On the Eating of Flesh" #

Can you really ask what reason Pythagoras had for abstaining from flesh? For my part I rather wonder both by what accident and in what state of soul or mind the first man did so, touched his mouth to gore and brought his lips to the flesh of a dead creature, he who set forth tables of dead, stale bodies and ventured to call food and nourishment the parts that had a little before bellowed and cried, moved and lived. How could his eyes endure the slaughter when throats were slit and hides flayed and limbs torn from limb? How could his nose endure the stench? How was it that the pollution did not turn away his taste, which made contact with the sores of others and sucked juices and serums from mortal wounds? ...

It is certainly not lions and wolves that we eat out of self-defense; on the contrary, we ignore these and slaughter harmless, tame creatures without stings or teeth to harm us, creatures that, I swear, Nature appears to have produced for the sake of their beauty and grace. But nothing abashed us, not the flower-like like tinting of the flesh, not the persuasiveness of the harmonious voice, not the cleanliness of their habits or the unusual intelligence that may be found in the poor wretches. No, for the sake of a little flesh we deprive them of sun, of light, of the duration of life to which they are entitled by birth and being.
The entire chapter can be found in Volume 12 of Plutarch's Moralia. For those who would like to enjoy on their Kindle, Treo, text-to-speech device, etc, I have put together a plain text version here. Bill Thayer has posted HTML versions of Gryllusa and De sollertia animalium from the same volume.

/misc | Nov 22, 2009

Have ls return human readable formats (KB, MB, GB, etc) #

Like du and df, ls supports the -h switch for using unit suffixes (Byte, Kilobyte, Megabyte, Gigabyte, etc), turning this:
$ ls -l
 505223 aida16en.zip
  10273 atomicwebserver.zip
1359260 camstudio20.zip
into this:
$ ls -lh
494K aida16en.zip
 11K atomicwebserver.zip
1.3M camstudio20.zip

/nix | Nov 16, 2009

Create multiple empty files #

The following examples create three empty files of 1MB each:

Unix:
$ for i in {1..3}; do dd if=/dev/zero of=/path/$i bs=1m count=1; done
or,
$ for i in {1..3}; do mkfile 1m /path/$i; done
Windows:
C:\>for /L %x in (1,1,3) do fsutil file createnew %x 1048576
Notes:

/nix | Nov 13, 2009

Resume an interrupted file copy #

For those times when you've copied 200 of 210GB and then: the network connection goes down, someone inadvertently unplugs your USB drive, or Totus Copy crashes (as I just experienced), rsync can save you from having to start over from square one:

$ rsync --ignore-errors --archive --recursive --compress --partial --progress --ignore-existing --append /source/ /target/

Leopard and Snow Leopard still come packaged with the woefully out of date rsync 2.6.9, which does not preserve metadata or modification times correctly, even when using the -E and -t options. Mike Bombich explains how to download, compile, and install rsync 3.0.6, which does not suffer from these issues.

UPDATE: Added the ill-explained "--ignore-errors" option above. While the man page says its purpose is to "delete even if there are I/O errors", Mark Carroll points out that it would be more accurate to say something like "Go ahead even when there are IO errors, instead of regarding them as being fatal".

/nix | Nov 13, 2009

Convert man pages to PDF in Snow Leopard #

$ man -w rsync
/usr/share/man/man1/rsync.1.gz
$ gzcat /usr/share/man/man1/rsync.1.gz | groff -man > rsync.ps
$ open rsync.ps
PostScript file opened and converted by Preview. Save as PDF.

/mac | Nov 13, 2009

Convert between Mac, Unix, and DOS/Windows EOL characters (CR, LF, CRLF) #

Craig Stuart Sapp's flip converts ASCII files between Mac (OS 9 and earlier), *nix (including OS X), and DOS/Windows newline formats. As the provided OS X binary was compiled in 10.3 for PowerPC, I've compiled a much smaller Intel binary in 10.5.  📺

flip's source code also explains a method for converting line endings via Perl:
Mac to Unix:
   perl -i -pe 's/\015/\012/g' mac-file
Mac to DOS:
   perl -i -pe 's/\015/\015\012/g' mac-file
Unix to Mac:
   perl -i -pe 's/\012/\015/g' unix-file
Unix to DOS:
   perl -i -pe 's/\012/\015\012/g' unix-file
DOS to Unix:
   perl -i -pe 's/\015\012/\012/g' dos-file
DOS to Mac:
   perl -i -pe 's/\015\012/\012/g' dos-file
Here are a few more possibilities from Jacek Artymiak's Filtering files with tr:
Mac -> UNIX: tr '\r' '\n' < macfile > unixfile
UNIX -> Mac: tr '\n' '\r' < unixfile > macfile
DOS -> UNIX: tr -d '\r' < dosfile > unixfile
UNIX -> DOS: '{ print $0"\r" }' < unixfile > dosfile

/nix | Nov 08, 2009

OS X: Batch find and replace text or filenames #

MassReplaceIt 2.9.1 [494k] Batch replace text within files or filenames. Supports regex, masks, undo, and more. For multiline search, newlines must be CR (Mac OS Classic). How to convert EOL characters.  📺

/mac | Nov 08, 2009

Installing CHDK on a Canon PowerShot A540 #

The installation instructions found on the wiki and within the Autobuild CHDK download did not work for my PowerShot A540, but this did:
  1. Plug SD card into card reader and card reader into Windows-based computer
  2. Download CardTricks from http://drop.io/chdksoft
  3. Launch CardTricks (screenshot of the following steps)
    1. Click SD card icon and browse to correct drive letter
    2. Format as FAT (SD card will be erased; make sure to backup any files)
    3. Make Bootable
    4. Download CHDK
    5. CHDK->Card
  4. Unmount SD card and flip write protect switch to on (photos will continue to be written to the card just the same)
  5. Make sure camera is off and insert SD card
  6. Put camera into playback mode (i.e., move Mode Switch from red camera icon to blue playback icon) and turn it on
  7. Print/Share button flashes blue, and CHDK splash screen appears on LCD
  8. To access CHDK features, press the Print/Share button (which serves as the ALT button) followed by the Menu button. See also: What are the key settings and shortcuts?

/misc | Nov 07, 2009

Detailed hardware information for Linux #

"lshw (Hardware Lister) is a small tool to provide detailed information on the hardware configuration of the machine. It can report exact memory configuration, firmware version, mainboard configuration, CPU version and speed, cache configuration, bus speed, etc. on DMI-capable x86 or EFI (IA-64) systems and on some PowerPC machines."

/nix | Nov 05, 2009

Warning when attempting to rename, move or delete folder #

Creating a new folder named "New Folder" on the Desktop was not a problem, but attempting to rename, move, or delete it produced the following warning:
Renaming, moving or deleting 'New Folder' could make some programs not work. Are you sure you want to do this?
A quick registry search for "New Folder" with Nir's RegScanner turned up the culprit:
[HKLM\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\HijackThis.exe]
@="C:\Documents and Settings\username\Desktop\New Folder"
Deleted the crufty key, logged off and on, problem solved.

/windows | Nov 04, 2009

Newly added to OS X page #

Resize 'Em All 1.0.8 [407k] Batch resize and rotate images  📺 💾

/mac | Nov 02, 2009

Dressing like a gentleman #

The first and last word on attire from Douglas Sutherland's The English Gentleman:
  The knack gentlemen have of dressing badly and getting away with it is best illustrated by the story of the gentleman who was accosted by a friend walking along Piccadilly in clothes which were well below the best sartorial standards.

  'It does not matter how I dress in London,' he claimed. 'Nobody here knows me.'

  Later the same friend visited him in the country where his clothes were no better.

  'It does not matter how I dress here', he said, 'Everybody knows me.'

/misc | Oct 24, 2009

Write on the walls #

IdeaPaint turns virtually anything you can paint into a dry-erase surface.

/misc | Oct 22, 2009

Control USB drive letter assignment #

USBDLM (USB Drive Letter Manager) is a Windows service that allows you to control drive letter assignment for USB drives. Features include: and much more. Both 32 and 64 bit versions are available. The author (Uwe Sieber) also offers a comprehensive collection of tips for solving problems with USB drives.

/windows | Oct 21, 2009

Elementary Computer Mathematics #

Ken Koehler has crafted a wonderful introduction "to the mathematics used in the design of computer and network hardware and software. Its goal is to prepare the student for further coursework in such areas as hardware architecture, operating systems internals, application programming, databases and networking." Topics covered include: computer arithmetic and data representation, logic and set theory, graph theory and computer measurement. Also available as a zipped archive.

/misc | Oct 18, 2009

Giving domain users administrative rights on local machine #

On the local machine: Control Panel > Administrative Tools > Computer Management (be sure to run as an existing admin) > Local Users and Groups > Groups > Administrators > Add > Advanced > Find Now > double click the Active Directory user(s) you wish to grant local admin rights to, or simply add the "Domain Users" group so that any AD users who login at that machine will have local admin privileges. Click OK three times.

Or skip all the clicking and simply issue the following command:

net localgroup administrators "domain_name\Domain Users" /add

This could be added to a startup script or performed from a remote machine with Sysinternals' PsExec:

psexec.exe \\server -u administrator -p password net localgroup administrators "domain_name\Domain Users" /add

Sources:

/windows | Oct 17, 2009

Remote Desktop crashes host when connecting from client #

A brand new Dell Precision T3500 running Windows XP SP3 was crashing hard every time a client connected via Remote Desktop. Sometimes the host monitor would freeze with funky graphic patterns, so the display adapter (NVIDIA Quadro NVS 295) was suspected.

The fix turned out to be adding a new DWORD named SessionImageSize with a value of 20 to [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management] on the host machine.

Apparently this issue can also manifest as being unable to connect to Remote Desktop at all, with the following error message: "This computer can't connect to the remote computer. Try connecting again. If the problem continues, contact the owner of the remote computer or your network administrator."

Sources:

/windows | Oct 17, 2009

Unixy goodness: command compendiums, dd, acronym origins, and a shell stopwatch #

/nix | Oct 11, 2009

dd block size #

Yesterday's post got me researching block sizes in dd. The clearest explanation was in Brian Carrier's File System Forensic Analysis on page 61:
"The default block size is 512 bytes, but we can specify anything we want using the bs= flag. We can copy 1 byte at a time, or we can copy 1GB at a time. Any value will work, but some values will give you better performance than others. Most disks read a minimum of 512 bytes at a time and can easily read more at the same time. Using a value that is too small is wasteful because the disk will need to be frequently read, and time will be wasted in the copying process. If you choose a value that is too large, you will waste time filling up the buffer in dd before the copy is performed. I have found that values in the 2KB to 8KB range work well."

/nix | Oct 11, 2009

Concatenate (cat) TIFF files in OS X #

GraphicCoverter X 6.5 can be used to combine multiple TIF files into a single, multipage document:
  1. File > Convert & Modify
  2. Function: = Convert
  3. In the left pane, browse to and select desired TIFs
  4. In the right pane, browse to desired save location
  5. Dest. Format = TIFF
  6. Options... > Multi Page File
  7. Click "Go"
See also: Batch convert TIFF files into a single PDF via iPhoto

/mac | Oct 11, 2009

Securely wiping floppy disks under OS X in Terminal #

Faced with several dozen floppy disks that needed wiping, Disk Utility.app was looking a bit cumbersome: Disk Utility > click floppy drive > Erase > Security Options... > Zero Out Data > OK > Erase... > Erase

I decided to give sudo dd if=/dev/zero of=/dev/fd0 a go:
dd: /dev/fd0: Operation not supported.

Ah! Perhaps OS X does not use fd0:
$ ls /dev/fd0
ls: /dev/fd0: No such file or directory
.

In that case, let's have a look at what we've got:

$ diskutil list
/dev/disk0
  #:                       TYPE NAME                    SIZE       IDENTIFIER
  0:      GUID_partition_scheme                        *111.8 Gi   disk0
  1:                        EFI                         200.0 Mi   disk0s1
  2:                  Apple_HFS MacBook HD              111.5 Gi   disk0s2
/dev/disk1
  #:                       TYPE NAME                    SIZE       IDENTIFIER
  0:                            TEST                   *1.4 Mi     disk1

OK, how about:

$ sudo dd if=/dev/zero of=/dev/disk1
dd: /dev/disk1: Resource busy
What if we unmount the floppy from the Finder and then try the same command?
$ sudo dd if=/dev/zero of=/dev/disk1
dd: /dev/disk1: Operation not supported

A quick search turned up the answer - unmount from within diskutil, not the Finder:

$ diskutil unmount /dev/disk1
Volume TEST on disk1 unmounted
$ sudo dd if=/dev/zero of=/dev/disk1
dd: /dev/disk1: end of device
2881+0 records in
2880+0 records out
1474560 bytes transferred in 110.617912 secs (13330 bytes/sec)

That worked beautifully, if slowly: it took almost two minutes to wipe a single floppy disk (fiddling with the block size seemed to help, but I was not inclined to spend much time investigating further see update below). Macworld and the diskutil manpage turned up a much faster method that had the additional benefit of not requiring root privileges:

$ diskutil secureErase 0 /dev/disk1
Started erase on disk1 TEST
Finished erase on disk1 TEST

This single-pass zero-fill erase took less than 30 seconds to complete. Wiping the floppies was now a breeze:

$ diskutil unmount /dev/disk1 && diskutil secureErase 0 /dev/disk1

UPDATE 1: Rather than using /dev/disk1 (which is the block device, AKA buffered device or cooked device) I should've been using /dev/rdisk1 (the raw device). This made the dd process slightly faster than even diskutil when using block sizes of 1440k and 360k. Connected raw devices can be listed by issuing the ls /dev/rdisk? command. See Block device versus raw device performance for more information.

UPDATE 2: diskutil zerodisk disk# (replacing "#" with the disk's number) will automatically unmount the floppy then zero it out.

For those who doubt the efficacy of zeroing a disk, see:

/mac | Oct 10, 2009

Scanning in OS X with the Canon imageClass MF4150 #

Canon offers OS X printer and fax drivers for the imageClass MF4150, but no scanner driver. Thankfully, Mattias Ellert has graciously put together the TWAIN SANE Interface for MacOS X, which allows scanning via Image Capture and other TWAIN-compatible applications. Sources and binaries available for Tiger, Leopard, and Snow Leopard.

/mac | Oct 07, 2009

Manipulate windows from the keyboard #

🌱 MMinimizer [22k] {S}+ Provides keyboard shortcuts to move, size, hide and restore windows.  📺

/windows | Oct 05, 2009

Insanely awesome PCI scan service #

If your bank, merchant account provider, etc. requires a vulnerability scan for PCI compliance, check out nCircle's Certified PCI Scan Service. They offer quick yet complete scanning, detailed/executive reports, one free scan for new users, very reasonable rates, and some of the best customer support of any Internet-based company: Joshua Backing from their customer service department called me within a few minutes of my having emailed a somewhat urgent question. As always with recommendations, I have no affiliation with nCircle other than as a satisfied customer.

/misc | Oct 04, 2009

Make a custom, bootable recovery partition or DVD #

/windows | Sep 28, 2009

Manipulate windows from the command line #

🌱 CMDOW Commandline Window Utility v1.4.3 [15k] + Allows windows to be listed, moved, resized, renamed, hidden/unhidden, disabled/enabled, minimized, maximized, restored, activated/inactivated, closed, killed and more from the command line.  📺 (via Mike Mills)

/windows | Sep 28, 2009

Google Chrome: Checkboxes and radio buttons missing #

There are a number of workarounds (but apparently no fix as yet) for Google Chrome's annying habit of not displaying checkboxes and radio buttons. My two favorites:

/windows | Sep 26, 2009

Cannot access GMail via POP or IMAP #

If you can access GMail via webmail but not POP or IMAP (despite having enabled them in Settings > Forwarding and POP/IMAP), try this virtually undocumented "unlocking" page: https://www.google.com/accounts/DisplayUnlockCaptcha .

/misc | Sep 26, 2009

A better Cardfile for OS X #

Notational Velocity 2.0β [712k] {S} Like a cleaner, faster Cardfile for OS X with encryption, instant search, and a choice of database formats (proprietary, plain text, rich text, and HTML).  📺

/mac | Sep 23, 2009

Wipe MBR / Track 0 #

When particularly nasty malware infections call for formatting a drive, I always like to start by wiping track 0. This will delete not only the MBR and any boot sector viruses, but anything else in the first 63 sectors of the hard disk, including boot overlays (like EZ-BIOS), boot managers (like BootIt NG), harebrained DRM schemes (like some versions of TurboTax), etc, so caution is advised. This process won't help solve persistent BIOS infections like this one: New BIOS Virus Withstands HDD Wipes. The commands below WILL permanently delete data - use at your own risk (and joy).

To wipe just the MBR:
dd if=/dev/zero of=/dev/foo bs=512 count=1

To wipe all of track zero:
dd if=/dev/zero of=/dev/foo bs=512 count=63

"Zero out" the entire drive:
dd if=/dev/zero of=/dev/foo

You'll need to replace foo with the appropriate device (hda, sda, etc). List partitions and disks via one of these methods:

/nix | Sep 22, 2009

SFK #

Vincent Stahl kindly wrote in to share his open source Swiss File Knife File Tree Processor:
"This tool is a collection of tiny applications itself: grep, tree size list, instant ftp server, text line filter, text replace, duplicate file finder, split/join files, create md5 lists, run command on many files, extract strings, and more- all in one executable still matching your size limit (below 1.4 MB). It has no installer, no dependencies, needs no DLL's - nothing, just type 'sfk' to get the overview of all available subcommands."
Besides Windows, binaries are available for Ubuntu, DSL, and OS X. Here are just a few of the many possible uses:

sfk list -late -hiddenList latest (i.e., most recent) 50 files in current directory and subdirectories, including system and hidden files
sfk stat . -bytesDisplay current directory tree size statistics in bytes
sfk find -text . epictetusSearch text files in current directory and subdirectories for "epictetus" (case insensitive)
sfk ftpserv -port=21 -rwSimple FTP server, providing read/write access to current directory
sfk ftp example.com:21 get fooConnect via FTP to port 21 of example.com and get foo
sfk httpserv -port=80Instant HTTP server, providing access to current directory
sfk deblank . -yesReplace blanks in filenames within current directory and subdirectories with underscore (run without "-yes" to simulate)
sfk md5 foo.txtGenerate MD5 hash of foo.txt
sfk dupfind .Find duplicate files in current directory and subdirectories

/misc | Sep 20, 2009

Compress, encrypt, and copy data to offsite server #

Under Windows, I was using AxCrypt and WinSCP from the context menu to compress, encrypt, and send data to an offsite server. Under OS X, I am now using a simple bash command list to achieve the same thing faster and with greater compression:

$ /Applications/file/BetterZip.app/Contents/Resources/7z a -mx9 -pSECRET -mhe ~/Desktop/file.7z ~/Documents/file.ext && scp -P 2012 ~/Desktop/file.7z user@example.com:/home/ && rm ~/Desktop/file.7z

Let's break down what's happening here:
  1. /Applications/file/BetterZip.app/Contents/Resources/7z Call the 7-Zip file archiver contained in BetterZip (which I happened to have from a MacUpdate Promo Bundle). There are several other Mac binaries available or you can download and compile from source.
  2. a Add file(s) to archive
  3. -mx9 Maximum ("Ultra") compression
  4. -pSECRET Set password to SECRET
  5. -mhe Encrypt archive headers (i.e., filenames will be encrypted also)
  6. ~/Desktop/file.7z Name of archive to create or add files to
  7. ~/Documents/file.ext File to compress and encrypt
  1. && Execute next command only if previous command returns an exit status of zero (i.e., wait for command to complete successfully before proceeding)
The next section assumes public-key authentication has been configured (see part 2 of Hardening SSH and Mounting Remote Filesystem in OS X Finder via SSHFS for more information):
  1. scp Secure copy command
  2. -P 2012 Connect via port 2012
  3. ~/Desktop/file.7z Local file to copy
  4. user@example.com:/home/ Remote username and domain followed by directory where file will be copied to
These next two steps are optional:
  1. && Execute next command only if previous command returns an exit status of zero (i.e., wait for command to complete successfully before proceeding)
  1. rm ~/Desktop/file.7z Delete 7z archive from local computer
Notes:

/mac | Sep 19, 2009

Unpack / extract Dell driver EXE files under OS X #

The Windows XP SP3 install CD lacks many SATA drivers, resulting in a BSOD shortly after booting the disc on unsupported hardware. One solution is to copy the required SATA driver to a floppy and press F6 during boot to load. Dell drivers come packed in EXE files - OS X users can extract them via: unzip:
$ unzip -L ~/temp/R173412.exe 
Archive:  /Users/user/temp/R165147.EXE
  inflating: iastor.sys              
  inflating: txtsetup.oem            
  inflating: iaahci.cat              
  inflating: iaahci.inf              
  inflating: iastor.cat              
  inflating: iastor.inf              
  inflating: version.txt             
GUI lovers note: OS X's "Archive Utility.app" was unable to extract the files, but FileJuicer ($18 shareware with 6 day trial) matched unzip's performance. (Postscript: SATA config had to be changed from AHCI to ATA in Optiplex 330 BIOS to prevent BSOD when loading driver from floppy.)

/mac | Sep 13, 2009

Print photos with date taken or other EXIF data #

How to print or save photo contact sheets with date taken or other EXIF data:
  1. Launch FastStone Image Viewer
  2. Open photo directory
  3. Create > Contact Sheet Builder > Caption > click "..." at top right > EXIF DateTime ($Hx) > Date and Time ($H1)
  4. Save the output to a file (PDF, TIF, PNG, GIF, BMP, and JPG supported) or send directly to printer.

UPDATE: On a related note, file date and time stamps can be set to those found in the EXIF data via jhead -ft *.jpg .

/windows | Sep 11, 2009

Rename photos based on thumbnail order #

How to arrange a group of thumbnails and rename them sequentially based on their position:
  1. Navigate to folder containing photos in Windows Explorer
  2. View > Thumbnails
  3. Click and drag thumbnails into desired order. It may be advisable to enable View > Arrange Icons by > Align to Grid.
  4. Edit > Select All
  5. Right click on first photo and rename to desired_name (1). That is, the desired file name, followed by a space, followed by an open parentheses, followed by the number one, followed by a close parentheses.
  6. All photos will be renamed to desired_name (#), where # corresponds to the photo's position in the thumbnail layout.
At this point, our filenames look something like: name (1), name (2), name (3)... (if Windows Explorer does not list files in proper numerical order (e.g., "10" follows "1" instead of "9"), you can correct this with TweakUI: Explorer > check "Use intuitive filename sorting"). To get rid of the parentheses and renumber the files with leading zeroes:
  1. Launch ReNamer
  2. Settings > General > check "Use natural order sorting algorithm..." > Save (you may need to restart the program for this to take effect)
  3. Add Folder
  4. Add rule > Serialize > check "Incremental" > check "Pad with zeroes to reach length" > insert 3 for the number of zeroes > click "Add Rule"
  5. Add rule > CleanUp > check "(...)" to the right of "Strip out content of brackets:" > click "Add Rule"
  6. Review results before committing changes. The new filenames should look something like: 001name, 002name, 003name ...
Two other possible (though untested) methods using commercial software: with IMatch and Photoshop Elements.

/windows | Sep 10, 2009

IchiGeki's ZeroRemote #

🌱 ZeroRemote v1.2.5 [152k] + Remote viewer with DirectX support, file transfer, audio, and more. Single EXE supports both client and server modes.  📺

/windows | Sep 08, 2009

It's up to you #

You can live as if nothing is a miracle; you can live as if everything is a miracle.

— Widely attributed to Albert Einstein, though the quote appears apocryphal.

/misc | Sep 03, 2009

Migrating from WordPress to Blosxom #

Yes, you read that correctly. In this degenerate age, when even Rael Dornfest powers his blog with WordPress, there are still those who appreciate Blosxom's simplicity and security. For those who were lost but now have been found, Antonio Zamora explains how to migrate from WordPress to Blosxom.

/blosxom | Aug 31, 2009

Gandhi meets the A-Team #

I briefly thought of going to watch The Cove yesterday, and had just about given up on the idea when Mali's review moved me to check it out. I now agree wholeheartedly with her assessment: "Everyone, EVERYONE needs to see The Cove." UPDATE: All of the media attention around The Cove has had a huge impact!

/misc | Aug 30, 2009

RAID not supported by EASEUS Partition Master Server Edition Boot CD #

There are a number of Partition Magic clones which offer bootable CDs. I needed one that would support a SCSI RAID 1 array, and thought I had found the solution in EASEUS Partition Master Server Edition: "EASEUS Partition Master allows you to resize partition during the copy process with hardware RAID supported. And it can boot from both CD/DVD and Windows System."1.

UPDATE: EASUS has kindly updated their webpage to reflect the fact that RAID is not supported by the boot CD. I am very impressed with their quick response, and after using the installed version, am equally impressed with their product.

After purchasing the software (the boot disc cannot be created from the trial download), I burned and booted from the CD. Imagine my surprise when greeted by this message:

EASEUS Partition Master Server Edition Boot CD message

Not only does it not support RAID, it doesn't support Vista, Windows 2008, or creating/deleting partitions which occur before virtually any Windows partition. This was not mentioned in their documentation anywhere (though I later found a single forum post which mentioned the lack of RAID support). I emailed back and forth with their tech department who were very kind, but could not offer a solution. I once again set out to find a bootable partition manager that would support RAID. Here are a few possibilities: If you have any suggestions for a bootable partition manager that supports RAID, please be so kind as to send them in.

/windows | Aug 24, 2009

"There is only one success ... #

to be able to spend your life in your own way, and not to give others absurd maddening claims upon it."
-- Christopher Morley in Where the Blue Begins

/misc | Aug 20, 2009

The firmware on this system is not configured to allow the Cardbus controller to be run in Cardbus mode. #

This process resulted in happiness on a Compaq Presario 700 (701CL) laptop:
  1. Install Windows XP Home with Service Pack 2 OEM
  2. Successfully install Linksys WPC54G ver. 3.1 CardBus wireless adapter
  3. Update Windows XP SP2 to SP3
  4. Wireless continues to work
This process resulted in abject misery:
  1. Install Windows XP Home with Service Pack 2 OEM
  2. Update Windows XP SP2 to SP3
  3. Insert Linksys WPC54G ver. 3.1 CardBus wireless adapter
  4. Receive following message: The device "Texas Instruments PCI-1410 Cardbus Controller" has detected a Cardbus card in its slot, but the firmware on this system is not configured to allow the Cardbus controller to be run in Cardbus mode. The operating system will currently accept only...
  5. Spend hours tracking down antiquated answers, hacking away at the registry, uninstalling SP3, etc before formatting hard drive and using the first process.

/windows | Aug 17, 2009

Formatting partitions over 32GB as FAT32 in Windows XP #

Searching for a quick way to format a partition over 32GB as FAT32 in Windows XP, I tried this solution recommended in a number of places:
C:\>format drive_letter /fs:fat32
Here's what I got:
The type of the file system is RAW.
The new file system is FAT32.

WARNING, ALL DATA ON NON-REMOVABLE DISK
DRIVE D: WILL BE LOST!
Proceed with Format (Y/N)? y
Verifying 40960M
Eons pass, stars are born and burn out, entire universes spring into existence, spiral outward, and return to the formless void... and then, finally:
The volume is too big for FAT32.
Older and wiser, I decided to give the tiny, open source fat32format a go:
C:\>fat32format d:
Warning ALL data on drive 'd' will be lost irretrievably, are you sure (y/n) :y
Approximately one second later, the format was complete. Incredulous, I chkdsk'd the drive - it was formatted perfectly. fat32format's documentation seems to bear this out ("It should take about 4 seconds per Terabyte to format the disk." - wow!). May this lesson save humanity from many wasted hours.

/windows | Aug 17, 2009

Windows Firewall settings grayed out #

If malware has turned off Windows Firewall and disabled making changes to same, deleting the EnableFirewall values indicated below may restore access:
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\DomainProfile]
"EnableFirewall"=dword:00000000
[HKEY_LOCAL_MACHINE\SOFTWARE\Policies\Microsoft\WindowsFirewall\StandardProfile]
"EnableFirewall"=dword:00000000

/windows | Aug 16, 2009

Best lightweight antivirus #

DefenseWall is actually a HIPS (Host Intrusion Prevention System), not antivirus. In my testing, it is much more effective at preventing malware infections than definition-based antivirus applications. Remove-Malware.com also offers a strong recommendation (albeit with annoying affiliate downloads instead of a link to the homepage). The developer of DefenseWall, Ilya Rabinovich, responded to inquiries rapidly, and generously offered a discount for a family in need. The app particularly shines on older hardware which traditional antivirus products (and even the "light" Panda Cloud Antivirus) slow to a crawl. After hours perfecting the ideal install for a worthy cause, it's nice to know that DefenseWall (along with user education) will keep it safe and clean.

Postscript: Two similar freeware applications, DriveSentry 3.3 and GeSWall 2.9 did not work out; the former due to its bloated size (over 50MB download compared to around 3MB for DefenseWall) and the latter since it does not work on FAT32-formatted drives.

/windows | Aug 16, 2009

Malware causes "Access is denied" error #

A malware infection disabled explorer.exe and all antimalware apps as soon as they were launched (in both Normal and Safe modes) by changing permissions on the EXEs. After clearing the infection with DaRT/Standalone System Cleaner, permissions had to be fixed on the apps. As Windows XP Home does not include the Security tab in Normal Mode by default (Claus breaks down a number of workarounds), the CACLS command came in handy. Files which would not launch had been modified as in this example:
C:\Program Files\Prevx>cacls prevx.exe
C:\Program Files\Prevx\prevx.exe Everyone:(NP)(special access:)
 DELETE
 READ_CONTROL
 WRITE_DAC
 WRITE_OWNER
 STANDARD_RIGHTS_REQUIRED
 FILE_READ_DATA
 FILE_WRITE_DATA
 FILE_APPEND_DATA
 FILE_READ_EA
 FILE_WRITE_EA
 FILE_EXECUTE
 FILE_DELETE_CHILD
 FILE_READ_ATTRIBUTES
 FILE_WRITE_ATTRIBUTES
These permissions are easily replaced:
C:\Program Files\Prevx>cacls prevx.exe /g administrator:f
Are you sure (Y/N)?y 
processed file: C:\Program Files\Prevx\prevx.exe
Now Administrator has full access:
C:\Program Files\Prevx>cacls prevx.exe
C:\Program Files\Prevx\prevx.exe ComputerName\Administrator:F
and the program runs normally. Compare and match permissions from a clean system for best results.

Updates:

/windows | Aug 16, 2009

Ubuntu 9.04 and Dell Inspiron B130 wireless #

To enable the Inspiron B130's wireless adapter, make sure it is turned on in the BIOS, and then head to System > Administration > Hardware Drivers > Broadcom B43 wireless driver > Activate.

/nix | Aug 16, 2009

Remove Documents, Help and Support, and Log Off from Windows XP Classic Start Menu #

Navigate to HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Policies\Explorer and create DWORD entries named NoRecentDocsMenu and StartMenuLogoff. Set their values to 1. Next, navigate to HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Advanced and create a DWORD entry named NoStartMenuHelp with a value of 1. You may have to log off or restart for the new settings to be applied.

/windows | Aug 16, 2009

Computer hardware chart #

Sonic840 has put together a massive, 24MB poster of computer hardware. It includes RAM modules, power connectors, CPU sockets, and the like. Available for free download (under a CC license) or purchase as a print.

/misc | Aug 10, 2009

Windows 7 includes a system recovery disc creator #

Microsoft has provided a Windows Recovery Environment (WinRE) boot disc creator in Windows 7. The tool made a brief appearance in Vista SP1 beta, though it was pulled from the final release (workaround).

To create the recovery disc, go to: Control Panel > Backup and Restore > Create a system recovery disc, or launch directly from %windir%\system32\recdisk.exe. (The Windows 7 installation disc also includes the system recovery tools. Just boot from the disc and choose "Repair your computer" to access them.)

Tools include: automatic startup repair, System Restore, complete PC restore from backup image, memory diagnostic tool, and command prompt, as seen below:


Tags: Diagnostics and Recovery Toolset (DaRT), Winternals Administrator's Pak, ERD Commander

/windows | Aug 01, 2009

Cross-platform money manager #

mini$ 3.2 is an open source, Java-based miniature money manager for Windows, OS X, and Linux that features: checkbook style transactions, purchase itemization, reporting tools, more. (via Bjorn Larsen)

/misc | Jul 12, 2009

OS X software sites #

Most Mac users are familiar with VersionTracker and MacUpdate, but these three lesser-known sites are well worth a visit:

/mac | Jul 11, 2009

Abandonware #

Vetusware.com has an extensive collection of abandonware, including: operating systems (MS-DOS 6.22, Macintosh System 7, etc), compilers (WinDASM 8.9, TASM 5.0, Borland C++ Builder 5.5, etc), office apps (WordPerfect 5.1, Word 6.0, etc), databases (dBase 5.0, Paradox 5.0, FoxPro 2.6, etc), and much more.

UPDATE 1: Brian in Forth Worth wrote in to share his experience and opinion:
What is UP with the website vestusware.com? After going to the site and registering (several times) there was never a password supplied, either real-time, or by email. Even using the "lost, or forgotten" password reset function (P/W was to be sent to email address) did not result in a password being given. I am beginning to suspect a *re-direction* to a malicious site....?
UPDATE 2: John in Whittlesea, Victoria, Australia (whew!) kindly wrote in to share his experience, which differed markedly from Brian's:
I had no problem at all with Vetusware - I signed up, received my password by email, logged in, and was able to download a program (it wasn't what I hoped for - but that's not Vetusware's fault). I'd suggest that Brian in Fort worth has a problem with his email.

/misc | Jul 10, 2009

Printing multiple years with Unix cal command #

The cal (calendar) command apparently does not include an argument for displaying multiple years. Happily, bash supports numeric ranges / step values / brace expansions as of version 3, so one possible solution is:
$ for y in {2000..2009}; do cal $y; done

/nix | Jul 09, 2009

Just say no to HTML email and proprietary attachments #

The ASCII Ribbon Campaign "opposes any and all HTML e-mail, and e-mail with proprietary attachments" for a number of reasons, including: poor/non-existent rendering support in many email clients, the sheer overhead and waste of bandwidth, difficulties for the blind and others who cannot use a GUI, and security risks inherent in HTML email. Two related posts from 2004: Circumventing didtheyridit | HTML email considered harmful.

/misc | Jul 02, 2009

Howto: set up your new unmanaged VPS #

If you've got a shiny new slice over at Slicehost and are wondering what to do next, Guvnr.com has a 20 part series entitled Set Up Unmanaged VPS (4 Newbies) .. The V-P-S Bible. The Guv has clearly put a lot of time and energy into creating this handy guide, and even includes videos of most steps. A few parts could perhaps be condensed or removed altogether (like Part 16: Nginx Control Panel - there is no Control Panel, as the guide explains, though perhaps the information is still useful for nginx newbies Googling for one), but it is far and away the best introduction to setting up your site on an unmanaged VPS.

/nix | Jun 30, 2009

FastCopy and Ycopy #

I've been meaning to list Ycopy for years, and Mike Mills has kindly reminded me several times about the super-fast and open source FastCopy: Only FastCopy.exe and Ycopy.exe are required; the file sizes above refer to their zipped size.

/windows | Jun 30, 2009

Live CD-based antimalware #

A mixed bag at best:

See also SOS - Anti-virus Rescue Disks to the rescue and Bootable rescue CDs can fix your damaged Windows. Note that these reviews are from last year; the products seem to have changed rather markedly since then.

Microsoft's Diagnostics and Recovery Toolset, also known as DaRT (and which is built on Winternals Administrator's Pak / ERD Commander 2005), is a bootable CD which includes "Standalone System Sweeper". Definition updates can be found here or downloaded from within the program. It has been the most effective bootable antimalware tool I've found. Microsoft TechNet subscribers can download DaRT as part of the Microsoft Desktop Optimization Pack (MDOP).

UPDATE 1: Standalone System Sweeper's definition updates (whether from the network or local storage) no longer seem to work on Windows XP systems. The AVG Rescue CD has worked well for me, though it failed to uncover an MBR infection which was causing a BSOD (0xBA4C7524,0xC000034,0x00000000,0x00000000). Running fixmbr from the Recovery Console did the trick. Also had to manually remove evil DNS servers (93.188.164.33 and 93.188.160.103) from network adapters.

UPDATE 2: Standalone System Sweeper now available free to all on a pre-built WinPE image!

/windows | Jun 24, 2009

It's better to green your diet than your car #

"Thinking of helping the planet by buying an eco-friendly car? You could do more by going vegan, say Gidon Eshel and Pamela Martin of the University of Chicago... The typical US diet, about 28 per cent of which comes from animal sources, generates the equivalent of nearly 1.5 tonnes more carbon dioxide per person per year than a vegan diet with the same number of calories, say the researchers... By comparison, the difference in annual emissions between driving a typical saloon car and a hybrid car, which runs off a rechargeable battery and gasoline, is just over 1 tonne. If you don't want to go vegan, choosing less-processed animal products and poultry instead of red meat can help reduce the greenhouse load."

Excerpted from a 2005 NewScientist article. Thanks to Mike Mills for sending it in.

/misc | Jun 20, 2009

Brother MFC-6490CW default password #

If you have a networked Brother MFC-6490CW and are trying to access the Remote Setup program, the password is "access" (without the quotes). This did not appear in the printed or electronic documentation anywhere, and it took Brother tech support about 30 minutes to unearth. A quick Google search had not turned up anything, but now that the password is known, this Google search returns the correct answer.

/misc | Jun 19, 2009

Editing ISO images #

Converting a retail Windows XP ISO image to an OEM version was made even simpler thanks to ISO Master (free for Linux, $20 for Windows). These steps were performed in Ubuntu 9.04:
  1. Download and install ISO Master via Synaptic Package Manager (search for "isomaster" without the quotes.)
  2. Launch ISO Master from Sound & Video in the Main Menu.
  3. Tools > Options > replace "mousepad" with "gedit" (again, without quotes)
  4. File > Open > select desired ISO image (in this example, we'll use the Windows XP ISO mentioned above)
  5. Let's edit SETUPP.INI: In the bottom pane, double click the I386 folder, right click SETUPP.INI, and click Edit
  6. gedit will open SETUPP.INI. Make desired changes.
  7. In gedit, click File > Save > and then close gedit
  8. In ISO Master, click File > Save As > type a new filename (it will not allow you to overwrite the original ISO image) and click Save.

UPDATE: Had trouble adding a file to an existing ISO image with ISO Master, but UltraISO did the trick.

/nix | Jun 19, 2009

Convert retail Windows XP to OEM #

Unlocking WinXP's setupp.ini explains how to force Windows XP to accept retail, OEM, or volume license keys during installation (as well as how to change the CD's behavior). This is especially useful for installing Windows XP on a computer with an OEM license when you've only got a retail CD handy. Working from a retail ISO image, simply open I386\SETUPP.INI in a text editor and replace the last 3 digits of the Pid with "OEM" (sans quotes). Tested successfully with HP, Gateway, and Toshiba OEM product keys. See also: Editing ISO images and Product IDs (cached copy).

UPDATE: The My Digital Life Editorial Team has put together a guide with additional details, including:

See also Lunarsoft's Product IDs page for yet more information.

/windows | Jun 19, 2009

We may be the sons of whomsoever we will #

Seneca reminds us of our true endowment:
We are wont to say that it was not in our power to choose the parents who fell to our lot, that they have been given to men by chance; yet we may be the sons of whomsoever we will. Households there are of noblest intellects; choose the one into which you wish to be adopted; you will inherit not merely their name, but even their property, which there will be no need to guard in a mean or niggardly spirit; the more persons you share it with, the greater it will become. These will open to you the path to immortality, and will raise you to a height from which no one is cast down. This is the only way of prolonging mortality -nay, of turning it into immortality. Honours, monuments, all that ambition has commanded by decrees or reared in works of stone, quickly sink to ruin; there is nothing that the lapse of time does not tear down and remove. But the works which philosophy has consecrated cannot be harmed; no age will destroy them, no age reduce them; the following and each succeeding age will but increase the reverence for them, since envy works upon what is close at hand, and things that are far off we are more free to admire. The life of the philosopher, therefore, has wide range, and he is not confined by the same bounds that shut others in. He alone is freed from the limitations of the human race; all ages serve him as if a god. Has some time passed by? This he embraces by recollection. Is time present? This he uses. Is it still to come? This he anticipates. He makes his life long by combining all times into one.

/misc | May 12, 2009

Dell Inspiron 600m - Disable flashing orange LED (dead battery indicator) #

The Dell Inspiron 600m has a row of display lights just under the LCD panel. From left to right they are: power, hard drive activity, battery, and Bluetooth. When the battery no longer holds a charge, its LED blinks orange four times and then green once. Removing the battery altogether stops the blinking, but then the laptop wobbles as one of its four feet is on the battery. I was able to "disable" the orange flashing by removing the center control cover and covering the tiny LED on the motherboard with electrical tape. Of course, if your battery light is flashing, you should contact Dell immediately since it might explode anytime.

/windows | May 12, 2009

Copy corrupt files #

BadReader [160k] + Copies corrupt files (from CDs, for example) by skipping bad blocks.  📺
(via Mike Mills)

/windows | May 06, 2009

OS X: Move data from an old user account to a new one on the same computer #

Migrating data from an old user account to a new one under OS X (without first copying it to another device) can be a little tricky due to permissions issues. This procedure worked well for us, but it might not for you; proceed at your own risk (and joy):

  1. BACKUP all critical data to an external drive and then disconnect that drive. Do not reconnect until you are SURE that everything has worked out.
  2. Create the new user account and log in at least once. Do not create any new data under this account, as it would simply be overwritten in the ensuing steps.
  3. Enable the root account
  4. Login as the root user and drag desired directories (iTunes, iPhoto Library, Keychains, etc) from the old user account to the new one. We are moving, not copying, the data.
  5. Login as the new user and open a Finder window.
  6. Right click on the new user's Home directory and select Get Info.
  7. Under Sharing & Permissions, click "Apply to enclosed items" (Leopard users will need to click the gear icon first to reveal it).
  8. That's it! If you run into any troublesome directories, try BatChmod for adjusting permissions (BTW, BatChmod can also remove ACLs added to a folder or file under Leopard). You may want to delete the old user account (System Preferences > Accounts) when you're sure everything is good. Finally, don't forget to disable the root account.

/mac | May 06, 2009

Missing Sync for Palm OS won't launch #

After installing Missing Sync for Palm OS 6.0.4 on Tiger 10.4.11, the application refused to launch. Its icon would simply bounce in the Dock for 20 seconds or so before crashing completely. The Console revealed this error:
Missing Sync for Palm OS[335] An uncaught exception was raised
Missing Sync for Palm OS[335] *** -[NSPlaceholderString initWithString:]: nil argument
fseventer did not turn up any clues as to where it might be hanging, so we made a new OS X user account; sure enough, Missing Sync worked fine there. We moved the old user data to the new user account, and everything worked beautifully. For a while.

After another hour or two worth of installs, data migration, etc, the same error returned. It took a nontrivial amount of time to finally isolate the culprit: the new user's Movies folder had been moved to an external hard drive and that drive was unmounted. When Missing Sync launched, it would crash if it could not find the Movies folder (even though syncing movies had been disabled earlier).

One final problem was with the Mark/Space Notebook: the categories imported just fine, but none of the memos. These instructions did the trick: Overwrite your desktop data with the handheld device. The process makes iSync (which normally doesn't offer an option for the handheld to overwrite the desktop) see all of the memos on the Palm as newer than those in Mark/Space Notebook, which it overwrites.

/palm | May 05, 2009

Running L2TP VPN Server under OS X Client #

Newly added to the Docs section: Enable VPN server in OS X for remote access via iPhone, Windows, and OS X clients

/mac | May 03, 2009

Taking timed screenshots in OS X #

Looking for a simple way to take screenshots at a set interval, I happened upon this solution which relies on cron. Unfortunately, cron cannot schedule jobs in increments of less than one minute, and I wanted to take screenshots every 3 seconds. Adding delay and repeat to the same script did the trick (note that the save directory has also been changed to the current user's Pictures folder):

repeat
	set DATE_TIME to do shell script "date +%Y_%m_%d_%H%M%S"
	set fname to DATE_TIME & ".png"
	do shell script "/usr/sbin/screencapture -x ~/Pictures/" & fname
	delay 3
end repeat

UPDATE: Just found an open source REALbasic app called Timed Screenshot (2.5MB) that apparently does essentially the same thing. Haven't tried it yet since the AppleScript solution worked beautifully.

/mac | May 01, 2009

Forget eBooks, Kindle offers free web access #

The Kindle is a swell eBook reader, but where it really shines is in offering free web access anywhere in the U.S. via Sprint's EVDO network. Most reviewers fail to appreciate just how cool this is, instead lamenting over the lack of support for streaming media, etc: Mike Elgan is one of the few who gets it (Don't tell Amazon, but its e-book reader does e-mail, RSS feeds and calendaring), though the true potential is revealed by xkcd:

Kindle=HGTTG
(Mad props to Josh Sommers for sending this in)

So what can you do with free, anytime/anywhere text-based browsing? If Amazon ever decides to cancel or charge for web access, just tether the Kindle to your computer and you're back online (albeit without the same convenience).

Random notes:

/eink | Apr 30, 2009

Image optimizer for OS X #

ImageOptim 1.0.9 [1268k] {S} Convenient, open source GUI for the following PNG / JPG optimizers: AdvPNG, OptiPNG, PngCrush, JpegOptim, jpegtran, and optionally PNGOUT. All are included in the binary except PNGOUT, which requires a separate download due to licensing restrictions.  📺

/mac | Apr 27, 2009

Decoding rotated strings #

🌱 XORSearch 1.4.0 [40k] {S}+ Search for a given string in an XOR, ROL or ROT encoded binary file.  📺
🌱 FTard Decoder Ring 2.0.1.5 [154k] + Decode rotated ASCII for analysis. Supports ROTX, ROT13, ROT47, XOR, Caesar, Binary, Hex, Octal, Morse, more.  📺

/windows | Apr 22, 2009

Split dual EXEs #

DualEXE Manipulator (Dexem) is a command-line utility written by Eugeny Suslikov (author of Hiew) for splitting or joining dual-executable files, i.e., binaries containing both DOS and Windows programs.

(Keywords: split DOS stub dual exe MZ PE Win32 both DOS and Windows)

/windows | Apr 20, 2009

Sunday Links #

/misc | Apr 19, 2009

A rich reverse engineering resource #

Didier Stevens (who kindly updated his XORSearch to support ROT encoding today), has a host of great resources for reverse engineers, including apps, videos, mentoring wiki, and detailed blog posts like:

/misc | Apr 19, 2009

Random harvest #

/misc | Apr 17, 2009

Newly-listed Palm app: AsciiChart #

AsciiChart 2.0.4 [17k] ASCII chart which displays decimal, octal and hexadecimal values for characters as well as their height and width.  📺

/palm | Apr 12, 2009

Extract InstallShield CAB files with unshield #

IZArc2Go unpacked a certain EXE nicely, but could do nothing with the InstallShield cabinet file inside. Universal Extractor was similarly stymied. Thankfully, the SynCE project had coded unshield for just this purpose, and it worked like a charm:

$ unshield -d destination_dir x data1.cab

DarwinPorts has a walkthrough for OS X users.

/windows | Apr 12, 2009

Learn C programming at Harvard for free #

David Malan has generously posted his entire fall 2007 Computer Science 50: Introduction to Computer Science I class online. This includes all video, audio, notes, slides, and source code. One wonders how O'Reilly School of Technology's Learn C Programming and others will fare given this free yet first-class offering. Here's the CS50 blurb:
Computer Science 50: Introduction to Computer Science I is a first course in computer science at Harvard College for concentrators and non-concentrators alike. More than just teach you how to program, this course teaches you how to think more methodically and how to solve problems more effectively. As such, its lessons are applicable well beyond the boundaries of computer science itself. That the course does teach you how to program, though, is perhaps its most empowering return. With this skill comes the ability to solve real-world problems in ways and at speeds beyond the abilities of most humans.

/misc | Apr 12, 2009

Removing simple watermarks from images #

  1. Open image in SnagIt
  2. Colors > Color Substitution...
  3. Use the dropper next to "Old color:" to select watermark color
  4. Click box next to "New color:" to select replacement color (generally this would be the background color)
  5. Goodbye watermark!
Does anyone have a method using free or open source tools?
UPDATE: CyberDoc and Mike Mills kindly recommended the freeware PhotoFiltre (installer-free version available), which worked every bit as well as SnagIt. It's as simple as clicking Adjust > Replace color and using the droppers to select. Initially, most menu items were grayed out for the GIF I had opened, but Mike informed me of the solution: Image > Mode > RGB color. Thanks to you both!

/windows | Apr 12, 2009

Glenn Gould - Genius made manifest #

(The original link has been updated.)

/misc | Apr 04, 2009

Henry David Thoreau - Original Hacker #

After leaving the University, he joined his brother in teaching a private school, which he soon renounced. His father was a manufacturer of lead-pencils, and Henry applied himself for a time to this craft, believing he could make a better pencil than was then in use. After completing his experiments, he exhibited his work to chemists and artists in Boston, and having obtained their certificates to its excellence and to its equality with the best London manufacture, he returned home contented. His friends congratulated him that he had now opened his way to fortune. But he replied that he should never make another pencil. "Why should I? I would not do again what I have done once." He resumed his endless walks and miscellaneous studies, making every day some new acquaintance with Nature, though as yet never speaking of zoology or botany, since, though very studious of natural facts, he was incurious of technical and textual science.
—Ralph Waldo Emerson, from his eulogy to Thoreau in the August 1862 issue of The Atlantic

/misc | Apr 04, 2009

A better NOD32? #

Guy Kirkwood kindly sends word of Prevx Edge, and points out this quote as being especially relevant to TinyApps.Org readers:
Edge has been developed with speed and optimization in mind. The entire program of Edge consists of one executable and one driver. All of the cleanup, realtime protection, self protection, rootkit detection, malware detection, and high-color user interface are tightly integrated into these files, requiring only about 800kb on disk. In the system, Edge only requires one service and one driver to be registered - no other registry keys are required and no other libraries need to be installed, and all user accounts on the local computer are fully supported and protected automatically, even under UAC, with the GUI process of Edge switching between users as they log in.

Installation and un-installation of Edge require only seconds and can take place without rebooting the system and there is no need to uninstall any other security software when installing or using Edge.
The standalone Prevx CSI version is described as a "FREE Malware Scanner", but users should be aware that it will not remove most infections without payment (unlike TrendMicro's SysClean, Kaspersky's Virus Removal Tool, etc, which scan and remove for free). Even though it is a single EXE executable, CSI makes numerous registry and file system changes. Most of these can be removed by running the uninstaller which appears in the Add/Remove Control Panel.

About.com has a review of Prevx Edge.

/windows | Apr 03, 2009

nmap not displaying MAC addresses #

This will be obvious to regular nmap users, but Google did not turn up a quick and ready answer for why MAC addresses were not appearing during a ping scan:
$ nmap -sP 192.168.1.0/24

Starting Nmap 4.68 ( http://nmap.org ) at 2009-04-03 07:05 HST
Host 192.168.1.1 appears to be up.
Host 192.168.1.3 appears to be up.
Host 192.168.1.6 appears to be up.
...
Nmap done: 256 IP addresses (10 hosts up) scanned in 1.373 seconds
I initially just added &&arp -a | grep -v 'incomplete' to get the MAC addresses, but that was rather inelegant (and slow). Finally I stumbled onto the answer in the nmap book:
The -sP option sends an ICMP echo request and a TCP ACK packet to port 80 by default. When executed by an unprivileged user, only a SYN packet is sent (using a connect call) to port 80 on the target. When a privileged user tries to scan targets on a local ethernet network, ARP requests are used unless --send-ip was specified.
I felt the gentle scolding of Holmes ("One more coruscation, my dear Watson ---- yet another brain-wave!") as I realized that most of the nmap examples were from a root prompt - ah!
$ sudo nmap -sP 192.168.1.0/24
Password:

Starting Nmap 4.68 ( http://nmap.org ) at 2009-04-03 07:12 HST
Host 192.168.1.1 appears to be up.
MAC Address: 00:18:39:xx:xx:xx (Cisco-Linksys)
Host 192.168.1.3 appears to be up.
MAC Address: 00:0D:0B:xx:xx:xx (Buffalo)
Host 192.168.1.6 appears to be up.
MAC Address: 00:1F:F3:xx:xx:xx (Apple)
...
Nmap done: 256 IP addresses (10 hosts up) scanned in 4.809 seconds

/nix | Apr 03, 2009

Self-contained Apache, MySQL and PHP for Mac #

MAMP is a quick and easy stand-alone AMP environment for Mac. It does not interfere with existing versions, and can be uninstalled by simply deleting the MAMP directory. Primarily intended as a PHP development environment, MAMP should not be used for public-facing servers.

/mac | Apr 01, 2009

vi for nano lovers #

For the very occasional vi / vim user who just wants to edit a config file on a remote server, thank you very much:
Switch to insert mode (from which you can enter text)
i

Switch to command mode (from which you issue the commands below)
ESC

Quit without saving changes
:q!

Save (write) the file
:w

Save (write) the file and quit vi
:wq

Delete characters under and after cursor (like Del key in most apps)
x

Delete characters before the cursor (like Backspace key in most apps)
X

Find previous
?

Find next
/

Cursor up, down, left, right (arrow keys may also work)
k, j, h, l

/nix | Mar 31, 2009

Bypass Dell Inspiron 1100 battery check during BIOS update #

Installing Ubuntu (or any Linux distro for that matter) on a Dell Inspiron 1100 requires updating the BIOS to version A32 for video to work properly (8.10 instructions).

Unfortunately, the BIOS flashing utility (I1100A32.exe) will halt if it does not detect a charged battery:

ERROR
Battery must be installed.

ROM update not performed.
Press any key to exit.

Perhaps there are some documented command line switches or arguments? Apparently not:

A:\>I1100A32 /h

 Flash BIOS Update Program - Version A32
 Copyright 1990-2003 Dell Computer Corporation.  All Rights Reserved.

usage: I1100A32

The scanty documentation was equally unhelpful, as were my attempts to reverse engineer the flasher with IDA Pro and OllyDbg. Running strings for a clue to some switch or other proved fruitless as well.


UPDATE 1: I finally found the hidden switches in I1100A32.exe with a standard hex editor - they were "encrypted" with a ROT-1 Caesar cipher!! The first group is from the DOS app, the second group from Windows (both versions are included in the EXE, which can be split using DualEXE Manipulator):

OPQBVTF GPSDFJU KBCJM EXJN OWSBN XJQFOWSBN WFSCPTF QSHCPPU CPPU SFBEH[GJMF SFBESPNGJMF XSJUFSPNGJMF XSJUFIESGJMF OPSFCPPU JOGP GBDUPSZ TFSPVU C:711 GPSDFUZQF NJOJWV
...
DMBTTJD SFQPSUTUBUVT OPSCVSFTVMUT SCVSFTVMUT XSJUFSPNGJMF XSJUFIFYGJMF XSJUFIESGJMF XJQFDMFBO XJQFBMM WFSCPTF QSHCPPU OPSFCPPU OPQBVTF JOGP GPSDFUZQF GPSDFJU GBDUPSZ FEWV CPPU

Let's rotate them: $ tr '\60-\72\101-\172' '\57-\71\100-\171'

NOPAUSE FORCEIT JABIL DWIM NVRAM WIPENVRAM VERBOSE PRGBOOT BOOT READGZFILE READROMFILE WRITEROMFILE WRITEHDRFILE NOREBOOT INFO FACTORY SEROUT B9600 FORCETYPE MINIVU
...
CLASSIC REPORTSTATUS NORBURESULTS RBURESULTS WRITEROMFILE WRITEHEXFILE WRITEHDRFILE WIPECLEAN WIPEALL VERBOSE PRGBOOT NOREBOOT NOPAUSE INFO FORCETYPE FORCEIT FACTORY EDVU BOOT

Additional information on these switches can be found here and here. Don't play with these unless you know exactly what you are doing and are willing to take responsibility for your actions.

UPDATE 2: Didier Stevens kindly updated his open source XORSearch app (which helps uncover obfuscated strings) to support ROT encoding. Usage example: C:\>XORSearch -f file.with.list.of.strings.to.find file.with.obfuscated.strings

Thankfully, Christopher Muto had posed the following question to alt.sys.pc-clone.dell back in 2004:

   does anyone know of a way to flash the bios on an
   inspiron 3800 that does not have a battery?

Even more fortuitously, Bill Joy had responded:

   I have heard of a /forceit option when executing
   the flash. Another option I have seen is /jabil
   when forcing it to flash when it thinks it has an
   incompatible BIOS update -- maybe try it if the other
   option does not work?

   Since these batteries are available on eBay for only
   $40-50, it is probably not worth the risk of damaging
   your system.

Throwing caution to the wind, I decided to give the /forceit option a try (readers: do so at your own risk and joy). Lo and behold, the evil battery check was miraculously bypassed! Hallelujah!

/misc | Mar 29, 2009

Who needs a database when you've got sed and awk? ;-) #

As a simple text-based site, TinyApps.Org is ideal for parsing with *nix text processing commands. Here is a one-liner to calculate the average file size of the Palm apps:

grep -o "\[.*\]" palm.html | sed 's/[^0-9]//g' | awk '{s+=$1}END{print s/NR}'

Let's break it down:

First, grep will return all patterns within palm.html matching an open bracket, followed by anything, followed by a close bracket. The -o option (only-matching) instructs grep to show only the part of a matching line that matches the pattern (as opposed to returning the entire line). This gives us output like:
[58k]
[62k]
[296k]
...
Next, we'll use sed to (s)ubstitute any non-numeric character with nothing, (g)lobally:

sed 's/[^0-9]//g'

which returns:
58
62
296
...
Finally, we'll use awk to total and average the numbers:

awk '{s+=$1}END{print s/NR}'

{s+=$1} sums the first (and only) column. {print s/NR} prints the sum divided by NR (an awk variable that returns the Number of Records (i.e., lines) read so far).

And the result is:
112.324
This worked beautifully on all of the other app pages as well (osx.html, internet.html, etc) save for one: system.html. On that page, one of the entries reads: "[various sizes]". This is the only instance in all of the app pages where a number is not listed within the brackets. As a result

grep -o "\[.*\]" system.html | sed 's/[^0-9]//g'

displays a blank for that line:
...
1454
     <-- Note the blank line here
30
...
which means that awk divides (in this case) 18729 by 55 records instead of the correct 54.

In order to remedy this problem, we will add a second command to sed, separated from the first by a semicolon:

sed 's/[^0-9]//g;/./!d'

/./!d deletes any line which does not contain at least one character, thus removing the single blank line. Now awk will divide the total by the correct number of lines to arrive at the true average (346.833). The full one liner is now:

grep -o "\[.*\]" palm.html | sed 's/[^0-9]//g;/./!d' | awk '{s+=$1}END{print s/NR}'

Do you have a faster/leaner/tinier method? Or perhaps another interesting one liner? Please share the goodness!

/nix | Mar 28, 2009

Random harvest #

/misc | Mar 28, 2009

Regular expression builders and tutors #

Wikipedia lists an assortment of regular expression apps, including many web-based offerings.

/misc | Mar 28, 2009

Calculate wattage for your PSU #

eXtreme Power Supply Calculator Lite helps you estimate what size power supply might be appropriate for your hardware. Although it is a simple web-based app, the following notice appears at the top in red caps: "ATTENTION: FOR PERSONAL, NON-COMMERCIAL USE ONLY". There is a Pro version for $1.99 which presumedly permits commercial use, though this is not explicitly mentioned in the comparison table.

/misc | Mar 22, 2009

Bypass Seagate DiscWizard's brand check #

Seagate Discwizard is now based on Acronis True image 11, which offers cloning (proportional if desired), backup/restore, and wiping of disks. Normally, an internal Seagate/Maxtor brand drive is required for the boot CD to function (otherwise the following message appears: "Error - To use the product, at least one Seagate or Maxtor device should be installed in your system"). This is an unfortunate bug for users of Seagate/Maxtor external devices. Thankfully, fmyhr has posted a workaround on Seagate's Community Forums that was provided by one of their techs: at the error screen, hold down Alt while typing "t" then "o" (for "tech override") and then click OK.

/misc | Mar 21, 2009

Command line time tracker #

Michael Stumpf kindly informs us of Trevor Caira's Timebook, "a small utility which aims to be a low-overhead way of tracking what you spend time on. It can be used to prepare annotated time logs of work for presentation to a client, or simply track how you spend your free time. Timebook is implemented as a python script which maintains its state in a sqlite3 database."

/nix | Mar 15, 2009

Instant search for NTFS volumes #

Mike Sawyer kindly informs us of Everything, a search engine for NTFS volumes that locates files and folders by name instantly. The non-installing version is just a 267k download.

/windows | Feb 28, 2009

Windows-based RAM tester #

🌱 MemTest 3.8 [15k] + RAM reliability tester that runs under Windows.  📺

/windows | Feb 27, 2009

Beauty #

We ascribe beauty to that which is simple;
which has no superfluous parts;
which exactly answers its end;
which stands related to all things;
which is the mean of many extremes.

- Ralph Waldo Emerson in The Conduct of Life, Chapter VIII, Beauty

/misc | Feb 22, 2009

Open source app for syncing or updating folders #

FreeFileSync v1.14 [1330k] {S}+ Compare, sync, and update folders. Also handy for resuming interrupted folder move or copy operations.  📺

/windows | Feb 17, 2009

Change Palm user name #

Palm has instructions (for now) on how to Change or delete your device's User Name. They recommend using Tools > Users > Rename inside of Palm Desktop for changing the user name. If you don't have access to Palm Desktop, you can change the Palm OS username on the device directly with Collin Mulliner's ChangeName.

/palm | Feb 16, 2009

Find the latest 100 changed files #

"Last Changed Files finds the 100 recent changed files on your hard disk or within multiple subdirectories ... takes less than 30 seconds to scan 200 GB." Especially love the following blurb, which could well have been lifted virtually verbatim from our FAQ: The only disappointment is an Internet Explorer window with an ad glommed onto the bottom; clicking on a link therein opens a new IE window, regardless of default browser setting.

/windows | Feb 11, 2009

Installing Windows XP on a Sony VAIO laptop with SATA hard drive #

Attempting to install Windows XP from CD-ROM onto a Sony VAIO PCG-3B2L (VGN-FW140E) laptop failed due to XP's lack of SATA drivers. Yes, there are guides like Install Windows XP on SATA without a Floppy which generally recommend using nLite to master a new Windows XP CD with the SATA drivers slipstreamed in. As that seemed like far too much effort, I downloaded the SATA driver from Sony, copied it to a floppy, and inserted it into an IBM USB floppy drive. Unfortunately, the Windows installer did not seem to recognize the drive. Options in the BIOS (F2 to access) were slim; on a hunch I enabled "External Device Boot" and restarted. Low and behold, the installer now recognized the drive! The final problem was which of the dozen or so listed drivers to select (turned out to be "Intel ICH9M-E/M SATA AHCI Controller" in my case).

/windows | Feb 11, 2009

Two passages from W. Somerset Maugham's "The Razor's Edge" #

"Has it occurred to you that transmigration is at once an explanation and a justification of the evil of the world? If the evils we suffer are the result of sins committed in our past lives we can bear them with resignation and hope that if in this one we strive towards virtue our future lives will be less affected. But it's easy enough to bear our own evils, all we need for that is a little manliness; what's intolerable is the evil, often so unmerited in appearance, that befalls others. If you can persuade yourself that it is the inevitable result of the past you may pity, you may do what you can to alleviate, and you should, but you have no cause to be indignant."


"He is without ambition and he has no desire for fame; to become anything of a public figure would be deeply distasteful to him; and so it may be that he is satisfied to lead his chosen life and be no more than just himself. He is too modest to set himself up as an example to others; but it may be he thinks that a few uncertain souls, drawn to him like moths to a candle, will be brought in time to share his own glowing belief that ultimate satisfaction can only be found in the life of the spirit, and that by himself following with selflessness and renunciation the path of perfection he will serve as well as if he wrote books or addressed multitudes."

/misc | Feb 11, 2009

Webpage to screenshot #

Netfixer 0.2 [124k] {S} Save webpages to PNG, GIF, JPG, BMP, and TIF  📺

/mac | Jan 28, 2009

Tiny Letters #

"The World's Smallest Postal Service (WSPS) is a teeny tiny transcription service and roaming post office based in the San Francisco Bay Area and also available online."

/misc | Jan 25, 2009

iPhone vs. Palm Treo 750p #

FeatureiPhonePalm Treo 750p
Cut/Copy/PasteNoYes
System-wide find (within calendar items, etc)NoYes
TetheringNoYes
Replaceable batteryNoYes
KeyboardNoYes
Video recordingNoYes
Expansion slotNoYes
Must pay for the privilege of developing applications and then beg for inclusion in exclusive storeYesNo
Vendor maintains remote kill switch to keep users in lineYesNo
NetworkAT&TVerizon

/palm | Jan 25, 2009

Details, details, details #

/misc | Jan 25, 2009

List of device bandwidths / data transfer speeds #

Wikipedia has an excellent list of device bandwidths. It would be nice to pair with a list of maximum distance / cable lengths, maybe something along the lines of:
Type Max Speed Unit Max distance / cable length Notes
Bluetooth wireless PAN (2.4 GHz band) 720 Kbps 10-100 meters Distance depends on device class: Class 1 - 10m, Class 2 - 50m, Class 3 - 100m
Fast Ethernet (100Base-T) 100 Mbps 100 meters  
FireWire 400 (IEEE 1394A) 400 Mbps 4.5 meters Up to 16 cables can be daisy chained using active repeaters
USB 3.0 5 Gbps 5 meters  

/misc | Jan 16, 2009

Opening and creating password-protected zip files in OS X #

As of 10.5, the Finder cannot open password-protected zip files. It simply returns the helpful message "Unable to unarchive 'filename' into 'Location'. (Error 1 - Operation not permitted)" as seen here:



You can, however, use the Terminal to both open and create encrypted zip files:

Unencrypt and extract: unzip secret.zip
Compress and encrypt: zip -re new.zip folder_of_secrets/

/mac | Jan 11, 2009

"A duplicate name exists on the network" error when attempting to change Computer Name #

After an HP NAS died, we repurposed a workstation as the new file server. Attempting to change the computer name to match the dead NAS, the following error kept appearing: "A duplicate name exists on the network", even though the NAS was not connected. We deleted all references to the NAS in Network Places and unmapped all drives to no avail. nbtstat -c returned no entries lurking in the NetBIOS cache. Finally, we disabled the workstation's NIC and were able to change the name without errors. Rebooted the workstation, enabled the NIC, and all was well.

/windows | Jan 09, 2009


Subscribe or visit the archives.