RSSAmplifier

Blog

Ed Johnson-Williams

Ed Johnson-Williams' website

edjohnsonwilliams.co.ukRSS feed ↗48 posts

Latest posts

Making music

I've been writing shapenote tunes in the Sacred Harp/Christian Harmony style. I've also been making electronic music ( Bandcamp , Soundcloud ) – mostly techno things but I also tried making some drum-and-bass. It's been great. This is quite new for me to compose music. It does take quite a lot of time and effort to build confidence in doing it. I can tell it's one of those you never finish…

UK Mountains Update

3 year ago, I made a map of British mountains . The map showed high and prominent mountains. Prominence is about how far you have to climb down from the top of the mountain to climb a higher mountain. More prominent mountains are likely to have a better view from the top. The map was meant to make it easier to find those. Anyway, I made great use of the map on holiday in the Lake District a couple…

Use LLMs to use chess engines, not to play chess

Use LLMs to build systems that solve problems. Don't use LLMs to solve problems directly. Apple published some research recently saying LLMs fail at "reasoning" when problems get even fairly complicated. They asked LLM models from Anthropic and OpenAI to solve Tower of Hanoi and they couldn't handle it. Tower of Hanoi is a puzzle with three rods and multiple discs of different sizes, where you…

When vendor lock-in might be worth it: RedwoodSDK's Cloudflare-only approach

I've been looking at RedwoodSDK recently. It's a React framework that's making a technology and communication decision I find quite interesting. Instead of trying to be platform-agnostic, they're building exclusively for Cloudflare and just accepting the vendor lock-in criticism in exchange for being able to quickly create a batteries-included JS framework. Most frameworks try to work everywhere…

Launching Nearest Color

I've launched an app that matches any colour to popular colour palettes. It's called Nearest Color . That site's got demos and videos etc. In short, you give it a colour in any format and it tells you the closest colours to it from your selected palette. You can buy it on the Mac App Store . It was made with Tauri and Svelte .

Deploy Laravel 11 for free on Vercel in 2024

You can deploy Laravel on Vercel. For free! This is nice if you're coming to Laravel from Javascript land like me. In Javascript, Netlify and Vercel make it really easy to deploy something you're just trying out for free without needing to worry about running a server. Deploying Laravel on Vercel is more work compared to hosting Astro, SvelteKit etc on Vercel or Netlify. But Laravel does more…

Announcing Nearest Color

I'm making a new tool called Nearest Color to help you find the nearest colour from your palette. It's still a work in progress but I'm sharing progress. It'll be an app for macOS and Windows. You enter <code>#d58400</code> and select your palette. Say you select Tailwind, it tells you <code>yellow-600</code>. You enter <code>lab(80.5% -40 79)</code>, it tells you <code>lime-400</code>. I made a…

Svelte Unstyled Tags Input

I've made a tags input component for Svelte. It comes completely unstyled but with lots of classes, ids and data attributes for hooking in with your own styles. And same for passing in your own classes to specific parts of the components too. There are plenty of configuration options for things like showing the input label, customising button text, placeholders etc. This is how the tags input…

Chess Variants

Shut Up & Sit Down – the board game reviewers – have a fun video called Nine Easy Ways to Make Chess Fun that looks at 9 variants on the rules of chess. I've been playing normal chess a bit recently and I like it. Just going to write down notes on some of the variants that seem like they'd be fun to try out. Atomic Chess Horde Monster chess Rifle chess Demi chess Synchronistic chess Get the King…

I've set up a microblog that uses Github Issues as a CMS

I've made a microblog . It's a blog but the idea is that I can put short posts there without too much thought or effort. The key thing here is the posting experience. If it's not easy, I won't do it. Writing a markdown file on my phone is just not going to happen. I can – but usually don't – use Netlify CMS for this blog and it's not good on mobile – like it's really bad. Github's interface for…

Announcing "Draft One" – a new text editor

Update (19.12.2023): I've allowed my Apple developer certificate lapse and the domain expired so this isn't available any more :-( Draft One is a new app I've built. I'm calling it a text editor for focused first drafts . It's a simple app, but I think it's going to be really useful for people. If you ever find yourself double-guessing yourself when you're writing – and therefore slowing down –…

Very slightly smaller UK mountains

Earlier this week, I wrote about the UK Prominent Peaks database . That database has all UK peaks that are at least 500m above sea level and have a prominence of at least 100m. See the post for an explanation of prominence but – long story short – the higher a mountain's prominence, the more it stands out from the surrounding area.) You've got to draw the line somewhere. But there are 427 peaks…

Big UK mountains

There's a very high mountain in the Cairngorms in Scotland called "Sgor an Lochain Uaine" . It's 1,258m above sea level. That makes it the 5th highest mountain in the UK . But as the whole of the Cairngorms is pretty high, it's not much higher than the surrounding area. And mountains that are higher than everything else around it are theoretically more likely to have better views at the top.[^1]…

I’m making a React Native phone app and omg I miss Svelte stores

That’s it. That’s the title.

I attended a funeral on Youtube

I watched a funeral of a former colleague on Youtube today. I was at home all by myself. It was one of the hardest experiences I've ever gone through. My colleague was Mary Milne. She managed me at Traidcraft Exchange – soon to be Transform Trade . Mary was an incredibly supportive and inspirational colleague and manager. She was a remarkable person. She lived in Hampshire and worked in London. I…

Re-written website: Get YouTube Thumbnails

A few years ago, I made a tool called Get YouTube Thumbnails. See my original blog post about it . This is what it did. When you submit a YouTube URL, you get back the image, a link to that image, and the original height and width of that image (even if it's scaled down on your screen size). You can also download the image with a YouTube play logo overlaid on the top. Anyway, that site broke and I…

New website: Find the nearest Tailwind Colour

I've made a new tool called Find the nearest Tailwind colour . Enter any hex colour code like #FFFFFF and it willl find the nearest colour in Tailwind CSS 's full colour palette for you. It's useful when you want to quickly use a colour that's close to another (similar) colour but you don't want to extend Tailwind's colour palette . ( Svelte was handy again here.) Take a look at the tool .

New website: First Draft – Don't let editing slow down your first draft

Update: I've rewritten First Draft from scratch and re-worked it into a totally offline desktop app. It's now called Draft One . It's available on macOS so far with Windows to come. Do you ever find yourself writing a first draft of something but you keep getting bogged down by making little edits? First Draft is a text editor I've created that stops editing from slowing you down. It's at…

New website: Coffee recipes app to learn Svelte

I've made a very small website of coffee recipes. To be clear, there is one recipe on there. I've called it Coffee Coach – which is way too grandiose. Basically it just does the calculations for how much coffee or water I need and how much water to pour when I'm making my pourover coffee. There are other bits to a coffee recipe. I haven't mentioned those. This just stops me needing to open my…

Websites and allotments: why do I write code?

I am not a professional web developer. Why do I write code? My answer is, farmers don't have allotments. Let me explain. Aside (21-5-20): Since I published this, I've come across people talking about digital gardening. This seems to mean publishing open iterations of your learning on your website and not worrying about being judged. It's not quite what I mean here despite the metaphor of allotment…

New website: Hammer keys. Get trains.

User story As a 3-year old, I want to press any and all the keys on my dad's keyboard, So I can see trains. Acceptance criteria It's done when my son can press any key on a keyboard and see a new train. Resulting website Hammer keys. Get trains. See the code for the site on Github . I used Alpine.js to learn a bit about that and declarative approaches Javascript.

On the whataboutery around the Saudi takeover of Newcastle United

Saudi Arabia wants to buy 80% of Newcastle United Football Club to make itself look good. I'm a Newcastle fan. I'm appalled by the idea of Saudi Arabia buying the club. Saudi Arabia is using the club to improve its terrible and well-deserved image. Saudi Arabia has a disgraceful human rights record. It also plays a leading role in the world's addiction to oil. Countries should not buy football…

New website: Save Your Indie High Street

Save Your Indie High Street is a response to coronavirus. Local pubs, cafes, restaurants and cinemas have had to close. Even with help from the government, they're under huge financial strain. Many small businesses sell vouchers or deliver their goods. Save Your Indie High Street lets anyone submit details about how to order delivery or buy vouchers from small local businesses. People can then use…

Development and Production favicons in Eleventy

CSS Tricks has an article up about using a different favicon for local development and production . That way, when you've got both open in tabs, you can easily tell which tab is which. Here's a way to have different production and development favicons in Eleventy . Have two folders for your site's favicons. Keep your favicons for production in one folder. And keep your favicons for development in…

Bernie Sanders' healthcare plan isn't necessarily the best way to universal American healthcare

In the UK, the NHS is taxpayer-funded and free at the point of access. [^1] It is great. And it sounds a lot like Bernie Sanders' plan for Medicare for All with a government-provided healthcare program providing all Americans with healthcare coverage. One difference between the British system and Medicare for All is that Bernie Sanders' plan is to completely dismantle America's private healthcare…

Twitter's political ads ban has an accurate definition of political but campaign groups won't like it (eventually)

Twitter's decision to ban political ads by the end of November ^1 could lead to some bad situations for campaign groups, charities, and NGOs. As well as ads run by politicians, candidates, or ads in support of politicians, Twitter is also banning "issue ads". They're defining issue ads as "ads that advocate for or against legislative issues of national importance (such as: climate change,…

New website: I made a test site to learn about fetching data from APIs and turning it into HTML using vanilla JS and accidentally made my main Hacker News reader

Title says it all. Doughnut Reader is my main Hacker News reader now. It's got a dark theme, works nicely on mobile, and is really fast. No tracking. Have a look and let me know what you think. If you have a look at the code ( source on Github is here ), you can see that I played for a long time with getting comments to appear on the site in a popup. It kind of worked but I couldn't get the…

Some of my Sacred Harp poster designs

Over the last year, I've been designing posters for the Durham Sacred Harp singing. These are a few that I've made. Main poster This one is very close to the one that I printed up and put around town. There are a couple of small differences. If you haven't sung Sacred Harp before, then the logo at the top is alluding to the hollow square arrangement that Sacred Harp singers sit in. I've tried to…

Rebuilt website: Durham Sacred Harp

I've rebuilt the Durham Sacred Harp site in Eleventy . The source is on Github here . This let me add in Netlify CMS which will make managing the content a lot easier as it was just one big HTML file before. The site should look the same. On the old site, I was using client-side Javascript to work out the dates of the next three singings. This was always a hack that I wasn't that happy with. If…

Replicating Jekyll's `markdownify` filter in Nunjucks with Eleventy

Jekyll has a useful filter called markdownify that converts a Markdown string into HTML. Nunjucks doesn't have this filter. I've replicated this in Eleventy by adding this into my .eleventy.js file. module.exports = function (eleventyConfig) { const md = require("markdown-it")({ html: false, breaks: true, linkify: true, }); eleventyConfig.addNunjucksFilter("markdownify", (markdownString) =>…

New website: Newcastle Sacred Harp

I made a website for the Newcastle Sacred Harp singing group. It's available at https://newcastlesacredharp.co.uk . The site is built with Jekyll and the code is on Github . I learnt to set up Netlify CMS for the site. Which was nice.

Publishing my Pocket reading list on this website

I've recently added a page called Reading List to this website . It's a page that shows the unread articles in my Pocket account that I haven't tagged as 'private'. This post details how this works using Eleventy Javascript data files, the Pocket API, IFTT webhooks, and Netlify build webhooks. In case you don't know, Pocket is a service that lets you save links to read/watch later. It's really…

New website: Turning off targeted ads

I’ve made a website. It’s called Stop Targeting Ads at Me . It’s a collection of links and instructions to turn off targeting of ads and/or data collection that helps advertisers target ads on all sorts of websites, apps, and devices. Some people would prefer that data about who they are and what they do isn’t used to advertise things to them. This website is for those people. I’ve described what…

Sacred Harp songs that are also HTTP Status Codes

This is another really silly Sacred Harp one. Someone called " 404" ( Youth Will Soon Be Gone ) at a Newcastle singing recently and someone immediately said Error Not Found . As a result, this is a list of Sacred Harp songs that are also HTTP Status Codes . 404 is probably the most famous status code but there are lots . My wife estimated that this will be funny to about three people. That might…

A dataset for Sacred Harp songs

I've previously done some analysis involving songs from the Sacred Harp. Some have been serious ; some less {' '} so . One challenge in doing this analysis is having a machine-readable dataset of all songs to work with. The excellent indexes on fasola.org present the information for each individual song on a different page which is great but you can't easily analyse all the songs at once. To make…

New website: Making it easy to get thumbnails of YouTube videos

I made a web app that makes it easy to download thumbnails for YouTube videos. It’s called Get YouTube Thumbnails . Update 12 Jan 2021: This broke and I forgot how it worked so I couldn’t fix it. I’ve rebuilt it here: <a href="https://getyoutubethumbnails.netlify.app">getyoutubethumbnails.netlify.app</a> When you submit a YouTube URL, you get back the image, a link to that image, and the original…

A better way of removing punctuation from a string in Python

This post is as a future reminder for me as much as anything. I made a Python program called game-image-resizer a few months ago. It takes a list of board games, finds each board game on BoardGameGeek 's API, downloads the best image for each game, does some resizing and editing of the image, and then saves it using a useful filename. That final stage of saving as a useful filename meant taking…

Football formations in Sacred Harp numbers

This is a very silly post. I took all the song numbers from the Sacred Harp and asked the question, "Which song numbers in the Sacred Harp are football/soccer formations?" The answer (if you only count modern, proper formations with a forward) is: 343 , 352 , 361 , 424 , 433 , 442 , 451 , 532 , and 541 There's a great book called Inverting the Pyramid that's about the history of football…

Square numbers in Sacred Harp song numbers

A singer at the Sacred Harp singing in Durham yesterday was calling only square numbers . I went and made a list of those numbers. Square root Song number 6 36t 6 36b 7 49t 7 49b 8 64 9 81t 9 81b 10 100 11 121 12 144 13 169 14 196 15 225t 15 225b 17 289 18 324 19 361 20 400 21 441 22 484 And the Python code I used to find this… import math # All song numbers with the t (top) or b (bottom) taken…

Winners and Losers in the City of Durham Parish Council Election

Yesterday saw the first City of Durham Parish Council Election . Considering it was the first election of its type, it would have been handy if the council had told people how the electoral system would work. The parish council is divided into three wards : Elvet and Gilesgate (six councillors) — results Neville's Cross (eight councillors) — results Durham South (one councillor) — results Nearly…

When does Easter Sunday fall on April Fools' Day?

Today is both April Fools' Day and Easter Sunday (in Western Christianity ). When did this last happen and when will it happen again? This is relatively straightforward to find out thanks to Python and specifically the dateutil module. Dateutil makes it easy to find out the date of Easter Sunday for any given year between 1583 and 4099. The code I used for this is right at the bottom of this post.…

Female Composers in the Sacred Harp

<p> A couple of weeks ago, I was in a <a href="https://en.wikipedia.org/wiki/Sacred_Harp">Sacred Harp</a> singing school where a new singer asked whether there are female composers in the Sacred Harp. The singing school was in <a href="https://durhamsacredharp.co.uk">Durham, UK</a> ( <a href="https://durhamsacredharp.co.uk">shameless plug</a>). I said something like, "Oh yeah there are lots of…

New website: Durham Sacred Harp

I made a website for the Durham Sacred Harp singing group. It's at https://durhamsacredharp.co.uk .

How often is 1st January a Monday?

Answer...less often than every other day except Saturday. I have no idea why. Yesterday, 1st January 2018 was a Monday. Monday is the first day of the week. Some people think Sunday is the first day of the week. I don't understand those people. Anyway, it made me wonder...How often has the first day of the week been the first day of the year? And how many years will we have to wait until the first…

A simplistic post on remembering your country's history

Donald Trump says that removing statues to Confederate generals is changing history . He's wrong. Take Germany. They don't need statues of Hitler to remember Germany's history even though Hitler is part of German history. They have memorials to the victims of Nazi Germany instead. People in Germany remember Germany's history without having monuments of the people responsible for the Holocaust.…

A simplistic post on quick trade agreements

A quick trade deal means the country with the smaller economy being forced to accept the demands of the larger economy in return for the speed of the deal. You don't want a quick deal if you're negotiating with the US . Unless you're not bothered about food safety, environmental standards, rules on procurement of public services (this means NHS). One example. Chicken in America is usually washed…

A simplistic post on Brexit utopianism

This has been said many times before. Brexit supporters on the right who complain that the socialist utopianism of Corbyn etc isn't pragmatic are ridiculous. You can't complain about utopianism while wanting the UK to jump off the Brexit cliff hoping there will be a soft landing. Brexit is not a pragmatic project. Labour's position is not much better. You can't claim your manifesto is fully costed…

A simplistic post on liberalism and Christianity

I'm a straight, Christian man who is liberal - both politically and theologically. I disagree with Tim Farron's apparent view that having an abortion or gay sex is a sin I also disagree with Tim Farron's comments that being a liberal leader and a "faithful Christian" is irreconcilable. There are lots of liberal Christians. It helps to be a Christian who embraces people of all sexualities and is…