teams Unclear Asks are Killing your Team We've all been in a meeting, wondering what the goal was, and why we were invited. Some of us have even gotten up, said something, and left. The truly bold may have suggested
Remembering TodaysMeet Nearly 10 years ago, I launched a small chat tool. Somehow, through a lot of luck, and a bunch of hard work, it managed to become popular among classroom teachers as a way
PIEfection Slides Up I put the slides for my ManhattanJS talk, "PIEfection" up on GitHub the other day (sans images, but there are links in the source for all of those). I completely neglected
conde-nast New Year, New Role Yesterday was my last day at the job I’ve been in for most of 2015. Later this month I’ll be joining the digital team at Condé Nast! I’ve been interested
Code Open Source Update: Waffle 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.
Open Source Update: Jingo Update: Jingo is no longer supported as was deprecated in favor of django-jinja at the end of May 2016. As part of shuffling around open source responsibilities, I’m going back to being
bleach Open Source Update: Bleach 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
The Fallacy of "Microservice Infrastructures" “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,
programming Storing date, time, and timezone for future events 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’
Back-end An Object Caching Pattern for Django 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
email For the love of Email 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
deep-dive Digging into "that" Python error I think this is my most popular tweet ever: >>> foo = ([],) >>> foo[0] += [1] TypeError: 'tuple' object does not support item assignment >
Back-end Visualizing the 2015 SotU on TodaysMeet 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
django How TodaysMeet Works 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
django Testing with Django's Cache 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
Code Bounties and Tips 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
irregular update Biweekly-ish Update 07/Nov/2014 My finger is mostly healed. I have a whole new terror of flaying. And Teacher Tools launched! I’ve been focused on getting the word out and answering questions from customers this week.
Mozilla's Secret Browser Disclaimers and Me A disclaimer: I used to work for Mozilla, but I don’t anymore. It’s been about a year and a half. I still maintain a couple of Python projects
api Irregular Update, 24/Oct/2014 Another update! Wow! The past two weeks have all been on TodaysMeet Teacher Tools except for the afternoon I spent dealing with a hurt finger (not exactly badly hurt but I still can’
weekly update Irregular Update 04/Oct/2014 I’ve been thinking about restarting the weekly updates I used to do, mostly just to get myself in the habit of writing more, but also to make myself take some note of
Best Practices for Happy Webhooks I love webhooks. I love automating things and minimizing the shit work I and my users have to do, and webhooks have been an invaluable solution to a real problem. I will also
Python StatsD Client Version 3.0 I just pushed version 3.0 of my Python StatsD client which contains a few doc updates but one significant, backwards-incompatible change: the default statsd client instance has moved. There are now two
bitly What's Next Friday was my last day at Bitly. Starting now, I am concentrating on TodaysMeet. TodaysMeet has been a side project of mine for a long time, and lived for several years without much
Patching Heartbleed Because this took several hours of trial and error, I want to run through what I did to patch OpenSSL for Heartbleed (CVE-2014-0160) on TodaysMeet—and ask for a little help. I hope
On Mozilla and Brendan Eich Two things have been clear to me for the past week: Losing Brendan from the Mozilla organization and community is a terrible blow, and we’re all worse off for it. Brendan could