Data Structure Identifiers

Any time you have a long-term data structure, it’s important to have some form of unique identifier used to look up or recognize the structure. It doesn’t matter if the long-term data is a database record, a document in some form of storage, an object, or whatever. If the data lives for a while, you’ll… Read More »

Will LLM Replace Programmers?

This deserves a much bigger write-up. But, with ChatGPT taking up so much mind share lately, I have an observation. During my career, I’ve seen several technologies or approaches that would allow non-programmers to write systems, and replace those expensive programmers. The claims that I can think of right off Even Visual Basic was touted… Read More »

The Dark Side of Convention over Configuration

I see a lot of development advice that assumes the developer is working on a green field application. Many of the tools that “make a developer’s life easier” are also designed mostly for use in creating new applications. Most of my experience as a professional developer (or whichever title you prefer) has been improving and… Read More »

Aphorism Driven Development (ADD)

Over the years I have noticed a habit among some developers that I’ve come to call Aphorism Driven Development. Many best practices are taught and remembered through the use pithy statements. Although these statements are easy to remember, they can’t capture the full context and connotations of the practice in question. If someone never learns… Read More »

Optional Values in Rust

Let’s say we are writing some code to retrieve data from a database. If the data we are looking for is there, we can obviously return it. If there is no data that matches our search, we need to signal that we did not find it. In many languages, we use a nil, null, or… Read More »

Rust Error Handling, Part Two

In the previous post, I covered a quick overview of error handling approaches in different languages. Then, I introduced Rust’s error handling using the Result<T, E> enum. This time we’ll look at how Rust’s approach improves on other techniques. Compared to Error Returns Returning a Result<T, E> from a function is very much like the… Read More »

Rust Error Handling, Part One

For the last couple of years, I’ve been learning Rust in my free time (ha!) by working on side projects. Since I don’t really have a deadline, I can focus on seeing how Rust changes the way I think about programming. A language that doesn’t affect the way you think about programming is not worth… Read More »