• Open Source Update: Waffle

    by  • 21 October 2015 • 0 Comments

    I just pushed version 0.11 of Waffle, the feature flipper for Django. It contains a number of code and documentation fixes which you can also see in the changelog and the milestone. I had to shuffle the milestones around a bit, though I haven’t yet updated the roadmap yet. Basically, to get the fixes...

    Read more →

    Open Source Update: Jingo

    by  • 20 October 2015 • 0 Comments

    As part of shuffling around open source responsibilities, I’m going back to being the sole maintainer of Jingo for now. I just pushed Jingo 0.8 to PyPI. This executes on a plan I developed over the summer: 0.7 supports Django <1.7 0.8 supports Django >=1.7 If you’re using 1.4ESR, or haven’t moved off 1.6...

    Read more →

    Open Source Update: Bleach

    by  • 16 October 2015 • 2 Comments

    As of today, I transferred ownership of Bleach to the Mozilla organization, and the Mozilla WebDev team, in particular Will Kahn-Greene and Jannis Leidel, are taking over maintenance of it. Huge thanks to Will, Jannis and Chris Lonnen. Bleach needs more attentive stewardship, and I believe the project will be much better off with...

    Read more →

    The Fallacy of “Microservice Infrastructures”

    by  • 20 August 2015

    “Awesome, now, did someone remember to build a product?” The problem with these advanced, complex microservice infrastructure ideas is that they presume an impossible starting point: you have a large, senior operations team, big enough to operationalize and maintain all of these moving parts, and no product or existing infrastructure whatsoever. If you’re starting...

    Read more →

    Storing date, time, and timezone for future events

    by  • 11 August 2015

    Tantek recently published a blog post encouraging developers to use UTC with timezone offsets for storing dates and times. There is, however, an unfortunate nuance his post doesn’t include, and so I’m pointing it out here. For “when did this happen?” and “what time is it now?”, UTC, or UTC+offset, is perfect. Past events...

    Read more →

    An Object Caching Pattern for Django

    by  • 7 May 2015

    Increasingly I’ve been treating even RDBMSes like structured key-value stores. There are still foreign keys and relationships in there, but the access patterns are most commonly by some kind of “primary” key (not always the primary key on the table, but a natural one). Normally when I do something in more than two projects...

    Read more →

    For the love of Email

    by  • 20 February 2015

    Email is the whipping technology of communications. Everyone wants to kill email. Email is also, for all its problems, fundamental to most modern business communication. While many teams rely more on real-time platforms like Slack or HipChat*, or even IRC, which definitely still has a posse, that only takes back a function that email...

    Read more →

    Digging into “that” Python error

    by  • 15 February 2015

    I think this is my most popular tweet ever: >>> foo = (,) >>> foo += TypeError: 'tuple' object does not support item assignment >>> foo <<< (,) — James Socol (@jamessocol) February 12, 2015 I’ve known about this little quirk for a while, but I shared it because it still amuses me. It shocks and confuses...

    Read more →

    Visualizing the 2015 SotU on TodaysMeet

    by  • 5 February 2015

    Now that you know how TodaysMeet works, here’s part 2: using the message queue architecture to build the SotU visualizations. TodaysMeet has a long history with political events. During the 2012 Presidential debates, I was at a stranger’s apartment—guest of a guest—half-listening (binders full of what did he say?) and using a hastily borrowed...

    Read more →

    How TodaysMeet Works

    by  • 4 February 2015

    I want to write about TodaysMeet’s 2015 State of the Union site, but I realized I spent half the time on the existing architecture. So, this is part 1, and here is part 2! A little over two years ago, I set out to completely replace TodaysMeet’s platform. Then, over the past year, I’ve...

    Read more →

    Testing with Django’s Cache

    by  • 6 December 2014

    I don’t love my solution to this problem, so I’m writing about it in hopes that someone has something better. When you run tests with Django, you get an isolated test database. This can be wiped out and the consistency makes life a lot easier when you are running tests locally in a dev...

    Read more →

    Bounties and Tips

    by  • 11 November 2014

    Last week I wandered into the tip4commit fracas and a “helpful” commenter pointed out Bountysource, so I started asking some questions there. There must have been a few others doing the same thing because, to their credit, they started a discussion about it. Since then I’ve been thinking about money in open source and...

    Read more →