iPhone Wallpaper

CPU Wallpaper w/circuits
Mmm, circuity.

Sometimes I get a thing stuck in my head and I just have to take care of it before I can do anything else. I’ve been wondering what a circuit board background would look like on my iPhone for several days and I finally just had to make one and see. I’m sure someone else out there has already made something like this (and better), but it didn’t occur to me to look until I was about halfway done.

I made two variants. I did one with just CPUs so I could make sure everything lined up the way I liked, then I did another with resistors, and caps, and vias, and little traces, the whole enchilada. And now I can’t decide which I like better. The circuit board variant may be just a little busy. The CPU only version is nice, clean, minimal. I like that. I can’t decide…

Anyway, I put them up on flickr. You can grab them there if you like.

Secrets of PowerMate 3.0

It’s taken a while, but PowerMate 3.0 was finally released today. I thought I’d take a moment to talk about some of the features that may not be obvious right off the bat.

MENUS

One of the most noticeable new features of PowerMate 3.0 are the fancy radial menus. There are several pre-built menus. They’re pretty self-explanatory, but I’ll go over them real quick here. The Applications Menu is the simplest. It displays all the running apps and lets you quickly switch between them. The Contacts menu shows you all the contact info for the entries in your Address Book and lets you email, chat, or map that contact’s location. The iTunes Menu is the most detailed. It lets you play, pause, jump to the next or previous track, rate the currently playing track, and it displays your music organized by genre, composer, albums, artists, and playlists. You can navigate down through each of these refining what is being viewed as you go. At certain levels, such as a particular artist or genre, you can play all the tracks in the selection, or play the “best of” a particular category. “Best of” includes all those tracks that are rated 4 stars or greater.


Menus in PowerMate 3

The real fun (I think) comes from Custom menus. Custom menus can be added to any trigger and they can contain any number and any kind of PowerMate action. Rather than having a trigger for several different menus and having to remember the modifier keys for each, I’ve got everything in one “mega” menu. And I’ve grouped those actions I think are most important towards the beginning (assuming an oval can be said to have a beginning). Check the video. App launchers towards the beginning, an Applescript to open up the keyboard viewer, the Apps, Contacts, and iTunes aren’t used as often but they’re in there and a submenu with several bookmarks. I’m constantly adding to this menu whenever I find myself thinking “I wish I had a handy way to do X”.

SAVING SETS

One of the things that may not be totally obvious is the ability to save your Sets. This might come in handy for sharing your fancy configurations with friends. And it’s not a bad idea to have a backup in case your settings get hosed somehow. To do this drag a set (or sets) to the Finder. To restore, double click or drag a pmset file into the item list. That’s pretty much it. One thing to keep in mind when saving a set: any external resources such as files, apps, etc., that are referred to in your triggers, aren’t saved with your set. Maybe that’s obvious, but if there is a reference to an app or file that doesn’t exist on the machine where the set is restored, well, it’s not going to launch that app or run that script. For this reason, it’s always better to enter an AppleScript directly into the PowerMate app than referencing an AppleScript file.

LIGHT STATES

While the default light state controls found in a Set are pretty obvious, the Match Light State check box found in the Trigger inspector may not be. What I’ve done is added the ability to control the PowerMate light via AppleScript. It’s not quite as straightforward as just telling the light to blink or pulse however. Instead, you create something called a light state and give it a name. You can find examples in the Extras/Scripts folder on the PowerMate disk image, but in its simplest form creating a light state looks like this:

tell application "PowerMate"
 set aDevice to first device
  tell aDevice
   make light state with properties ¬
    {state type:counter, pulse count:3, pulse length:0.15, name:"Alert x3"}
 end tell
end tell

What this does is create a counter style light state that will pulse 3 times with each pulse lasting 0.15 seconds. It will pause between each set of pulses and repeat the cycle. And the important bit is the name: “Alert x3”. We can now set up a trigger that will only execute if “Alert x3” is the active light state by checking Match Light State and typing Alert x3. (Note: the default light state is called “Default”. You can match against “Default” if you only want to trigger when no custom light state is active.)

If you look in the PowerMate scripting dictionary, you’ll see that it supports four different styles of custom light states: steady, pulse, counter, and yes, morse code. Again there are examples of each in the Extras/Scripts folder on the disk image.

So, great, light states. How would you use these? Well, Apple has support for executing scripts in several apps that might prove handy. The first, and the one that I use the most, is Mail. You can define rules in mail to do a number of things, one of which is to execute an AppleScript. I run a script every time I get a new email that creates a counter style light state called New Mail. I’ve set up a trigger that looks for a state called New Mail and if this it’s active, it switches to Mail and clears the light state back to the default. I also have some scripts in iCal that fire at a certain time of day to remind me it’s lunch time (my PowerMate pulses out “Lunch!” in morse code), and I’ve added a folder action to my shared Dropbox folder so I know when something has been added. iChat is another app that supports scripting on various events and there are plenty of others. I’ll leave it to your imagination how you might use this.

Basically light states not only provide custom notifications, but also allow you to define contextual triggers in PowerMate.

PLUG INS

I hesitate to say that PlugIns are supported in PowerMate because tech support at Griffin will totally not be able to help you with this. However, the application will look for plug ins and load them. PowerMate searches ~/Library/Application Support/PowerMate/PlugIns and loads the bundles it finds there. Classes that conform to the PMActionRep protocol will show up as actions in the Library window. Like I say, this is still half baked at the moment. Hopefully I can put together an example and put it up on github soon. For now, just email me if you want more details.

iPad: A Skeptic’s Review

I should preface this by saying that I always been a fan of Apple and their products. Though it seems to me that where I used to wish that more people would pay attention to what I felt was a better product, now I wish Apple would make the products that everyone is paying attention to better.

The announcement of an Apple tablet had been perennially rumored for announcement at MacWorld and WWDC events over the years, yet for the longest time, the announcement failed to happen. Until finally, at an Apple event last January, they finally pulled the curtain back on the iPad. Given what Apple has created over the years, my expectations for a tablet were very high. Too high, I suppose. I don’t know what I expected, but what Apple demonstrated was essentially an oversized iPhone. That doesn’t make calls. The usual suspects hailed it as a breakthrough. Revolutionary. Even magical.

Magical?

I wasn’t seeing it. But then again, I’ve generally been a bit skeptical of Apple’s products at the time they are announced. I tried to keep an open mind, tried to imagine how an iPad would benefit me. When the iPad was released, I played with one. Read the glowing reviews. An yet, the magic wasn’t rubbing off on me. So, after a couple months passed by, naturally I bought one. Actually my wife got it for my for Father’s day. Now that I’ve had a little over a week to play with it, have I seen the light?!

First Impressions

It almost goes without saying that anything Apple makes is going to be beautiful. The iPad is no exception. It is a gorgeous piece of hardware. As a nook owner, I was a bit dismayed at the heft of the iPad, and the the slightly curved back makes it annoyed to try and use on a flat surface. I also haven’t found a comfortable way to carry it around. I really need a case, if only I knew of somewhere to get one… Apart from those minor complaints the design is fantastic. Then I started using it.

Setting up the iPad was easy enough. I plugged it into my computer synced my contact, calendar, music, and also the apps I had installed on my iPhone. You have to wonder why a physical cable is still required for this when the thing has WiFi built right in. One beautiful day we’ll be able to synchronize and update our iDevices wirelessly, but until that day arrives, I have yet another cable to keep track of.

Continue reading

PowerMate Care and Feeding

Powermate (68 / 365)
That soothing blue glow

Every now and again I’ll get an email at work asking for documentation, or sample code demonstrating how to communicate with the PowerMate. Generally, I’ll send out some sample code (taking the time to create a sample if I can’t recall where I stashed it the last time), and make a mental note to come up with a better solution someday. My mental notes seem to be written in invisible ink.

Well this time around, I went through “proper channels” to find out if it would be okay to post this information publicly. Somewhere to make it easier for folks to find, and Griffin has been kind enough to give me permission to do just that. If you’re looking for sample code to discover, receive data from, and control a PowerMate, your in luck because I’ve created a repository on github called PMDemo to demostrate just that, and you can find it here:

http://github.com/somegeekintn/PMDemo

You might also take a look if you’re just generally interested in the IOKit, HID devices (that’s redundant), and what not.

And speaking of the PowerMate, version 3.0 will be wrapping up soon (I think), but we’re making room for another batch of beta testers. If you’re interested, the only requirements are that you:

  • have a PowerMate.
  • are running Snow Leopard.
  • are willing to write this email address and tell me you’re interested in beta testing the new PowerMate software.

If this is you, give me a holler, and I’ll hook you up. I really think…hope… thope. I thope you’ll like it.

Photographer at Large

Yesterday I got an message from someone representing HGTV.com, requesting permission to use one of my photos in a slide show they are creating for that site. I’ve made all of my photos available under the Creative Commons Attribution license so anyone is free to use them however they like, so long as I’m credited. Still, it’s always nice to receive some notice.

Unless I’m contacted, I usually won’t find out that one of my photos is being used somewhere unless I happen to notice an unusual spike in the number of views a photo is getting. That’s what happened when Skype used one of my photos in a blog post last summer.

Of course, now that I’ve completed my Project 365, I’m no longer watching my photo statistics very closely. Nor am I uploading many photos (although I think about dusting of my D40 more and more often). Anyway, I started to wonder where else my photos might be showing up on the interwebs. Here’s a sample of what I found:

There’s a bunch more, but you get the idea. It’s pretty cool that people like my photos enough to use them like this. If you want to use one of photos, be my guest, I love it! And if you want to let me know you’ll be using one of my photos, that’s even better!