Full Width [alt+shift+f] Shortcuts [alt+shift+k] Open Links Directly Enable Read Mode [alt+shift+r] Grayscale [alt+shift+g]
Sign Up [alt+shift+s]

Computer Things

1

ThisWebHost is a hosting provider for Wordpress blogs & other internet stuff from the UK (since 2008). Try ThisWebHost.

advertise here
Computer Things
Repurposing Hotel Keycards Hi everyone! My April Cools piece is up! It’s about really weird stuff you can buy online. Now I...
2 months ago
22
2 months ago
Hi everyone! My April Cools piece is up! It’s about really weird stuff you can buy online. Now I know that’s standard SEO farm stuff, but I promise I put a lot of time into researching why people actually want to buy these things. If you ever wanted to know where carnivals buy...
Computer Things
GPT4 should be part of your toolkit On March 24 I wrote GPT is revolutionary. On March 27 I got access to GPT4.1 Now that I’ve used it...
a month ago
19
a month ago
On March 24 I wrote GPT is revolutionary. On March 27 I got access to GPT4.1 Now that I’ve used it for a month, I’m firmly in the “this is the greatest thing ever” camp. And, much like my experience at Burning Man, I’m finding a not-insignificant number of my fellow campers run...
Computer Things
GPT is revolutionary I don’t feel comfortable making predictions about the future. There’s just too much that goes into...
2 months ago
15
2 months ago
I don’t feel comfortable making predictions about the future. There’s just too much that goes into it and it’s way too easy to be wrong. But if I don’t occasionally write my riskiest thoughts, do I really deserve a newsletter?! If this ends up being wrong, I promise I’ll do a...
Computer Things
Predicate Logic for Programmers: Status Report Two years ago I started a new book: Predicate Logic for Programmers. In it I said People often ask...
2 months ago
11
2 months ago
Two years ago I started a new book: Predicate Logic for Programmers. In it I said People often ask me what’s the best math to learn for formal methods, and my answer is always “predicate logic”. 1 It’s super useful to specifying properties, understanding requirements, and just...
Computer Things
Mostly announcements and plans but also some fun floating point trivia This is a really busy week for me, so light newsletter this time. Let’s start with obligatory stuff...
2 weeks ago
11
2 weeks ago
This is a really busy week for me, so light newsletter this time. Let’s start with obligatory stuff and then get into fun newsletter stuff. Announcements So first off, I just finished the May TLA+ workshop. This is the first time I felt really happy with the material and that I...
Computer Things
In Defense of No-code('s potential) No-code/low-code is the new hypename for tools that help you Do Computer Stuff without needing...
a month ago
10
a month ago
No-code/low-code is the new hypename for tools that help you Do Computer Stuff without needing (much) programming skills. There are lots of tools in this space, most targeted at businesses, many selling themselves with “you won’t need a software developer”. I think the first use...
Computer Things
What can you code up in an hour? We’re just one week from the TLA+ workshop! Thanks to everyone who signed up, and if you’re...
2 months ago
10
2 months ago
We’re just one week from the TLA+ workshop! Thanks to everyone who signed up, and if you’re interested, there’s still two slots left! I also published a new blog post, A Neovim Task Runner in 30 lines of Lua. It’s about a little Neovim script I wrote that can handle tasks like...
Computer Things
Everything's an API Hi Everybody, April Cools is this weekend! A bunch of people who normally write tech stuff will be...
2 months ago
10
2 months ago
Hi Everybody, April Cools is this weekend! A bunch of people who normally write tech stuff will be writing about a bunch of other topics. If you’ve got a blog and find April Fools to be eye-rollingly trite, come join us! You don’t need to pour your heart and soul into a 10,000...
Computer Things
Making Memes Making memes I’m ahead of schedule on workshop prep, which means I have time to think about things...
2 months ago
10
2 months ago
Making memes I’m ahead of schedule on workshop prep, which means I have time to think about things besides pedagogy and formal methods. And I’ve been thinking of a kind of article I commonly write: Here’s some examples of something. I am going to give that thing a name. Now that...
Computer Things
Use the Wrong Tool for the Job I’ve recently been real fascinated by the topic of complexity and what keeps us from keeping...
4 months ago
10
4 months ago
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” and “evil managers” for this, as if any software could, with sufficient time, be made as simple as “hello world”. I’ve...
Computer Things
Problems harder than NP-Complete People always talk about “P vs NP” like P problems are easy and NP problems are hard. This is a...
3 weeks ago
9
3 weeks ago
People always talk about “P vs NP” like P problems are easy and NP problems are hard. This is a useful day-to-day model but also an oversimplification. Problems can get way, way harder than NP. (If you want a brief refresher on P and NP, check out my post NP-Complete isn’t...
Computer Things
I really like powershell When I went on Windows full time in 2019 I decided to avoid WSL as much as I could, which meant...
a month ago
9
a month ago
When I went on Windows full time in 2019 I decided to avoid WSL as much as I could, which meant learning the Windows-native ways of doing things, which meant learning PowerShell. It was a pretty rough start! There are some affordances for people used to bash, but anything more...
Computer Things
What TLA+ Can't Check Hi everyone, I wrote a new blog post, Breaking the Limits of TLA+ Model Checking. It’s the first...
a month ago
6
a month ago
Hi everyone, I wrote a new blog post, Breaking the Limits of TLA+ Model Checking. It’s the first (non-learntla) TLA+-related content I’ve put out in what, almost two years? It also comes with a GitHub project with all the software artifacts: the spec, the graphing software, the...
Computer Things
Formalizing Stability and Resilience Properties Sent to me via mailbag: Have you used TLA+ to model resilience as in resilience engineering (systems...
2 months ago
6
2 months ago
Sent to me via mailbag: Have you used TLA+ to model resilience as in resilience engineering (systems in general)? — Feodrippe Resilience Engineering, to my understanding, refers to building systems that can function in the presence of disruptions. For example, if a backend...
Computer Things
When to prefer inheritance to composition Hi everyone! First of all, new blog post: Somehow AutoHotKey is kinda good now. AHK’s been a core...
4 weeks ago
6
4 weeks ago
Hi everyone! First of all, new blog post: Somehow AutoHotKey is kinda good now. AHK’s been a core part of my toolkit for years now and the new, backwards incompatible version is a whole lot better. But most of the article is about how much v1 sucked, which is more entertaining...
Computer Things
Ergonomic APIs, channel invariants, and data views Hi everyone! It’s two days after the March 20 TLA+ workshop, which means it’s time to start getting...
2 months ago
5
2 months ago
Hi everyone! It’s two days after the March 20 TLA+ workshop, which means it’s time to start getting feedback and revising things for the May 15th workshop. At some point I want to talk about my “workshop technology” I use, but that’ll take some time to write up, so maybe next...
Computer Things
Programming AIs worry me For some inane reason, Github classifies me as a “major open source maintainer”, which means I get a...
3 months ago
5
3 months ago
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 couple months now and I got to say, it’s a goddamn delight. It can write boilerplate like nobody’s business. I find the tool...
Computer Things
Software Moves No newsletter next week I’m speaking at JAX. Software Moves I’m completely braindoggled from the...
7 months ago
5
7 months ago
No newsletter next week I’m speaking at JAX. Software Moves I’m completely braindoggled from the conference prep and forgot how to write newsletters. After three or four attempts of writing about something, getting 300 words in, and hitting a wall, I’m giving up and phoning this...
Computer Things
Teaching Accidental and Essential Complexity So you may know that I’m teaching a 1-day TLA+ workshop in December (just 10 slots left!) This is...
7 months ago
5
7 months ago
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 35 people instead of 3.1 The two workshops share almost no content between them. To understand why, I need to go into a bit...
Computer Things
The seven specification ur-languages Last week Madhadron’s 2021 piece The seven programming ur-languages went viral. One I saw a lot was...
3 weeks ago
4
3 weeks ago
Last week Madhadron’s 2021 piece The seven programming ur-languages went viral. One I saw a lot was “where does TLA+ and Alloy fit into this?” Hoo boy. I’ve been dreading this one. You see, TLA+ and Alloy don’t fit into any of the programming ur-languages, because they aren’t...
Computer Things
Collecting and curating material is good and we should do it more GOTO Chicago is over! My talk, “Is software engineering really engineering”, went over pretty well,...
3 days ago
4
3 days ago
GOTO Chicago is over! My talk, “Is software engineering really engineering”, went over pretty well, and I’m happy with how it turned out. I’m going to try submitting it to other conferences. Beyond that, I have a TLA+ workshop I’m teaching on June 12th and after that my next...
Computer Things
In Defense of Testing Mocks Computer Things: 2021 Edition It’s over a year late, I know, but the 2021 Newsletter collection is...
4 months ago
4
4 months ago
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 pages, 20 bucks. Unlike last year, there’s no private subscriber-only emails, so this is purely for people who want to read it...
Computer Things
Notes on Every Strangeloop 2022 Talk I Attended I originally made this newsletter to tell people when I updated my blog. Then it grew into the...
7 months ago
4
7 months ago
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. Here’s a 2000 word writeup on all the strangeloop talks I watched in September. Notes on Every Strangeloop 2022 Talk I Attended...
Computer Things
Some of my workshop teaching tricks We’re just twelve days from the TLA+ Workshop! Right now the class is just a quarter-full, meaning...
a month ago
4
a month ago
We’re just twelve days from the TLA+ Workshop! Right now the class is just a quarter-full, meaning it’s going to be a lot of really focused individual attention. If you want to join in the fun, use the code C0MPUT3RTHINGS for 15% off. I make most of my money off teaching...
Computer Things
Giving Names to Things First of all, new post: Software Mimicry! It’s about a thing I’ve seen in a lot of software tools...
9 months ago
4
9 months ago
First of all, new post: Software Mimicry! It’s about a thing I’ve seen in a lot of software tools and products that I was trying to capture in a single term, so I could share it and explore what it actually means for things. It’s also a rewrite and expansion of one of my very...
Computer Things
I have complicated feelings about TDD There were a couple of threads this week on why Test Driven Development, or TDD, isn’t more widely...
9 months ago
4
9 months ago
There were a couple of threads this week on why Test Driven Development, or TDD, isn’t more widely used by programmers. I spoze the historic and ongoing inability/unwillingness of the software trade to grasp and adopt test-driven development (TDD) is one of the most frustrating...
Computer Things
The Capability-Tractability Tradeoff TLA+ Workshop + Review I’m running a TLA+ Workshop in May! Use the code C0MPUT3RTHINGS for 15% off....
a month ago
4
a month ago
TLA+ Workshop + Review I’m running a TLA+ Workshop in May! Use the code C0MPUT3RTHINGS for 15% off. As part of the purchase, I’ll do a spec review of a spec you write after the workshop. As an example, here’s a 1-hour review I did of a spec from February cohort. Thanks to Cory...
Computer Things
Maybe people do care about performance and reliability It’s well-established consensus that software is slower and more bloated than it was 20, 40 years...
3 months ago
4
3 months ago
It’s well-established consensus that software is slower and more bloated than it was 20, 40 years ago. One explanation is that software engineers don’t care about their work. Another is that it’s the interplay of a lot of different factors and blaming it on apathetic devs is a...
Computer Things
What a Wedding Taught Me About Software Engineering Sorry this newsletter is late! I was at a wedding on Monday and forgot to say “no newsletter this...
7 months ago
4
7 months ago
Sorry this newsletter is late! I was at a wedding on Monday and forgot to say “no newsletter this week”. As penance for my crimes, I’m going to turn my personal life into content. One of the nice things about being in software is I don’t have to dress up much. I still try to look...
Computer Things
Why do we call it "boilerplate code?" Now that Twitter is on a downward spiral I’m rewriting my favorite tweetstorms in a more permanent...
6 months ago
4
6 months ago
Now that Twitter is on a downward spiral I’m rewriting my favorite tweetstorms in a more permanent medium, so here’s the first: why do we have the term “boilerplate code”? It comes from the peculiar interplay of two industrial revolution technologies: steam engines and hot metal...
Computer Things
Tag Systems I’ve tried to write a blog post on tag systems for years now. Literally years, I think I first...
4 months ago
3
4 months ago
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 there’s just so much to them, so many different approaches and models and concerns that trying to be comprehensive and...
Computer Things
New Workshop, Some Data-ish Pipeline Tricks Lots of admin stuff today! First, we have a new blogpost, the full version of the complexity preview...
4 months ago
3
4 months ago
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+ workshop! Or more precisely, three workshops. To make it easier on people’s schedules, there are three dates you can sign up...
Computer Things
Creatively Misusing TLA+ I spent the past few weeks thinking about complexity and poking dead birds and stuff, but now that...
3 months ago
3
3 months ago
I spent the past few weeks thinking about complexity and poking dead birds and stuff, but now that the March TLA+ workshop is available (use C0MPUT3RTHINGS for 15% off!), I’m back in teacher mode and making workshop improvements.1 TLA+ is intended for finding flaws in software...
Computer Things
Why Modeling Finds Bugs (Without Model-Checking) Happy new year everyone! There’s gonna be some changes to the newsletter this year, see after the...
5 months ago
3
5 months ago
Happy new year everyone! There’s gonna be some changes to the newsletter this year, see after the article for details. But first, let’s talk formal methods. I normally sell TLA+ based on the model checker: you give it a design and it tells you if the design has flaws. When other...
Computer Things
I am disappointed by dynamic typing Here’s weird thing about me: I’m pro-dynamic types. This is weird because I’m also pro-formal...
6 months ago
3
6 months ago
Here’s weird thing about me: I’m pro-dynamic types. This is weird because I’m also pro-formal methods, in fact teach formal methods as a career, which seems completely antithetical. So on one hand I teach people how to do static analysis, on the other I use languages which make...
Computer Things
Hype Cycles Aren't "Gaslighting" You I promised an update on the logic book today but I haven’t done a spite write in a while and oh boy...
3 months ago
3
3 months ago
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 sent out Monday. Anyway, the candidate for today is The Great Gaslighting of the JS Age. The author Jared White looks at...
Computer Things
Funny Programming Languages One of the weirdest and most wonderful things about people is that they can make a joke out of...
4 months ago
3
4 months ago
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 about that discipline. In programming, that starts with memes like “how do I exit vim” (as typified in places like...
Computer Things
Data Invariants New Post: Safety and Liveness Properties Just a few useful ideas from the formal methods world. Read...
8 months ago
3
8 months ago
New Post: Safety and Liveness Properties Just a few useful ideas from the formal methods world. Read it here! Data Invariants Let’s stay on theme this week with a quick overview of data invariants. These are statements about the data that determine correctness: an invariant can...
Computer Things
Making ChatGPT Useful Sorry this newsletter is late! Monday I ran a 35 person online TLA+ workshop. Overall I think it...
5 months ago
2
5 months ago
Sorry this newsletter is late! Monday I ran a 35 person online TLA+ workshop. Overall I think it went pretty well! There’s a bunch of bugs to iron out and a bunch of improvements I want to make, then I’ll run it again in maybe February. I’ve got one more talk to do this Friday...
Computer Things
Snippet Praxis Hi everyone, I’m back from Strangeloop! As always it was a fantastic conference. I’ve already done a...
8 months ago
2
8 months ago
Hi everyone, I’m back from Strangeloop! As always it was a fantastic conference. I’ve already done a 2000-word writeup on it but I’m waiting for all the videos to be uploaded first. (As part of SL I taught 7-hour, 30 person TLA+ workshop. Normally my workshops are 3 days and 4...
Computer Things
Teaching Implication Better Hello everyone! It’s finally March, or at least close enough to March for my purposes. First thing,...
3 months ago
2
3 months ago
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 less-cringe version of April fools, where content creators like me publish content that is both genuine and totally out of...
Computer Things
Code review vs code proofreading Administrative Stuff Just one month until the March TLA+ Workshop! Thanks to everyone who already...
3 months ago
2
3 months ago
Administrative Stuff Just one month until the March TLA+ Workshop! Thanks to everyone who already signed up, I’m in the process of revising everything and am real excited to share the new content. There’s still nine slots left if you want to join! I have a new blog post up:...
Computer Things
Microfeatures I'd like to see in more languages There are roughly three classes of language features: Features that the language is effectively...
4 months ago
2
4 months ago
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. Laziness in Haskell, the borrow checker in Rust, etc. Features that heavily define how to use the language. Adding these are...
Computer Things
Universal SE Topics Last Monday I ran a TLA+ workshop and last Friday I gave a talk on the Crossover Project. And that...
5 months ago
2
5 months ago
Last Monday I ran a TLA+ workshop and last Friday I gave a talk on the Crossover Project. And that was the last thing I had scheduled for the year. I’m done. There will be one more newsletter with the annual end-of-year project wrapup (1 2) next week and then I’ll be off until...
Computer Things
Software Isomorphisms Last week Gabriella Gonzalez wrote What does “isomorphic” mean (in Haskell), which covers...
7 months ago
2
7 months ago
Last week Gabriella Gonzalez wrote What does “isomorphic” mean (in Haskell), which covers isomorphism from a first-principles perspective. At the very end she says In my experience, the more you train your ability to reason formally about isomorphisms the more you broaden your...
Computer Things
I am a SQL Injection Attack Recently I’ve been very interested in “meatspace models”, where you explain a CS concept in terms of...
8 months ago
2
8 months ago
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 you actually pick something where the analogy is helpful. This seems especially effective with concurrency topics. I first...
Computer Things
New Article, "The Five Minute Feedback Fix" Hi everyone! I know I said there was no newsletter this week, but that doesn’t mean no new content!...
8 months ago
2
8 months ago
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, GitHub’s new online zine, to write about formal methods. I decided to focus on decision tables, since they have a great...
Computer Things
Why do arrays start at 0? I was at my wits end for this newsletter after my first two ideas hit research barriers. Then...
9 months ago
2
9 months ago
I was at my wits end for this newsletter after my first two ideas hit research barriers. Then someone linked me this story about why arrays start at 0 and bam I had my topic. Specifically, arguing that said link is wrong and does not, in fact, fully explain why arrays start at...
Computer Things
Improve your debugging by asking broad questions I recently had to help a friend debug a Word issue where fonts would randomly change to Greek...
4 months ago
2
4 months ago
I recently had to help a friend debug a Word issue where fonts would randomly change to Greek symbols. It got me thinking about theories of debugging in general. At my last job, I was the Debugging Guy. I’d semiregularly have a sprint task like “this other team is seeing a weird...
Computer Things
Bugs that literally cost money How much does a software bug cost a company? Well that’s a messy question. It depends on the type of...
5 months ago
2
5 months ago
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 it also depends on how we define “cost”. Catastrophic cases like Knight Capital and Ariane notwithstanding, most of the...
Computer Things
2022 In Review Happy end of 2022! It’s been a busy year personally and professionally, one of the most productive...
5 months ago
2
5 months ago
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 to tell from the blog! I didn’t publish much this year, in fact it was the least active blog year since 2017. That’s because...
Computer Things
Let's Prove Leftpad; Content Aggregation Hi everyone! First of all, I published a new blog post. It’s an explanation of my Let’s Prove...
6 months ago
2
6 months ago
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 conscience send a one-line newsletter, here’s a bit more motivation for the post and the project. The post is entirely...
Computer Things
On the benefits of humanities in software engineering No Newsletter Next Week I’m frantically working on next Wednesday’s TLA+ Workshop. I started making...
8 months ago
0
8 months ago
No Newsletter Next Week I’m frantically working on next Wednesday’s TLA+ Workshop. I started making it last month and it’s occupied all my time since. Originally this newsletter was going to be about the essential vs accidental complexity in teaching a topic, but a couple of...
Computer Things
That time Indiana almost made π 3.2 [REPOST] I originally ran this last year but I like it way too much to let it rot in the archives. This...
2 months ago
-1
2 months ago
I originally ran this last year but I like it way too much to let it rot in the archives. This doesn’t count as one of the 6 newsletters for this month. 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...