Click Technology

Linux, Windows, Mac it's all good

Fallacies of distributed computing


This is something I’ve always know about in the back of my mind when planning systems.  Chaining critical path dependencies can be problematic if there’s a fault somewhere and, if it can go wrong at exactly the wrong time, it probably will.  I’m always a fan of having a Plan B because there’s no better feeling than being able to jettison a work stream and move to a more direct approach.

Funny enough, I wandered right into this concept just now and thought I’d post something about it because it has actually been essentially postulated already.  Ladies and gentlemen, I present to you, the “Fallacies of distributed computing“.

They are…

  • The network is reliable
  • Latency is zero
  • Bandwidth is infinite
  • The network is secure
  • Topology doesn’t change
  • There is one administrator
  • Transport cost is zero
  • The network is homogeneous

In many ways, the wider concept is that, as humans, our understanding of pretty much everything is wrong.  Why?  Well, nobody can have 100% of the information on a subject matter at any one time, whether that’s prices, markets, commodities, people or their intentions.  As any part of that information could prove critical, it’s absence means you are de facto misinformed.

You’re potentially the victim of misinformation depending on what you then do based on the (mis)information given.

I think this is the reason I’ve always been a fan of working with what I would call conscientious objectors in a team.  People who will always argue the contrarian point.  It’s a klaxon that can help people wake from their tendency to group-think and over-comply.  Getting something done is not just always about repeating what we did the last time.  Great as a template, sure, but this time around?  As any environment changes, real-world or digital, so too do the possible new tools available, newer methods, better people, and the realisation that our thinking has been way too small from the start.

So, bottom line?  It pays to remind yourself how little you know.

posted under General | Comments Off on Fallacies of distributed computing

Publish localhost website to the internet..


Need to show somebody your development website you’re running on localhost your desktop?

You could push the project to AWS/Digital Ocean or some other hoster etc and start it and that’s cool, but what about a one-liner to just allow the site to be seen by a colleague on the internet?

ngrok has now entered the chat.

How to use?

Log in with your github account or create an account.

Download the Linux client. Unzip the client to /usr/local/bin and mark it executable.

sudo chmod +x /usr/local/bin/ngrok

Now click the ‘Getting started / Your AuthToken’ menu on the ngrok website and run the authtoken commandline which looks something like this..

$ ngrok authtoken 1zdxnDpvAvPpqWrpNL6zIazyzIrQQWhqfKNRbF48bW123

OK, now you’re ready. Start your localhost website, e.g.

$ ./node_modules/.bin/vue-cli-service serve &

Now publish the site..

$ ngrok http 8080

If the site fails to publish because header is bad, just use the -host-header option, like this..

$ ngrok http 8080 -host-header="localhost:8080"

Once started you get the output below and you can copy and paste the URL to your messaging app / Skype / FB Chat etc., and voila.


ngrok by @inconshreveable (Ctrl+C to quit)

Session Status online
Account clicktechnology (Plan: Free)
Version 2.3.40
Region United States (us)
Web Interface
Forwarding -> http://localhost:8080
Forwarding -> http://localhost:8080

Now message the URL to your Slack / MM whatever and watch people connect to your site.


Nice, huh?


posted under Linux Tips | Comments Off on Publish localhost website to the internet..

Long story short


I was trying to configure a FreeRADIUS server and, as is the tendency in Linux, devs confuse documentation for configuration. I’d much prefer a .conf file without the entire documentation embedded in it.. I’d rather a README in the root, a /docs or a man file instead.

Anyhoo, how to remove all the garbage and just get the .conf file commands only?

$ sed '/^$/d; /#/d' radiusd.conf.original > radiusd.conf

This removes all blank lines and all lines beginning with ‘#’ and now you have a nice compact .conf file. File goes from ~27k to 1.3k.

Leonardo Di Caprio in "The wolf of Wall Street"


posted under Linux Tips | Comments Off on Long story short

Tip of the month, easily!


So, I’m sitting there trying to install a python module with pip and the package keeps erroring, saying the package has a problem on line X of file y in some-package-3.4.1.tar.gz.

Ugh! Must I really de-tar/zip this and crawl through it and edit the code and then retar/zip the code and so on?


Not with vim.

You just go…

$ vim some-package-3.4.1.tar.gz

vim then unzips and untars the file and shows it as a directory listing. You arrow-down the list, pick the file you want, hit return and it opens the file ready to edit. Noice!

When finished, all you do is, as normal, just go :wq and it saves the file and shows the list of files in the tar archive again. :wq again and vim re-tars and re-compresses the file, ready to use. On a scale of 1-10, that is clearly an 11.

posted under Linux Tips | Comments Off on Tip of the month, easily!

A plus for email..


So, you followed that tutorial about how to setup postfix with SA and clamd, right?  OP?
Here’s a handy tip.

Imagine the scenario.. you’re online and a site wants your email address to email you something. You don’t want to really give your address because it’s possible the data will be sold or passed on. Wat do?

Append a plus (“+”) sign and any combination of words or numbers after your email address.

For example, if your email address is, and you book tickets on say, a travel website, enter your email address as You will receive your email/tickets etc. as usual, but now you can filter it and also, more importantly, see where spamming mail has come from if you suddenly get unrelated mail with the same target address. Noice.

posted under Linux Tips | Comments Off on A plus for email..

Old tech. New tech


Men landed on the moon 48 years ago. The technology is still stunning. I still find it incredible that all this was achieved with computing power you would easily find in a contemporary washing machine, toaster or a digital watch; indeed, the microprocessors or microcontrollers in such equipment have far more power and cost anywhere up to $2 a piece.

With that in mind, here’s some superbly immersive websites that sync all the video and audio as well as stills of the lunar landings.

This is the complete landing sequence of Apollo 11 with audio and visual synced. Superb.

This is a continuous loop of of Apollo 17 from launch to life on the lunar surface with photos and video. Again, superb.

And then fast forward to today. Space-X is launching rockets that dump the payload into orbit and then the fist stage rocket section falls back to earth and lands vertically on the landing pad, ready for repair and re-use. Off. The. Hook.

“The Falcon has landed” | Recap of Falcon 9 launch and landing

Longer sequence of events

Pretty sick.

posted under General | Comments Off on Old tech. New tech
« Older Entries

This is my website for short blog posts and interesting materials that are noteworthy or have some handy-tip value.