Computer Things
Subscribe
RSS
Archive
Funny Programming Languages
January 19, 2023
One of the weirdest and most wonderful things about people is that they can make a joke out of anything. For any human discipline there's people making jokes...
Use the Wrong Tool for the Job
January 16, 2023
I've recently been real fascinated by the topic of complexity and what keeps us from keeping software simple. The wider net likes to blame "lazy programmers"...
In Defense of Testing Mocks
January 9, 2023
Computer Things: 2021 Edition It's over a year late, I know, but the 2021 Newsletter collection is now available to purchase as a PDF. 70,000 words, 250...
Microfeatures I'd like to see in more languages
January 5, 2023
There are roughly three classes of language features: Features that the language is effectively designed around, such that you can't add it after the fact....
Why Modeling Finds Bugs (Without Model-Checking)
January 2, 2023
Just the process of writing a model will improve your software designs.
Bugs that literally cost money
December 21, 2022
How much does a software bug cost a company? Well that's a messy question. It depends on the type of bug, the broken behavior, the type of company, etc. And...
2022 In Review
December 19, 2022
Happy end of 2022! It's been a busy year personally and professionally, one of the most productive (on both fronts!) in a long time. Not that you'd be able...
Universal SE Topics
December 13, 2022
Resources that someone (nose goes) needs to write
Making ChatGPT Useful
December 7, 2022
Lower your expectations and AI will thrive
I am disappointed by dynamic typing
November 29, 2022
They have potential to be more than "no static types", but that hasn't happened.
Let's Prove Leftpad; Content Aggregation
November 16, 2022
Hi everyone! First of all, I published a new blog post. It's an explanation of my Let's Prove Leftpad project. Give it a read! Now because I can't in good...
Why do we call it "boilerplate code?"
November 14, 2022
Etymology is fun!
Notes on Every Strangeloop 2022 Talk I Attended
November 2, 2022
I originally made this newsletter to tell people when I updated my blog. Then it grew into the abomination it is today. Anyway, I just updated my blog....
Software Moves
November 1, 2022
Verbing patterns
Software Isomorphisms
October 25, 2022
SUPRISE MATH LESSON
Teaching Accidental and Essential Complexity
October 18, 2022
So you may know that I'm teaching a 1-day TLA+ workshop in December (just 10 slots left!) This is unlike my normal workshops because it's only 1 day and for...
What a Wedding Taught Me About Software Engineering
October 12, 2022
I'm too jetlagged to resist silly clickbait
I am a SQL Injection Attack
October 4, 2022
Recently I've been very interested in "meatspace models", where you explain a CS concept in terms of the real world. It's the monad is a burrito gag except...
Snippet Praxis
September 27, 2022
Copypasting from stuff is A Good Idea
New Article, "The Five Minute Feedback Fix"
September 19, 2022
Hi everyone! I know I said there was no newsletter this week, but that doesn't mean no new content! Last year I was approached by The ReadMe Project,...
On the benefits of humanities in software engineering
September 14, 2022
Read More Boring Poetry
Data Invariants
September 7, 2022
Asserts But Fancy
Giving Names to Things
August 30, 2022
Naming things is hard. Naming things that have never been named is harder.
Why do arrays start at 0?
August 23, 2022
It's not the reason you think. No, it's not that reason either.
I have complicated feelings about TDD
August 16, 2022
They're not all good and not all bad
Excel is Pretty Dang Cool
August 12, 2022
It's like discovering a treasure chest under my kitchen sink
Search less, browse more
August 2, 2022
Why you should browse more documentation instead of just searching for specific answers
Information camouflage
July 26, 2022
About a thing that makes finding some information really hard
On Metafiles
July 19, 2022
A metafile is a file that represents multiple possible files. The most common type of metafile in use is the template file: <p>I passed in {number}</p>...
Six Programming Languages I'd Like to See
July 13, 2022
A few weird ideas for programming languages I came up with that it'd be "really" "cool" if someone made (wink)
Beyond the Four-Document Model
July 6, 2022
Been a while! Now that learntla is out, I can get back to life. Exercising, eating, sleeping, and most importantly, updating this newsletter. Word of...
The new learntla is now online!
July 1, 2022
tl;dr: online TLA+ manual/advanced techniques/examples here. TLA+ is a tool for testing abstract software designs. I first stumbled on it in 2016 and found...
Updates on Learntla
June 15, 2022
Fifteen days left Hi everyone! Been a couple of weeks since the last email. As mentioned, I took June off from weekly newsletter to work on the new version...
Reader Mailbag: June Crunch Edition
May 26, 2022
Hey everyone! We gotta start with some housekeeping. First, you might have noticed that the newsletter email's changed. Several people informed me that Gmail...
Codebases as communication
May 16, 2022
Conventionally we communicate programming ideas with talks, papers, and blog posts. But we can also communicate ideas with entire codebases. If someone finds...
How to Memorize a Larger Multiplication Table
May 3, 2022
This one's going to be a bit off topic. I have a long piece on the history of pattern matching I want to do but this week is really tight work-wise and this...
Technology changes fast
April 25, 2022
As a teen I regularly read The Daily WTF, a comedy site about bad programming and bad software jobs. Two articles have stuck with me. The first is this...
Update on Learntla and a new writing process
April 22, 2022
Hey everyone! I realize I should give you all an update on the current learntla progress! So first of all, I've been continuously pushing my work to the...
Software Mise en Place
April 18, 2022
I am really, really into cooking. In the heady days of 2016 I regularly threw dinner parties for 30+ people. These days I don't hate myself that much, but...
You can automate more than you think
April 12, 2022
(Sorry this is late! Dealing with COVID.) I have mild ADHD. I can focus on strenuous mental tasks, but I can't handle boring or repetitive work. Even...
The Esotech Lit Gap
April 4, 2022
I work with a lot of really esoteric technologies, like TLA+, Alloy, J, MiniZinc, and PRISM. Pretty much every non-mainstream technology has a "literature...
Take Back April Fools (also new post)
April 1, 2022
Hello everyone! So first of all, new post. It's about how I got into microscopy and a bunch of pictures I took that I like. It has nothing to do with tech at...
The Software Iron Triangle
March 29, 2022
The "iron triangle" of project management is "Cheap, fast, good: choose two". This works on the assumption that quality is a metric while time and money are...
I finally found a use for XML
March 21, 2022
The Problem When teaching things I like to break code up into a set of small changes, showing the differences between each change. So if I start with //...
That time Indiana almost made π 3.2
March 14, 2022
Happy Pi Day!1 To celebrate I want to get away from software for a bit and talk about something special. You may have heard the story that the Indiana...
The Parable of the Crow
March 8, 2022
Hey y'all! Still hard at work on the new learntla version. It's currently about a third of the length of original learntla, which is pretty impressive, given...
Software I'm Thankful For
March 1, 2022
Last week I read Software I'm Thankful For and it inspired me to do a similar piece. I use a lot of different exotic tools, too, so I think it's a good way...
A Short Treatise on Bugs
February 21, 2022
First a term: by "treatise", I'm not saying this newsletter is comprehensive, persuasive, or even correct. I'm using it to mean a very specific type of...
Website Haitus, Info on the Learntla Rewrite
February 14, 2022
Website Haitus Fortunately not depression this time, just a responsibility thing. From the announcement: I’m not letting myself work on software content for...
Why You Should Read "Data and Reality"
February 7, 2022
Once more: we are not modeling reality, but the way information about reality is processed, by people. — Bill Kent I've got this working theory that you can...
Newer archives
Older archives