Latest Articles

Thoughts On VueJS

As many readers of this blog know, I have been quite actively involved in Aurelia for over two and a half years now, it’s actually almost three years. You could be forgiven for thinking that Aurelia is all I work with and while I do work with it a lot, I am not close minded. Before I worked with Aurelia, I was heavily into React. I will always have a soft spot for React, but its lack of opinion when it comes to things like routing and state management means you have to glue things together from numerous third parties until you have something that resembles a framework.

Keeping Your Kids Safe On Youtube

Recently I read a Medium article titled, Something is wrong on the internet in which the author delves into the weird and worrying world of directly targeted children’s content, usually using popular TV and movie characters from primarily Disney franchises. As a father of a two and a half year old, this article resonated with me greatly. My wife and I actually kept our child away from iPad’s and technology until he was 23 months old (so basically two). It wasn’t until we took a long trip to the UK to see relatives (22 hours, not including stop over waiting time) that we decided we needed to take something to keep him preoccupied.

Rocket League: Nintendo Switch Review

This has been one of the most anticipated games for me on the Nintendo Switch ever since the console was released. I own Rocket League already on PC and Playstation 4, and you would assume the hype would have been lost on me: nope. If you’re new to Rocket League or not familiar with it, it’s a physics heavy arena-based soccer game where you knock a soccer ball around with a car. There are two teams and the aim is to get as many goals as possible before the time runs out.

Karma and Sauce Launcher Issue (tests timing out/not running on Sauce Labs)

This is a bug I recently encountered with Karma and the Karma Sauce Launcher plugin. It plagued me for a week, finally I worked out the issue and I had to share the solution incase anyone else encountered the same thing. The issue I encountered was none of the SauceLabs tests would run. It would say it was spinning up a remote browser on SauceLabs, but no proxy was being created and eventually everything would just time out.

How To Convert FormData To JSON Object

Recently, whilst working on a project I needed to take HTML FormData and then convert it to JSON to be sent off to an API. By default the FormData object does not work in the way you would want it to for JSON. Using the for..of syntax introduced in ECMAScript 2015, we can access the form data entries and iterate over them to get key and value pairs. This will be the verbose solution, scroll to the bottom to get the cleaner solution using .reduce below.

The Decline of Medium.com

I still fondly remember when Medium first hit the scene. Everyone loved the quality of the writing and variety, every article I read was seemingly well-written and of high quality. Fast forward to 2017 and Medium has become the equivalent of a never-ending TED Talk. Everyone wants to improve my life and tell me how to be a better person. The good articles are still there, but there is a serious imbalance of content going on, with the “X things you need to do for a better life” or “How to be a better X”

How To Change/Overwrite Colours In Bootstrap 4

Well, this one just stung me and a client after migrating from Bootstrap v3 over to v4 in a project. In Bootstrap of yesteryear, you overrode colours using separately named variables like $brand-primary if you’re new to v4, you’ll probably try and use variables like these and discover they do nothing. In Bootstrap v4 colours have been moved into a Sass map. This means separate variables for colours no longer exist. The theme colours are now defined inside of Bootstrap’s variables file here which is a map of colours using similar names from v3.

Webpack Support Lands In Aurelia CLI

I have been waiting for this day to come for a long time now: the Aurelia CLI now supports scaffolding Webpack applications from scratch. My biggest gripe with the skeletons the Aurelia team provide is they have a lot of stuff in them I have to remove for every new project. Admittedly, the skeletons serve to showcase how a functional Aurelia application could look like — but make a lot of assumptions on things like using a router or Fetch to make HTTP requests.

Seo.fit: SEO analysis

For a while I’ve had a great domain name just lying around and it dawned on me what it could be a while ago, so I decided to use seo.fit for a SEO analysis tool that gives you SEO information about a domain and improvements. The purpose seemed fitting for the domain. It’s not an original idea because there are tonnes of these sites around and admittedly, it didn’t take hardly any effort but it’s a step in the right direction for me by actually following through on my side project ideas and launching them.

How To Alias Cloud Functions In Firebase

Firebase Cloud Functions are fantastic, but the URL that you get to run them isn’t so nice. You’ll get given a URL that looks like the following when you create some cloud functions: https://us-central1-demoapp.cloudfunctions.net/functionName If you are wanting to use Firebase to build an API for your application for example (like I wanted to), then you would probably prefer your URL looks like this: https://myapp.com/functionName Fortunately, you can. The only downside is you have to use Firebase hosting if you want to be able to alias your functions to your name. If you’re self-hosting your own site somewhere else and using Firebase, then you can’t alias cloud functions.