software engineer desperately trying to help build a way out of our impending climate apocalypse

America is Infatuated with Stupid Ideas: Part 1

Ahem, in college I once wrote a nice paper about the Tesla car company and commended their efforts to fight climate change by innovating in alternative energy. Incredibly unfortunately, I also totally bought the lie that Elon Musk was an integral part of that team's success. I regret the error deeply. In light of recent discovery that this man personally and sadistically torpedoed a promising high speed rail system in California, I would like to establish my updated opinion.

Rugged individualism creates the notion that fanatical devotion to personal greatness is the best gift each of us can offer society.

...which is annoying for many reasons...

but mostly because it is antithetical to the winning evolutionary strategy of homosapiens:

collective intelligence

When scary things roamed the earth, overly-individualistic traits couldn’t possibly have had staying power.

Alone, with a single survival-processing-unit, we get eaten, bearing too much responsibility to remember where tigers are, and where they aren't.

but when every member of the tribe shares a common language, each becomes free to specialize in a different survival tactic, such as:

  • remembering where tigers are
  • remembering where tigers are not
  • finding sharp rocks to bash tigers with
  • finding long sticks to poke tigers with

Necessitate conversation, add beer, and within some time an efficient spear-hunting plan is hatched, described by a function of

Individual Thinking Power * Number of Brains

to the power of

Imagination Combination Factor (beer)

it doesn't matter that predators have razorsharp claws or massive size or even larger numbers - the cave dwelling primates unlocked multiplicative cognition, and those genes are getting passed down.

Though members of the tribe survive, puddle-gazing narcissists get eaten.

Lonely pursuits feel dysphoric to us because they are wrong for our species

With each social realm relinquished to the rugged individualists, we endorse the disintegration of

the cauldron of collaboration

our evolutionary edge!

ideas mixing and fusing in search of ignition, of memories multiplied and lessons enhanced.

This power is far greater than any bald libertarian in any dull cubicle should be able to attain. No matter how poor his empathy or how rich his parents, one South African billionaire cosplaying as a misunderstood genius / political outcast should not be allowed to hold social goods hostage; vote for a fucking socialist.

P.S. Fuck you you train-hating bitch

Arch Journal

Arch Linux Journal

A journal/log for my arch install on the Framework laptop

  • Kernel 5.13.13
  • Gnome 40
  • /boot is 15gb of efi (The framework bootloader is UEFI)
    • It's NOT LUKS encrypted yet
  • / is ~900gb of ext4
  • /swap is 32gb of swap space (frame.work linux has some problems with high battery drain upon hibernation/sleep)
  • Bluetooth is broken for the A210 Wifi 6 Chip on 5.13.13, but it worked in 5.13<13, so I imagine it'll get fixed soon
  • Wifi works great throught NetworkManager
  • Gnome Desktop Manager (gdm) works natively with libfprintd to provide fingerprint support at login
  • I've modified /etc/pam.d/sudo to include fingerprint auth, too


Today I got a bunch of things accomplished. I

  • Switched from iwd to NetworkManager for better integration with the Gnome gui
  • Installed Improved Gestures Gnome Extension to get proper 4-finger macOS style trackpad gestures
  • Installed pop-shell from System76
  • Learned about the Arch Linux Archive, which preserves and makes available older versions of Arch packages for easy downgrade
  • Noticed my personal cloud-hosted instance of $SaaS was down, so hopped into a shell and unstuck it

Mental Models #1 : Guitar

(i'm a right-handed amateur guitarist)

The Left and Right hands are connected in the mental model used to play the guitar.

The right hand slaps strings and passes a vibration down to wherever the left hand rests.

When first starting out, the two hands operate from independent silos, but every practice session thickens the neural pathway between them.

Developing proper coordination between the two hands to create rhythm relies on the instantaneous predictive signalling from picking hand to fretting hand, immediately followed by analytical signals from the fretting hand back over to the picking hand.

When I attempt to consciously observe my experience, I visualize the process as a complex game of ping pong; also can think of the left hand shape as preparing to catch the vibration - different shapes produce different tones.

A Fresher Start

I've started building a microblog app again. Trying not to overthink why I should make something and just make something. What is it? I don't know. What does it do? I don't know. The only question I want to answer, which will change slightly each week, is "Can I do X?". I'll collect the little "yes"es each week and use them as fuel.

Thinking of making it space-themed and inspired by google+. Yes, google+. It had some good ideas, despite being late to the party, neglected, and ultimately chucked into the Google woodchipper.

Some goals are:

  • learn and explore managed backends
  • see if React + Typescript is any more intuitive
  • start building momentum developing anything

I have written up a simple app with a unified frontend + backend in nextjs, using supabase as a managed database.

I'll likely deploy to Netlify.


I've had the PineTime open source smartwatch from Pine64 for 2 days and it is already cooler than the expensive android smartwatch I own.

Connecting via GadgetBridge was super easy, upgrading the firmware took ~15s , and it controls media playback as well...pretty great device for $30.

Maybe I can write something to fire Tasker commands.

Blog Roadmap

Hey. You've reached another engineering blog from a budding engineer with more compute power than interesting things to talk about! I don't have a lot to offer in the realm of cutting-edge technical prowess - I likely won't be discussing compiler optimization or distributed system architecture or re-implementing low-level libraries in Rust to shave precious milliseconds off of your application's function calls.

I won't be talking about those things because I don't do those things. I work as one member of a tiny informatics team at an ecological sustainability nonprofit that in recent years has specialized in energy efficiency consultancy. The work done there is ultimately in service of reducing carbon emissions and mitigating the effects of climate change. Typing that sentence feels like a dream - there are few other mission statements I would feel comfortable supporting, given the absolute urgency of the impending climate apocalypse.

But life isn't a dream - and a mission statement isn't the same as de-facto evidence that you are making a tangible difference with your day-to-day accomplishments. You have ego and you want that evidence! Being a part of such a small group means you don't have access to an established community of like-minded builders to learn from. You have the open web at your fingertips! Working at a not-a-tech-company that doesn't sell a software product also means properly architecting a system looks a lot like over-architecting. You LIKE over-architecting.

Since it'd be irresponsible to choose personal growth over business growth on the company's dime, I'd like this blog to be a repository for my explorations in developer self-improvement, a realtime frustration log, and a sketchpad for how individual contributors with engineering experience can learn, adopt, and evangelize sustainable practices.