Internet Blackout Day, Jan 18, 2012

Today is “Internet Blackout Day” (Jan 18, 2012: http://wordpress.org/news/2012/01/internet-blackout/).

For anyone not yet familiar with the SOPA / PIPA legislation currently being promoted by lobbyists to implement Internet censorship in the U.S. (in order to protect certain vested interests in the U.S. — similar to schemes used to protect certain vested interests in certain other countries, resulting in suppression of free speech and economic development), here is a short reading list explaining why you should be contacting your Congressional representatives to oppose it in totality:

For broader insights into the problems generated by lobbyist politics and vested interests, see many of the writings by Lawrence Lessig, Harvard Law School, who more recently was focused specifically on election reform initiatives.

Narrowness in business

A friend at Intel used to say, “no matter how narrow you make something, once you get close to it, it looks pretty wide.”   My goal in 2012 is to get a sufficiently narrow web application business off the ground by myself.  No venture capital, no angels, no recruiting, no house of cards.  I’ve done that all before, but today it seems like a) it’s best to be able to move quickly and b) virtual private servers are very inexpensive.

Meanwhile, my narrowness guidelines for 2012:

  • Focus on providing a communication channel that is new, simple,  predominantly mobile, and “obvious in retrospect.”
  • “Faster, better, cheaper” rather than “brave new world.”
  • Browser-based (forget about web apps on Android and iOS).
  • Focus on feedback mechanisms and monitoring tools.
  • Avoid developing new domain knowledge.

Narrowness in software

It’s a joy working with software projects, but there always seems to be half as much time available as estimated and what’s to be done always seems to be twice as much as estimated.  And that’s in the good cases. No matter how narrowly you think you’ve defined a project, it tends to fractalize.  If you can reduce at the outset — and even seemingly unnecessarily — the number of new things that have to be learned or dealt with in a project, the probability of getting it functional increases.

In the recent past, I’ve tried to stay up on a way larger number of new things that are bright and shiny than I can really deal with.  Time to toss a lot out.  Narrowness in software, goals for 2012:

  • Python 2.7.2  <– avoid diversions to learn more in Ruby, Javascript, JQuery, bash, Java, C++, Erlang, php, etc,. and put off Python 3.2+ until Django runs on it, which seems roughly one year out.
  • PostgreSQL <– MySQL.  Took a while to get comfortable in pg but seems reasonable now.
  • nginx and uwsgi <– ok, need Apache and mod_wsgi in two ongoing projects.
  • Django 1.3 <– avoid diversions to learn other frameworks, enjoy the fruits of class-based generic views in 1.3, look forward to 1.4 fixing some things.
  • Ubuntu 10.10 on laptop and 11.04 server on servers <– 11.10 still has “classic” option, though not installed by default; avoid investigating proliferating hubris of Mint, Ubuntu, non-Ubuntu UI options.
  • git <– lots of good documentation; if I force myself to use git every day I might actually start needing to consult the docs less.