Skip to content
April 25, 2011 / Ben Chun

Having 10,000 People Over

Today was an interesting day. One week ago, I soft-launched ilearnedtoprogram.com to some friends and colleagues to try to build an initial set of stories. That day, my analytics recorded 36 unique visitors. Today, the site was on reddit and metafilter, resulting in over 10,000 unique visitors and hundreds of new stories being submitted in a 24-hour period.

Here are six ideas about building software and web projects that I’ve gotten or solidified because of this experience.

1. Shipped is better than perfect. Instead of building a whole submission form and moderation/administration page, I used a Google Form and RockMongo. As I would later find out, I had things from the CSS to randomness to the database connections wrong. But also I had the site up and running within a couple hours of sitting down to work on it, and started sending out the link to friends.

2. Ask people you know for support. Without a few initial stories directly from friends, I wouldn’t have been able to get this site started. Reaching out to email lists where people know me personally and professionally helped get traffic into the range of hundreds of visits per day. Using Twitter to engage with people after they submitted a story (sometimes even if they hadn’t specifically left their Twitter URL) helped amplify the message. Because I’m not selling anything, it was easy for me to talk about participation and the purpose of the site without being spammish.

3. Don’t ignore input that helps you reach your goal. This implies that you have a goal. The more clearly you can articulate it the better. My goal with this site was to reveal the range of histories across the diversity of people who know how to write code. I had a friend point out a problem (and solution) with my CSS. I had a commenter on this blog point out some serious issues with a resource I was linking. When people give you this kind of input, it’s natural to feel defensive. Don’t let an emotional reaction get in the way of an accurate assessment of the facts. The goal is the goal.

4. Haters gonna hate. When I started reading the metafilter thread, one of the very first commenters was someone bitter about their own programming career. On the reddit thread, someone complained about how the responses use different prepositions. Caring about the reasons that people post things like that on forums is outside the scope of my mission here. The key question is: Can any of this information help me do a better job reaching my goal? If yes, use it. If no, move on.

5. Care for it like a newborn. Whatever you’re trying to build, it’s probably going to need to grow. You might not get a lot of sleep at first. This active, participatory creation doesn’t follow a formula, but it is pretty easy to do. Just spend your time paying attention to your baby. As traffic started to ramp up, I noticed that my RockMongo interface was becoming unresponsive. This was an early warning sign. I started Googling to figure out how to improve MongoDB performance with PHP.

I was able to test and deploy the fix within a couple minutes, and it’s been smooth sailing since then.

6. Push yourself and deploy often. Part of the reason we’re in this field is that we like learning new things and new ways to do things, right? A week ago, I had never touched MongoDB. Now I’ve got a little experience that will help me refine my understanding of key-value stores and how they compare to more familiar relational databases. Midway through the day I decided to add a URL-driven search feature. After writing a RewriteRule or two and doing a scary reinstall of Apache on the live server in order to add mod_proxy (which mod_rewrite needs in order to handle [P] correctly), this stuff works:

http://ilearnedtoprogram.com/on/trs-80
http://ilearnedtoprogram.com/in/qbasic
http://ilearnedtoprogram.com/with/dad

You can play around with the URL; it’s really just a filter. You won’t see these links appear anywhere on the main site, because this way of presenting stories isn’t the core mission of the site. I just wanted to see if I could do it.

ilearnedtoprogram.com is the first extracurricular project I’ve done this year, but it won’t be the last. If you’ve had an idea of your own kicking around in your head, now’s a perfect time to get started! Invite a few people over when you’re ready for us.

3 Comments

Leave a Comment
  1. Dave Naffziger / Apr 25 2011 10:36 am

    This is awesome. Nothing like people knocking on your door on the first day. Congrats!

    And great thoughts…

  2. Kasima / Apr 25 2011 12:01 pm
  3. Qiless Qi / Apr 28 2011 7:21 pm

    Congratulations on the new site! I (like many others today) have submitted my sentence, and I have greatly enjoyed reading what others have written.

    Like yourself, I teach the art of software development, although these days I teach in the field, leading a team of more-junior engineers. Since computer science concepts can be very abstract, my personal style is to illustrate through metaphor — and recently, I have begun to turn some of my metaphors into (slightly illustrated) short stories inspired by Buddhist koans, as a way of making them more entertaining and memorable.

    I have put these stories online at my website (http://thecodelesscode.com): there is no advertising of any sort, and everything is licensed under the Creative Commons, so visitors can feel free to make use of anything they find interesting. I thought you might find it to be an amusing example of how another educator is trying to convey his wisdom to the next generation. Warmest regards.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: