[ Content | Sidebar ]

Archives for Programming

when to think about what

I gave a talk at work recently riffing on Test-Driven Development, Getting Things Done, and what they have in common, and I think it went pretty well? So I got permission to distribute the slides externally; I put in pretty thorough speaker’s notes, so hopefully they make sense without the recording. Anyways, here are the […]

notes on incident response

When you’re on call to help run an online service and you get paged, then the page might go a few different ways. Maybe the alert is something that you’re familiar with; so you take the standard steps, you take a note to bring it up in the next retrospective in hopes that your team […]

the possibility space of company behavior

This picture from Liz and Mollie showed up on my Twitter feed a few times recently: And that reminded my of one of my favorite (?) BusinessTown posts: Not because they’re pointing at the exact same thing, but because they’re both pointing at monocultures within how businesses (or at least tech business, or at least […]

tdd and deliberate practice

A little while back, I wrote some about the pros and cons of deliberate practice, as per the book Range. Deliberate practice works well if you’re working on something with a clear goal, where you have fast and accurate feedback loops; but if you’re not working in a domain like that, then deliberate practice might […]

memory improvements

A few years back (probably a decade back, by now?) I wrote some software to help me memorize Japanese vocabulary, by doing time-spaced repetition. And it was also an excuse to play around with Ruby and with Rails. I’ve been using that software ever since: sometimes a little more diligently and sometimes a little less […]

code animism

I’ve been infatuated with The Nature of Order and KonMari for a while, in part for the same reason: their emphasis on direct perception. I spend a lot of time in my head, which leads to over-theorizing and over-analyzing; a question like “does this feel more alive?” or “does this bring me joy?” can cut […]

twist steps and refactoring

One theme that constantly comes up in Tai Chi classes is keeping control over where your center of gravity. At any point in the form, you should know whether your weight should be completely over your right foot, completely over your left foot, somewhat on the right side, somewhat on the left side, etc. You […]

best practices

A quote from Anil Dash’s article about Fog Creek’s new project management tool, Manuscript: Be opinionated: Manuscript has a strong point of view about what makes for good software, building in best practices like assigning each case to a single person. That means you spend less time in meetings where people are pointing fingers at […]

open offices

Over the last week, I saw several attacks on Apple’s new offices, responding to information from this Wall Street Journal article by Christina Passariello: a Six Colors article by Jason Snell; a Daring Fireball (John Gruber) link to Snell’s article plus a, uh, smug follow-up; and a take from Anil Dash. What surprised me was […]

batch method objects and reducing duplication

I’ve been falling behind in blogging here, but I did write up a note last week on the Sumo Logic blog about something I recently ran into while programming, and Sumo has kindly allowed me to publish a copy here as well.   When Sumo Logic receives metrics data, we put those metrics datapoints into […]

responsibly testing in production

(This post was informed by a session at Agile Open California; many thanks to Llewellyn Falco and Matthew Carlson for their discussion and suggestions. But if there’s something in here that sounds wrong to you, blame me, not them!)   Agile software development has always had a strong focus on your software being correct. At […]

agile open california 2015

I’ve gone to every Agile Open (Northern) California, and it’s absolutely my favorite conference. I’ve learned a lot there, I’ve had a lot of really interesting interactions there, it always gets me thinking. For a few years, the conference was therapy for me; fortunately, that wasn’t necessary this year. I felt significantly more detached than […]

how to develop software

All quotes are from The Process of Creating Life, by Christopher Alexander. Emphasis and ellipses as in the original.   The further I went to understand the actual process which had been used to make the tile, the more I realized that it was this process, more than anything, which governs the beauty of the […]

interviews and whiteboard coding

I talked with a friend of mine at Agile Open California a couple of weeks ago who was bemused by an interview he’d had recently: the company had asked him to do a programming exercise in advance, which he enjoyed and was looking forward to talking about with them during the in-person portion of the […]

the xp practices

Probably the most important hour I spent while I was transitioning out of teaching and into programming was spent attending a talk on extreme programming. Ever since then, the XP approach has been my default way of thinking about how to produce software; I’ve never been on a team doing XP, but I’ve dived headfirst […]

brenda romero: jiro dreams of game design

It’s months since GDC, and I’m still trying to unpack my feelings about Brenda Romero’s Jiro Dreams of Game Design talk. Or maybe not so much my feelings about it—it’s an excellent talk, no question—but my emotional reactions to it. Her talk confronts concepts that I care about (greatness, team structure, creation) in contexts that […]

medium: setting up a build system

After I set up Medium, the next thing I did was start writing code and unit tests. And I will write about unit tests in a couple of posts, but I want to jump ahead one stage, to a build system, because that was something that required workarounds almost from the beginning and turns out […]

medium: setting things up

As I said recently, I’m experimenting with writing a Netrunner implementation in JavaScript. I’m calling it Medium; here’s the first in a series of posts about issues I’ve encountered along the way. Before I go too far, I want to thank two sources of information. The first is Bill Lazar; he’s one of my coworkers, […]

men, women, programming, culture

So, a couple of weeks ago, a prominent programmer / writer wrote a post whose driving metaphor was: frameworks are bad because it’s like one woman having many men sexually subservient to her, whereas the way things should be is for one man to have many women sexually subservient to him. People complained, he apologized […]

netrunner implementation experiments

GDC got me in the mood to do some game-related programming; and, when that mood didn’t go away after a couple of weeks, I started to spend some time thinking about what exactly that would mean. I’d thought initially that maybe I’d learn how to use Unity, trying to implement one or two game-related tech […]