Isaac Su — writing, practice.

Surface Go is a real computer right?

Wed, 21st Aug 2019

Tooting has gone quite well. I'm running my own instance, learning the ins and outs of mastodon administration. I've managed to stand up elasticsearch for it, and I've now reached semi-pro level live-tooting-while-reading. Check out my toots for An Elegant Puzzle #aep19 and Capitalism without Capital #cwoc19. Riveting stuff.

I must be on a roll.

To take advantage of this self-publishing momentum, I've spent the last two nights trying to revive this ol'blog.

Night one was spent trying to upgrade to the latest version 3.x, because new is supposedly good. Apparently not so good for me because a bunch of the APIs have changed, which caused my heavily customised theme to break. Oh well, worth the try. A simple git checkout <old branch> and we were back.

(I'd been doing all of this via ssh on the live server)

Night two, I figured I'd skip the upgrade and appease myself with a slight polish of the theme. The latency of emacs-ing live on the server was too painful, so I thought my Surface Go is a real computer right? Brought up Ubuntu in Windows 10, installed php7.2-cli and friends, then php -S 127.0.0.1:8080. Just like that, I was off tweaking markup/styles, alt-tab, ctrl-R, repeat.

It's been so long since I've tweaked HTML and CSS, it brought back fond memories of recording vim macros to automate HTML tag transform operations. Ah my youth.

It worked. I'm most proud of the fact that all this was done on a supposedly underpowered Pentium 1.6GHz chip with a paltry 4GB of RAM, both of which get largely chewed up by some Antimalware Service Executable.

I'm going to write more. I'll try. This was actually fun.

It's a little roundabout at the moment, but if you feel an overwhelming urge to respond, you may do so on this toot. You will have my appreciation.

Docker Containers gently

Tue, 24th Apr 2018

The engineering team at Sidekicker recently moved to a fully containerised approach to deploying software. I thought it would be a good idea to write about why we did it, and how it sets us up for the long run.

Attention Collectivism

Thu, 12th Apr 2018

…part of the power of the social media business model is that it introduces a type of attention collectivism, where I’ll promise to pretend to care what you have to say (by clicking “like” or leaving a quick comment), if you do the same for me. This is incredibly seductive, though ultimately hollow.
Cal Newport

This is harrowingly pertinent now that I've shared my very first blog post on LinkedIn. It's hard to tell how well the post is received on my actual site, but I'm glued to the 👍 Like count on LinkedIn. 😩

The :grimace: Epic

Thu, 12th Apr 2018

I've been thinking on how we rationalise different kinds of development tasks that engineering teams get up to.

For example, critical bugs absolutely need to be fixed now. Product features and improvements satisfy our customers who pay the bills that keep the lights on. We’ve even made strides in subtantiate classes of Tech Debt in terms of an on-going operational "tax" of sorts.

But what about the category of tasks that atones for the sins of the coders past, particularly in legacy software? Contemptible modules that lurk within the monolith? Arcane relics that work, but make the team feel less-than-proud to be custodians thereof?

It came to me in a random exchange:

"there is great value in not feeling ashamed of the code that we work on".

My proposal is an epic# called the "Grimace Epic" for a category of work that helps engineering teams feel less 😬 of our creations. Work that reduces cognitive friction, increases happiness (and therefore productivity) and inspires a team to take greater ownership, pride and care of the code that they tend to.

The Grimace Epic is an acknowledgement that instinct and emotions play an important role in the creation and operation of software. It affirms that software engineering is equal parts art and science - just because something hasn't been priced doesn't mean it doesn't have value.

This is not to say that we should just go by our guts, throwing all logic and reason to the wind. On the contrary, I expect that the true value of such work to be discovered retrospectively, so that the wisdom (or folly) that was once instinctual would be incorporated into the greater body of software engineering knowledge.

* In JIRA an Epic is a common mechanism that teams use to categorise development work. The terminology is also pretty... epic.