New Blog Redesign: Now in Django 1.7!

November 1, 2014

I've finally gotten around redesigning my blog and making it more mobile friendly.  This is the third redesign for this blog since I started it back in January 2008.

I decided to completely redo it this time, moving away from the WordPress/PHP/MySQL stack to Django/Python/PostgreSQL.  Feels much cleaner and runs a lot faster.

Since I just wanted something simple, I wrote the backend myself instead of relying on existing Django apps ...

Docker Cleanup Commands

October 4, 2014

I’ve been working quite a bit with Docker these last few weeks and one thing that I found really annoying was all these unused containers and images taking up precious disk space.

I wish Docker has a ‘docker clean’ command that would delete stopped containers and untagged images. Perhaps sometime in the near future as the project is very active. But for the time being, these commands should do the job.

Kill all running containers

docker ...

How to delete Python .pyc and .pyo files on Ubuntu 14.04

September 2, 2014

I just realized today that Ubuntu has a command called pyclean already installed by default that will recursively delete all .pyc and .pyo files.

For example, to recursively delete .pyc and .pyo files from the current working directory, you can do:

pyclean .

If you’re not on Ubuntu, you can run this command instead:

find . -name “*.pyc” -delete


A Python function for flattening irregular list of lists

July 20, 2014

Here’s a nice short function for flattening irregular lists in Python that I found on Stackoverflow a few weeks back. It returns a generator so should work fine for very big lists.

def flatten_list(object_list):
    Flattens a list of objects.
    for element in object_list:
        if isinstance(element, collections.Iterable) and not \
                isinstance(element, basestring):
            for sublist in flatten_list(element):
                yield sublist
            yield element

I tested it with lists like the following and it ...