It’s strange to think, as 2020 moves into middle age with widespread civil unrest, that a global pandemic would be the least dramatic thing to happen this year. The simulation appears to be glitching all over, and while the lockdown is easing up agonisingly slowly, most of us are still mostly locked in our houses.

Still, it’s important to focus on stoicism, do what you can, enjoy what you can, and make the most of things.

Here’s some of the lessons I’ve learnt, in no particular order.

You’re right to follow your gut

I’ve always had a habit of running speculative “what if” scenarios in my head, I find it quite an entertaining game to imagine what I’d do if some unexpected situation were to happen. Depending where it falls on the threat matrix, I often looked at what I could do to hedge against them to a greater or lesser degree.

For example, I have a grab bag with everything I need to survive for a few weeks and restart my life, ready to go. Not because of zombie apocalypse or collapse of civilisation, but because, for example, fires happen.

I routinely operate on the 10th man rule, so, if everyone and everything is telling me that it’ll all be fine, I speculate that maybe it won’t be. This habit has served me well in the past.

As a result, long before lockdown or the virus was even mentioned on mainstream news, I had already told family and friends to stock up on food and to renew their prescription medications. A few people called me paranoid, but I figured I was just being prudent.

Worst thing that could happen if you prepared and nothing happened? You’ve got a full larder. Worse thing to happen if something happened and you didn’t prepare….

You have millions of years of survival instincts behind that feeling in your gut. Listen to it, even if people are telling you not to.

Taking stock

The initial excitement settled into boring routine.

While in many respects, lockdown has been frustrating – everything shut down, twitchy dot people, shortages and queues – having a period of forced slowdown has actually been quite refreshing.

Like many of you, the change in routine has forced me to slow right down. Lockdown has made me take stock on where I am, and what I want to do next.

Early morning workout buddy

For a start, nobody is doing anything, so I was able to completely shake that feeling that I was somehow “missing out”. I can’t go anywhere, or do anything particularly exciting, but then neither can anybody else.

I’ve found it quite refreshing not feeling like I have to do anything.

We’ve all been made to slow down, enjoy the simpler things.

One thing, I’ve done more reading than I’ve done for a long while. I’ve gone down various rabbit holes of YouTube, learning random skills that I’ve been meaning to swot up on but never got the time to.

I have saved a bunch of money. Somehow. I suspect largely through not routinely going to the supermarket when hungry after work (since shopping these days is such an unpleasant experience, I’ve been only going when necessary, ordering a lot online, and actually planning meals).

The gym has been closed, so I’ve really focussed on training what I can, as well as diet. I have been extra disciplined (and not having office snacks), and as a result am now at my ideal competition fighting weight.

As things are starting to open up, I’ve spent more time with family and friends. But before that, one thing I’ve realised, through the weeks of solitude… I really do like being by myself.

What next..?

Not sure. 2020 is far from over, and stuff around the world just seems to be getting crazier and crazier.

I intend to keep up the good habits I’ve formed since lockdown – spending less on stuff I don’t need, training and diet.

I’ll still travel, of course, but I’ll also focus on simple pleasures. Family. Friends. Spending more time with other humans, even if I need to travel a long way to see them.

Also, as I mentioned in a previous post, remote work is going to be the new normal.

I’m definitely not going back to the office.

This is going to be a bit of a battle, but I’m prepared to stick my heals in on this one. I’ve been remote only for over a decade, and my short stint of being back in the office has reminded me just how much they suck – strip lit boxes almost designed to destroy your focus.

Contrast this with remote work and the quality of life improvements you get – freedom, more time, ability to cook a decent meal and train, even simple things like being able to be in for deliveries… oh, and not to mention being geographically independent, letting you travel and live cheap.

Speaking to my peers at work, as well as wider contacts in the industry… nobody in IT is going back to the office after all of this.

It’s a generational battle, in that the institutional members of the organisation seem to desperately want to get back to “normal” as it was in the “before time”.

But those times are gone. Holding out is only putting off the inevitable… if, for no other reason, that hiring talent (already a problem) is going to be impossible if you require them to be present in the office.

Skilled IT workers have had a taste of their life without the commute, spending time extra time with family and loved ones, and not having to sit all day at a desk under florescent lighting.

Another day in the office

It’s been a little while since I’ve done this, but I’ve updated the “official” Known build to the latest version.

This fixes a bunch of issues since the 1.0.0 release last year. Much of which is back end and API related, but there’s still plenty to be getting stuck in to. I’ve largely been setting the groundwork for future development, but there’s a lot that’s moved on since that release, so it’s good to encourage people to get the latest code!

For a start, there’s functional OAuth and OpenID Connect support built in.

I’ve done a fair amount to improve stability of the installer, as well as do some fairly important improvements to the underlaying data model.

Time permitting, I hope that the next release will be a little more front end focussed. Splitting off templates into their own repository, updating themes and doing more work to make the API more consumable.

Of course, as per usual, back up your data and database before upgrading!

Go get Known here!

During the work I’ve previously done around OpenID Connect and Federation, I ran into the need to be able to mutate Entities.

Every Entity in Known has a type, and internally this corresponds to a PHP Class when loaded from data storage. Each Class has its own abilities and methods, and in general you’re not going to want to turn one into another.

However, I did.

This occurred when a User (which corresponds to a User) object logs in to a site after they’ve already used the federated API (which would create a RemoteUser object internally).

When that occurs, we want to convert the RemoteUser account into a full fat User. We can’t simply delete and recreate the user as that would lose all their history, and remove any posts they have made, etc.

So, we need a mechanism to mutate them.

This should be safe, since RemoteUser is a child of User, so they’re not vastly different things.

So, as of recent builds of Known, RemoteUser implements the interface Mutable, which defines a method mutate that accepts a class name to mutate to. On success it’ll return the newly mutated object. This object will have the same ID and data.

For convenience, there’s also a Trait Mutate that you can mix in, which provides a reference implementation of this interface. That implementation will check to see that the class you’re wanting to mutate and the class you’re wanting to mutate to are both related, and if so will perform the necessary incantations on the database.

Useful tool, but “with great power…” etc.