Fergus In London

The musings of a man with a keyboard and an internet connection.

Mental Health Awareness Week: A chance to share.

2018-05-15 7 min read Fergus
I recently logged in to Twitter for the first time in 10 weeks, and in a weird twist of fate I saw “#MentalHealthAwarenessWeek” trending; this has prompted me to finally post something that’s been sitting in my drafts for a couple of weeks. If this helps just one person realise that help is available, and that things can improve, then it will have been worth it. Beware though, this may be a long one, and it’s also a bit of a tough one. Continue reading

Utilising the Docker Engine API

2018-04-29 3 min read Fergus
Docker has cemented itself as a mainstream technology, not only for the development and deployment of web services, but also the isolation of Linux applications that need to be ran in a controlled or sandboxed environment. Whilst the docker CLI is brilliant, it can be difficult to expose this to custom utilities, or to present it’s output in a user friendly way - such as the way that Docker Swarm Visualizer does. Continue reading

Add some style to your code

2018-04-25 3 min read Fergus
If there’s one thing developers are renowned for, it’s arguing over the style of their code. The drama inspired by topics such as “tabs or spaces” or “should brackets go on their own line?” is second only to that timless classic of a question - “vim or emacs?”. Beyond the message board arguments and the workplace debates, there exists a very real issue though: write in a poor style and it becomes difficult to read and understand, whilst writing in an inconsistent style simply looks lazy and rushed. Continue reading

Having a spring clean, and "washing" my Github account

2018-04-18 5 min read Fergus
I’ve been “active” on Github for about 5 years; and whilst that doesn’t mean I’ve been commiting code daily, nor have I been using their more social features, it does mean I’ve built up quite the collection of.. well, pretty awkward and embarassing code. Over the past couple of months I’ve tried to streamline a lot of my online presence: I have this blog for technical topics, whilst I have musings. Continue reading

Finding Balance in the Quest for Privacy

2018-04-16 3 min read Fergus
Privacy is incredibly important to me. It’s what stops bad guys from being able to commit identity fraud. It’s what stops dictatorships from eliminating dissent, and allows whistleblowers to stand against corruption. It’s the concept that allows people to live a life free of persecution for their religions, their sexualities, or even their literary preferences. Alas, there’s a murkier side to privacy; the side that allows the bad guys to do their thing, the one that covers up horrific abuses, and cloaks abhorrent plots to disrupt, kill and maim. Continue reading

Stop with the one function Javascript "libraries", please.

2018-04-12 4 min read Fergus
I get it: you need some CV-filler. The job market is competitive, and getting your name out there is important, but can you not do it by publishing 5 line npm modules, please? You’re actively harming the Javascript ecosystem. Enter the Reddit discussion “When a modulus call is published as a NodeJS package with millions of downloads a day”, and the story of one particular character who has published a number of one-function NPM modules. Continue reading

When "Design Patterns" become "Anti-patterns"

2018-04-07 4 min read Fergus
As a software engineer, learning about design patterns was a kind of “Eureka” moment. It was the moment where I finally began to look at architectural issues, and how to structure a piece of software. I began to think of software as more of a mechanical system, one where different entities and objects could be thought of as cogs, each interacting with eachother to perform a larger task - i. Continue reading

The Rise of the Function-As-A-Service

2018-04-03 4 min read Fergus
“Functions as a Service” are becoming quite a common component in complex web services; they allow energy conservation - and thus cost reduction - via only utilising resources when required. The daddy of FaaS providers is AWS Lambda, as it ties nicely in to other AWS services like the AWS API Gateway, SQS and S3. There are other providers though, such as Google’s Cloud Functions or Microsoft’s Azure Functions. Continue reading

Scaffoldr: Automation for new projects

2018-04-01 2 min read Fergus
Software Development is an industry built upon the concept of libraries - reusable packages of source code aimed at providing specific functionality, and frameworks - scaffolding and utilities to increase productivity via the convenience and speed. Therefore it’s fair to say that most software projects begin with the tedious task of configuring frameworks and installing libraries. For a web application that may mean installing your favourite framework, editing some configuration files, and creating the same user and authentication boilerplate. Continue reading

Yes, you can invalidate JSON Web Tokens (JWT).

2018-04-01 6 min read Fergus
JSON Web Tokens are great: they have a well-defined schema, and are simple to implement both as a provider and an integrator. This simplicity has side effects though, and often leads to limitations. For instance; can you invalidate/revoke a token, or “log a user out”? Client side logout - i.e “ditch the token” - is not a solution; rather than actually invalidating the token, this simply loses it - often via purging it from local storage. Continue reading
Older posts Newer posts