Celery API changes drive me nuts


This is a rant. My company's code base is over 65K lines of Python and JavaScript code. We use Celery, Django-Celery, and RabbitMQ for our background asynchronous tasks. Ten different tasks.py files contain 30 task classes, split roughly 50-50 between periodic and on-demand. We use subtasks. Today, I dug into updating from Celery 2.5.3 to … Continue reading Celery API changes drive me nuts

Replacing Redis with a Python Mock


tl;dr When writing tests, mock out a subsystem if and only if it's prohibitive to test against the real thing. !tl;dr Our product uses Redis. It's an awesome technology. We've avoided needing Redis in our unit tests. But when I added a product feature that made deep use of Redis, I wrote its unit tests … Continue reading Replacing Redis with a Python Mock

An awesome engineer makes me scratch my head


I know an awesome software engineer. He's very smart and a joy to work with. He's platinum-grade material, and I'd work with him again in a femtosecond. On rare occasions, this Pythonista among Pythonistas and Djangonaut among Djangonauts writes code that makes me scratch my head. He'll do this: The one-line function that only does … Continue reading An awesome engineer makes me scratch my head

IP Street’s Senior Developer opening now more about Search, less about Python/Django


After some job market feedback and chin-scratching, I've changed our Senior Developer opening's job description. Now it's less about Python or Django, and more about search technologies, specifically full-text and LSI search. We hope candidates will have some experience with Python or Django, but search technology experience (e.g., tuning, tokenizers, parsers, relevancy rank tweaking, aggregates and pivots) in … Continue reading IP Street’s Senior Developer opening now more about Search, less about Python/Django

IP Street will consider more than three Django developers


My Senior Developer job description had an embarrassing mistake. It asked for 7+ years experience in Python and Django, which, as a commenter noted, limited the candidate pool to about three people on the entire planet. I've fixed my goof. We're nominally looking for at least seven years of Python experience, and at least three … Continue reading IP Street will consider more than three Django developers

IP Street is looking for a Senior Developer


We're looking to hire two lucky people who desire fame and fortune. Here's the Senior Developer opening: Founded in 2009, IP Street develops and markets software to help corporations, law firms, financial research firms, and government agencies better analyze patent-related information.  Our goal is to make IP data easy to get, use, and understand, so … Continue reading IP Street is looking for a Senior Developer

Django vs. PostgreSQL IN operations


Here's another cautionary performance tale, wherein I thought I was clever but was not. A table ("Vital") holds widget information. Another table ("Furball") holds other information, with an M:M relationship to Vital. We want to do inferential computations on filtered Furball rows. So we generate a pk list from a Vital QuerySet, and call this … Continue reading Django vs. PostgreSQL IN operations

I don’t like Django class-based generic views.


Django had function-based generic views through version 1.25. They were replaced in version 1.3 by class-based generic views. Some caveats: I'm not the sharpest knife in the drawer. I'm not FSM's gift to web development. I have a lot of experience with the function-based generic views, and little experience with the class-based ones. (Because they're … Continue reading I don’t like Django class-based generic views.

Django Cloud Browser


Ryan's released a new version of his Cloud Browser application to PyPi. It supports S3 and Rackspace Cloud Files. Read his blog for the details.

Python interpreter tricks


John Anderson has documented some nice Python interpreter tricks on his blog. Including a .pythonrc.py file hack for Djangonauts: For Django developers when you load up the ./manage.py shell it is nice to have access to all your models and settings for testing: See his post for more interesting Python tips. Me, I'm enabling autocomplete … Continue reading Python interpreter tricks