The birth, architecture and tech behind Loadzen – our shiny new load testing start up that wa as much a technical challenge as it was an intellectual one, as well as an opportunity to play with some really cool toys…
If you want to enable real-time push notifications to your users, SocketIO is your friend, if you don’t like NodeJS running on your server, or like me you are a python fan, then this guide to Tornado and TornadIO will make it simple to set up an implementation on your system.
In this post we go further and show you how to plug your Tornado implementation into a RabbitMQ message queue, and show you how to publish into Tornado (and your web client) to enable real-time communications for your web users without being tied to a single platform.
As you may or may not know, the EU is introducing some new legislation that comes into effect on the 25th of May 2011 that will force website owners to expressly ask permission of their users to store a cookie on your site.
Now this is a little troubling, since anyone that is using Google Analytics will be storing a cookie on your machine just to know how well their site is performing! Unfortunately, a simple act as tracking your user behavior via a free, awesome service like GA will probably fall afoul of the ‘absolutely necessary’ clause that comes as part of the directive.
I recently came into posesion of an Advent Vega android tablet – it’s a 2.2 tablet with a nice big screen and a very sweet price spot (£200). Having already installed a custom ROM and tweaked the settings to no end to get the tablet to behave how I like, I’ve been more and more interested in actually building mobile apps (actually, the fact that to flash a new ROM onto a virgin device requires you to set up the android SDK gets well on your way!).
I’ve done quite a bit of work doing web development with Django, and one thing that doesn’t really come up when doing standard CRUD work is that mostly all web sites are linear – take a request, process it and spit out a response. Sure you’re underlying architecture uses threading, but that’s invisible to the(…)
While working on the initial version of DjangoSVN, I realised that one of the coolest things I could do with the DjangoSVN command interpreter was to make it pluggable. The idea was simple: You can set up a DjangoSVN server anywhere, then write your own custom plug-ins that you can just drop into the plug-in(…)
Recently I have been contemplating client-server applications, how these can eventually be tied into a web app and how best to write all of this in Python. This post will outline the usage of one of the more awesome XMLRPC libraries and also discuss why it’s better than what else is out there…
PyTranscode is a set of classes that control and report from FFMPEG. They also make using FFMPEG from python very very simple.
Things you can do with PyTranscode:
- Transcode videos from format a to b using presets stored in another file
- Extract splash images from a video file (actually extracts a series of splash images at user-defined intervals)
- Objectify video files – create a VideoObject form a file and it will provide you with all the details of the file from framerate to duration to formats used in both audio and video
- Runner – run FFMPEG command and trap the output, reporting back percentage complete of any action
Amazon has recently released a long-awaited feature addition to it’s Web Services infrastructure: Relational Databases. Having for a long time only had SimpleDB on offer (non-relational and weird to implement), it’s always been something of a struggle to get MySQL running on EC2. Traditionally one would have to set up a block storage device, mount(…)
A while back I coded this little gem because I didn’t want to have to create an invoicing app for one of my projects, instead I thought it easiest to just export that functionality to a service.
My service of choice (and a great one for freelancers everywhere) is InvoiceMachine – a really simple, really pretty invoice manager.
So here I present IMPY – a python wrapper for invoice machine.