PYPI developer version releases

PYPI is the de-facto Python package registry. If you maintain an open-source Python package, you probably want to register it there since it makes the package distribution and installation very simple (easy_install <pckg> or pip install <pckg>). That is all great once you have a mature project with a stable code-base. But what happens when you are working on a project which is not ready for the prime-time yet but ...

PyZenfolio

Zenfolio is a service for photographers for hosting and selling photos. They provide reasonable prices for the provided services and allowed storage quota (unlimited). Myself being a web-developer, I was pretty delighted to find out that they provide an API (a little pissed off that it is SOAP but hey, something is better than nothing). Their API allows to automate some of the annoying tasks of publishing photos online, especially ...

Shell commands

Unix shell is an amazing tool and once you get used to it, it has unlimited power. However with that unlimited power comes unlimited responsibility to use it wisely. That however poses a problem of learning all of the unix commands (and there are a lot). The usual pattern of learning new commands is Googling for particular solution and then adapting it to your problem. However some solutions involve some ...

Virtualenv project directory

Virtualenvs are essential to working with any package-dependent Python applications (which are all...). Virtualenvs are great however managing them and constantly doing source /vent_path/bin/activate becomes cumbersome very fast. To deal with some of the usability shortcomings of the virtualenv, the de facto solution is to use virtualenvwrapper. It adds many cool tricks to the developer toolbox and below are some of my favorites:

  • manages all virtualenvs within user ...

Deploy Django on gevent with nginx

Django is a powerful and easy web-development framework (after all, it's mascot is a magical pony). It provides many helpful APIs for faster development however when you finish creating your masterpiece, deploying it to a real server for use by real people can be overwhelming and even intimidating. This post is meant to share some of my experiences deploying Django apps which led me to some of my current ...

Password Security

Since the introduction of the Internet in the last century, the concept of World Wide Web and its use has drastically evolved. It transformed from being a means of communication among scientific communities to being, literally, part of our lives. In this 21st century, almost everything we do depends on the Internet. We communicate, share, learn, teach, develop and entertain ourselves on the Internet. We do all of those activities ...