Data Integrity: Resurrection

flame signFaced with a need to recover images from Robert’s camera after a defective card-reader nuked the filesystem superblock, a quick utility came to mind. Nuked superblocks mean no file allocation table. It means no metadata. But it does not mean no data.

  • Target medium: 1GB XD card from a digital camera.
  • Data to recover: JPEGs. Lots of them.

Whipping out some jpeg-format-and-filesystem-jutsu, here’s the solution (for less than that $20 shareware recovery utility):

How to make Pop-Up Menus in Custom Quartz Composer Patches

screenshot of a custom Quartz Composer patch's pop-up menuMaking pop-up menus in custom Quartz Composer patches is actually surprisingly easy.

This release is only compatible with Tiger (10.4).
Please see kineme.net for Leopard-specific informations.
  1. Set up a QCIndexPort input. QCIndexPorts provide values from 0 to whatever max you specify using - (void)setMaxIndexValue:(unsigned int)max;.

New Custom Quartz Composer Patch Xcode Template

Create a new Xcode project with this templateHere’s a new version of the Xcode Template for Custom Quartz Composer Patches.

Changes:

  • Rebuilt from scratch – no longer depends on QCJP’s work – and, by extension, the Creative Commons “Attribution-NonCommercial-ShareAlike” license. My Xcode Template, as of version 0.2, is released into the Public Domain. You are free to use it for whatever – commercial or non-commercial.
  • QCJP’s headers were replaced with headers assembled directly from the QuartzComposer framework – now located in the QuartzComposer/ folder of the project. I’ve exported a few more headers than QCJP had constructed, so there’s some added functionality (namely, image input/output ports).
  • The project now automatically assigns an icon to the patch bundle, and installs it in /Library/Graphics/Patches/ for you each time you build, for faster edit-build-test workflow.
This release is out-of-date.
Please see the latest version.

Download the installer, version 0.2.

See the old version’s blogpost for some additional instructions and user comments.


Steve Mokris is a developer at Kosada, Inc.

Who was that MAC'd man anyway?

A3 20/60 1/6 CCBFor those that deal with complex networking, having a device’s MAC address can be very helpful in diagnostics, configuration, and firewalling. Often just using a device’s IP address is enough, but what about DHCP? Unless you can control the device’s IP range, this can cause many hours of troubleshooting. This is where having a MAC address helps.

Somebody set up us the Beowulf

emergency showerRecently we had an interesting opportunity to deploy 7 identical customized machines for one of Kosada’s consulting clients. We’ve been working on disk images to make this quick and painless, and have more or less succeeded. However, getting an archived image onto the machines has a few different methods, depending on circumstance. We also get to pay a penalty every time the underlying hardware changes, since the image bundles in specific drivers. Usually we’re able to work around this with minimal pain.

Excitingly, these new machines broke the mold (they’re slightly older, considerably cheaper machines), so we had to tweak the image a bit.

Apple Remote Patch for Quartz Composer

Apple Remote and Apple Remote patch

I took Martin Kahr’s Apple Remote Controller Wrapper Class and built a Quartz Composer patch around it.

This release is only compatible with Tiger (10.4).
Leopard (10.5) includes a built-in Apple Remote patch.
Please see also kineme.net for Leopard-compatible patches.

Get version 0.1 here.

Some notes:

  • The events received from the Apple Remote are fairly strange to begin with.. You don’t simply get “key down” / “key up” events as I would have assumed, but instead get cooked events – for many of the buttons, holding the button down generates a different event than tapping it.
  • My patch queues events, to ensure that each keypress is visible for at least one frame.

Steve Mokris is a developer at Kosada, Inc.

Review: Bower VL46TC Fisheye with Macro Lens Extension

The Bower VL46TC Titanium Super Wide-Angle “Fisheye” lens with “macro” claims to be:

  • “Titanium” (I think it’s actually aluminum)
  • “High Resolution” (It’s a glorified magnifying glass, so it unavoidably blurs around the edges.)
  • “Digital” (This one baffles me. It contains no electronic parts whatsoever.)
  • AF” (AutoFocus. Again, contains no electronics, or even moving parts. My lens’s autofocus still works when this is attached, for the most part. However, under some circumstances, the attachments confuse the camera and necessitate manual focus.)
  • “To fit : […] ALL FINE SLR CAMERAS.”

OK, now the fun stuff: pictures!

The Secret Life Of a Patch

Thunderbird.appMozilla is an open source project that produces some widely used software. Their most noteworthy product to date is Firefox, a standards-compliant web browser.

Being open source, their projects and products are often enhanced by the contributions of others. These contributions often come in the form of a “patch” – a file that tells the computer what to change in the source code to add the contribution.