Tuesday, May 19, 2009

Hacker House: Lessons learned (and how to start your own!)

(permalink)

I've started 3 hacker houses so far and have learned a few things along the way. A few readers have reached out to me and asked for some tips on how to start a house in their city. Hopefully this will help.

Getting started
Ideally, there's a core contingent of about 2-3 coders that are willing to go in with you on a house. I wouldn't recommend renting a house before you've found at least one other coder. Conversely, it's hard to get 5 people on board before hand and even harder to find a house once 5 guys are involved in the decision.

Once you have the house and a few people living there, finding others is pretty easy. I started the Palo Alto house with only one commitment from a friend. I had 3 commitments when starting the SF house. Both houses quickly filled to capacity.

Advertising
I found coders in the Charlottesville house by using flyers around UVA's campus. Some of them directed visitors to a puzzle which they solved to gain more information about the organization. Other flyers were simpler:
wget http://etalambdachi.org

(we'd then display a special page for the wget user agent).

The point was to get the "right" kind of people interested. If you have access to a local tech-oriented campus, you might want to try doing something similar.

Location
Something in a college town or major city works best. It should be easier to find hackers and there will probably be a lot of pedestrian friendly restaurants, bars, shopping, etc. For some reason, having restaurants and cafes that are open late and within walking distance is very important. I've noticed that coders congregate around these areas (SF, Cambridge, Berekeley, Palo Alto, etc.). You won't get many members if they have to drive your house to code and then drive downtown when they want to get food at midnight.

If you're lucky enough to be near a college town, coordinate the lease with their school year.

Space
Find a place with 3-6 rooms. Anything larger gets unmanageable. If a few want to share a room, that's great. Our rent formula for sharing a room is: P = 1/2n + $200 (where P is what each roommate pays and n is the original rent for the room). This means when a room is shared the house gets an extra $400 - lowering everyone else's rent.

Make sure there is ample common space for everyone. Ideally, you have two separate common areas: one for coding (put desks & LCDs here) and one for relaxing (playing Wii, reading a book, etc). The Palo Alto house had no area to relax. We found that this made staying in the place for more than a few months very difficult. You don't need an dining room - most coders will eat at their desks or over the sink anyways.

Cohabitation vs Coworking
You should pick one. In Charlottesville I tried an early model of the HH (it was a two bedroom apartment). The apartment had one resident and 8 desks/monitors for drop-ins. Based on that experience I'd recommend either going 100% coworking (nobody living there) or 100% cohabitation (no drop-ins). For some reason, the mixture just didn't work. It was hard to create an environment with the "right" feel to it. Residents were bothered by coders coming or going at all hours and the coders were bothered when a resident would wake up and spend 30 minutes working in his bath robe.

Miscellaneous

  • Make sure the rate per room is below the market average (coders usually optimize for price over nice)
  • You should be able to get quality high speed internet there. <- This is key (obviously).
  • The place should have a relaxed landlord that is comfortable with multiple unrelated guys living there (this is more likely near a campus).


Want to start a house?
A couple houses have already started:


Others have contacted me about organizing houses in their area:

  • San Francisco
  • New York (contact Jimmy Kaplowitz - you can find an email on google)
  • Austin (contact: joshuak531 at google's mail service)
  • Boston (see comments below)


If there's already a house in your area, I'd suggest contacting them first. If there isn't a house in your area, you can email me and I'll add you to this list.

Wednesday, May 13, 2009

Use a kitchen timer to maximize your productivity

(permalink)


I can sometimes find it extremely difficult to stay on task. Unproductive "necessities" like checking email, reading twitter, and blogging often squeeze out the productive hours in my day.

My worst days used to look like this:

  • Wake up around 9-10AM
  • 2 hours in the morning to "get ready" (go for a jog with the dog / take a shower / eat breakfast / check email / etc)
  • Start work around Noon
  • Open up Textmate and figure out what I'm doing for the day (15 minutes)
  • Check twitter / hacker news / reddit (1 hour)
  • Grab lunch (1 hour)
  • *maybe* get a few hours worth of work done (2 hours)
  • Check email and do some administrative stuff (2-4 hours)
  • Dinner and hang out with friends (1-6 hours)
  • Spend the rest of the night on twitter / hacker news / reddit / blogs
  • Go to sleep


I felt like I should spend at least 6 hours every day coding and needed something to make sure that would happen. My solution was a kitchen timer. I recently bought one (pictured above) from Amazon.com and I'm pretty happy with it. I find I prefer its mechanical feel and physical presence on my desk to some of the software solutions out there.

In fact, this thing has worked wonders.

Every morning after my run I set the timer for a 60 minutes. That's the time I have to take a shower, get dressed, read email and check twitter, read the news, etc. After that hour is up I close my email client. The rest of the day is spent coding. Online Textmate, my terminal, and Safari are open.

In the afternoon I give myself another 30 minutes to check email, write a blog post, and do anything else I want to do. I'm spending my 30 minutes this afternoon on this post :).

This, along with finding a separate space to work (see my coworking post) have been two of my three most helpful productivity aids. I'll blog about the third tomorrow.

Labels:

Monday, May 11, 2009

My impression of San Francisco coworking spaces

(permalink)
I recently spent a day visiting every coworking space in San Francisco. I thought I'd post my impressions (since I have at least one friend that's also looking at spaces).


My Favorites
Five star recommended!
Sandbox Suites
Sandbox Suites ($495/mo) - Pros: Cool environment and convenient location. I like how the lounge area is separated from the desks. There are varying levels of privacy allowing you to choose the desk that best suits your need (and budget). There's a decent conference and phone room. They also have an active event calendar. Cons: It's expensive. Especially for a private desk.

SVT Group Coworking space ($300/mo) - Pros: The people seemed nice and the price is reasonable. Cons: Coworking is not the main intent of this space. It's basically SVT's office space with room for a few extra desks.


Seemed Interesting
I wouldn't mind working from any of these places, but they weren't my first choice.
2431 Mission
2431 Mission ($175/mo) - These guys almost made it in the "favorites" category. Pros: The desks in the public area are probably the best deal of all the spaces I saw. I also liked the atmosphere - very eclectic. Wether you do will be a matter of personal taste. To get an idea of what it's like check out some photos. Cons: Everything (including the fuseball table) is in earshot of the work areas. Don't think you could get a private desk and play your music without it being heard throughout. Also, the people didn't seem too friendly. This is probably because there was no designated greeter when I stopped by - everyone was busy working. Most other coworking spaces had someone who's job it was to manage the place and show you around.

CitizenSpace
CitizenSpace ($425/mo) - Pros: The place is dedicated to coworking and has been around for a while. Convenient location. Cons: They had the worst work/play separation of any of the spaces I looked at. There's only one big space that includes private/public desks, a kitchen, and a "chill area" with couch, TV, and Wii. The floor was concrete and sound would easily travel from one side of the room to the other. If you have a loud keyboard (as I do) everyone knew when you were working. There were no dividers between the private desks. I never saw anyone use the Wii - probably out of fear that it would disrupt everyone else.

PariSoma
PariSoMa ($350/mo) - Pros: Cute place and the people seemed nice. There's a lot of light from some huge windows, which could be a pro(not depressing) or a con (screen glare). There's a cool little nook where you could relax and read a book. However you couldn't take a phone call there without interrupting the rest of the office. Cons: Only marginally more private than CitizenSpace. Most people there aren't coders (which was important for me). This would be better suited for indie designers (hence the name). Also, the space was a little small and not as well equipped as Sandbox Suites.

Yuck
I would rather work from home.
DreamFish
Dreamfish, SF - Way too cramped (unless you like working while standing up). I'd have a hard time working here even if I was good friends with everyone else in the room.

iList - Drop in only. No permanent space available. At the time I saw the place they were moving to a new office. I don't even think they had available chairs.

HatFactory - There was just one big common desk that everyone works at. I didn't feel like I could bring my own keyboard/mouse/monitor and leave them there. Also I think some guy lives here.

NASA CoLab - Seems inactive / nonexistant. Their wiki has gone offline.

Labels: ,

Wednesday, May 06, 2009

The coder's bookshelf

(permalink)
I've spent a decent amount of time and money assembling a book collection that's relevant to the coders in the Hacker House. I thought I'd publish what we have so far. Apologies in advance for the made up genres. Some of these books were contributed by John Devor & Dan Grover but most were purchased used off of Amazon. In total I spent about $400.

The collection was partly based off of these recommendations:
- The Top 9½ In a Hacker’s Bookshelf
- Book Reviews by Joel Spolsky
- What is the single most influential book...
- What would you put on a hacker's bookshelf?

Feel free to suggest any other books in the comments below!


Oreilly reference books (programming):
- Learning Python
- Python in a Nutshell (indispensable)
- Programming Collective Inteligence
- Version Control with Subversion
- Python pocket reference
- CVS pocket reference
- Facebook Cookbook
- FBML Essentials

Other reference books (programming):
- How to Design Programs
- Structure and Interpretation of Computer Programs (I'm currently working through this book... it will take me a while)
- The Little LISPer
- The Little Schemer
- The C Programming Language
- Core MAC OS X And UNIX Programming
- Programming Ruby
- Agile Web Development with Rails
- The Definitive Guide to Django
- Practical Django Projects
- Pro Django
- Simply Javascript (sitepoint)
- PHP Developer's cookbook
- Object-oriented PHP
- Beginning OpenGL

Obviously there are many other reference books worth owning. We chose the above books because they cover the languages relevant to us.

Anecdotal "Nonfiction" / historical startup-related stories:
- DEC Is Dead, Long Live DEC
- Burn Rate
- The Perfect Store
- Once You're Lucky, Twice You're Good
- Microsoft REBOOTED
- Founders At Work
- Revolution In The Valley (My favorite book in this section.)
- Hackers by Steven Levy
- Crypto by Steven Levy
- The Fall of Advertising & The Rise of PR
- The Search by John Batelle (Needs more research/interviews from Google founders & employees.)
- Blog Blazers

Programming/startup-related stories & essays:
- The Pragmatic Programmer
- Joel on Software (A great first read for any CS student entering the workforce.)
- Facts and Fallacies of Software Engineering
- The Mythical Man-Month
- Design Patters
- Hackers & Painters
- The Monk and the Riddle

Other hacker books:
- The Best of 2600 (A Hacker Odyssey)
- 2600 Magazines
- Computer Networks (A Systems Approach) by Peterson & Davie
- Computer Networking by Kurose & Ross
- Mathematical Structures for Computer Science
- Applied Cryptography by Bruce Schneier


Motivational / Organizational:
- The Last Lecture by Randy Pausch (A quick & inspirational read. Life-changing stuff. Read the wikipedia article first.)
- Getting things DONE
- How to Win Friends & Influence People (A classic, but can easily be paraphrased.)
- The Art of the Start
- The Creative Habit
- Bit Literacy (A gift. A good book for the computer (semi/il)literate.)
- Influence by Robert Cialdini
- 7 Habits of Highly Effective People
- Talent is Overrated

Writing / Literature:
- Best Software Writing by Joel Spolsky
- On Writing Well by William Zinsser
- Writing Down The Bones
- A Glossary of Literary Terms

Finance & Economics:
- Basic Economics by Thomas Sowell (If you want to learn Econ, read this book.)
- Freakonomics
- The Visual Display of Quantitative Information
- Buffett by Roger Lowenstein
- The Intelligent Investor
- How to Invest $50-$50,000

Political:
- Several books by Bob Woodward (The War within, Bush at War, etc)
- The Quotable Atheist
- The Squandering of America
- The End of Faith
- The Selfish Gene
- Atlas Shrugged
- The world is Flat (There's a debate as to whether these books belong in the economics section. My vote is no.)
- Hot, Flat & Crowded (same as above)

Science & History:
- 100 Scientists who Changed The World
- A short History of Nearly Everything
- Gödel, Escher, Bach: an Eternal Golden Braid
- On Speed: the Many Lives of Amphetamine
- Guns, Germs, and Steel
- Sex, Time, and Power
- Outliers
- The Double Helix

Un-categorized:
- Around the world in 80 days
- A Confederacy of Dunces
- Walden
- Civil Disobedience
- A Brave New World
- The Power of One
- One Flew Over the Cuckoo's Nest
- Profiles In Courage
- Geek Silicon Valley (If you're a geek in the valley you need this book.)

Recent purchases (haven't yet arrived):
- Zen and the Art of Motorcycle Maintenance
- Art of Computer Programming, Volume 1
- Code Complete

Labels: