Skip to content
Computer monitor display HTML code

Semantic HTML

Semantic HTML is the process of using HTML5 tags to reinforce the meaning of the information contained within a webpage or application.
A leet hacker bypasses security. Probably.

WordPress forgotten password localhost hack

Forgotten the password to your local CMS? Can't email a password reset? Here's my tried-and-tested solution.
Thrash metal band Overkill performing live at Party.San Open Metal 2017

Your codez is overkill

We all love writing code - that's why we're doing this - but sometimes we can seriously over-engineer things.
Diverted Traffic

I am a lazy developer — How to write 438 lines of nginx redirects

I don't mean to imply that I cut corners and churn out shoddy code. I just hate doing repetitive tasks that bore the bejesus out of me.
Silver MacBook Pro on white table

You have a better laptop than your users

I have a decent laptop and I'm lucky enough to have a strong, reliable internet connection. Not everyone does.
8-bit Jason Voorhees

Formatting JSON.stringify()

I occasionally find myself dumping stringified JSON into a <pre/> tag in my markup. It inevitably looks horrible. Here's how to prettify your JSON.stringify() output.
Brown rope on grass

Generate a random alphanumeric string using JavaScript

Today I had to send an "ID" in the body of my POST request. It turns out that the API doesn't care what the value is - it just needs to be alphanumeric, exactly 18 characters long, and not already in the system.
pedestrian signage displaying wait

Wait!

Why the rush? Whether you're faking an API response, introducing deliberate cognitive drain, or simply want to slow things down this function has got you, baby!
people riding carousel during daytime

Quick and dirty carousel

AKA Move the first item in an array to the end repeatedly
A stack of VHS cassettes

Increase WordPress maximum upload limit in Docker

"filename exceeds the maximum upload size for this site" 🙄
A python

Quick and dirty server

Sometimes you just want to serve a static site without installing all kinds of stuff
A series of digits

Numberize a value

If you get a CSS value but you want to do maths with it, what do you do? Let's find out!
Blind man using a braille screen reader

Inclusive Design is more important than Accessibility

We tend to think of accessibility as being something we add to websites to help the disabled. This is a mindset we need to get out of.
Slot machines

Using slots in React

Having multiple almost identical components is just very bad and wrong - let's fix it properly!
A jumble of foam numbers

Human-readable Numbers

Convert a JavaScript number to a human-readable number the easy way.
A landscape of a lake between two hills

Pre- and Post- NPM Scripts

I'm not a fan of chaining together lots of commands and, it turns out, neither are NPM!
A hand-drawn example of a git flow

Alternatives to master

In an effort to remove unnecessary references to slavery and replace them with more inclusive terms, many companies are opting to replace the term `master` as their main git branch name.
Chain links

The semantics of interaction vs navigation

It is commonplace for designers to style both links and buttons to look like “buttons”. But just because something looks like a button, doesn’t mean it is a <button>.
A subway train waits in Torrent Avinguda Station, Valencia

Crafting the ideal line-length

How to achieve the ideal line length using css.
A error message in React console

Each child in a list should have a unique "key" prop

Fix this common React error without dependencies
Pile of smartphones

For modern development, “Desktop” and “Mobile” are not enough

Different devices have different capabilities, using mobile to describe both narrow screens and touch screens is confusing and leads to assumptions that come back to bite us.
A jumble of foam numbers

Gutenberg Components - "I only need one"

Gutenberg comes with an awful lot of default components most of which will never be used in our websites. Here's how to disable the ones you won't use.
An iPhone, Magic Mouse, iPad, Apple Watch, and a wireless Mac keyboard sit neatly on a desk.

The Applesphere is the actual worst for experience designers

The "Cinematic Experience" is a myth.
McDonald’s Sauce Dispenser is the greatest product ever

McDonald’s Sauce Dispenser is the greatest product ever

OK, that’s a bold statement! I guess I should elaborate. Like a lot of teenagers, I worked in a Maccies one summer and I was struck by how awesome the sauce dispenser was. Basically, it’s a funnel attached to a handle with a trigger. Pulling the trigger releases 5 dots of ketchup in a quincunx

“Stop Being a Douchebag”: Ego and the development crew

“Stop Being a Douchebag”: Ego and the development crew

At the end of my third year of high school, the lockers were cleared out and any unclaimed stuff was up for grabs. I inherited a copy of Use Your Illusion II on vinyl – only one of the two LPs (I still have it today) and I bloody loved it. I was 13 years

5 Reasons People Read Articles with Numbers in the Title

5 Reasons People Read Articles with Numbers in the Title

Using numbers in the title of a blog post is an excellent way of giving the (potential) reader an estimate of article length. 6 reasons… will take less time to read than 22 reasons… The nerds behind blogging platform Medium determined that the ideal blog post length is 7 minutes.

Why is a soap bubble round? Or: When and where to use square bubbles

Why is a soap bubble round? Or: When and where to use square bubbles

The laws of physics, those undeniable laws of the universe that we can’t help but abide by, make round soap bubbles. They make green grass and wet water and rainbows that can only be seen between 40 and 42 degrees. These are templates crafted over millennia that just simply work. Flippantly, websites are the same.

Micro-interactions to delight and annoy

Micro-interactions to delight and annoy

Can your UI harm your UX? Let’s find out…

The Build Triangle: Understanding Limitations

The Build Triangle: Understanding Limitations

In an ideal world, everything we build would be perfect – gorgeous code, on time, and under budget but most of us don’t live in a Disney utopia. Unfortunately, the real world chips away at our resolve and something has to give. Part of good stakeholder management is managing expectations and part of managing expectations

Can’t see the wood for the trees

Can’t see the wood for the trees

Long, long ago in a galaxy far, far away, websites ran the gamut from the bland to the Flash™-y and everyone wanted to make them better. Way back in them olden days, there were so many ways to improve the hideousness that some websites were, and so the web design industry flourished. Everyone clamoured for

MNMLSM: Simplify, simplify some more, then start simplifying

MNMLSM: Simplify, simplify some more, then start simplifying

Minimalism is an interesting thing – far from meaning as stark as possible, minimalism is the idea of removing anything unnecessary for base level functionality. Imagine a human face. Now remove all of the details you can until it still resembles a human face. If, for example, you took the eyes out and it looks

Backdoor Action: The Death of the Homepage?

Backdoor Action: The Death of the Homepage?

Google (other search engines are available) loves content. There’s a whole industry (or at least a facet of digital marketing) that has sprung up around Content Marketing that puts emphasis on copy-rich pages to draw consumers in. Content marketing is a strategic marketing approach focused on creating and distributing valuable, relevant, and consistent content to

The more you are of the moment, the quicker you are of the past

The more you are of the moment, the quicker you are of the past

Everyone who ever got that haircut in high school just wanted to be cool. Look back at photos of some of the decisions you made in the name of “fashion” and you’ll understand the title of this article. We’re talking about the downside of cutting-edge technology. Bleeding-edge tech is cool! As a self-confessed tech nerd,

Design Fatigue: When bored doesn’t mean boring

Design Fatigue: When bored doesn’t mean boring

Jakob’s Law states that visitors to your website spend most of their online time on other peoples websites. Who spends the most time on your website? – you do. Whether you’re the developer, designer, or MD, no-one spends as much time on your site as you think they do (or wish they would). This leads

Mobile-first is the future of web design

Mobile-first is the future of web design

One of the main issues I have come across in the last three years of building marketing emails is that mobile responsive versions of emails are treated as an after-thought. Often a highly talented designer draws up a beautiful desktop version and then it is left to the interactive developer to whittle away at the

Loading Invisible Visible Navigation Close Arrow Info Online Online