The greatest trap of optimising web application performance is failing to understand the limitations of the tools we use to measure it, and the type of performance we’re trying to extract. These are far less objective decisions than most would like to believe and don’t naturally lead to the same outcome.

Consider the performance needs a content-driven website, like a site that delivers news content, a wiki, or maybe a basic ecommerce offering will require. Mostly, they’ll feel performant if they load fast. So how can we make a site load fast? Well, we can;

  1. Send less bytes over the…

Javascript web frameworks like React.js and Vue.js have made the building of dynamic web applications easier than ever, but deployment steps often leave newer developers scratching their heads. While there are lots of valid ways to go about deployment for simple applications, my issue with many of these approaches is that they obscure what’s actually being done, and thus beginners can tend get stuck customising or changing their configurations later on.

Personally I’ve really come to like the flexibility and out-of-the-box functionality provided by plain old GitHub Pages. …

Hey Jude, go make it bad
Take a sad song, don’t make it better
Remember don’t let her into your heart
Then you won’t start to make it better

Hey Jude, go be afraid
You weren’t made to go out and get her
The minute you let her under your skin
Then you’ll never start to make it better

And anytime you feel the pain, hey Jude, refrain
Go carry the world upon your shoulders
For well you know that it’s not a fool who plays it cool
By making his world a little colder
Yeah yeah yeah yeah yeah yeah yeah yeah yeah…

Vue.js + some basic javascript, html and css. live here:

A simple, but largely finished product.

If you’ve ever used GitHub, you’re likely to have used its text editor. Maybe you cooked up a simple gist, or perhaps you made a simple change to an existing commit — or maybe that’s how you write all your code.

What’s interesting about the editor, and for the matter editors like CodePen, Ideone, and similar is that they have to resolve how they’re going to deal with things like syntax highlighting, various forms of markup, selections, spacing, all sorts of issues, because the basic `<textarea>` html tag is very limited.

See for yourself. Click on most sites which allow…

Well, hello!

So I understand you’re looking to make a website? Well, great. It’s super easy, it’s just a sprinkle of HTML, CSS, and JS and you’re done!

Well sort of.. you must realise that these are really only the basic tools. And only scrubs code directly with vanilla CSS and JS. You’d be far better suited with less.js or postcss.js, or SCSS. No? Fair, but you’d be crazy not to use a frontend framework! React.js or Angular.js perhaps? Facebook and Google built them and they’re so fancy and flash, and they’ll make things soooo much smother. Or something else…

Why the building blocks of the web remain the core drivers of success in the modern web

The modern web is a daunting place for the novice. Gone are the days when good ole’ HTML, CSS and PHP would get you by. This is the era of progressive web applications, there’s a whole industry spawned called frontend engineering, security has become a thing, and browsers have become infinitely more capable and powerful — and that aint even the half of it. There’s a lot more to learn that there ever has been, and there are hundreds and thousands of truly excellent places to learn from. …


My journey properly wading into the web.

There’s an old meme that surfaced on my facebook feed (above) not so long ago that basically sums up how (many) people perceive web development. It’s funny in that it probably should be (and who knows — maybe someday will) just that easy.

Part of this cognitive dissonance stems, I think, from the programs we’re used to and have grown up on. We’ve all used a program like Microsoft Word, or Google Docs — formatting and markup is made pretty simple — so we’re led — quite intuitively to think the web should be the same. …

How I made Tank Hunter, a simple desktop HTML Canvas game.

Preface: I began this with very basic html, and css knowledge and a vague understanding of javascript.

Why do I like tanks? I have NFI, but I do and when I needed an idea to make a game just before the second year uni-break, I thought the idea of a tank game would be pretty friggin’ fun.

Overall the project took me a little under two weeks. I wasn’t working on it everyday, but it was a nice procrastination tool during the end of my exam period.

I had a basic idea of what I wanted to do but it…


A deck of cards for a game had a lot of student’s scratching their head — even when the appropriate data structures had been drilled into them for the previous few weeks. The problem here was connecting the dots. There are many correct possible ideas here, and that in itself is intimidating for newcomers.

What does a deck need to do?

  • An abstracted deck should hold a number of cards.
  • It should be simple to add and remove cards from the deck
  • It can hold order, but doesn’t have to. That is; order isn’t guaranteed.
  • The size is going to be dynamic and often changing (HINT: Don’t use an array).

Possible implementations:

There are tradeoffs with all of the above.

I’ve been using Atlassian’s git repository software ‘BitBucket’ for quite some time but have only recently started experimenting with their pipelines feature, and it’s pretty damn impressive.

tl;dr Pipelines are not just novelty, they’re free*, and allow for some pretty cool functionality to do with your software’s build status. You should give ’em a try.

Long version

If you’re a git power user, you might have already experimented with git-hooks. For those that don’t know, git-hooks allow you to insert scripts into the base git command workflow. …

Al Hinds

Write about all sorts of stuff. Dev. Sport. Life.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store