A Formative Artifact

Do you have a formative artifact from your childhood? Maybe a TV show, a book, a game which you feel (perhaps wrongly) you can trace all your personality back to.

When I was a kid, probably 7-8 until I was probably 10 or 11, I had this book which I remembered as a book of facts. It wasn’t an encyclopedia, but it had this eclectic bent -- I mostly remember the science bits, but there was also bits about society and culture too.

It was reasonably large, with large illustrations and I read this book over and over and over and over until it fell apart. Literally. The last time I remember seeing it, I had read it until the covers had both fallen off, and all that remained was the spine. At some point presumably when I had outgrown it, we must have cleaned out my room and thrown it out. After all, in tatters it was scarcely better than trash.

Of course, looking back, this book was definitely one of my formative artifacts. What it instilled in me was a thirst for knowledge; eclectic wide ranging knowledge. Of course, the challenge being that like this book, my knowledge is patchy and broad.

Fast forward almost 25 years, and I found myself thinking about this book. Raising my daughter, and seeing the multitude of ways in which her childhood is different than mine, I keep wondering what will be her formative artifacts. What thing will captivate her? Could it be something like my book? Could I find that book perhaps? Would a book that old capture her imagination?

Of course, after so long, I could no longer remember what this book was called. Who wrote it. What the cover looked like. If I’m being honest, I could barely remember the actual contents of the book were; some illustrations burned deep into my brain mostly.

A few weeks ago I was thinking about it, and I realized I did know a few things about it. Maybe enough to find it? I remembered that it was published by Reader’s Digest. Given when I was reading it, probably in the 1990s. My recollection was that it was a “science” book.

So I started looking. I had been chatting with a friend about this book, and thought... this could well be just the kind of vague nonsense that ChatGPT might actually be helpful with. Not that I expected it to find the book, but that it might help me narrow down on something.

Me: Looking for an old book published in Canada by Readers Digest. It was available in the nineties. It was a thick book filled with facts and experiments. Aimed at young kids. I don’t have a title.

ChatGPT: Without a title, narrowing it down to a specific book can be tricky, but based on your description, it might be one of the popular educational reference books or experiment guides published by Reader's Digest during the 1990s. Reader's Digest released several children's educational and activity books during that time. Some titles that could fit your description are:

  • How Science Works (Reader's Digest, 1991): This book explained scientific concepts through facts and hands-on experiments, aimed at younger readers.

  • The How and Why Library (Reader's Digest): A multi-volume set filled with facts, trivia, and educational material aimed at children.

You might try searching through secondhand bookstores or websites like AbeBooks, which specialize in out-of-print books. If you're near a large library, they might have archives of Reader's Digest publications from that era as well.

Doing some searches on “How Science Works” and the “How and Why Library”, I was able to quickly rule out the “How and Why Library”. But... “How Science Works”, well that fit the bill pretty good. So I found a copy on AbeBooks, and it was pretty affordable. I managed to find one photo of the interior... and I wasn’t sure. My memory was fuzzy, but I thought: This is worth a try. So I bought it.

It arrived, and from the moment I opened it, I knew it.

It was the wrong book.

Seems like a neat book, and the experiments could be fun with my kids when they’re a bit older, but this wasn’t the right thing.

So another day, I found myself wandering around AbeBooks, when I realized they had an Advanced Search where you could search by year, by publisher, etc. I started working it out:

  • Published between 1985-1999
  • Keyword: Science
  • Publisher: Reader’s Digest

Wait. That... looks familiar.

Turns out. I have it in my house now. My formative artifact:

Some of these pages, some of these illustrations are baked into my head deep.

Some of these stories are still how I conceive of things, having never really had to update my knowledge in my head (for example, the story of the coelacanth).

I have a very strong feeling this book will not leave nearly the impression on my children that it left on me. Yet, I find myself overjoyed at having found it, this little formative artifact.

Dear Reader: I hope you too have yourself a formative artifact. I hope you can find it, and, maybe yours can be passed on to your own children. A gift they are free to decline, but hey — perhaps they’ll take it.

Before You Can Have Smalltalk, You Must First Defeat Capitalism.

At SPLASH 2024 there were a few talks and sessions that felt a bit like lamentations.

A common theme across these was that abandonment of “Programming Systems” and the rise of systems without elegance, introspection, trust or capability.

At the end of Hinsen’s talk, I posted on Mastodon:

The lamentations about the state technology at SPLASH are all lamentations of Capitalism.

Only a few come close to saying it explicitly tho.

I actually think Alan Kay came closest:

Wow, what a terrible waste of these kids lives to have an undergraduate degree in computing. Because think about what they could actually be learning, if they weren’t taking up all this time learning almost nothing interesting. And that learning they would do would actually make them much more sensitive to the new things they could be learning about.

And, of course, that’s not the whole story, because, let’s face it, things are very different than they were in the 60s and 70s, especially with regards to life-affecting things like, for instance, real-estate prices which are not counted in inflation, and in California have been more than a factor of ten, over regular inflation. And this has changed the goal structure of lots of kids going to college.

So, why don’t people build these sorts of systems anymore? Why is research focused on so many industrial applications? Why is it build-build-build? Why are universities failing to be bastions of knowledge creation?

Capitalism. Maybe too pithy.

More specifically, the problem is the precarity & lack of surplus of modern unrestricted rentier capitalism. Graduate students struggle with high rents, low stipends, heavy work loads and big loans. Lecturers have full teaching loads and are paid very little. Professors are writing grants to fund students, and no one seems to have any time to sit and think and play and produce beautiful results.

I talked to an undergraduate student at SPLASH, and he was telling us about some neat work he helped with to do LLMs and code auto-completion. The attendee next to me after hearing his brief pitch immediately asked “Are you planning on commercializing this?”, and I died a little inside. More, when the undergrad student replied in the affirmative.

The title of this blog post is at least a little sarcastic, but I think is an honest to goodness truth: If you want to build a future that involves beautiful systems like Smalltalk, you must first rebuild the economic environment wherein it could be built. Wherein it could succeed! These systems idealized in lamentations at SPLASH all seem to me to be products of economic surplus combined with the right people. We need an economy that has surpluses around for people to do explorations.

To be clear: I actually don’t really agree with a lot of the lamentation the Smalltalk & Lisp people feel. I think many of them undervalue the world we actually have. Nevertheless, I think we are missing exploration today. The ability to build systems, and sit with them, and let them evolve for years.

We need surplus projects; we need the things built when people have the freedom to play, the freedom to create. Some people, unbound from the strictures of having to work themselves to the bone to eat, will produce plays, will produce symphonies.

What about open-source? Open Source can unlock some surpluses, it’s true! But nor is it without its well known problems.

Maybe, if we can build a more just future, we’ll have SPLASH without so much lamentation.

New Graduate Advice

Every now and then a student or relatively junior person will email me asking for advice. I see responding to these sorts of things as a service I can do the community, much in the same way that I see running the Compiler Jobs page.

Sometime during the pandemic I wrote the following… unfortunately, I have also some how lost track of the original recipient (if this is you, reach out! I’d love to hear what happened to you). Nevertheless, I append this to most advice I send out to new-grads as I think it has generally held up over time.

It’s been sent out one-on-one enough that it’s time for me to just put a blog post version of it out. Gently edited here is my New Grad Advice:

A few things I'd suggest:

1. Cultivate your personal network, and I don't mean in the LinkedIn way: You will meet great colleagues and collaborators throughout your career: Make a concerted effort to keep in touch with them. Correspond with them, write them letters; when COVID is over and if you're in the same city, go out for coffee/beer/dinner/lunch as appropriate and time allows. This work will not pay dividends for years. However, by keeping in touch with people who respect and know you, and you in turn respect, you will know where interesting work is happening (and sometimes, where it's not!)

2. If you have the opportunity, as soon as you are able to, start mentoring: If you're an intern, but you've been there for 8 months, then mentor the interns who have been there for 1; if you're full time, make yourself a go-to person for interns.

There's two major reasons to do this: 1) you can demonstrate (and discover your own aptitude/interest in) leadership early; this is a skill that takes time to learn, but opportunities are few and far between. 2) You'd be surprised at what happens by paying attention to interns and junior employees: You're forced constantly to skill up your own understanding: You know best what you can teach. As well, you start to identify pain points that appear repeatedly (these often are organizational pain points that get forgotten after 2 months work): These can become projects that you can own that make everyone's work better.

3) Open Source work is good, but to turn it into something career building can be a prohibitive expense; but if you can find jobs working in open source, it is a bit of a career aid, as you're able to point directly at projects, commits and bugs you're particularly proud of.

This isn't to say don't contribute to open source projects in your spare time if you'd like: But a few small PRs contributed to a few big name projects isn't necessarily going to build your career. Instead, more sustained contribution can unlock mentorship opportunities which can in turn unlock career opportunities.

4) Find mentorship: Find the people you work with who are willing to take time to explain things, and nurture those relationships. Having someone at your work be invested in you is important -- and ultimately the key to building a stronger career. You can't and won't do it all alone: so find the people who are in positions to help. Sometimes mentorship is a formal relationship; more often than not it's simply feedback you get from someone you respect, on a regular basis.

5) Be kind: Finding mentorship is easier if you're kind; if/when you have the opportunity to choose your own work (or. perhaps do some of it anyhow), choose problems that unblock others, lower the team's frustration level, and generally improve things. It's fun to build the cool new feature: It's better for you to fix the 1/100 crashing bug that's preventing everyone's builds from being green.

Hopefully this helps.

A Voyager Update, 8 Months in

I’ve been thinking about writing an update on my ZSA Voyager keyboard for a while. Finally have decided to carve some time out to get a few blog posts written, so here we are.

The Hardware

So the ZSA Hardware remains really good. A few times I’ve played with changing switches here and there, trying for differnt things. Overall, I’ve largely landed on Sunset switches everywhere, but I keep feel like I wish I had a distinction of sort between thumb and finger keys.

The Layout

So at this point I’ve been changing my layout at a relatively low pace.

There are some things I like:

  • One hit TODO button, on a key that I had heatmap evidence was literally never getting used
  • Big ass Command Key under thumb
  • I’m a left-thumb space bar user

As a programmer, I’ve gone through a bunch of programming issues and am... only about 80% happy with my current setup.

  • A pair of brace columns on the left hand. Biggest issue being right now they’re on layer one, which is accessed via left thumb: To provide easier alternation need really to move this to another layer.
  • Escape and tilde current share a key. This is sub-optimal, but I’m not sure where I want to move tilde really.
  • -,| and \ are all on the same key... again, don’t love this, not sure where to redistribute this. The correct answer I think is actually to move the top row of numbers to another layer and use that for symbols, but I haven’t tried it yet.

I really do have tonnes of room to distribute things though. Layer 1 is quite free!

The Great News

  • I can almost seamlessly move between laptop and Voyager these days. Which is nice when working on the deck, though that season appears to be past here.

The Me Problems

I’d be lying if I said this keyboard was entirely perfect for me. The problems though are mostly ‘me’ problems, not the fault of the Voyager. I have some ideas about how to fix some of them, but others I’m still not sure what to do about:

  • Something, either preexisting injury, RSI from keyboarding + guitar, or the new use of my thumbs as major input surfaces means that I have medium frequency pain in the metacarpophalangeal joint of the left thumb.

    I’m suspicious that I’m just overly forceful on the thumb clusters sometimes, and that it’s not doing me any favours. I’ve tried briefly putting some Kailh Silvers in the thumb slots, but I didn’t perhaps give that experiment long enough: Having tactile switches under the fingers and linear under the thumb was super weird.

    I also however find that the Voyager’s thumb cluster feels just a touch wide. It’s better when I twist the halves more, but nevertheless, it’s just a touch on the wide end.

    Also... I just use the damn left thumb too much. Look at this heat map from a few months ago. At some point I may just need to retrain my hands.

Some of this is QWERTY, some of this is me.

  • I’ve still not nailed a tenting angle I’m happy with. Initially I started with a 3d-print of this lovely tenting bar. It was ncie, but nowhere near tall enough. Still, having this I was sort of loath to just toss it, so I edited the model to make a “stackable” version. My first time ever 3d editing, and I definitely goofed it, but it’s been good enough for now, that I’ve kept using them. It feels like with the two of these, I’ve hit like 70% of the tent that I want. At some point though I’m going to have to solve this better though.

  • Trackpad in the middle is great but has always felt a touch clunky. I realized reading this recent ZSA blog post that a huge part of the problem is that the trackpad is so low compared to the tented halves. Need to get a lift for that!

  • I still find that the halves migrate a bit in ways that can feel counter productive. The previously linked ZSA blog post has a real sturdy solution that may be overkill, but something to provide a bit more steady relative position might be nice.

I would love to experiment for a month or so with a Moonlander. I really do wonder if the adjustable thumb clusters, built in tenting, and big travel switches might actually ultimately be better for me, despite my initial desires for low profile keys.

Random

Mine's in there, left as an exercise for the reader to find.

Double Feature

A few months ago I watched a pair of movies on a plane: “To Wong Foo, Thanks for Everything! Julie Newmar” & “But I’m a Cheerleader”, impulsively doing an LGBTQ double feature.

I watched “But I’m a Cheerleader” as discovered Natasha Lyonne via Russian Doll and then Poker Face, and I wondered what she was like in her early movies. “But I’m a Cheerleader” is weird time-capsule film, bringing us back to the late 90s. It’s a really odd movie that seems to want to be camp, but can’t help but let the seriousness of the subject matter leak in around the edges. In my opinion, it’s good, but not entirely successful. It’s wild to see Ru Paul in that movie —

“To Wong Foo” is sort of the opposite: It is camp fantasy, and refuses in many ways to let reality in through the window. As a result it feels like it says less, but is smoother an more Hollywood. Seemingly every actor in that movie is giving it their all.

I was reminded to write this blog post though by me reading the wikipedia page on the movie, and they pointed to this quote from Variety:

“To Wong Foo” safely distinguishes among hard-core transvestites, transsexuals and its own heroes, “harmless” gay men whose only deviation is dressing in drag and having fun. In the big farewell scene, when the socially reawakened Carol Ann tells Vida, “You’re not a man, you’re not a woman, you’re an angel,” she sums up the film’s cautious manifesto. Ultimately, the comedy comes across as a celebration of openness, alternative lifestyles and bonding, all life-affirming values that in the 1990s are beyond reproach — or real controversy.
— Emanuel Levy

With the recent hate thrown at drag queen, and deteriorating respect for trans and LGBTQ people, I find the idea of a reviewer saying that “Too Wong Foo” is without controversy cultural whiplash.