rssed

a collection of dev rss feeds - blogroll

Add a new feed


LewisDale.dev

Posts

Macclesfield Bikeathon 🔗

I finished my first charity bike ride yesterday, which was the Macclesfield Bikeathon. Originally I’d planned to travel down by car or train, and then [...]

Learning Go: Day Ten 🔗

Yesterday, I got connected to a SQLite database, and got my first table created. I’m going to carry on with that thread today and do some more databas [...]

Learning Go: Day Nine 🔗

Okay, so now I have a deployed project, and I’m ready to do things for real. To go back to my to-do list, here’s where I am so far: ✅ Run a web server [...]

An interruption by way of moving house 🔗

I moved house over the weekend, after almost two years of having me, my wife, my daughter, and my dog all living at my parents house. It’s been pure c [...]

Learning Go: Day Eight 🔗

So that I can do the whole build-in-public thing properly, I always want my code to automatically deploy. I’ve got Gitea Actions on my Gitea server, s [...]

Learning Go: Day Seven 🔗

So, yesterday I decided I was going to build an uptime monitor and status page. To recap, here’s the list of things I need to figure out how to do: Ru [...]

Learning Go: Day Six 🔗

Okay I’m only six days into learning a new language, and I’ve barely scratched the surface[1]. But I learn best by actually doing things, so I’ve deci [...]

Learning Go: Day Five 🔗

Testing is important! I’m an advocate for Test-Driven Development in my work[1], so it’s quite important that I work out how to test what I’m writing [...]

Learning Go: Day Four 🔗

We’re onto some more complex data structures today: arrays, and structs. I’ve skipped a couple of sections on the Tour of Go that I’m working through [...]

Learning Go: Day Three 🔗

Over the last two days I’ve learned how to setup and create a Go project, and then how to organise code into packages. I realise I’ve skipped a crucia [...]

Learning Go: Day Two 🔗

Welcome to Part Two of my series on Learning Go for WeblogPoMo. In this part, I’m going to look at how to organise my code into separate packages, so [...]

Learning Go: Day One 🔗

I’ve wanted to try learning Go for a while now, but have never got round to it. So I’m going to (attempt) to learn a little bit about it each day, and [...]

WeblogPoMo 2024 🔗

Once again unable to say no to a commitment, I’ve signed up to WeblogPoMo 2024, in which I post something to my blog every day for the month of May. T [...]

Auto-purge my blogs Bunny cache with Actions 🔗

I’m using Bunny.net (referral link) for my CDN. As part of that, I cache certain files that get hit a lot but aren’t updated frequently, such as image [...]

New bike(s) day 🔗

I have two new bikes[1], so thought I’d post about them[2]. The single-speed The first is a single speed beater I picked up from Facebook marketplace [...]

It's CSS Naked Day 🔗

It’s CSS Naked Day[1], so to celebrate I’ve stripped all of the CSS from my blog. I’ve added a quick Nunjucks shortcode to make it easier, so the CSS [...]

4 months in: reviewing my budget bike parts 🔗

A little over 4 months ago, I posted about some low cost shifters that I bought - the Sensah Team Pros from AliExpress. In the interim, I’ve also boug [...]

Using Gitea/Github actions for triggering Echo 🔗

I decided to start using Robb Knight’s Echo tool, to syndicate my blog posts to Mastodon, and trigger Webmentions. I’m not going to go through the con [...]

My first ever promotion 🔗

Yep, even though I’ve been working as a software engineer for around 11 years now, I’ve actually never had a promotion. Every change in title I’ve had [...]

Fundraising for Cyclists Fighting Cancer in 2024 🔗

I’ve decided on my fundraising challenge for this year! You can donate to it on my JustGiving page I’m raising money for Cyclists Fighting Cancer, who [...]

TIL: Why Date.parse gives unexpected results for GMT 🔗

TL;DR: Timezones are weird Someone posted about this in a Discord server I’m on: Javascript’s Date object has a parse function, Date.parse that takes [...]

My week in media 🔗

Inspired by Thomas Rigby, here’s what I’ve been watching/reading/listening to for the last week: Watching Society of the Snow - Harrowing, but an inc [...]

Theory: Lara Croft is a vampire 🔗

I’ve had COVID[1], which means I’ve had more time than usual to play video games. So, I figured I’d replay the Square Enix Tomb Raider trilogy. For th [...]

The web doesn't want to be browsed 🔗

Arc Browser published a… controversial update this week. The TL;DR of it is that it’s got a feature that will automatically open the top search result [...]

Detecting Markdown titles with Eleventy 🔗

I use Obsidian for note-taking, and I’d love to publish those notes somewhere I can easily browse them, personal-wiki style, and ideally I’d want to u [...]

Simplifying things for 2024 🔗

As I briefly mentioned in my last post, apologising for spamming RSS feeds, I’ve decided to remove Wordpress as my CMS. I’ve also migrated my account [...]

Sorry for the spam 🔗

If you’re subscribed to any of my site feeds, you might have noticed that suddenly you’ve been flooded with every post I’ve ever written. My bad - I’m [...]

How to tell if your product needs a “Wrapped” feature 🔗

It’s December, and that means every product has launched their Wrapped slideshows, which give you a little breakdown of how your usage compares to all [...]

Advent of Code 2023: Day Eleven 🔗

More from Advent of Code. Checkout the other posts, or the Git repository. I didn’t finish Day Ten; I’ll add it to my backlog and maybe go and do the [...]

Advent of Code 2023: Day Nine 🔗

On to Day Nine of Advent of Code. As always, the code is available on Git, and the other posts are under the #AdventOfCode2023 tag. Part One Something [...]

Advent of Code 2023: Day Eight 🔗

Time for Day Eight! As always, the code is available on Git, and the other posts are under the #AdventOfCode2023 tag Part One So, now we have a map th [...]

Advent of Code 2023: Day Seven 🔗

Back to Advent of Code! This post contains spoilers. You can see the rest of the Advent of Code posts, or checkout the Git repository. Part One You’re [...]

Advent of Code 2023: Day Six 🔗

Back to Advent of Code! This post contains spoilers. You can see the rest of the Advent of Code posts, or checkout the Git repository. I missed yester [...]

Advent of Code 2023: Day Four 🔗

Read the previous Advent of Code posts, or checkout the Git repository. Day Four was much easier than Day Three, and I’m actually quite pleased with m [...]

Advent of Code 2023: Day Three 🔗

As before, this post contains spoilers. You can follow all of the Advent of Code posts using the Advent of Code tag, and the code is available on Git. [...]

Advent of Code 2023: Day Two 🔗

On to Day Two of Advent of Code. As before, this post contains spoilers for the solution. You can follow all of the Advent of Code posts using the Adv [...]

Advent of Code 2023: Day One 🔗

Advent of Code is here, and once again I’m going to attempt it. Last year I got to about Day 11 before giving up. This year, I’ll try and beat that (b [...]

Using Obsidian for meal planning 🔗

In my App defaults post, I mentioned I use Obsidian for various tasks, one of them being meal planning, so I thought I’d share how I actually manage t [...]

Winter’s definitely here 🔗

Had the first properly wintry commute in this morning (-3ºC but also damp). I knew it was going to be cold, so I made sure to wear my extra-thick glov [...]

App defaults 🔗

Alright, I’ll jump on the bandwagon. Here are my default apps: Mail Client: Apple Mail Mail Server: iCloud Notes: Obsidian To-Do: Also Obsidian Photog [...]

First thoughts: Sensah Team Pro shifters 🔗

My Shimano front shifter recently gave out while I was on a ride: Not an ideal situation, really. But apparently it’s a pretty common failure on the [...]

Identifying external links with CSS 🔗

Inspired by this post on CSS In Real Life, I thought I’d share how I’m styling external links on this site too. Marking up external links I’m using El [...]

Autoposting to FireFish from WordPress 🔗

Back when I was using Mastodon, autoposting my blog posts was easy - there’s no shortage of extensions for handling posting to Mastodon. But I switche [...]

A bit of housekeeping 🔗

I’ve been doing a bit of housekeeping with my blog today, specifically I’ve been adding tags to my posts. I’ve not gone through and added them histori [...]

Planning my 2024 charity bike ride(s) 🔗

I never actually wrote a blog post after it, but I completed my first cycling event in July. It went better than expected! I initially planned to do 1 [...]

Everything’s a bit shit, isn’t it? 🔗

This is going to be a moany post, fair warning. But everything’s a bit… shit. The Tories have had their annual conference this week, and as per have d [...]

Javascript’s Proxy is neat 🔗

So last week I went to State of the Browser. I had a great time, met some really interesting people, and got to see some great talks. One talk in part [...]

Building a quick CDN with PHP 🔗

I’ve been using Bunny CDN (referral link) as my CDN for a while, and I’ve been really happy with it. In particular, the Image Optimizer is great value [...]

Lemmy: 4 weeks in 🔗

So it’s been long enough since I decided to try out using Lemmy that I think I can give a fair summary of how I feel about it as a service. TL;DR it’s [...]

Trying out Lemmy as a Reddit alternative 🔗

Alright I’m back on the Reddit thing again. I decided to setup a Lemmy instance, just to evaluate what it’s like as an alternative to Reddit. Installa [...]

Cleaning up my Game Boy Colour 🔗

I’ve still got my old Atomic Purple Game Boy Colour. Well, it’s not the one I got for my birthday in 1999 (opening that + Pokémon Red is a core memory [...]

RSS is still the best way to consume content 🔗

I’ve not used Reddit since Apollo announced it would be shutting down. In part it’s because I don’t want to give Reddit anymore data (and therefore va [...]

Bring back forums 🔗

So Reddit have decided to pull a Twitter and make their API pricing ludicrously high. According the developer of Apollo, they’re charging $12,000 per [...]

TIL: Allowing CORS for specific subdomains with NGINX 🔗

Here’s a quick blog to add to an NGINX config to allow CORS for subdomains, without the wide-open policy you get when using *, taken from this StackOv [...]

I’m still here 🔗

Just a very quick post to say this blog isn’t dead! It’s been a while since my last post, but I haven’t really had time to do much blog writing recent [...]

Quick snippet: Detect who pays for Twitter 🔗

Even though Twitter may have tried to disguise who pays for Blue, and who has a legacy verified account, they left the ld-json fields intact. Here’s a [...]

I don’t care about ChatGPT 🔗

I’m starting to feel like I’m in the minority here, because so many people are talking about it, but I genuinely don’t have any interest in GPT or any [...]

TIL: resizing images on-the-fly with nginx 🔗

Because I’ve started using Wordpress as a Markdown backend for 11ty, the 11ty image plugin no longer works, which is a bummer. So for a while I’ve bee [...]

Visiting the Northwest Computer Museum 🔗

I got the chance to visit the Northwest Computer Museum today, which was really cool. I’m a bit of a fan of older computers, I think there’s something [...]

TIL: Recovering from an accidental force push in git 🔗

I don’t normally force-push to repos, but I wanted to overwrite the contents of an old project with a new one of the same name. So last night, I creat [...]

Server migration 🔗

It took me a fair while, but I’ve finished migrating my VPS off Linode now - finally. I was spending ~£20/month on servers, and that’s set to increase [...]

Bringing my omg.lol Now page into Eleventy 🔗

Robb Knight has this great Javascript tool for embedding your omg.lol /now page in another page. I thought it was pretty cool to use, but because I’m [...]

Hunting for inspiration 🔗

I feel like my posting on here has slowed down a lot in the last month. In part that’s because I’ve been a lot busier at work, but I’ve also found mys [...]

The Mini F9 Camera is everywhere (and it’s incredibly bad) 🔗

This is another post about cycling, but my parents bought me a helmet-mounted camera to wear when I cycle. It’s kind-of a necessity, particularly when [...]

Bicycle woes 🔗

I’ve been loving my bike ever since it was gifted to me: a black Specialized Allez on Fulcrum Racing 5 wheels. It goes like shit off a hot shovel, bec [...]

Using WebC for progressively-enhanced UI elements 🔗

Now I’m back in Eleventy-land, I thought I’d give WebC a go. For those unaware, it’s a templating language that generates Web Components, complete wit [...]

Using WordPress as a Markdown editor 🔗

The eagle-eyed among you will notice that my website’s had a slight refresh - and by that I mean I got bored of that ZX Spectrum theme roughly 45 seco [...]

Signing up for my first cycling event 🔗

I registered for my first ever cycling event over the weekend. I was thinking about a duathlon/triathlon, but as I’m not much of a runner or swimmer I [...]

Well, that was short-lived 🔗

I only just started allowing this site to cross-post to Twitter, for the sake of syndication. But, given that Twitter have decided to close free API a [...]

Buy-it-for-life 🔗

As a general rule, I buy something that’s good enough for what I need it for. Partly this is because most of the time I haven’t been able to buy the t [...]

Using mirror repositories for code backups 🔗

This is a neat feature I just discovered for git server backups. I run a local Gitea server that I use for development on my own projects. I’ve only c [...]

BASIC Interpreter Part 3: Copying values 🔗

Now time for part three of my Sinclair BASIC Interpreter. In the previous post I added the ability to assign data to a variable using the LET command. [...]

Scratching an itch 🔗

For the last two weeks or so I’ve had the urge to buy and older PC, just for the purposes of messing about with the hardware and putting an overly com [...]

Note-taking: 1 week in 🔗

A week ago I wrote about wanting to get better at note-taking. My goal was to try and use Obsidian.md to take notes. Well, a week in and it’s gone sur [...]

TIL: Forwarding ports using SSH and proxying with Apache 🔗

I have two servers: a VPS, and a small server that I primarily use on my home network. The server at home is quite a bit more powerful than my VPS, an [...]

TIL: Adding a subreddit RSS feed 🔗

I like to read some story-based Subreddits, like /r/TalesFromTechSupport, but also don’t like having to go to the Reddit app (well, Apollo) specifical [...]

Finding my old hard drive 🔗

I was digging through some old belongings when I pulled out the laptop that I had during my 4th and final years at uni (I did an integrated MEng, so m [...]

BASIC Interpreter Part Two: Variables 🔗

Part One It’s been a bit longer than I would have liked between the first post and this one, but life has a habit of getting in the way. In my last po [...]

TIL: Adding text borders with CSS 🔗

After checking my website on mobile, I realised that I’d made a mistake, and included a pretty bad colour contrast issue on the page: So I took to G [...]

Note-taking and retaining information 🔗

One of the things I struggle with the most is note-taking: I can’t do it during meetings because then I’m distracted by the writing and not, you know, [...]

Migrating to WordPress 🔗

After messing around for the better part of a week with custom builds of Netlify CMS and varying levels of complexity, I bit the bullet and just migra [...]

Import posts from an RSS feed into WordPress 🔗

I decided to migrate my blog to Wordpress, for the simple reason that I was finding updating Markdown files manually a headache, and I want to be able [...]

Creating a Sinclair BASIC interpreter 🔗

Given my new website design, I figured I’d also have a go at making an interpreter for Sinclair BASIC so that I can run my own ZX Spectrum programs. I [...]

New year, new blog design 🔗

It’s time for a new website layout. My previous one sort of evolved over a year of messing around and not quite finding something I was happy with. I [...]

Microblogging with Eleventy 🔗

Given the drive to move all of my content into one place and syndicate it to other networks, I decided that I’d also try out doing microblog-style pos [...]

Choosing a CMS to use with Eleventy 🔗

After my last post, I decided that I would in fact start using a CMS, so I took a look at some of the options available to me. My criteria for choosin [...]

Thinking about the web 🔗

I’ve been seeing some good posts recently, like these ones from Andy Bell, Chris Coyier, and Sophie Koonin, about using a blog as a real “base” for yo [...]

Taking a break 🔗

It’s my last day of work for 2022 - I’m off from today until the 3rd of January, which will be my longest break since my honeymoon. I’m looking forwar [...]

2022: A retrospective 🔗

Or not. I started this post intending to write an honest retrospective, in a similar vein to the one I wrote last year. But, honestly, this year has b [...]

Managing my reading list with BookWyrm 🔗

A little while ago I wrote about managing my reading list using a JSON file. Then I decided that was too easy, so I starting using an SQLite database [...]

Get your Eleventy site onto the Fediverse 🔗

A little while ago, I brought my blog to the Fediverse. This was a fun experiment which resulted in me turning my Netlify-hosted blog into an instance [...]

Advent of Code: Day Six 🔗

Spoilers for Advent of Code below Day five All Advent of Code posts Source Day six was a nice, welcome break from the struggle I had yesterday. Part o [...]

Advent of Code: Day Five 🔗

Spoilers for Advent of Code below Day four All Advent of Code posts Source Today was the first day that I can definitely say that I struggled to get t [...]

Advent of Code: Day Four 🔗

Spoilers for Advent of Code below Day three All Advent of Code posts Source Day four was probably the quickest for me to complete - but mostly because [...]

Advent of Code: Day Three 🔗

Spoilers for Advent of Code below Day two All Advent of Code posts Source Day three, checked off ✅. I’m rapidly closing in on a high score here (altho [...]

Advent of Code: Day Two 🔗

Spoilers for Advent of Code below Day one All Advent of Code posts Source Day two is done! Again, as expected this was pretty simple - construct a bas [...]

Advent of Code: Day One 🔗

It’s the first day of Advent of Code! I finally get to continue my long-standing tradition of being really enthusiastic about it for two-or-three days [...]

TIL: Including subfiles of ignored directories 🔗

Okay that title is a bit of a mess. Here’s the problem, you have a directory that looks like this: - app.ts - scripts - file.sh - anotherfile. [...]

Three weeks of Mastodon 🔗

We’re now just about at the three-week mark since one of my friends jokingly told me I should just self-host a Mastodon instance after I complained ab [...]

FediLeventy Part 2: comments and follower lists 🔗

Yes, I’m calling it FediLeventy and there’s nothing any of you can do to stop me. Yesterday, after publishing my post on implementing some features of [...]

You can be friends with my blog 🔗

Like almost everyone else it seems, I’ve opened a Mastodon account. When reading about the standard that Mastodon is built on, ActivityPub, I had an i [...]

Adding comments to my blog 🔗

Yet more Eleventy-related things! I like to have a central place where people can interact with my posts if they wanted to. Right now, that place is T [...]

Okay now I actually have Open Graph images 🔗

Two days ago, I wrote that I had added statically-generated Open Graph images, and technically this was the truth. With one minor issue: they didn’t w [...]

Adding statically-generated Open Graph images 🔗

Open Graph images are what websites such as Twitter choose to display when showing a preview to a page. There are plenty of ways to generate these dyn [...]

Handling file uploads and failures with Express 🔗

Another little snippet to remind myself later. If I want to handle uploading files via a form with enctype="multipart/form-data", I need to include a [...]

Simple CSRF token middleware for express 🔗

I’ve been doing some Express development in Typescript recently, and I realised that there are no well-maintained CSRF libraries for Express anymore. [...]

Building a CMS for Eleventy 🔗

Three days ago, I tweeted this: https://twitter.com/LewisDaleUK/status/1577211142748807168). I said I wouldn’t be writing a CMS for Eleventy. It wasn’ [...]

Moving my reading list out of JSON 🔗

I blogged about hosting a reading list on this blog a little while ago. At the time, I decided that storing the books as JSON would make sense - and i [...]

Diabetes (might have) saved my life 🔗

In April this year, I went to see the doctor and had some blood tests done as part of the checkups. When I spoke to the doctor about the results, he d [...]

Working retro with a Raspberry Pi 🔗

Since moving to a co-working space, I’ve started using a Raspberry Pi 400 as my primary desktop PC at home to avoid transporting my laptop back-and-fo [...]

The web is exhausting 🔗

I’ve been using the web in some form for over 20 years - granted, the early parts of that were heavily monitored because I was about 5 years old when [...]

Finding my old blog 🔗

I’ve had a few blogs over the years - when I was younger I had a bad habit of starting a blog, and then occasionally throwing it away to move to a new [...]

Building my first emulator 🔗

Recently I’ve become interested in embedded devices and developing for them. Initially, that started out as wanting to write a game for the Game Boy A [...]

Why I don’t write React anymore 🔗

Earlier this year I made the decision to stop working in React. I’d just come out of a project using a modern JS tech stack that used Next.js, and I c [...]

Managing my reading list 🔗

A little while ago I was toying with building a lightweight web app that would make it easy to manage and share reading lists. I never got around to m [...]

Adding categories to Eleventy 🔗

I’ve decided to put a bit more love into this blog, I’ve neglected it since the new year. As part of that, I wanted to make a few more changes - namel [...]

Year retrospective 🔗

The last year has been a wild one, with some real highs and lows, so I thought I’d do a short retro on the year and outline some (fairly vague) goals [...]

A new blog 🔗

It’s been a long time since I’ve had an actively-maintained personal website/blog, but I got a spurt of inspiration after seeing a few other recently- [...]

Using ES6 Generators 🔗

I’ve been having fun using some newer technology recently - namely ECMAScript 6 Harmony (or at least the bits of it that Chrome supports). One particu [...]

Motion Sensitive Image Capturing In Python 🔗

This is quite a nice little script that uses the PyGame library to access the computers webcam, and then takes a succession of photos, comparing perce [...]

Clever Image Resizing In Python 🔗

In the not-too-distant past, I had a bit of trouble with a client who wanted to have images resized on the fly that were of a completely different asp [...]

Solving 2048 Using A* Search 🔗

ne of my recent projects has been to attempt to solve the game 2048 using A* Search - it all started from a bet with my girlfriend about who could get [...]

Raspberry Pi & Ultrasonic Module – Calculating Distance in C 🔗

In this brief article I will be posting the C code I used to measure the distance between the Raspberry Pi and any object in front of the HC-SR04 modu [...]