Wednesday, August 27, 2008

[books] The Innovator's Solution

The Innovator's Solution: Creating and Sustaining Successful Growth The Innovator's Solution: Creating and Sustaining Successful Growth by Clayton M. Christensen

My review

rating: 4 of 5 stars
I finially finished working my way through this excellent book. I think the Solution is actually better than the Problem - but is not a substitute.

It has excellent lessons, with the usual case studies that is standard Christenson fare. I believe these to be important regardless of your particular situation - may you be a worker bee in a big organization, an entrepreneur trying to figure out how to break into a market or a big company exec trying to figure out how to not get eaten by the dozens of downmarket competitors.

I particularly like the framework that is laid out for evaluating the position of a given company in the oscillating cycle of specialization vs commoditization (and back) and how that changes what a company should be focusing on.

View all my reviews.

Saturday, August 23, 2008

The *complete* Hacker News feed

A friend and I were discussing feeds that we read and feeds that frustrate us. One of our common pet peeves was Hacker News.

The good:
Its fresh. Compared to the news here, Slashdot feels like old and eaten by mothballs.
The opinions are not absolutely stupid (ala Slashdot).
All in all, a worthy read.

The bad:
Each item on HN is a link. And that's it. So you *have* to go to the next site to read it. This is fine on a laptop (sometimes) but it *completely* blows on my iPhone where doing this often causes Google Reader to get swapped out in Safari thereby resetting my state. Yes, yes, I know, its reader and Safari that are to blame not HN, but HN I can fix.

The fix:
Enter Yahoo Pipes
I played with it for about 20 minutes and came up with a way to get the HN feed and fetch all the content for each item and insert it back into description.
The result? A Hacker News Piped Feed that you can subscribe to! Its rough around the edges - a lot of pages have tons of horrible content and this thing snarfs it all up; but it gets the job done.


Friday, August 22, 2008


Tried to break a bike lock by freezing it first using inverted canned

Epic fail.

Thursday, August 14, 2008

itunes and ampache: fixing a broken relationship

iTunes does not like m3u files. Or at least not the kind that ampache spits out. For the uninitiated, here's the flow of things to get music streaming to your computer:
1. Find friend with *humungous* music collection.

2. Get said friend to give you access to his collection.

3. Friend runs ampache which looks so ugly that you can't wait to get off the webpage and onto the listening. But that's okay, because the music is really good, and there are few other solutions out there that do *exactly* what you want, despite really bad html+css (user xp? what's that?)

4. Get the m3u playlist you want to play.

5. Watch iTunes add *each* song into its library as if it were a different song.
[scream in frustration]

6. Google search like crazy. Not compromising on:
6a. ampache, or
6b. itunes.

7. Turns out I'm not the first to notice iTunes's brokenness and people with more time than me have created a nifty utility called m3u2itunes which sort of fixes the problem. In the same way that a spare tire solves a flat tire problem. Which is to say, it doesn't solve it at all, but at least makes the experience a little less like a dentist appointment.

8. Be happy again. You can listen to said friend's library *and* not destroy your itunes catalog in the process. Woot.

Saturday, August 9, 2008

C++ is still #1

Love it or hate it, the data does not lie.

Google's CodeJam competition has plenty of stats about the languages used to solve problems; plus they give you the data if you want slice it and dice it differently. The two most interesting charts:

C++ is indubitably #1. And this is in a competition where coding speed actually matters - you have two hours to do 4 really hard problems. I would have thought that python / ruby / perl / lisp and other high level languages would have *dominated*, I'm glad I didn't put any money on it.

2. The Olympics of coding (by country)
Lots of Indians were enthusiastic, but we take a beating in Round 2 (the order is a bit messed up; its Qualifying, 1, 1a, 1b, 1c, 2, 3). The Chinese are *dominating*, and its a toss up between the Russians and the Americans.

Oh and try solving some of the problems: definitely my day of learning humility when it comes to coding.

Wednesday, August 6, 2008

Dictionary lookups with quicksilver

(Sorry for the hiatus, etc)

If you're using a Mac, QuickSilver becomes an invaluable add on very, very quickly. If you're not using, it stop reading and install it now.

Really, I'll wait.

Now that you have QS installed, here's a way to do really quick dictionary lookups:
Open QS preferences
Go to plugins
Add the Services Menu Module.
Note: Do *not* add the dictionary module - that will not work in 10.5.
Once this is done, you can open a normal QS window using your hotkey (mine is Apple-Space)
Hit "." to start typing free text.
Hit "Tab" to go the secondary window containing a list of actions.
Start typing "Lookup in". Usually, I have to type "Loo" before QS figures it out.
Et voila!

Much better than going to or or even doing "define: foo" in Google.