Lua 5.5
Lua: version history Here is a chronology of the versions of Lua. The evolution of Lua is documented in a paper presented at HOPL III, the Third ACM SIGPLAN History of Programming Languages Conference, in 2007. See also its continuation published in 2025 in a journal. The source code and documentation for all releases of Lua […]
Italian Competition Authority Fines Apple $115M for Abusing Dominant Position

Search
If You Don’t Design Your Career, Someone Else Will

A client once responded to one of my questions by saying, “Oh Greg, I am too busy living to think about life!” His off-the-cuff comment named a trap all of us fall into sometimes. In just one example, it is easy to become so consumed in our careers we fail to really think about our careers. To avoid this […]
A year of vibes

written on December 22, 2025 2025 draws to a close and it’s been quite a year. Around this time last year, I wrote a post that reflected on my life. Had I written about programming, it might have aged badly, as 2025 has been a year like no other for my profession. 2025 Was Different […]
The Inner-Platform Effect (2006)

I’m sure that a lot of you have may heard about “antipatterns.” They’re more or less the converse of “software design patterns” in that they describe a frequently repeated problem in designing a commonly-occurring solution. I’ve observed quite of a few of these antipatterns in the real world, but noticed that one particularly egregious (though, […]
The ancient monuments saluting the winter solstice

Alamy We will probably never know the specific beliefs and rituals that inspired Maeshowe tomb. But it’s nonetheless possible to understand the enormous significance of the winter solstice as the “year’s midnight”, both as the darkest moment in the calendar and the pivot to six future months of greater illumination. It was a moment of […]
Inverse Parentheses
Have you ever noticed that lots of programming languages let you use parentheses to group operands, but none use them to ungroup them? No? Well let’s pretend this is a normal thing to be thinking about, and see what we can do about it. Grouping with parentheses is relatively easy to add to a language […]
QBasic64 Phoenix 4.3.0 Released

Download from GitHub Enhancements– #647, #648, #649, #650, #652 – Implements the $USELIBRARY meta-command and functionality – @RhoSigma-QB64 – For use of our brand new QB64-PE Libraries Pack add-on. – The add-on is optional to ease library usage, but the traditional way of $INCLUDEing libraries still works without changes. – #651 – Implements three new […]
CSRF protection without tokens or hidden form fields

A couple of months ago, I received a request from a random Internet user to add CSRF protection to my little web framework Microdot, and I thought it was a fantastic idea. When I set off to do this work in early November I expected I was going to have to deal with anti-CSRF tokens, […]
Your Inbox Is a Bandit
Your Inbox is a Bandit🔗 1 The Bandit🔗 In probability and machine learning, there’s a notion of multi-arm bandit problems. Your mental image should of you sitting in front of a row of slot machines (known as a one-armed bandit: the “arm” being the lever, “bandit” because it takes your money), each of which may produce […]