Puakma: Under the hood

I'm Brendon Upson, jack-of-all-trades, master of one or two. I'm talking about life running a small ISV tackling business issues and leaping technology hurdles in a single bound.

webWise Network Consultants is based in Sydney, Australia and develops the groundbreaking Tornado Server technology.

TalentReactor: It's aliiiiive!

Filed under: by Brendon Upson on 2007-09-20


After some happy months of sweat, we're proud to release the mighty TalentReactor. Now that the easy part is done (technology) we're on to the hard part - marketing! Over time we will extend the number of different types of talent supported to make this the one stop web talent shop.

If you're a muso - upload your bio :-) 



Filed under: by Brendon Upson on 2007-09-19

This virtualisation gig is really starting to revolutionise they way we infrstructure bods use hardware. If you don't know what I'm on about you have probably been living under a rock - think VMWare.

Today I ordered and built a server for our new hosted app. I don't know where the server physically lives and I have certainly never touched it - plus I know that there are a bunch of other people also on the same hardware.

This to me looks like the future. Two years ago a hosted app had to be written in PHP, python or servlets or some other scripty kind of language that ISPs could easily manage. Not any more. You upload your own applications on to your own box and run them. Sweeeeeet. This was one thing that was holding back Tornado in a hosted sense but that seems to no longer be an issue - and over time I am sure will continue to be less of an issue. 

It struck me that small ISPs will start disappearing soon. Large companies will have the financial clout to purchase monster boxes (think Sun monster machines, eg http://www.sun.com/servers/highend/m9000/get_it.jsp) On a box like that you could run hundreds (thousands?) of virtual servers.

Economies of scale. Big iron is going to make a comeback.

The best part is: if there is a hardware failure, just load the virtual server up on some new infrastructure, no reinstall, no drivers, no config - just copy and go.

Wee problem solved - wildcard groups :-)

Filed under: by Brendon Upson on 2007-09-13

A couple of years ago we developed a project management system for use internally. The app itself is quite complicated as it manges the entire application lifecycle and allows customers to interact in the development process. Problem is, the database is well normalised and the structure is PROJECT > PHASE > FEATURE > TASK (with a raft of other tables to boot). So when we're looking at the task, the projectid is lost (not relevant at this depth) but is required in order to determine security (eg who has access to what project).

To date we solved the problem by storing the current project id on the user's session object on the server. Unfortunately this means you can only really access one project at a time. Of course this breaks if you are "in" one project and click an email link to another. It's actually quite difficult (and clunky) to pass around the project id in all urls (/group/app.pma/page?openpage&projectid=999). It would be great if we could set the project once and not have to worry about passing it around. So I thought about using the group portion of the url to store the project id.


Sooooo. Tornado now supports wildcard applications. When you set up an app, you can specify the group as '*' which means the uri will match on ANY group value you specify. The app is now set up as '/*/app.pma' in the webdesigner. If a user tries to access '/BBB/app.pma' or '/AAA/app.pma' or '/123/app.pma' the same application will be served. As a programmer we can now access the group property of the request to determine the current project id.

I was expecting it to be huge pain, but it actually only took about 10 minutes. Problem solved :-) This is going to have some brilliant implications for hosted apps we're currently building. Watch this space!