TheJach.com

Jach's personal blog

(Largely containing a mind-dump to myselves: past, present, and future)
Current favorite quote: "Supposedly smart people are weirdly ignorant of Bayes' Rule." William B Vogt, 2010

Hero Driven Development

Just a brief thought or lament on a common pattern in open source development. It's the dependence on "heroes" of the ecosystem.

Heroes are individuals or groups who "step up" and, for continuous years, make new stuff and maintain it. When they make promises and commitments, either explicit or implicit, you can count on them.

An example of an implicit commitment is registering a domain name. Are you going to be cool and keep that URL working forever? If I ever have to use a site archiver, you have failed, and I'm a bit sad.

See Full Post and Comments

Where's my game?

Nowhere in sight.

And not any time soon.

Ok, I just want a preface effectively saying: don't listen to me about making video games. I have very little to showcase that I know at all what I'm talking about.

See Full Post and Comments

AI Songs

I came across this silly song today, Colors of the Lisp. At the bottom is a link to a youtube video of someone performing it. I don't mean to be rude to the singer; my opinion is that it's kind of a bad performance.

Taking a step back real quick, I think it's sort of a shame that most humans suck at singing (this definitely includes me) -- maybe most could be trained up to something approaching "not grating", if we all had time and inclination, but I don't know. In the past, I don't think it was any different either, most people were bad. But it mattered less, because you didn't have an endless supply of excellent music to listen to any time you wanted, so people sang more even if they weren't very good. And when singing in a group, even if there are a lot of bad singers, the whole sound plus the experience of the individuals can sort of make up for it.

Vocaloid has been around a while, I enjoy it. I also think the idea is implicitly accepted there: even if a singer sounds quite robotic, it's still a lot better than a random human giving an attempt.

See Full Post and Comments

Time series statistics are tricky

In one of my last projects at BigCo, I had to implement a bunch of metrics monitoring and alerting for our services. This was years ago now but every so often I think back on it and how it drove me a bit nutty... Here's a short write up of some of the problems I remember, from just considering one of its aspects: metrics on a single API endpoint request.

People seem to think statistics like "average requests per minute" or "p99 response times" are straightforward metrics that can be pulled with a simple query. But they can be quite complex, and the results can be very misleading depending on how the events and queries have been defined.

So again, starting with something simple, we just want a requests counter for a single endpoint. How you define this counter changes how you interpret its data. One approach is to emit an event each time the endpoint is hit, logging every single request. Alternatively, you could maintain an asynchronous counter that emits its value at fixed intervals (every minute, say), incrementing only when new requests come in.

See Full Post and Comments