Reading Notes, December 2020
Article: âWhy itâs good for users that HTML, CSS and JS are separate languagesâ
The interesting thing about the web is that you never know who youâre building stuff for exactly. Even if you keep statistics. There are so many different users consuming web content. They all have different devices, OSes, screen sizes, default languages, assistive technologies, user preferences⌠Because of this huge variety, having the structure of web pages (or apps) expressed in a language that is just for structure is essential.
It is truly incredible just how many kinds of users are out there consuming HTML. Especially when you start to consider things like search engine spiders and content scrapers, they enable some pretty incredible things (like, for example, democracy). These are all capabilities that, in essence, rely on semantic markup. And itâs not just HTML. Itâs CSS too:
responsive design worked, because CSS allowed HTML to be device-agnostic.
Article: âValidation is a mirageâ
When I hear MVP, I donât think Minimum Viable Product. I think Minimum Viable Pie. The food kind.
A slice of pie is all you need to evaluate the whole pie. Itâs homogenous. But thatâs not how products work. Products are a collection of interwoven parts, one dependent on another, one leading to another, one integrating with another. You canât take a slice a product, ask people how they like it, and deduce theyâll like the rest of the product once youâve completed it. All you learn is that they like or donât like the slice you gave them.
If you want to see if something works, make it. The whole thing. The simplest version of the whole thing â thatâs what version 1.0 is supposed to be. But make that, put it out there, and learn. If you want answers, you have to ask the question, and the question is: Market, what do you think of this completed version 1.0 of our product?
This whole post is so good:
Donât mistake an impression of a piece of your product as a proxy for the whole truth. When you give someone a slice of something that isnât homogenous, youâre asking them to guess. You canât base certainty on that.
That said, thereâs one common way to uncertainty: Thatâs to ask one more person their opinion. Itâs easy to think the more opinions you have, the more certain youâll be, but in practice itâs quite the opposite. If you ever want to be less sure of yourself, less confident in the outcome, just ask someone else what they think. It works every time.
Article: âDave goes back to Macâ
If youâre someone who hasnât touched a Windows machine in yearsâlike myselfâDaveâs commentary on switching back to Mac has some really good experiential perspective, including this insight on how access to the web might be universal, but the tools we use to build for it are not.
While the Web is Universal, the tools are not...Tools failed me this time around and I had to change my life to maintain progress. I know ubiquitous support is hard, but itâs so so so important for the Web that we keep the doors open and meet people where they are, meet them on their devices.
Article: âGrowl in Retirementâ
Gruber notes this crucial distinction about the design of Growlâs notification system:
Growl...served the notifyee, not the notifier, and that made all the difference.
I loved Growl. It was the notification polyfill for OSX: designed to become obsolete.
Video: Programming Should Eat Itself
The evaluator, which determines the meaning of expressions in a programming language, is just another program.
I honestly did not understand much of this talk. But what stood out to me the mostâand what I wanted to note downâwas the insight stated above. Or, to restate it from another point in the talk:
A program can have another program as data.
Article: ââRealâ Programming Is an Elitist Mythâ
I've always loved that moment when someone shows you the thing they built for tracking books they've read or for their jewelry business. Amateur software is magical because you can see the seams and how people wrestled the computer. Like outsider art.
I love making âamateur softwareâ and âoutsider artâ as described here. The longer I work on the web, the more interested I find myself in my amateur, outsider software than anything else more âprofessionalâ that Iâve been employed to do in my career.
Article: â2020âS âThe Dog Ate My Homeworkâ Universal Scapegoat: âThe Algorithmââ
Gruber gives a fitting commentary on algorithms:
Blaming [this mess] on âthe algorithmâ is such ridiculous bullshit. What is an algorithm? Itâs a set of rules and heuristics, created and decided by people. Blaming this on âthe algorithmâ is a shameless attempt to insinuate that they just put everyone into a system and the mean old computer decided to put front-line residents at the end of the list, when in fact, what they mean is, the people at Stanford who created the rules decided to put them at the end of the list. Thatâs their algorithm.
Website: âEpigrams in Programmingâ
Simplicity does not precede complexity, but follows it.
Motto for a research laboratory: What we work on today, others will first think of tomorrow.
The proof of a system's value is its existence.