Blog Entries

Introduction to Phoenix LiveView

How you implement a web applications can be a difficult choice... Should it be a Multi Page applications or should it be a Single Page Application?

Building a Single Page Application allows you to create richer user experiences, but it adds a lot of complexity and often it results in lower productivity.

Building a Multi Page Application has it's benefits, but you're limited in what you can do...

It would be nice if there was good middle ground between Multi Page Apps and Single Page Apps, right?

Good news... There is another option that allows you to build rich, real-time user experiences, without adding all the complexity associated with Single Page Apps.

read more

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