A few smaller updates
Ethnography of antipatterns
We all can think of reasons why it's bad to use single-letter variable names in most contexts. Why people do it anyway? I usually hear "it's easier to write" or "people are lazy", but those aren't the reasons. They're what people think are the reasons, which are different from the actual reasons. I want to know the actual reasons. Is it, in fact, laziness? Is it a mental model thing? Is it because it's easier to edit? Actually knowing why people do something is the first step to getting people to change what they do.
In general we don't pay nearly enough attention to this. Whenever I see a "why don't people do X?" discussion, it's all people speculating, not understanding. Often they're speculating from a position of either "I do X and think everybody should do X" or "I don't do X and think nobody should do X". Neither is a great way to empathize with people!
Crossover project update
16 interviews in the bag. Yesterday was my first interview with a civil engineer, who had a very different perspective than all the mechanical, electrical, and chemical engineers. I need to interview more civil engineering crossovers.
Some people have also asked what it's like when people go the other way- software to trad engineering. I've talked to one person who did that, but they're a lot harder for me to find (on account of my social reach).
I'm aiming to do the bulk of the writing in December, after my next workshop and YOW are done. Assuming I keep to the schedule (hahaha) January will be editing, and I can release the essays in late February. If I keep to the schedule.
(Yeah that's not happening.)
Shilling my job
I wrote a long tweetstorm about why TLA+ is great and why you should get me to teach your company TLA+. You can read it here.
If you like my writing, the best way to support me is to get me in touch with companies that could use my services! I can live comfortably off of 6-7 workshops a year, and that gives me time to work on important, but less marketable, projects. I don't think I could have done the crossover project if I was working a 9-5 job, or the Alloy documentation overhaul, or pretty much any of the projects I finished in 2019. Thanks a million!
If you're reading this on the web, you can subscribe here. Updates are once a week. My main website is here.
My new book, Logic for Programmers, is now in early access! Get it here.