Notes To Self

these are notes to me. I journal a few pages every morning (or at least I try). The interesting bits I'll post here.

**Programmer’s Efficiency Disease**

Don’t fixate on 1% improvements and miss the biggest, easiest gains. Michael Nielsen says in Augmenting Long-term Memory:

I know many people who try Anki out, and then go down a rabbit hole learning as many features as possible so they can use it “efficiently”. Usually, they’re chasing 1% improvements. Often, those people ultimately give up Anki as “too difficult”, which is often a synonym for “I got nervous I wasn’t using it perfectly”. This is a pity. As discussed earlier, Anki offers something like a 20-fold improvement over (say) ordinary flashcards. And so they’re giving up a 2,000% improvement because they were worried they were missing a few final 5%, 1% and (in many cases) 0.1% improvements. This kind of rabbit hole seems to be especially attractive to programmers.

He calls this fixation “programmer’s efficiency disease”.

I fall victim to this all the time. My girlfriend asked me for a simple email scheduling app: her work necessitated she manually send out multiple repetitive reminder emails for scheduled weekly classes. We tried to create a simple solution using airtable, but it didn’t quite work and I told her I could create her a simple app. I’d been playing around in blitz.js, and wanted to make a “real” app. (My previous projects had all gotten sidetracked and I had abandoned them…) I started off strong: mocked up a pretty landing page, signup screen, and home screen, and then got started on the meat of the application - scheduling. it was clear scheduling was a complex task (I referenced this blog post for help), and I needed to make sure it worked right: start and end times, daily, weekly, monthly occurences, a calendar view, time zones, the whole lot! I wrote unit tests and refactored over and over, and then I realized - I’d never even shown her what I’d been working on. Did she actually need these features, or had I just been caught up in the rush of building the best, most scalable, bulletproof solution I could imagine?

I’ve added a books page to the site. I’ve enjoyed browsing through several other individuals’ virtaul bookshelves, incl. Patrick, Visa, and others. It’s one of my new year’s resolutions to add at least 6 pages / posts to this site by 2022, so I’m glad to be getting one out of the way quickly!

On the topic of things I never learned in school.

This talk: “Things Every Software Engineer Should Know About Neurodiversity” should IMO be required viewing for everyone in the software industry. It’s just an overview (by @mykola, who has autism), but it breaks down how our brains work, and how differences in our brains affect who we are and how we experience the world. Of course computer science is known for attracting people who are a bit weird. But outside the whole stereotypical ‘nerd’ persona, there’s not a lot of discussion on the actual mental well-being of people in the computer industry. I had quite a few classmates showing signs they may have been on the spectrum. Yet this was never really addressed, besides the near-constant jokes about the collective lack of social skills & hygiene in our whole department.

This isn’t something to just gloss over though. Neurodiversity is deeply, deeply connected to the tech industry at large. I was really shocked by this article on the exploding rates of autism found in Silicon Valley (written by Donald King, who also has autism). We should be arming students with the information they need to work with people whose minds don’t work the same way as their own, instead of just making jokes about it. And maybe all of us have something to learn about how our own minds, too.

this visualization of wealth, and the few people controlling most of it

I wish that my professor had used this talk in my Programming Languages class. It’s a presentation on Inform7, a programming language for interactive fiction / text-based games whose code reads like an essay itself.

owning a website in 2020:

  1. build it yourself. be cheap. be low-tech.
  2. use semantic html.
  3. use minimal css.
  4. make your content portable. what’s yours is yours. write in markdown & use a generator. don’t mix content & formatting.
  5. don’t use (more than a little) javascript.
  6. respect your visitors and they’ll respect you.
  7. POSSE.
  8. individuals > corporations. be IndieWeb. be distributed.

I tried to follow these as best as I could on my site. I’ll try to write up more on how I did it sometime.

feeling extremely inspired today after watching REI’s film “How to Run 100 Miles”.

Covid has basically killed climbing for me for a good while, so I’m looking at other outlets like running & biking.

They don’t come as easy with asthma, unfortunately. But man would I love to start training for a marathon.

I was at one point a strong believer in the power of online education. And then I started zoom university.

It feels like such a shame that the only social sites that ~allowed~ us to customize how our pages looked (Tumblr and MySpace) have suffered or died off. I wish the social web allowed for more weird & unique expression than what we get currently. Where’s the ugliness?