My New Toys for Web Development

June 4, 2006

Thanks to hicksdesign’s article about Web Development with Safari, I have new toys to play with. The suggested combination of WebKit nightly build and some plug ins for Safari, I’m able to get some much more detailed debugging tools for my web sites.

However, since the most recent nightly’s Web Inspector seems to be broken, I recommend scrolling down on the nightly download page and grabbing r14296, which, at this time, is the last one with a working style inspector.

UPDATE: The nightly from June 11th (r14807) fixes this bug. New nightlies should also contain the fix.


Inspecting the IO Registry on the Mac

May 26, 2006

It took forever to figure this out (the documentation for this API is spotty at best), So I’m going to bug everyone else with it. Here’s my method for loading an IORegistry entry and inspecting a known property.

const io_string_t path = kIOServicePlane ":/MacRISC2PE/uni-n@f8000000/AppleUniN/i2c@f8001000/PPCI2CInterface/temp-monitor@92/AppleCPUThermo";

io_registry_entry_t obj = IORegistryEntryFromPath( kIOMasterPortDefault, path );

CFTypeRef ref = IORegistryEntryCreateCFProperty( obj, CFSTR("temperature"), NULL, 0 );

The first line sets the path to the entry in the registry tree. I’m not exactly sure how it works, but apparently you can concatenate strings with just spaces in between when you are defining them… never knew that. Also, it appears that you don’t have to specify either “Root” or the 1st level entry name (as discovered in a dump of the ioreg command line tool). This particular path should only be considered valid for PowerMac3,6 computers.

The second line tries to locate the entry given the path.

The third line (error checking not shown here) loads a property from the entry.

Anyway, it works on my development computer, returning 256 times the current core temp (celcius) of my computer (since it is an integer representing the temp with some precision).

There are functions that can be used to scan the registry and traverse the entire tree. There is a function that can create a CFDictionary of all the properties in an entry. But if you already know the path, this is by far the fastest way to get a value from the IO registry.


MyRatePlan widget design

April 30, 2006

MRP Widget Design

Requesting comments… I designed this in Illustrator and added the shadow in Photoshop. I intend to use this design for a Yahoo! widget for MyRatePlan.com.


Weekend? What weekend?

April 24, 2006

And low, the supervisor sayeth unto thee, “Thou shalt attend the conference and maketh sure thet no errors croppeth up in any technical fashion.” Thusly I spake in reply, “Thy wish is not only my command but also my greatest desire.”

So woe unto those who standeth in the path of the devine conference. Especially unto the speaker who stayeth on stage overly long keeping me and company mine long into the night. Woe, I sayeth! Woe!

For it came to pass in the land of Rush that said speaker did paseth judgement onto the lowly company of weary conference goers and spake over long allowing too much drink to be imbibed by the masses thusly burdened.

I spent all weekend at the office preparing for this!?


GTAC Website

April 14, 2006

GTAC website screenshot

I built this website for the Georgia Tech Analog Consortium (GTAC). This was a full-site redesign incorporating apache Server Side Includes (SSI) for headers, footers, and link-boxes. All content was pre-existing.

Credits: title-bar background by Apple. Photos by multiple unknown.

I designed all layout and background art (other than that used as the background for the header). And built all the CSS from scratch.

GTAC website copyright © Georgia Tech 2006.

The GTAC website is located at: http://www.ece.gatech.edu/research/GTAC.
They have not yet adopted the new design, but you can try it out, here.