Technology

Uninterruptability

Thursday, May 23rd, 2013

Paul Graham, in a footnote from his essay on “How to Make Wealth”:

One valuable thing you tend to get only in startups is uninterruptability. Different kinds of work have different time quanta. Someone proofreading a manuscript could probably be interrupted every fifteen minutes with little loss of productivity. But the time quantum for hacking is very long: it might take an hour just to load a problem into your head. So the cost of having someone from personnel call you about a form you forgot to fill out can be huge.

This is why hackers give you such a baleful stare as they turn from their screen to answer your question. Inside their heads a giant house of cards is tottering.

The mere possibility of being interrupted deters hackers from starting hard projects. This is why they tend to work late at night, and why it’s next to impossible to write great software in a cubicle (except late at night).

One great advantage of startups is that they don’t yet have any of the people who interrupt you. There is no personnel department, and thus no form nor anyone to call you about it.

Python double-under, double-wonder

Thursday, April 11th, 2013

Python has a number of protocols that classes can opt into by implementing one or more “dunder methods”, aka double-underscore methods. Examples include __call__ (make an object behave like a function) or __iter__ (make an object iterable).

The choice of wrapping these functions with double-underscores on either side was really just a way of keeping the language simple. The Python creators didn’t want to steal perfectly good method names from you (such as “call” or “iter”), but they also did not want to introduce some new syntax just to declare certain methods “special”. The dunders achieve the dual goal of calling attention to these methods while also making them just the same as other plain methods in every aspect except naming convention.

Read the rest of this entry »

PyCon 2013: The Debrief

Sunday, March 17th, 2013

PyCon US 2013 is over! It was a lot of fun — and super informative.

pycon_panorama

The People

For me, it was great to finally meet in person such friends and collaborators as
@__get__, @nvie, @jessejiryudavis, and @japerk.

It was of course a pleasure to see again such Python super-stars as
@adrianholivaty, @wesmckinn, @dabeaz, @raymondh, @brandon_rhodes, @alex_gaynor, and @fperez_org.

(Want to follow them all? I made a Twitter list.)

I also met a whole lot of other Python developers from across the US and even the world, and the entire conference had a great energy. The discussions over beers ranged from how to use Tornado effectively to how to hack a Python shell into your vim editor to how to scale a Python-based software team to how to grow the community around an open source project.

In stark contrast to the events I’ve been typically going to in the last year (namely: ‘trade conferences’ and ‘startup events’), PyCon is unbelievably pure in its purpose and feel. This is where a community of bright, talented developers who share a common framework and language can push their collective skills to new heights.

And push them, we did.

Read the rest of this entry »

Rapid Web Prototyping with Lightweight Tools

Wednesday, March 13th, 2013

Today, I am teaching a tutorial at PyCon called “Rapid Web Prototyping with Lightweight Tools.” I’ll update this post with how it went, but here are the materials people are using for the course.

Read the rest of this entry »

Solidify your Python web skills in two days at PyCon US 2013

Friday, February 8th, 2013

PyCon US 2013 is coming up in March. It is in beautiful Santa Clara, right outside of Palo Alto / San Francisco.

The main conference is sold out, but there are still a few spots open for the tutorial sessions.

(Here’s a secret: the tutorials are where I’ve always learned the most at PyCon.)

Most of PyCon’s attendees are Python experts and practitioners. However, Python is one of the world’s greatest programming languages because it is one of its most teachable and learnable. Attending PyCon is a great way to rapidly move yourself from the “novice” to “expert” column in Python programming skills.

This year, there is an excellent slate of tutorial sessions available before the conference starts. These cost $150 each, which is a tremendous value for a 3-hour, in-depth session on a Python topic. I know of a lot of people who are getting into Python as a way to build web applications. There is actually a great “novice web developer” track in this year’s tutorials, which I’ll outline in this page.

Read the rest of this entry »

Going mobile in 1998

Sunday, December 30th, 2012

My first mobile device was a Palm V. I understood the power of mobile really early. I was 15 in 1999, when the Palm V was released. I first came across the Palm devices in 1998, when the Palm III came onto the scene. I never owned one, but played with the one my Dad owned, but barely used.

This device was comically under-powered in retrospect. It had 2 megabytes of RAM, which had to be used as not only the working memory of the device, but also the storage. It had a 16 Hz processor, a 4-greyscale screen, and a stylus-driven interface.

The Palm V was an amazing device. In lieu of the plastic of the Palm III, it had a finished anodized aluminum finish, very similar to the kinds of sleek devices we would only begin to regularly see in the last couple of years. It was nearly half the weight of its predecessor, and as thin as the stylus you used to control it. It had a surprisingly well-designed docking station (imagine this: since USB hadn’t yet been developed, it had to sync over the low-bandwidth Serial Port available on PCs at the time).

Read the rest of this entry »

Smaller buckets and bigger thimbles

Saturday, December 8th, 2012

Just came across this essay I wrote on my morning commute from Long Island to NYC in 2007, while I was a software engineer for Morgan Stanley.

I was joking with some friends the other day that my “to read” list keeps growing every day, and it only seems like things are added but never removed. I made the following analogy: it grows by the bucket full and shrinks by the thimble full, to which my coworkers replied, “you need bigger thimbles and smaller buckets.” If only it were that easy.

Unfortunately, I’m not getting used to this 9-to-5 stuff even if it is only 9-to-5. The other day I watched a video of Andy Hertzfield (one of the original software developers on the Mac team at Apple) and he was talking about how when he was my age he would work 80 hour weeks and just poured his heart and soul and to work. And I thought: I can’t do that on my current project. Why should I?

Read the rest of this entry »

Data Rules

Wednesday, December 5th, 2012

Poynter smartly rang the bell feeling it was necessary to tell publishers Buzzfeed is a “real news site.” Yes, it is. It’s a news website and it’s the future. Buzzfeed is data driven, and it knows in a real and provable way what its readers want – and it’s growing like gangbusters. As HuffPo proved – and as the history of digital media keeps proving again and again – data rules. Data is how you find audience. Data is how you retain it. Sure, old guard websites deploy analytics to track usage patterns on the sites themselves, but they are missing the boat on analyzing the important stuff – share, search and social – to inform their edit and product decisions.

from Print is Dead, Long Live Print?

The Future of News… in 1992

Thursday, October 4th, 2012

Just came across this article from Recovering Journalist discussing A Vision for the Future of Newspapers — 20 Years Ago.

Bob Kaiser, an editor of the Washington Post, wrote the following memo to his colleagues in 1992, forecasting (mostly correctly) the next 20 years in computing, the changing content ecosystem, and the remaining role for editors:

Read the rest of this entry »

Why Startups Die

Wednesday, October 3rd, 2012

Startups die due to a variety of causes. Over the course of the last three years, I’ve watched many of my friends pour their hearts and souls into companies that, for one reason or another, just fizzled out of existence.

In 2007, Paul Graham gave a variety of causes for startup death in How Not To Die. He wrote:

When startups die, the official cause of death is always either running out of money or a critical founder bailing. Often the two occur simultaneously. But I think the underlying cause is usually that they’ve become demoralized. You rarely hear of a startup that’s working around the clock doing deals and pumping out new features, and dies because they can’t pay their bills and their ISP unplugs their server.

The other major thing Graham advises startups not to do: “other things”. Namely:

[D]on’t go to graduate school, and don’t start other projects. Distraction is fatal to startups. Going to (or back to) school is a huge predictor of death because in addition to the distraction it gives you something to say you’re doing. If you’re only doing a startup, then if the startup fails, you fail.

In early 2011, I wrote a post, Startups: Not for the faint of heart, that discussed Parse.ly’s survival through a one-year bootstrapping period after Dreamit Ventures Philly ’09. Since then, I’ve witnessed yet more startup deaths, and especially extended “troughs of sorrow”.

As a result, I’ve had a kind of mild survivor guilt, and have started to look for patterns in causes in the deaths I have witnessed.

Read the rest of this entry »