Computer Things
Archives
Search...
Subscribe
Grind Smarter, not Harder
April 19, 2021
New Essay: Why Specifications Don't Compose Read it here! Didn't sneak peek it to the newsletter because I used a lot of Hugo preprocessing, so this is the...
Reject Simplicity, Embrace Complexity
April 7, 2021
"Keep it simple!" "Just write simple code!" "Great devs come up with simple solutions!" I get it. Simple code is better than complex code. It's an important...
Function Sets and Specification
April 5, 2021
May TLA+ Workshop Still three slots left! May 24-26. Learn how to find bugs that would slip right past types, test, and code review. No Newsletter Next Week...
Why Property Testing Finds Bugs Unit Testing Does Not
April 1, 2021
I intended this newsletter to be my thoughts without editing, and I have a new thought, so here goes. I want to respond to this discussion: But Kids These...
Some Rambling About Structured Text
March 29, 2021
TLA+ Workshop You know the drill. TLA+ Workshop, three days, May 24-26. Only four slots, so sign up before they're gone! New Essay Why do Interviewers Ask...
The Antipattern Scripting Language
March 27, 2021
This is a little out of the normal for this newsletter but I had an idea that I just needed to get off my brain. This is going to be a little more free-...
A Binder Full of Questions
March 22, 2021
1. A joke I once read: A certain well-known pure mathematician had a wife who, while intelligent, was not into mathematics. However, by continued practice,...
No Seriously, Hate Your Tools
March 16, 2021
TLA+ Workshop Only one slot left! 3 days, April 12-14. Register here! Why Don't Specs Compose? My friend Lars Hupel and I did a small Twitter experiment: a...
Vim is Turing-Complete
March 8, 2021
No, not VIMSCRIPT. Vim KEYSTROKES are Turing-complete.
Code is Data is YAML
March 1, 2021
This is a weirder theorycrafting post and I don't know how much I actually believe in it, but it seems like something you all'd enjoy reading. A couple weeks...
New Post, Blub Studies, and Theorycrafting
February 25, 2021
Hello everyone! First of all, new post: TLA+ Action Properties. It's about specification properties on changes to the state, not just properties on the...
J as a Desktop Calculator
February 22, 2021
Talk Tuesday I'm speaking at Berlin Function Programming Group! Noon CST tomorrow, register here. It's my standard TLA+ talk, so there won't be any major...
"Naming Things" is a Poor Name for Naming Things
February 16, 2021
It's been a while! Let's just say the past couple of weeks have not been kind to me and leave it at that. So, newsletter. I got 40% through writing about...
No, "reasoning about code" is not a scam
February 1, 2021
Late Newsletter next week Alloy workshop. Still one slot left if people are interested! No, "reasoning about code" is not a scam Last week I read “Reasoning...
Adversarial Nondeterminism
January 29, 2021
Damn, has it been two weeks since the last "real" newsletter? I feel like my brain is out shape. Anyway, I thought of a fun metaphor to explain model...
New Essay: Are We Really Engineers?
January 18, 2021
Are We Really Engineers? It's finally ready! Part one of the Crossover Project covers what inspired me to do this all, what makes engineering "engineering",...
How I got into formal methods
January 11, 2021
Alloy Workshop There's a couple slots left for the February Alloy Workshop. Feb 8th, 10 AM - 6 PM CST. Learn how to find bugs in your designs without having...
Write Code That Delivers Value to Clients
January 1, 2021
Does a person help my team deliver software to stakeholders? If they stomp their feet and demand that we spend a week reducing the program’s memory footprint...
100th Issue End-of-Year Bonanza
December 28, 2020
It's the 100th Computer Things Newsletter! I'm celebrating with a book announcement and director's commentary on all of my 2020 essays. But first, a couple...
Cross-Branch Testing
December 21, 2020
This was inspired by a few conversations I had last week. There's a certain class of problems that are hard to test: The output isn't obviously inferrable...
Newer archives
Older archives