Monthly Archives: October 2008

Tour of Karen’s studio

A little while ago, Karen and Leah decided to make the leap and get themselves some studio space outside the home. The went in together and found this great place down in the SODO – an open loft space in what I’d describe as a reclaimed warehouse. Huge ceilings, beat-up but sturdy wood flooring, and very open. The room has three huge windows that face west, bringing in a lot of light.

But why just talk about it? Karen and I went down there today so that I could see all the work they’ve done setting it up and getting it functional for them to do their various art projects:

old warehouse flooring

wall of windows

looking back through the whole studio

karen's workspace

karen's workspace

Follow the money

I’ve followed (and used) Lawrence Lessig’s work in Copyright legislation for quite a number of years. If you don’t know who he is and what’s he’s doing, I recommend taking a look. Wikipedia has a pretty decent biography, or you can view his personal website, or even read his blog.

Most importantly, however, I’d like to urge you to take a bit of time and watch his presentation entitled Follow the Money. It’s a well documented and well reasoned argument making the point that our government is no longer functioning correctly due to it’s increased and continued dependence on special interests and lobbying. This issue is bipartisan – it’s not just a liberal or conservative problem.

In the presentation, Lawrence talks about how to change this situation we’re stuck in… how to make a difference. He’s at least got some ideas, and he’s put them together at the site change-congress.org.

Take a look, and then send a note to your representatives and senators letting them know that this is something that’s important to you. Or not, if you prefer to continue to getting screwed over.

Rands In Repose: FriendDA

If you haven’t read Rands in Repose before – now’s a good time. He’s got a particularly good article up today:

Rands In Repose: FriendDA:

The lesson of the Holy Shit is that when you stumble upon a truly revolutionary idea, you have the ability to recognize it. There are lots of people who, when they first saw a web page, thought, ‘I can order pizza on the phone with a live person. Why would I do it on the computer via, what’d you call it? A browser? Also, why is that text blinking?’

You didn’t see pizza. You didn’t even see the blinking text. In fact, you saw nothing in particular; you just had a gut feeling. There was no logic or strategy behind the gut feeling, it was a sense of deep potential. Your amorphous thought was, ‘I can’t think of anything I won’t be able to do on the web.’

A Holy Shit is the instant of instinctually recognizing massive potential.

He goes on to talk about FriendDA, which is something that has been implicitly used among a lot of tech geeks that I know for a number of years. The concept has been incredibly prevalent among iPhone developers even prior to the notification that Apple was rescinding that too-fucking-long-lasting NDA. Thursday nights at Luau, after Xcoders, there’s bound to be all sorts of talk. It shouldn’t be a surprise that iPhone’s get whipped out and running sample code passed around. “Yeah? How’d you do that…” comes up frequently thereafter and the conversation takes another left turn and riffs on some technical content for a while until the next round of beer shows up and shuts people up again for a bit.

Foiled!

I went out to see if I could find one of those new MacBook Pro’s in person and see what it felt like – if the new keyboard was significantly different and exactly what it was like to use a trackpad without a specific physical button.

Well, the U Village Apple Store is completely shut down right now. They’re reopening on October 25th when they complete their renovations. They’ve been “renovating” for a while now – the interior has been this sort of unduly cramped space for ages. You could go in and get something, but it was almost useless as a “I want to just browse through the goods” sort of thing.

Even closed, the Apple store had a fellow sitting out on the bench across from the closed store, prominently wearing an Apple ID badge that you see on their employees. He immediately spotted me and struck up a conversation, asking what I needed. He suggested that I could see the new Macbook Pro’s at the Mac Store or maybe Best Buy. I’ve sworn off ever going to the Mac Store again (after multiple repeats of incredibly horrific service prior to the Apple stores existing in Seattle). So.. I headed to Best Buy up at Northgate.

Unfortunately, Best Buy wasn’t much of a help either. They had out the new Macbook Air (sweet!), but only the older models of Macbooks and Macbook Pros. I asked the sales dudes (who repeatedly asked if I needed anything – pretty much standard BestBuy), but their answer was “Yeah, we got em. We’ll have them out after we sell off these remaining macbooks.”

Thanks guys, but I’m not buying an older generation Macbook just so that I can look at and feel a new Macbook Pro to see if I want to buy one. I was polite, not snarky – although I did tell them I wasn’t buying one just to see the new model. I’d be annoyed at Best Buy, but frankly that was right in line with my expectations – so why bother.

Maybe I’ll get back to the Apple Store in UVillage next Saturday. I can see the new Macbook Pros and what they’ve done with the remodel at the same time…

Getting involved with the City of Seattle

I saw a posting last week on Meet at the Pig talking about this CCTAB thing and that they were looking for people to apply to participate in it.

I didn’t even know something like the Citizens’ Telecommunications and Technology Advisory Board (CCTAB) existed until I saw that notice. The writeup at Meet at the Pig was excellent and it seemed like a really good thing to get involved with.

I submitted my resume for consideration (it’s an unfunded position – I’m not switching jobs) and got a ping back today asking about interview times early next week. I was told the interview was an informal chat – I haven’t a clue what they’re even going to be asking about. But, like anyone else, I started doing some homework. Their web site was actually a bit tricky to find, even with Google. Fortunately some-how one of their minutes got indexed into the greater google mind-meld, so I was able to track it down. They have agendas and minutes with notes going back a fair bit, so I’ve been doing a lot of reading. They even started podcasting their minutes that I found while digging around, although I didn’t spot the link in the last few minutes to pop it in here.

There’s a lot of interesting projects going on – public wifi, fund matching for community technology programs, an effort of make seattle government more transparent called MyNeighborhood Map, SeattleChannel, the HDTV cutover, cable & fiber provisioning for internet access in the city… I suspect it’s larger and deeper than even that.

It’s got me thinking about grand views and where I think the city government can touch to make Seattle better… and what “better” actually means.

Pumpkin Pie, 2008

Sugar pie pumpkins are available again… I baked one down last night, and today it’s becoming the first pumpkin pie of the season for me.

The recipe I use is pretty minimalistic, but it’s from one of my favorite cookbooks: The Boston School of Cooking cookbook, this particular edition was published in 1929.

1929 Boston School of Cooking: Pumpkin Pie

photo.jpg

NDA backlog

Since the NDA has been, or is in, the process of being lifted, I thought it was high time to post some of those blog notes that I’ve scribbled down in the past while I’ve been working on Seattle Bus. I don’t think there’s anything truly dramatic there, but if you’re curious why I published four blog posts in 4 minutes – well, that’s why.

It’s still awkward that cocoa-dev, my reliable standby for years, hasn’t got itself new rules for dealing with iPhone discussions. At this point, the discussions have forked and there’s mailing lists, web forums, and whatnot scattered all over the place. I think it’ll take a while for the information sources to re-converge, in my opinion a bit of lasting damage from the extended NDA weirdness that Apple decided to keep rolling.

I’ve been periodically replying to an iphone SDK list on google groups, but I’m seriously thinking of unsubscribing there. It is unfortunately full of folks asking questions without apparently even having begun to read the documentation. I haven’t started replying with How to ask a smart question, but I’m getting ready to…

SeattleBus Diary: UITabBarItem images…

SeattleBus uses a the UITabBar for the primary navigation around the application. With each UITabBarItem you can set a few attributes. You can choose to use a system defined UITabBarItem, or you can specify your own name and image. It also allows you to badge the items if you’re so inclined.

The interesting lesson to be learned is that the images used in the UITabBarItem properties aren’t used with all their colors – they’re basically a mask. The image that’s displayed in the user interface is based on what’s set to transparent or not, obscuring any additional detail you might think you’re adding. That’s actually a bit of a relief – I was worried about matching the colors properly. Took me by surprise when my images were solid square blocks though. I’ve since used Acorn to generate up some PNG files with transparent sections to make my UITabBarItem masks, and that appears to be working quite well.

By the way, make your mask about 30 x 30 pixels. Making it smaller just looks funny…

SeattleBus Diary: problems getting a distribution build made correctly

This isn’t new news – just bits that I couldn’t post because of Apple’s NDA on the technologies behind the iPhone. I wrote the results a little while ago – but I wanted to put something up here for Google to find and help out other folks in case they run into the same issue.

When a distribution binary is created, it gets signed with provisioning profile that has some specific certificates embedded within it. The whole kit gets cryptographically signed, and that signature gets embedded within the application bundle. Buried inside your application, there *should* be a file named embedded.mobileprovision. The file is a serialize plist with a bunch of certificate and signature information embedded within it. If your build settings are incorrect or otherwise screwed up (which was happening in my case), the signature process simply doesn’t create this file. The AppStore won’t even accept a binary without this file inside it and with the appropriate signatures.

The specific problem was that I’d put in a target specific build setting some time in the past, and when I changed the project build settings according to the directions for distributing a binary, it was getting overwritten with the target specific settings that were incorrect. Instead of giving a warning or erring out when the provisioning file I was pointing to didn’t exist, it just continued on it’s merry way – the log looking for all the world like it was working just fine.

I’ve filed a bug against Xcode for it not warning about the incorrectly specified provisioning profile (radar 6095242).

SeattleBus Diary: Using CLANG static analyzer with an iPhone project

Like a number of other Mac developers, I caught the word and then the bug for using Clang Static Analyzer. I remember when I first caught wind of it, hearing about it on twitter and spotting a number of del.icio.us links to it. The note that really caught my attention was someone mentioning it and saying “too bad you can’t use it with the iPhone development…”.

That completely surprised me, because the first project I tried it on was SeattleBus. It was great for identifying a few memory leaks and missing -dealloc methods, I was hooked right off the bat. It wasn’t until later that I started trying to figure out that statement and realized that the analyzer doesn’t support analyzing ARM binaries. It does a great job on intel binaries though, so I realized that when I set my project to default to building for the simulator, I could use the analysis program.

My workflow after I’ve really worked on the codebase is now:

  • Make sure the project default settings are “debug” and “simulator”
  • Close Xcode
  • open a terminal window and “cd” to the project directory
  • run rm -rf /tmp/scan-build*
  • run rm -rf build/;scan-build --view xcodebuild
  • Open Xcode and fix errors

That’s been working great for me ever since.