State of DAS: December 2016
Destroy All Software's original series of 90 screencasts was published from March 2011 until March 2013. As far as I know, it was the first subscription-only programming screencast product, and it worked! This was good.
Eventually, I got tired: both from the fixed screencast release schedule and from conference speaking. I was publishing once per week, then later once every other week. I averaged one conference talk per month at my peak, which was far too much for me. DAS was suspended in March 2013.
I then spent three years writing 1.5 books, but published none of it. This was less good, but I learned some things.
DAS relaunched in August 2016. I converted a section of one unpublished book into a screencast series on Computation, explained using code rather than the traditional mathematical terminology and notation. This was good.
The computation series is now almost done. There's one more screencast left, which I expect to release around the new year. I need to decide what comes next. Unlike the original DAS run, I want to plan the future a bit; I want to decide where I'm going, rather than simply finding myself somewhere.
In September, I did four live streams to test the waters. My favorites were writing a text editor and a compiler from scratch in about an hour each, which got great responses from viewers. The videos were watched around 10,000 times, if I remember correctly, but they're now down because Twitch videos expire eventually. I expect to reprise these topics eventually.
My next experiment is going to be live streaming in earnest, probably once per week to start. I've never written about my DAS recording process in detail, but it's basically a live-streaming process already. I record the full screencast, end to end, over and over again, until it meets my standards. What you watch on DAS is effectively a live recording, with very light editing to remove the parts where I swallow water and so on.
For viewers, true live streaming means that little mistakes will sneak in, which viewers say that they miss from the earlier DAS screencasts. Live streams are also more "organic", for lack of a better term; you and I both know that there's no safety net, and we both seem to like it.
I expect to initially focus on building tools from scratch to understand how they work, taking about an hour each. My topic list is already 57 topics long, but here are a few that I'm especially excited by: "let's build a Zip-like file compressor"; "let's implement the IP and UDP protocols"; "let's write a software-only 3D renderer"; etc., all from scratch.
Unfortunately, I can't actually start doing this yet. My new recording studio is still being built in Spain, with delivery in late February assuming no further setbacks. This, plus time needed to set up the studio and my personal travel plans, mean that I probably can't start streaming in earnest until April.
The Programmer's Compendium
What do I publish from early January until mid April? I could do another screencast series; four months is the right length of time. However, I burned out on screencasting the first time and I don't want to do that again. Fortunately, I have another idea.
In August, I was frustrated by finding yet another simplistic set of statements like "types are a waste of time", "types ensure program correctness", etc. (It was probably on Hacker News, but I've since forgotten.) I wrote 3,400 words on the topic, both as an introduction and as justification for people who don't see why types matter.
That document is meant to be read through end-to-end, which is what most people did, but it's also meant as a reference. You can return to it when someone uses a term that you've forgotten, or makes a claim about types (pro or con) that seems like an oversimplification. It was very popular (~1000 gist stars, ~200 Hacker News comments, etc.), but I never formally published it anywhere.
I'd like to introduce a collection of documents like this as a new section of DAS. Its working title is The Programmer's Compendium. (I have the domain as well; sorry, squatters!) It tackles ideas one at a time, covers them broadly but not deeply, and focuses on the parts that confuse people who aren't experts in the topic.
Each article is broken into subsections corresponding to common misunderstandings. For example, if you see someone overgeneralize about static type systems, you can just link them to the Diversity of Static Type Systems section rather than arguing eight replies deep on an orange website.
My top candidate topics right now are TDD, functional programming, and state management, each of which gets jumbled up in public discussion, just like types do.
Should I do it?
The timeline of these changes is roughly:
- Final computation screencast publishes around January 1, 2017.
- Compendium articles publish from January until mid-April 2017 (as my recording studio is built, shipped, assembled, and tweaked).
- Live streams begin happening (and are archived in 4k here at DAS) starting in mid-to-late April 2017.
This is a big change, but I think that variety is necessary to stop me from burning out again. I also want to explore and advance these media for their own sake.
I'll email subscribers whenever major changes like this happen. And, even for subscribers who are caught unawares, DAS' unconditional refund policy for the most recent month's charge will remain in effect, as always. However, I'd also like to hear what you think in advance.
My question for current (or past, or aspiring) subscribers is: will you follow DAS through these format changes? Are you vexed, flummoxed, or disconcerted by the notion of DAS changing media on this approximately-quarterly schedule? What if all of these media were interleaved into a single mixed publishing schedule, so that DAS alternated between compendium articles, screencasts, and live streams on a biweekly or monthly basis?
You can email DAS' support address or just tweet at my personal Twitter account with your thoughts; either works. (I read every email seriously, though I may not have time to reply to every email when I solicit broad feedback like this.)