From 1d421c8ed9051c8f2bed57a25fae187402ea9524 Mon Sep 17 00:00:00 2001 From: Thomas Date: Sun, 11 Jan 2026 17:00:43 +0000 Subject: [PATCH] blog: Unsubscibe from Everything December --- ...11-unsubscribe-from-everything-december.md | 25 +++++++++++++++++++ src/routes/+layout.svelte | 10 ++++++++ src/routes/blog/[slug]/+page.svelte | 20 ++++++++++++++- src/stores/colourSchemeStore.ts | 6 +++++ 4 files changed, 60 insertions(+), 1 deletion(-) create mode 100644 src/content/blog/2026-01-11-unsubscribe-from-everything-december.md diff --git a/src/content/blog/2026-01-11-unsubscribe-from-everything-december.md b/src/content/blog/2026-01-11-unsubscribe-from-everything-december.md new file mode 100644 index 0000000..e8680ba --- /dev/null +++ b/src/content/blog/2026-01-11-unsubscribe-from-everything-december.md @@ -0,0 +1,25 @@ +--- +title: '"Unsubscribe from everything" December' +date: 2026-01-11T16:55:48.239Z +slug: 2026-01-11-unsubscribe-from-everything-december +author: Thomas Wilson + +--- +I am on so many mailing lists (sometimes I'm inexplicably on the same list twice). A lot of very committed marketing teams want to tell me regularly about all the great prices I can get on bread flour, language learning apps, newsletter subscriptions, mortgages, and anything else. + +I'm tired. I can't open, unsubscribe, and delete these emails every day of every month of a year. But for the last couple of years, December has been my month of resolve. Every email that hits my inbox gets an actual looking at. Unless I get genuine joy or utility from it: it's going away. + +I was shocked by how *many* emails I was getting, a soon as I started paying attention. So many emails that mean nothing to me, but take up attention, energy, and water. + +This year I also extended it to my monthly media subscriptions. Anything that I take joy from, and get real value from, I have converted to a yearly subscription. Anything else, I got rid of. + +The amount of money I will save each month by not paying for these now-cancelled subscriptions pays for over half the "monthly" cost of these annual subscriptions. I'm not saying that I'm getting things for free, but the maths *is* persuasive. + +After this cull, I'm left with a handful of newsletters and media organisations that I am happy to support: + +- [The Verge](https://www.theverge.com/) membership ($50/yr). They recently released their ad free podcasts. The twice-weekly episodes of The Vergecast make this price a no-brainer, but their written coverage of culture, media, and tech (read: therefore the economy (read: therefore politics)) are fantastic. I am very happy to support independent media of this standard *and* at this price. I particularly like the weekly *Installer* Newsletter. +- [Leena Norms](https://www.patreon.com/c/thegumptionclub) (£35/yr, but this tier has been discontinued). Leena is a UK-based creator who speaks about literature, the climate emergency, and sewing. Marvellous. +- [If Books Could Kill](https://www.patreon.com/cw/IfBooksPod) ($50/yr). This monthly-ish podcast takes the question we should all be asking ourselves: "is that true?" and just sort of runs with it. Of all the podcasts I listen to, this one has the highest chance of making my cackle out loud to myself while I'm on a bike ride, or whatever. +- [Connected Pro](https://www.relay.fm/connected) ($70/yr). A weekly podcast about technology news. The vibes are great, and opinions are always well-considered. Run by an independent company with founded in the States and UK. +- [Garbage Day Newsletter](https://www.garbageday.email/) ($45/yr). A US-based independent newsletter focusing on the "chronically online". Very focused on the States but Ryan, the founder, has such a deep knowledge of everything terrible that ever happened online I'm impressed but I'm never sure if that makes him *okay*. You know? +- [The Guardian](https://www.theguardian.com/) (£12/mo, no annual digital plan). Their "All-Access Digital" plan only has a monthly option, but grants access to their app, their food app (Feast, which has a good body of plant-based), and ad-free reading. Ideally we should all be paying for our journalism and news coverage in a way that doesn't incentivise engagement (e.g. click bait). \ No newline at end of file diff --git a/src/routes/+layout.svelte b/src/routes/+layout.svelte index 343b472..e634bdb 100644 --- a/src/routes/+layout.svelte +++ b/src/routes/+layout.svelte @@ -52,6 +52,16 @@ value.text ); + document.documentElement.style.setProperty( + "--colour-scheme-text-secondary", + value.textSecondary + ); + + document.documentElement.style.setProperty( + "--colour-scheme-border", + value.border + ); + document.documentElement.style.setProperty( "--colour-scheme-background-accent", value.backgroundAccent diff --git a/src/routes/blog/[slug]/+page.svelte b/src/routes/blog/[slug]/+page.svelte index 9f415d2..6244aaa 100644 --- a/src/routes/blog/[slug]/+page.svelte +++ b/src/routes/blog/[slug]/+page.svelte @@ -66,7 +66,12 @@
{@html post.content} - See other articles +
+ See other articles +
+ Everything written here, on my personal blog, is just that: personal. Nothing + here reflects, or is endorsed by, my current or previous employers. +
@@ -154,6 +159,19 @@ letter-spacing: -0.5px; } + :global(#article #disclosure) { + padding: 4px; + margin-top: 48px; + font-size: 0.9rem; + color: var(--colour-scheme-text-secondary); + border-top: 1px solid var(--colour-scheme-border); + } + + :global(#article #see-other-articles) { + padding-bottom: 4px; + display: inline-block; + } + :global(li) { margin: 0; line-height: 140%; diff --git a/src/stores/colourSchemeStore.ts b/src/stores/colourSchemeStore.ts index 9dfce92..1af5cd8 100644 --- a/src/stores/colourSchemeStore.ts +++ b/src/stores/colourSchemeStore.ts @@ -8,6 +8,8 @@ interface ColourScheme { backgroundAccent: string; text: string; textAccent: string; + textSecondary: string; + border: string; } export const lightColourScheme: ColourScheme = { @@ -16,6 +18,8 @@ export const lightColourScheme: ColourScheme = { backgroundAccent: '#f8f9fa', text: '#212529', textAccent: '#495057', + textSecondary: '#6c757d', + border: '#495057', }; export const darkColourScheme: ColourScheme = { @@ -24,6 +28,8 @@ export const darkColourScheme: ColourScheme = { backgroundAccent: '#343a40', text: '#f8f9fa', textAccent: '#ced4da', + textSecondary: '#adb5bd', + border: '#343a40', }; export const colourSchemes: Record = {