Category Archives: Programming

Programming

Make sure you are closing the DB connections after accessing Django ORM in your threads

I was writing a service which import various feeds and then post to another RESTful API, simple enough as below:

Then the feed model:

Then run this feed in trivial code:

And you will quickly notice the threads complaining

What it’s happening is Django will create a new connection per thread… Read More »

EJB stateful vs stateless

I have been studying Java EE and I posted a question on Stackoverflow to verify my understanding of “SessionBean”, here is the summary: Stateless bean in client:

  Stateful bean in client:

  A stateless session bean, should not store a state in the bean instance, in order words, it’s class members should… Read More »

Your function parameters should be as simple as possible

Let’s say you have a function to process a GET parameter from a HTTP request, the bad example to do this is:

The above example has 2 problems: 1. This will become a nightmare to write unit tests on this function, now you need to mock the request object to contain the attribute GET… Read More »

PHP developers should try Python.

PHP and Python both are dynamic typed language, so there is no point the discuss anything related in this aspect. Exception is first class citizen

Prints ‘Caught’ Let’s look at PHP:

Better functions Imagine you can write functions like this

Short-lived vs Long-lived Almost all PHP scripts are short-lived, including most frameworks, which… Read More »

Python OpenCV Facial Detection On OSX

Just a code snippet to demo Python script using OpenCV

Installation: pip install numpy (sometimes you might need to run as sudo) brew tap homebrew/science brew install opencv export PYTHONPATH=/usr/local/Cellar/opencv/2.4.7.1/lib/python2.7/site-packages/ download the xml file https://warai.googlecode.com/files/haarcascade_frontalface_alt.xml and place it in the same folder.

RequireJS + Zurb Foundation

django-rest-framework: api versioning

Django Rest Framework is a very solid api framework, but it doesn’t provide out-of-box versioning mechanism, here is my attempt to implement version specific APIs. The goal is to achieve something like http://localhost:8000/api/(resource)/ http://localhost:8000/api/v1/(resource)/ plus allowing clients to specify the version in request header (X-Version), here is how we did it. Structure in side the… Read More »

My Vim Configuration

I have been using vim for a few years now and had been using my very own vim configuration, mainly with Nerdtree and CtrlP, in the past few days I have discovered a well packaged vim configuration with lots of plugins. But shortly I discovered that the tab space is set to 2, which I… Read More »