Updates on the Too-Many Projects
Happy first week of the new year! Wanted to give some quick updates on the projects I'm working on, so you know what to expect from me in the coming few months. Maybe. If I keep schedule.
Housekeeping note: Some people informed me that last week's dessert pic didn't load. I fixed it and you can see it here if you really, really want to for some reason.
Major Projects
Due to a mix of travel, vacation, and general depression I didn't make any progress on anything in December, which means I'm just picking stuff up again this week. Thankfully I wasn't on any fixed timelines. Wasn't.
The Crossover Project
I'm interviewing people who've worked as both trad and software engineers about the differences. 17 in, I think, and I really should stop by now. I have a pretty good sense of the patterns and my main theses, and now I just need to write the damn thing. I might do some future interviews, but those would be after the first draft.
On the plus side, I'm going to be giving this as a talk in July. That kinda forces me to have it done by then! So you'll see the fruit of this all by, at latest, the summer. I mean I really want to have it done by the end of winter, but we all know how good I am at keeping schedules.
Alloy Documentation
Ugh I haven't touched this in two months. The first draft is about halfway done. I'm going to be in Boston in March and want to see if I can meet with Daniel Jackson, so that puts a deadline on that, too. Again, it's really not a whole lot of work, but it's lower priority than business stuff.
Science Turf War writeup
My guilty pleasure. Not good for short-term or long-term business, but I really wanna write this piece! "This is How Science Happens" is now 4,200 words long, and covers the entire saga, as well as explanations on replication, p-values, prediction intervals, and why doxing people is bad. Working on it whenever I want to write but don't feel like doing productive work.
learntla
I haven't touched learntla since I started writing Practical TLA+. I'm dissatisfied with where it currently is. Let's just say I have... plans for it.
Sadly the plans are lower priority than drumming up more business or writing the Alloy docs. But trust me, I'm not done with that site just yet.
Business Stuff
Currently I have an empty pipeline. I have 6-8 months of business funds plus a lot of personal savings, so while I'm anxious I'm not worried yet. As I mentioned a couple newsletters ago, I'm focusing on marketing right now. I wrote a short (by my standards) draft of "The Business Case for Formal Methods", which I sent to a couple of people for feedback. It includes the arguments for how it saves money, as well as some case studies (AWS, eSpark, Rackspace, etc).
I also have a bunch of drafts of developer-oriented essays, which help me with reach and interest. Quick rundown:
- Hyperproperties: About a third done with first draft. I know exactly where I want this to go, might even have it done by the end of this week. I'm probably going to throw this up without peer review, just to get it out of my system.
- The Limits of Testing: This is actually completely done! It was for a magazine issue that got cut for space reasons. I just need to make sure it's okay for me to post on my own blog and then I can stick it up.
- Feature Interaction Bugs: Just need to write a good conclusion, and then done with first draft.
- TLA+ vs Alloy: On hold until I write the alloy docs.
- Analyzing Business Requirements with Alloy: Probably going to dump most of this, because the plan was to do it in two phases and I really don't feel like doing phase two. But phase one might be salvageable.
- Modeling Access Policies: I have about half of this written out by hand, in my notebook, and most of the Alloy specs done. I'd say that puts it at 40% done. Lower priority than hyperprops and FI bugs, but something I can conceivably pull out by the end of Feb if I decide to focus on it. It's a fun one!
- Decision Table Patterns and Pitfalls: 3,000 words in, mostly sleeping on it until I can think of a good example to tie it all together. Problem here is it's more a theorycrafting post than the others, so I want to battle-test some of the ideas before I share them.
Beyond that, businesswise I'm tentatively thinking of getting into paid talks. I got a chance to give What We Know We Don't Know as a paid talk last year and had a blast. Near-term for this is writing copy and adapting my site to be a little less self-deprecating about the talks. I wanna do something kind of like Nancy Leveson, where she has separate sections for business and casual readers.
Misc Blog Projects
Some pieces I've started writing that I plan to eventually finish:
-
Linear Temporal Logic: Thought this was like 30% done, but on rereading it's closer to 70%. Mostly I need more examples, more on why people don't use it that much, and a section on Büchi automata. And someone to check my equations.
-
The Tragedy of Data and Reality: About 20% written. It's a pitch for reading the book. And the github link.
-
YAGNI, SQL, and Flavor Pairings: Got a first draft review done, so I can start writing the second draft. I'm not 100% happy with the core topic, because, again, theorycrafting. Theorycrafting makes me uncomfortable unless I can do a lot of followup research on it. That's just who I am ¯_(ツ)_/¯
-
Falsehoods programmers believe about substituting ingredients in recipes: Silly title, but it's about data modeling and why it has so many edge cases. Mostly done, except I need to do a writeup on current-in-use recipe data formats and why they don't ever make substitutions a feature.
-
Progressive Cheatsheets: First draft written start-to-finish in a notebook. I need to transcribe it and make sample LaTeX files.
-
Software Engineers Lack Disciplines: [redacted]
-
How Python Saved My Life: [double redacted]
That's all the stuff I've actually written about! My slush pile is a lot bigger, but most of that will probably be discarded.
Ah, reviewing that all felt really good. This is gonna be a great year for writing :)
H
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.