Tag Archive

Happy Now, Beeminder?

Friday, September 18th, 2020
Happy Now, Beeminder?

Programming note (not that kind of programming; we could call it a doubly meta note?): The blog is now mobile-friendly! You’re welcome. This week we (by which I mean our robotic minions, by which I mean Google Alerts) noticed a Beeminder-relevant blog post out on the internet. It’s very short so I can... »

How To Write Functional Specs II: The Spec-List

Friday, September 4th, 2020
How To Write Functional Specs II: The Spec-List

Writing software involves a lot of backing yourself into corners. For even the simplest-seeming program, you find yourself adding duct tape and chewing gum to satisfy different requirements and logic bugs that come up. Then you gradually whittle it back down and end up with a few simple lines and it’s... »

Blog-Post-Driven Development

Monday, August 24th, 2020
Blog-Post-Driven Development

It seems like every time I talk about principles of software engineering to you all I get jaw-droppingly insightful replies. No pressure. Ok, if you google “documentation-driven development”, it seems to be a lot of people saying that documentation is so important that you should write it first blah blah blah. But I think there’s a... »

Choices are Bad: The Anti-Settings Principle

Thursday, July 30th, 2020
Choices are Bad: The Anti-Settings Principle

What’s the most absurdly provocative way I can put this? Never imagine what your users will want! Apps must only ever do one single thing! If-statements considered harmful! Yes, this is all pretty rich coming from the people who built a goal-tracking app with, if I’m doing this math right, multiplying out all the various settings… 73,728 types of... »

The Anti-Robustness Principle

Thursday, July 16th, 2020
The Anti-Robustness Principle

This is another tech nerd post. Normal humans seek cover!   Abstract: Fail loudly and immediately.   (I sure hope all the normal humans took cover already because that sentence sure would sound different to them than to us! I also hope this isn’t all too obvious... »

Announcement: The Yellow Brick Half-Plane Has Arrived

Tuesday, June 9th, 2020
Announcement: The Yellow Brick Half-Plane Has Arrived

Until today Beeminder had a fundamental design flaw that was baked in from literally day one. The first line of code for what would become Beeminder was to draw a line on a graph in Mathematica from a target weight to a goal... »

The Anti-Magic Principle

Wednesday, May 27th, 2020
The Anti-Magic Principle

Being a fan of overly provocative titles, I was tempted to title this “If-Statements Considered Harmful”. Meaning that it’s so tempting to add little bits of intelligence to your app to make it do the sensible thing in different circumstances. And that’s usually perfectly correct but the Anti-Magic Principle... »

X-Treme Nerd Interlude: Computing and Visualizing Level Curves of the Days-To-Derailment Function for the Upcoming Yellow Brick Half-Plane New World Order

Thursday, May 14th, 2020
X-Treme Nerd Interlude: Computing and Visualizing Level Curves of the Days-To-Derailment Function for the Upcoming Yellow Brick Half-Plane New World Order

For background on the Yellow Brick Half-Plane that a normal human could conceivably care about, see our previous post on how we’re killing the custom lane widths feature. This post is strictly for abnormal humans, and/or, more realistically, for ourselves, because math... »

How To Write Functional Specs

Thursday, March 12th, 2020
How To Write Functional Specs

We’re assuming here that you’re already conceptually on board with writing specs. If you’re skeptical, Joel Spolsky will set you straight! Here’s my own mini-pitch for specs: Writing... »

The Startup Egg-Basket Principle

Friday, February 28th, 2020
The Startup Egg-Basket Principle

The startup egg-basket principle is: put all your eggs in one basket. Be laser-focused on the one thing you’re best at. If you’re scrambling for survival, focus only on the one most promising thing for making the startup sustainable. For example, most startups should focus exclusively on their premium plans and not have a free plan. So much... »