RSSAmplifier

Blog

Luke Morrigan

codefoodpixels.comRSS feed ↗26 posts

Latest posts

Letting Eleventy Schedule Its Own Builds

Until recently, I've been using GitHub Actions to trigger builds on my website, but this approach meant that builds for the site were only run once a day and that I couldn't schedule specific times for posts to go live. In February of this year, Netlify announced Scheduled Functions , and one of the use cases that I'd seen mentioned was scheduling builds. Netlify Scheduled Functions Netlify…

No Comment 2: The Webmentioning

When version 1.0.0 of Eleventy was released, one of the features that I was excited to see was the ability to add global data through configuration. This means that plugins can now add global data, and I saw it as a great opportunity to move my webmentions code into a plugin for others to use! When I started to look into how to create a plugin, I quickly realised that in the Eleventy world, a…

Pixelated rounded corners with CSS clip-path

I remember the day in 2011 when the design agency that I worked for decided that we were dropping IE6 support and raising our minimum to IE 9. Among other things, we didn't have to use images for rounded corners any more, we could use border-radius ! Adding rounded corners to items such as images and buttons makes them feel a bit softer and more aesthetically pleasing, but I didn't feel that…

Per aspera ad astra

When I was younger, I wanted to be a "robot scientist". I found them fascinating and wanted to learn about how they work and how to build them, but I lived in the middle of nowhere, in a time when the web was still finding it's feet, which meant that the resources weren't really there for me and eventually I realised that it wasn't really a viable option. In my early teens, I found web development…

No comment: Adding Webmentions to my site

While I was rebuilding my website in Eleventy , I saw Amber Wilson's article about adding Webmentions to her site shared on Twitter. I'd heard of Webmentions but I'd never really looked into them and while I was reading Amber's post, I thought that it's a really cool idea and added them to the list of things I wanted to add to my site. What's a Webmention? A Webmention is a way to let a website…

Today I was vaccinated for covid

So today I had my first COVID vaccination. Following the examples set by Bruce Lawson and Stuart Langridge , I felt I'd write about my experience getting the vaccine. I fall into two of the current categories for getting the vaccination: my BMI is just over 40, so I'm part of the "underlying health conditions" group; and I'm an unpaid carer for my partner. My partner is clinically extremely…

Now with added Eleventy!

Ever since I gave Eleventy a go when I was building the LeedsJS website, I've been a huge fan and advocate, even convincing some people to give it a try out of my sheer enthusiasm for it. I absolutely love the simplicity and flexibility of it, as well as things like data files. I have a whole post talking about this stuff from when I was building the new LeedsJS website . I've been meaning to…

Do I need bunting today?

A couple of weeks ago an idea popped into my head, I built it in a few hours and today, as it's a bank holiday, I'm launching it into the world! Introducing Do I need bunting today? ! What is it? Do I need bunting today? is a site that tells you whether bunting is appropriate, based on if it's a bank holiday in England, Wales, Scotland or Northern Ireland. That's it, that's the site. Ok, but why?…

CSS Naked Day 2020

Today is CSS naked day 2020 ! Inspired by Eric Meyer , Laura Kalbag and Andy Bell , I've removed the CSS from my site for today. The process for me was super easy! Because my HTML was already well structured and I had decent default sizes for my images, I just had to remove the links to the CSS files and it worked!

The Viewbuilder Pattern

Many companies have internal APIs that provide their data, but scaling these can be tricky and expensive. There are also cases where you're using a rate-limited 3rd party API that you need to use to provide data to the frontend of your website. While I was working at Sky Betting and Gaming, I was introduced to a pattern that they use called a viewbuilder. I find it to be a really interesting and…

Connecting my Christmas jumper to the Internet

Some of you will be aware that while I'm not necessarily great at it, I enjoy playing around with hardware. One of the talks that I've been fortunate enough to travel the world to give is about using JavaScript to do bits of home automation, including automating my curtains and making my own thermostat. So it may come as no real surprise that when I heard there was going to be a Christmas jumper…

Building the new LeedsJS website

At the end of 2018, I announced that I was setting a 6 month deadline for LeedsJS to move away from Meetup. At the time they charged $90 for 6 months as an organiser, which I was paying out of my own pocket. At the time of writing, this has been raised to $98.94. Many community groups try to keep their costs as low as possible, and those that get sponsorship usually get it on a month-to-month…

Get involved in your local community groups: Why I love LeedsJS

I first got involved in LeedsJS in 2015, and then took over as the main organiser in 2016. Since then, we've grown from around 15 people per event to about 60 per event. The biggest drive for LeedsJS is sharing knowledge so that our attendees can become better developers. In recent years I've expanded the scope of this by adding another talk spot where we try and get talks on topics such as mental…

Your Event Probably Shouldn't Be In A Pub

When we were looking for a new venue for LeedsJS a few years ago, one of the criteria I set was "not a pub". Initially this seems like an arbitrary decision, but I had a number of reasons for doing so. At the time, we were based in a pub but our the diversity in our audience was little to none. After doing a little research, I realised that the venue was a big contributing factor to this and we…

2018 Retrospective

2018 has been an eventful year, with more personal firsts and a number of successful personal projects! If you want to see last year's post, you can find it here . 2018 Aims At the end of last year's post I set a few aims for this year. They were: More public speaking More blogging More learning More open source projects I'll go into it a bit more below, but I feel like I've hit these aims.…

Fired

Friday the 7th September 2012 was a bad day for me. That was the day that I was fired from my first development job. It was the beginning of a 7 month unemployment period where I struggled with depression, impostor syndrome and I asked myself some tough questions. The Lead-Up I'd been at the job for 15 months when I was fired and had spent a chunk of that time going through the disciplinary…

Opening Up About My Mental Health

I've tried to start writing this post a few times. Mental health is a difficult topic to speak about in itself, and struggling with your own mental health can make it even more difficult. While this post is difficult to write, I want to be open about it. I hope that this can help other people feel like they can talk about their mental health too. Since I was in my early teenage years, I've…

Why LeedsJS Doesn't Have Q&A Anymore

The day before April's LeedsJS meetup, I decided to try not having Q&A after the talks in favour of encouraging people to come and chat to the speakers directly. There were a variety of reasons as to why I felt that this would be the best route, and it seems to have been a success! Previous experiences Before April's event, we'd always had Q&A after the talks. Over the 3 years that I've been…

Community Group Giveaways

At LeedsJS we've been lucky enough to have sponsors willing to offer up prizes for us to give away to our attendees. We've tried a couple of ways to give them away and I thought I'd write up a post to discuss them. Where to get prizes I guess this should be the first step, because you need to have stuff to be able to give away stuff. I know of a few ways to do this: Ask companies to give you…

TIL: document.querySelectorAll returns a NodeList

Modern browsers have the native selector engine document.querySelectorAll which is really useful for easily finding elements. I had assumed that it returned an Array but I've just found out that I was wrong and it returns a NodeList. A NodeList is still a collection, but it doesn't have the Array prototype methods such as .filter or .map . You can convert the NodeList to an array using…

Blackboxing Scripts In Chrome DevTools

Chrome DevTools has a feature called blackboxing which allows you to ignore certain scripts when debugging. When a script is blackboxed, it's hidden from the call stack pane and you don't step into it when stepping through the code. This is really useful when debugging code that uses frameworks or libraries such as Ember, React or jQuery. There are a few ways to blackbox a script: Blackboxing in…

Learning About Burnout By Crashing My Car

Today marks 4 years since I crashed and wrote off my car while driving to work one morning due to being burnt out. At the time I didn't really realise I was burnt out or even what burnout was. The company I was working for at the time had a huge industry show at the end of January every year. This was a chance to show off new features and demo versions of future features and led to working a lot…

HTTPS With A Custom Domain On GitHub Pages

While GitHub pages supports HTTPS for sites using the github.io domain, it doesn't support it for custom domains. I've had a few people ask how I've achieved HTTPS with a custom domain on GitHub pages, so I felt I should write a post on it. Setting Up GitHub Pages The first thing we have to do is configure the repo on GitHub. Open the "settings" page on your repo and scroll down to the "GitHub…

2017 Retrospective

2017 has been a good year for me with some successful projects and some personal firsts. I felt I should do a little retrospective on this stuff, partially so I can come back and look at it in the future, partially as a celebration. It's not in any particular order. Speaking This year I was lucky enough to be picked to speak at JSConf Budapest ( video ), my first time speaking at a large…

Conditional Breakpoints In Chrome DevTools

A really useful feature that I often find myself using in Chrome DevTools is conditional breakpoints. Conditional breakponts allow you to only pause execution when a certain expression evaluates to true, meaning that you can pause it when you want it to. How to use conditional breakpoints in Chrome DevTools In the "Sources" panel in Chrome DevTools, open the JavaScript file that you want to debug.…

New Website!

My previous site hadn't been touched since late 2014 and was running using a custom PHP system I'd written that took markdown and produced the page. This was happening every time someone hit the page so was pretty inefficient. As my focus is no longer on PHP, I wanted to move towards something JavaScript based. I didn't want to use a client side framework to do this, as the content is pretty…