Just awesomeness…

If you have 5mins spare and work in IT, or ‘Business’ then read this…


I was laughing and grinning the whole way through… 🙂


Posted in Uncategorized | Leave a comment

VScode and the Remote Explorer extension


So, I had a remote server i wanted to use with vscode – that is write code on my laptop whilst directly connected to a remote box over SSH that enabled me to do all those git push/pull things i love to do .  No more CLI for me.  (well that’s not quite true, but vscode saves me soo much time nowadays).
I predominantly use the Remote Explorer extension in vscode. Now if you haven’t used it yet, then i suggest you try it, you won’t be going back to vi/vim.


One of the only issues is that you need to set up the remote box a little, as vscode installs a few extensions on the remote box to make everything work so well.
To do this, vscode automatically grabs a heap of stuff of the internet, as soon as you connect to it for the first time. Now you could install all of this manually – that way you are checking the soure code and mitigating any risks – keeping the Security Bods happy (not an easy job of course).
But most of us will assume Microsoft have got controls in place to make sure the extensions that they install on our servers are clean of malware/spyware etc.
So, you need an Internet connection. Easy enough if your remote box have direct internet access, but any decent infrastructure will have a proxy to control access in/out.

This then brings up issues as when vscode tries to install things on that first connection attempt as the proxy settings available to wget to grab those extensions. (of course if you don’t have wget installed on your remote box it also fails)
You can of course setup .wgetrc and set the proxy environment variables in there, or you can set them via the SSH environment.

I’ve done both, this time around i tried the SSH variables and this is what this blog post is about.

The first thing to note is that you can’t (easily) set the environment variables for vscode to access them before opening the SSH tunnel.  Normally you’d do something like this

foo=123 ssh -i myssh.key me@myremotebox

So, you need to set them in your local ssh_config. The Remote Explorer extension takes care of this by allowing you to edit your local ssh_config on windows.

The second thing to note is that unless you have installed a quality ssh client locally, then you are not going to be able to use the newer ssh_config parameters.


This means you need to uninstall the older ssh client and replace it with a better/newer one. I chose Git for Windows.

In the end this was an exercise to upgrade the local ssh client on my Windows 10 laptop and work out how to use the newer Environment parameters in the later versions of ssh both locally and remotely.

Check the current version in use

Here you can see i’d gotten a copy of Microsoft’s ssh client and it is old. 2017-10-03 according to https://www.openssh.com/releasenotes.html

C:\Windows\System32>ssh -V
OpenSSH_for_Windows_7.6p1, LibreSSL 2.6.4

Remove OpenSSH for Windows

Run as Admin in a powershell console

PS > Remove-WindowsCapability -Online -Name OpenSSH.Client~~~~

Install Git for Windows

This will install ssh v8.0 – follow the instructions at.
Make sure you click on the check for updates daily checkbox, and keep that openssh up to date. 🙂

Check new version

C:\Windows\System32>ssh -V
OpenSSH_8.0p1, OpenSSL 1.1.1c 28 May 2019

woo hoo!

Update ssh_config locally for vscode

via the Remote Explorer extension

Host myremotehost
  User me
  IdentityFile C:/Users/me/.ssh/vscode.key
  # https://serverfault.com/a/971097/327886
  SetEnv http_proxy=http://myremoteproxy:3128/ https_proxy=http://myremoteproxy:3128/

Update the sshd_config on myremotehost

Use vi, vim, nano etc.  This might be the last time you ever do 🙂

Match user me
  AcceptEnv http_proxy https_proxy

or allow globally if you want

AcceptEnv http_proxy https_proxy

Restart the sshd daemon

service sshd restart


That’s it.  Use the remote Explorer extension now and connect to your remote box.  It goes away and installs everything it needs.

Remotely installing Extensions

What you also do is install your favorite vscode extensions on the remote box.  This is just awesome.

If you go to your extensions in vscode, look at each one and you can see that you can install some of them remotely.  Do this and never look back. 🙂

Here are few of mine…

  • Git History
  • Git Lens
  • Git Indicators
  • Modelines
  • MarkDown Preview advanced
  • ToDo tree
  • Visual Studio IntelliCode

Have fun!

Let me know in the comments how you get on…

Posted in Automation | Leave a comment

Märklin – Connecting Generations – YouTube

My fav Christmas Ad so far… 🙂

via Märklin – Connecting Generations – YouTube

Quote | Posted on by | Leave a comment

Kick them in the pants – Michael Cote

It’s common to trickle down blame to individual staff and the so called “frozen middle” who keep existing processes in place. Higher level executives, though, aren’t much better according to a recent Altimeter study . Of the 500 executives surveyed, only 37 per cent said their organisation was proactively investing in “digital transformation” (let’s just assume that means “improving how we do IT around here to help run the business better”). Put another way, 63 per cent seemed content with their IT.

In my experience, most organisations who are looking to improve their software capabilities are motivated by a sudden, unexpected, often fierce competitor. Many insurance companies, for example, were spooked by Google’s foray into car insurance . Fear motivated them understand what it would mean to have their market changed by companies like Google.

There is some great stuff in Michael’s book ‘Digital WTF’

🙂 🙂 🙂

Posted in Uncategorized | Leave a comment

Source code to Leisure Suit Larry 1, unique, collectors, Al Lowe, 1987 | eBay

You’re looking at a one-of-a-kind opportunity to own a piece of computer game history: my archives of LSL1: Leisure Suit Larry in the Land of the Lounge Lizards.

When I finished creating Larry 1, I thought I should keep a clean archive of everything needed to recreate the game, so I copied all the source code, text, animation, background art, music, sound effect… everything I could to these floppies. I then packed them in a box (that once contained blank floppies that I bought to produce my games beforemy Sierra days). I then put that yellow box into a black storage box whereit sat, undisturbed, for over 30 years!

Now you can own that box. Look carefully at the photos to see all the treasuries I found. Even I was surprised! You see, back then,programmers like me had to keep track of their own resources. Sierra never kept any archives. If I didn’t keep everything, it would have been lost.

via Source code to Leisure Suit Larry 1, unique, collectors, Al Lowe, 1987 | eBay

For those of  certain age… 🙂

Quote | Posted on by | Leave a comment

Digital WTF – Michael Cote

Digital transformation?! Your boss’s PowerPoint New Year resolution, deconstructed

Hey, it’s the new year. Time to let those annual planning slides shimmy over you, washing away the dangling tickets of last year like a purifying clean install. Somewhere amid pictures of robots shaking hands with meat-maws and millennials writing on glass walls will, no doubt, be the details of your firm’s “digital transformation”.

At first, you may be shocked to hear that you’re so analogue – weren’t we up to our eyeballs in digital last year when we updated all the desktops and finally enabled the CEO’s iPhone to check email? Then, as Dear Leader flips through some eye-popping figures around Uber and Tesla (all the money is in multi-sided platform businesses overflowing with customer data, now, you now), you’ll start to think: “Oh crap. They’re serious. Erm. So, what exactly is ‘digital transformation’? (Should I be updating my LinkedIn?)”


You may not be a software company, but that isn’t an excuse to lame-out at computering

I don’t begrudge organisations who want us to start calling them “software companies”. People are free to do whatever they like with such trivial labels, I guess. But the tick of such labelling has always been an annoyance to me.

No, you’re a company that uses software effectively

Most companies saying “actually we’re a software company” are anything but. They very rarely sell software as their core business. Of course, I’d never shy from bombastic overstatement (or too much redundancy). These companies are trying to make a valuable point: they’re now using custom-written software to do more than digitise paper-driven, manual processes and customise their ERP systems into cement. They’re now able to program their business.

Everyone’s favourite pizza  provides a hot, steaming example. While Domino’s boasts  that you can order pizzas from your wrist and Papa John’s makes it lickity-split easy to customise your pizza on an app (for some reason, you can’t add anchovies except by phone – file a ticket!), these two companies are still fundamentally, well, pizza companies.

Starbucks has long been an example  of a company comfortably creeping up the “digital transformation” curve. Their software-driven orders have been so successful that mobile orders  have been known to clog their meat-space. Still, when I go there (hey, get off my back, tapered sweatpant milinums! I just want some coffee!), I’m happy to find coffee in my cup instead of a numbered stack of those mini CDs begging me to click on “startup.exe”.

via Digital WTF – Google Docs

Download a really great read from Michael Cote his new book.

Quote | Posted on by | Leave a comment

SwiftOnSecurity on Twitter: Corporate purchasing and policies make funding open source Literally Impossible.

Corporate purchasing and policies make funding open source Literally Impossible. Nothing’s going to change until you make them pay you.

Someone filed a bug?
Support contract.

Someone wants a feature?
Support contract.

It’s literally easier to pay you $1500/yr than $25 once.

via SwiftOnSecurity on Twitter: “Corporate purchasing and policies make funding open source Literally Impossible. Nothing’s going to change until you make them pay you. Someone filed a bug? Support contract. Someone wants a feature? Support contract. It’s literally easier to pay you $1500/yr than $25 once.”

Read the full thread, this is sooo true.

Quote | Posted on by | Leave a comment

5 Lessons Learned From Writing Over 300,000 Lines of Infrastructure Code

A concise masterclass on how to write infrastructure code

via 5 Lessons Learned From Writing Over 300,000 Lines of Infrastructure Code

OMG, every manager and designer should read this.  It is soo true.

Quote | Posted on by | Leave a comment

Errata Security: Some notes about HTTP/3

Some notes about HTTP/3
HTTP/3 is going to be standardized. As an old protocol guy, I thought I’d write up some comments.

via Errata Security: Some notes about HTTP/3

A great write up about HTTP/3 and QUIC.

Quote | Posted on by | Leave a comment

Real World DevOps | Jeff Geerling

via Real World DevOps | Jeff Geerling

you should spend more time thinking about real world DevOps tools: better process, better communication, and better relationships.

A great talk by Jeff about Real World DevOps.

Quote | Posted on by | Leave a comment