« September 2006 | Main | November 2006 »

October 30, 2006

implicit HIG: toys from others

As apparently have a number of other developers/bloggers, I've been reading and thinking about the implicit HIG since John Gruber spoke on the topic at the C4 conference. It seems the consensus thus far is:

1. Apple isn't likely to help.

Unfortunately, this raises the barrier to entry if you don't want Gruber to call you up with the words "2001 called. They want their UI back."

2. It would be nice if there were one place to go for example code for these kinds of things.

I'm relatively new on the Mac Geek scene and, given the personalities involved and some of the other fantastic resources already out there (links here to the various mailing list aggregations), am surprised that there isn't a community code repository for Cocoa programmers to post / retrieve solutions to common development problems like the implicit HIG.



So! Let's do something about this. With the above in mind, I've started keeping a list of links on del.icio.us where I've found interesting and/or slick cocoa widgets and frameworks using the tag newHIG. I'm hoping that other developers out there who have solved a common Cocoa development problem like this will be willing to share links and code. Once the number of newHIG tags I have hits a critical mass, it's time to set up a wiki / repository for this stuff. I'll do it. If anybody has any ideas or would like to donate some code, some time, or some beer, shout!

So far, I've tried only one of the solutions I've found and it seems "Batteries included" to me. The new ilifecontrols framework from Sean Patrick O’Brien simply rocks. All I had to do was embed the framework in my little test app, drag and drop the headers into IB, and set the appropriate classes for widgets and windows. Five minutes of work and my app is skinned iLife style. Odd how the visual change already makes it seem more fun to play around with this little app. I must be a fanboy now, huh?

You've seen the visualization I'm working on just a few times now.

Before:

oldUI.jpg

After:

newUI.jpg

No, it's not a pretty app to begin with; it's a test app. (By the way, the fps numbers are meaningless after the view has drawn. The framework did not slow anything down.) Hopefully though, this gives us an idea of what one can do in a hurry with the framework. Rock on Sean.

In the next few days, I'll start dropping others' widgets into my work to see how they look together. There are a bunch of nice widgets and little "here's how you do this or that" from Matt Gemmell, including an i-tunes 5/6 window style, that look awesome as well. There is a nice little "Gear menu" from RogueSheep's Bleatings (baaaaaah). Considering the above, it looks like our implicit HIG toolkit is well underway.


#!/usr/bin/env python
#for the developers who write code so I don't have to
for i in xrange(1000000):
print "thanks"

October 23, 2006

C4 was explosive

No, NSA, not that C4. I'm talking about the conference I went to this weekend full of mac programmers. Sheesh.

First, wowie zowie many thinks to Rentzsch. Not only is this guy wicked-smaht, he can put on a conference with 100 attendees without breaking a sweat. Well, at least it looked easy.

I met a bunch of awesome people, many of them bloggers I read religiously. Apparently, John Gruber shares my inability to leave IKEA without melting a credit card, which somehow makes me feel better about myself. Daniel Jalkut who was awarded a music degree (wee!) last year, and I had a great time talking about how surviving a jury in music school makes it impossible to feel all that nervous for any job interview or presentation ever again. Duncan Davidson shoots some fine pictures. Thanks for shooting little ol' me while you were at it, Duncan!

276484783_8afa31fe80.jpg

I met a bunch of other developers and everybody left me thinking "what a helluva nice guy/gal."

Some of the topics have me thinking, so I'm sure I'll be spilling a few pixels on them. I'm newly interested in ways of easing concurrency in app development, thanks of course to Steve Dekorte for the brain food. My new old friend from the Big Nerd Ranch Aaron Hillegass has ambushed my brain into thinking with big thoughts. ...again.

Oh! And this is my first post in MarsEdit, which is hacked by two presenters from the conference Brent Simmons of NetNewsWire fame and (for a time) Gus Mueller who founded Flying Meat Software. This is a great app. Where's my credit card?

October 17, 2006

Oh windows

This is why we use OS X and Linux as much as possible...

ohWindows.jpg

October 12, 2006

Geek wants his information!

runinfo.jpg

Apparently, when I'm a-runnin (er was runnin' back before I messed up mah hip), I like to know what's happenin...
and I pause a lot. It's because I'm a wimp. ok?

Little Icons:
? = Ask the nike+ for progress (how far, how fast)
! = Played the "powersong"
|| = pause workout (sometimes for stretching, mostly for going "can't breathe")

October 11, 2006

bash is cool

We know this functionality is there, but often forget.
IF we have a directory full of folders with plone_*

for i in plone_*; do mv $i iavtheme_${i#plone_}; done

will replace plone_ with iavtheme_ for each directory name

See these for other pattern toys (thanks Juan for reminding me of this useful stuff I never seem to use):

${variable%pattern}
Trim the shortest match from the end
${variable##pattern}
Trim the longest match from the beginning
${variable%%pattern}
Trim the shortest match from the end
${variable#pattern}
Trim the shortest match from the beginning

http://linuxgazette.net/issue18/bash.html

October 06, 2006

gumstix says bang womp womp womp!

I have sound coming out of my little linux box through the audiostix. sweeeet.

How to do it:
Recompile buildroot to include aumix and bplay
modprobe snd-pxa2xx-ac97, snd-pcm-oss, and snd-mixer-oss
set bolume to (say) 60% with aumix -v 60
then bplay a wav file with bplay /path/to/wav

wow. This is awesome!

Now... to compile an audio language... like (say) supercollider, pd, or chuck. :)

weeeeeee!

Thank goodness for parallels

Let's just say this is the LAST day I spend trying to get nerd hardware working with OS X. My old USB to RS-232 converter won't work, no matter which .kext I download, modify plist, install... It went so far as to register /dev/tty.usbserial for me, but the "device is busy" message was all I could get when trying to connect to it. Usb networking? Hah! There is one USB networking kext out there for using the Sharp Zaurus device. It looks hackable (if I want to spend a couple of days deciphering a thousand - line c++ file) to make usb networking happen with the gumstix. ... or I could just run ubuntu in parallels and allow it to take over the USB devices. A couple of modprobes with a bone stock ubuntu kernel setup and I was talking to the gumstix over usb networking AND serial. :) Yup. Nerdy things will be happening in linux. AND! I can still use my sexy mac to do it. Maybe I should clear out a partition to do Linux on this thing directly...

October 05, 2006

Gumstix uboot build

building gumstix buildroot has been fun. :) The only problems for me were:


that the uboot includes are of the #include <linux/config.h> type. This caused the compiler to try to include the config.h from my ubuntu linux headers rather than those in the buildroot directory.

I had to do a mkdir -p ./build_arm_nofpu/root/etc/udev/rules.d/ in the buildroot directory or one of the install scripts would puke.

I'll file bugs as soon as I can figure out who maintains this. :P