The Perfect Mix

October 12th, 2006

Paul Kim of Noodlesoft started blogging last month after I bugged him for months to do so. I do this kind of nagging with several people I know. I am hoping to improve the Mac blogging landscape by encouraging more development-oriented writing.

With Paul, it looks like I’ve succeeded. His latest article is a wonderful write-up on achieving the perfect gradient fill for an arbitrary path. He observes that simply applying a gradient to the bounding box can cause undesirable effects, depending on the shape being filled and angle of the gradient. Interesting!

I didn’t write the article, and I probably wouldn’t have figured out the trigonometry myself, but I can still take a little pride in that entry. In fact I get to take little tiny bit of credit for every great post he ever writes. I’m a blogging venture capitalist! If I convince enough people to write good stuff, then I can stop writing and just point people at their entries. Then I’ll have “really made it,” and I can get back to programming full-time!

Paul’s post describes how to perfectly mix colors in an arbitrary shape, but it also follows a sort of perfect mix for technical blogging. He probably followed these steps subconsciously, but let’s identify them for posterity:

  1. Identify a problem related to your own experience.
  2. Explain the problem in simple terms that non-specialists can understand.
  3. Allude to but gloss over the difficult steps you went through in solving the problem (doing the trigonometry).
  4. Present a working conclusion that everybody can share and enjoy.

Bonus points for pretty pictures with OmniGraffle.

I strongly encourage you to check out Paul’s blog if you haven’t already. It’s developing quite nicely, and I know where I’ll be turning the next time I have to fill shapes with gradients. I won’t be doing the trig myself!

Working On Windows

October 6th, 2006

The contractors are abuzz in the neighbor’s building, hammering, spackling, and chatting loudly with each other. I sit here staring into Xcode, furiously trying to figure out an NSTextField drawing issue, when I hear a choice bit of wisdom echo through my office:

“I just fuckin’ hate working on windows, man.”

Amen to that. Apparently the similarities between our trades run deep. Not more than a minute later:

“We both fuckin’ know we could do it, but it’s just a matter of looking up the code.”

Psychic hi-fives, buddy.

Google: Oh No You Didn’t!

October 5th, 2006

Today the tech community (at least all of my friends) are abuzz with news of Google’s new Code Search mechanism. Now, this is just cool. From this day forward when I’m struggling with some poorly documented, hard to use, or even private API, I should be able to just type it into Google code search and see how other people have managed to use it.

But that’s only the useful angle – not enough to really create buzz on the net. The two things people are having fun with today are exploring the answers to these questions:

  1. What does code search know about me?
  2. What private information does code search know about others?

The first is the natural extension of the ego search that many of us commit on a regular basis (or have RSS subscriptions set up to to do for us). It’s fun to read about yourself, especially when somebody else is doing the writing. For instance, I learned of several new “thanks to Daniel Jalkut” type comments in source code and readme files. Neat! I like that.

The second is more problematic. Google grabbed a bunch of the world’s “source code” … basically anything it could find with a suitable file extension, and made it easily searchable. What’s wrong with this? A lot of files with source-code extensions actually contain sensitive information, but have been left mistakenly world-readable on some web server. For instance, John Gruber points out the rather stunning example of WordPress database configuration files, including the database login and password information. He directs our attention towards Jason Kottke who has assembled several other interesting phenomena. I personally am amused by the search “This file contains proprietary and confidential information.”

Now, the quite reasonable reaction we’re likely to hear from Google is, “This was already public information, we’re just indexing it.”

True! But let’s not dismiss the power of indexing. Google is too big to “just index” anything. They’re the search engine of record. Too big to blunder with technology that endangers the innocent. I imagine that with 8000 employees, at least several hundred of them are smart coders who have been beta testing this service for several weeks or months. The chances of them not noticing these funny holes seems infinitely unlikely, considering that among my friends they were the first things we observed.

So what should they do? Stand in the way of progress to protect the innocent? I’m sure dealing with problems like this will become less onerous as time goes on and people become more sophisticated about protecting their own privacy, but until that happens, Google has special responsibilities. When they substantially advance the state of information retrieval on a world-wide basis, they should think about how they can soften the negative blows of those advances.

It’s hard to say what Google should have done, but even a well-publicized warning might have helped. For those who have been compromised, I imagine their view of Google would be a lot higher if the buzz last week had been on the forthcoming advancement and what it meant for everybody’s privacy.

My Podcast Habit

October 1st, 2006

Podcasting totally, I mean totally works for me. It’s gotten to where I almost never use my iPod for music. I play music through my home stereo speakers, but when I’m on the train, at the gym, or walking somewhere, I listen to podcasts.

I’ve noticed that people either totally get or totally don’t get podcasts and their allure. Let me summarize for those on the verge of joining the revolution: if you spend any part of your day in a boring place, podcasts will make that time more interesting. I look forward to running on a freaking treadmill, partly because it makes me feel good, but mostly because I know that I’ll get time to catch up on my ‘casts! No matter what your interests, there is some podcast of value out there that will speak to you.

The hardest part about being a podcast listener is building a trustable arsenal of content. The ratings services of iTunes or Odeo can be helpful, but unfortunately a lot of people also like crappy podcasts.

So I’m doing my part by sharing the ones that make me happy. I’ve updated the “Some Podcasts I Like” sidebar section to accurately reflect what I’m listening to do these days. Some of the stuff that was in there before had gone stale, and I’ve added some new items to my subscription list. I decided I’d give a little more information on each of them here.

  • Buzz Out Loud is a great daily news roundup for technophiles. Molly, Veronica and Tom discuss the day’s news in a slightly irreverent manner. What makes this podcast great is the high production quality and consistent pace. A good lightweight show to stay on top of technogossip.
  • Cocoa Radio features one-on-one interviews with Mac developers. It’s been pretty slow to release new episodes this year, but when they do come out, they’re usually worth hearing. The content is not very technical, so if you’re just a curious Mac-ophile, it’s worth checking out.
  • Entrepreneurial Thought Leaders is a series of speeches and interviews from the Stanford Technology Ventures Program. I really like “speeches by smart people,” and they manage to hook quite a few of them into participating in this series.
  • FLOSS Weekly is a two-on-one (kinky!) interview format focusing on Free, Libre and Open Source Software. Chris DiBona and Leo Laporte interview leading members of the open source community about their software, legal issues, and occasional tales of drunken debauchery.
  • Inside the Net is the second of my TWiT addictions, this time featuring Amber MacArthur and Leo interviewing notorious or merely interesting personalities “from the web.”
  • MacBreak Weekly. I just discovered this, even though I’m a total TWiT junky. MacBreak is a video podcast and well, I don’t do video. So I must have glossed over the existence of this Mac-focused audio news roundtable. Merlin Mann of 43 Folders is a regular, along with Leo, Alex Lindsay, and Scott Bourne. This is basically like TWiT (see description below), but all Mac focused. Good stuff!
  • Nerd TV has been dormant for a while, but is apparently on the verge of a “new season” rechristened as Supernerds. I said I don’t do video, but Robert X. Cringely’s excellent interview series is thankfully also available as a plain mp3 podcast.
  • TED Talks. I have to admit I was skeptical about the TED conference. Hearing the way people talked about it, I assumed it was just a big, elite, members-only mutual-back-patting society. And maybe it is, but they have some killer speeches. This podcast contains absolutely mind-altering stimuli in the form of capsule (20 minutes or so) lectures by leaders from the academic and technical worlds.
  • This Week in Tech. The granddaddy of all tech podcasts. I used to listen to Leo Laporte on the radio when I was a kid, growing up in the bay area. I never could have imagined I would be listening to him 15 years later on several of my favorite podcasts. TWiT is the canonical tech news roundup, featuring a rotating cast of regulars and special guests. Leo really knows his stuff, and has a pro-Mac bias. My only complaint is his current dumb fixation on calling the shows “Netcasts.” Speak our language, Leo! Don’t go changing waterfalls.
  • Venture Voice is also fairly slow to update, but features great interviews with an entrepreneurial angle. Host Greg Galant does a good job of playing the passive instigator, calmly asking questions that bring out the interesting stories his guests have to tell.

Well! If you’re new to podcasting, that ought to be enough to get you started. And from that list, you can probably gauge pretty well what my tastes are. Given that, is there something you just know I’m missing? Please comment if you have other quality shows to share.