Blog Entries

Identifying Pure Functions

Do you know what a pure function is? Do you think you can easily categorize a function as pure or impure? Is pure and impure the only two answers?

Here's a contrarian take on pure functions...

read more

The Problem the DataLoader Solves

When you first start learning GraphQL, there’s a pretty good chance, that you’re first attempt at creating a GraphQL API, will have one big problem, that you really shouldn’t live with. Now, I bet many of the seasoned developers, who start learning GraphQL, will recognize the problem I’m referring to, but there’s a whole lot of developers, who probably won’t even notice the problem, because… well, the problem isn’t obvious. This problem, that I’m about to talk about, won’t give you an error, at least not during development, and honestly you’ll probably end up with this problem, because its a result of an intuitive solution, but unfortunately the intuitive solution is a naive solution...

read more

Working Memory & Programming Paradigms

Cognitive psychologist George Miller argued that you can only have 7 (+2) things in your working memory. Obviously the exact number varies by person, type of information, day etc.., regardless of the actual number, working memory is a significant bottleneck to a programmer's productivity. This really sucks! Nobody likes to think about their own shortcomings, but ignoring this fact isn’t helpful. Rather than ignore it, let's acknowledge it as a bottleneck for complex thought work.

As far as I can tell there is no way around this limit, however there are things you can do to make yourself more productive when you consider this limitation. One of those things is relying on Google less and memorizing more, which I’ve talked about before. But what else can you do to be more productive, given your the working memory constraints? ...

read more

The Other Value in Open Source

Many software developers (both new and old) suffer from a debilitating shortcoming. When presented with a new (to them) problem, they often say:

I can solve this

Then they set out to solve the challenge.

And Why is this bad?

Well, I’m not saying it’s necessarily bad, but it’s far from optimal...

read more