Archive for the ‘Tools’ Category

A List Apart: Articles: Conflicting Absolute Positions Jul 17 2007

Nice article on ALA about how to create a layout using almost pure CSS where there is a fixed-width sidebar and a dynamically resizing right-hand main content area without using Javascript to dynamically resize the page.

All right, class. Using CSS, kindly produce a liquid layout that contains a fixed-width, scrolling side panel and a flexible, scrolling main panel. Okay, now do it without JavaScript.

Check it out: A List Apart: Articles: Conflicting Absolute Positions

Web Devout Jul 11 2007

Some excellent articles here about good web building practices.

Welcome to Web Devout! This site is aimed at promoting the health of the Web by providing web developers and the public with the knowledge and tools needed to help the Web move forward.

Check it out: Web Devout

Thanks for the pointer, Ben.

Google Gears (BETA) May 31 2007


Google Gears (BETA) is an open source browser extension that enables web applications to provide offline functionality using following JavaScript APIs:

  • Store and serve application resources locally
  • Store data locally in a fully-searchable relational database
  • Run asynchronous Javascript to improve application responsiveness

Check it out: Google Gears (BETA)

WordPress 2.2 just released! May 15 2007

Looks like it’s time to upgrade again, lots of neat new features and good bug fixes in WordPress 2.2.

WordPress Blog – WordPress 2.2

Download WordPress 2.2 now.

How I got networking working on my Powerbook using Single User Mode in OS X Apr 29 2007

You NEVER want to see this on your Mac.

Update: It turns out that the reason my laptop had this problem in the first place was one of my 1GB sticks of RAM that had gone bad after running with zero problems for over a year. The kernel panics happening on a totally clean install of OS X was a clue, and then using the hardware test CD that originally came with the laptop confirmed that it was indeed bad RAM. Bad RAM sucks!

I had an unfortunate thing happen today — my trusty Powerbook decided that it had had enough and that it was going to lose it’s mind. It froze while I was working on the new version of Kristin’s website (not up yet…)

At first I was like, hmm, that’s annoying. That feeling turned into, oh crap, my laptop is broken when it wouldn’t finish booting up.

A quick Google using my Treo reminded me of the OS X startup key command to enter single-user mode (it is CMD+S). First, though, I tried the command for a verbose startup so I could see what the problem was (CMD+V). Verbose startup indicated that something was wrong with the hard drive meta data. So I decided to try starting up in single-user mode and then ran fsck -f to see if it could fix the problem. No love there.

This is the error message that showed up:

localhost:/ root# fsck -f
** /dev/rdisk0s3
** Root file system
** Checking HFS Plus volume.
** Checking Extants Overflow file.
** Checking Catalog file.
Keys out of order
(4, 23212)
** Rebuilding Catalog B-tree.
** The volume New Hotness could not be repaired.
localhost :/ root#


At this point in time, I am VERY grateful that I had recently (~3 weeks ago) made a full backup of my entire drive (over 60GB of applications and data). All of the source code for my work projects are under version control (Subversion) so I’m pretty good there even without backups. But what about the new work that I had been doing on Kristin’s site? That wasn’t backed up, hadn’t been checked into version control yet, and had considerable amount of work done that was stored in the MySQL database.

After doing some research about possible ways to fix this error (going to go into the Apple store tomorrow morning to see if they have a DiskWarrior disk that we can use to try to fix the Catalog B-tree problem), I thought it would be a really good idea to get Kristin’s site source code onto another machine so I would have a backup of that. Oh, and maybe also it would be a good idea to copy the 1+GB of China pictures that I hadn’t backed up yet (but had deleted off my camera!). Also, email inboxes, and other home directory files that I knew weren’t part of the 3 week old backup.

Mounting my laptop in Firewire Target Disk mode (hold down T during startup) didn’t work (it didn’t mount when I plugged it into Kristin’s laptop). Booting up using the install CD only gave me options to install a fresh system or use Disk Utility, which didn’t give me the options I was looking for.

So, the problem that I now faced was this: How do I mount a drive or get network access using Single User Mode?

Lots of searches didn’t turn up any solid answers, until I found this command on the MacOSHints forum archives:


So first I ran mount -uw / to mount the root filesystem in writable mode. Next I ran the commands that I found. The kextd command output a few errors, but exited cleanly otherwise. The configd command got networking running. YAY!

Once that was running, I plugged in an ethernet cable between my laptop and Kristin’s, and turned on the built-in SSH server on her laptop using the System Preference panel (Sharing > Remote Login > Start). I was then able to successfully SSH into her system and copy over all of the needed files.

Hopefully I won’t need to utilize these backups, but it is a great relief to know that I have them if needed.

I hope this can be helpful if you get in a similar jam.

My System Specs:
I’m running the latest version of OS X 10.4.9, have 2GB ram and an upgraded hard drive in a 15″ PowerPC Powerbook.

DISCLAIMER: I’m pretty sure that my laptop is really screwed up right now, and has kernel panicked and segmentation faulted a couple of times during transferring of files. If you find yourself following these directions, then you are probably already screwed too. But know that I am not responsible for what you do and also I don’t know if my copying over these files may have in fact screwed things up even more than they already are. So, your mileage may vary, proceed at your own risk, etc.

How I used the Unix command line to do a multi-file search and replace to fix over 4,700 individual files Mar 21 2007

Evil hackers attack!

Some customers of mine recently reported some suspicious behavior on one of their sites. I discovered, with dismay, that a number of months ago there was a nasty cPanel exploit that some evil hackers had used to insert a malicious line of code into the bottom of every HTML page on this server. After verifying that the cPanel installation had been fixed, I used grep to search through all the files on the server to see if any other files had been touched by the hackers. I found over 4,700 individual files that had malicious code added and knew that something needed to be done immediately to address this problem.

Not the best way to start my day…


DiddleBug Extractor 2.1 – Palm DiddleBug image extractor script for OS X, Windows, Linux (Replaces Didcon 2.0) Mar 18 2007

DiddleBug Extractor 2.1

DiddleBug drawing - crow

Drawing pictures on your Palm

I use an excellent free Open Source program called DiddleBug on my Palm Treo 700p for doing small black and white drawings. The latest version of DiddleBug creates 320×320 pixel size drawings. These are referred to on their site as “high-res” pictures instead of the 160×160 pixel size drawings that older versions of the software created.

Getting DiddleBug pictures off your Palm

I used to use a nice converter on my Windows laptop called WindleBug but wanted to be able to just use my Mac laptop by itself instead.

The DiddleBug FAQ mentions using a Perl script called Didcon on Windows, Linux and OS X which hadn’t been updated yet to extract the new 320×320 pixel sized images. When I ran the Didcon script for the first time, it saved out a 160×160 graphic that had weird lines running throughout it, due to the fact that it wasn’t reading out the data for a 320×320 pixel sized graphic.

After hacking at it for a little while, including researching how to correctly indicate the pixel size of an image in a Windows bitmap in the header of the file, I managed to get a working script that correctly outputs a 320×320 .bmp file.

This is the modified script, and I’m also including a second script that you can double-click in the Finder to run the extraction process.


Searchball – Google Pagerank checker for Safari Feb 2 2007

Howto check Google Pagerank using Safari:

  1. Go here Searchball – Google Pagerank checker for Safari and add the bookmarklet to your browser bookmark toolbar.
  2. Click the bookmarklet whenever you want to know the Pagerank for the site your are viewing
  3. A small window will appear telling you the Pagerank.

I just finished making some adjustments to Searchball. This is a small little service that gives you a bookmarklet that lets you check the Google Pagerank for any site simply by clicking it. This is really nice if you are using Safari or any other browser that doesn’t have a Google Toolbar or browser extension (like Firefox) that supports showing you the Pagerank of the site you’re viewing.

Check it out: Searchball – Google Pagerank checker for Safari

ScobleShow: Videoblog about geeks, technology, and developers – Read it at Jan 30 2007

The ScobleShow is the 700th feed added to Congratulations, Scoble!

Check it out: ScobleShow: Videoblog about geeks, technology, and developers – Read it at

P.S. Support for displaying podcast enclosures is probably going to be coming soon so you’ll be able to play or download non-embedded audio and video podcast files directly in your browser. But that is probably for another night, since it will involve hacking on the MagpieRSS RSS feed parser a little bit so it knows that enclosures exist.

The secret to getting your website featured on the frontpage of Jan 22 2007

New homepage

If you’ve ever tried to get your website featured on the front page of a site like digg, reddit, or Slashdot you might have felt frustration when you didn’t get the right number of votes to make it.

There is a site called that will automatically put your website’s content directly on its homepage.

How to get onto the homepage

Here are the 3 easy steps for you to take to get your website featured on the homepage of

  1. Go to the site and make sure that your RSS feed is in the database. The easiest way to do this is to paste in the URL for your RSS feed into the “Read a Feed” input box at the bottom of the page.
  2. Verify that your existing site RSS feed was imported correctly. You should be forwarded to the page that shows you your feed’s page on if it was imported successfully. (For example, the page for this site is
  3. Publish a new item on your website. RSS feeds are updated every 5 minutes so you should only have to wait for a minute or two. Refresh your feed page until you see your new item appear. Now check the homepage. Your new item should be at the top of the list, and will remain until 9 newer items are published by other people in their RSS feeds.

Bonus tip #1 – how to get into the top 30 feeds list

If you want to make it into the top 30 feed list (featured at the top of every page), all you have to do is tell people about your page that features your feed and increase your view count. The easiest way to do this is to use the RSS feed stats widget at the bottom of your feed page (copy and paste the HTML into your blog sidebar or another HTML page) — note that your site must allow <script> tags to enable the live updates of your feed stats information. You can also promote yourself to the top 30 by linking to your feed page in your blog roll and by sending the link to your friends.

Bonus tip #2 – Pretty site icon

To have your site icon show up nicely in the all feeds page and in the explore lists make sure you have a favicon installed for your website. will look for that and use it for your site icon. If it doesn’t find one, it will use a generic one that doesn’t set your site apart from any of the other ones. See the Wikipedia entry on favicons for how to get one installed for your site if you don’t already have one.

So, 3 easy steps to get your website content promoted on the website.

Try it for yourself: Submit your site to

(P.S. It usually accepts most Atom feeds as well as RSS feeds.)

sell diamonds