- Do you check HTTPS certificates in your API clients?, 30th of July, 2012:
Far from every API client checks HTTP Certificates by default. We need to educate each other to be safe!
- Quick deploy with Chef-Solo and Git, 2nd of June, 2012:
Using Chef with Chef-Server requires to install a lot of weird stuff on your server; even after you manage to set it up, you're not safe from its quirks. However, you don't really need a chef-server to set up and update your machines - you can get away with chef-solo and git.
- Different Django views for different HTTP methods, 20th of January, 2012:
Django's generic views are cool, but the approach of dividing `EditView` from `DetailView` is unforgivable not REST-ful.
- One step too many, or how to mess up your library, 9th of November, 2011:
- I'm available for consulting, 27th of October, 2011:
- I want to solve the uploads problem, 16th of October, 2011:
Making file uploads is a frequent, but yet to be solved properly task. I believe we can, and should, do better. For some time now we've been working on a web service which handles file uploads for you, my fellow web developer.
- Try Redis instead, 14th of September, 2011:
Redis is an invaluable part of software on my server. If you have never tried, or seen it, you should go and install it anyway. You can benefit from Redis just by changing a couple of Django settings. Furthermore, it can replace several uselessly humongous applications you are probably considering right now.
- I'm an open-source loser., 8th of September, 2011:
Some whining about DjangoDash, my open-source programs and being socially awkward.
- Quick, simple and arguably proper Ajax (without touching server-side), 28th of August, 2011:
I don't always ajaxify things, but when I do, I first try to do it as simply as possible. I have some biases about ajax (for example, it should be supplementary to the normal form behaviour), and they suggest a very simple and quick solution for ajax.
- Virtualenv in new Terminal windows/tabs, 18th of August, 2011:
How to open new tabs/windows of Terminal with the last virtualenv used
- Beware of Python optimization, 10th of August, 2011:
Public Service Announcement! The "Python optimization", as in "-O" flag or "WSGIPythonOptimize" option not only doesn't do what you expect, but can ruin your program.
- Opportunism and other approaches to action in Software Architecture, 25th of July, 2011:
Venkatesh Rao's onthology of decision making can be a source of inspiration for software architectures. I discuss four approaches to action taking in web development.
- A common Django/Postgres unicode fail, 22nd of July, 2011:
If you just installed postgres and created a database, Django will probably fail to bring you unicode happiness. The chances are that your site suffers from this error, even if you have not seen it yet. How to spot and fix "DatabaseError: value too long for type character varying"? Read the blog post!
- State machines for web development, 15th of July, 2011:
- Teach your team some Git! Experiences of a team lead who cares., 9th of June, 2011:
Teaching yourself using Git is a long process, full of obstacles - just as teaching yourself anything else more complex than cooking pancakes. But it’s not enough to use Git at home, hacking some console applications for a couple of GitHub stalkers - you should use some great version-control system at your workplace. Our dev team moved to Git not so long time ago, and it was quite a difficult move.
- Chef scripting quick start, 12th of May, 2011:
This post is about Chef. Chef is a big odd but very powerful piece of software. You'll probably find it extremely useful for your deploy tasks - as soon as you can understand it.
- Classes are not just namespaces, 10th of May, 2011:
There is a mistake that Python developers make every now and then. If they also happen to be authors of some framework, they can get away with telling us that this is the very framework's way and suggesting an ugly (yet "frameworky") workaround. But you can't, so please don't do this to us. A little rant on the "instance greed" and a reason of `View.as_view()` method in Django's class based views classes in the blog post.
- Using virtual machine (vagrant) for you web development, 6th of May, 2011:
In my opinion, environments on the development machine and production machine must be as close to each other as possible. But installing Postgres, Solr and whatnot on your local machine is a terrible option, and they quickly become unmanageable. We have a solution for that!
- How to search with row level permissions?, 5th of May, 2011:
Searching on a site where everyone has access to only some content can be tricky to implement. I'm discussing here several basic concepts about row level permissions and how to implement full-text search without hacking and complicated code.
- You should use django-haystack like this, 4th of May, 2011:
There is an annoying API mistake in django-haystack, leading to bugs and hacks. In this article, I tell you about the *only* way you should use django-haystack, which will save us all a lot of time.
- Django settings template, 1st of May, 2011:
A better template for Django settings, ready to use.
- Organizing Django settings, 29th of April, 2011:
- Configuration stuff, 11th of April, 2011:
- Python Monads - new approach, 2nd of April, 2011:
Please send your comments, ideas, rants and job offers at firstname.lastname@example.org.
Made with Nginx, Jekyll, Git, EC2 and Emacs.