Tools and Technology
While Rich is networking his way up and down the western US, I’m staying home in Brighton, England working on the tools and technology behind our Web2Thing.
Soon we’ll tell you more soon about what this Web2Thing does, but for now, I wanted to talk through a few of the good and beautiful tools and technologies that are helping us put this thing together.
I’ve been writing software for a long, long time. I must have written my first computer program in something like 1979, in Basic on a Wang sort-of half word processor and general purpose computer. There’s a point to this reminiscing: back then, pre-Internet and open source, you pretty much had to use the tools available. Now, we have such riches in a seemingly infinite larder of tools, languages, technologies, services. You name it, you dream of it, and with help from Google and Yahoo!, you find it. Somebody has made what you want.
Now endless choice can get you stuck. You can keep changing tools all the time and spend you life configuring them. Same with software. So what do we do? Fix on something we love and just love it and use it.
Here’s part of the tools and services we are using. Rich and I are building a business and a service while living the other side of the world to each other. So, a lot of what we do is by nature online. Huge props to the makers of these wonderful things that keep us moving along.
Corporate stuff:
We use Basecamp for basic todo lists and occasional messages. Our corporate planning todos are there at the moment. We started using basecamp at the very beginning for everything but over time we’ve migrated bits to other things, as I’ll talk about later.
Walking the talk, we use Writely for corporate documents and Google Spreadsheets for working financial and other calculations. You really have to get together with somebody across the world and start working on some traffic projections in a Google Spreadsheet with built in chat to appreciate how powerful a shared spreadsheet it. If/when it gets xmlrpc calls in Google Spreadsheets, I’ll build the dashboards for server management using it.
Development infrastructure:
We just pulled the todos out of Basecamp and the source code out of a local filesystem into a Trac/Subversion environment. We’re renting the Trac/Subversion service from hosted-projects.com who offer a setup Trac/Subversion setup for something silly like $7 per month. At that price, it is hard to justify spending the time to get it running and configured on our own servers, even though we have them sitting there. And it gives that nice feeling of having our code in at least three places spread across the Internet.
Trac’s integrated wiki and ticket system is just what we need as we head towards a release and have multiple people working on the codebase modules as we move forward.
On the server(s):
We pretty much go with the LAMP stack, as you might expect. Debian Linux for now, maybe FreeBSD later, MySQL, now v4, soon v5. Apache of course. And python. Not php or perl. Remember what I was saying about choosing the tools you love? Well that is why python is there. It is pretty unbeatably good at what we are doing and is nicely maintainable, at least in my opinion.
So, to make python sing for the web, we’re using Myghty, and enterprise-level templating framework (a python version of Perl’s HTML::Mason) and the totally magic SQLAlchemy object-relational mapper. Put these together with python and (IMHO) you end up with enough structure to make web apps easy, without it all getting too much in the way. This is a magic wand I can wield without making my arm sore.
And the rest are the little day to day things:
- Rich and I keep in touch using Skype IM and voice and exchange a lot of emails.
- Plain A4 sheets of paper and a 0.5mm pencil.
- NovaMind for making Mindmaps (for those times when only a mind-map can solve a problem nicely.)
- Apple OS X and Powerbooks that just keep running without reboots.
- occasionally Microsoft Office for business plans and stuff.
- many, many cups of Tea.
So there you have it. Written out like this, I see just how much infrastructure we have already. So that is why it took so long to get this far
technorati tags:Tools, web2thing
September 21st, 2006 at 10:12 am
[…] Over the last few weeks we’ve been speaking with a local development house about assisting in adding a few key features to our service. There seems to be plenty of synergy between our companies, and lucky for us they have a python developer. As Graeme mentioned a couple of months back, that’s his code of choice for the system. We’re in the final stages of ironing out a contract, and then we’ll be full steam ahead. […]