Computer Things
Subscribe
Archives
The Jame of Life
April 21, 2021
I have a love-hate relationship with APLs. On one hand, they're unbelievably powerful in what they can do. On the other hand, they're absolutely awful in...
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...
The Most Important Video Game Ever Made
December 14, 2020
So first question: important how? If we're just talking "impact to the game industry" it'd probably be something like Super Mario Bros or Tetris or something...
Oracle Testing
December 7, 2020
This is another experiment in producing intermediate workhorse essays, combined with a bunch of theorycrafting. Most unit tests are "example test", showing...
Safety and Liveness Properties
November 30, 2020
Hi nerds, I'm back! I didn't think about tech at all last week so don't have a whole lot on my mind this week, but let's see what I can dredge up. Workshop,...
Computer Things: Vacation Phone-In Edition
November 23, 2020
Hi all! I'm taking my first "real" vacation since I went independent two years ago. Ostensibly the plan is to spend it all juggling, cooking, and not...
Knights, Puzzles, and Hypermodels
November 16, 2020
I, being a huge nerd, am a fan of logic puzzles. One of the most famous ones is "Knights and Knaves": you have a bunch of statements from people, where...
Why I Still Use Vim
November 11, 2020
The Stack Overflow blog recently published Modern IDEs are magic. Why are so many coders still using Vim and Emacs? Posts about Vim vs Emacs vs IDEs are...
No, your clean code won't save the planet
November 5, 2020
Need to channel my election anxiety into something productive, so here you go. One baffling trend I'm seeing recently is people trying to moralize virtuous...
Programs Writing Programs
November 2, 2020
New Essay Two workers are quadratically better than one. I shared a first draft of this a couple weeks back; this time it didn't change a whole lot aside...
TLA+ Helped Me Count to Six
October 26, 2020
The TLA+ Workshop is done! I'm taking November off from workshops do complete three writing goals: Feedback from the first draft of the Crossover Project is...
The Pendulum Swings Eternal
October 19, 2020
I shouldn't have had a newsletter this week because of the TLA+ workshop, but I forgot to say "no newsletter this week" last week so guess what, extra...
Edge Case Poisoning
October 12, 2020
TLA+ Workshop Last Call The TLA+ workshop is next week! Oct 20-22, register here, use the code COMPUTRONSTUFF for $500 off. Learn how a few hours of...
We have met the Excelnemy and he is us
October 6, 2020
Workshop The TLA+ workshop is in just two weeks! Oct 20-22, register here, use the code COMPUTRONSTUFF for $500 off. Still three slots left for the workshop!...
Mystery Knowledge
September 28, 2020
Mystery Knowledge In the misty past of 2019, when I was still giving conference talks, I always meditated for 5-10 minutes before starting. Arrive early, set...
Software Engineers Don't Have Disciplines
September 22, 2020
I know I said no newsletter this week, between the Alloy workshop and my panicked rush to finish The Crossover Project, but I found this old abandoned essay...
Updates on the Crossover Project
September 14, 2020
No Newsletter Next Week I'll be teaching the Alloy workshop. Speaking of workshops… TLA+ Workshop TLA+ Workshop for October 20-22, 10 AM - 6 PM CST. 24 hours...
Write Notes for Your Code
September 10, 2020
New Essay Decision Table Patterns: How to write better decision tables and fix common issues. If you've wanted to try formal methods but weren't sure where...
That Time I Almost Joined a Software Cult
September 8, 2020
Alloy Workshop There's just one slot left for the Alloy Workshop! Use the code YARLSNARTH for $1200 off. Are We Engineers Toxx clause is still in effect: if...
Formal Specification Languages
August 28, 2020
Alloy Workshop Slots for the September 21st Alloy workshop are still available! Learn how to model domains in a way that finds the bugs for you, rather than...
Please read the paper before you comment
August 24, 2020
Each day on twitter there is one main character. The goal is to never be it— maple cocaine (@maplecocaine) January 3, 2019 Yesterday the main character of...
What's the Deal with Message Passing, Anyway
August 21, 2020
I'm back from the moving! Things are still a bit chaotic here but hopefully normal newsletter/essays/office hours should resume next week. Alloy Workshop...
New Essay and a Very Peculiar Optimization
August 14, 2020
New Essay J Notation as a Tool of Thought. Many of you already read it as a newsletter piece, but this new version is considerably expanded and has a lot of...
New Workshop, Test Inference
August 11, 2020
Delayed newsletter next week I'm moving Monday, so newsletter should go out Tuesday. This is entirely unrelated to why the newsletter was delayed this week,...
How knowing math helps you write better software
August 3, 2020
Projects Update TLA+ workshop last week went really well! I'm super happy with the current state of the workshop and while I'll still be making a bunch of...
Syntax highlighting is a waste of an information channel
July 20, 2020
No newsletter next week Running the TLA+ workshop. No way I'm gonna have any brainpower after that. Syntax highlighting is a waste of an information channel...
Merchants on the Ivory Road
July 13, 2020
Before we get into the main bit I have a few announcements to cover: Announcements New essay I wrote a new essay! The Frink is Good, the Unit is Evil. Learn...
I have become ideas guy
July 6, 2020
Workshop There's still one slot available for the TLA+ workshop! July 27-29, remote, going to be super intense. Sign up here. Random Thoughts I wanted to...
Situated Software
July 3, 2020
New essay In what might be the shortest turnaround ever, I just uploaded weak and strong fairness. It's gone through some revisions since the draft I shared...
Why You Should Always Blindly Chase Industry Trends
June 29, 2020
Look I know you're here for the train wreck but there's logistical stuff we have to cover first. "Are we really engineers" video now available Here. tl;dr I...
New TLA+ Workshop, New PBT Essay
June 20, 2020
Thanks to everyone who came out for the "Are We Really Engineers" talk yesterday! I suspect they'll be putting the recording up here at some point, but if...
Newer archives
Older archives