SimpleBits and Simpletons

March 24th, 2007

By now there’s a good chance you’ve heard about the exceedingly silly ripoff of Dan Cederholm’s new SimpleBits logo. Basically, this graphics clearinghouse called LogoMaid made the mistake of acquiring, and proceeding to offer for sale, a logo that has an undeniable resemblance to Dan’s original art. A forgiveable mistake, maybe – but the problem is LogoMaid refuses to admit any wrongdoing.

The discussion thread on the Flickr page is worth at least skimming through. I got sort of wrapped up in the drama and read most of it. It was mostly back-and-forth between “everybody reasonable” and the LogoMaid representative, who makes himself look like an idiot repeatedly.

But I was inspired by parts where Dan explained that the original design of the logo was inspired by rotating a simple curly brace four times to build an enlosing shape. I’m attracted by these simple “creativity starters,” and while I’m not a designer, I do rank “design skills” among those that I would absolutely love being able to snap my fingers and acquire.

So every once in a while I try to spend a little time working towards developing them. Usually this just means trying to figure out Illustrator’s Pathfinder. Again. And then saving off the doodlings and going on about my work. But this time, in honor of Dan’s “rotated glyph technique,” and as an excuse to help spread the word about this appalling case of theft, I decided to share my creations.

Two “logos” inspired by Dan Cederholm and the SimpleBits logo.

Beanflakes, Inc.

Popcorn Luau, LLC

In each logo, the border is a collection of asterisk characters, arranged to form a sort of container. Inside is a “hand-drawn” shape – a tribute to the Cederholm cube.

Will You Sit Or Will You Steer?

March 23rd, 2007

The last time I invoked boating metaphors, it was to support my belief that the best way to achieve your goals isn’t always by aiming directly towards them. I should disclaim the fact that I haven’t actually sailed enough to qualify making broad generalizations about life, but there’s something about piloting a boat that makes you think deep thoughts.

In fact, just thinking about boating can have this effect. Spring is here, and the Community Boating Center in Boston will soon be opening its doors for the season. I plan to get back down there and put some more hours into zig-zagging (tacking) my way up and down that short stretch of the Charles River. A great way to get away from the computer and unwind for a while.

One of the great qualities of the center is how much power they give individual members, even complete newbies, to control the course of their sailing education. After just a couple hours of safety instruction, you can be out on your own in a small boat, even if you’ve never sailed before. Of course, this isn’t recommended. A more usual approach is to first spend some time with sailing mentors, who will take you out and let you learn the ropes (finally, not a metaphor!) with the comfort of knowing an experienced sailor is there to handle any emergencies.

On my first day, I was anxious to go out by myself but decided it would be smart to go out at least once with a mentor. I ended up on the largest boat they have, and there were about 5 of us on board. This complicated beast of a boat was way over my head. I was periodically asked to tug on this or that rope, but I didn’t understand anything. While another newbie sat across from me and seemed to be having a blast, I was wondering whether I would like sailing after all. I realized of course that I wasn’t having any fun because I was merely a passenger. Worse, a passenger who has to take orders even if he doesn’t understand them.

When the opportunity to disembark came, I jumped at the chance. I went straight back to the pier and asked the dockmaster for my own boat. My frustration had fueled my desire to learn how to sail on my own terms, in my own boat. What’s the worst that could happen? I could get the boat stuck under the bridge. Embarrassing. I could capsize. Embarrassing, slightly dangerous, and dirty. No matter – I’d rather crash my own boat than be a useless passenger on theirs.

Of course this story is just a monster of a metaphor for many decisions we face in life. My decision to splash out on my own that day was not unlike my decision to become an independent software developer. I suspect that readers will find themselves resoundingly in agreement with or confused by these decisions. The reaction has to do with whether you’re a sitter or a steerer. There’s nothing wrong with being one or the other, but you should get comfortable with your own attitudes in that regard. Sitting is safe and highly predictable. You’ll know where you’re going and approximately how long it takes to get there. Steering is sometimes chaotic and steeped in responsibility. You probably can’t even control exactly where you end up, but when you get there, you’ll know exactly which route you happened to take. And you’ll celebrate or regret that route. Your route.

I should point out that sitting vs. steering isn’t as simple as flying solo vs. working with a team. The best companies are filled with both types of people. If your ambition is to steer, you can do so within a Fortune 500 company or in your spare bedroom. You can collectively steer a giant ocean liner like Apple, where thousands of co-captains secretly plot out the company’s destiny. Or you can join the Google Regatta, where a thousand little sloops flitter in the wind yet move vaguely in the same direction.

Or you can sit back and enjoy the ride.

Black Ink 1.0.1

March 23rd, 2007

I always like how the first update after 1.0 looks like some kind of a made-for-TV college course on the subject of the application. If you’re ready to enroll in Black Ink 101, you’ll be pleased by the following small but important bug fixes:

  • Fix a crash when loading puzzles of differing height/width (e.g. 15×16)
  • Fix inconsistencies in respecting “insertion movement” preferences

Happy solving!

The Responder Chain

March 23rd, 2007

Looks like I’m about a week behind in my Late Night Cocoa listening. I finally caught up with the episode on NSResponder, featuring Aaron Hillegass of Big Nerd Ranch.

Scotty is doing such a fantastic job with all the podcasts, I shouldn’t be surprised that this one was also excellent. I really like the way he pulls information out of his guests in a way that makes the shows engaging for both experienced and (I assume!) newbie Cocoa developers alike.

This episode in particular is a must-listen for Cocoa developers who aren’t completely comfortable with the responder chain. In particular, I like the way Aaron comes right out and declares the "First Responder" proxy icon in Interface Builder to be "a lie." In my travels I’ve found that "First Responder" is a woefully misunderstand concept.

Mostly the material in the show was a recap for me, but one concept I had never considered was that of a "view controller" that is inserted directly into the responder chain. Whoah, nifty! Aaron referred specifically to the MOViewController from the MOKit open source framework, by Mike Ferris. The idea is instead of subclassing a view to be able to get at all of its NSResponder-oriented behaviors, why not just insert an object immediately before it in the chain? Now you can respond to whatever want to (Aaron uses the example of a delete key for NSTableView), and pass the rest of the events through to the view.

Great stuff. Thanks Scotty & Aaron for an entertaining and educational show.