10th January 2025
/upcoming.json
Showing posts from the category "all"
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
10th January 2025
Straight-forward config for beginning PHP debugging in VS Code and DDEV
7th January 2025
Whether it be a mounted drive or just a local filesystem - how do you store your global runner caches locally?
23rd December 2024
A Christmas quiz for (nearly) all ages
5th December 2024
Recently the upload speed on my MacOS devices suddenly dropped - debugging was a nightmare
14th November 2024
During development or pre-launch, you may be faced with a ERR_CERT_INVALID - how do you bypass it?
14th November 2024
During development or pre-launch, you may be faced with a ERR_CERT_INVALID - how do you bypass it?
4th October 2024
How to create Google Docs from a single Google Spreadsheet with variables for mail-merge style creation.
23rd September 2024
I was experiencing a failing Docker push with one layer constantly timing out and retrying
12th August 2024
My thoughts about TYPO3 Developer Days 2024
3rd August 2024
T3DD in Karlsruhe, Germany - day 3. Points of interest and tidbits
2nd August 2024
Day two of T3DD in Karlsruhe, Germany - notes, points and useful links
1st August 2024
Notes, bullet points and links from the first day of T3DD in Karlsruhe, Germany
19th July 2024
9th May 2024
8th May 2024
Using your existing testing framework to run unit tests
17th April 2024
28th March 2024
There may be times where you only want to install the devDependencies listed in your package.json file
27th March 2024
Set up Bearer to scan for vulnerabilities in your code, available for use with the free tier
19th March 2024
Learn how to validate a JSON API with Playwright
10th March 2024
6th March 2024
28th February 2024
28th February 2024
13th February 2024
12th February 2024
Playwright can help you test the front-end of your website in real browsers. This post walks through using our meta-framework and includes tips and tricks
11th February 2024
9th February 2024
I set up a self-hosted read-only archive of my tweets
7th February 2024
7th February 2024
4th February 2024
4th February 2024
4th February 2024
4th February 2024
4th February 2024
4th February 2024
4th February 2024
4th February 2024
4th February 2024
4th February 2024
4th February 2024
This post runs through the composer conventions and best practices we use for our TYPO3 based websites
30th January 2024
30th January 2024
24th January 2024
24th January 2024
23rd January 2024
15th January 2024
12th January 2024
31st December 2023
2023 had more miles and physical activities (including puzzles), but I struggled to get into side-projects & Geocaching
14th December 2023
An overview on some meta-packages I've created to speed up deployment of some tools
5th December 2023
29th November 2023
Access the contents of an iframe including any JavaScript variables set
23rd November 2023
Using Puppeteer, login to a website and store the cookies for use with another session or script
20th October 2023
3rd October 2023
Learn how to get your Pocket Casts data using PHP and the undocumented API
2nd October 2023
1st October 2023
1st October 2023
A post outlining our process and workflow for releasing packages and extensions
28th September 2023
23rd September 2023
17th September 2023
7th September 2023
How you build a Docker image with Github actions and push to the Github Package registry
21st August 2023
19th August 2023
10th August 2023
What's the difference between a ternary and null coalescing operators? Do they give different results?
6th August 2023
Using multi-stage Docker builds you can create incremental images allowing you to keep the ones you need small
3rd August 2023
Using environment variables you can install private composer packages in Gitlab CI and pass them through to Deployer
22nd July 2023
16th July 2023
Appointments help us arrange meetings with other staff members without forcing them to context switch.
12th July 2023
Using Alpine, you can build a lightweight Docker image which contains all the tech you need to deploy your LAMP stack
28th June 2023
22nd June 2023
20th June 2023
17th June 2023
17th June 2023
16th June 2023
13th May 2023
We keep a file in our package repositories which creates the CHANGELOG with each release
9th May 2023
9th May 2023
Running an npm install can be known to modify the lock file, but you can set some options to stop that
6th May 2023
Twitter has gone down the drain and, with it, the sense of community I used to have
5th May 2023
4th May 2023
26th April 2023
24th April 2023
11th April 2023
10th April 2023
9th April 2023
6th April 2023
5th April 2023
3rd April 2023
3rd April 2023
24th March 2023
24th March 2023
Posting a customised message to Slack via a bash script
22nd March 2023
16th March 2023
Using Advanced search in Gitlab premium requires an Elasticsearch server setting up
11th March 2023
How to migrate your packages from using the remote object store back to using the Gitlab server
5th March 2023
Work out which commit introducted a bug with Git Bisect
2nd March 2023
1st March 2023
Deploying an image to a remote Docker registry can be achieved with Gitlab CI
27th February 2023
22nd February 2023
Short of deleting the repo and cloning again, sometimes you need to reset your repository back to how it should be
19th February 2023
Writing evergreen content is the golden egg, but it's not as easy as one might think
16th February 2023
I tried to generate OG images during build and it ended up taking a long time
15th February 2023
7th February 2023
As a starting point with the server tool debugging, this blog post explores htop and setting up a server status page with Apache
6th February 2023
6th February 2023
1st February 2023
31st January 2023
31st January 2023
30th January 2023
29th January 2023
29th January 2023
26th January 2023
26th January 2023
24th January 2023
23rd January 2023
23rd January 2023
22nd January 2023
19th January 2023
19th January 2023
18th January 2023
17th January 2023
Spotify is vast, but I miss the stack of CDs adorning my walls
16th January 2023
16th January 2023
15th January 2023
14th January 2023
14th January 2023
14th January 2023
14th January 2023
Looking for a NetlifyCMS alternative to commit changes to the same repo, I stumbled upon TinaCMS
13th January 2023
13th January 2023
13th January 2023
12th January 2023
12th January 2023
12th January 2023
12th January 2023
11th January 2023
5th January 2023
Let code be code and your content be content. Don't get tied into a single system for hosting your site
31st December 2022
2022 saw bikes and side-projects increase, while blog posts & instagram declined
10th December 2022
Using the HTMLRewriter and Cloudflare workers, you can turn any webpage into a JSON endpoint
19th November 2022
Make sure you keep your branches tidy by deleting old ones
17th November 2022
Gitlab can utilise MinIO (S3 replacement) for caching built images, packages, uploads and for runner caches
11th November 2022
Gitlab can host your Docker images with the container registry, this blog post walks through building and pushing your image
20th October 2022
Written For Liquid Light
This blog post walks through creating, selecting and using Backend Layouts in TYPO3.
17th October 2022
25th September 2022
Use a Netlify function to return a Zip file using jszip
22nd September 2022
Adding categories/prefixes to your merge request comments help the author identify and compartmentalise comments and feedback
27th August 2022
Committing to a Gitlab repository programmatically, can be achieved with a NPM package and a few lines of Javascript
16th August 2022
Gone are the times where you would get a film in the post - how do we remove choice paralysis and actually watch a film?
29th July 2022
Learn to add Netlify CMS to an existing 11ty site to make editing your posts easier
22nd July 2022
NPM and Composer have different syntax for version constraints which tripped me up recently
10th June 2022
This blog has been running on 11ty for 2 years. With version 1.0 being released at the beginning of 2022, I thought it about time I upgraded
8th June 2022
I reduced our Gitlab CI powered Docker build by 80% - taking it more than 15 minutes to around 3 minutes to build and push with these steps
30th May 2022
Sharing configuration for a documentation framework keeps a lot of noise out of your project repository. This blog explains how we use a Docker image to reduce the friction in writing and displaying documentation
20th May 2022
What steps do I go through when setting up a new computer?
13th May 2022
This post covers several main types of custom composer repositories and how to use them
7th May 2022
11th February 2022
During the build of a Docker image you may need to step through several stages. Using a multi-build helps keep the end result smaller in size.
9th February 2022
31st December 2021
2021 was the year everything just carried on being a bit rubbish in the world. There were, however, some excellent highlights in the year
11th December 2021
You may wish to use your own private registry when building Docker images in a Gitlab CI pipeline - this blog shows how to access your private registry
21st October 2021
Written For Liquid Light
Environment variables are a great way of keeping sensitive information, such as passwords and API keys out of your project and git repository. Thos blog walks through setting them up with TYPO3
18th October 2021
15th September 2021
When developing with Composer, you may wish to create private packages and host them with Gitlab
23rd August 2021
Using the Cloudinary Node SDK, we can upload an image in a Javascript application - such as a Netlify function
22nd August 2021
9th August 2021
Sometimes you want to git clone a repository without needing the full log. Not only does this save space it speeds up the clone too
26th July 2021
RSS is XML with a specification, however not all RSS feeds follow the spec. In this post, we process the feed as an XML document meaning we can access the extra attributes and values
12th July 2021
Using 11ty global data files, we create an 11ty collection from an RSS feed. As an example, we show the latest YouTube videos on our website
28th June 2021
Written For Liquid Light
The web industry thrives on “the big reveal” of new designs and websites but we don't believe that should ever be the case.
28th June 2021
Using 11ty Global data files, you can make collections from JSON APIs, allowing you to make whole websites from one endpoint
21st June 2021
Rather than client-side user authentication, this blog post works through how to catch a user authentication error with Nuxt
31st May 2021
I rebuilt my beer review website using a JSON API and 11ty. This is a rundown of how I tackled it
17th May 2021
11ty filters can exist as JS functions inside the declared filters directory - these can be accessed by other files not processed by 11ty
3rd May 2021
This quick block post shows how to upload an image to Cloudinary using PHP, using their provided SDK
19th April 2021
There are plenty of ways to get your 11ty site live depending on preferences and skill set, this blog walks through a few of the popular ones including Gitlab pages, Vercel, Netlify and Cloudflare pages
15th April 2021
Written For Liquid Light
With version 9, TYPO3 introduced a native redirects module - not only does it give you a place to centrally manage your redirects, it gracefully handles page renaming
15th April 2021
I published an NPN package the other day which contains some everyday 11ty utils
12th April 2021
List all of your posts (or other collection items) in a calendar/diary format to give a timeline of your past
11th April 2021
6th April 2021
Since 2021, I have stuck to a writing schedule - not only has it helped write more posts, it prevents the flurry of inactivity
5th April 2021
Learn how to schedule blog posts and other items to go live with your static site generator without having to rebuild the whole site. Get all the benefits of a dynamic CSS with static files
2nd April 2021
What is a side project, if not a safe place to get imposter syndrome?
23rd March 2021
22nd March 2021
PHP Deployer is a great little utility for deploying your PHP app via command line. It doesn't force you to use any specific tech stack and simplifies the process of getting your app live.
11th March 2021
8th March 2021
I recently migrated our Gitlab server install from one server to another. With the help of a few tutorials it was fairly painless, however I thought I would outline the steps here
23rd February 2021
22nd February 2021
I have recently made a side project called "Socket RSS". The idea is it becomes a place for Gleefreshing, not Doomscrolling.
15th February 2021
Laravel Mix is a great asset compiler from the creators of Laravel - but you don't have to be using their framework to benefit from it. This blog walks through setting it up to run with 11ty.
1st February 2021
Despite the name, Laravel Mix isn't just for Laravel. It is a tidy, succinct task runner with understandable syntax and a single config file. This tutorial will run through setting it up with your project
18th January 2021
In this post we are going to set up a custom domain in Netlify using Cloudflare. We will also install a self signed Cloudflare certificate on Netlify to ensure end-to-end encryption.
14th January 2021
Delegation is hard for people who find themselves in management roles. The trick is to be the overflow, not the gatekeeper.
31st December 2020
2020 brought the first pandemic of my lifetime, but plenty of good things too
20th November 2020
Written For Liquid Light
Servers power the internet and have done since the creation of it. All the websites in the world run on servers (with varying levels of web interfaces & logins). So what are they, how do they work and what do Liquid Light typically use?
7th October 2020
I spent the week converting Behind the Source from Craft to Eleventy (a static site generator). Will I use it again?
5th October 2020
Walking through setting up Homebrew on your Mac, so you can install NPM and Eleventy.
24th September 2020
16th September 2020
15th September 2020
I am currently in the midst of developing a new side-project and wanted to use the same class as a base for two separate elements of the project.
8th September 2020
git clone --bare --mirror [path] du -h [folder] 10 largest commits ` git verify-pack -v objects/pack/[file].idx | sort -k 3 -n | tail -10 ` `git rev-list --objects --all | grep [hash]` - find ...
22nd July 2020
Part 2 of the Slack status updater with Netlify. This walks through using dotenv and locking the function down to "local" use. There is also a crude UI that has been made
20th July 2020
So I'm a bit of a dinosaur when it comes to web stacks - I'm all about LAMP (Linux, Apache, MySQL, PHP). I had an idea for a small little web app and thought it would be the perfect opportunity to give Netlify a go.
7th July 2020
5th July 2020
It seems I have been doing a lot of command line work on Debian with MySQL recently and have been having to search the internet (or my bash history) every time I need to do something. Here is a collection of commands I have been using
8th June 2020
pi@raspberrypi:~ $ ip a 1: lo: mtu 65536 qdisc noqueue state UNKNOWN group default qlen 1000 link/loopback 00:00:00:00:00:00 brd 00:00:00:00:00:00 inet 127.0.0.1/8 scope host lo valid_lft forever preferred_lft forever inet6 ::1/128 scope host valid_...
6th June 2020
28th May 2020
The magic 40 character string that is attached to every commit you do. What is it, where does it come from and will understanding it help you with Git in the future?
18th May 2020
1st May 2020
20th April 2020
This blog post walks through generating an SSL certificate with `certbot` from Let's Encrypt, specifically, when your DNS is with Cloudflare. For those on Cloudflare wondering why you would want ...
20th April 2020
Written For Liquid Light
Cloudflare is a service which, among other things, provides a CDN (Content Delivery Network), firewall, and performance layer for your website. It has plenty of paid upgrades and features and ...
19th April 2020
19th April 2020
Cloudflare has a few different options when it comes to selecting which TLS/SSL mode you should choose?
16th April 2020
I set up Tiny Tiny RSS as a self-hosted feed reader, but it wasn't clear how get the application to fetch RSS feeds in the background. This blog post gives a walkthrough
15th April 2020
For regular readers, you will notice a fresh new face on the old dog (my first blog post that made the many migrations was from 2009!).
10th April 2020
5th March 2020
An example of how to use Cloudflare Workers to set a cookie on your page without modifying code on your server. This Worker can set a cookie based on either a GET parameter in the URL or a particular file path
26th February 2020
Serverless & Cloudflare workers have been cropping up a lot recently. I try to organise my thoughts into what they are and how you can use them
31st December 2019
2019 was a strange year, new kitchen, bathroom car and bike. But overall it was good. I enjoyed it.
10th December 2019
Written For Liquid Light
As a developer, dealing with designers and their creations can sometimes be challenging. At Liquid Light we've honed our process to ensure minimum friction between both developers and designers.
13th November 2019
11th November 2019
Written For Liquid Light
All too often you hear about people losing their phones and, along with it, their data. This blog post explores how you can become "device agnostic", freeing the tether between your device and your memories.
22nd August 2019
I've always been keen to discover new newsletters and have always kept my eye out for recommendations. I decided to collate these recommendations and build a directory.
31st July 2019
I read "The Real Dark Web", a blog post from @whalecoiner and within a few paragraphs it really hit home. There are a few noisy web developers who are innovating, ...
20th June 2019
To save me Googling, I have collated all the user-related commands I often use - particularly useful when setting up a new VM!
20th June 2019
Xen is a basic but powerful package for linux which allows you to create virtual machines, A rival to Vagrant, Xen has less configuration (but is potentially less "agile")
3rd May 2019
Using a Share This plugin (or similar) or the native sharing widgets from social networks can really bloat your page and look ugly. This code is how we, at Liquid Light, implement social sharing widgets
20th April 2019
Fetch is a fantastic JavaScript function which allows you to natively get and post data from the browser. This post includes some examples of how to use it.
28th March 2019
Written For Liquid Light
When you've been working on a project for a while, you might find you have a few stale branches hanging around. At Liquid Light we have a git hook which tidies up after a merge
14th February 2019
Docker allows you to host websites locally, which allows you can develop them within an environment which can be an exact replica of the live one. This blog post explores my first experience with Docker.
4th February 2019
Newsletters that I, as a front-end developer, have found extremely useful and insightful. This is a new list compared to the original from 2016!
31st December 2018
2018 was a big year for me, in all sorts of ways. This blog post summarises one of the most life-changing years of my life.
17th November 2018
I recently sold my Xbox One S and bout a PlayStation 4 Pro. Why did I do this and what are the differences? This post outlines my thoughts from an "everyday consumer".
18th October 2018
Written For Liquid Light
Lumen is a micro-framework from the creators of Laravel. Using Laravel methodology, Lumen offers a leaner, cut-down version of the framework. By including less code, Lumen is able to offer ...
18th October 2018
The table below details what I've been listening to, what I am listening to, or albums I've discovered. There is no shame in this list
13th August 2018
I've had a few questions regarding what apps I use with which themes and settings. This is an up-to-date blog post with the answers.
7th August 2018
Sounds confusing, but there is a use-case, honest! Imagine you have an array with a set number of items in and you wanted to filter another array of objects based on that in your JavaScript. The post explains more!
16th April 2018
Progress of a bike build
19th March 2018
Written For Liquid Light
At the beginning of this month, Google announced they were rolling out Hangouts Chat to all users of Google Suite over a week or so. Our suite was finally updated ...
12th March 2018
I've recently moved all of my git repositories to Gitlab, this blog post walks through a script I have written to clone all of my repositories locally as a backup.
8th March 2018
Written For Liquid Light
In 2017, one of our front-end developers wrote and released a book about the JavaScript library; Vue.js. This blog post explains the process he went through to get the book from his mind to print.
31st December 2017
It seems to be the done thing to do a "year in review" post. I initially scoffed at the idea, but the more I thought about it, the more I thought about how keeping track of accomplishments can be a little encouragement and ego boost. So here goes!
18th December 2017
This blog post covers the initialisation and basic usage of Vuex - a central store for your Vue applications. It covers the basics of the four main components of Vuex: the state, mutations, actions and getters.
18th December 2017
In the second part of this series, we cover implementing a Vuex Store into a Vue.js application
8th November 2017
There are many ways to manipulate a value to make it user-friendly using Vue.js. In this tutorial, I show you how you can use Vue filters to alter the appearance of a variable without affecting its data.
26th October 2017
This Vue.js tutorial explains the difference between dynamic and static attributes and props. It shows how you can pass variables to components or other HTML elements to display dynamic contents.
25th October 2017
Written For Liquid Light
Schema is a way of structuring your code to make your content available in a "richer" format.
21st October 2017
This quick video walkthrough shows how you can replace any URL parameters in your components with props and how to pass them through from vue router to access them within your component
13th October 2017
Using the browser's localStorage we can create a Vue app which has its Vuex store cached. This allows the user to navigate away from the app and not lose their preferences.
18th September 2017
Written For Liquid Light
Validating your Google Event tracking is working can be a tricky business. This blog post walks you through checking the data being sent to Google Analytics, so you can verify the information is correct.
5th September 2017
Changing permissions on files and folders can be tedious, so why not do it in one fell swoop?
15th August 2017
Written For Liquid Light
Navigation drop-downs, or mega menus as they are sometimes dubbed, are becoming more and more common on the web. A drop-down menu is a navigation block which appears when a ...
10th August 2017
I was recently trying to install a copy of macOS from a USB stick I'd made and kept getting an error saying the OS was damaged. I created the stick using both the command line and the OSX Install Disk Creator and whatever I did I got the error.
26th July 2017
I’m not sure if this is a thing or just a pipe-dream but bear with me.
23rd July 2017
Sometimes you don't want to have to enter your password every time you run a sudo command - this blog post walks you through disabling that.
3rd July 2017
There may be a point in your CSS coding that you want to know the opposite of a direction (e.g. up, down). This function allows you to pass it a direction and get the opposite back!
22nd June 2017
Changing habits is hard - especially when it's being part of your lifestyle for so long. After watching a video, I decided to address my reliance on social media and mobile phones.
14th June 2017
Last September I gave a talk at Bytes 2016, a mini-conference for people in the web about my digital bucket list for people who work with the internet.
19th May 2017
I needed to locate any folder following a particular pattern that did not have a particular file. The command allows you to locate the folders and perform actions on them.
18th May 2017
Written For Liquid Light
On 30th March, I took the many trains over the many hours required to get to Oxford from Brighton and attended Render Conf. In it’s second year, this conference ...
15th May 2017
There are rare times when you need a slightly obscure git command. You spent several minutes googling, crafting and constructing your command only to run it once and not need it again for a while. This blog post will serve as my dumping ground for those odd commands I seldom need, but when I do I can then copy and paste. Feel free to get in touch with your favourite curve-ball command and I'll do my best to add it to the list!
10th May 2017
It may be that you wish to include a lot of information in a Github issue (or anywhere else on the web that allows HTML) but don't want the code/error to fill out the page. Luckily, there is a way to collapse it using latest HTML tags.
3rd May 2017
Being able to animate with CSS transitions is great, although there are a few gotchas when using them. This one with transition-delay had me scratching my head for a while.
26th April 2017
CSS Custom properties are now supported in Edge, meaning you can use them nearly everywhere. However, there are some cases where further browser support is required. Using PostCSS we can use CSS custom properties in development while still maintaining cross browser support.
13th March 2017
Written For Liquid Light
PageSpeed Insights (PSI) is a tool developed by Google to rank the speed of your website. There are a few things it doesn’t look out for, such as code validation or usability but it’s a good starting point at getting your site up to scratch.
15th December 2016
Written For Liquid Light
Feefo, the customer feedback and review website, launched version 3 of their product at the end of September. Although customers had no choice to be updated to version 3, what does this ...
12th December 2016
Recently, a friend and I purchased a cheap action camera from eBay to see what quality you get for £14
17th November 2016
I recently set out to remove all of the vendor prefixes from the CSS for all of our clients at work. This is because we use Gulp with Autoprefixer - which means we have up-to-date prefixes and cleaner SCSS. One way of doing this would be to open every CSS file, search for `-moz`, then search for `-webkit` etc. Some of the CSS I was searching through is well over 5 years old and is rife with vendor prefixes.
3rd November 2016
Written For Liquid Light
Vue JS is a javascript framework which has recently released version 2. Allowing you to display, manipulate and navigate data, Vue is a React, Knockout and Angular competitor. This blog post walks through building a web app with Vue Router.
23rd October 2016
How to set up a new VPS with all the expected features and functionality
2nd August 2016
Written For Liquid Light
Trello is a great tool which lets you easily manage projects. Ranging from websites to weddings, Trello helps you create tag and move cards. At Liquid Light, we use Trello to keep track of our marketing output - this blog explains how.
13th July 2016
Written For Liquid Light
27th May 2016
Written For Sitepoint
Atom is a fantastic IDE and is hugely powerful. I share my favourite, time-saving tips, packages and shortcuts for GitHub's Atom code editor.
20th May 2016
With recent front-end twitter conversation turning to CSS frameworks, I went on a roller coaster of emotions but eventually settled on the above to sum up how I felt about the ordeal. Before we settle once more, let me take you on the journey I travelled.
4th May 2016
I have recently been writing some small code snippets and examples for alligator.io. It's a great little website which takes front-end code and breaks them down into bitesize ...
4th May 2016
Written For Liquid Light
Creating a responsive, HTML email template is not as easy as it first appears. Email clients are still behind with web standards and supporting latest web technologies, so HTML emails need to be built using the table element and inline styles. This blog will walk you through creating a custom template while still using Mailchimp's WYSIWYG and Image editor
20th April 2016
You may (or may not) have noticed that my site had a massive overhaul. With that overhaul, I changed CMS from Anchor to Craft.
11th April 2016
There is so much information on the web these days about development, that I often miss out on things on twitter. For that reason, I find HTML newsletters amazingly simple but wonderfully nutritional for my front-end developer brain.
22nd March 2016
Written For Liquid Light
Gulp is a task runner used for compiling SCSS to CSS, minifying JS and creating SVG sprites. Version 4 is about to be released and this blog post runs you through how to update and use the new features of gulp.
6th March 2016
I recently purchased a Western Digital EX2 NAS box for my home storage. This device is a low powered file server which is on all the time - perfect for taking care of those hefty downloads and long running tasks so I don't need to keep my laptop on.
4th March 2016
Recently I need to loop through elements on a page and, if the element had a background image apply a jQuery plugin. The plugin required the background image path & dimensions to function
15th February 2016
Written For Liquid Light
The Raspberry Pi is a credit card sized computer which has taken the technical world by storm. Originally developed to encourage children and schools to get into programming - the cheap device has been picked up by the development and hacking industries and has been the central device in projects no-one would have dreamed of while it was being developed.
29th January 2016
I have been searching for a solution to my problem for a while now and I have had no luck - so i'm putting it out to the masses to ...
25th January 2016
Written For Liquid Light
We are often asked whether videos for your website should be uploaded and hosted on your own website and server or if they should be uploaded to a social website ...
10th December 2015
Recently a friend, Chris, and I have embarked on the journey of building our own 3D printer. This is something I hugely recommend if you are into that kind of thing. It's taught me many things already and is amazing to see something moving that you've built.
3rd December 2015
Written For Liquid Light
For website creators, making sure a website looks good across device and browsers is our biggest challenge. Websites don’t have to look the same, but they do have to ...
2nd November 2015
Written For Liquid Light
Making sure your typography is readable on every display is arguably one of the most important aspects of front-end development. If your users can’t read the content on the ...
11th October 2015
I have recently been carrying my Raspberry Pi back and forth between my home and my local hack space - BuildBrighton. Both places have WiFi and with a Raspberry Pi ...
25th September 2015
At Liquid Light, we often have hack days - a day where we down client work and hack something together for a day.
17th June 2015
I recently acquired a Raspberry Pi camera and the first thing I wanted to do was set up a timelapse. The brains behind this is a slight modification of the standard camera code that the clever Raspberry Pi people give you. Its a python script which is then fired at regular intervals using a cron job.
17th June 2015
Getting your passwords out of Locko into something else can be tricky due to their unique export format. This post helps with PHP
4th June 2015
I finally managed to get my hands on an Arduino board a couple of days ago and have been playing around with it this evening. Arduinos run one bit of ...
30th April 2015
Written For Liquid Light
Slack is a hugely popular communication team tool which has grown from strength to strength over the last year. It was publicly released in February 2014 and has recently been valued ...
13th April 2015
Make sure you read the introduction to this series So you want the start hacking with your Raspberry Pi? There are a few things you need to do before you ...
1st April 2015
I've recently been playing around with Raspberry Pi and some hardware - seeing what else can be done with the tiny computer.
10th March 2015
Written For Liquid Light
Git is a tricky subject to get your head around. Knowing the commands is one thing, but knowing how to use them is another. This article will walk you through a simple, single developer Git workflow - covering the commands that you would use at each stage.
12th February 2015
I was recently asked by a friend how you would make a table filterable by using a select box & jQuery - for example "show me films made just in 2014.
15th December 2014
Written For Liquid Light
HTML emails are a great way of keeping your customers up-to-date, but are not as versatile as web pages. Here's our list of things to consider when designing and building HTML emails.
3rd December 2014
To put it very simply, a PHP class is a way of grouping a set of functions and variables into entities,allowing them to be used as self-contained instances.
11th November 2014
Written For Liquid Light
Following on from our recent blog post about SVG Sprites which gave an introduction and overview to using SVGs in a sprite, this post will outline the processes and tools ...
22nd September 2014
Living in Brighton, there is a huge array of bike shops to choose from. Ask any local cyclist and the phrase "Support your local bike shop" is often muttered
7th August 2014
Written For Liquid Light
This article will explain how and why you would want to use SVGs and what advantages using them in a sprite can bring. It will also cover scaling the images ...
25th July 2014
Posts round here have been a bit quite because my time has been taken up by starting a new cycling club - Hovélo
19th June 2014
Evans Cycles blogged "10 Moments Every Cyclist Hates" and before I had even read the blog, plenty of moments popped into my head - these are my top 10
10th June 2014
With the weekly golden nectar of Sass News winging its way into my inbox every week, I decided to take on the challenge of giving the newsletter a facelift
6th June 2014
Recently I wanted to tidy up my public_html directory - as the folders were getting too much and I like a clean directory.
22nd May 2014
With gulp starting to find itself into my everyday workflow - I've started to understand its quirks and twists, and how to get along with it. This is an advancement on my original gulpfile from a few months ago
13th May 2014
Far too often recently I've noticed people committing libraries and packages to their main application (website) repository.
8th May 2014
I have recently discovered the power of Bower - a front end package manager. Rather than having to go and find the hosted jquery link, or download the files for fancybox and copy them into my application (website), I can download them off bower.
24th March 2014
Writing and updating CSS can be a repetitive, tedious and arduous task - especially for big projects. CSS preprocessors can help with that - amalgamating related styles and helping you make your style sheets more DRY
17th March 2014
This post introduces how to compile SCSS with Gulp along with some core concepts
23rd February 2014
We've been going through a bit of a reshuffle at work with regards to our front-end conventions and layout.
18th February 2014
I've been cycling since I can remember, and driving since 2009. Over the last few years, I've believed something more and more and I would like to make a bold statement - Cyclists make better drivers, drivers make better cyclists
4th February 2014
Recently we've decided a change in preprocessor to help optimise our workflow. Within this blog post, I am going to type Sass, but really I mean Scss.
23rd October 2013
Creating a Less mixin to style input placeholders without using an autoprefixer
19th October 2013
A quick tip on how to enable git autocompletion on the command line
19th October 2013
We have been using LESS for a while now, but our process involved including the less.js in the header during development, compiling the LESS using an app before launch and then maintaining the site using the css.
29th July 2013
The Trailwalker event is something I've had my eye on for a while. 100km over 30 hours seemed like a sporting challenge I could do. I was 16 when a friend started ...
3rd June 2013
About a year ago, my nerdiness got upgraded. I purchased a second hand NAS.
22nd May 2013
Frank Turner, a wonderfully talented musician with whom I have recently embarked a music-man crush upon, has sung some beautiful songs on his recent album.
18th May 2013
As I mentioned in my first post I have made an archive of my previous Wordpress blog posts into a static page. This is done through some SQL and ...
13th May 2013
This week I announced that I was closing the curtain on my mini-conference Points Brighton. Points has been my baby, my creation. I feel, now it has found its end.
21st February 2013
For those of you that know me, you would be aware that I have recently moved house. For those of you that don't, I have recently moved house.
15th February 2013
So like my good friends Anthony and Kris, I've realised how little i've blogged over the last year. Looking at my archive the last 6 months of 2012 played host to just 1 ...
3rd January 2013
Written For 12 Devs of Christmas
There are plenty of articles on the web about how to become a web designer, how to build sites and how to sell them. What this article opens up, is ...
11th November 2012
I've recently been getting into pre-processors for CSS and I have been using LESS for sometime - getting to grips with the nesting and variables while keeping a library of my own mixins.
29th August 2012
Written For .net magazine
This article first appeared in issue 230 of .net magazine – the world's best-selling magazine for web designers and developers. Conferences are great. You get to meet fantastic people, you learn ...
19th July 2012
Road cycling. Its boring. Its rubbish. Most road cyclists just go round in circles. Up to the top of a hill, turn round and back again - wash, rinse, repeat.
11th July 2012
In the middle of May, I attended my first big web conference – the Future of Web Design. I’ve been to a few small-scale conferences before, but never one but never one of the big boys
30th June 2012
An app for working out ratios
23rd June 2012
Many a times I have dealt with various companies and agencies about pointing different domains at our servers - what shocked me is the basic level of understanding, most of the time, is 0. I thought I would dump my brain about domains and whatnot, because then even if everyone has a basic understanding, life will be good.
18th May 2012
Before you continue - make sure you understand the story. The next thing is that php lines always need to end with a semi-colon (;). This tells php that the line ...
16th May 2012
I bloody love twitter. It's great. Now, I'm not some twitter addict or nerd, well I am, but that's by the by.
10th May 2012
When developing static sites (i.e. sites without any sort of CMS - be it Wordpress, Drupal etc.) the PHP I find the most valuable is the include.
9th May 2012
Last night was the second of my mini-conferences, Points Brighton. It featured speakers and keynotes of all different varieties, and the infamous Points Bazaar (the raffle) was, once more, a hit
6th May 2012
Recently, a few friends of mine have been asking questions about PHP and want to learn the basics. I am a front-end developer for a web design agency. i.e. I mainly stick to HTML/CSS and have colleagues who do the heavy PHP stuff
5th May 2012
29th February 2012
Points. A simple, barely-a-conference conference. For ease of reading, this post will follow a traditional approach with a modern twist: Who, What, How Much, Where, When, Speakers, Sponsors Why.
26th February 2012
Whenever I am thinking about making a significant purchase, I always hunt around for reviews, check out blogs and generally search the web for word, be it good or bad.
16th February 2012
Recently I've been going through a fad of buying web related books. I love the feel of books, I love reading books.
7th February 2012
After reading the aforementioned HTML5 & CSS3 for the Real World book, I have come to realise that there are loads of changes included with HTML5.
4th February 2012
I’ve been commuting for nearly a year now. Proper commuting that is. Getting up at some unearthly hour to sit on a train for a bit. Living in a ...
24th January 2012
Recently with the spate of CSS3 and media queries, there has been a few debates over how development should be done.
19th May 2011
I found this in an old recipe book I found in a charity shop. Not quite sure what happened to it, but I've tweaked the recipe and named it after my wife!
16th March 2011
Sometimes I wish we lived in a musical. Not not necessarily with all the singing but just with all that general happiness.
10th March 2011
If you would like to limit the amount of items coming out of an array (for example the first 5 news items)
21st February 2011
If you would like to 'redirect' all your users to a central domain (for example if you would like all users to browse your site with the www or you have several parked domains)
16th February 2011
This PHP statement applies class="even" to every other element when in a loop.
14th February 2011
If you want to apply a different class to the last item in a list generated by PHP, start off with Setting the $lastOne variable to the end of your list
4th February 2011
The following code will get the dimensions of an image: <?php list($width, $height, $type, $attr) = getimagesize(PATH_TO_IMAGE); I found this useful when using a lightbox to ...
17th November 2010
Creating a HTML email is like going back to the nineties with web design – you have to go against all your natural instincts as a web designer.
5th October 2010
Recently I was tasked to transform a full website into a stripped down mobile version for those visiting on their i-whatsits.
25th June 2010
For the final year of my degree, I was required to create an Experimental System Design. At the time, I was heavily involved with a live version of The ...
2nd June 2010
So you've got a brand new website that you want to promote? Recently I finished a website for Frag Records. Once completed they asked me for some hints and tips ...
22nd April 2010
Just a short note on my Twitter series of posts! I thought i'd let you know about this tweeting kettle...or Twettle (seeing as it is on the title..). I ...
21st April 2010
Twitter, Twitter Twitter. How you have taken over the world? (And my life?) I have recently properly got into Twitter. Before it was just a laborious update to show I ...
20th April 2010
I have always been a music fan. Playing violin from the age of 7 and progressing onto guitar, the musical world has always intrigued me.
29th January 2009
I feel geeks are somewhat underestimated in the continuum of time and space. But, in reality, they are amazing. I'm not ashamed to admit I'm a geek.
28th January 2009
Knowledge is a powerful thing. I can turn worlds into war, it can turn people to power, and it can turn children to critics, humans into inhabitants. Its one of ...
27th January 2009
Thoughts are someone’s heart, someone’s soul, someone’s hero trapped inside the body of their worshiper, their disciple, and their devotee. Thoughts can make someone’s day, someone ...
25th January 2009
CSS, or Cascading Style Sheets are the easiest, cleanest and most accessible way of styling a website. Tables were previously used to position objects on the page and CSS used just to make the text look pretty. Now CSS is being relied more and more to position images, text, add spacing to websites and bring the whole site together.