Blog location change

I’ve decided to take advantage of the new Blogger feature “Custom
Domains
” and move my blog under my own domain. This is a much more
attractive feature than the older ftp publishing since Blogger still
hosts the content for me.

If all goes well, it should be transparent and all of the old URLs
should redirect to the new domain.

page rank

A few months ago when I googled myself, I came up with a variety of
random old posts to forums or mailing lists. Most of the information was
stale. After a couple of weeks of having this blog online, and just a
few days of having my personal site online, those have hit the top of
the search results list for “doug hellmann”. Somehow that’s
satisfying.

Entrepreneurial Debt Waivers

The company I work for came out of the Advanced Technology
Development Center
at Georgia Tech, which is an incubator for small
companies run by the university. Among other resources, ATDC provides
nice facilities with shared conference and break rooms but private
office and lab space. There were a lot of companies in the incubator, at
various levels of maturity. There were regular get-togethers and plenty
of opportunity to exchange ideas with people down the hall. Our company
has since graduated, but the time we spent there meant we didn’t have to
worry about a lot of little details that come up with a business.

Ed Kohler writes about an idea for VC firms over at Technology
Evangalist
. The basic idea is to grab students as they graduate
(probably before) and set them up so they have no loan debt and a
reasonable salary in exchange for a stake in whatever idea they happen
to be working on. Kohler’s idea takes the normal incubator like ATDC one
(or more) step farther by suggesting paying off student loans and and
the housing rent as well as the office space.

It seems natural to extend this even further and combine the 2
systems. Why not buy an office/apartment building? Offer a variety of
apartment sizes to accommodate married and single people, etc. Provide
office space, a food court, the works. Some of the space could even be
rented to companies that are not part of the VC fund. The point is to
pull all of it together into one place to keep the energy level high and
make it an attractive place to be in addition to sharing whatever
resources can be shared between companies.

Maybe the whole thing is done by renting out floors of a multi-use
building that someone else owns under a single lease, then subletting
the space (instead of buying the building out-right). I tend to think in
terms of high-rises because I work in Atlanta. In other areas, you might
want a campus or office park. I’m sure there are a lot of ways to
structure it.

In the end what you get is a startup “factory” that churns out ideas
on a (hopefully) regular basis. You bring a new crop of people in each
semester when they graduate. Start small with each new company. Each
“startup” is owned by a holding company in the beginning. If it starts
to look promising, spin it off to its own company as needed. If an idea
isn’t panning out, kill it and either move the people to another project
or cut them loose and let them try it on their own.

Maybe multiple VC firms would work together to fund the thing – I
don’t know how well the politics of that would work, but I’m not a VC.

Hmm. This all sounds a lot like the old research labs from before
everyone wanted to be out on their own…

Coder’s Block

Logan Koester posted some tips for overcoming Coder’s Block.

I get blocked, once in a while, too. In those situations, it almost
always comes with the feeling that the problem I am trying to solve is
too big. That, in turn, usually stems from not having thought about the
problem enough, rather than the other way around.

The development staff at my company is pretty small, so we are all
involved in each new feature from “front to back”, as it were. I like to
start by thinking about the user interaction aspect of the problem. It
doesn’t make sense to start with the back-end design until you know what
the front-end is supposed to do, right? So I think about what operations
the user needs to perform, then what inputs are needed to handle them.
From there I can work out how many of those inputs should be stored for
re-use.

I like to draw diagrams, since I find they are easier to re-assimilate
when I come back to a problem after some time. So I may sketch out a few
UI screens, or draw a few boxes and arrows to understand the
relationships between objects (I use a sort of pidgin UML for that). I
also make lists of attributes I might need for classes, since those map
to the database schema.

There are plenty of good tools for making such sketches on the
computer, but I guess I’m Old School. I find that sitting down with a
pen and paper, away from the computer, helps clarify my thoughts. Since
I don’t have my text editor, the temptation to write code is reduced and
I can concentrate on the big picture. And once I have the big picture
worked out, the way forward is usually clear.

Python Cheese Shop

It has been a while since I released a new open source project. The
last time I dealt with the Python project registry it required a highly
manual through-the-web registration process. The Cheese Shop is so
much nicer, and the integration with distutils makes it so easy to
register a project and release that there is no reason in the world not
to do it. There are just a few basic steps to getting started:

  1. Create a user at http://cheeseshop.python.org/pypi by clicking on the
    “Register” link and following the instructions.
  2. Create a setup.py file for your Python project. You’re doing this
    already, aren’t you, so your users can install your app or library
    with disutils?
  3. Type: python setup.py register

The CheeseShopTutorial has more details, but once you’ve registered
it really is just that simple. It turns out they will even host
downloads of the source releases, if you want. I don’t mind hosting my
own releases, and they will only host Python (so none of my AppleScript
projects could go there). But that’s a nice commitment on their part.

Featuritis

My project site is finally online, and I find myself falling into
precisely the trap I was hoping to avoid. I originally wanted to find
some existing software to host the site, so I could concentrate on the
myriad projects cluttering up the back of my brain. Since I opted to
build my own, I’ve found myself focusing on building more features into
the site management tool instead of those other projects.
In any event, today I added Atom feeds to track releases for each
project, as well as a global feed to track all releases from the site.
The feeds include download links to each released software bundle as
enclosures, because it was easy not because it seems especially useful.