Working on a defect in Leaf I had a question: should function arguments be reassignable within a function? Are they just like local variables, or should they be treated specially? It would […]
Over 20 years of programming. From video games to communications; science to finance; compilers to business processes. Too many languages to even track anymore.
Here's looking to another 20 years towards mastery of the craft.
I’ve been asking interviewees, over at interviewing.io, to write a simulation of a two-player card game. It’s an engaging question, revealing a lot about their abilities. It doesn’t involve any trickery nor […]
We hear it often, “global variables are bad, avoid using them!” But is this actually good advice? Simplified blanket statements are already a bit suspicious, but if we get into the details […]
You’ve heard the term, you’ve probably even used them, but what exactly is a closure? It’s a combination of data and code that have become a staple of modern programming. They offer […]
You head over to your favourite link site and click one of the pictures — or let’s be honest, you ctrl+click all the pictures. Your browser is filled with tabs of cute […]
Yesterday I finished a rather simple Kata from Codewars: the sum of a sequence of numbers. It was straight forward to implement, but I felt like it was missing something. It looked […]
Pair programming feels like a lingering ghost. Its adherents proclaim it to be the best approach to coding while the rest of us just continue to ignore it. I’ve only tried it […]
Reactive programming is a paradigm that creates permanent relationships between values. Rather than one-time calculations, a reactive expression updates its result whenever the source value changes. Perhaps first popularized in spreadsheets, and […]
A bug snuck by me while adding a new feature to Each: a behaviour in Fuse that dynamically adds UI elements. I had to change a lot of the code, so I […]
Declarative programming is a paradigm that expresses the desired result, not how to achieve it. It uses rules and constraints to describe a user interface, the layout of a network, the structure […]
I needed a way to embed a text file in my C++ code. I recently introduced Leaf code into the Leaf compiler and didn’t want to depend on a file dependency at […]
I’m a programmer. If you think that means I write code, you’re wrong. As a programmer, my job is translating ideas into a working computer solution. Beyond coding, this involves a myriad […]
Communicating between components with events is one of the fundamental programming paradigms. One module publishes an event, and other modules respond via listeners. It’s an asynchronous model that provides an excellent separation […]
Error handling is hard, and it’s made harder by a rich error hierarchy. Programs that successfully handle errors tend to have only a couple of generic handlers. Code that catches specific types […]