As the world is griped by the global pandemic of the Covid-19 Coronavirus, I, like many around the world, have been ordered to work from home until further notice. Things are changing quickly, and I fully expect mandatory quarantine to follow in a few days, and with stores running short on supplies, rationing to follow shortly after.

I’m in a fortunate position in that until about a year ago, this was my day to day, and so for me this is largely a return to normal. Others in other industries are not so fortunate, and we’re already seeing the first of many likely business collapses and layoffs.

As we learn more about just how badly we are screwed, it is clear that societies around the world are going to have to change.

Restrictions placed on travel, association, going into offices and the large scale quarantining of whole populations are likely to go on for years (especially since it is now becoming evident that you can get the damn thing again, even after you’ve had it).

Thousands of us are going to die over the coming months, in every country in the world.

Every one of us will be affected.

The age of globalism is over

The quick spread of this disease has exposed the fragility of our global supply chain. Countries like Russia, which shut its borders early on, have faired much better so far than those that continued to allow unrestricted free movement of people.

At the very least I imagine that medical history checks will now be a routine part of travel going forward, together with routine shutdowns in outbreak areas.

Furthermore, with China now using its position as “Factory of the world” as a political weapon and threatening to limit supplies of life saving equipment and medical supplies, I fully expect more strategically important manufacturing to be moved back within national borders. Trade will of course continue, but it has proven foolish to depend overly on others for things necessary for your own survival.

Corona has made it clear that being entirely dependant on an Authoritarian Communist dictatorship for pretty much all such materiel is … probably a bad idea.

The world has no more time for your bullshit

Health services and supply chains, even in the developed west, will be pushed beyond breaking point. Rationing of care and supplies will likely become a factor of our lives for the next year or so at least.

Hard times are ahead, and if you’ve been used to relying (as we all have been to some extent) on the fact that we’re all so safe and pampered in the west, there’s a shock in store.

With healthcare systems being overwhelmed, and battlefield levels of triage being put in place, we are all going to have to be responsible for ourselves. We must rely on our own independence and resources, and each other.

Nobody is coming to save you.

As a result, nobody has the luxury to care about your made up mental illness, or that the only thing you’ve got going on in your life is that you’re part of [Insert Identity Group Here]. We’re out of patience as a society, and we no longer have the resources to coddle you.

Nobody has time or patience to shield you from your actions, and if you choose to endanger yourself, then that’s your own lookout. If your actions endanger others, for example, if you come into work when you have symptoms or generally go about your day exposing vulnerable people, then you deserve the harshest punishments.

We have more pressing matters to deal with as a society right now than your bullshit.

Chequered flag waved in the Rat Race

All rather bleak, but maybe there’s a silver lining if you squint at it…

With many of us in white collar jobs being forced to work from home, and offices shutting for the foreseeable future. How long will it be before people become used to this?

How long will it take for people to realise that the vast majority of white collar jobs in the modern economy simply don’t need to be done in an office?

Imagine, no more wasting your life commuting on packed trains. No more traffic jams.

No more expensive rents, and paying through the nose for a shoebox within commuting distance of work. Instead, you could live anywhere there’s an internet connection, and where the standard of living is high and the housing is cheap!

How long before people realise that office life really is a relic of a bygone age?

When this crisis is over, how many of us will refuse to go back? Many, I hope.

The same promise of freedom also beckons our young people forward into the light. With schools and universities around the world being shuttered, how long before they too realise that these institutions are entirely unnecessary for providing an “education” in the 21st century?

You can learn just about anything on the internet, and what’s more, you can do it for free. Everything I use to earn a living I taught myself outside of school, and this was in the days before the internet. I made more advancements in training on my frequent sick days than I ever did in the classroom, where I was forced to watch some Education “professional” fail to keep order, and attempting to concentrate while dodging thrown chairs and other projectiles.

Every day I would pray for some disaster to shut the schools so I could actually learn something. To this day I’m annoyed by my forced false imprisonment, and to think about how much further I’d be in my career were I not forced to go.

University was a little better, in that I actually learnt something (and the disruptive kids were generally too dumb to make the entrance requirements).

But, it was also expensive.

Not as expensive as it is now of course, and certainly not as expensive as in the United States, but still massively over priced and over valued.

There are other ways to get certified for future employment, and lets be clear, this is all a degree is right now – a certification of basic competence that future employers can look at in order to determine whether or not to give you an entry level position, nothing more.

Anyway.

I seem to remember that there’s a language where the word for “crisis” was written using the symbols for “danger” and “opportunity”.

It may have been Chinese.

Part of my day job is writing and maintaining a fairly massive and complex piece of software which has become mission critical for various large scientific infrastructures around Europe.

For reasons that will be familiar to anyone who’s built platforms that suddenly become successful, certain things were left out when building the software. One of these was any kind of monitoring.

We are of course building this out “properly”, however one of the simple things I did early on turned out to be a really big win. This was to simply catch all fatal errors and exceptions being thrown, and then pipe them to a slack channel set up for the purpose.

Before adding the slack monitoring we’d often be surprised by error – receiving garbled reports third hand as they were escalated from a user email, through the administration team, and to us. By which time the detail has been lost, and any logs long since rotated away.

Our devs live in slack, and as a multinational team who’s members frequently travel, this has become the nervous system of the organisation. Now, my team is no longer surprised, and can jump on issues instantly.

Very very simple to set up, but turned out to be a big win. Here’s how

First, capture fatal errors in your application

I wrote about this before, about capturing WSOD errors, but assuming you’re using PHP, this is all about registering an exception and error handler for your application.

Create a slack app

Select “Incoming Webhooks” from application menu

Next, create a slack application and add it to a monitoring channel in your work workspace.

Add an “Incoming webhook” for your app, that posts to your monitoring channel. This will give you a URL, anything POSTed to which will end up in your channel.

Posted text supports Markdown for formatting, which is handy if you want to post raw error messages etc, or links to data dumps.

Link the two

Finally, from your error handler, POST the error / stack trace / etc to your slack channel.

Conclusion

Obviously, this should be no replacement for proper monitoring. Proper monitoring can provide historic information and statistics about the overall health of your platform.

However, in the absence of this… this may be a quick win that you can implement without too much effort. Certainly for us, this proved to be invaluable, and allowed us to quickly diagnose and fix faults we were previously unaware of.