stats & startups

April 16 2008

I’ve written at least three blog posts on that Act that passed the third reading last week, and I’ve binned them all. I’ve decided that’s too easy to be snarky…

I will however quickly note that in the UK the music biz is fighting a rear guard action on format shifting. They are seeking to impose a iPod tax as compensation.

Instead a quick post on something more positive.

I spent a couple of hours at the Small Business Expo today where my pick of the show would have to be Statistics NZ. There is a huge resource of free market research stats waiting for businesses to tap into. Some is free, some is charged for. The whole focus on business enablement and the savviness I encountered on their stand was impressive. The free stats are in large part due to additional funding they’re received. Good work govt. Let’s have more funding for this department to enable them to free up more of their stats.

IP telephony company Vadacom were also to be seen at the show. They use Python in their products and host the Auckland meetings of the NZ Python Users Group at their K Road base.


Filed under: start_up  python  copyright/ip 

12 herbs & spices :: django & capistrano

December 10 2007

Web operations have been described as the secret sauce of 2.0. It’s not an area that I deal with at work but I keep up to date with architectural decisions that impact web ops - especially around caching. I found Artur Bergman’s talk on the LiveJournal approach to architecture at Kiwi Foo both entertaining and informative. The LJ approach is being leveraged by many in both the Rails and Django community, with memcached, perbal or nginx being used as building blocks for scaling 2.0 operations. For more background on web operations/architecture check out the O’Reilly Radar Operations blog for more of Artur’s and others wisdom. O’Reilly are running a conference on the subject next year. High Scalability is another source of information on scalable web architecture.

With this in mind, when I was asked this weekend for some advice from a friend looking to put together a web play together I stressed the need for them to get the combo of a decent architecture, an ops machine in place before going crazy with feature development. Once this is in place they can get a minimal release up, then push out new functionality quickly and reliably - well at least from the web ops side of the equation. The less effort they have to focus on deployment and admin the more they can spend on developing the functionality that matters for their users.

So after dispensing this advice I thought that I should walk the talk myself and implement some of my own advice for this blog’s system. This blog was the typical ‘my first django project’. It was rapidly constructed around Christmas last year, porting existing content from the Rails based Typo system I had previously used.

I don’t make many changes to the code, arguably I don’t make that many changes/additions to the content either. However I’ve now placed the code under Subversion control and have installed Capistrano to automate admin tasks, specifically the deployment of new code onto my production server. Version control is mandatory for projects with more than one person working on them and highly desirable even if there is just one. For more information/explanation - should it be required - check out this visual guide to version control.

Simply put, Capistrano is a tool for automating tasks on one or more remote servers. It executes commands in parallel on all targeted machines, and provides a mechanism for rolling back changes across multiple machines. It is ideal for anyone doing any kind of system administration, either professionally or incidentally.

Capistrano is a Rails related tool. It’s primarily used for deployment but can be used to automate any set of tasks. And whilst it has come out of the Rails community and is written in Ruby it can be used in association with any language/web framework. Tasks to be automated are described in its own domain specific language (DSL) so there’s no requirement to learn Ruby. Capistrano is now at 2.1 and whilst there is a chapter on version 1.0 in the online Rails book there is little on 2.0, though improved 2.0 documentation can be expected. So here’s the sources I used to grok it for for deploying a non-Rails web application.

Prerequisites:

  1. ssh and client certificates setup to provide password-less access to your production server from your workstation
  2. knowledge of how your production environment works
  3. a version control system, such as subversion setup and accessible from your production server

Timothee Peignier has written up the best description on how one can utilise Capistrano with Django. However I would qualify that by saying that you will get more, or get it quicker, if you first read up on Capistrano generally. Start with the minimal getting started doco, then read through the slides by Jamis Buck from the RailsConf. Test things out with some of the small examples. Understand how Capistrano is typically used with Rails, via the capify command that produces a Capfile and an associated config file. Find and read through the source (deploy.rb) for the Capistrano default tasks. Then read through Timothee’s post. You’ll almost certainly have to tweak the tasks to get things working for your own environment.

Unless you have a compelling reason to do otherwise I would go with the flow and use Capistrano’s method for organising releases. This approach lets you get the most from what Capistrano provides for free, with you only having to refine the tasks specific to your environment.

update:
Django added auto escaping of HTML in the version that I installed when putting Capistrano in place. I missed addressing that in the feed's templates.
Fixed now.


Filed under: django  start_up  tech  python 

starting up

February 25 2007

startups links

Guy Kawasaki MCs an informative and entertaining panel discussion (video) on community focused startups involving the founders of hi5.com, slide.com, suicidegirls.com, hotornot.com, fark.com and plentyofish.com.
Loads of great stories, from their experiences, on building out an idea starting with bugger all.

…at the same time I was debating whether or not to do an online curry recipe database, cause I don’t know if you guys know but there are no really good curry databases on the internet…so its an open niche I’m telling you… - Drew Curtis of fark.com


Startupping is a new resource aimed at helping online entrepreneurs. As well as their own blog they have aggregated their best blog picks on the subjects of Entrepreneurs, Venture Capitalists and Angel Investors.


..and in NZ I see that Trade and Enterprise have a number of events which may be useful for local startups with an eye on exporting or just straight up networking.


Tip of the hat: http://www.drury.net.nz/2007/02/23/new-thinking-week/

Filed under: nz  start_up