Startup School in Sunny CA

Some background. My friend Adam was selected as one of this year's Y-Combinator Winter Founders. For the past few months he and his partner Josh have been building a startup company named "Tsumobi."

Thanks to Adam, I flew out this past weekend to attend Y-Combinator's Startup School. All in all, it was a totally unique experience.


(The auditorium was packed.)

The speakers were really good. Almost everyone had some useful insight. My favorites were Mitch Kapor (founder of Lotus, and no slouch since then either) and Greg McAdoo Partner (of Sequoia Capita). And as I understand, Paul Graham's presentation was something of a novelty because he used slides.

The audience was a very cool collection of geeks. Unfortunately, there were a few individuals that would mob each speaker as he or she tried to leave the stage. It wasn't clear to me if they were looking for investors or new best friends, but some of the speakers got a little wild eyed trying to escape.


(Thankfully RoboCop was there to escort the speakers off the premise.)

That said, I meet some really sharp other attendees, including several folks I'd previously only met electronically. I even ran into my friend Davy who was down from Washington for the weekend.


(Trendy Nightclub or Geek Social?)

I managed to pick up a sore throat on the plane and by Saturday night I was so exhausted that I feel asleep on the couch in the middle of a networking event. Not my finest moment. But it was definitely worth it.


(Heck of a view looking down from the hills toward the city.)

Mountain View itself was kind of awful, but the warm breezes of California were amazing. You know, I'm not sure if I'll end up with my own startup company at some point, but today it actually feels doable.

I'd say that's the real takeaway from Startup School.

posted on: 03/29/2007 | path: /tech

Building Rubinius

Have I mentioned how cool I think Rubinius is? It's totally awesome. Here's how I got it building on my Mac:

# Make sure ~/bin is in your path before doing this
cd ~/bin
wget http://www.opensource.apple.com/darwinsource/Current/ruby-22.2.2/ruby/mdoc2man.rb
chmod a+x mdoc2man.rb

# You'll need DarwinPorts/MacPorts installed

sudo port install subversion

sudo port install readline
sudo port install ruby

sudo port install pkgconfig
sudo port install glib2

# Now use Ruby Gems

# Had to download package manually for some reason
sudo gem install rake
sudo gem install RubyInline
sudo gem install rspec
sudo gem install ruby2ruby (needed by RSpec)

# Check out Rubinius
svn co http://code.fallingsnow.net/svn/rubinius/trunk

cd trunk

cd externals/syd-parser
rake package
cd pkg
sudo gem install sydparse-1.2.2.gem
cd ../../..

rake build:all

I'm pretty sure that's what I did anyways. =)

posted on: 02/06/2007 | path: /tech

Digging the Paste Way

I'm using Python and Pylons for a project at work, and I deployed my application for the first time today.

I've mostly enjoyed using Pylons. Although it does suffer from Too Many Files Syndrome (which I'll try to talk about in a later post) and the javascript/AJAX stuff feels cobbled together and undocumented compared to other frameworks like Rails or Seaside.

It's basically just another MVC web framework, but it works and I like its philosophy of loosely coupled best of breed libraries. In particular, it's been great how easy it was to use SQLAlchemy instead of SQLObject.

SQLAlchemy is insanely powerful (though not as user friendly as I'd hoped) and is a great fit for our databases which don't necessarily conform to the schemas demanded by ActiveRecord or SQLObject. And If you take the time to build your model classes carefully, you can hide most of the complexity.

While I'm at it, I also out to give a shout ought to jQuery which I've been using alongside the Prototype Javascript Library that ships with Pylons. jQuery is totally awesome. I love it's markup oriented behavior concept. It's really a great way to think about writing Javascript.

Anyways, all that was just so I could mention how frickin cool Paste based web deployment is (Pylons uses Paste). Your entire web app gets packed up as a Python egg, which can then be installed on any machine (multiple versions can be installed too, and library version dependencies are handled by the Egg system so no need to worry about upgraded versions preventing rollbacks).

In order to launch the web app, all you need to do is have the Egg installed, put together a quick config file (specifying things like port, but also application specific things like database connection or data directories), and use the 'paster' command to launch it. I'm pretty sure this is "good stuff."

Update: Ian Bicking, Python web super hero, does a quick comparison between Turbo Gears and Pylons.

posted on: 02/06/2007 | path: /tech