Self Portrait, by Mary Oliver

I wish I was twenty and in love with life
and still full of beans.

Onward, old legs!
There are the long, pale dunes; on the other side
the roses are blooming and finding their labor
no adversity to the spirit.

Upward, old legs! There are the roses, and there is the sea
shining like a song, like a body
I want to touch

though I’m not twenty
and won’t be again but ah! seventy. And still
in love with life. And still
full of beans.


The Orange, by Wendy Cope

At lunchtime I bought a huge orange—
The size of it made us all laugh.
I peeled it and shared it with Robert and Dave—
They got quarters and I had a half.

And that orange, it made me so happy,
As ordinary things often do
Just lately. The shopping. A walk in the park.
This is peace and contentment. It’s new.

The rest of the day was quite easy.
I did all the jobs on my list
And enjoyed them and had some time over.
I love you. I’m glad I exist.

— Wendy Cope


Ping Chong + Company, 2021

modernizing Bidoun javascript

over the last couple of months, I've jumped back into working on Bidoun, primarily to add a couple new features they've requested. but since I have to root around in there anyway (and for the foreseeable future), I'd like to make my experience a bit more pleasurable, so I've been updating some stable but outdated code.

for better or worse, there hasn't been a major change since I migrated from a self-deployed VPS to a more automated Heroku infrastructure. I didn't really know what kind of a mess I was getting myself into. I knew I wouldn't have to worry about any build processes, or compilation steps (outside of Rails asset pipeline), to configure, or patch up.

anyway, the primary reason for this post is two fold:

  1. I was unbelievably impressed with how easy it was to update my extremely outdated code. My primary objective while working is to write code that is the easy to change in the future. Past-me didn't do current-me any favors in that department, I'm truly impressed with the developers and API designers who worked on the jQuery and underscore APIs. good job, teams.
  2. In addition to making future-me less miserable, one reason for doing this work is to dump unnecessary JavaScript dependencies from getting served to the client. I haven't yet deployed my changes to production but a quick look my uncompressed bundled application size went from 364 KB to 141.2 KB, or about 39% of what it used to be. perhaps not an ideal comparison since downloaded gzip sizes will be closer together, so here's a better comparison

Mobile Lighthouse scores, which is a better simulation for how visitors will experience the page