Computer Things
Subscribe
Archives
What can you code up in an hour?
March 13, 2023
Fast programming is a powerful skill.
Formalizing Stability and Resilience Properties
March 8, 2023
Via TLA+
Predicate Logic for Programmers: Status Report
March 6, 2023
A 2000-word piece on why I haven't yet finished a different piece
Hype Cycles Aren't "Gaslighting" You
March 2, 2023
I promised an update on the logic book today but I haven't done a spite write in a while and oh boy a new one is just raring to go. Update is queued up to be...
Teaching Implication Better
February 27, 2023
Hello everyone! It's finally March, or at least close enough to March for my purposes. First thing, we're a month off from April Cools! April cools is a...
Code review vs code proofreading
February 20, 2023
What if the problem with code review is that we're doing it wrong?
Programming AIs worry me
February 16, 2023
For some inane reason, Github classifies me as a "major open source maintainer", which means I get a free copilot subscription.1 I've been using it for a...
Maybe people do care about performance and reliability
February 13, 2023
But they are victims of complex societal factors that are beyond their control
Creatively Misusing TLA+
February 7, 2023
Five not-quite-normal uses
Improve your debugging by asking broad questions
February 2, 2023
Another form of divide-and-conquer
Tag Systems
January 30, 2023
I've tried to write a blog post on tag systems for years now. Literally years, I think I first started drafting it out in 2018 or so? The problem is that...
New Workshop, Some Data-ish Pipeline Tricks
January 23, 2023
Lots of admin stuff today! First, we have a new blogpost, the full version of the complexity preview I shared last week. I'm also announcing a new TLA+...
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...
Newer archives
Older archives