
I’d been looking for an excuse to create a Cocoa app for a while. Even though I still switch hit between Ubuntu and OS X, I spend most of my time on OS X these days. I’d gotten Cocoa Programming for Mac OS X a while back, but had been missing that real-but-simple app idea to give it a whirl on. Until Localghost.
You see, I edit my /etc/hosts litearlly a dozen+ times a day when I want to test things in their production configuration, but with my development version. Localghost adds / removes a set of selected hosts from /etc/hosts with a system tray applet. There’s more info here:
Localghost page.
I’ve finally succumbed to the Github bug and have been slowly offloading small projects that I’ve created mostly for work stuff. The latest of these is a relatively small hack to produce an RSS fit from a Git repository, which I’d wanted to have posted in our intranet.
Usage is simple and includes a command line thinger so that uses sinatra, so you can get it all in one go. The source and docs are here.
Additonal hacks that have now been thrown into the wild:
- fooq — a little wrapper around GCC that lets you write C / C++ one-liners or small script like thingers, and automatically includes and links Qt, without having to futz about with a make file or a main function, etc.
- QActiveResource — a hack for work since we make heavy usage of ActiveResource to pull data. This one’s a lot faster than ActiveResource for reading data — basically a C++ implementation of the find method. Details in the company blog, or naturally on Github.
- ShoParTender — Greasemonkey script to make the Shopify partners panel less unweildy. Details in the Shopify developers forum.
- Chuckery — A bunch of my utility classes and my preprocessor for the ChucK audio synthesis language. Finally got around to converting this old CVS repo to git.
- Quebec — A graphical (Qt) frontend to the standard command line calculator, bc. Includes history copy-paste and all that jazz.
I’ve realized that slowly I’m becoming a Ruby-ist. I still feel mediocre at the language, but more and more I’m finding it my go-to language for quick hacks. Drinking the Github Kool-Aid just brings me one step closer to the fold.
TagLib, which I wrote way back in the day and has since been through many releases had another bug fix release that went out today, handled by Lukáš Lalinský, whom I handed over the reins to a bit back. There are more details in his blog post.
There’s one funny bit in the history of starting up Directed Edge: I have no idea when I decided to do it. I don’t really know when the idea first crept into my head seriously to start a company. I did a little reconnaissance on my e-mail and file archives and put together some of the critical moments:
- October 25th, 2005: Mailed Paul Graham asking about books on startups
- July 1st, 2006: Moved from working at the SAP LinuxLab in Walldorf, Germany to Native Instruments in Berlin
- January 29th, 2008: Ordered “Competitive Strategy” and “Harvard Business Review on Entrepreneurship”
- February 5th, 2008: Joined Hacker News
- February 19th, 2008: Ordered “Founders at Work” and “Fundamentals of Database Systems”
- February 28th, 2008: Last edit to list of 31 possible startup ideas
- February 29th, 2008: Asked Valentin if he’d like to co-found
- April 3rd, 2008: Notified boss at Native Instruments that I’d be leaving at the end of June
- April 16th, 2008: Ordered “Art of the Start”
- April 23rd, 2008: Went to first local founders event (Business & Beer)
- March 4th, 2008: Started our intranet wiki to begin organizing thoughts
- March 8th, 2008: Registered directededge.com
- March 13th, 2008: Sent mail to LUG where I’d gone to college asking if any other alums had founded companies
- March 13th, 2008: Got German permanent residence (meaning I didn’t need a normal job to continue living here)
- May 23rd, 2008: Went to TechCrunch Meetup Prague
- June 11th, 2008: Went to TechCrunch Meetup Berlin
- June 20th, 2008: Attended Mini-Seedcamp Berlin with Valentin
- June 27th, 2008: Full-time on Directed Edge
It was a little surprising to me that I’d apparently thought over starting a startup as early as 2005. That was, notably, only a few months before I quit at SAP, and getting the itch to move on was presumably the trigger. That went into remission once I was settled in Berlin and working for Native Instruments. I don’t remember when, exactly, I started entertaining the idea seriously. Certainly for most of my time at Native Instruments, I was not. It would appear that circa January 2008, with the prospect of German permanent residence at hand, that I began the motions of learning more about what it would take.
It’s also hard to self-evaluate and say if I moved slowly or quickly — obviously I’d been toying with the idea for 3 years by the time I went full-time, but from starting real research to giving notice at work was only two months.
Having done the research, I thought I’d make it here, both to preserve it for memory-lane and on the odd chance that it’s interesting for anyone else.
I’ve traveled a good bit in my day; I’ve been to some 20-odd countries, 4 continents, you know, the works. And if there’s one thing that I hate more than airports, it’s booking travel online.
The problem is this: my goal is not to book flights at specific airlines, at specific airports, with specific ticket classes — it’s to book a trip. Trips have different goals. For example:
“I want to visit Albany and New York City next week. I have to be in Albany on these days; NYC is flexible.”
or
“I want to go to central London next week, and need to be there for at least 3 days.”
I don’t care about the details. I want to know:
- What are the options?
- How much do they cost?
- How long do they take?
I don’t want to have to know that Airport X is actually 30 miles from London, so I’m going to have to get a bus that costs me another £30 and takes an hour. That should be worked into the equation. I don’t care that renting cars is twice as expensive in Manhatten as it is upstate. If it turns out that a high-speed train is almost as fast as a plane, I want to know that.
See, travel sites create the illusion of providing the information that I cite above, which is what makes them so infuriating. In practice, it almost invariably takes me several hours of looking at options just to figure out how I effectively can get from point A to point B, and what the costs and logistics involved will be.
In my dream world:
Here’s how it works in my dream world: I pick two places on a map, just like I do on Google Maps, and I get back options for how to get from point A to point B, with all variable covered. I get nearly exact amounts of time, total costs and when I can get started. I can chose to optimize for speed, comfort or price.
So after Fred’s post caused a little bit of a stir in the blogosphere by downplaying some of the advantages for startups being in Silicon Valley, and being from a Berlin-based startup that’s out exploring the Silicon Valley vibe this month it set me to wondering — just where have most of the “great” software companies been started?
Forbes has a list of the 2000 largest public companies, so I went through and picked out the top 20 and noted their locations. Here’s the list:
- IBM, New York
- Microsoft, Washington
- Oracle, California
- Google, California
- Softbank, Japan
- SAP, Germany
- Accenture, Bermuda
- Computer Sciences Corporation, Virginia
- Yahoo, California
- Capgemini, France
- Computer Associates, New York
- Tata Consultancy Services, India
- Infosys Technologies, India
- Fiserv, Wisconson
- Wipro, India
- Symantec, California
- Adobe Systems, California
- Affiliated Computer Services, Texas
- Activision Blizzard, California (non-Valley)
- Intuit, California
Notably, 7 are based in California (all but one in the Bay Area). On the one hand, it certainly is far and away ahead of any other location (Bangalore, interestingly, being its closest competitor); on the other it shows a wider distribution of companies than one might assume. I’ll leave further conclusions as an exercise for the reader.
Update:
I realized after publishing this that I’d used the 2007 numbers rather than those from 2009. The number of companies in Silicon Valley remained the same.
2007 Numbers:
1. IBM, New York
2. Microsoft, Washington
3. Oracle, California
4. Google, California
5. SAP, Germany
6. First Data, Colorado
7. Electronic Data Systems, Texas
8. Softbank, Japan
9. Yahoo, California
10. Symantec, California
11. Computer Sciences Corporation, Virginia
12. Capgemini, France
13. Tata Consultancy Services, India
14. Fiserv, Wisconson
15. Adobe Systems, California
16. Infosys Technologies, India
17. Computer Associates, New York
18. Wipro, India
19. Affiliated Computer Services, Texas
20. VeriSign, California
- IBM, New York
- Microsoft, Washington
- Oracle, California
- Google, California
- SAP, Germany
- First Data, Colorado
- Electronic Data Systems, Texas
- Softbank, Japan
- Yahoo, California
- Symantec, California
- Computer Sciences Corporation, Virginia
- Capgemini, France
- Tata Consultancy Services, India
- Fiserv, Wisconson
- Adobe Systems, California
- Infosys Technologies, India
- Computer Associates, New York
- Wipro, India
- Affiliated Computer Services, Texas
- VeriSign, California
I’m not one of the sort of folks that gets irritated when people unfollow me on Twitter, but I do like to keep track of it. Qwitter used to provide that service, but it’s been absent without leave for a good long while.
So I hacked together a little Ruby script that when run shows me the folks that have unfollowed me since the last run and a little info on them. Just add your username / password right up there at the top and let the disgruntledness begin! Enjoy.
I’m an avid reader of news.yc, but it’s annoyed me for some time that the RSS feed is rather broken. So, I decided to dust off my Lisp skills and give it a go. The biggest chunk was adding code to do conversion from UNIX timestamps to UTC in Arc. Significant stuff that works now:
- Articles are properly sorted newest to oldest.
- Articles have proper timestamps so that they’re sorted properly by feed readers.
- Articles that drop off the homepage aren’t immediately removed from the feed to prevent them from being duplicated in if they come back.
Patch is here.
I got started with web programming in the early days. ‘97, specifically. CGI.pm was the soup of the day for 4 years straight. But starting in early 2001, I went off to do server and desktop programming and didn’t return to the web until 2008.
I’m not a designer; I’ve never intended to be. But I do think I have a better eye for it than the average hacker. So it’s been an interesting process getting my feelers out to web-design again. These are the 5 designs (in current form, the first two have been updated to look nicer) that I’ve done in the last year. It’s been a steady progression from my out-of-the-90s-let’s-get-Pearl-Jam-on-the-phone style design to something more modern.
Design seems to work like a lot of things. When you’re not doing it, you’re not paying attention to how it works, what you like or why you like those things. Once you start paying attention to it, start becoming self-aware, it starts coming more naturally.
The downside is that there’s a wake of designs I’m not thrilled with behind me. The Directed Edge page is hurting for an update, but it’ll probably be deferred to our next product release.





After a handful of Tweets on the topic a while back I ended up having a brief email exchange with John Musser from Programmable Web (great site, by the way, basically an index of web service APIs). I’d mentioned that I’d really like to find a tool for handling both quick and systematic tests of REST APIs. I went ahead and sketched out a UI here for how I might do something of the sort. Perhaps at some point in the not too distant future I’ll actually implement the code. curl is a bit tedious.

Here’s the Qt Designer file.
Recent Comments