11 October 2025
tl;dr Two years ago, I started creating a pattern language for developer relations activities, and I published an early draft of what they looked like to this website. In the time since, they've been refined, expanded, and collected into a single paper volume, available from APress in December of 2025.
11 October 2025
tl;dr Linguis, available for examination and/or forking, is a language designed to explore the axis of, "How much can we tweak the front-end of the language, in this case the parser, so that people of different nationalities can write code in the syntax of their choice?" Available at https://github.com/tedneward/Linguis for perusal, though it's only at a 0.1 now.
11 August 2025
As a software developer in 2025, it is difficult to choose how to spend one's time. New programming languages (Rust, Zig, AssemblyScript, ...), new data storage implementations (NoSQL, NewSQL, multimodel databases, ...), and of course the alluring temptation of "artificial intelligence", all beckon for the developer's time and attention. More importantly, in a world where ChatGPT can toss off an essay on any topic imaginable without requiring any work on your part, why would any intelligent software developer spend a moment's effort on writing prose?
23 May 2025
No Starch Press sent me a copy of Sy Brand's "Building A Debugger", which walks, step by step, through the process of building your own assembly-level, native-executable debugger. It geeks me out in ways I haven't geeked out since... well, since the last low-level geekery book (the ARM assembly book) they sent me.
15 March 2025
tl;dr Over the last two years, we've seen a dramatic policy debate playing out on the feeds of LinkedIn: "WFH (Work From Home) vs RTO (Return to Office)". Nearly everyone has an opinion, and many (if not most) of them are held strongly. Some are held based on data, some on personal preference, and many are based on personal experience. Nearly all of them, however, focus on the wrong part of the debate: it's not really about "WFH vs RTO", but about "async vs sync".
13 March 2025
tl;dr Ever had one of those situations where you find that some data about your engagement with a company or institution is incorrect, go through the motions to correct it, only to discover it has mysteriously changed back to the original, incorrect, value? The other day I was driving with my wife back from some doctor's appointments and we were talking about some social media friends she has that were complaining about the same. It's the modern take on "tilting at windmills", yet it's so common we just accept it as an everyday part of modern life. It got me thinking about the problem from a software perspective, rather than a human or corporate perspective. And I think we, software developers, are partly to blame for the situation. Incorrect data, it seems, is impossible to correct in any system larger than a single database.
09 March 2025
tl;dr A colleague of mine, Scott Porad (CTO, VP Engineering) posted on LinkedIn, asking, "What are all the other kinds of debt like tech debt?" He listed out a few, then asked for others to weigh in, and the list grew... kinda long. And interesting. And made me think about the metaphor more deeply.
05 February 2025
tl;dr One of the "OG" data formats, the tabular data structure, aka "the flat file", is still today a handy and reasonable way of exchanging data in an automatable fashion without significant integration work required. Its shape is ideal for a multitude of data molecules that all share the exact same contents.
04 February 2025
tl;dr Relational data is, contrary to popular belief, characterized not by "tables", but by sets and relational variables (also known as "relvars"), and making use of a relational algebra and predicate calculus to make it easier to do set-oriented operations.
03 February 2025
tl;dr Objects, despite being the most common tool form of mainstream programming languages, are often not as well-understood as a data concept as one might think. In an object data model, entities are defined as unions of state and behavior (and behavior is often of much less concern to the data modeler) that in turn can be related to other objects through a variety of mechanisms (type, ownership, association, and so on).
Older posts are available in the archive.