I’m a little late switching over but I’m really starting to like Chrome. It’s just so fast!
I generally leave a browser open for days on end with a number of sites (gmail, google cal, facebook, etc) open all the time. These make for a very busy tab strip.
Today I was thrilled to find that if you right-click on a tab you can pin it so that it moves over the the left and shrinks to just the favicon.
I wish there were a nice way to persist my pinned tabs but I’ll take it.
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\*\shell]
[HKEY_CLASSES_ROOT\*\shell\openwemacs]
@="Edit with &GNU Emacs"
[HKEY_CLASSES_ROOT\*\shell\openwemacs\command]
@="C:\\Program Files\\emacs-23.1\\bin\\emacsclientw -n –a \"C:\\Program Files\\emacs-23.1\\bin\\runemacs.exe\" \"%1\""
I wanted to be able to quickly create Remember the Milk tasks from e-mail messages in Outlook. Basically:
- Forward e-mail to your private RTM e-mail address.
- Change e-mail to text only because otherwise RTM won’t find embedded commands
- Add header with spots to fill out due date and priority
- Let you adjust the headers before sending it
Press “ALT+F11” to bring up the Visual Basic editor while in Outlook:
Right click on “Project 1” and choose “Insert –> Module”. Paste in the following code into the newly created “Module1” (being sure to update the e-mail address on the objMail.To line).
Sub CreateRtmTask()
Dim objMail As Outlook.MailItem
Set objItem = GetCurrentItem()
Set objMail = objItem.Forward
objMail.To = "RTM ADDRESS GOES HERE@rmilk.com"
objMail.BodyFormat = olFormatPlain
objMail.Body = "Priority: " & vbCrLf & _
"Due: " & vbCrLf & _
"Tags: " & vbCrLf & _
"Location: @work" & vbCrLf & _
vbcrfl & "—" & objMail.Body
objMail.Display
Set objItem = Nothing
Set objMail = Nothing
End Sub
Function GetCurrentItem() As Object
Dim objApp As Outlook.Application
Set objApp = Application
On Error Resume Next
Select Case TypeName(objApp.ActiveWindow)
Case "Explorer"
Set GetCurrentItem = _
objApp.ActiveExplorer.Selection.Item(1)
Case "Inspector"
Set GetCurrentItem = _
objApp.ActiveInspector.CurrentItem
Case Else
End Select
End Function
Now you can add a button. Right click on the toolbar in the main outlook Window and choose “Customize”. Find the Macro you just created:

And drag it to the toolbar in outlook. You can the right-click on it to change the Text and Icon for it. Voila.
Now clicking on the e-mail and hitting the new button will pop-up a mostly filled out e-mail to create the task in RTM.

I’ve come up with a somewhat odd (but awesome) approach to templates for my static HTML pages that makes authoring/maintenance trivial and allowed for functional offline copies.
(article and code here)
This has got to be one of the coolest things ever. The website yourfonts.com has a free service for creating your own font.
- Download and print their form
- Fill in your own letters
- Scan the form
- Send it to them
- Download your font 40 seconds later!
Oh. And it’s all free!
Here is a sample of the form I filled out:
And here is the sneak-peak font sample they generated for me:
And here is my test document in MS Word:

Apparently all those little ticks in the side of the boxes are to help you get your letter height correct. My font is pretty horrendous looking with each letter at a different height.
The other day Anji accidentally deleted a movie from her digicam that she really wanted. We immediately took the card out of the camera and flipped the little write-protect tab.
After a bunch of looking for a tool to recover the image, Kyle suggested Photorec which is one of the most awesome pieces of software ever.
The took runs on almost any OS (DOS, Win9x, 2000, XP, Vista, Linux, *BSD, Solaris, Mac OSX and even OS2!!!) and can restore a wide range of file types (images, PDFs, ZIPs, Office Docs, movies, …) from a wide range of file systems (FAT, NTFS, EXT2/EXT3 and HFS+).
We downloaded the Windows version here (1.4MB). It’s text based but when you’ve lost important files… Who cares?
Anyways… After a few minutes of scanning the card it restored the 60MB video flawlessly.
We use MediaWiki for in-house documentation and it’s normal behaviour of killing your “session” when you close your browser is annoying.
You can make the session have the same lifetime as the login cookies (we have ours cranked up to a year) by changing a couple lines in “/includes/User.php” in the Wiki directory.
Search for the SetupSession function.
To the global’s declaration add “$wgCookieExpiration”. Change from:
global $wgSessionsInMemcached, $wgCookiePath, $wgCookieDomain;
to:
global $wgSessionsInMemcached, $wgCookiePath, $wgCookieDomain, $wgCookieExpiration;
And then modify the call to session_set_cookie_params to specify a session lifetime (instead of 0). So:
session_set_cookie_params( 0, $wgCookiePath, $wgCookieDomain );
changes to:
session_set_cookie_params( $wgCookieExpiration, $wgCookiePath,
$wgCookieDomain );
And that’s it. Close your browser, re-login, and voila. Now you can restart your browser without having to login again.
I’m rebuilding my Mac and shuffling a lot of data. I have two 500GB external drives (one USB2 and one firewire). Currently the firewire drive is being used for backups and spends most of its time unplugged from a computer. I wanted to move my backup data from the firewire disk to the USB2 disk and use my firewire disk as a every-day-use drive. Since my plan with the backup disk is to leave it at the office most of the time, I want it encrypted.
My first attempt was to use the built in DiskUtil in MacOSX to create a 400GB exncrypted DMG file on the drive. This is clumsy looking and, it turns out, ridiculously slow (like 1.4 days slow). Mike had the suggestion to use TrueCrypt and so I did. This whole process tool about 10 minutes.
First I initialize the disk with TrueCrypt. TrueCrypt doesn’t have built-in support for formatting HFS+ volumes so we initialize it with no file system first.
jsc@melmac 1~% /Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt -t –quick -v –random-source=/dev/urandom -c /dev/disk4s1
Volume type:
1) Normal
2) Hidden
Select [1]:
Enter system administrator password:
Encryption algorithm:
1) AES
2) Serpent
3) Twofish
4) AES-Twofish
5) AES-Twofish-Serpent
6) Serpent-AES
7) Serpent-Twofish-AES
Twofish-Serpent
Select [1]:
Hash algorithm:
1) RIPEMD-160
2) SHA-512
3) Whirlpool
Select [1]:
Filesystem:
1) FAT
2) None
Select [1]: 2
Enter password:
Re-enter password:
Enter keyfile path [none]:
Done: 100.000% Speed: 55.8 GB/s Left: 0 s
The TrueCrypt volume has been successfully created.
jsc@melmac ~%
Now I map the drive (without attempting to mount it):
jsc@melmac 127~% /Applications/TrueCrypt.app/Contents/MacOS/TrueCrypt
-t –filesystem=none /dev/disk4s1
Enter password for /dev/disk4s1:
Enter keyfile [none]:
Protect hidden volume? (y=Yes/n=No) [No]:
Enter system administrator password:
And now, finally, I can use diskutil to format it as HFS+.
jsc@melmac ~% diskutil eraseVolume "HFS+" "Jeff Clement Backup #1" /dev/disk5
Started erase on disk disk5
Erasing
[ \ 0%................................................... ]
From this point I can mount / unmount the TrueCrypt volume as normal. It just works. Way faster! Now I just have to shuffle some data around
Thanks Mike!
The wireless hardware on Anji’s laptop cooked itself last week. We took this as an opportunity to upgrade from our 802.11B wireless network to something a bit faster. I’d had my eye on the Linksys WRT54GL’s with the replaceable firmware so we bought one of those from Memory Express.
I had that up and running fairly quickly and then downloaded a new third-party firmware, DD-WRT v24 (download), and installed it. Installation went mostly good and now we’ve got this very cool looking web control panel. In addition I can login via SSH and poke around.
DD-WRT seems quite similar to the software that shipped with the device only with way more options. However you do get some coool extras; You can crank the signal strength, change to use illegal channels, use more dynamic dns services, setup a hotspot, setup QoS, and other fun things with DD-WRT.

It supports static DHCP leases for internal machines which is really handy for port forwarding and setting up a DMZ.
Details on connected wireless devices and DHCP leases.
Real-time network activity monitoring graphs:

I’d forgotten how totally awesome Mutt is for an e-mail client. It’s entirely text based, ridiculously configurable, and all-around completely awesome.
I’d forgotten the joy of pouring through on-line samples of .muttrc (configuration files) searching for the one true configuration. Learning how to support multiple addresses with multiple signatures, etc. So fun
Not to mention how great it is to be able to enter e-mails using Vi!
I love gmail but boy is mutt cool!
[I'm actually serious here]