Behind the Scenes: From HTML Form to Storage

Wed 21 September 2011 by Thejaswi Puthraya

Cross posted from my work blog post

In this post, we are going to see what happens behind the scenes when a file is uploaded to a django powered web application.

File Upload Flow

An HTML form with a file input (atleast one) and encoding set to multipart/form-data is submitted. The MultiPartParser …

read more

Installing drivers for Samsung ML-1676 on Linux

Sat 10 September 2011 by Thejaswi Puthraya

Today, I purchased a Samsung ML-1676 Monochrome Laser Printer. I was under the impression that most printers are now supported out of the box but I was wrong. This model of the printer uses a proprietary language called the Samsung Printing Language (SPL) and hence drivers are not included in …

read more

Sharing X display over VNC

Thu 21 July 2011 by Thejaswi Puthraya

Designing for browsers is hard! There are a multitude of browsers that have to be supported and each have their quirks. While there are tools to make this task easy, recently Sai (chief designer at Agiliq) had to checkout how a client's project looked in Chromium and Firefox on Linux …

read more

Backup SMS database on Android

Fri 29 April 2011 by Thejaswi Puthraya

While there are ready made apps that backup and restore your SMSes, you can easily backup the database if you have a rooted phone without installing any external software.

The SMSes are stored in an SQLite database available under:


Here is …

read more

My emacs setup

Sun 26 December 2010 by Thejaswi Puthraya

Cross posted from my work blog...

My colleague Javed had written a fantastic article a short while back on "Seven reasons why you should switch to Vim" and as an emacs user I thought I should share my setup too. One of the coolest things at Agiliq is that we …

read more

Changing fonts for Platypus document templates in reportlab

Tue 30 November 2010 by Thejaswi Puthraya

If you've wanted to generate PDF reports in python, you don't have choices. Most of the so called alternatives are also built on top of 'reportlab'.

I am not comfortable with reportlab (this is a post in itself) but because there's no viable alternative, I have stuck on. Reportlab has …

read more

Summarize commits for the day

Mon 01 November 2010 by Thejaswi Puthraya

Managers will always be managers! Despite having the coolest project management tool (PMT), (D)VCS and what not, they generally request you to send a daily status. You are surprised by this request, especially when an auto generated email is sent for 'every' commit you make, items struck off the …

read more

Extending JQuery UI widgets

Tue 27 July 2010 by Thejaswi Puthraya

JQuery UI is a useful project that provides theme-able widgets built on top of the JQuery project. It has an active community and lots of community contributed widgets that do a lot of interesting and sometimes out of the world stuff!

For a mini-project, I had to work on replicating …

read more

Use the Windows key as Ctrl Key on Linux

Tue 11 May 2010 by Thejaswi Puthraya

The Ctrl key on the Samsung R517 laptop is placed awkwardly for comfortable use with Emacs. Off late due to the strain of hitting the Ctrl key often, I started to feel a mild tingling on my pinky. I was anxious if this was the first stage of the infamous …

read more

Released django-check-constraints

Mon 15 March 2010 by Thejaswi Puthraya

Ever since model validation hit the django trunk, I had been having thoughts of reviving my Google Summer of Code 2007 project. So nearly a couple of weeks back, I started resurrecting django-check-constraints. Today, I released the code into wild here.

The feature of the project is that it not …

read more