LD
Change your colour scheme

Posts tagged “posts”

  1. 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 throughout my career has been through changing jobs. But today, for the first time in my career, I […]
    Read more
  2. 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 are a wonderful charity that donate bikes to children and young people with cancer. It’s a great ca […]
    Read more
  3. 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 a string can converts it to a timestamp. If you give it a non-standard string, in this case Jan 1, 1 […]
    Read more
  4. 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 incredible watch Bob’s Burgers - Always nice to return to a comfort show Reading Sea of Rust, C. Ro […]
    Read more
  5. 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 the unaware, these are reboots of the famous Tomb Raider games that aim to be gritty, realistic, poorl […]
    Read more
  6. 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 for you, rather than taking you to a search engine. I’ve seen a fair emount of criticism of this de […]
    Read more
  7. 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 use Eleventy to do it. The main blocker is that Obsidian uses file slug/Markdown titles, whereas Elev […]
    Read more
  8. 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 away from my self-hosted Firefish instance, to the account I already held on https://social.lol/@lew […]
    Read more
  9. 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 removing Wordpress from my setup, which means using Eleventy-generated feeds once again. I’ve setup […]
    Read more
  10. 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 the other users of any given product. I especially appreciated my banking app telling me just how m […]
    Read more
  11. 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 ones I’ve missed when this is all over. ## Part One We’ve got a map of the cosmos! Galaxies are # ch […]
    Read more
  12. 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 something exposition. We’ve got a list of lists of numbers that represent how a value changes over […]
    Read more
  13. 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 that can take us across the desert. The first line is a series of instructions, that are either “R” (f […]
    Read more
  14. 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 playing a game of cards! Each game looks like a set of hands, with an associated bet: 32T3K 765T55J […]
    Read more
  15. 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 yesterdays Advent of Code, so I’ll go back and do it later. But, until then, here’s Day Six. Part One We’r […]
    Read more
  16. 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 my solution. Part One Given a list of “scratchcards” that look like Card ID: list of winning numbers […]
    Read more
  17. 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. Thanks Day Three, I hate it. Part One For part one, we had to take a schematic of an engine, with s […]
    Read more
  18. 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 Advent of Code tag, and the code is available on Git. A bit of extra setup Yesterday I was rushing, bec […]
    Read more
  19. 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 (but no promises). You can follow my progress with the Advent of Code tag, or by subscribing to the RS […]
    Read more
  20. 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 that. Requirements Obsidian, obviously. Secondly, it relies on having the Dataview plugin installed. […]
    Read more
  21. 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 gloves, (an Aldi special - they worked perfectly and are definitely worth picking up next time they’re i […]
    Read more
  22. 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 Photography: Camera.app Photo Management: Photos.app Calendar: Calendar.app Cloud file storage: iCloud RS […]
    Read more
  23. 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 105 shifters - previously I was able to bodge it by gluing a piece of plastic to the shifting arm, b […]
    Read more
  24. 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 Eleventy to generate the site, and have a Markdown plugin that’s borrowed from the Eleventy-Excellent […]
    Read more
  25. 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 switched to FireFish a little while ago (and for better or worse, can’t easily switch back without screwing […]
    Read more
  26. 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 historically, but now they’re listed underneath a post, and clicking the link should take you through to th […]
    Read more
  27. 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 100km, but beat my training targets and wound up doing 214km in about 7 hours 20 minutes. In total I […]
    Read more
  28. 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 decided to rub it in our faces by holding it in Manchester (while ignoring any part of the country th […]
    Read more
  29. 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 particular was on Two-way data binding by Chris Ferdinandi. The general gist of it is that you can use t […]
    Read more
  30. 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 for money - $9.50 a month for on-the-fly dynamic image resizing and re-encoding. The only real prob […]
    Read more
  31. 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 good, has it’s issues (mostly moderation), but once you start using it properly it gets better. The […]
    Read more
  32. 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. Installation was easy, as I just used Docker this time, and reverse-proxied through Nginx. There are pretty […]
    Read more
  33. 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), because I smashed that against a wall by throwing it instead of a basketball when I was about 9. […]
    Read more
  34. 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 value), and also Apollo was the only thing that made it usable, and as of Friday that’ll be gone. But […]
    Read more
  35. 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 50 million requests. In his thread, he estimates his annual bill could be $20 million. Of course thi […]
    Read more
  36. 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 StackOverflow answer: map $http_origin $allow_origin { ~^https?://(.*\.)?my.domain(:\d+)?$ $http_origin; […]
    Read more
  37. 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 recently. I’ve been feeling a bit burned-out with tech recently, and just haven’t been spending much of my […]
    Read more
  38. 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 quick script you can use an in an Arc boost to check for the field and colour the checkmark Red if […]
    Read more
  39. 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 of it’s derivatives. I get that it looks like magic to a lot of people, and almost feels like actua […]
    Read more
  40. 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 been serving images at their default resolution which is to say, too big. As it turns out, there’s an n […]
    Read more
  41. 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 charming about them. So when I found out this was opening a few weeks ago I knew I had to go. I’m r […]
    Read more
  42. 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 created my new project, set the git origin url to the correct one (git set-url origin git@...), and then […]
    Read more
  43. 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 by another 20% this month. I’ve now gone for Contabo, who are pretty reputable and were offering a […]
    Read more
  44. 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 allergic to client-side Javascript, I wanted to port it to Eleventy so that I could generate it once […]
    Read more
  45. 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 myself not having anything to write about. Well, that’s not true. There are 3-or-4 posts lingering in m […]
    Read more
  46. 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 commuting, because motorists are lunatics and cycling infrastructure is inadequate in almost every […]
    Read more
  47. 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, because it’s so lightweight (I think it clocks in at about 8kg unladen). But the problem with being an […]
    Read more
  48. 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 with asset bundling. But unlike regular Web Components, you can build things that aren’t completely rel […]
    Read more
  49. 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 seconds after publishing it. I’ve also switched back to Eleventy! I’m still using Wordpress though, beca […]
    Read more
  50. 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 thought purely cycling would be the best thing for me. So I registered for the Salford - Blackpool […]
    Read more
  51. 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 access, I can’t imagine that Bridgy will be able to continue sharing to it. This change doesn’t hugel […]
    Read more
  52. 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 top-of-the-line product, and partly because it’s usually in aid of a hobby that I’ll forget about in […]
    Read more
  53. 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 configured it recently, so there’s not much on there. I’ve mentioned in the past that I once lost acc […]
    Read more
  54. 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. Now, it’s time to use those variables in expressions. That means: Assigning one variable to anothe […]
    Read more
  55. 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 complex linux config on it. I know that if I buy it, I’ll do that for a couple of hours and then never […]
    Read more
  56. 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 surprisingly well. I configured a template for my daily note with a todo list, list of meetings, and no […]
    Read more
  57. 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, and significantly cheaper to run, so I’d like to start moving some of my hosted services to it. The pr […]
    Read more
  58. 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) specifically to read these stories because I end up missing them. As it turns out, Reddit does publish RSS fee […]
    Read more
  59. 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 my degree took 5 years including a year in industry). I got pretty excited because I hoped that it wo […]
    Read more
  60. 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 post, I created a skeleton interpreter that could read very basic programs: we could PRINT, and use GO […]
    Read more
  61. 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 Google, and discovered that I could use the -webkit-text-stoke CSS property (MDN Documentation), which […]
    Read more
  62. 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, participating. So I end up not doing it at all, and then I have absolutely no record of what was sa […]
    Read more
  63. 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 migrated my blog to Wordpress. My original intention was for it to be quick and easy, to give me way more […]
    Read more
  64. 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 to write on devices that aren’t my laptop. But first I had to move my content over - so I used the […]
    Read more
  65. 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’ve got a few aims: Create something that can properly parse Sinclair BASIC Run the interpreted sof […]
    Read more
  66. 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 didn’t really feel like it represented me. I’ve always been a fan of ZX Spectrums, despite them comi […]
    Read more
  67. 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 posts with Eleventy. Before I could do that, I needed to add a CMS (there’s no way I’m manually adding […]
    Read more
  68. 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 choosing a CMS were: Lightweight Easy to setup Has markdown editing Works with Eleventy Can be accessed fr […]
    Read more
  69. 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 your place on the web, and then following the POSSE principle for everywhere else. I like that idea - […]
    Read more
  70. 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 forward to taking some time off: we’ve got some Christmassy things planned for tomorrow, and it’s my daugh […]
    Read more
  71. 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 been shit and the thought of writing that post exhausted me. It’s not all been bad, of course: I (fin […]
    Read more
  72. 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 instead. Moving my reading list to JSON was a mistake, to be frank. Data is spread across three tabl […]
    Read more
  73. 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. Now, you can do (some of that) too! I’ve built an Eleventy plugin: eleventy-plugin-activity-pub. Y […]
    Read more
  74. 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 one Given a set of characters relaying a message, find the index of packet start signal, which come […]
    Read more
  75. 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 the task done. Part one The brief sounded fairly simple. Given a list of “stacks” of boxes (represe […]
    Read more
  76. 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 the other days had primed me pretty well for this kind of task and I’d been reading about using H […]
    Read more
  77. 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 (although that’s only Day 4, so it’s a very low bar). This wasn’t too much of a challenge either, the It […]
    Read more
  78. 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 basic Rock, Paper, Scissors game from an esoteric strategy guide and then calculate the score. Do the […]
    Read more
  79. 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, missing one day, and not going back. Today wasn’t too difficult, as it never is at the start. Once […]
    Read more
  80. 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.sh - build.js- node_modules Previously I didn’t want to upload anything in scripts, however now I’ve […]
    Read more
  81. 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 about not knowing which one to choose. Jokes on him, I actually enjoyed it. Making the switch I actual […]
    Read more
  82. 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 ActivityPub, I received a comment from i@social.bennypowers.dev: The short answer: No. The long an […]
    Read more
  83. 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 idea: why not try and implement some of it with Netlify functions. Resources and being discoverable T […]
    Read more
  84. 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 Twitter, but it’s sort of imploding at the minute and I’m unsure if I want to keep using it as much m […]
    Read more
  85. 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 work on Twitter! Luckily, the Eleventy twitter account came to the rescue and posted some links to mo […]
    Read more
  86. 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 dynamically - like using Netlify Edge Functions, for one. But recently somebody posted a plugin they’d […]
    Read more
  87. 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 third-party library. In this case, Multer is the best choice. The usage is pretty simple. […]
    Read more
  88. 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. Plus, CSRF is actually quite simple to implement and it meant I could avoid adding yet-another depen […]
    Read more
  89. 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’t going to happen, there’s no way. I’m not in the business of reinventing the wheel. Anyway, here’s […]
    Read more
  90. 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 it did, at the time. But as the list has grown, albeit not exponentially, it started to get a bit mes […]
    Read more
  91. 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 dropped a bombshell I wasn’t-but-also-sort-of-was expecting: I was diabetic. I had no symptoms, so I […]
    Read more
  92. 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-forth each day. I’m mainly using it for writing blog posts, playing the odd game, and tinkering with s […]
    Read more
  93. 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 we got dialup. But, a large part of my formative years were spent online, and it was such a differen […]
    Read more
  94. 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 platform. There’s a handful of blog posts out there that I’ve written that are now lost to the inte […]
    Read more
  95. 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 Advance, but if I’m being honest my knowledge wasn’t up to scratch. So instead, I thought I’d try my […]
    Read more
  96. 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 couldn’t get over how complex the whole thing had become, and how little I enjoyed the work. It felt […]
    Read more
  97. 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 making it, but instead I built a very-MVP version by adding my reading list to this website. It was a […]
    Read more
  98. 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 - namely, I wanted some better navigation to allow me to write different types of content. So, I’ve added a […]
    Read more
  99. 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 for the next year. 2021 has been both a very short and extremely long year. Short, because the first […]
    Read more
  100. 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-revamped blogs. What better way to celebrate the end of the year than with… a blog? My intention is […]
    Read more
  101. 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 particular feature which I’ve been using has made life quite a lot easier for me - ES6 now supports Generat […]
    Read more
  102. 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 percentage differences between the photos taken to determine whether or not any motion has occurred. If i […]
    Read more
  103. 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 aspect ratio - i.e. they wanted images that were orignally landscape to be square, with no skewing of t […]
    Read more
  104. 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 the highest score, and I decided I’d “cheat” and just get my computer to do it for me. It didn’t wo […]
    Read more
  105. 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 module. I used this article to show me how to wire up the ultrasonic module using a breadboard. You will […]
    Read more