Coffee on the Keyboard

James writes stuff about programming, mostly

  • Home
  • jamessocol.com
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

  • James Socol
4 min read

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

  • James Socol
4 min read

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

  • James Socol
1 min read
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

  • James Socol
1 min read
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.

  • James Socol
1 min read

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

  • James Socol
1 min read
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

  • James Socol
1 min read

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,

  • James Socol
1 min read
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’

  • James Socol
1 min read
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

  • James Socol
1 min read
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

  • James Socol
4 min read
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 >

  • James Socol
6 min read
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

  • James Socol
8 min read
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

  • James Socol
3 min read
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

  • James Socol
1 min read
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

  • James Socol
5 min read
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.

  • James Socol
1 min read

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

  • James Socol
5 min read
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’

  • James Socol
1 min read
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

  • James Socol
3 min read

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

  • James Socol
2 min read

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

  • James Socol
1 min read
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

  • James Socol
1 min read

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

  • James Socol
3 min read

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

  • James Socol
2 min read
Coffee on the Keyboard © 2019
Latest Posts Twitter Ghost