Words
All posts (103), mostly on tech and web topics.
-
Moving from Gatsby to Astro Picking up a new framework for (another) site rewrite
-
Advent of Code 2025, day 7: Dynamic programming Programming, but dynamically
-
LLMs: what are they actually good for? Let's look at their characteristics
-
Advent of Code 2025, day 3: Monotonic stacks Having fun with data structures
-
Iterators and lazy arrays Comparing the new lazy iterator approach with standard arrays functions
-
Procedural art with Rust Using Rust to create SVG art via CLI and web, inspired by Advent of Code.
-
Creating a chord diagram generator How I made a guitar chord generator app
-
Static file paths with Actix Host HTML and JS files
-
Use prebuilt rooms with Rust macros for more interesting procedural dungeons Use pre-designed rooms to generate more interesting dungeons.
-
Fixing an Adsense 'Valuable inventory No content' error How to fix Adsense's mysterious error
-
Moving to Gatsby (and Rust) Porting my site from Django to a static site with Rust for dynamic bits
-
Enable class properties in Gatsby Get fun things like arrow functions in classes.
-
Creating authentication middleware for Actix API Add an authentication middleware layer to Actix so routes can be automatically protected
-
Integrate Squidex with Gatsby, and join Graphql queries with foreign keys How we linked separate schemas together in Gatsby
-
Procedural level generation using Binary Space Partitioning in Rust Place rooms around a level using binary space partitions. Part 3.
-
Drawing tilemaps with Rust and Cairo Draw the procedurally-generated map. Part 2.
-
Procedural level generation with Rust Create a randomised dungeon-crawler map. Part 1.
-
Introducing Rust to our development workflow Creating a Webpack plugin with Rust.
-
Made With React Native interview Fun times with React Native.
-
Mock ES6 imports and dependencies for testing in Jest Mocking ES6 imports is really useful for being able to test modules.
-
Set up proxy on Android devices and Emulators Configure Android devices to connect to your local machine to test sites or apps.
-
Open iOS simulator to test a website Testing time
-
Access Docker sites from IE virtual machines How many versions of IE do you want?
-
Debug React Native Android code Link Android Studio to your React Native app.
-
Using async and await with React and Redux Waiting around
-
Vanilla JS equivalent of common jQuery functions Props, parents, classes and append equivalents.
-
Progressive web-app with Webpack and React Offline first
-
React context require contextType This space left empty
-
52 project ideas to learn a new programming language Make your own fun
-
Rust snippet - import crate in module Declare your externals
-
Making Get On With It, a Pomodoro and Tabata timer A React-based productivity app.
-
Proxy API calls for local development Proxy and redirect fun
-
Writing a basic JSON response web server in Rust using Iron Getting the metal out
-
Making the random number picker site Randomiser site write up
-
Detect clicks outside an element with React components Close popups
-
Using Adsense with React Update Google's code
-
Devlog - Design Decisions Runner devlog part 4
-
Building asciiPicture.com Create a text version of an image in your browser.
-
Improving React performance by optimising components Speeding up React
-
Getting to the bottom of a Rust bug Chasing bugs around
-
Upgrading a static site to use HTTP/2 Adding HTTP2 support to Nginx
-
Mocking ES6 imports for tests Testing can be fun too
-
Logging client Javascript errors Send your errors away
-
Creating React components with ES6 classes ES6: so hot right now
-
React Inline Styles All about style
-
Devlog - Shaders, sound and standalone Runner devlog part 3
-
Devlog - Powerups, particles, pictures Runner devlog part 2
-
Scale Phaser 2 games to fit screen Zoom! Enhance!
-
RGB to Hex colour converter Translate colour formats.
-
Squash git commits using rebase Rewrite history
-
Change address bar colour in Chrome on Android Colours in Chrome.
-
Building a runner game with Phaser.js Runner devlog part 1
-
Finding placeholder styles using the Shadow DOM Pseudo elements a-plenty
-
Lazy load Youtube videos Only load videos on click
-
Deploying Express NodeJS app to Webfaction using Git Use source control to ensure your deployed files are correct.
-
Pairs game released! Memory puzzle game
-
Changing pages with bookmarklets Run arbitrary code in your browser.
-
Vanilla Javascript alternative to jQuery's $(document).ready() You might not need jQuery
-
Using virtual machines to test sites in Internet Explorer IE is testing
-
Add, remove or toggle classes with vanilla Javascript You may not need jQuery.
-
Totally awesome Sass tips Getting sassy
-
Creating a Yeoman Generator Templating and boilerplate
-
Setting up SSL Fonts can be secure too
-
Building the Pollen Count site - a Node.js walkthrough Are you going to sneeze all day?
-
Check Yourself released! Get blood sugar reminders after meals.
-
Make an accordion using CSS animations Slidey CSS
-
Virtualbox Add shared folder from Windows host in Linux guest Computers in computers
-
View Sass line numbers in Chrome Dev Tools Sourcing maps
-
Procedural tilemap generator Using cellular automata to create a procedurally-generated tilemap.
-
Animate link underlines Animate all the things, all the time.
-
Glow highlight using CSS Shiny!
-
Built-in servers Quickly serve files
-
Using unicode characters in CSS before and after Making use of pseudo elements
-
1GAM Javascript Particle System Adding a bit of juice
-
Make circular images using CSS Round round baby right round.
-
Remote debugging Chrome on Android and iOS Safari Debugging over the phone
-
Remove cookies from a site with Chrome Not even a crumb
-
Responsive Design - Three case studies Mobile first?
-
Debug Javascript on Android Chrome debug tools can connect to Android web views.
-
Repeating commands in the terminal Repeat yourself easily
-
6 Tips for Chrome's Web Tools Making the most of your tools
-
1GAM February - Copycat Creating a 'Simon'-like game in a month.
-
Use Drupal's base URL in Javascript Move things around
-
1GAM January - Pew Pew One game a month game for Jan
-
Use Drupal's alias URLs Friendlier URLs
-
Enable dropdown styles in CKEditor Quick Drupal snippet
-
Compile one Sass file with Compass Find your Ruby config file.
-
Convert public:// url to a relative path in Drupal Reference relative files
-
Useful Javascript Books A small library
-
Parsing RSS feeds with jQuery Reading the web
-
Sublime Text 2 Setting up your IDE
-
Sort Your Life Out released! A lovely simple to-do app.
-
Android - Reduce lag when updating lists Speed up scrolling.
-
Android - allow apps on SD cards Update your manifest.
-
Open links in new tab Changing the target
-
Android naming conventions Reverse domain names.
-
Load external scripts with $.getScript() Load Javascript with Javascript
-
Sliding elements with jQuery Slip sliding away
-
Add snippets to Zen Coding in Notepad++ Zen coding can help you write code faster.
-
Display Flickr photos in Galleria plugin Showing off Flickr pics
-
Android - stretch to fill screen A single line to fill the screen