<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom/"><channel><title>Andy Bell</title><description>Get my posts as soon as they go live!</description><link>https://bell.bz/</link><atom:link href="https://bell.bz/rss.xml" rel="self" type="application/rss+xml"/><item><title>I’m unsubscribing from the AI discourse</title><link>https://bell.bz/im-unsubscribing-from-the-ai-discourse/</link><guid isPermaLink="true">https://bell.bz/im-unsubscribing-from-the-ai-discourse/</guid><pubDate>Wed, 25 Feb 2026 10:24:57 GMT</pubDate><content:encoded>
&lt;p&gt;I’m bored of hearing about it, bored of seeing people I respect(ed) fawn over it and it’s really not doing my mental health any good.&lt;/p&gt;



&lt;p&gt;I’m going wait for the &lt;a href=&quot;https://www.wheresyoured.at/the-haters-gui/&quot;&gt;inevitable bubble burst&lt;/a&gt; and then be ready to help people burned by this harmful technology via &lt;a href=&quot;https://set.studio/&quot;&gt;Set.studio&lt;/a&gt; and &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt;. &lt;a href=&quot;https://piccalil.li/blog/a-2026-piccalilli-homepage-redesign/&quot;&gt;We’ve recently made our viewpoint very clear over&lt;/a&gt; there anyway. &lt;/p&gt;



&lt;h2&gt;How am I doing it? &lt;/h2&gt;



&lt;p&gt;Filters and mutes in Bluesky and Feedbin will do the job nicely for me I think because I don’t really listen to podcasts, I don’t really watch Youtube and I don’t really bother with Mastodon or Linkedin. I just wish I could mute words in Discord! &lt;/p&gt;



&lt;p&gt;Anyway, let’s see if this helps my brain! &lt;/p&gt;
</content:encoded></item><item><title>I listen to a lot of I Prevail</title><link>https://bell.bz/i-listen-to-a-lot-of-i-prevail/</link><guid isPermaLink="true">https://bell.bz/i-listen-to-a-lot-of-i-prevail/</guid><pubDate>Tue, 03 Feb 2026 17:32:58 GMT</pubDate><content:encoded>
&lt;p&gt;I only discovered them in July 2025 and I’ll let this &lt;a href=&quot;https://www.last.fm/user/belldotbz&quot;&gt;last.fm&lt;/a&gt; chart do the rest to illustrate the point.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;781&quot; height=&quot;1024&quot; src=&quot;https://andy-bell.imgix.net/2026/02/CleanShot-2026-02-03-at-16.34.54@2x-781x1024.jpg&quot; alt=&quot;A clip from a last.fm summary showing that I Prevail were my number 2 artist with 585 scrobbles. 

There&apos;s a chart that looks like a bloody COVID spike, starting from July 2025&quot; srcset=&quot;https://andy-bell.imgix.net/2026/02/CleanShot-2026-02-03-at-16.34.54@2x-781x1024.jpg 781w, https://andy-bell.imgix.net/2026/02/CleanShot-2026-02-03-at-16.34.54@2x-229x300.jpg 229w, https://andy-bell.imgix.net/2026/02/CleanShot-2026-02-03-at-16.34.54@2x-768x1007.jpg 768w, https://andy-bell.imgix.net/2026/02/CleanShot-2026-02-03-at-16.34.54@2x.jpg 1138w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;I think this chart sums me up as: &lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;445&quot; height=&quot;552&quot; src=&quot;https://andy-bell.imgix.net/2026/02/CleanShot-2026-02-03-at-16.41.04@2x.jpg&quot; alt=&quot;The &amp;quot;I listen to Turnstile&amp;quot; meme where a dude is yelling &amp;quot;I listen to Turnstile&amp;quot; in a countryside setting, but instead of Turnstile it says &amp;quot;I Prevail&amp;quot; &quot; srcset=&quot;https://andy-bell.imgix.net/2026/02/CleanShot-2026-02-03-at-16.41.04@2x.jpg 445w, https://andy-bell.imgix.net/2026/02/CleanShot-2026-02-03-at-16.41.04@2x-242x300.jpg 242w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;Anyway, I think they rip. They’re a bit cheesy, sure, but &lt;a href=&quot;https://music.apple.com/gb/album/true-power/1629105248&quot;&gt;this record&lt;/a&gt; especially sounds &lt;em&gt;massive&lt;/em&gt;, so if you’re into metalcore etc, give ’em a try. &lt;/p&gt;
</content:encoded></item><item><title>Fun shadow coding challenge</title><link>https://bell.bz/fun-shadow-coding-challenge/</link><guid isPermaLink="true">https://bell.bz/fun-shadow-coding-challenge/</guid><pubDate>Fri, 30 Jan 2026 12:11:42 GMT</pubDate><content:encoded>
&lt;p&gt;Timehop just reminded me of this prototype I made &lt;em&gt;8 years ago&lt;/em&gt;. Scroll it and you’ll see that the central light source (orange line) affects the shadow. &lt;/p&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;p&gt;CSS has come on a lot in those 8 years, so could &lt;em&gt;you&lt;/em&gt; do better? Would love to see it, so &lt;a href=&quot;https://bell.bz/links&quot;&gt;let me know if you do&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;&lt;/p&gt;
</content:encoded></item><item><title>It really is the year of the website</title><link>https://bell.bz/it-really-is-the-year-of-the-website/</link><guid isPermaLink="true">https://bell.bz/it-really-is-the-year-of-the-website/</guid><pubDate>Thu, 29 Jan 2026 12:24:42 GMT</pubDate><content:encoded>
&lt;p&gt;I keep talking about it so I’m finally doing it. You might be looking at my website right now, thinking “this looks a bit &lt;em&gt;basic&lt;/em&gt; m8″ and you’d be right. It’s because I’m building this website in iterations. The version you see now is the “wireframe” shell version and there’s lots more versions to come.&lt;/p&gt;



&lt;p&gt;Today, &lt;a href=&quot;https://piccalil.li/projects/personal-site/1/&quot;&gt;I’ve published the first post of a series on Piccalilli &lt;/a&gt;where I redesign and re-build this thing in the open. The hope is that it inspires &lt;em&gt;you&lt;/em&gt; to build and maintain your own corner of the internet.&lt;/p&gt;



&lt;figure&gt;&lt;a href=&quot;https://piccalil.li/projects/personal-site/1/&quot;&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;600&quot; src=&quot;https://andy-bell.imgix.net/2026/01/CleanShot-2026-01-29-at-12.06.56@2x-1024x600.jpg&quot; alt=&quot;A screen grab of the &amp;quot;personal website redesign&amp;quot; open working project on Piccalilli, featuring the first post I&apos;m referencing &quot; srcset=&quot;https://andy-bell.imgix.net/2026/01/CleanShot-2026-01-29-at-12.06.56@2x-1024x600.jpg 1024w, https://andy-bell.imgix.net/2026/01/CleanShot-2026-01-29-at-12.06.56@2x-300x176.jpg 300w, https://andy-bell.imgix.net/2026/01/CleanShot-2026-01-29-at-12.06.56@2x-768x450.jpg 768w, https://andy-bell.imgix.net/2026/01/CleanShot-2026-01-29-at-12.06.56@2x-1536x899.jpg 1536w, https://andy-bell.imgix.net/2026/01/CleanShot-2026-01-29-at-12.06.56@2x-2048x1199.jpg 2048w&quot; /&gt;&lt;/a&gt;&lt;/figure&gt;



&lt;p&gt;I’ve also been (borderline desperately) trying to think of something to write about in 2026. Doing more practical, building stuff is the direction I’ve landed on. It links back to what I was talking about in my &lt;a href=&quot;https://bell.bz/its-been-a-very-hard-year/&quot;&gt;end of year wrap up&lt;/a&gt;, in the &lt;em&gt;Be human and improve your own skills&lt;/em&gt; section:&lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;There’s been a bit of a culture of “I don’t need to bother doing that because of AI” and let me tell you — from someone who has been doing this stuff for nearly 20 years — that is a dangerous position to put yourself in. No single technology has surpassed the need for personal development and genuine human intelligence.&lt;/p&gt;



&lt;p&gt;You should always be getting incrementally better at what you do. Now, what I am &lt;em&gt;not&lt;/em&gt; saying is that you should be doing &lt;em&gt;work&lt;/em&gt; work out of hours. You are not paid enough and frankly, the industry does not value you enough. &lt;strong&gt;Value yourself by investing your time in skills that make you happy and fulfilled&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;&lt;a href=&quot;https://bell.bz/wrapping-up-2025-sort-of/#:~:text=Be%20human%20and%20improve%20your%20own%20skills&quot;&gt;In that section&lt;/a&gt;, I also say “make yourself, and maintain a personal website”. I’ve had a website for a long time, but I couldn’t really &lt;em&gt;maintain&lt;/em&gt; it anymore because frankly, I build it with my elbows. The previous iteration served me well, sure, but I want something to learn the new stuff with, to enjoy working on and to &lt;em&gt;embrace the art&lt;/em&gt;.&lt;/p&gt;



&lt;p&gt;Me writing about that as I go is just the cherry on the top. I hope you’ll follow along as I do that! You can &lt;a href=&quot;https://piccalil.li/projects/personal-site/1/&quot;&gt;read the first post in the series here&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Wrapping up 2025 (sort of)</title><link>https://bell.bz/wrapping-up-2025-sort-of/</link><guid isPermaLink="true">https://bell.bz/wrapping-up-2025-sort-of/</guid><pubDate>Fri, 19 Dec 2025 10:59:43 GMT</pubDate><content:encoded>
&lt;p&gt;I’m doing my annual wrap up post early this year because I’m really tired and want to completely switch off for a couple of weeks. It’s time to spend some quality time with my lovely family.&lt;/p&gt;



&lt;p&gt;This isn’t my usual style of wrap-up. Consider this wrap up more of a call to action than a retrospective. Let’s get stuck in.&lt;/p&gt;



&lt;h2&gt;World events&lt;/h2&gt;



&lt;p&gt;We’ve watched our western legacy media and politicians alike say, “nothing to see here” while Palestinians have been massacred by Israel. In fact, our government in the UK has persecuted supporters of Palestinian rights, some of which are &lt;a href=&quot;https://www.rte.ie/news/uk/2025/1218/1549713-hunger-strike-uk/&quot;&gt;&lt;em&gt;still&lt;/em&gt; on hunger strike&lt;/a&gt; while they are held on remand, awaiting trial. This is on top of the government’s complicity in genocide of course.&lt;/p&gt;



&lt;p&gt;We’ve also seen (only if you look) a horrifying genocide in Sudan that continues to decimate the population.&lt;/p&gt;



&lt;p&gt;We’ve watched our pathetic politicians and again, legacy media give ground to the &lt;a href=&quot;https://bsky.app/profile/ethanmarcotte.com/post/3mabz7wz2kk2m&quot;&gt;far right and thin-skinned Billionaires&lt;/a&gt;. There’s been ample opportunities to change that direction and it’s not been taken. Personal, party affiliation and corporate interests are prioritised, as always.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;The mainstream political parties will not get us out of this. Give money and support to actual progressive parties.&lt;/strong&gt; In the UK, the only valid choice is the &lt;a href=&quot;https://greenparty.org.uk/&quot;&gt;Green Party&lt;/a&gt; as I see it.&lt;/p&gt;



&lt;p&gt;If we don’t fight back in 2026 — regardless of your political party affiliation — we’re fucked. Sports team politics helps only the rich and there are more of us than them. Never forget that and stop being comfortable with the status quo.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;There are more of us than them.&lt;/strong&gt;&lt;/p&gt;



&lt;h2&gt;The tech industry and AI&lt;/h2&gt;



&lt;p&gt;AI — more accurately Large Language Models (LLMs) — are a disaster. Don’t come at me with your mealy-mouthed “but I really enjoy it.” Grow up and start being serious.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://www.reuters.com/graphics/USA-ECONOMY/AI-INVESTMENT/gkvlqbgxkpb/&quot;&gt;Over a trillion USD&lt;/a&gt; has been pumped into this technology that works only some of the time and literally &lt;a href=&quot;https://www.theguardian.com/us-news/2025/aug/29/chatgpt-suicide-openai-sam-altman-adam-raine&quot;&gt;drives people to the point of suicide&lt;/a&gt;. Here, &lt;a href=&quot;https://bsky.app/profile/bell.bz/post/3loj2o2zra22r&quot;&gt;I collected some awful things throughout the year&lt;/a&gt;. Sorry in advance for making you furious.&lt;/p&gt;



&lt;p&gt;You’d think that people in the tech industry are smart and can see these problems and I wish I could agree. Instead we see sycophantic celebrations of this technology and continuing false claims that “this is the future” and “this is a game changer”.&lt;/p&gt;



&lt;p&gt;I agree in part about the future — you can’t put the LLM toothpaste back in the tube — but the bubble is not going to stay inflated. It can’t possibly do that, and you’ll see that fact if you &lt;a href=&quot;https://www.wheresyoured.at/the-haters-gui/&quot;&gt;just listen to people who know what they are talking about&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;We have to act &lt;strong&gt;against&lt;/strong&gt; this technology to reduce the damage in the long term. &lt;strong&gt;It is our responsibility&lt;/strong&gt;. It’s easy to call yourself an engineer but now, it’s time to actually be an engineer and act on your ethical responsibilities.&lt;/p&gt;



&lt;p&gt;Here’s what I’m asking people to do to take the “shine” off LLMs in the tech industry:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;Constantly and consistently post when it goes wrong. This could be on your blog or social media. &lt;em&gt;Post anyway&lt;/em&gt;.&lt;/li&gt;



&lt;li&gt;When people (especially people who are paid to peddle this technology) post claims: challenge them to provide evidence and prove their claims. It might sound harsh, but it’s long overdue that “thought leaders” in our industry are held to account for the effects of their influence.&lt;/li&gt;



&lt;li&gt;Create a culture of shame for AI boosting.&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Never forgive and especially never forget those who have boosted and vocally supported this technology&lt;/strong&gt;. Unless there are consequences, we’ll continue to have hype cycles like crypto, NFTs and now, LLMs. We have the power to break the cycle of cycles in our vast numbers.&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Stop paying for AI services.&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;Right now, it’s not a fair fight, especially as the vast majority of tech media appears to be “on side” with these AI companies. We have to change that as a collective unit. Support smaller, independent tech media and above all else, &lt;strong&gt;let’s organise&lt;/strong&gt;.&lt;/p&gt;



&lt;h2&gt;Be human and improve your own skills&lt;/h2&gt;



&lt;p&gt;There’s been a bit of a culture of “I don’t need to bother doing that because of AI” and let me tell you — from someone who has been doing this stuff for nearly 20 years — that is a dangerous position to put yourself in. No single technology has surpassed the need for personal development and genuine human intelligence.&lt;/p&gt;



&lt;p&gt;You should always be getting incrementally better at what you do. Now, what I am &lt;em&gt;not&lt;/em&gt; saying is that you should be doing &lt;em&gt;work&lt;/em&gt; work out of hours. You are not paid enough and frankly, the industry does not value you enough. &lt;strong&gt;Value yourself by investing your time in skills that make you happy and fulfilled&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;Here’s some ideas:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;Make yourself, and maintain a personal website&lt;/li&gt;



&lt;li&gt;Make random stuff that makes &lt;em&gt;you&lt;/em&gt; happy&lt;/li&gt;



&lt;li&gt;Find a creative outlet that you really enjoy&lt;/li&gt;



&lt;li&gt;Find other people’s creative outlets then celebrate and enjoy with them&lt;/li&gt;



&lt;li&gt;Spend less time scrolling timelines and chasing metrics. Spend more time embracing the things that you love&lt;/li&gt;



&lt;li&gt;Participate in smaller communities that bring you joy and support. Delete your Twitter account while you’re at it&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;I must be clear here too. When I say improve your skills, I’m not saying you have to be designing and coding. We are humans and we have vast levels of intelligence and creativity. Our purpose is much more than coding. Embrace that in whatever form &lt;em&gt;you want&lt;/em&gt;. &lt;strong&gt;Embrace art&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;By doing this, you’re bringing &lt;em&gt;back&lt;/em&gt; your ability to be curious, your ability to be creative and your ability to improve. It’ll do wonders for the understandable feeling of helpfulness too.&lt;/p&gt;



&lt;p&gt;Don’t fall into the trap of chasing metrics. Write because you want to write. Paint because you want to paint. Create because you want to create. &lt;strong&gt;Let the art fulfil you&lt;/strong&gt;. Don’t let likes, follows and page views ruin that for you. Fight the urge to turn personal projects into a money making and/or clout chasing venture.&lt;/p&gt;



&lt;p&gt;You should definitely do more designing, coding and learning to improve your professional skills, but it is your boss’s responsibility to give you the time and resources to improve those. If you are a boss reading this who &lt;em&gt;doesn’t&lt;/em&gt; do that: you are wrong and your staff &lt;em&gt;will&lt;/em&gt; leave unless you change that. “AI” won’t save you here.&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;I hope you have a restful holiday period. I want to thank everyone who has supported &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt;, &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; and my work this year. It means everything to me and next year, expect to see a lot more. I’ve written more about that in the &lt;a href=&quot;https://piccalil.li/blog/wrapping-up-2025/&quot;&gt;Piccalilli year in review&lt;/a&gt;. It’s rosier, I promise.&lt;/p&gt;



&lt;p&gt;Thank you to everyone that responded to &lt;a href=&quot;https://bell.bz/its-been-a-very-hard-year/&quot;&gt;my post on how hard this year has been&lt;/a&gt; too. I’m delighted to say that our Black Friday sales shot up and we’ve got some really good client work to get stuck into next year. To everyone I spoke to who’s also had a really hard year, I truly hope things have picked up for you too. Let’s all help and support each other in 2026, onwards.&lt;/p&gt;



&lt;p&gt;Please make sure you rest up and spend time with the people you love and the people that make you happy. I know that’s what I’m going to be doing.&lt;/p&gt;



&lt;p&gt;I’ve got a couple of Professional Obligations™ to do, then clocking off now for the year to enjoy the holidays with my family. Although I’m angry at the industry and the global situation, I feel like I’m in a much better headspace than I thought I would be in at this point. There have been lots of positives throughout the year, &lt;a href=&quot;https://piccalil.li/blog/wrapping-up-2025/&quot;&gt;especially with Piccalilli&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;Next year will be very different for me. I want to do more &lt;em&gt;making&lt;/em&gt;. I design so little and write so little code now and I’m starting to feel really rusty. That changes in 2026. Less spreadsheets and more CSS.&lt;/p&gt;



&lt;p&gt;I’m also going on a speaking hiatus with minimal conference attendance. The conference circuit won’t miss yet another white guy. I’ve done way too much this year, so a year off will do me good.&lt;/p&gt;



&lt;p&gt;Anyway, let’s all come back in 2026 refreshed and &lt;strong&gt;take these motherfuckers down&lt;/strong&gt;.&lt;/p&gt;
</content:encoded></item><item><title>It’s been a very hard year</title><link>https://bell.bz/its-been-a-very-hard-year/</link><guid isPermaLink="true">https://bell.bz/its-been-a-very-hard-year/</guid><pubDate>Thu, 27 Nov 2025 16:18:59 GMT</pubDate><content:encoded>
&lt;p&gt;Unlike a lot of places in tech, my company, &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt;/&lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt; has no outside funding. &lt;em&gt;Bootstrapped&lt;/em&gt; is what the LinkedIn people say, I think.&lt;/p&gt;



&lt;p&gt;It’s been a hard year this year. A &lt;em&gt;very&lt;/em&gt; hard year. I think a naive person would blame it &lt;em&gt;all&lt;/em&gt; on the seemingly industry-wide attitude of “AI can just do this for us”. While that certainly hasn’t helped — as I see it — it’s been a hard year because of a combination of limping economies, tariffs, &lt;em&gt;even more&lt;/em&gt; political instability and a severe cost of living crisis. It’s been a very similar year to 2020, in my opinion.&lt;/p&gt;



&lt;p&gt;Why am I writing this? All of the above has had a really negative effect on us this year. Landing projects for &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; has been extremely difficult, especially as we &lt;em&gt;won’t&lt;/em&gt; work on product marketing for AI stuff, from a moral standpoint, but the &lt;em&gt;vast&lt;/em&gt; majority of enquiries have been for exactly that. Our reputation is everything, so being associated with that technology as it increasingly shows us what it &lt;em&gt;really&lt;/em&gt; is, would be a terrible move for the long term. I wouldn’t personally be able to sleep knowing I’ve contributed to all of that, too.&lt;/p&gt;



&lt;p&gt;What we do really well is produce websites and design systems that actually work &lt;em&gt;for&lt;/em&gt; and &lt;em&gt;with&lt;/em&gt; people. We also share our knowledge and experience via tonnes of free content on &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt;, funded by &lt;a href=&quot;https://piccalil.li/courses/&quot;&gt;premium courses&lt;/a&gt; to keep the lights on. We don’t pepper our content with annoying adverts for companies you have no interest in.&lt;/p&gt;



&lt;p&gt;I’ve spoken about my &lt;em&gt;dream&lt;/em&gt; for us to &lt;a href=&quot;https://bell.bz/were-aiming-to-run-piccalilli-full-time/&quot;&gt;run Piccalilli full time&lt;/a&gt; and heck, that may still happen. For that &lt;em&gt;to&lt;/em&gt; happen though, we really needed this &lt;a href=&quot;https://piccalil.li/black-friday/&quot;&gt;Black Friday period&lt;/a&gt; to do as well, if not better, as it did last year. So far, that’s not happening unfortunately, but there’s still time.&lt;/p&gt;



&lt;p&gt;I get it, money is so tight this year and companies are seemingly not investing in staff with training budgets quite like they did. We actually tried to stem that a bit by trialing a community funding model earlier in the year that I outlined in &lt;a href=&quot;https://bell.bz/im-getting-fed-up-of-making-the-rich-richer/&quot;&gt;&lt;em&gt;‌I’m getting fed up of making the rich, richer&lt;/em&gt;&lt;/a&gt; and we even &lt;a href=&quot;https://piccalil.li/projects/course-brand-development/&quot;&gt;started publishing some stuff&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;It went down &lt;em&gt;incredibly&lt;/em&gt; well, but when push came to shove, we fell way short in terms of funding support. Like I say, we’re not swimming in investor money, so without the support on &lt;a href=&quot;https://opencollective.com/piccalilli&quot;&gt;Open Collective&lt;/a&gt;, as much as it hurt, we had to pull the plug. It’s a real shame — that would have been &lt;em&gt;incredible&lt;/em&gt; — but again, I &lt;em&gt;get it&lt;/em&gt;, money is &lt;em&gt;tight&lt;/em&gt;.&lt;/p&gt;



&lt;p&gt;This isn’t a woe is me post; that’s not how I roll. This is a post to give some context for what I’m going to ask next and how I’m trying to navigate the tough times. I’m asking folks to help &lt;em&gt;us&lt;/em&gt; so we can try to help everyone, whether that’s with web projects that actually work for people or continuing to produce extremely high quality education material. Here’s some ways you can do it.&lt;/p&gt;



&lt;h2&gt;Take advantage of our &lt;a href=&quot;https://piccalil.li/black-friday/&quot;&gt;Black Friday deals&lt;/a&gt;&lt;/h2&gt;



&lt;p&gt;You’ll see messaging like “this is the most important time of year for us” and it’s extremely true. To break the fourth wall slightly, people buying courses at full price is a lot rarer than you might think. So often, discount events are what keeps the lights on.&lt;/p&gt;



&lt;p&gt;We’ve launched two courses this year — &lt;a href=&quot;https://piccalil.li/javascript-for-everyone&quot;&gt;JavaScript for Everyone&lt;/a&gt; and &lt;a href=&quot;https://piccalil.li/mindful-design&quot;&gt;Mindful Design&lt;/a&gt; — that sit alongside my course, &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;Complete CSS&lt;/a&gt;, which we launched last year. I know you’ve probably been burned by &lt;em&gt;shit&lt;/em&gt; courses in the past, but these three courses are far from that. I promise.&lt;/p&gt;



&lt;p&gt;I can’t stress enough how &lt;em&gt;much&lt;/em&gt; Mat (JavaScript for Everyone) and Scott (Mindful Design) have put in to these courses this year. These two are elite level individuals with incredible reputations and they’ve shared a seemingly impossible amount of extremely high quality knowledge in their courses. I would definitely recommend giving them your time and support because they really will transform you for the better. For bosses reading this, all three courses will pay themselves back ten-fold — especially when you &lt;a href=&quot;https://piccalil.li/company-licences&quot;&gt;take advantage of bulk discounts&lt;/a&gt; — trust me.&lt;/p&gt;



&lt;h2&gt;Share our courses and our studio with your network&lt;/h2&gt;



&lt;p&gt;So many of you have purchased courses already and I’m forever thankful for that. I can’t stand the term “social proof” but it works. People might be on the fence about grabbing a course, and seeing one of their peers talk about how good it was can be the difference.&lt;/p&gt;



&lt;p&gt;You might think it’s not worth posting about the courses on social media but people &lt;em&gt;do see it&lt;/em&gt;, especially on platforms like Bluesky with their custom feeds. We see it too!&lt;/p&gt;



&lt;p&gt;Testimonials are &lt;em&gt;always&lt;/em&gt; welcome because we can pop those on the course marketing pages, &lt;a href=&quot;https://piccalil.li/complete-css/#:~:text=What%20others%20say,with%20Complete%20CSS&quot;&gt;just like on mine&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;In terms of sharing the studio, if you think we’re cool, post about it! It’s all about &lt;em&gt;eyes&lt;/em&gt; and nice words. We’ll do the rest.&lt;/p&gt;



&lt;h2&gt;Hire &lt;a href=&quot;https://set.studio&quot;&gt;Set Studio&lt;/a&gt; for projects&lt;/h2&gt;



&lt;p&gt;&lt;a href=&quot;https://set.studio/&quot;&gt;We’re really good at what we do&lt;/a&gt;! I know every studio/agency says this, but we’re different. We’re &lt;em&gt;actually&lt;/em&gt; different.&lt;/p&gt;



&lt;p&gt;We’re not going to charge you through the nose for substandard work — only deploying a fraction of our team, like a lot of agencies do. I set this studio up to be the antithesis of the way these — and I’ll say it out loud — &lt;em&gt;charlatans&lt;/em&gt; operate.&lt;/p&gt;



&lt;p&gt;Our whole focus is becoming your &lt;em&gt;partners&lt;/em&gt; so you can do the — y’know — running of your business/organisation and we take the load off your shoulders. We’re hyper efficient and we fully own projects because they’re way above your normal duties. We &lt;em&gt;get&lt;/em&gt; that. In fact, the most efficient way to get the most out of a studio like ours is to do exactly that.&lt;/p&gt;



&lt;p&gt;I know “numbers goes up” is really important and yes, numbers &lt;em&gt;definitely&lt;/em&gt; go up when we work with you. We do that without exploiting your users and customers too. There’s no deceptive patterns coming from us. We instead put &lt;em&gt;everything&lt;/em&gt; into branding, messaging, content architecture and making everything extremely fast and accessible. &lt;em&gt;That’s&lt;/em&gt; what makes the numbers go up for you.&lt;/p&gt;



&lt;p&gt;We’re incredibly fairly priced too. We’re not in the business of charging ridiculous fees for our work. We’re only a small team, so our overheads are nothing compared to a lot of agencies. We carry your budgets a long way for you and genuinely give you more bang for your buck with an equitable pricing model.&lt;/p&gt;



&lt;p&gt;We’ve got availability starting from the new year because starting projects in December is never the ideal way to do things. Getting those projects planned and ready to go &lt;em&gt;is&lt;/em&gt; a good idea in December though, so &lt;a href=&quot;https://set.studio/contact-us/&quot;&gt;get in touch&lt;/a&gt;!&lt;/p&gt;



&lt;p&gt;I’m also slowly getting back into CSS and front-end consulting. I’ve helped some of the largest organisations &lt;em&gt;and&lt;/em&gt; the smallest organisations, such as Harley-Davidson, the NHS and Google write better code and work better together. Again, starting in the new year I’ll have availability for consulting and engineering support. It might just be a touch more palatable than hiring the whole studio for you. Again, &lt;a href=&quot;https://set.studio/contact-us/&quot;&gt;get in touch&lt;/a&gt;.&lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;I’m always transparent — maybe &lt;em&gt;too&lt;/em&gt; transparent at times — but it’s really important for me to be honest. Man, we need more honesty.&lt;/p&gt;



&lt;p&gt;It’s taken a lot of pride-swallowing to write this but I think it’s more important to be honest than to be unnecessarily proud. I know this will be read by someone else who’s finding the year hard, so if anything, I’m really glad they’ll feel seen at least.&lt;/p&gt;



&lt;p&gt;Getting good leads is harder than ever, so I’d &lt;strong&gt;really appreciate people sharing this with their network&lt;/strong&gt;. You’ll &lt;em&gt;never&lt;/em&gt; regret recommending &lt;a href=&quot;https://piccalil.li/courses/&quot;&gt;Piccalilli courses&lt;/a&gt; or &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt;. In fact, you’ll look really good at what you do when we absolutely smash it out of the park.&lt;/p&gt;



&lt;p&gt;Thanks for reading and if you’re also struggling, I’m sending as much strength your way as I can.&lt;/p&gt;
</content:encoded></item><item><title>Happy one year anniversary to Complete CSS!</title><link>https://bell.bz/happy-one-year-anniversary-to-complete-css/</link><guid isPermaLink="true">https://bell.bz/happy-one-year-anniversary-to-complete-css/</guid><pubDate>Wed, 26 Nov 2025 04:09:00 GMT</pubDate><content:encoded>
&lt;p&gt;It was one year to the day that &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;Complete CSS&lt;/a&gt; went live. It was Piccalilli’s debut course at the time. Now we have &lt;a href=&quot;https://piccalil.li/courses/&quot;&gt;&lt;em&gt;three &lt;/em&gt;courses&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;Anyway, I just wanted to mark this moment and take another opportunity to thank everyone who has purchased Complete CSS. It’s changed &lt;em&gt;everything&lt;/em&gt; for us and your continued support of Piccalilli unlocks even more good stuff in the future. &lt;/p&gt;



&lt;p&gt;I got this feedback today and it sums up exactly what I’m trying to do with how I teach CSS. Maybe you can see yourself in it? &lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;I would like to thank you for your work. I have been working with CSS for 20 years, but I never managed to put it together properly. I used Tailwind, but also other approaches when I was frustrated with CSS. Your course helped me a lot. Thank you very much for CUBE CSS, I am enjoying CSS again. &lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;I’m so proud of how much the course, that I put &lt;em&gt;so much &lt;/em&gt;into, has helped so many people. It makes it all worth doing.&lt;/p&gt;



&lt;p&gt;I speak so often about the core skills (often called soft skills) that you learn in Complete CSS, but I thought I’d record a video on how &lt;em&gt;quick &lt;/em&gt;it is to compose the homepage after we’ve built the whole CSS system. Enjoy! &lt;/p&gt;




</content:encoded></item><item><title>Get the core right and the resilient code will follow</title><link>https://bell.bz/get-the-core-right-and-the-resilient-code-will-follow/</link><guid isPermaLink="true">https://bell.bz/get-the-core-right-and-the-resilient-code-will-follow/</guid><pubDate>Mon, 10 Nov 2025 11:52:44 GMT</pubDate><content:encoded>
&lt;p&gt;I delivered my talk for the last time at &lt;a href=&quot;https://beyondtellerrand.com/&quot;&gt;beyond tellerrand&lt;/a&gt; last week, so I thought I’d just mark it on my blog.&lt;/p&gt;



&lt;p&gt;I did it first at &lt;a href=&quot;https://ffconf.org/&quot;&gt;ffconf&lt;/a&gt; in response to a chat &lt;a href=&quot;https://remysharp.com/&quot;&gt;Remy&lt;/a&gt; and I had, so it’s only right that the video comes from there.&lt;/p&gt;



&lt;figure&gt;&lt;div&gt;

&lt;/div&gt;&lt;/figure&gt;



&lt;p&gt;Here’s my favourite image captured, from &lt;a href=&quot;https://beyondtellerrand.com/&quot;&gt;beyond tellerrand&lt;/a&gt;.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;683&quot; src=&quot;https://andy-bell.imgix.net/2025/11/EA092DAA-22E5-4D7D-B7C3-53544FE18E6F_1_105_c-1024x683.jpeg&quot; alt=&quot;A black and white shot of me on stage. I&apos;m pointing at the audience while the slide behind me reads: &amp;quot;So you want to get better at writing CSS?&amp;quot;&quot; srcset=&quot;https://andy-bell.imgix.net/2025/11/EA092DAA-22E5-4D7D-B7C3-53544FE18E6F_1_105_c-1024x683.jpeg 1024w, https://andy-bell.imgix.net/2025/11/EA092DAA-22E5-4D7D-B7C3-53544FE18E6F_1_105_c-300x200.jpeg 300w, https://andy-bell.imgix.net/2025/11/EA092DAA-22E5-4D7D-B7C3-53544FE18E6F_1_105_c-768x512.jpeg 768w, https://andy-bell.imgix.net/2025/11/EA092DAA-22E5-4D7D-B7C3-53544FE18E6F_1_105_c.jpeg 1086w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;Photo by &lt;a href=&quot;https://florianziegler.com/&quot;&gt;Florian Ziegler&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;It’s been an absolute pleasure to tour this talk. Thanks so all the conferences and meet-ups who invited me to share it with their audiences. You’re the best. A special thanks to &lt;a href=&quot;https://remysharp.com/&quot;&gt;Remy&lt;/a&gt; for encouraging me to write it in the first place and deliver it at &lt;a href=&quot;https://ffconf.org/&quot;&gt;their legendary event&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;The talk is based on three lessons of &lt;a href=&quot;https://piccalil.li/complete-css/?utm_medium=author-promo&quot;&gt;Complete CSS&lt;/a&gt; (which you can enjoy for free):&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://piccalil.li/complete-css/lessons/3&quot;&gt;The art of concise, effective communication&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://piccalil.li/complete-css/lessons/4&quot;&gt;Giving and receiving feedback&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://piccalil.li/complete-css/lessons/5&quot;&gt;Move slowly and methodically to go fast&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;I was writing all of this material at the same time last year because I was &lt;em&gt;truly obsessed&lt;/em&gt;. I’ve been doing this CSS thing for a long time now — nearly 20 years — and getting good at core skills &lt;strong&gt;far exceeds&lt;/strong&gt; everything else. Let me show you how with this material.&lt;/p&gt;



&lt;p&gt;Hope you enjoy the talk!&lt;/p&gt;
</content:encoded></item><item><title>Complete CSS vs JavaScript for Everyone</title><link>https://bell.bz/complete-css-vs-javascript-for-everyone/</link><guid isPermaLink="true">https://bell.bz/complete-css-vs-javascript-for-everyone/</guid><pubDate>Tue, 21 Oct 2025 11:07:46 GMT</pubDate><content:encoded>
&lt;p&gt;Alright, we recently &lt;a href=&quot;https://piccalilli.link/cc-vs-js4e&quot;&gt;launched our second course on Piccalilli&lt;/a&gt; and it’s &lt;em&gt;completely different&lt;/em&gt; to my course, &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;Complete CSS&lt;/a&gt;. I just want to break down why I think that’s important, along with &lt;em&gt;how&lt;/em&gt; you teach making a huge difference.&lt;/p&gt;



&lt;p&gt;I like to say that when I’m teaching, it’s like when parents of young kids “hide” vegetables in food. You know how it is, kids don’t wanna eat a lot of vegetables because they don’t taste as good, so a well blended base sauce for their favourite bolognese with a few extras makes everyone happy.&lt;/p&gt;



&lt;p&gt;I’m doing exactly that with Complete CSS. People &lt;em&gt;think&lt;/em&gt; that to get better at CSS, you have to “master” the syntax and know &lt;em&gt;all&lt;/em&gt; of the new features of the language. This helps, sure, but what makes you &lt;em&gt;really&lt;/em&gt; good at writing good CSS in the real world is being able to effectively communicate with designers to simplify their initial concepts &lt;strong&gt;as a team&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;I know this from the years I spent as a CSS consultant. So often, the work I did was all about fixing relationships in the teams I was working with and introducing planning and communication principles that would set them up for years. The result? Their CSS got better and better over time, which is fantastic. The overall design output was improved too, because of the principles of keeping things simple, while still having plenty of space to be creative too.&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;Moving along to how to be an effective JavaScript developer: it’s a different type of skill that you need to learn. JavaScript is a complicated and in a lot of ways, a &lt;em&gt;messy&lt;/em&gt; language. We can’t change that either because &lt;em&gt;rightly&lt;/em&gt;, JavaScript maintains its weaknesses because stuff written back in the 90s &lt;em&gt;has&lt;/em&gt; to work right now. That’s the web, babey, and we love it for that.&lt;/p&gt;



&lt;p&gt;With that in mind, to be a really effective JavaScript developer, regardless of your organisation’s choice of framework and flavour, &lt;strong&gt;you have to deeply understand why the language works like it does&lt;/strong&gt;. In fact, that deep knowledge of the language — as we see it — will set you up for what is &lt;em&gt;coming&lt;/em&gt; in our industry: a sizeable bubble burst. &lt;a href=&quot;https://bell.bz/why-bother-learning-javascript-now-that-we-have-generative-ai/&quot;&gt;I wrote about that too&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;So rather than hiding vegetables in your bolognese, Mat’s method of teaching is to lay everything out on the table for you instead. He’s showing you the weirdness, giving you the context for &lt;em&gt;why&lt;/em&gt; that is, and outlining methods for you to navigate that weirdness in the real world.&lt;/p&gt;



&lt;p&gt;The end goal is that when you come across issues in the future with your JavaScript code — which you will — that vast knowledge you’ve learned from &lt;a href=&quot;https://piccalilli.link/cc-vs-js4e&quot;&gt;JavaScript for Everyone&lt;/a&gt; will put you in a position of &lt;strong&gt;comfort&lt;/strong&gt;. That comfortable position will ensure you can navigate problems in a much more pragmatic manner, rather than a panicked manner.&lt;/p&gt;



&lt;p&gt;The thing is, JavaScript is not very exciting is it? I know a lot of front-end developers who would rather hide from it too, because learning it is such a chore. This is where Mat’s uniqueness comes in.&lt;/p&gt;



&lt;p&gt;JavaScript &lt;em&gt;is&lt;/em&gt; boring and it &lt;em&gt;is&lt;/em&gt; dry, but Mat writes about it in a way that will have you grinning like a Cheshire Cat. He’s got a lot of personality and that really comes through in his writing. Don’t believe me? &lt;a href=&quot;https://piccalil.li/author/mat-wilto-marquis/&quot;&gt;See for yourself&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;I’m a designer by trade and my relationship with JavaScript has been “if I have to” for years. I read every single word of &lt;a href=&quot;https://piccalilli.link/cc-vs-js4e&quot;&gt;this course&lt;/a&gt; while I was editing it and honestly, my knowledge of JavaScript is unrecognisable. I’m so thankful to Mat for firstly, agreeing to publish with Piccalilli, but also, for &lt;em&gt;finally&lt;/em&gt; delivering a resource that will help so many people &lt;strong&gt;finally get JavaScript&lt;/strong&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Why bother learning JavaScript now that we have generative AI?</title><link>https://bell.bz/why-bother-learning-javascript-now-that-we-have-generative-ai/</link><guid isPermaLink="true">https://bell.bz/why-bother-learning-javascript-now-that-we-have-generative-ai/</guid><pubDate>Fri, 17 Oct 2025 09:02:15 GMT</pubDate><content:encoded>
&lt;p&gt;We, at &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt;, launched &lt;a href=&quot;https://piccalilli.link/js4e-ai-andy-post&quot;&gt;JavaScript for Everyone&lt;/a&gt; this week and a response to that from parts of the community could be paraphrased as “why bother learning JavaScript deeply now we have generative AI and LLMs?”&lt;/p&gt;



&lt;p&gt;It’s a good question! You’d be forgiven for feeling like there’s no point now, but this post should help you understand our position, along with our &lt;a href=&quot;https://piccalil.li/blog/our-principles-on-ai/&quot;&gt;codified principles on AI&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;Piccalilli stands for — and forever will stand for — human produced educational content &lt;strong&gt;for humans&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;Our industry is changing, constantly. The AI hype cycle poses an increasing risk to job security, and despite every promise otherwise, the output from AI code generators is failing to live up to the hype.&lt;/p&gt;



&lt;p&gt;Deep knowledge and skills have never been more important though. Understanding JavaScript deeply will mean you’ll be the one that’s called upon to oversee and course correct the AI-generated output. When the AI bubble &lt;em&gt;does&lt;/em&gt; pop, having a deep knowledge of how JavaScript &lt;em&gt;works&lt;/em&gt; will put you in a strong position to command more compensation and better terms because you’ll be in the strongest position to fix the mess left behind by AI.&lt;/p&gt;



&lt;p&gt;If anything, I hope this post makes you feel better if the constant AI discourse is getting you down. I’ll have done my job today if that’s the case.&lt;/p&gt;
</content:encoded></item><item><title>I tell you what I want, what I really, really want</title><link>https://bell.bz/i-tell-you-what-i-want-what-i-really-really-want/</link><guid isPermaLink="true">https://bell.bz/i-tell-you-what-i-want-what-i-really-really-want/</guid><pubDate>Tue, 26 Aug 2025 14:00:17 GMT</pubDate><content:encoded>
&lt;p&gt;I just want an app for iPhone and Mac that:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;Connects to Bluesky&lt;/li&gt;



&lt;li&gt;Connects to Mastodon &lt;/li&gt;



&lt;li&gt;Lets me post to both &lt;/li&gt;



&lt;li&gt;Looks and feels good &lt;/li&gt;



&lt;li&gt;Finds a way of not showing me cross-posts (when I’ve seen it, I’ve seen it) &lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;I’ve tried OpenVibe and I’ll be honest, it’s cool, but the UI is not for me. Any ideas? &lt;/p&gt;
</content:encoded></item><item><title>Choice is important with stuff like highlighting</title><link>https://bell.bz/choice-is-important-with-stuff-like-highlighting/</link><guid isPermaLink="true">https://bell.bz/choice-is-important-with-stuff-like-highlighting/</guid><pubDate>Thu, 07 Aug 2025 10:10:45 GMT</pubDate><content:encoded>
&lt;p&gt;I’m making some demos for an article and I wanted one of those smooth gradients. &lt;a href=&quot;https://github.com/w3c/csswg-drafts/issues/1332&quot;&gt;It’s still not quite possible with standard CSS&lt;/a&gt;, so I used this &lt;a href=&quot;https://larsenwork.com/easing-gradients/&quot;&gt;trusty resource&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;I generated my gradient (truly who here hand-writes them) and wanted to grab the &lt;code&gt;background&lt;/code&gt; property only. &lt;/p&gt;



&lt;p&gt;🚨 &lt;strong&gt;Strobe warning&lt;/strong&gt;&lt;/p&gt;



&lt;figure&gt;&lt;figcaption&gt;I can’t select text as it’s constantly trying to select everything. It results in this horrible strobing.&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;It’s a bit annoying this because I’ve already got some CSS. I just wanted the background. It’s why on Piccalilli we do code samples like this. &lt;/p&gt;



&lt;figure&gt;&lt;figcaption&gt;I have lots of choice in selecting text exactly how I want&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;It’s a nice progressive enhancement and we’re not getting in the way of what the user actually wants to do. You wanna copy a bit of the code? You’ve got it. You want the whole thing? You’ve also got it, here’s a button, but hey, you can also select it all if you want. Whatever works for you.&lt;/p&gt;



&lt;p&gt;&lt;em&gt;Whatever works for you.&lt;/em&gt;&lt;/p&gt;
</content:encoded></item><item><title>I deleted Bluesky, Mastodon and LinkedIn off my phone</title><link>https://bell.bz/i-deleted-bluesky-mastodon-and-linkedin-off-my-phone/</link><guid isPermaLink="true">https://bell.bz/i-deleted-bluesky-mastodon-and-linkedin-off-my-phone/</guid><pubDate>Mon, 28 Jul 2025 11:00:11 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve just come back from a nice week away in Cyprus with my family and to ensure I had a &lt;em&gt;proper break&lt;/em&gt; I deleted Bluesky, Mastodon and LinkedIn off my phone with a view to putting them back on my return. I’m not gonna do that though. &lt;/p&gt;



&lt;p&gt;LinkedIn is obviously a work thing and I’m not sure what I was thinking even having it on my phone, but Bluesky and Mastodon are very much work things for me now too. Mastodon probably always was but Bluesky — especially in 2023 during the beta period — was really fun. It’s naturally evolved and changed as it’s grown though. &lt;/p&gt;



&lt;p&gt;I don’t &lt;em&gt;dislike &lt;/em&gt;Bluesky, but I have been especially exhausted this year and Bluesky has not helped with that. A big part of that exhaustion is I’m &lt;em&gt;never switched off.&lt;/em&gt; &lt;strong&gt;Work is always there&lt;/strong&gt;&lt;em&gt;. &lt;/em&gt;Sure, I’m making my own bed a bit with that, running my own business — which &lt;em&gt;requires &lt;/em&gt;me to have a presence — but I should have guardrails for myself too. Sometimes a nice holiday reset is what’s needed to see that clearly. &lt;/p&gt;



&lt;p&gt;The main take away is I didn’t miss Bluesky or Mastodon (I’d never miss LinkedIn lol). I deleted the apps from my phone to prevent the muscle memory of opening them, but when they weren’t there, I just didn’t really think about them. There’s only so much Discourse my simple brain can handle and I should only be dealing with that during work hours as I see it. &lt;/p&gt;
</content:encoded></item><item><title>We’re aiming to run Piccalilli full time</title><link>https://bell.bz/were-aiming-to-run-piccalilli-full-time/</link><guid isPermaLink="true">https://bell.bz/were-aiming-to-run-piccalilli-full-time/</guid><pubDate>Tue, 15 Jul 2025 12:15:11 GMT</pubDate><content:encoded>
&lt;p&gt;Recently we ran a survey that &lt;a href=&quot;https://piccalil.li/blog/some-interesting-results-from-the-2025-piccalilli-survey/&quot;&gt;turned out some interesting results&lt;/a&gt;. We decided to do the survey off the back of the success of &lt;a href=&quot;https://piccalil.li/blog/redesigning-piccalilli-the-first-part-of-the-design-process&quot;&gt;redesigning Piccalilli last year&lt;/a&gt; and &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;launching our first course&lt;/a&gt;. The response to all of that &lt;em&gt;blew our mind&lt;/em&gt; (thank you).&lt;/p&gt;



&lt;p&gt;We’re launching two more courses this year: &lt;a href=&quot;https://piccalil.li/javascript-for-everyone&quot;&gt;JavaScript for Everyone&lt;/a&gt; and &lt;a href=&quot;https://piccalil.li/mindful-design&quot;&gt;Mindful Design&lt;/a&gt;. We’re doing it right though with a fair share of profits for author and publisher, which is a rarity in publishing. Publishers often give authors less than 20% &lt;em&gt;and&lt;/em&gt; make them promote their own work. We’re not about that here.&lt;/p&gt;



&lt;p&gt;I think courses are going to be the main driver of keeping the lights on &lt;em&gt;and&lt;/em&gt; pushing us towards full time work on Piccalilli. Now that we have a nice system for publishing courses, the velocity will of course increase. I’m also interested in hearing from people who like the idea of publishing a course (&lt;a href=&quot;https://bell.bz/links/&quot;&gt;give me a shout&lt;/a&gt;).&lt;/p&gt;



&lt;h2&gt;What does full time effort look like in terms of output?&lt;/h2&gt;



&lt;p&gt;One of the most common qualitative bits of feedback on our survey we got was “I want to see more articles by Andy”, which first of all, &lt;em&gt;thank you&lt;/em&gt;, but also, are you &lt;em&gt;sure&lt;/em&gt;?! 😅&lt;/p&gt;



&lt;p&gt;The biggest blocker to me writing more articles is &lt;em&gt;time&lt;/em&gt;. Running an &lt;a href=&quot;https://set.studio/&quot;&gt;agency&lt;/a&gt;, running a publisher and &lt;a href=&quot;https://piccalil.li/the-index/&quot;&gt;curating a newsletter&lt;/a&gt; is very time consuming. As Piccalilli becomes more viable — financially — that would free up a &lt;em&gt;lot&lt;/em&gt; of my time, which of course, I would put straight into writing more content (I’ve got so much I &lt;em&gt;want &lt;/em&gt;to write). I’d quite like to explore video and streaming more too.&lt;/p&gt;



&lt;p&gt;Stuff we could do with more time is:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;More in-depth article series&lt;/li&gt;



&lt;li&gt;Collaborations with other known names from the web&lt;/li&gt;



&lt;li&gt;More content to help bring beginners into the industry&lt;/li&gt;



&lt;li&gt;Resources to help people land new roles in the industry&lt;/li&gt;



&lt;li&gt;Help designers get proficient with code&lt;/li&gt;



&lt;li&gt;Explore some more journalistic content about our industry (already working on an AI in the workplace one)&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;Something else I’d quite like to do is index and categorise &lt;a href=&quot;https://piccalil.li/the-index/&quot;&gt;The Index&lt;/a&gt; and our &lt;a href=&quot;https://piccalil.li/links/&quot;&gt;link posts&lt;/a&gt;. With our current publishing frequency, we’re putting out two newsletter issues a week. Accounting for holidays and time off, that still sees us publishing nearly 100 issues and about 30 link posts a year. If we can index that and make it more searchable, I think it would be a really valuable resource for the community.&lt;/p&gt;



&lt;p&gt;Speaking of search, &lt;em&gt;yes&lt;/em&gt; we hear you, Piccalilli &lt;em&gt;needs&lt;/em&gt; search, but to do search &lt;em&gt;right&lt;/em&gt; takes a heck of a lot of time. It’ll come though when we have more time to work with.&lt;/p&gt;



&lt;h2&gt;How do we enable a full time effort?&lt;/h2&gt;



&lt;p&gt;It all comes down to money, I’m afraid. We’re a team of four with families and mortgages/rent to pay. We try to make as much as possible free on Piccalilli and will &lt;em&gt;always&lt;/em&gt; do that without resorting to paywalls etc.&lt;/p&gt;



&lt;p&gt;This is what we’re doing to try to shift the needle:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;Publishing more courses (including short, cheaper ones)&lt;/li&gt;



&lt;li&gt;Opening up our &lt;a href=&quot;https://piccalil.li/advertise/&quot;&gt;advertising offering&lt;/a&gt; a bit more, giving advertisers some better options&lt;/li&gt;



&lt;li&gt;Launching merch&lt;/li&gt;



&lt;li&gt;Exploring a job board&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://opencollective.com/piccalilli&quot;&gt;Open Collective&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;Some stuff hasn’t worked as well as we hoped. For example, our &lt;a href=&quot;https://piccalil.li/support-piccalilli/&quot;&gt;open working initiative&lt;/a&gt; was really well received initially, but has been wildly unpopular compared to the rest of our content. It accounts for &amp;lt; 4% of our total readership so far. &lt;/p&gt;



&lt;p&gt;My theory on that is that until we actively work with progressive movements, we won’t get a huge amount of traction. I’m working hard to make that happen though, working with our local MP to link up with local initiatives that need the most help. Time + money is another blocker on that one though, as is almost always the case when you want to do good.&lt;/p&gt;



&lt;p&gt;I know this &lt;em&gt;can&lt;/em&gt; work. Just look at how well &lt;a href=&quot;https://www.404media.co/what-we-learned-in-our-first-year-of-404-media/&quot;&gt;404 media&lt;/a&gt; and &lt;a href=&quot;https://www.status.news/p/the-onion-ben-collins-interview?modal=content_gate&quot;&gt;The Onion&lt;/a&gt; are doing — both of which I’m a paid subscriber to and &lt;em&gt;hugely&lt;/em&gt; look up to. There should be no problem doing good stuff &lt;em&gt;and&lt;/em&gt; living too as I see it.&lt;/p&gt;



&lt;h2&gt;How you can help&lt;/h2&gt;



&lt;p&gt;Simply put, give us money lol. There’s a few ways you can do that without hurting your own pocket though:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;Ask your boss to &lt;a href=&quot;https://piccalil.li/advertise/&quot;&gt;advertise with us&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://piccalil.li/blog/we-made-an-email-template-to-help-convince-your-boss-to-pay-for-complete-css/&quot;&gt;Ask your boss to grab you a copy of one of our courses&lt;/a&gt; (spend that sweet training budget and get bulk discounts)&lt;/li&gt;



&lt;li&gt;Read and share our content&lt;/li&gt;



&lt;li&gt;S&lt;a href=&quot;https://piccalil.li/the-index/&quot;&gt;ubscribe to our newsletter&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;Get your org to donate to our &lt;a href=&quot;https://opencollective.com/piccalilli&quot;&gt;Open Collective&lt;/a&gt; (spend that sweet marketing budget)&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;Times are &lt;em&gt;really hard&lt;/em&gt; at the moment for &lt;em&gt;everyone&lt;/em&gt;. I actually think 2025 is harder than 2020 so far and I know I’m not alone with that feeling.&lt;/p&gt;



&lt;p&gt;There’s a reason publishers pepper their content with horrible ads though: it’s a means to sustaining themselves. I’ll never let that happen on Piccalilli because the reading experience is, and will always be, our top priority. Yes, we’re changing how ads display on the site in a soon to be released update to our article view, but it’ll always be tasteful.&lt;/p&gt;



&lt;p&gt;I think the biggest impact you, the reader, could do to help though is make a small donation to our &lt;a href=&quot;https://opencollective.com/piccalilli&quot;&gt;Open Collective&lt;/a&gt;. There’s a few different options including one-off tips, a monthly donation and a yearly donation.&lt;/p&gt;



&lt;p&gt;At the end of the day, if we can keep the &lt;strong&gt;vast majority of our content free at the point of entry&lt;/strong&gt; and publish a hell of a lot more of it, everyone is winner. You’re not ready for what Piccalilli could be with all four of us putting a full time effort into it, &lt;em&gt;trust me&lt;/em&gt;…&lt;/p&gt;
</content:encoded></item><item><title>This generous donation fills me with positivity and hope</title><link>https://bell.bz/this-generous-donation-fills-me-with-positivity-and-hope/</link><guid isPermaLink="true">https://bell.bz/this-generous-donation-fills-me-with-positivity-and-hope/</guid><pubDate>Mon, 26 May 2025 10:29:50 GMT</pubDate><content:encoded>
&lt;p&gt;It’s bloody scary &lt;a href=&quot;https://opencollective.com/piccalilli&quot;&gt;setting up an Open Collective&lt;/a&gt; and &lt;em&gt;hoping&lt;/em&gt; people will back you when &lt;a href=&quot;https://piccalil.li/blog/we-need-your-support-to-do-free-projects-for-good-causes-and-publish-free-high-quality-education/&quot;&gt;you’re trying to do something tangibly &lt;em&gt;good&lt;/em&gt;&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;Stuff like this really fills me with hope.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;243&quot; src=&quot;https://andy-bell.imgix.net/2025/05/CleanShot-2025-05-26-at-11.25.56@2x-1024x243.jpg&quot; alt=&quot;A clip from Clan KN&apos;s open collective that shows a £300 donation to us and a £45 tip to Open collective too.&quot; srcset=&quot;https://andy-bell.imgix.net/2025/05/CleanShot-2025-05-26-at-11.25.56@2x-1024x243.jpg 1024w, https://andy-bell.imgix.net/2025/05/CleanShot-2025-05-26-at-11.25.56@2x-300x71.jpg 300w, https://andy-bell.imgix.net/2025/05/CleanShot-2025-05-26-at-11.25.56@2x-768x182.jpg 768w, https://andy-bell.imgix.net/2025/05/CleanShot-2025-05-26-at-11.25.56@2x-1536x365.jpg 1536w, https://andy-bell.imgix.net/2025/05/CleanShot-2025-05-26-at-11.25.56@2x-2048x487.jpg 2048w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;&lt;em&gt;Clan KN&lt;/em&gt;, I can’t find any way to contact you, so I’ll thank you here on my personal website. &lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;If we hurt someone, their pain will not end just because we die. The same is true for the positive actions we take.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;That’s a quote from &lt;a href=&quot;https://clankn.org/&quot;&gt;your website&lt;/a&gt; and you’re doing exactly as advertised.&lt;/p&gt;



&lt;p&gt;Let me tell you, your positive action — and unbelievably generous donation — will definitely last for me and the team &lt;em&gt;forever&lt;/em&gt;. Thank you.&lt;/p&gt;
</content:encoded></item><item><title>Enabling open working on Piccalilli with content collections</title><link>https://bell.bz/enabling-open-working-on-piccalilli-part-one-content-collections/</link><guid isPermaLink="true">https://bell.bz/enabling-open-working-on-piccalilli-part-one-content-collections/</guid><pubDate>Wed, 14 May 2025 17:01:33 GMT</pubDate><content:encoded>
&lt;p&gt;I said &lt;a href=&quot;https://piccalil.li/blog/we-need-your-support-to-do-free-projects-for-good-causes-and-publish-free-high-quality-education/&quot;&gt;we’d work in the open&lt;/a&gt; and I mean it. This content is on my blog &lt;em&gt;for now&lt;/em&gt; because I’m &lt;em&gt;literally&lt;/em&gt; building the infrastructure on &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt; as we speak.&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;Let’s have a look at what’s happened prior to this point:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;We’ve done some internal planning and strategy&lt;/li&gt;



&lt;li&gt;I’ve populated our backlog with some stuff that needs doing to enable us to Post™&lt;/li&gt;



&lt;li&gt;We’ve &lt;a href=&quot;https://piccalil.li/blog/we-need-your-support-to-do-free-projects-for-good-causes-and-publish-free-high-quality-education/&quot;&gt;published an article&lt;/a&gt; that serves both to let people know what we’re up to and also, form a &lt;a href=&quot;https://alistapart.com/article/priority-guides-a-content-first-alternative-to-wireframes/&quot;&gt;priority guide&lt;/a&gt; of sorts for the &lt;em&gt;Projects&lt;/em&gt; landing page on Piccalilli&lt;/li&gt;
&lt;/ol&gt;



&lt;hr /&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;643&quot; src=&quot;https://andy-bell.imgix.net/2025/05/CleanShot-2025-05-14-at-17.49.01@2x-1024x643.jpg&quot; alt=&quot;Screenshot of a Notion document outlining a &apos;Project&apos; content type. It includes a table listing required properties like Title, Start date, End date, Summary, Social Image, Feature Image, Current sprint, and ID. Below, a &apos;Notes&apos; section provides guidance on image usage and linking. A &apos;Project Post&apos; section follows with further schema notes.&quot; srcset=&quot;https://andy-bell.imgix.net/2025/05/CleanShot-2025-05-14-at-17.49.01@2x-1024x643.jpg 1024w, https://andy-bell.imgix.net/2025/05/CleanShot-2025-05-14-at-17.49.01@2x-300x188.jpg 300w, https://andy-bell.imgix.net/2025/05/CleanShot-2025-05-14-at-17.49.01@2x-768x482.jpg 768w, https://andy-bell.imgix.net/2025/05/CleanShot-2025-05-14-at-17.49.01@2x-1536x964.jpg 1536w, https://andy-bell.imgix.net/2025/05/CleanShot-2025-05-14-at-17.49.01@2x-2048x1286.jpg 2048w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;This clip shows the ticket I’m working from. The aim is:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;Define some configuration of the content types&lt;/li&gt;



&lt;li&gt;Refactor the existing configuration to create a &lt;code&gt;sharedConfig&lt;/code&gt;&lt;/li&gt;



&lt;li&gt;Make adjustments to the existing layout we use to render articles&lt;/li&gt;



&lt;li&gt;Build out a shell for &lt;code&gt;/projects&lt;/code&gt; and &lt;code&gt;/projects/${slug}&lt;/code&gt; to better inform &lt;a href=&quot;https://bsky.app/profile/jasonbradberry.bsky.social&quot;&gt;Jason&lt;/a&gt;, our designer&lt;/li&gt;
&lt;/ol&gt;



&lt;h2&gt;Today’s task&lt;/h2&gt;



&lt;p&gt;I’ve been working through points &lt;code&gt;1&lt;/code&gt; and &lt;code&gt;2&lt;/code&gt; from the ticket.&lt;/p&gt;



&lt;p&gt;First up, I’m creating a &lt;code&gt;coreConfig&lt;/code&gt;. This is what our &lt;a href=&quot;https://docs.astro.build/en/guides/content-collections/&quot;&gt;Astro content collections&lt;/a&gt; config looked like before:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;import { z, defineCollection } from &apos;astro:content&apos;;

const blogCollection = defineCollection({
  type: &apos;content&apos;,
  schema: z.object({
    title: z.string(),
    pubDate: z.date(),
    summary: z.string().optional(),
    author: z.string().optional(),
    image: z
      .object({
        url: z.string(),
        alt: z.string(),
      })
      .optional(),
    tags: z.array(z.string()),
    link: z.string().optional(),
    socialSummary: z.string().optional(),
    socialImage: z.string().optional(),
    series: z
      .object({
        name: z.string(),
        order: z.number(),
      })
      .optional(),
    surpressAuthorPromo: z.boolean().optional(),
  }),
});

const linksCollection = defineCollection({
  type: &apos;content&apos;,
  schema: z.object({
    title: z.string(),
    pubDate: z.date(),
    summary: z.string().optional(),
    author: z.string().optional(),
    image: z
      .object({
        url: z.string(),
        alt: z.string(),
      })
      .optional(),
    link: z.string().optional(),
    socialSummary: z.string().optional(),
    socialImage: z.string().optional(),
  }),
});

const theIndexCollection = defineCollection({
  type: &apos;content&apos;,
  schema: z.object({
    title: z.string(),
    pubDate: z.date(),
    summary: z.string().optional(),
    author: z.string().optional(),
    image: z
      .object({
        url: z.string(),
        alt: z.string(),
      })
      .optional(),
    socialSummary: z.string().optional(),
    socialImage: z.string().optional(),
    sponsorMessage: z.string().optional(),
    sponsorCTAURL: z.string().optional(),
    sponsorCTALabel: z.string().optional(),
  }),
});

const authorCollection = defineCollection({
  type: &apos;content&apos;,
  schema: z.object({
    name: z.string(),
    pubDate: z.date(),
    summary: z.string().optional(),
    socialSummary: z.string().optional(),
    company: z.string().optional(),
    language: z.string().optional(),
    links: z
      .array(
        z.object({
          name: z.string(),
          url: z.string(),
        })
      )
      .optional(),
    avatar: z
      .object({
        full: z.string(),
        scaled: z.string(),
      })
      .optional(),
    promo: z
      .object({
        heading: z.string(),
        summary: z.string(),
        buttonLabel: z.string(),
        buttonURL: z.string(),
      })
      .optional(),
  }),
});

const completeCssCollection = defineCollection({
  type: &apos;content&apos;,
  schema: z.object({
    title: z.string(),
    pubDate: z.date(),
    author: z.string().optional(),
    course: z.string().optional(),
    module: z.string().optional(),
    lessonNumber: z.number().optional(),
  }),
});

const emailsCollection = defineCollection({
  type: &apos;content&apos;,
  schema: z.object({
    title: z.string(),
    heading: z.string(),
    meta: z.string().optional(),
    pubDate: z.date().optional(),
    headingSize: z.enum([&apos;extra-large&apos;, &apos;large&apos;]).optional(),
    promoBox: z
      .object({
        heading: z.string().optional(),
        content: z.string(),
        buttonLink: z.string().optional(),
        buttonLabel: z.string().optional(),
        hideAdvertiseLink: z.boolean().optional(),
      })
      .optional(),
    showUnsubscribeLink: z.boolean().optional(),
    closerContent: z.string().optional(),
    stream: z.string().optional(),
  }),
});

export const collections = {
  blog: blogCollection,
  links: linksCollection,
  &apos;the-index&apos;: theIndexCollection,
  author: authorCollection,
  &apos;complete-css&apos;: completeCssCollection,
  emails: emailsCollection,
};&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;I’ll not go into the detail of how this stuff works because &lt;a href=&quot;https://docs.astro.build/en/guides/content-collections/&quot;&gt;Astro do a good job of that already&lt;/a&gt;, but in short, each object defines a data structure for each type of content on Piccalilli.&lt;/p&gt;



&lt;p&gt;The last block — &lt;code&gt;export const collections&lt;/code&gt; — sets the directory that contains &lt;code&gt;.md&lt;/code&gt; and &lt;code&gt;.mdx&lt;/code&gt; files and its value (the right side) is an assignment to a content collection configuration.&lt;/p&gt;



&lt;p&gt;There’s a lot of repetition going on! Before I add &lt;em&gt;more&lt;/em&gt;, I thought it would be a good idea to identify a shared set of configuration options that are used, mainly for &lt;code&gt;blogCollection&lt;/code&gt;, &lt;code&gt;linksCollection&lt;/code&gt; and &lt;code&gt;theIndexCollection&lt;/code&gt;.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;const coreConfig = {
  title: z.string(),
  pubDate: z.date(),
  summary: z.string().optional(),
  socialSummary: z.string().optional(),
  socialImage: z.string().optional(),
  author: z.string().optional(),
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Now I can &lt;a href=&quot;https://piccalil.li/blog/a-guide-to-destructuring-in-javascript/#the-rest-and-spread-syntax&quot;&gt;spread&lt;/a&gt; &lt;code&gt;coreConfig&lt;/code&gt; in &lt;code&gt;blogCollection&lt;/code&gt;, &lt;code&gt;linksCollection&lt;/code&gt; and &lt;code&gt;theIndexCollection&lt;/code&gt;. I can also spread it in the new collections.&lt;/p&gt;



&lt;p&gt;This is a TypeScript project (don’t come at me), so a good idea is to build the site to make sure I haven’t broken anything.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;568&quot; src=&quot;https://andy-bell.imgix.net/2025/05/image-1024x568.png&quot; alt=&quot;Screenshot of a TypeScript error in a code editor. The error message states that the property &apos;link&apos; does not exist on the type definition for a blog post&apos;s data object. The highlighted line attempts to access &apos;post.data.link&apos; to generate an author link, causing a type mismatch in src/pages/index.astro.&quot; srcset=&quot;https://andy-bell.imgix.net/2025/05/image-1024x568.png 1024w, https://andy-bell.imgix.net/2025/05/image-300x166.png 300w, https://andy-bell.imgix.net/2025/05/image-768x426.png 768w, https://andy-bell.imgix.net/2025/05/image-1536x852.png 1536w, https://andy-bell.imgix.net/2025/05/image-2048x1136.png 2048w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;Ah, as is tradition, I broke the build. It seems like we’ve got some loose querying going on, on the homepage.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;const authorLink = post.data.link ? post.data.link : `/author/${generateSlug(authorName)}`;

return {
  id: post.id,
  url: `/${post.data.link ? &apos;links&apos; : &apos;blog&apos;}/${post.slug}`,
  title: post.data.title,
  summary: post.data.summary,
  author: { name: authorName, link: authorLink },
  date: post.data.pubDate,
  tag: post.data.tags ? { label: post.data.tags[0], link: `/category/${generateSlug(post.data.tags[0])}` } : undefined,
  directLink: post.data.link,
};&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;In that snippet, we’re generating props for a &lt;code&gt;&amp;lt;PostList /&amp;gt;&lt;/code&gt; component. If it is a links post, we assign the canonical URL we are linking to as the author’s link because that author won’t exist in our system. For a normal post, we link to the authors page, &lt;a href=&quot;https://piccalil.li/author/andy-bell&quot;&gt;like mine&lt;/a&gt;, for example.&lt;/p&gt;



&lt;p&gt;Now, in these situations the temptation is to fix everything and let me tell ya, I felt the urge, but I also asked &lt;a href=&quot;https://bsky.app/profile/leannerenard.co.uk&quot;&gt;Leanne&lt;/a&gt; to give this little PR a review, so the last thing I want to be doing is adding &lt;em&gt;more&lt;/em&gt; to that — especially introducing changes on something as important as the homepage!&lt;/p&gt;



&lt;p&gt;It’s also a good idea to &lt;strong&gt;stay focused on the task at hand&lt;/strong&gt;, so with that in mind, I made this decision:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;I’ll bring &lt;code&gt;link&lt;/code&gt; into the &lt;code&gt;sharedConfig&lt;/code&gt; temporarily&lt;/li&gt;



&lt;li&gt;I’ll raise a ticket in our refactoring backlog to clean up the querying, remove &lt;code&gt;link&lt;/code&gt; from &lt;code&gt;sharedConfig&lt;/code&gt; and put it &lt;em&gt;back&lt;/em&gt; on &lt;code&gt;linksCollection&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;



&lt;pre&gt;&lt;code&gt;// Shared core configuration for article-like content
const coreConfig = {
  title: z.string(),
  pubDate: z.date(),
  summary: z.string().optional(),
  socialSummary: z.string().optional(),
  socialImage: z.string().optional(),
  author: z.string().optional(),

  // This property is in the shared config because we use it to query between Blog and Links in areas such as the homepage popular feeds
  link: z.string().optional(),
};&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Folks, &lt;em&gt;always&lt;/em&gt; leave comments if you can. They’re useful for not just explaining code, but also, leaving a decision trail to give other developers &lt;em&gt;context&lt;/em&gt;. I talk about that at length in &lt;a href=&quot;https://complete-css.com/&quot;&gt;Complete CSS&lt;/a&gt; as part of the important &lt;strong&gt;core skills&lt;/strong&gt; that will improve you as a developer.&lt;/p&gt;



&lt;h2&gt;Adding the new collections&lt;/h2&gt;



&lt;p&gt;With the &lt;code&gt;coreConfig&lt;/code&gt; set up and the project building again, we’re safe to proceed. Let’s start with the overarching Project structure first:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;// The core pillar for each open working project which itself, has a page
const projectsCollection = defineCollection({
  type: &apos;content&apos;,
  schema: z.object({
    title: z.string(),
    startDate: z.date(),
    endDate: z.date(),
    summary: z.string(),
    socialImage: z.string(), // For each post to inherit and itself when shared on social media
    featureImage: z.string(), // For rendering on the front-end
    currentSprint: z.string(), // E.G. Sprint 1: Discovery
    ID: z.string(), // So project posts can anchor to a project
  }),
});&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;There’s absolutely nothing optional here because this is — like my comment suggests — a content pillar. It’s a structure for posts to anchor themselves too. When a reader goes to &lt;code&gt;/projects&lt;/code&gt; or &lt;code&gt;/projects/${slug}&lt;/code&gt; this information will be surfaced. We can also surface it in project posts if we like.&lt;/p&gt;



&lt;p&gt;Speaking of which, let’s define our project posts structure, utilising our fresh &lt;code&gt;coreConfig&lt;/code&gt;:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;// Each of these belongs in a project ☝️
const projectPostsCollection = defineCollection({
  type: &apos;content&apos;,
  schema: z.object({
    ...coreConfig,
    projectID: z.string(), // To reference a Project&apos;s ID field
    discipline: z.enum([&apos;Strategy&apos;, &apos;Design&apos;, &apos;Development&apos;, &apos;Quality Assurance&apos;, &apos;Client Management&apos;]),
    videoURL: z.string().optional(),
    sprint: z.string(),
  }),
});&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Project posts are almost identical to normal blog posts, but with a few extra fields like &lt;code&gt;projectID&lt;/code&gt;, &lt;code&gt;discipline&lt;/code&gt;, &lt;code&gt;videoURL&lt;/code&gt; and &lt;code&gt;sprint&lt;/code&gt;.&lt;/p&gt;



&lt;p&gt;I was going to make a &lt;code&gt;projectSprints&lt;/code&gt; a structure too for both &lt;code&gt;projectPostsCollection&lt;/code&gt; and &lt;code&gt;projectsCollection&lt;/code&gt; but it felt like I was creating busy work for us by over-abstracting. It’ll be totally acceptable to group posts by &lt;code&gt;sprint&lt;/code&gt;, just like we do with &lt;code&gt;module&lt;/code&gt; on &lt;code&gt;completeCssCollection&lt;/code&gt; earlier in this post. As I see it, it’s a simpler, flatter approach, so it wins.&lt;/p&gt;



&lt;p&gt;With these structures in place, all we have to do is add them to our &lt;code&gt;collections&lt;/code&gt; object:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;export const collections = {
  blog: blogCollection,
  links: linksCollection,
  &apos;the-index&apos;: theIndexCollection,
  author: authorCollection,
  &apos;complete-css&apos;: completeCssCollection,
  emails: emailsCollection,
  projects: projectsCollection,
  &apos;project-posts&apos;: projectPostsCollection,
};&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;All projects content will be in our &lt;code&gt;projects&lt;/code&gt; directory as &lt;code&gt;mdx&lt;/code&gt; files and project posts will be in &lt;code&gt;project-posts&lt;/code&gt; as &lt;code&gt;mdx&lt;/code&gt; files. I’m still slightly unsure about this organisation strategy because I want the URLS for project posts to be &lt;code&gt;projects/${postSlug}&lt;/code&gt;, but I’ll cross that bridge in the next part. I’ve not added any content yet, so it’ll be no biggie to edit the &lt;code&gt;collections&lt;/code&gt; object, accordingly.&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;&lt;a href=&quot;https://piccalil.li/blog/we-need-your-support-to-do-free-projects-for-good-causes-and-publish-free-high-quality-education/&quot;&gt;Open working&lt;/a&gt; is only possible thanks to the generous people that &lt;a href=&quot;https://opencollective.com/piccalilli&quot;&gt;support Piccalilli on Open Collective&lt;/a&gt;. Please consider supporting us!&lt;/p&gt;
</content:encoded></item><item><title>We launched a community supporters system for Piccalilli today</title><link>https://bell.bz/we-launched-a-community-supporters-system-for-piccalilli-today/</link><guid isPermaLink="true">https://bell.bz/we-launched-a-community-supporters-system-for-piccalilli-today/</guid><pubDate>Tue, 13 May 2025 19:31:12 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve been &lt;a href=&quot;https://bell.bz/im-getting-fed-up-of-making-the-rich-richer/&quot;&gt;talking about being fed up making the rich, richer on this blog recently&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;We’ve started doing something about it, which I blogged about over on Piccalilli. &lt;a href=&quot;https://piccalil.li/blog/we-need-your-support-to-do-free-projects-for-good-causes-and-publish-free-high-quality-education/&quot;&gt;I’d love you to read it&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;I also &lt;a href=&quot;https://bsky.app/profile/set.studio/post/3lp37427z222w&quot;&gt;Posted On The Work Account™&lt;/a&gt; but here’s the thread again, on my blog…&lt;/p&gt;



&lt;p&gt;We’ve helped so many companies grow since our studio started out, but we want to put our skills and experience to a different, more effective use.&lt;/p&gt;



&lt;p&gt;It feels like a really important moment to actually fight back and it also feels like an important moment to focus on skilling people up to do that.&lt;/p&gt;



&lt;p&gt;Help us supercharge progressive movements to fight back against mainstream hard right authoritarianism.&lt;/p&gt;



&lt;p&gt;Help us provide high quality education to counter low quality, KPI-chasing AI slop and years of stagnation.&lt;/p&gt;



&lt;p&gt;Let’s do something different as a community to stick it to the billionaires.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; was founded to give back as much — if not more — than it takes.&lt;/p&gt;



&lt;p&gt;We know &lt;a href=&quot;https://bsky.app/profile/set.studio&quot;&gt;this account&lt;/a&gt; has been quiet, but we can’t wait to use it to show you what we’re up to, behind the scenes.&lt;/p&gt;



&lt;p&gt;If this sounds good, &lt;a href=&quot;https://opencollective.com/piccalilli&quot;&gt;maybe consider supporting us on Open Collective&lt;/a&gt;. You’ll be doing a lot to make it happen and I’ll personally love you forever. &lt;/p&gt;
</content:encoded></item><item><title>Specifically for people that want to listen to vinyl on AirPlay/HomePods</title><link>https://bell.bz/specifically-for-people-that-want-to-listen-to-vinyl-on-airplay-homepods/</link><guid isPermaLink="true">https://bell.bz/specifically-for-people-that-want-to-listen-to-vinyl-on-airplay-homepods/</guid><pubDate>Mon, 12 May 2025 19:59:11 GMT</pubDate><content:encoded>
&lt;p&gt;This is a niche post for the &lt;em&gt;dozens&lt;/em&gt; of us that listen to vinyl via AirPlay/HomePods. &lt;/p&gt;



&lt;p&gt;I used Airchord for ages. It’s fantastic and very clever. I do find it cuts out quite a bit. I stumbled upon &lt;a href=&quot;https://apps.apple.com/us/app/quanta-vinyl-companion/id1600262501&quot;&gt;Quanta&lt;/a&gt; today and it works &lt;em&gt;impeccably&lt;/em&gt;. It scrobbles to Last.FM too, somehow. &lt;/p&gt;



&lt;p&gt;For £3, it’s a steal.&lt;/p&gt;
</content:encoded></item><item><title>We’re looking for advertisers on Piccalilli</title><link>https://bell.bz/were-looking-for-advertisers-on-piccalilli/</link><guid isPermaLink="true">https://bell.bz/were-looking-for-advertisers-on-piccalilli/</guid><pubDate>Tue, 29 Apr 2025 12:16:14 GMT</pubDate><content:encoded>
&lt;p&gt;We quite recently set up &lt;a href=&quot;https://piccalil.li/advertise/&quot;&gt;advertising on Piccalilli&lt;/a&gt;, but explicitly not in the tracking users and polluting the reading experience sense.&lt;/p&gt;



&lt;p&gt;I was (and am still not) comfortable with rolling ads because they have such a bad reputation — rightly. The problem is, running &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt; is not free, so the idea is that ads sustain the platform.&lt;/p&gt;



&lt;p&gt;The main thing ads sustain — and what I want to hugely &lt;em&gt;ramp&lt;/em&gt; up — is guest authors. We’ve had some absolutely top class content published on Piccalilli from genuine experts in the industry that have an unbelievable level of experience in design, development and even content design. If we can book up the &lt;a href=&quot;https://piccalil.li/advertise/&quot;&gt;ad slots&lt;/a&gt;, &lt;strong&gt;we can commission more experts to write content&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;I feel like our restrictions on adverts — no tracking, no JavaScript and no images — probably kneecaps us a bit, but I won’t move from that position. The only important thing is that &lt;strong&gt;the reader has the best possible experience&lt;/strong&gt;. If ads become antithetical to that, then they go. &lt;a href=&quot;https://bell.bz/im-getting-fed-up-of-making-the-rich-richer/&quot;&gt;We’re already exploring alternatives anyway&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;I do really want to make ads work in their current form though, so if you work at an organisation that advertises, &lt;a href=&quot;https://piccalil.li/advertise/&quot;&gt;why not give us a go&lt;/a&gt;? I know for a fact, the companies that have already advertised have been incredibly happy with the outcome and the biggest plus: you will be directly funding high quality education for the real world. A win-win!&lt;/p&gt;



&lt;p&gt;We’ve got slots available from May for both the newsletter and the &lt;strong&gt;exclusive&lt;/strong&gt; banner ads.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://piccalil.li/advertise/&quot;&gt;Advertise with Piccalilli&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>I think I need to change my attitude towards webrings</title><link>https://bell.bz/i-think-i-need-to-change-my-attitude-towards-webrings/</link><guid isPermaLink="true">https://bell.bz/i-think-i-need-to-change-my-attitude-towards-webrings/</guid><pubDate>Tue, 22 Apr 2025 19:38:30 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve always been a bit &lt;em&gt;meh&lt;/em&gt; about webrings but I’ve noticed they’ve evolved a bit, like &lt;a href=&quot;https://design-system.club/&quot;&gt;this one&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;I clicked through to &lt;a href=&quot;https://bsky.app/profile/arielsalminen.com&quot;&gt;Ariel&lt;/a&gt;’s site because I knew she would have nailed the UI for that typically, footer-based nav. Imagine my surprise when I found this &lt;a href=&quot;https://arielsalminen.com/webrings/&quot;&gt;interesting alternative&lt;/a&gt; instead. &lt;/p&gt;



&lt;p&gt;It’s really cool because I can see all the communities she’s in. I always presumed it was a one webring and done thing. &lt;/p&gt;



&lt;p&gt;Anyway, I clicked “next” on the design systems webring and found this &lt;a href=&quot;https://eva.town&quot;&gt;lush website&lt;/a&gt; by &lt;a href=&quot;https://bsky.app/profile/eva.town&quot;&gt;Eva&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;She &lt;em&gt;also&lt;/em&gt; deals with webrings in a really nice way. It’s such a simple yet effective way of discovering not just more sites, but more about what people are into, right off the bat. &lt;/p&gt;



&lt;p&gt;Most importantly this is all on &lt;em&gt;their websites &lt;/em&gt;that &lt;em&gt;they crafted to be their own&lt;/em&gt; — in both Ariel and Eva’s case.&lt;/p&gt;



&lt;p&gt;I think I need to change my attitude towards webrings basically.&lt;/p&gt;
</content:encoded></item><item><title>Thanks for the positive responses</title><link>https://bell.bz/thanks-for-the-positive-responses/</link><guid isPermaLink="true">https://bell.bz/thanks-for-the-positive-responses/</guid><pubDate>Wed, 16 Apr 2025 16:56:17 GMT</pubDate><content:encoded>
&lt;p&gt;I’m absolutely blown away by the response to &lt;a href=&quot;https://bell.bz/im-getting-fed-up-of-making-the-rich-richer/&quot;&gt;I’m getting fed up of making the rich, richer&lt;/a&gt;. It’s brought some real positive vibes my way, so thanks for that. &lt;/p&gt;



&lt;p&gt;So many people have said they’ll back this sort of movement too, which I really appreciate. We’ve got &lt;strong&gt;so much &lt;/strong&gt;work to do to get this stuff moving so I thought in the mean time, it might be a good idea for people behind this idea to get on a Piccalilli mailing list. That way, I can keep you up to date when stuff starts properly moving. &lt;/p&gt;



&lt;p&gt;If you’re up for it, just pop your email in here. If you’ve not signed up for a &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt; newsletter before, you’ll have to confirm your email (to combat bots and scammers yay). Don’t be alarmed when you’re redirected to Piccalilli either. It’s just how the system works.&lt;/p&gt;



&lt;p&gt;Again, thank you all so much. I really appreciate it. &lt;/p&gt;



&lt;p&gt;&lt;/p&gt;
</content:encoded></item><item><title>I’m getting fed up of making the rich, richer</title><link>https://bell.bz/im-getting-fed-up-of-making-the-rich-richer/</link><guid isPermaLink="true">https://bell.bz/im-getting-fed-up-of-making-the-rich-richer/</guid><pubDate>Tue, 15 Apr 2025 12:46:36 GMT</pubDate><content:encoded>
&lt;p&gt;That heading is a perfect summary of where I’m at right now. I’ve been in a bit of a turmoil-driven thinking period recently and I can’t shake the thought that what I set &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; up for isn’t being truly fulfilled. I think I need to change that.&lt;/p&gt;



&lt;p&gt;I always wanted the studio to do &lt;em&gt;net good&lt;/em&gt; and give back as much — if not more — than it takes. The thing is, running a studio that supports staff is hard, so naturally, you take on projects that you might not fully be behind. We’ve done great work — and continue to do so — but collectively, we’re all a bit burned out with Marketing™ oriented and KPI-chasing work.&lt;/p&gt;



&lt;p&gt;We’re very lucky that we still get opportunities to work with &lt;em&gt;fantastic&lt;/em&gt; clients that truly understand what they’re about too. For example, we’re working with &lt;a href=&quot;https://lefroybrooks.com/&quot;&gt;Lefroy Brooks&lt;/a&gt; right now and man, &lt;em&gt;they know their stuff&lt;/em&gt;. They’re a joy to work with and most importantly, &lt;strong&gt;they respect the user&lt;/strong&gt;, so are fully behind all of our efforts to make a website that truly works for everyone.&lt;/p&gt;



&lt;p&gt;Clients like that are &lt;em&gt;rare&lt;/em&gt; though. They’re &lt;em&gt;really&lt;/em&gt; rare. Working with clients like Lefroy Brooks and &lt;a href=&quot;https://jamieclarketype.com/&quot;&gt;Jamie Clarke&lt;/a&gt; — people that care so much for the web — has 100% contributed to my thinking recently because I’m constantly thinking “why can’t more clients be like this?” and I think they &lt;em&gt;can&lt;/em&gt; when you approach things a bit differently.&lt;/p&gt;



&lt;p&gt;I want to position &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; and &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt; with the following principles:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;We share as much as we possibly can of the work we do and how we do it, resulting in us providing free — at the point of entry — real-world education material.&lt;/li&gt;



&lt;li&gt;We focus our work on campaigns, movements and other efforts that bring tangible, progressive change to society.&lt;/li&gt;
&lt;/ol&gt;



&lt;h2&gt;Working in the open&lt;/h2&gt;



&lt;p&gt;I’ve forever been obsessed with sharing knowledge. It’s why I’ve blogged so relentlessly over the years because I feel a constant debt to a community that shared so much when I started out.&lt;/p&gt;



&lt;p&gt;The thing is, when I started out around 2008, so much content was &lt;em&gt;highly technical&lt;/em&gt;, long and hard to read. What you need to understand about me is I’m not academic. I’m only educated up to A-level in the UK and I &lt;em&gt;scraped through that by the skin of my teeth&lt;/em&gt;. Because of that, I found highly technical content hard to understand.&lt;/p&gt;



&lt;p&gt;Way back when I started, I stumbled across blogs like &lt;a href=&quot;https://css-tricks.com/&quot;&gt;CSS-Tricks&lt;/a&gt; and immediately resonated with the writing style. It’s why I write like I do now — pretty much how I talk — because I am &lt;em&gt;obsessed&lt;/em&gt; with my content being approachable to &lt;em&gt;everyone&lt;/em&gt;.&lt;/p&gt;



&lt;p&gt;I want to up the ante though. When we evolved &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt; last year, we partially worked in the open, in the form of a &lt;a href=&quot;https://piccalil.li/blog/redesigning-piccalilli-the-first-part-of-the-design-process/&quot;&gt;series of posts, sharing how we did it&lt;/a&gt;. I want us to push further than that though and do full projects in the open, sharing as much as we possibly can during all parts of the process.&lt;/p&gt;



&lt;p&gt;First, we’re going to do an internal project in the open. It’s very likely going to be the redesign of the &lt;a href=&quot;https://cube.fyi/&quot;&gt;CUBE CSS website&lt;/a&gt;. There’s a couple of reasons for that:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;We need to get used to the idea of sharing our agency work&lt;/li&gt;



&lt;li&gt;Its content that will resonate with our &lt;em&gt;current&lt;/em&gt; audience&lt;/li&gt;



&lt;li&gt;Doing an internal project allows us to smooth out the edges&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;We’ve already explored some creative ideas like the below. We’ve got a head start, but we’ll go &lt;em&gt;all the way to the start&lt;/em&gt; to show you &lt;strong&gt;the whole process&lt;/strong&gt;.&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://andy-bell.imgix.net/2025/04/cube-clip-1024x751.png&quot; alt=&quot;Bold graphic with large black text on a bright green background reading ‘CSS in EASY MODE’ repeated three times. Stylised typography fills the entire layout, with the word ‘REMIX’ in a small circular logo at the top right.&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;We’re also doing a lot of branding related work for &lt;a href=&quot;https://piccalil.li/courses/&quot;&gt;upcoming courses on Piccalilli&lt;/a&gt;, along with bringing &lt;a href=&quot;https://piccalil.li/category/reality-check/&quot;&gt;series like Reality Check&lt;/a&gt; back into focus with a much more soft-skills and collaborative edge to help people develop their relationship with designer and developer colleagues, while also, producing great work. There’s a lot of &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;content like that in my course&lt;/a&gt;, but that’s only open to people that can afford it. I’d love for us to invest more time in sharing that work to give people that real world education they so desperately want and make it free at the point of entry.&lt;/p&gt;



&lt;p&gt;The next iteration of open working is we link up with UK-based progressive movements and develop them a world class web presence, &lt;strong&gt;for free&lt;/strong&gt;. There’s so much money sloshing around in UK politics, but it’s in the wrong hands because it’s with the right-wing parties such as Reform and the Conservatives. They get funding from big business and billionaires because right-wing policies make them richer.&lt;/p&gt;



&lt;p&gt;Progressive movements, however — and unsurprisingly — do not get anything &lt;em&gt;near&lt;/em&gt; that sort of money. In fact, they don’t get money at all really. A lot of movements are run during out of work hours &lt;em&gt;on top&lt;/em&gt; of people’s day jobs. Meanwhile, the right get funding, column inches and broadcast TV slop like GB News.&lt;/p&gt;



&lt;p&gt;Also because of this lack of funding, a lot of the work progressive movements &lt;em&gt;need&lt;/em&gt; to do on the web is cobbled together with free templates and is often, clunky. That’s no shade on them by the way, the web is increasingly complex, so getting even a modest website out there is &lt;em&gt;hard&lt;/em&gt;.&lt;/p&gt;



&lt;p&gt;What we want to equip these people with, is the tools that we’ve equipped for-profit clients with so successfully over the years. The thought is that will super-drive progressive movements to push the change we so desperately need.&lt;/p&gt;



&lt;p&gt;We’re not out of the woods in the UK. Sure, we finally got away from 14 years of Tory rule — thanks in a huge part to &lt;a href=&quot;https://themovementforward.com/&quot;&gt;tactical, progressive movements like The Movement Forward&lt;/a&gt; — but unless the incumbent Labour government deliver promised change, we’ll be back with our country being ripped apart by Reform and co, just like Trump and co are ripping the USA apart as we speak.&lt;/p&gt;



&lt;p&gt;If our studio is behind movements that prevent that from happening, I’ll be unbelievably happy. We’ll finally be doing what we set out to do in the first place.&lt;/p&gt;



&lt;h2&gt;How does it all get funded though?&lt;/h2&gt;



&lt;p&gt;We’ve tried talking companies into funding progressive work and it’s almost always “how can this benefit our profit/brand/image though”? Like I said earlier, the rich fund the right because that keeps them rich.&lt;/p&gt;



&lt;p&gt;I’m thinking down a different path. A more distributed path, I guess. My thought is we set up an &lt;a href=&quot;https://opencollective.com/&quot;&gt;Open Collective&lt;/a&gt; (or alternative, transparent platform) and &lt;strong&gt;fund this work from the community&lt;/strong&gt;. That could be individuals &lt;em&gt;and&lt;/em&gt; it could be companies that believe in progressive political movements, like the ones we want to produce work for.&lt;/p&gt;



&lt;p&gt;The return? Progressive movements get an outstanding web presence and the web community gets genuine real world education as we design and build these web presences in the open.&lt;/p&gt;



&lt;p&gt;At the end of the day, all I want is to live comfortably and support my family. The Set team are exactly the same. We’re not looking to Get Loaded™ and buy extremely tasteless Lamborghinis. We’ve all being doing this thing forever — 50+ years combined — and we’re at the point in our careers where we want our work to do as much &lt;em&gt;good&lt;/em&gt; as possible, across the board.&lt;/p&gt;



&lt;p&gt;The obsession with AI (and other vapourware) in our industry just depresses me, especially when there’s so much need for tech to be a vehicle for progressive progress. Increasingly the tech industry is doing the opposite: fuelling the hard-right — &lt;a href=&quot;https://www.newsweek.com/white-house-crying-woman-ice-studio-ghibli-2051924&quot;&gt;who coincidentally are very much using AI&lt;/a&gt; . The tech industry are also fuelling the reckless policymaking — and yeh, that’s depressing.&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;&lt;strong&gt;Update, 13th May 2025: &lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;We’ve put a &lt;em&gt;lot&lt;/em&gt; more into this and we are now accepting support from the community. &lt;a href=&quot;https://piccalil.li/blog/we-need-your-support-to-do-free-projects-for-good-causes-and-publish-free-high-quality-education/&quot;&gt;We wrote about it over on Piccalilli&lt;/a&gt; and &lt;a href=&quot;https://opencollective.com/piccalilli&quot;&gt;there’s now an Open Collective&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;Thank you, everyone! &lt;/p&gt;
</content:encoded></item><item><title>Cool bridging thing</title><link>https://bell.bz/cool-bridging-thing/</link><guid isPermaLink="true">https://bell.bz/cool-bridging-thing/</guid><pubDate>Fri, 11 Apr 2025 19:39:33 GMT</pubDate><content:encoded>
&lt;p&gt;There’s a cool service that bridges bluesky and mastodon accounts together called &lt;a href=&quot;https://fed.brid.gy/&quot;&gt;Bridgy Fed&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;It’s pretty cool because you can interact with accounts across platforms, from the platform you’re happy in. That’s bluesky for me, personally, but I know a lot of folks are happy on mastodon. That’s great, we should all be happy, especially considering the horrors.&lt;/p&gt;



&lt;p&gt;I dunno, it feels like a good idea that we do more of this. There’s loads of pals I miss who spend a lot of their time on mastodon. Let’s &lt;a href=&quot;https://fed.brid.gy/docs#get-started&quot;&gt;work out a way to link us all up again&lt;/a&gt;!&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;As an aside, I just put my url in the &lt;a href=&quot;https://fed.brid.gy/&quot;&gt;text box here&lt;/a&gt;. I then clicked a bluesky link thing and &lt;a href=&quot;https://bsky.app/profile/bell.bz.web.brid.gy&quot;&gt;there’s a new looking account that’s auto posting from my site now&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;Is this a comment system (that’s actually good) in the making?&lt;/p&gt;
</content:encoded></item><item><title>Am I missing your country with our Purchasing Power Parity system</title><link>https://bell.bz/am-i-missing-your-country-with-our-purchasing-power-parity-system/</link><guid isPermaLink="true">https://bell.bz/am-i-missing-your-country-with-our-purchasing-power-parity-system/</guid><pubDate>Thu, 10 Apr 2025 09:30:50 GMT</pubDate><content:encoded>
&lt;p&gt;If you head over to &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;Complete CSS&lt;/a&gt; and you’re in a country that we support for Purchasing Power Parity (PPP), you should see a discount code. &lt;/p&gt;



&lt;p&gt;I think we’ve got the vast majority of them but I think we’re also missing some. If you normally get a PPP discount for courses and we’re &lt;em&gt;not&lt;/em&gt; offering a PPP code to you, &lt;a href=&quot;https://bell.bz/links&quot;&gt;can you let me know&lt;/a&gt;? Much appreciated! &lt;/p&gt;
</content:encoded></item><item><title>Shoptalk show</title><link>https://bell.bz/shoptalk-show/</link><guid isPermaLink="true">https://bell.bz/shoptalk-show/</guid><pubDate>Mon, 31 Mar 2025 12:58:20 GMT</pubDate><content:encoded>
&lt;p&gt;I was lucky enough to appear on the legendary &lt;a href=&quot;https://shoptalkshow.com/&quot;&gt;Shoptalk Show&lt;/a&gt; podcast to talk client work, courses and Piccalilli. It’s been 5 years since I was last on it, so it was extra nice to speak with Chris and Dave again IRL. &lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://shoptalkshow.com/658/&quot;&gt;Check it out! &lt;/a&gt;&lt;/p&gt;



&lt;p&gt;They also put the episodes on Youtube now, so if you’re a Youtube podcast consumer: &lt;/p&gt;



&lt;figure&gt;&lt;div&gt;

&lt;/div&gt;&lt;/figure&gt;
</content:encoded></item><item><title>Alright, let me tell you how to make good Yorkshire puddings</title><link>https://bell.bz/alright-let-me-tell-you-how-to-make-good-yorkshire-puddings/</link><guid isPermaLink="true">https://bell.bz/alright-let-me-tell-you-how-to-make-good-yorkshire-puddings/</guid><pubDate>Sun, 30 Mar 2025 15:18:14 GMT</pubDate><content:encoded>
&lt;p&gt;I’m from Yorkshire so this recipe is right, but so is yours if your Yorkshire puddings are good. There’s so many different ways and ratios. This one works really well for me.&lt;/p&gt;



&lt;p&gt;You want to be making this batter at least an hour before you need it. Allowing it to rest at room temperature means it’ll be generating gas, which is what you want for them to rise.&lt;/p&gt;



&lt;h2&gt;Batter&lt;/h2&gt;



&lt;p&gt;1 egg makes 4 Yorkshire puddings.&lt;/p&gt;



&lt;p&gt;Put your bowl or whatever you’re using on a scale and trace it back to 0g. This is our container for the rest of this recipe.&lt;/p&gt;



&lt;p&gt;Crack your eggs into the container and take note of the weight. Let’s say it’s 120g for this example.&lt;/p&gt;



&lt;p&gt;Now add 120g of plain flour to the container. The weight of the flour should match the weight of the eggs.&lt;/p&gt;



&lt;p&gt;Your flour and eggs now weigh 240g. Add 240g of milk. The weight of the milk should match the weight of your flour and eggs combined.&lt;/p&gt;



&lt;p&gt;Season with salt, pepper and rosemary.&lt;/p&gt;



&lt;p&gt;I use a blender to combine it all because you need a really smooth batter. It will feel very wet when you combine it all and that is the correct consistency.&lt;/p&gt;



&lt;p&gt;Now leave to rest for at least an hour if you can. &lt;/p&gt;



&lt;h2&gt;Cooking &lt;/h2&gt;



&lt;p&gt;Pre-heat your oven to as hot as it will go. Honestly, your oven has to be screaming hot. &lt;/p&gt;



&lt;p&gt;Get your muffin tins or whatever contraption you’re using, put about 1/2 teaspoon of oil/dripping/fat in each slot, then put it all in your screaming hot oven for at least 10 mins. I use rapeseed oil because it has a higher smoke point, rather than animal fat which tends to not.&lt;/p&gt;



&lt;p&gt;After 10 mins get the now screaming hot oil out. You need to move really fast, so it’ll be worth gently stirring your batter in advance.&lt;/p&gt;



&lt;p&gt;As soon as the oil is out, pour your batter into even portions and put it back in the screaming hot oven.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;DO NOT OPEN THE DOOR AGAIN UNTIL THEY ARE COOKED.&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;My oven goes up to about 260°C and it takes about 20 mins to cook Yorkshire puddings to my liking. Your times will vary, but what you’re looking for is the Yorkshire puddings to stop rising and be a nice golden-to-dark brown on the edges.&lt;/p&gt;



&lt;p&gt;Only when they are cooked, do you open the oven or they’ll sink into sad little discs.&lt;/p&gt;



&lt;p&gt;Enjoy!&lt;/p&gt;
</content:encoded></item><item><title>5 years since the .NET Mag article</title><link>https://bell.bz/5-years-since-the-net-mag-article/</link><guid isPermaLink="true">https://bell.bz/5-years-since-the-net-mag-article/</guid><pubDate>Fri, 28 Mar 2025 16:52:28 GMT</pubDate><content:encoded>
&lt;p&gt;Man, I remembering this being a &lt;em&gt;big deal&lt;/em&gt; for me. I was lucky enough to be in the last (I think) .NET Mag (pour one out) 5 years ago. Timehop reminded me earlier.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;709&quot; height=&quot;1024&quot; src=&quot;https://andy-bell.imgix.net/2025/03/image-709x1024.png&quot; alt=&quot;A photo of that magazine article. It&apos;s transcribed below.&quot; srcset=&quot;https://andy-bell.imgix.net/2025/03/image-709x1024.png 709w, https://andy-bell.imgix.net/2025/03/image-208x300.png 208w, https://andy-bell.imgix.net/2025/03/image-768x1109.png 768w, https://andy-bell.imgix.net/2025/03/image-1063x1536.png 1063w, https://andy-bell.imgix.net/2025/03/image.png 1080w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;Screw it, here’s a transcribed version. &lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;&lt;em&gt;Meet the educator and web designer who’s helping the community via an astonishing array of side projects.&lt;/em&gt;&lt;/p&gt;



&lt;h2&gt;Could you briefly introduce yourself to anyone who doesn’t know you?&lt;/h2&gt;



&lt;p&gt;I’m Andy, an educator and web designer from the UK.&lt;/p&gt;



&lt;p&gt;I’m trying to help people learn how to make high-performing, accessible and inclusive digital products and websites. I do this while also running a freelance design and development client-services business.&lt;/p&gt;



&lt;h2&gt;You’ve released a LOT of side projects to help the community: what drives you to do so and how do you find the time? &lt;/h2&gt;



&lt;p&gt;A lot of the time, these projects come from my own selfish need rather than trying to help the community.&lt;/p&gt;



&lt;p&gt;It’s usually when I get part of the way through the project that I think, ‘Huh, maybe the community could really benefit from this. I’d better share it’.&lt;/p&gt;



&lt;p&gt;A good example of this is my modern CSS reset (https://github.com/hankchizljaw/modern-css-reset), which spent so many years being tinkered with in private. Eventually, though, I gathered some folks might find it handy. Turns out they did!&lt;/p&gt;



&lt;p&gt;In terms of finding time: I’m just one of those annoying, hyper-organised people that has a plan for everything. Everything is organised to the nth degree and related to that, I couldn’t recommend bullet journalling and Notion (notion.so) more if I tried.&lt;/p&gt;



&lt;h2&gt;To date, which of your tools has got most traction and why?&lt;/h2&gt;



&lt;p&gt;I think one of the most talked about tools was Hylia (https://hylia.website), which is an Eleventy starter kit.&lt;/p&gt;



&lt;p&gt;It was something I wanted to make for a while because I saw a gap for a tool that anyone could use to publish their own content – even if they couldn’t code.&lt;/p&gt;



&lt;p&gt;I also wanted it to be really modular and easy to extend, which I achieved with a straightforward Sass setup that is powered by design tokens. The combo of this and its ease-of-publishing seems to have gone down really well with the web community and beyond.&lt;/p&gt;



&lt;h2&gt;How is your screencast course, CSS From Scratch, coming along and why should people sign up to it?&lt;/h2&gt;



&lt;p&gt;Glad you asked. That course is actually being amalgamated into a bigger project that’s being put together at the moment: Piccalilli (https://piccalil.li). Piccalilli started life as a CSS newsletter but it’s evolving into a brand new project that will be focused on tutorials, articles and courses that I produce along with, of course, the newsletter.&lt;/p&gt;



&lt;p&gt;Along with my other related project, Front-End Challenges Club (https://front-end-challenges.club), my focus is increasingly in education, which is exactly where I want to be.&lt;/p&gt;



&lt;h2&gt;What can we expect from you in the future?&lt;/h2&gt;



&lt;p&gt;Education is certainly taking a front seat. I’m hoping to release two or three courses this year, along with the rest of the Piccalilli tutorials and Front-End Challenges Club challenges. The aim is for education to be the primary part of my business, with making websites for clients, the secondary part. A complete flip from where it currently is.&lt;/p&gt;



&lt;p&gt;We’re also going to be adding some cool stuff to Every Layout (https://every-layout.dev), including a potential print version. Lots of work to do on that front, though!&lt;/p&gt;



&lt;h2&gt;What else is exciting you most in the field of web design right now?&lt;/h2&gt;



&lt;p&gt;It’s got to be JAMstack. Very much related that, something that really excites me more than any tech or tools is that performance and accessibility seem to be getting a front-row seat, which I’m very much on board with.&lt;/p&gt;



&lt;p&gt;Static site generators seem to be leading this charge and my favourite, Eleventy, is definitely doing great things to help people produce incredibly lightweight websites. I see a very bright, speedy future.&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;It’s quite amusing to read that back. I had way too much optimism in my ability to churn out courses lol. At least &lt;em&gt;now&lt;/em&gt; I know hard and time consuming they are. &lt;/p&gt;



&lt;p&gt;It’s also funny how the &lt;em&gt;CSS From Scratch &lt;/em&gt;one did eventually come out. It just arrived as &lt;a href=&quot;https://web.dev/learn/css&quot;&gt;Learn CSS&lt;/a&gt; and &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;Complete CSS&lt;/a&gt;, with a few years of more experience in there. &lt;/p&gt;
</content:encoded></item><item><title>I like having a links page</title><link>https://bell.bz/i-like-having-a-links-page/</link><guid isPermaLink="true">https://bell.bz/i-like-having-a-links-page/</guid><pubDate>Thu, 27 Mar 2025 11:22:08 GMT</pubDate><content:encoded>
&lt;p&gt;You can do what you want with your website and that’s what I (try) to do, that’s for sure. I stuck a &lt;a href=&quot;https://bell.bz/music-collection/&quot;&gt;music collection in here&lt;/a&gt; because why not? Yeh I’ve got a &lt;a href=&quot;https://bell.bz/blog/&quot;&gt;blog&lt;/a&gt; and an &lt;a href=&quot;https://bell.bz/about/&quot;&gt;about page&lt;/a&gt; — y’know, the usual stuff — but the thing I really like is my &lt;a href=&quot;https://bell.bz/links/&quot;&gt;links page&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;Everything is so fragmented now and long gone are the days when you’d just pop your Twitter (RIP) handle on a conference lanyard or slide deck. It’s much harder for people to find you now. &lt;/p&gt;



&lt;p&gt;What I’ve started doing is putting &lt;code&gt;swop.link/andy&lt;/code&gt; on my conference slides (it’s not a rickroll, I promise). That redirects you to my &lt;a href=&quot;https://bell.bz/links/&quot;&gt;links page&lt;/a&gt;. All I have to do now is keep that thing up to date. &lt;/p&gt;



&lt;p&gt;Because it’s &lt;em&gt;my website &lt;/em&gt;and I can do what I want with it, I put work links, personal links and ways you can support me. It’s cool. Websites are cool.&lt;/p&gt;
</content:encoded></item><item><title>Severance s2 finale</title><link>https://bell.bz/severance-s2-finale/</link><guid isPermaLink="true">https://bell.bz/severance-s2-finale/</guid><pubDate>Tue, 25 Mar 2025 12:31:47 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve finally watched the finale of season 2 of Severance. I don’t want to spoil it for anyone, but I’ve got two sentences here that may or may not break your brain. &lt;/p&gt;




Spoilers, don’t open if you haven’t watched

&lt;p&gt;At the end, it was Helena, not Helly.&lt;/p&gt;

&lt;p&gt;Gemma has no idea Mark is severed, so she thinks Mark Scout is running off with Helena, not Mark S, who it actually is.&lt;/p&gt;





&lt;p&gt;Anywho, bloody good TV, aye? &lt;/p&gt;
</content:encoded></item><item><title>We redesigned the Set Studio website and refreshed The Index</title><link>https://bell.bz/we-redesigned-the-set-studio-website-and-refreshed-the-index/</link><guid isPermaLink="true">https://bell.bz/we-redesigned-the-set-studio-website-and-refreshed-the-index/</guid><pubDate>Fri, 14 Mar 2025 13:51:39 GMT</pubDate><content:encoded>
&lt;p&gt;I am bad at posting on my website, admittedly so I thought I’d just acknowledge some work we’ve done that I’m really proud of. &lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;697&quot; src=&quot;https://andy-bell.imgix.net/2025/03/CleanShot-2025-03-14-at-13.16.16@2x-1024x697.jpg&quot; alt=&quot;The homepage of Set.Studio, featuring a bold slogan &apos;Move fast. (without breaking things)&apos; in large black typography on a light background. Below, a preview of featured projects is partially visible.&quot; srcset=&quot;https://andy-bell.imgix.net/2025/03/CleanShot-2025-03-14-at-13.16.16@2x-1024x697.jpg 1024w, https://andy-bell.imgix.net/2025/03/CleanShot-2025-03-14-at-13.16.16@2x-300x204.jpg 300w, https://andy-bell.imgix.net/2025/03/CleanShot-2025-03-14-at-13.16.16@2x-768x523.jpg 768w, https://andy-bell.imgix.net/2025/03/CleanShot-2025-03-14-at-13.16.16@2x-1536x1045.jpg 1536w, https://andy-bell.imgix.net/2025/03/CleanShot-2025-03-14-at-13.16.16@2x-2048x1394.jpg 2048w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;First up, we’ve completely rebranded and redesigned the &lt;a href=&quot;https://set.studio&quot;&gt;Set Studio website&lt;/a&gt;. The much-loved industry-focused design worked really well for, well, &lt;em&gt;The Industry™&lt;/em&gt;, but did not do us many favours in communicating what we’re good at to companies outside our bubble. &lt;/p&gt;



&lt;p&gt;To combat that, we blocked out January and February this year to give the redesign 100% of our focus. It was slightly scary, not working on billable stuff, but we were never going to do the job that needed to be done otherwise. &lt;/p&gt;



&lt;p&gt;I think now &lt;a href=&quot;https://set.studio/&quot;&gt;the site&lt;/a&gt; does a bloody good job of showing the impact we have had for other clients &lt;em&gt;and&lt;/em&gt; demonstrating how Set Studio is not like other agencies — genuinely. I’m chuffed with it! &lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;697&quot; src=&quot;https://andy-bell.imgix.net/2025/03/CleanShot-2025-03-14-at-13.16.30@2x-1024x697.jpg&quot; alt=&quot;A bold, high-contrast hero section for &apos;The Index&apos; newsletter on the Piccalilli website. The large black typography highlights the newsletter’s focus on high-quality, curated design, development, and tech links. A bright yellow callout emphasises that over 2,400 subscribers receive the newsletter twice a week, with a signup form prominently displayed.&quot; srcset=&quot;https://andy-bell.imgix.net/2025/03/CleanShot-2025-03-14-at-13.16.30@2x-1024x697.jpg 1024w, https://andy-bell.imgix.net/2025/03/CleanShot-2025-03-14-at-13.16.30@2x-300x204.jpg 300w, https://andy-bell.imgix.net/2025/03/CleanShot-2025-03-14-at-13.16.30@2x-768x523.jpg 768w, https://andy-bell.imgix.net/2025/03/CleanShot-2025-03-14-at-13.16.30@2x-1536x1045.jpg 1536w, https://andy-bell.imgix.net/2025/03/CleanShot-2025-03-14-at-13.16.30@2x-2048x1394.jpg 2048w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;There was a pocket of time for myself and &lt;a href=&quot;https://bsky.app/profile/jasonbradberry.bsky.social&quot;&gt;Jason&lt;/a&gt; to do some &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt; work in this period too and I immediately filled that with a design refresh of &lt;a href=&quot;https://piccalil.li/the-index/&quot;&gt;The Index&lt;/a&gt; — our newsletter. I think we’ve done a good job of that too. Instead of repeating the breakdown of that, &lt;a href=&quot;https://piccalil.li/blog/we-gave-the-index-a-much-needed-design-refresh-and-introduced-advertising/&quot;&gt;I already posted about it on Piccalilli&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;We also &lt;a href=&quot;https://piccalil.li/advertise/&quot;&gt;opened up advertising on Piccalilli&lt;/a&gt; which has take &lt;em&gt;months &lt;/em&gt;of deliberation and thinking to make sure we do well for everyone: companies and most importantly, readers. I think we managed to get that balance pretty much spot on. I hope so anyway because its success will unlock loads of good.&lt;/p&gt;



&lt;p&gt;&lt;br /&gt;I just want to note how proud I am of the Set Studio/Piccalilli team. I’m v lucky. &lt;/p&gt;



&lt;p&gt;And now…we’re hitting some really interesting client work, head-on 🙂&lt;/p&gt;
</content:encoded></item><item><title>Love newsletters? You’re gonna love RSS</title><link>https://bell.bz/love-newsletters-youre-gonna-love-rss/</link><guid isPermaLink="true">https://bell.bz/love-newsletters-youre-gonna-love-rss/</guid><pubDate>Sat, 08 Feb 2025 09:56:42 GMT</pubDate><content:encoded>
&lt;p&gt;I love newsletters. They feel intimate, focused and I love reading them, especially on a weekend like today.&lt;/p&gt;



&lt;p&gt;The problem with newsletters is they can clog up your inbox. Your inbox is often a source of stress too. That’s certainly true for me.&lt;/p&gt;



&lt;p&gt;There is another option though: RSS. It’s been around &lt;em&gt;forever&lt;/em&gt; and a lot of newsletters offer an RSS feed along with the ability to subscribe by email.&lt;/p&gt;



&lt;p&gt;I curate &lt;a href=&quot;https://piccalil.li/the-index/&quot;&gt;The Index&lt;/a&gt; — Piccalilli’s newsletter — which is web first. That was really important to me when we set it up — originally as a Set Studio newsletter — because I wanted it to be as accessible as possible to everyone. I’m not one for vendor lock-in.&lt;/p&gt;



&lt;h2&gt;How can I use RSS feeds?&lt;/h2&gt;



&lt;p&gt;You’re gonna need to get yourself an RSS reader: a bit of software that takes those feeds and shows you new content to read.&lt;/p&gt;



&lt;p&gt;Some free options (that I’m aware of) are &lt;a href=&quot;https://feedly.com&quot;&gt;Feedly&lt;/a&gt;, &lt;a href=&quot;https://www.newsblur.com&quot;&gt;Newsblur&lt;/a&gt; and &lt;a href=&quot;https://www.inoreader.com&quot;&gt;Inoreader&lt;/a&gt;. They’ll be a great entry point for you.&lt;/p&gt;



&lt;p&gt;I personally use a paid option — &lt;a href=&quot;https://feedbin.com&quot;&gt;Feedbin&lt;/a&gt; — which is quite possibly one of my favourite pieces of software. It’s great because not only can you subscribe to RSS feeds, but you can also subscribe to email newsletters because it gives you an email address that points at &lt;em&gt;your&lt;/em&gt; reader. I do this because it helps the publishers. They need those sweet subscriber counts so they can attract sponsors/advertisers to sustain themselves. There’s &lt;a href=&quot;https://www.kryogenix.org/days/2025/02/08/use-rss-to-read-newsletters/&quot;&gt;more info on that stuff here by Stuart&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;Feedbin also works well with other apps like &lt;a href=&quot;https://apps.apple.com/gb/app/netnewswire-rss-reader/id1480640210&quot;&gt;NetNewsWire&lt;/a&gt; and a &lt;a href=&quot;https://feedbin.com/apps&quot;&gt;nice handful here&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;RSS readers aren’t limited to newsletters and blogs either. You can subscribe to a lot of websites — most news publishers offer RSS feeds — and curate your own little digital garden. Defederated social media services like Bluesky and Mastodon provide RSS feeds for profiles too (add /rss to the end of a profile URL on Bluesky and .rss on Mastodon), so again, you can use these to curate your own digital garden.&lt;/p&gt;



&lt;p&gt;There’s a lot of doom and gloom, especially now. Try to create a space for &lt;em&gt;you&lt;/em&gt; on the web with RSS and I promise, you’ll love it. My advice is go slow and subscribe to stuff &lt;em&gt;you&lt;/em&gt; love and when you don’t love it anymore, or the velocity of content from a source gets too much: unsubscribe. I’d stay away from importing someone else’s list of feeds. It’s why I don’t share mine! It’s &lt;em&gt;your&lt;/em&gt; digital garden after all.&lt;/p&gt;
</content:encoded></item><item><title>Just a big ol’ markdown file</title><link>https://bell.bz/just-a-big-ol-markdown-file/</link><guid isPermaLink="true">https://bell.bz/just-a-big-ol-markdown-file/</guid><pubDate>Thu, 06 Feb 2025 11:42:36 GMT</pubDate><content:encoded>
&lt;p&gt;Do you know &lt;a href=&quot;https://www.youtube.com/watch?v=gJLIiF15wjQ&quot;&gt;what I want — what I &lt;em&gt;really&lt;/em&gt; &lt;em&gt;really &lt;/em&gt;want&lt;/a&gt;? A little shortcut on my phone and Mac on the share sheet that does the following: prompt me for a title and a description, smoosh all that together and give me the following: &lt;/p&gt;



&lt;pre&gt;&lt;code&gt;## [title here](link url)

description here&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;The &lt;em&gt;dream&lt;/em&gt; scenario then would be that it prepends it to a big ol’ markdown file — ideally in Obsidian — but I’d also take a file in a GitHub repo. &lt;/p&gt;



&lt;h2&gt;“Why?” they scream &lt;/h2&gt;



&lt;p&gt;I curate &lt;a href=&quot;https://piccalil.li/the-index/&quot;&gt;The Index newsletter for Piccalilli&lt;/a&gt; and each issue is — you guessed it — a big ol’ markdown file. Right now, I store links in a Notion database (👎) and then twice a week, I rifle through them and write a description for each link I select. &lt;/p&gt;



&lt;p&gt;That’s &lt;em&gt;fine&lt;/em&gt;, sure, but it would be so much better if I wrote that description right after I’d read the article or stumbled across a Cool Thing On The Internet™.&lt;/p&gt;



&lt;p&gt;There’s a real problem: I am not smart, actually. Sure, &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;I write CSS pretty good&lt;/a&gt;, but this sorta file based stuff is beyond my skillset. I do have a burning desire to get away from Notion too. It’s fine for client work stuff at &lt;a href=&quot;https://set.studio/&quot;&gt;the studio&lt;/a&gt;, but I really yearn to keep things simple as much as possible, especially when I’m sitting back and catching up on my RSS feeds. &lt;/p&gt;



&lt;p&gt;Any ideas are welcome. &lt;a href=&quot;https://bell.bz/links/&quot;&gt;Give me a shout&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Wrapping up 2024</title><link>https://bell.bz/wrapping-up-2024/</link><guid isPermaLink="true">https://bell.bz/wrapping-up-2024/</guid><pubDate>Tue, 31 Dec 2024 17:00:56 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve just read &lt;a href=&quot;https://andy-bell.co.uk/wrapping-up-2023/&quot;&gt;last year’s wrap up&lt;/a&gt; and it made me quite sad. I really was in a rough spot, mentally. What makes me the most sad though is I couldn’t honestly tell you I’m in a much better place. Things are on the up though.&lt;/p&gt;



&lt;p&gt;I don’t really have a will to sit here and write a wrap up post either this year, but it’s a really important way for me to close the door on one year and open the door to a new one, so with that in mind, let’s look at this year, shall we?&lt;/p&gt;



&lt;h2&gt;Work&lt;/h2&gt;



&lt;p&gt;That’s what you’re here for, so let’s start there. It’s been a mixed bag this year.&lt;/p&gt;



&lt;p&gt;First of all, I did indeed produce a &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;CSS course&lt;/a&gt;, as &lt;a href=&quot;https://arc.net/l/quote/rjwnthkq&quot;&gt;promised&lt;/a&gt;. The process of producing it has absolutely killed me, but I’d say it’s probably the best work I’ve done in this industry. The combined effort of the &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; team to hit a &lt;em&gt;very hard&lt;/em&gt; internal deadline — the hardest thing to achieve — was top class too.&lt;/p&gt;



&lt;p&gt;For so many years, I’ve had this fragmented set of advice, methodologies and strategies which producing a course has allowed me to finally codify into something neat and tidy. It’s been written in a way that I hope, will see it age well too.&lt;/p&gt;



&lt;p&gt;The focus of the course is CSS, but what I really wanted to do — and what I’m confident I have achieved — is teach the importance of soft skills. I’m so into soft skills that I call them “core skills” and if I were to summarise &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;Complete CSS&lt;/a&gt;, I’d say it pushes your abilities as a developer way beyond what a strictly technical course would do because &lt;em&gt;everything&lt;/em&gt; is centred around using core skills to simplify things, which in turn results in better code while also, opening doors to career progression.&lt;/p&gt;



&lt;p&gt;Producing a course has come at a cost though. I near enough vanished from my actual job at points — running &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; — and it’s definitely negatively affected things and the people who work there. I feel unbelievably guilty for putting so much onto the team and allowing stuff to slip because of that. Thankfully, I won’t be producing a big course like that again!&lt;/p&gt;



&lt;p&gt;The course — and the bespoke system we built — was a necessary thing to do though because producing courses with Piccalilli is going to allow us to &lt;em&gt;specialise&lt;/em&gt; on what we do best as an agency: helping good organisations grow by hyper-focusing on &lt;em&gt;everything&lt;/em&gt; user-facing. Sure, we’ve always done that, but we’ve also had to do corporate work and back-end/integration work too, which has drained the life out of us. The problem is, that stuff &lt;em&gt;pays&lt;/em&gt;. Having the passive revenue from courses really takes the pressure off and lets us focus on what we do best. I really want us to partner with other agencies that specialise in the back-end and integration stuff in the new year because that combined skillset will only benefit clients, as I see it.&lt;/p&gt;



&lt;p&gt;Speaking of clients, it’s &lt;em&gt;still&lt;/em&gt; rough out there in client services, but it’s getting incrementally better. Another reason for us setting up a course system on Piccalilli was to &lt;a href=&quot;https://bell.bz/i-wrote-a-course-but-its-so-much-more-than-that/&quot;&gt;help other independents suffering from the struggles, rightly get paid &lt;em&gt;fairly&lt;/em&gt; for their work&lt;/a&gt;. We’ve already started the groundwork with a couple of &lt;em&gt;extremely&lt;/em&gt; talented educators. More on that next year 👀&lt;/p&gt;



&lt;p&gt;All-in-all though, it’s been great to get &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt; up and running again, while also &lt;a href=&quot;https://piccalil.li/blog/redesigning-piccalilli-the-first-part-of-the-design-process/&quot;&gt;completely redesigning it&lt;/a&gt; — hopefully showcasing what we’re made of. We’ve put a lot of work into that thing this year and I couldn’t be prouder of the team for pulling it off.&lt;/p&gt;



&lt;h2&gt;Hobbies&lt;/h2&gt;



&lt;p&gt;It’s been a quiet year for hobbies. I’ve worked too fucken hard and on the evenings, I’ve been too damn tired, so we’ve just rotted on the couch watching TV and films, so not much to report on that front.&lt;/p&gt;



&lt;p&gt;I’ve also not been to the gym all year, which is really poor form for me. I’m really feeling that at the moment too. I’ll add that to my resolutions to get back to the level of fitness I was at, at the start of last year.&lt;/p&gt;



&lt;p&gt;I’ve also had a bad year in terms of &lt;a href=&quot;https://bell.bz/music-collection/&quot;&gt;collecting music&lt;/a&gt;, only adding 2 records to the collection. Again, I want to improve that next year and spend a lot less time with streaming services.&lt;/p&gt;



&lt;h2&gt;Resolutions&lt;/h2&gt;



&lt;p&gt;Let’s see how I did on my 2024 resolutions:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Aim to double the team at Set Studio&lt;/strong&gt;: I don’t know what I was thinking making this a resolution. We work really well as a small, tight-knit team, so that’s how we’ll stay until we &lt;em&gt;need&lt;/em&gt; to hire.&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Release a course&lt;/strong&gt;: ✅&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Get back to being a prolific writer and content creator&lt;/strong&gt;: Not quite prolific, but I’ve written north of 120k words — if not more when you account for newsletters etc — this year which I’m happy with.&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Try to be calmer about finance (working class upbringing never rubs off)&lt;/strong&gt;: It’s been a tough transition but I’d class this as half a ✅&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Quit nicotine&lt;/strong&gt;: produce a course &lt;em&gt;and&lt;/em&gt; quit nicotine? Lmao, on to next year instead&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;Here’s my 2025 resolutions:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;Facilitate a complete redesign of &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt;’s brand and messaging that shows what we’re very good at and what a huge impact we’ve had on clients already&lt;/li&gt;



&lt;li&gt;Actually quit nicotine&lt;/li&gt;



&lt;li&gt;Release two courses for other authors on Piccalilli&lt;/li&gt;



&lt;li&gt;More hobbies, less overworking&lt;/li&gt;



&lt;li&gt;Sort my overall fitness and strength&lt;/li&gt;
&lt;/ul&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;In terms of achievement it’s been a good year, but I don’t feel amazing about it. Maybe it’s just exhaustion from overworking at this point. I’m not gonna sit here and say “2025 is going to be &lt;em&gt;the&lt;/em&gt; year”, &lt;em&gt;but&lt;/em&gt;, I am going into the new year with a mindset change for sure. I’ve let apathy take the wheel too much and even though our industry triggers a lot of that, there’s a lot of good happening too. I need to remember that more.&lt;/p&gt;



&lt;p&gt;I want to wrap up thanking everyone who worked with &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt;, who purchased &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;Complete CSS&lt;/a&gt; and who read content on &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt;. Your support is &lt;strong&gt;appreciated more than you could ever realise&lt;/strong&gt;. What I &lt;em&gt;can&lt;/em&gt; say is there’s a lot more coming next year — especially in the case of Piccalilli. 2024 really was the beginning of the future on that platform.&lt;/p&gt;



&lt;p&gt;I hope you, dear reader, have a great remaining holiday period and I’ll catch you in 2025 👋&lt;/p&gt;
</content:encoded></item><item><title>I wrote a course, but it’s so much more than that</title><link>https://bell.bz/i-wrote-a-course-but-its-so-much-more-than-that/</link><guid isPermaLink="true">https://bell.bz/i-wrote-a-course-but-its-so-much-more-than-that/</guid><pubDate>Fri, 29 Nov 2024 15:09:11 GMT</pubDate><content:encoded>
&lt;p&gt;This week, I published &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;Complete CSS&lt;/a&gt;. After 15+ years of teaching, architecting and delivering CSS for global organisations and startups, I’ve collated that experience into an extensive course. It’s been by far the biggest piece of work I’ve — sorry, &lt;em&gt;&lt;a href=&quot;https://set.studio/&quot;&gt;we’ve&lt;/a&gt;&lt;/em&gt; — ever delivered in this industry and I just wanted to acknowledge that for a second on this personal website of mine.&lt;/p&gt;



&lt;p&gt;It’s not just a course about writing CSS. In fact, this part is the most important part: &lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;You can spend all the time in the world focussing purely on your CSS knowledge, however, top level front-end development is about so much more than just writing code. It’s about communication, planning and pragmatic execution. I’m going to teach you these fundamental core skills — often described as “soft skills” — which will &lt;strong&gt;push you beyond the next level&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;Nailing my core skills was undoubtedly the most valuable thing I did for my professional career. I think it helps that I’m not a typical developer too; I actually wanted to be a musician and worked in kitchens, suit shops, high fashion retail before eventually, slinging websites. I think I developed a lot of my communication skills &lt;em&gt;away&lt;/em&gt; from the web, so I wanted to make that a real focal point of my course content because a lot of people who will read it will have &lt;em&gt;only &lt;/em&gt;been developers. &lt;/p&gt;



&lt;p&gt;As I say in the &lt;em&gt;Giving and receiving feedback&lt;/em&gt; lesson: &lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;…core skills like communication are crucial in writing better HTML, CSS and JS. You might be thinking “how though?!”, which to be fair, is understandable. Allow me to change your perspective. By nailing communication you &lt;strong&gt;will&lt;/strong&gt; by proxy, simplify and sanitise design work. This results in simpler code, which is &lt;strong&gt;what we should always be aiming for&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;I’ve spent a large chunk of those 15 years as a consultant, helping organisations — both global corporations and small startups — write better CSS. In &lt;strong&gt;almost every case&lt;/strong&gt; an improvement of the organisation’s core skills were the overarching difference in output.&lt;/p&gt;



&lt;h2&gt;This is more than just a course&lt;/h2&gt;



&lt;p&gt;I actually managed to turn this content concept into three things: &lt;a href=&quot;https://smashingconf.com/online-workshops/workshops/scalable-css-andy-bell/&quot;&gt;a workshop&lt;/a&gt;, &lt;a href=&quot;https://2024.ffconf.org/&quot;&gt;a talk&lt;/a&gt; and eventually &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;a course&lt;/a&gt;. This was a very deliberate decision because I knew I could keep refining the content as I went through each process. I’m so glad all three were all tangibly related to each other in the end. Feels like a heck of an achievement, if you will allow me to give myself the smallest of pats on the back.&lt;/p&gt;



&lt;p&gt;Also, this year at &lt;a href=&quot;https://set.studio&quot;&gt;Set Studio&lt;/a&gt;, we put the foundations down to &lt;a href=&quot;https://piccalil.li/blog/the-path-to-becoming-a-publisher/&quot;&gt;turn Piccalilli into a proper publisher&lt;/a&gt;. That process started with a re-platforming, which led to a &lt;a href=&quot;https://piccalil.li/blog/an-evolution-not-a-revolution/&quot;&gt;small design iteration&lt;/a&gt;, which &lt;a href=&quot;https://piccalil.li/blog/redesigning-piccalilli-the-first-part-of-the-design-process/&quot;&gt;led to a full redesign&lt;/a&gt;, which eventually &lt;a href=&quot;https://piccalil.li/blog/complete-css-launches-on-november-26/&quot;&gt;led to us publishing a course&lt;/a&gt;. It’s all about &lt;strong&gt;iteration&lt;/strong&gt; in our shop.&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://assets.codepen.io/174183/process-dotted.svg&quot; alt=&quot;4 sketch-like circles all joined — and drawn — with the same dotted line. The circles get neater and more refined from left to right.&quot; /&gt;&lt;figcaption&gt;The &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; team mascot &lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;Where we are now with Piccalilli is our foundation to blast forward and really get behind other authors and help them to publish their material, and earn &lt;em&gt;fairly&lt;/em&gt; by doing so. A lot of publishers give paltry royalty rates while also expecting authors to lead the promotion of the material &lt;em&gt;they &lt;/em&gt;wrote. It’s not fair and we want to make a difference by doing the exact opposite. &lt;/p&gt;



&lt;p&gt;We decided to publish my course first though, for a couple of reasons: &lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;We could be scrappy and iterate fast with me writing the material, rather than stressing out another author &lt;/li&gt;



&lt;li&gt;I had one big course in me that I’ve wanted to publish for a few years and now felt like the right time &lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;This is my third course now so I’ve got enough experience to be able to adapt. I didn’t need to do that though because the Set team are frankly, geniuses. I’ve never felt more supported during a huge body of work. In fact, I felt super-charged by their endless talent. I wrote the words, but they made it look and feel &lt;em&gt;excellent&lt;/em&gt;. (&lt;em&gt;Thank you again, Leanne, Vicky and Jason. You’re the best team.&lt;/em&gt;)&lt;/p&gt;



&lt;p&gt;We want other authors to experience what happens when you get a team like &lt;a href=&quot;https://set.studio&quot;&gt;Set Studio&lt;/a&gt; behind you too. We’ve only scratched the surface of what’s possible with my course and the way we’ve built this system means that authors can produce material in almost any format you can imagine. The &lt;a href=&quot;https://piccalil.li/blog/how-were-approaching-theming-with-modern-css/&quot;&gt;highly themeable system&lt;/a&gt; that powers the Piccalilli UI also allows us to have a completely bespoke look and feel for each course. &lt;/p&gt;



&lt;p&gt;This is the bit I’m really excited about. Sure, I feel &lt;em&gt;so proud of myself&lt;/em&gt; for delivering this course, but what I will take the most enjoyment out of is being an author’s wingman and pushing them further than they thought they could ever go.&lt;/p&gt;



&lt;p&gt;Piccalilli isn’t recognisable from where it was last year. Just wait until you see what we do with it in 2025. The best way to support that? Get a copy of &lt;a href=&quot;https://piccalil.li/complete-css/&quot;&gt;Complete CSS&lt;/a&gt;. &lt;/p&gt;
</content:encoded></item><item><title>Just use fucking paper, man</title><link>https://bell.bz/just-fucking-use-paper-man/</link><guid isPermaLink="true">https://bell.bz/just-fucking-use-paper-man/</guid><pubDate>Tue, 27 Aug 2024 13:11:36 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve tried Notion, Obsidian, Things, Apple Reminders, Apple Notes, &lt;a href=&quot;https://jotter.space/&quot;&gt;Jotter&lt;/a&gt; and endless other tools to keep me organised and sure, Notion has stuck around the most because we use it for client stuff, but for todo lists, all of the above are &lt;em&gt;way too complicated.&lt;/em&gt;&lt;/p&gt;



&lt;p&gt;I’ve given up this week and gone back to paper and a pencil and I feel unbelievably organised and flexible, day-to-day. It’s because it’s &lt;strong&gt;simple&lt;/strong&gt;. There’s nothing fancy. No fancy pen or anything like that either. Just a notebook and a pencil.&lt;/p&gt;



&lt;p&gt;I’m in an ultra busy period right now so for future me when you inevitably get back to this situation: just. use. fucking. paper.&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;Update: November 13, 2024. &lt;a href=&quot;https://bsky.app/profile/did:plc:pzgvqg4ihnaihkrpmxqz5pu6/post/3lataj2xs5c2t&quot;&gt;I got a remarkable&lt;/a&gt; but the same principles apply! &lt;/p&gt;
</content:encoded></item><item><title>Hi everyone I messed up my social accounts again</title><link>https://bell.bz/hi-everyone-i-messed-up-my-social-accounts-again/</link><guid isPermaLink="true">https://bell.bz/hi-everyone-i-messed-up-my-social-accounts-again/</guid><pubDate>Fri, 26 Jul 2024 15:07:51 GMT</pubDate><content:encoded>
&lt;p&gt;I am not good actually at this social media thing so messed up my accounts, moving stuff around for &lt;a href=&quot;https://piccalil.li/&quot;&gt;piccalilli&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;Anywho, this is where we’re at. &lt;a href=&quot;https://bell.bz/@andy&quot;&gt;My mastodon account&lt;/a&gt; is messed up. If we’re mutuals I am either following you or you are following me and very likely, not at the same time lol. Sorry about that, but yeh, let’s fix it! &lt;/p&gt;



&lt;p&gt;Bluesky is all good and you know what, &lt;a href=&quot;https://bsky.app/profile/bell.bz&quot;&gt;I’m actually using it some more&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;I’m not bothering with threads or linkedin right now. Twitter is, well, Twitter. Piccalilli is still postin’ there but after using Twitter for the general election, my brain is fully rotted, so I won’t be there much either. &lt;/p&gt;



&lt;p&gt;Regardless, &lt;a href=&quot;https://bell.bz/links/&quot;&gt;here’s my links&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;Lots of love,&lt;br /&gt;Andy&lt;/p&gt;
</content:encoded></item><item><title>14 ways to supercharge your workflow with AI</title><link>https://bell.bz/14-ways-to-supercharge-your-workflow-with-ai/</link><guid isPermaLink="true">https://bell.bz/14-ways-to-supercharge-your-workflow-with-ai/</guid><pubDate>Wed, 14 Feb 2024 13:21:31 GMT</pubDate><content:encoded>

</content:encoded></item><item><title>Wrapping up 2023</title><link>https://bell.bz/wrapping-up-2023/</link><guid isPermaLink="true">https://bell.bz/wrapping-up-2023/</guid><pubDate>Sun, 31 Dec 2023 15:33:46 GMT</pubDate><content:encoded>
&lt;p&gt;2023 has been as I predicted: unsettled and tense. It’s why I set this as my only resolution:&lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;Focus on building foundations and going slow. Move deliberately and end the year happy and healthy, ready to kick on in 2024.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;I think I’ve done that but damn, it’s been a tough year.&lt;/p&gt;



&lt;h2&gt;Mental wellbeing&lt;/h2&gt;



&lt;p&gt;I’ve quietly struggled this year. I’ve been fighting burnout for about half of the year — something I’ve unfortunately been prone to for nearly a decade.&lt;/p&gt;



&lt;p&gt;The trigger was getting caught up in a &lt;a href=&quot;https://bell.bz/rhodes-wildfires/&quot;&gt;climate disaster in July&lt;/a&gt;. It really fucked me up mentally and the resulting PTSD for me and my family triggered a burnout flare-up.&lt;/p&gt;



&lt;p&gt;I think I’m mostly fine now — thanks to a proper relaxing Xmas break and working on resolving it in the latter months of the year — but I’ll step into the new year cautiously and focus on things that make me feel good about myself.&lt;/p&gt;



&lt;h2&gt;Work&lt;/h2&gt;



&lt;p&gt;It’s been a hard year to work in client services. It’s definitely been the slowest in terms of enquiries, but I’ve not really panicked because it seems to be a shared experience across the industry. It has been super stressful though at times.&lt;/p&gt;



&lt;p&gt;This year has been a foundation setting year anyway, which has gone exactly to plan. &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; has chugged along nice and smoothly. In fact, it’s flourished thanks to the amazing people that I’m lucky to have working there.&lt;/p&gt;



&lt;p&gt;We’ve hired another person: Jason, who is a designer. It’s going to be a game changing hire for me because he’s stepping up to do a lot of the strategy work I do with clients, which frees me up to do more production work. The combination of Leanne and Jason is going to be &lt;em&gt;unreal &lt;/em&gt;in the new year too.  They’re both outrageously talented people.&lt;/p&gt;



&lt;p&gt;Liridon, the junior developer — who this time last year, had not written a single line of code — has come on really well. He’s now on client work full time too. This year will be a crucial year for him and I’m looking forward to helping him improve. I don’t think I’ll be training up a developer from scratch again though. It’s been great, but &lt;em&gt;really tough.&lt;/em&gt;&lt;/p&gt;



&lt;p&gt;A key factor in my burnout this year has been my lack of actually making things. I’m changing my role in the company because of that and will be hiring an account manager of sorts to free me up from the day-to-day client comms stuff and fuckin’ spreadsheets. Instead, I actually am going to be producing lots of content (I mean it this year lol). &lt;a href=&quot;https://piccalil.li/blog/piccalilli-will-return-in-2024/&quot;&gt;Piccalilli is coming back&lt;/a&gt; and friends, I will be producing a new CSS course in 2024, along with a workshop. I’d quite like to write a new talk too, so hit me up, conference pals.&lt;/p&gt;



&lt;p&gt;All of this content is going to be about being a better CSS developer in real life with a view to levelling you up, unrecognisably, and importantly, getting you paid more. I see a shift in CSS in the real world, in terms of technology, but also away from certain methodology/framework choices. The industry is maturing with the language and I want to share my experience and knowledge to help y’all with that transition.&lt;/p&gt;



&lt;p&gt;Embarking on a course is daunting — especially coming out of burnout — but I’ve got plenty of experience now, so I’m also feeling pretty damn confident about it. &lt;a href=&quot;https://set.studio/&quot;&gt;The studio&lt;/a&gt; is re-designing the CUBE CSS site, so that’s going to give me a chance to warm up, as it were, with writing properly again.&lt;/p&gt;



&lt;p&gt;I also see a gap in publications. CSS-Tricks is done now, and unfortunately, been abandoned. A List Apart has seemingly experienced the same too. At least &lt;a href=&quot;https://www.smashingmagazine.com/&quot;&gt;Smashing&lt;/a&gt; is flourishing, but there’s a hole that’s been left by CSS-Tricks especially and I think I might know how to fill it. More on that as the year progresses.&lt;/p&gt;



&lt;h2&gt;Hobbies&lt;/h2&gt;



&lt;p&gt;I’ve really enjoyed gaming this year. I wanna give Zelda Tears of the Kingdom a shout out. It’s almost certainly the best game I’ve ever played and it’s helped me through a rough year. Also, I treated myself to the remake of Link’s Awakening. I bloody loved that game as a kid and it was great to complete it again in its beautifully remastered form.&lt;/p&gt;



&lt;p&gt;Music-wise, I’m not sure this year has been one of the greats, but I’ve listened to loads. I’ll write about that when my &lt;a href=&quot;https://www.last.fm/user/andyvirus&quot;&gt;last.fm&lt;/a&gt; “wrapped” lands tomorrow.&lt;/p&gt;



&lt;h2&gt;Resolutions&lt;/h2&gt;



&lt;ul&gt;
&lt;li&gt;Aim to double the team at Set Studio&lt;/li&gt;



&lt;li&gt;Release a course&lt;/li&gt;



&lt;li&gt;Get back to being a prolific writer and content creator&lt;/li&gt;



&lt;li&gt;Try to be calmer about finance (working class upbringing never rubs off)&lt;/li&gt;



&lt;li&gt;Quit nicotine &lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;It’s quite an ambitious list, but I feel like I can smash it. &lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;I’ve limped to the finish line of 2023 but I’m in a good place at the end. I feel like 2024 could be a banger for me, so I’m rested, refreshed and ready to take it head-on.&lt;/p&gt;



&lt;p&gt;I hope you all have a happy, healthy 2024 💜&lt;/p&gt;
</content:encoded></item><item><title>I’m looking for CUBE CSS quotes, logos and showcase</title><link>https://bell.bz/im-looking-for-cube-css-quotes-logos-and-showcase/</link><guid isPermaLink="true">https://bell.bz/im-looking-for-cube-css-quotes-logos-and-showcase/</guid><pubDate>Tue, 05 Dec 2023 13:47:19 GMT</pubDate><content:encoded>
&lt;p&gt;We’re redesigning the &lt;a href=&quot;https://cube.fyi&quot;&gt;CUBE CSS site&lt;/a&gt; in &lt;a href=&quot;https://set.studio&quot;&gt;the studio&lt;/a&gt; and I’m on a data gathering mission! &lt;/p&gt;



&lt;p&gt;I’d love to hear from you if:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;You’ve ever posted about CUBE CSS or have something you’d like to say about it that we can cite on the website&lt;/li&gt;



&lt;li&gt;Your company has used CUBE CSS and wouldn’t mind us using the logo on our site &lt;/li&gt;



&lt;li&gt;You and/or your team have built a site with CUBE and you’d love to show it off on our showcase &lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;The most efficient way to reach me is via email: &lt;code&gt;andy@set.studio&lt;/code&gt;, but you can find me all over the web &lt;a href=&quot;https://bell.bz/links/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;Thank you! &lt;/p&gt;



&lt;p&gt;&lt;/p&gt;
</content:encoded></item><item><title>My Company is 5 today!</title><link>https://bell.bz/my-company-is-5-today/</link><guid isPermaLink="true">https://bell.bz/my-company-is-5-today/</guid><pubDate>Wed, 29 Nov 2023 13:07:17 GMT</pubDate><content:encoded>
&lt;p&gt;Half a decade ago today, I incorporated &lt;a href=&quot;https://set.studio&quot;&gt;my business&lt;/a&gt;. I thought it would be rude not to acknowledge it on the ol’ blog. &lt;/p&gt;



&lt;p&gt;So much has happened in the last 5 years in my company including: &lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;Surviving a pandemic &lt;/li&gt;



&lt;li&gt;Surviving market downturns &lt;/li&gt;



&lt;li&gt;Thriving in 2023 while the tech industry collapsed on itself &lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;&lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; is going from strength to strength and I’m so proud of everyone involved, especially Leanne, Jason and Liridon: the all-star team we have. A huge thanks to &lt;em&gt;everyone&lt;/em&gt; that’s supported the company over the years too. You know who you are 💜&lt;/p&gt;



&lt;h2&gt;What’s the next 5 years look like? &lt;/h2&gt;



&lt;p&gt;Steady, slow and sustainable growth is what I’m always shooting for. It’s how we’ve survived the last 5 years. I do want to push a bit harder in 2024 though and try to double the size of the team. I also want us to produce truly industry-leading work and for Set Studio to be &lt;em&gt;the&lt;/em&gt; agency everyone wants to work with. &lt;/p&gt;



&lt;p&gt;We’ve certainly got the skills to do that — &lt;a href=&quot;https://set.studio/work-with-us-in-2024/&quot;&gt;I just need to find us clients&lt;/a&gt; that will give us the context to really show what we’re made of. We’re also dipping our toes into &lt;a href=&quot;https://bell.bz/2024-the-year-of-css-education/&quot;&gt;more educational stuff too&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;On to the next 5 years! &lt;/p&gt;
</content:encoded></item><item><title>2024, the year of CSS education</title><link>https://bell.bz/2024-the-year-of-css-education/</link><guid isPermaLink="true">https://bell.bz/2024-the-year-of-css-education/</guid><pubDate>Wed, 22 Nov 2023 09:21:58 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve had [checks notes] around a year off from writing CSS education stuff. In fact, &lt;a href=&quot;https://web.dev/learn/css&quot;&gt;Learn CSS&lt;/a&gt; is over 2 years old at this point. &lt;a href=&quot;https://every-layout.dev/&quot;&gt;Every Layout&lt;/a&gt; is over 4 years old 🫥&lt;/p&gt;



&lt;p&gt;Sure, I’ve done a couple of articles here and there, but it’s about time I got stuck into something chunky again.&lt;/p&gt;



&lt;p&gt;Here’s some stuff that’s coming up in 2024: &lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;I’m doing a SmashingConf workshop: &lt;a href=&quot;https://smashingconf.com/online-workshops/workshops/scalable-css-andy-bell/&quot;&gt;Scalable CSS Masterclass&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;I’m working &lt;em&gt;right now &lt;/em&gt;on a brand new course, again, about producing better CSS in the real world&lt;/li&gt;



&lt;li&gt;I’m working on a talk — you guessed it — on the same thing &lt;/li&gt;
&lt;/ol&gt;



&lt;h2&gt;CUBE is getting new shoes &lt;/h2&gt;



&lt;p&gt;We’re redesigning the &lt;a href=&quot;https://cube.fyi/&quot;&gt;CUBE CSS site&lt;/a&gt; at &lt;a href=&quot;https://set.studio&quot;&gt;Set Studio&lt;/a&gt; in 2024 and we want to hear from you, regardless of whether you’re an avid CUBE CSS fan or have never even considered authoring your CSS with CUBE CSS.&lt;/p&gt;



&lt;p&gt;The aim is to produce something truly special that will help everyone write better CSS, so a few minutes of your time to complete our survey could have a huge impact. &lt;a href=&quot;https://docs.google.com/forms/d/e/1FAIpQLSfCTulOm7ZpXtWg2U5wbaR2vJv2YU7Ik5R36kA2kbNMZ_gYhA/viewform&quot;&gt;You can see that survey here&lt;/a&gt;.&lt;/p&gt;



&lt;h2&gt;How you can help me produce better content &lt;/h2&gt;



&lt;p&gt;I’ve been doing this thing a long time and have seen a lot of stuff in those long years, so I’ve developed plenty of strategies to improve CSS authoring based on that. &lt;/p&gt;



&lt;p&gt;What I would like to hear about though is what &lt;strong&gt;you find tough, writing CSS in the real world. &lt;/strong&gt;I’m always open to getting emails at &lt;code&gt;andy@set.studio&lt;/code&gt; or you can reach me in various other places, &lt;a href=&quot;https://bell.bz/links/&quot;&gt;linked up here&lt;/a&gt;. &lt;/p&gt;



&lt;h2&gt;Wrapping up &lt;/h2&gt;



&lt;p&gt;I’ve already got started writing, but the difference is this time, I’ve got the support of the amazing staff at &lt;a href=&quot;https://set.studio&quot;&gt;Set Studio&lt;/a&gt;. Trust me, you’re gonna be &lt;em&gt;mind blown&lt;/em&gt; at the ideas we already have for all of the above. It’s just down to me to write content that matches the quality of the platforms and design treats the Set gang are working on. &lt;/p&gt;



&lt;p&gt;If you want me to speak at your conference too, drop me an email: &lt;code&gt;andy@set.studio&lt;/code&gt;&lt;/p&gt;



&lt;p&gt;Time to get cracking ✍️&lt;/p&gt;
</content:encoded></item><item><title>New CSS workshop coming in May 2024</title><link>https://bell.bz/new-css-workshop-coming-in-may-2024/</link><guid isPermaLink="true">https://bell.bz/new-css-workshop-coming-in-may-2024/</guid><pubDate>Wed, 08 Nov 2023 11:16:24 GMT</pubDate><content:encoded>
&lt;p&gt;I’m delighted to share that I’m going to be joining my good friends at Smashing to deliver a new workshop: &lt;a href=&quot;https://smashingconf.com/online-workshops/workshops/scalable-css-andy-bell/&quot;&gt;Scalable CSS Masterclass&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;CSS doesn’t scale right? I can tell you that’s not true. How do I know?&lt;/p&gt;



&lt;p&gt;Well, over the last 15 years or so, I’ve written and consulted on both small CSS codebases and huge, complex codebases for some of the largest organisations in the world, such as Google, Harley-Davidson and the NHS.&lt;/p&gt;



&lt;p&gt;I’ve seen it all: Sass, Less, methodologies, frameworks, Tailwind and CSS-in-JS. While each of these has brought both positives and negatives, there’s one core thing that’s brought success every time: planning, communication and writing CSS that leans into the power of the language, rather than fighting it.&lt;/p&gt;



&lt;p&gt;In this workshop, we’re going to be operating in a real-world project, featuring tricky stakeholders, suboptimal design decisions and workplace drama.&lt;/p&gt;



&lt;p&gt;I’ll teach you not just how to deal with these tricky situations, but also, how to thrive in them! You’ll learn communication skills, planning skills, iteration skills and of course &lt;strong&gt;loads&lt;/strong&gt; of CSS skills.&lt;/p&gt;



&lt;p&gt;It’ll be a relaxed, fun workshop, which I know if you have even a mild interest in skilling up as a developer, you will love.&lt;/p&gt;



&lt;p&gt;I can’t wait to see you there in May 2024!&lt;/p&gt;



&lt;p&gt;Enroll here: &lt;a href=&quot;https://smashingconf.com/online-workshops/workshops/scalable-css-andy-bell/&quot;&gt;https://smashingconf.com/online-workshops/workshops/scalable-css-andy-bell/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>How I’m using the fragments of social media now</title><link>https://bell.bz/how-im-using-the-fragments-of-social-media-now/</link><guid isPermaLink="true">https://bell.bz/how-im-using-the-fragments-of-social-media-now/</guid><pubDate>Fri, 03 Nov 2023 09:39:08 GMT</pubDate><content:encoded>
&lt;p&gt;It’s been over a year since Elon Musk started the process of dismantling Twitter, which has resulted in lots of fragmentation. It’s also resulted in new platforms arriving and some even disappearing (cya later T2/Pebble). &lt;/p&gt;



&lt;p&gt;I think I’ve found the perfect balance, which I guess is an evolution of the &lt;a href=&quot;https://bell.bz/the-holy-trinity/&quot;&gt;holy trinity&lt;/a&gt;.  &lt;/p&gt;



&lt;h2&gt;Mastodon &lt;/h2&gt;



&lt;p&gt;For work stuff, Mastodon is where it is at. A lot of the good tech world has seemingly settled there now and thanks to &lt;a href=&quot;https://tapbots.com/ivory/&quot;&gt;Ivory&lt;/a&gt; as my client, I’m really happy there now. &lt;/p&gt;



&lt;p&gt;There was a period where &lt;a href=&quot;https://bell.bz/i-think-im-not-alone-that-mastodon-is-giving-me-the-ick/&quot;&gt;Mastodon was definitely giving me the ick&lt;/a&gt;, but that seems to be improving now, too. I guess that’s related to there being a lot less policing going on, so if that put you off before, maybe give it another look? &lt;/p&gt;



&lt;p&gt;Find me at &lt;a href=&quot;https://bell.bz/@andy&quot;&gt;@andy@bell.bz&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;Bluesky &lt;/h2&gt;



&lt;p&gt;This place is where I get my LOLs from. Mastodon is still mostly a humourless void and to be honest, it’s nice to not read about tech stuff too. Bluesky is definitely the place I go when I just wanna scroll and enjoy the posts. In fact, I actively curate my feeds and mute tech stuff to not see it at all on there at all.&lt;/p&gt;



&lt;p&gt;There’s a fair bit of Twitter-like drama on there, but it’s also been very useful at keeping up with current affairs — especially the horrendous situation in Gaza.&lt;/p&gt;



&lt;p&gt;Find me at &lt;a href=&quot;https://bsky.app/profile/bell.bz&quot;&gt;@bell.bz&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;Threads &lt;/h2&gt;



&lt;p&gt;I don’t really care for Threads right now, but I feel like in the longer term it could be good for following sports stuff when they improve real-time content. Other than that, it’s unseasoned chicken: bland. There’s way too many brands on there still too. &lt;/p&gt;



&lt;p&gt;Find me at &lt;a href=&quot;https://www.threads.net/@belldotbz&quot;&gt;@belldotbz&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;LinkedIn&lt;/h2&gt;



&lt;p&gt;Extremely office-hours only, but I’m getting a little more active there. I still can’t bring myself to read the timeline on there though. Way too much broetry.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://www.linkedin.com/in/andy-bell-347971255&quot;&gt;Find me here&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;Twitter&lt;/h2&gt;



&lt;p&gt;lmao &lt;/p&gt;
</content:encoded></item><item><title>Half a decade since I went independent again</title><link>https://bell.bz/half-a-decade-since-i-went-independent-again/</link><guid isPermaLink="true">https://bell.bz/half-a-decade-since-i-went-independent-again/</guid><pubDate>Tue, 31 Oct 2023 10:20:16 GMT</pubDate><content:encoded>
&lt;p&gt;It’s a special milestone for me today. After months of being ground down by hiring processes — thanks to the agency I was working for, going out of business — I had a sudden realisation that I could go back to freelancing. In fact, it felt like the most secure option and still does. Especially with the tech industry fully pulling its own pants down this year.  &lt;/p&gt;



&lt;p&gt;A client that worked with our agency still had no one to look after them, so I reached out as a potential freelancer. They bit my hand off and 24 hours later, on October 31 2018, they signed a contract and I was back working for myself. The funny thing was, the first day as a freelancer, I was working on the same CSS file I was the day before as an employee. &lt;/p&gt;



&lt;p&gt;I’d always been happiest in this industry working for myself, but it was slightly more stressful this time around because our second kid had just been born. In fact, my previous employers told me their company had failed 48 hours before she was born, which as you can imagine, was &lt;em&gt;hell&lt;/em&gt;.&lt;/p&gt;



&lt;p&gt;The stress has hugely paid off though. In these 5 short years, I’ve:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;Written &lt;a href=&quot;https://learneleventyfromscratch.com/&quot;&gt;two&lt;/a&gt; &lt;a href=&quot;https://web.dev/learn/css&quot;&gt;courses&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;Co-wrote &lt;a href=&quot;https://every-layout.dev/&quot;&gt;a book&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;Published a &lt;a href=&quot;https://cube.fyi/&quot;&gt;CSS methodology&lt;/a&gt; &lt;/li&gt;



&lt;li&gt;Guest lectured at the local university &lt;/li&gt;



&lt;li&gt;Worked with &lt;em&gt;loads &lt;/em&gt;of fantastic clients&lt;/li&gt;



&lt;li&gt;Delivered plenty of talks, keynotes and workshops, both nationally and internationally &lt;/li&gt;



&lt;li&gt;Worked with some of the best people and companies in our industry &lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://set.studio/&quot;&gt;Founded an agency&lt;/a&gt; which is going really strong &lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;It’s been by far, the best 5 years of a 15 year career and I can’t wait to see what happens in the next 5 years.&lt;/p&gt;



&lt;p&gt;I just want to say a huge thank you to everyone who has made the last 5 years possible. Especially those who’ve hired me or &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt;, or who bought &lt;a href=&quot;https://every-layout.dev/&quot;&gt;Every Layout&lt;/a&gt; or &lt;a href=&quot;https://learneleventyfromscratch.com/&quot;&gt;Learn Eleventy From Scratch&lt;/a&gt; (when it was paid-for). You folks really are the best. &lt;/p&gt;



&lt;p&gt;Stay tuned because the next 5 years of Set Studio — I hope — are going to be truly special.&lt;/p&gt;
</content:encoded></item><item><title>A (more) Modern CSS Reset</title><link>https://bell.bz/a-more-modern-css-reset/</link><guid isPermaLink="true">https://bell.bz/a-more-modern-css-reset/</guid><pubDate>Mon, 18 Sep 2023 16:21:20 GMT</pubDate><content:encoded>
&lt;p&gt;I wrote &lt;a href=&quot;https://bell.bz/a-modern-css-reset/&quot;&gt;A Modern CSS Reset&lt;/a&gt; almost 4 years ago and, yeh, it’s not aged overly well. I spotted it being linked up again a few days ago and thought it’s probably a good idea to publish an updated version.  &lt;/p&gt;



&lt;p&gt;I know I also have a terrible record with open source maintenance, so I thought I’d &lt;a href=&quot;https://github.com/Andy-set-studio/modern-css-reset&quot;&gt;archive the original&lt;/a&gt; and just post this instead. Do with it what you want! &lt;/p&gt;



&lt;p&gt;To be super clear, this is a reset that works for me, personally and us at &lt;a href=&quot;https://set.studio&quot;&gt;Set Studio&lt;/a&gt;. Whenever I refer to “we”, that’s who I’m referring to. &lt;/p&gt;



&lt;h2&gt;The reset in whole&lt;/h2&gt;



&lt;pre&gt;&lt;code&gt;/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}

/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=&apos;list&apos;],
ol[role=&apos;list&apos;] {
  list-style: none;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}

/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}

/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
}

/* A elements that don&apos;t have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input, button,
textarea, select {
  font: inherit;
}

/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em;
}

/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}&lt;/code&gt;&lt;/pre&gt;



&lt;h2&gt;Breakdown&lt;/h2&gt;



&lt;p&gt;As is tradition, let’s break it down:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This rule is pretty self explanatory, but in short, I’m setting all elements and pseudo-elements to use the &lt;code&gt;border-box&lt;/code&gt;, &lt;a href=&quot;https://web.dev/learn/css/box-model/&quot;&gt;rather than the default &lt;code&gt;content-box&lt;/code&gt; for sizing&lt;/a&gt;. Now we’re focussing more on letting the &lt;a href=&quot;https://buildexcellentwebsit.es/&quot;&gt;browser do more work&lt;/a&gt; with &lt;a href=&quot;https://every-layout.dev/&quot;&gt;flexible layouts&lt;/a&gt; with &lt;a href=&quot;https://utopia.fyi&quot;&gt;fluid type and space&lt;/a&gt;, this rule isn’t as useful as it once was. But, it’s rare that a project doesn’t have some explicit sizing somewhere, so it’s still got a place in the reset.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* Prevent font size inflation */
html {
  -moz-text-size-adjust: none;
  -webkit-text-size-adjust: none;
  text-size-adjust: none;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;The &lt;a href=&quot;https://kilianvalkhof.com/2022/css-html/your-css-reset-needs-text-size-adjust-probably/&quot;&gt;best explainer for this is by Kilian&lt;/a&gt;. He also explains why we still need those ugly prefixes too.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* Remove default margin in favour of better control in authored CSS */
body, h1, h2, h3, h4, p,
figure, blockquote, dl, dd {
  margin-block-end: 0;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;I’ll always favour stripping out user agent styles for margin in favour of &lt;a href=&quot;https://bell.bz/my-favourite-3-lines-of-css/&quot;&gt;defining flow and space at a more macro level&lt;/a&gt;. With logical properties, I’m removing the end margin now instead of all sides in the older reset. It seems to work well in production.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=&apos;list&apos;],
ol[role=&apos;list&apos;] {
  list-style: none;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Safari do some wild shit, which includes &lt;a href=&quot;https://bugs.webkit.org/show_bug.cgi?id=170179&quot;&gt;this one&lt;/a&gt;: if you remove list styling, they’ll remove the semantics for VoiceOver. Some will say it’s a feature and some will say it’s a bug. I say it’s daft, but to make sure that a &lt;code&gt;role&lt;/code&gt; is added, I remove the list styling by default for it as a little reward. &lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* Set core body defaults */
body {
  min-height: 100vh;
  line-height: 1.5;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;I like a nice legible line height that gets inherited. Setting a min height as &lt;code&gt;100vh&lt;/code&gt; on the body is pretty handy too, especially if you’re gonna be setting decorative elements. It might be tempting to use a new unit like &lt;code&gt;dvh&lt;/code&gt;, but if you &lt;a href=&quot;https://ishadeed.com/article/new-viewport-units/#:~:text=Be%20careful%20with%20the%20dvh,is%20scrolling%20up%20or%20down.&quot;&gt;delve deep like Ahmad has&lt;/a&gt;, you’ll see that can cause more problems than solutions, which is not what you want your reset to be doing! &lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://mastodon.social/@simevidas/111088262361593466&quot;&gt;The &lt;code&gt;svh&lt;/code&gt; unit seems better than &lt;code&gt;dvh&lt;/code&gt;&lt;/a&gt;, but I’m happy with &lt;code&gt;vh&lt;/code&gt;. Always make sure you understand the newer units before diving head first into them, or recommending them as gospel is my advice. If something is already working for you, there’s no need to change it!&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* Set shorter line heights on headings and interactive elements */
h1, h2, h3, h4,
button, input, label {
  line-height: 1.1;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Just like it’s handy to have a generous &lt;code&gt;line-height&lt;/code&gt; globally, it’s equally handy to have a shorter &lt;code&gt;line-height&lt;/code&gt; for headings and buttons etc. It’s definitely worth removing or modifying this rule if your font has large ascenders and descenders though. The last thing you want is those clashing with each other and creating an accessibility issue.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* Balance text wrapping on headings */
h1, h2,
h3, h4 {
  text-wrap: balance;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This rule is rather specific to our projects, but the newish &lt;code&gt;text-wrap&lt;/code&gt; property makes headings look lovely. I imagine some people will find this not appropriate, so you might want to remove this one.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* A elements that don&apos;t have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
  color: currentColor;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This rule is first making sure the text decoration doesn’t interfere with ascenders and descenders. I think this is mostly default in browsers now, but it’s a good insurance policy to set it too. We like to set links to inherit the &lt;code&gt;currentColor&lt;/code&gt; of text too by default at &lt;a href=&quot;https://set.studio&quot;&gt;the studio&lt;/a&gt;, but if you don’t, you probably want to remove it.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;The &lt;code&gt;font: inherit&lt;/code&gt; shorthand is bloody useful and we certainly find that with inputs and form elements. It’s mostly going to affect &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt; elements, but there’s no harm in applying it to other form elements too because it saves on some CSS later on in a project.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* Make sure textareas without a rows attribute are not tiny */
textarea:not([rows]) {
  min-height: 10em
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Speaking of &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt; elements, this rule is handy. By default, if you don’t add a &lt;code&gt;rows&lt;/code&gt; attribute, they can be super teeny. This isn’t ideal with coarse pointers such as fingers and by proxy, &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt; elements tend to be used for multiple lines of text. It makes sense to make that easier.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* Anything that has been anchored to should have extra scroll margin */
:target {
  scroll-margin-block: 5ex;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Finally, if an element is anchored, it makes sense to add a bit more space above it with &lt;code&gt;scroll-margin&lt;/code&gt;, which is only accounted for if that element is targeted. A little tweak with lots of user experience power! You might want to adjust this if you have a fixed header though.&lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;Will this reset last another 4 years? Maybe! The &lt;a href=&quot;https://bell.bz/a-modern-css-reset/&quot;&gt;other one&lt;/a&gt; certainly hasn’t caused issues. &lt;/p&gt;



&lt;p&gt;Regardless, it’s pretty useful as a base to start projects, here at &lt;a href=&quot;https://set.studio&quot;&gt;the studio&lt;/a&gt;. We don’t go back and retroactively update the other reset on client projects either because that one works absolutely fine.&lt;/p&gt;



&lt;p&gt;Resets are one of those things that people get worked up about, but really, with browsers being so bloody good now, you probably don’t even need one in the first place. My advice is take bits you like from ones you find on the web and create your own, that &lt;strong&gt;works for you and your team&lt;/strong&gt;.&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;You can also &lt;a href=&quot;https://coliss.com/articles/build-websites/operation/css/a-more-modern-css-reset.html&quot;&gt;read this post in Japanese&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;This post and source code is licensed under a
&lt;a href=&quot;http://creativecommons.org/licenses/by/3.0/&quot;&gt;
Creative Commons Attribution License&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;&lt;/p&gt;
</content:encoded></item><item><title>Rhodes wildfires</title><link>https://bell.bz/rhodes-wildfires/</link><guid isPermaLink="true">https://bell.bz/rhodes-wildfires/</guid><pubDate>Tue, 25 Jul 2023 13:55:02 GMT</pubDate><content:encoded>
&lt;p&gt;You’ve probably already seen that Rhodes is currently being hammered with wildfires on the news. We’re currently, at the time of writing, in Rhodes on a family holiday and we’ve been affected by the wildfires.&lt;/p&gt;



&lt;p&gt;I’m going to note down our story and I’ll start by saying that we are safe, well and incredibly lucky to be able to say that. We’ve had a horrific and traumatic experience but we’ve had it so much better than a lot of people.&lt;/p&gt;



&lt;p&gt;The reason I’m writing this is I want people to be aware of what it’s actually like being involved in a climate disaster event like this. It’s hard to picture it from safety, which I have admittedly struggled to do with other climate emergency events. I also want to use this as a warning for people who are planning to travel to Greece.&lt;/p&gt;



&lt;h2&gt;The current situation as I understand it&lt;/h2&gt;



&lt;p&gt;Right now, the fires have decimated the south east of the island. We were near Gennadi, but the fire is rapidly moving south further than that.&lt;/p&gt;



&lt;p&gt;Around 10-20k tourists have been displaced and are either:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;In emergency evacuation centres&lt;/li&gt;



&lt;li&gt;In another hotel&lt;/li&gt;



&lt;li&gt;Stranded at the airport&lt;/li&gt;



&lt;li&gt;Off the island via boat rescue to mainland Greece and Turkey&lt;/li&gt;



&lt;li&gt;Off the island because they managed to get a flight out&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;Several hotels and resorts have been burned down, including the one we were at. Most importantly though, many towns and villages are now ash — completely destroyed by the fire. The locals have to live with this forever. We tourists have an escape hatch, even if that has felt impossible at times.&lt;/p&gt;



&lt;h2&gt;The start of the emergency: Saturday July 22&lt;/h2&gt;



&lt;p&gt;We were at the Atlantica Dreams resort and woke up to our fourth day of holiday. There had been wildfires for a long while already (we saw them as we landed on Wednesday), but they were largely under control.&lt;/p&gt;



&lt;p&gt;Saturday was different though. It was extremely hot and extremely windy, with gusts well over 30 mph. By the time noon came around, there was a very large smoke cloud travelling towards us, completely blocking the sun out.&lt;/p&gt;



&lt;p&gt;Obviously we were concerned, but the TUI rep in our resort told us we were completely safe and that although firefighters were struggling with the fire, they were confident it would be back under control by the evening.&lt;/p&gt;



&lt;p&gt;We trusted that at the time. We were wrong to do so. To be fair to the rep, she only knew what she had been told. At the time, the only way to find out what was going on was local media and Twitter (more on what a joke Twitter was in crisis later).&lt;/p&gt;



&lt;p&gt;As it got around to mid-afternoon, there was a sudden shift. I went to check in with the situation and drop some towels off down at the main reception. When I arrived, the lobby had around 1-2k people in there. It turns out, these had all been evacuated from their resorts and at peak heat, walked for over 2 hours to our resort.&lt;/p&gt;



&lt;p&gt;A lot of the people stranded in the lobby were young families. I spoke to a few to check they were ok and to ask what had happened. One spoke about how they were on the beach and because the fire moved so fast, it started approaching them there with little to no warning. They had to escape the fire then walk to safety at our resort with two children under 5. They had no passports or even hand luggage: just swimwear and towels.&lt;/p&gt;



&lt;p&gt;Our resort looked after these people incredibly well and incredibly fast. Everyone was fed, had plenty of water and plenty of medical assistance. There was no sign of any travel reps apart from the one TUI rep that was already there. No one had any information. Everyone was told by them that the fire would never reach our resort and it was one of the safest places in the region, hence why everyone was sent there.&lt;/p&gt;



&lt;p&gt;I went back to our room to try to find out what was happening online. Twitter is usually really useful in crisis, but of course, since Elon Musk bought it, it’s a useless cesspit of misinformation and absolute idiots wasting timeline space with stupid claims that global warming is a hoax. I actually found TikTok to be extremely helpful instead.&lt;/p&gt;



&lt;p&gt;As it stood, we felt safe until the evening. You could see that the fire was over the hills most of the day, but you couldn’t see flames from our resort. By sunset, the flames were partially visible. By 9pm, the flames were huge and extremely visible. Shit started getting scary at that point.&lt;/p&gt;



&lt;p&gt;At around 10pm we had a frantic knock on our door. It was a porter and he shouted “get all of your luggage together, we are evacuating on coaches”. We did as we were told and got up to the fire assembly point. There was thousands of people grouped together. We had 3 suitcases, hand luggage and two young children: 4 and 6.&lt;/p&gt;



&lt;p&gt;As soon as we arrived it was absolute chaos. It was the Greek military, Red Cross and extremely kind locals that were evacuating because none of the travel providers had got their act together in time apart from Jet2 and EasyJet. They were further south though.&lt;/p&gt;



&lt;p&gt;It was clear that we were going to be a hinderance with our luggage so we dumped two suitcases and kept one with all of the essentials, including medication. Just as we did that, who we presume was the boss at our resort, came out screaming that everyone had to run as there was no time, so as people do in a panic, they follow the herd. It was at that point where our eldest child turned to me and asked if we were going to die. That broke me into pieces. I’m sobbing as I write that even now.&lt;/p&gt;



&lt;p&gt;We started running too with some other families with young kids. A soldier yelled “dump all large luggage” which was when we dumped our last suitcase, leaving us with only hand luggage. We didn’t care though; we were too terrified to care about fucking luggage.&lt;/p&gt;



&lt;p&gt;We got picked up by a pickup truck that stuffed us into the trailer and drove us down to a larger gathering of people that were being picked up by coaches. That was the scariest scene because a lot of fights were breaking out (panicked people do crazy shit).&lt;/p&gt;



&lt;p&gt;It was also in the middle of nowhere and pitch dark. We stayed for a while, waiting to be picked up, but the fire approached too quick, so a local led a group of us — walking in pitch dark — for over an hour to another location. Thankfully it was then that we were picked up by a coach and taken to safety at another hotel which was now an evacuation centre. We arrived at 1am on Sunday.&lt;/p&gt;



&lt;p&gt;As an infuriating aside: if we had waited at our resort for 15 minutes, 5-10 empty coaches showed up and took everyone remaining to safety. It wasn’t until Monday afternoon when the fire finally burned down our resort.&lt;/p&gt;



&lt;h2&gt;The evacuation centre&lt;/h2&gt;



&lt;p&gt;We arrived at Atrium Prestige in Plimiri, which is the far south east. I can’t really describe the scene of what we saw that would do it justice, but imagine what 5,000 people in the lobby of a 250 bedroom hotel looks like. The rest of the night felt like a disaster movie, but this part really was.&lt;/p&gt;



&lt;p&gt;People were strewn everywhere and there was no water or food for anyone. Luckily a heroic porter (who was old as fuck) was filling up people’s bottles with tap water with queues hundreds deep all through the night. What a legend.&lt;/p&gt;



&lt;p&gt;He was the only legendary member of staff there though. As it got to 5am, one of the receptionists shouted that they had an announcement. They basically said, the thousands of stranded people didn’t matter to him and they will provide nothing because he didn’t want to upset his guests.&lt;/p&gt;



&lt;p&gt;A straight-up example of “not in my back yard” snobbery that is at the root of society’s problems. Sure, it was a fairly posh hotel, but within hours all of those guests could find themselves in the exact position we were all in: stranded.&lt;/p&gt;



&lt;p&gt;I spotted a group of people talking him down and eventually they negotiated that the children would at least be fed and water would be distributed. Those people are lifesavers.&lt;/p&gt;



&lt;h2&gt;The great escape to the airport&lt;/h2&gt;



&lt;p&gt;We arrived at the Atrium at 1am on Sunday and spent nearly the whole time there desperately trying to find out information.&lt;/p&gt;



&lt;p&gt;Yet again, Twitter was next to useless, but thankfully later in the morning, the BBC started up a live page. I also managed to deploy several contacts at home to find out what they could because we were both trying to conserve battery (all of our chargers were in suitcases) and the network was shaky at best.&lt;/p&gt;



&lt;p&gt;Hours and hours of sitting on a floor in a hotel lobby later, my best mate from home — who’s wife works in the travel industry — managed to find us a local minibus driver willing to get us to the airport. He told us he could take 19 in total. I rounded up a big group of people and we got the fuck out of there.&lt;/p&gt;



&lt;p&gt;This was extremely lucky. In that whole time, only 3 or 4 coaches ever showed up. Each time, fights broke out or the coach driver would pick up specific people (presumably those who had flights that day). If it wasn’t for the minibus, I fear we might still be in that hotel lobby now.&lt;/p&gt;



&lt;p&gt;We drove past the region we were originally staying in on the way to the airport. We had to go a windy, back-road route because a lot of the main roads were shut because the wildfires had either melted them, or burned out power lines.&lt;/p&gt;



&lt;p&gt;The scene of the areas burned out by the fires was devastating. Again, like a disaster movie. Towns that are 100% tourist, burned to the ground, leaving the locals with no hope of ever recovering.&lt;/p&gt;



&lt;p&gt;They are the real victims here. We can all leave Rhodes (eventually) but the locals have to stay and try to rebuild. By all accounts, talking with locals, the fires are probably going to carry on through the summer and take the island at least a decade to get back on its feet. Horrifying stuff.&lt;/p&gt;



&lt;p&gt;We finally made it to the airport and thought it was nearly over. Of course it wasn’t…&lt;/p&gt;



&lt;h2&gt;The evacuation flights that never happened&lt;/h2&gt;



&lt;p&gt;As we arrived in departures at the airport, I spotted two TUI reps. They assured us empty planes were currently in transit and because we were there, we would be getting on one.&lt;/p&gt;



&lt;p&gt;They said the turnaround to takeoff could be several hours, so they were going to transfer us to a local hotel. We of course complied, thinking we were going to be getting out of this hell we were in, but as soon as we checked into the hotel we received a message that all TUI customers would be returning on intended flights only.&lt;/p&gt;



&lt;p&gt;We were happy to be safe, but this is a pattern of pure bullshit from TUI. They claim to be doing everything they can, but do absolutely nothing. They’ve since told us on 4 occasions we will be on early flights out and of course, that never comes to fruition.&lt;/p&gt;



&lt;p&gt;A big factor in that is they insist on doing all text based communication via their app, which you guessed it, barely works when you have a sketchy connection. We probably could have gotten out, had they used text, email or even WhatsApp. A classic example of tech not considering crisis.&lt;/p&gt;



&lt;h2&gt;We’re safe and well&lt;/h2&gt;



&lt;p&gt;That leads me to the current status of my family and I. We are safe and we are well, aside from some sickness. The hotel were in is great and they’ve looked after everyone who’s been stranded there amazingly, even though they clearly don’t have the resources to.&lt;/p&gt;



&lt;p&gt;TUI finally sent reps yesterday evening and to their credit, they’ve been really helpful. The company as a whole though have been useless.&lt;/p&gt;



&lt;p&gt;I’ll finish with saying that we are incredibly lucky. It got real scary at points — especially based on the fact that both our original resort and the rescue centre resort have now burned down, or being seriously damaged by fire.&lt;/p&gt;



&lt;p&gt;We’re still in Rhodes, but are due to fly out tomorrow. I’ll be honest, I can’t wait to land in the UK.&lt;/p&gt;



&lt;p&gt;I haven’t edited or proofed this post. It’s the least of my worries right now, so please don’t reach out with spelling or grammar mistakes. I don’t care. I just wanted to get this out of my head while it’s fresh so I can deal with getting over the trauma and most importantly, helping my partner and kids get over it too.&lt;/p&gt;



&lt;p&gt;The climate emergency is here now. Not in the future. If you are planning to travel to affected countries, I’d strongly recommend you don’t for yours and everyone’s safety.&lt;/p&gt;



&lt;p&gt;&lt;/p&gt;
</content:encoded></item><item><title>Initial thoughts on Meta’s Threads</title><link>https://bell.bz/initial-thoughts-on-threads/</link><guid isPermaLink="true">https://bell.bz/initial-thoughts-on-threads/</guid><pubDate>Thu, 06 Jul 2023 13:08:13 GMT</pubDate><content:encoded>

</content:encoded></item><item><title>I’m doing a new talk and looking to do it at more events</title><link>https://bell.bz/im-doing-a-new-talk/</link><guid isPermaLink="true">https://bell.bz/im-doing-a-new-talk/</guid><pubDate>Mon, 03 Jul 2023 09:51:45 GMT</pubDate><content:encoded>
&lt;p&gt;I’m well under way writing my new talk for this year called “Iteration: a strategy for optimising UX for everyone”. It’s a much different talk than what I’ve done previously over the last few years. Usually I talk about CSS!&lt;/p&gt;



&lt;p&gt;This new talk is more in line with what I do in my role, &lt;a href=&quot;https://set.studio/&quot;&gt;running an agency&lt;/a&gt;. I reckon in the last 12 months I could probably count the amount of times I’ve written CSS on one or two hands, so it feels right to move back to a more design focused talk subject now. I am a designer by trade after all. &lt;/p&gt;



&lt;h2&gt;What’s it about? &lt;/h2&gt;



&lt;p&gt;This is the outline that’s currently published on &lt;a href=&quot;https://websummercamp.com/2023&quot;&gt;Web Summer Camp&lt;/a&gt;‘s upcoming event: &lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;&lt;em&gt;The market share of mobile devices and small screens is huge and ever-growing while large screen’s share continues to decline. Even with this data, productions teams still work desktop-down, often only testing on high spec machines with fast internet connections.&lt;/em&gt;&lt;/p&gt;



&lt;p&gt;&lt;em&gt;In this session, we’re going to look at how important products let users with small screens and slow connections down and how a thorough pre-production phase — using an iterative approach — can result in a simpler production phase, a solid roadmap and most importantly, a resilient, quality user experience for everyone.&lt;/em&gt;&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;The fun part is, I’m not telling the whole truth in that outline because I’ve got some surprising data to share with you. The over-arching theme of “you really have no idea what device size, device capability or viewport will visit your site” is very true though, and I’ll be running through a hypothetical client project to show you how you can use that fact as a basis for designing an excellent user experience that works for everyone. &lt;/p&gt;



&lt;h2&gt;I want to do this at more events! &lt;/h2&gt;



&lt;p&gt;Are you looking for speakers for you conference? I’d love to speak if that’s the case. I especially would love to speak at more design-focused events too. I’m also more than happy to go through a CFP process. &lt;/p&gt;



&lt;p&gt;So far, I’m doing &lt;a href=&quot;https://websummercamp.com/2023&quot;&gt;Web Summer Camp&lt;/a&gt; and &lt;a href=&quot;https://fronteersconf.org/&quot;&gt;Fronteers&lt;/a&gt;. Both are great events that you should definitely get tickets for.&lt;/p&gt;



&lt;p&gt;If you want to chat more about me possibly speaking at your event, drop me an email at &lt;code&gt;andy@set.studio&lt;/code&gt;. &lt;/p&gt;



&lt;p&gt;Hope to catch you at a conference! &lt;/p&gt;



&lt;p&gt;p.s this is the one I did last year &lt;/p&gt;



&lt;figure&gt;&lt;div&gt;

&lt;/div&gt;&lt;/figure&gt;
</content:encoded></item><item><title>Viewport logger research tool</title><link>https://bell.bz/viewport-logger-research-tool/</link><guid isPermaLink="true">https://bell.bz/viewport-logger-research-tool/</guid><pubDate>Wed, 21 Jun 2023 10:51:21 GMT</pubDate><content:encoded>
&lt;p&gt;I made this little viewport logger: &lt;a href=&quot;https://viewport-logger.netlify.app/&quot;&gt;https://viewport-logger.netlify.app/&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;I’d really appreciate it if you could visit it on your devices — especially small screens — because I want to use the data to illustrate just how much screen fragmentation there is.&lt;/p&gt;



&lt;p&gt;Please share with your pals too!&lt;/p&gt;
</content:encoded></item><item><title>The holy trinity</title><link>https://bell.bz/the-holy-trinity/</link><guid isPermaLink="true">https://bell.bz/the-holy-trinity/</guid><pubDate>Sat, 20 May 2023 07:59:05 GMT</pubDate><content:encoded>
&lt;p&gt;I think I’ve found the optimal experience for each of the main three social networks I use: &lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;Bluesky&lt;/strong&gt;: lols and shitposts&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Mastodon: &lt;/strong&gt;tech stuff&lt;/li&gt;



&lt;li&gt;&lt;strong&gt;Twitter: &lt;/strong&gt;who’s on bluesky and mastodon? &lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;Links to all my profiles &lt;a href=&quot;https://andy-bell.co.uk/social&quot;&gt;here&lt;/a&gt;. &lt;/p&gt;
</content:encoded></item><item><title>I broke my RSS feed</title><link>https://bell.bz/i-broke-my-rss-feed/</link><guid isPermaLink="true">https://bell.bz/i-broke-my-rss-feed/</guid><pubDate>Thu, 18 May 2023 11:48:33 GMT</pubDate><content:encoded>
&lt;p&gt;Sorry to everyone that got my last few posts in their RSS reader again. I broke my RSS feed with the &lt;a href=&quot;https://bell.bz/i-hooked-up-eleventy-to-wordpress-api/&quot;&gt;latest update to this site&lt;/a&gt;. Should be all fixed now! &lt;/p&gt;
</content:encoded></item><item><title>I hooked up Eleventy to WordPress API</title><link>https://bell.bz/i-hooked-up-eleventy-to-wordpress-api/</link><guid isPermaLink="true">https://bell.bz/i-hooked-up-eleventy-to-wordpress-api/</guid><pubDate>Wed, 17 May 2023 14:39:57 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve got some plans for this site. The main thing I want to do is bring my &lt;a href=&quot;https://music.andy-bell.co.uk/&quot;&gt;music collection&lt;/a&gt; into my main site, instead of having a subdomain. That thing has been a “prototype” for over 2 years now…&lt;/p&gt;



&lt;p&gt;The problem is that site uses Notion as its data source. I really like managing my music collection in Notion so didn’t want to change that, but integrating that data with WordPress templates might have gotten messy. I also &lt;em&gt;really &lt;/em&gt;like WordPress as a CMS for my site. It makes posting a doddle. &lt;/p&gt;



&lt;p&gt;I found myself in quite the conundrum so it had to be headless time!&lt;/p&gt;



&lt;h2&gt;A failed attempt at Next JS&lt;/h2&gt;



&lt;p&gt;I thought I’d refresh my knowledge of &lt;a href=&quot;https://nextjs.org/&quot;&gt;Next JS&lt;/a&gt; for this project. It seemed like a good idea on paper, but in the &lt;em&gt;[checks notes]&lt;/em&gt; last 3 or so years since I last used it, it’s gotten &lt;em&gt;way too complex.&lt;/em&gt; &lt;/p&gt;



&lt;p&gt;Authoring code is fine, as it always is, but I was getting build errors on Vercel because I didn’t use their &lt;code&gt;&amp;lt;Link&amp;gt;&lt;/code&gt; component and dared to use a — y’know — HTML &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; tag for links. That’s piss poor and is almost certainly causing long term damage for developers. The bundle size is hilariously large too, so I’m not into that. &lt;/p&gt;



&lt;p&gt;With all that in mind, mixed with my very short attention span, Next JS was put in the bin.&lt;/p&gt;



&lt;h2&gt;Step up, ol’ faithful Eleventy &lt;/h2&gt;



&lt;p&gt;You simply cannot beat &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy&lt;/a&gt;. Y’all know I’m already a super fan, so I was &lt;em&gt;always &lt;/em&gt;going to end up back using it for my personal site. The problem I had with Eleventy before was &lt;a href=&quot;https://bell.bz/new-blog-who-dis/&quot;&gt;having a big ol’ folder of markdown files for posts&lt;/a&gt;. That’s not a problem this time because I’m using WordPress as the CMS. &lt;/p&gt;



&lt;p&gt;WordPress sites come with a REST API built in, so in Eleventy, all I had to do was create a collection that pulls my WordPress posts and builds them as static. You can &lt;a href=&quot;https://github.com/Andy-set-studio/personal-site-eleventy/blob/main/src/collections/blog.js&quot;&gt;see that code here&lt;/a&gt; if you want. All in, it took me about an hour to grab my &lt;a href=&quot;https://github.com/Andy-set-studio/11ty-base&quot;&gt;11ty starter&lt;/a&gt;, plug in my existing CSS setup and grab posts from WordPress. Like I say, you &lt;strong&gt;simply cannot beat Eleventy&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;The other cool thing I can do with Eleventy is replace the client-side LastFM widget in my footer with a rendered one. I now &lt;a href=&quot;https://github.com/Andy-set-studio/personal-site-eleventy/blob/main/src/_data/lastfm.js&quot;&gt;pull the data with a JavaScript data file&lt;/a&gt; and then &lt;a href=&quot;https://github.com/Andy-set-studio/personal-site-eleventy/blob/main/src/_includes/partials/latest-track.njk&quot;&gt;render it in a little partial&lt;/a&gt;. I’ve got a cron job that runs a build every 3 mins that keeps it all up to date. &lt;/p&gt;



&lt;p&gt;The &lt;a href=&quot;https://music.andy-bell.co.uk/&quot;&gt;music collection&lt;/a&gt; I’m bringing into the main site is already using this approach with JavaScript data files to grab Notion content, so porting that over should be pretty simple too. &lt;/p&gt;



&lt;h2&gt;I made it all open to folks to look at&lt;/h2&gt;



&lt;p&gt;I thought it might be a good idea to share the source code for my site. It always made me nervous when it was on WordPress because I come from the bad old days of WordPress sites getting hacked. With Eleventy though, it all feels safe. &lt;/p&gt;



&lt;p&gt;The only thing that doesn’t feel safe is that the fellas (it’s always the fellas) love to rip off other peoples websites, which &lt;strong&gt;is absolutely not cool&lt;/strong&gt;. The power play I have for that is no one is gonna want a site that looks like mine lmao. &lt;/p&gt;



&lt;p&gt;Feel free to look around the &lt;a href=&quot;https://github.com/Andy-set-studio/personal-site-eleventy&quot;&gt;source code&lt;/a&gt; though. You might learn something new! &lt;/p&gt;
</content:encoded></item><item><title>Happy 10th birthday to these weird little guys</title><link>https://bell.bz/happy-10th-birthday-to-these-weird-little-guys/</link><guid isPermaLink="true">https://bell.bz/happy-10th-birthday-to-these-weird-little-guys/</guid><pubDate>Wed, 17 May 2023 10:45:10 GMT</pubDate><content:encoded>
&lt;p&gt;10 years since we rescued Dora and Delilah. They’ve been the best and weirdest little guys.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;768&quot; height=&quot;1024&quot; src=&quot;https://andy-bell.imgix.net/2023/05/IMG_0295-768x1024.jpeg&quot; alt=&quot;Dora (black cat) and Delilah (tabby cat) sitting on an armchair, both looking pissed off&quot; srcset=&quot;https://andy-bell.imgix.net/2023/05/IMG_0295-768x1024.jpeg 768w, https://andy-bell.imgix.net/2023/05/IMG_0295-225x300.jpeg 225w, https://andy-bell.imgix.net/2023/05/IMG_0295-1152x1536.jpeg 1152w, https://andy-bell.imgix.net/2023/05/IMG_0295.jpeg 1400w&quot; /&gt;&lt;/figure&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;768&quot; height=&quot;1024&quot; src=&quot;https://andy-bell.imgix.net/2023/05/IMG_0282-1-768x1024.jpeg&quot; alt=&quot;Dora (black cat) on top of a kallax unit, being stroked&quot; srcset=&quot;https://andy-bell.imgix.net/2023/05/IMG_0282-1-768x1024.jpeg 768w, https://andy-bell.imgix.net/2023/05/IMG_0282-1-225x300.jpeg 225w, https://andy-bell.imgix.net/2023/05/IMG_0282-1.jpeg 1050w&quot; /&gt;&lt;/figure&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;971&quot; src=&quot;https://andy-bell.imgix.net/2023/05/IMG_0813-2-1024x971.jpeg&quot; alt=&quot;Delilah (tabby cat) in complete floof mode&quot; srcset=&quot;https://andy-bell.imgix.net/2023/05/IMG_0813-2-1024x971.jpeg 1024w, https://andy-bell.imgix.net/2023/05/IMG_0813-2-300x284.jpeg 300w, https://andy-bell.imgix.net/2023/05/IMG_0813-2-768x728.jpeg 768w, https://andy-bell.imgix.net/2023/05/IMG_0813-2.jpeg 1038w&quot; /&gt;&lt;/figure&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;768&quot; src=&quot;https://andy-bell.imgix.net/2023/05/IMG_0833-1024x768.jpg&quot; alt=&quot;Delilah (tabby cat) and Dora (black cat) as kittens, all cuddled up on the sofa together &quot; srcset=&quot;https://andy-bell.imgix.net/2023/05/IMG_0833-1024x768.jpg 1024w, https://andy-bell.imgix.net/2023/05/IMG_0833-300x225.jpg 300w, https://andy-bell.imgix.net/2023/05/IMG_0833-768x576.jpg 768w, https://andy-bell.imgix.net/2023/05/IMG_0833.jpg 1400w&quot; /&gt;&lt;/figure&gt;
</content:encoded></item><item><title>Identity theft</title><link>https://bell.bz/identity-theft/</link><guid isPermaLink="true">https://bell.bz/identity-theft/</guid><pubDate>Mon, 15 May 2023 09:49:36 GMT</pubDate><content:encoded>
&lt;p&gt;I listened to a terrifying episode of Darknet Diaries this week where a developer, Connor Tumbleson explained how their identity was stolen by some form of grifting company that created a fake Upwork profile pretending to be them. They then proceeded to hire freelancers to pretend to be Connor in interviews…&lt;/p&gt;



&lt;p&gt;It’s all very weird and I urge you to &lt;a href=&quot;https://darknetdiaries.com/episode/133/&quot;&gt;listen to the episode &lt;/a&gt;and/or &lt;a href=&quot;https://connortumbleson.com/2022/09/19/someone-is-pretending-to-be-me/&quot;&gt;read their great blog post&lt;/a&gt; on the matter. &lt;/p&gt;



&lt;p&gt;I can’t believe I have to even write this, but if you ever find &lt;em&gt;my&lt;/em&gt; profile on Upwork — or any other freelancer hiring sites —&lt;strong&gt; it’s 100% not me and never will be&lt;/strong&gt;. Definitely triple check before hiring on such sites would be my advice. &lt;/p&gt;
</content:encoded></item><item><title>I don’t hate it though</title><link>https://bell.bz/i-dont-hate-it-though/</link><guid isPermaLink="true">https://bell.bz/i-dont-hate-it-though/</guid><pubDate>Wed, 03 May 2023 08:33:28 GMT</pubDate><content:encoded>
&lt;p&gt;Something I really don’t like is how “hate” is used so lightly — especially by tech folks. Same for “dead” too (tech doesn’t die it’s just sand that can think).&lt;/p&gt;



&lt;p&gt;Over the last couple of years, I often get mischaracterised as “hating” stuff. Y’know, “Andy hates React”, “Andy hates Tailwind”, “Andy hates Twitter”, or more recently, “Andy hates Mastodon”. I don’t “hate” any of those.&lt;/p&gt;



&lt;p&gt;In fact I use them all, quite happily. I use React on client projects, &lt;a href=&quot;https://andy-bell.co.uk/i-used-tailwind-for-the-u-in-cube-css-and-i-liked-it/&quot;&gt;I use Tailwind&lt;/a&gt; on nearly all projects and use Mastodon most days. &lt;/p&gt;



&lt;p&gt;I think people think I “hate” Twitter, React and Tailwind because I make fun of and shitpost about them. I don’t know how that gets categorised as hate — well, it probably is related to the modern tech industry being almost completely void of humour — but here we are. &lt;/p&gt;



&lt;p&gt;Apparently I hate Mastodon for the same and also I dared to &lt;a href=&quot;https://andy-bell.co.uk/i-think-im-not-alone-that-mastodon-is-giving-me-the-ick/&quot;&gt;write about why it’s been giving me the ick&lt;/a&gt; recently. The &lt;em&gt;horror&lt;/em&gt;. &lt;/p&gt;



&lt;p&gt;Anyway it’s one of those thousand cut things. It doesn’t really bother me a lot of the time, but it is recently. It bothers me when people I consider friends claim I “hate” stuff too. &lt;/p&gt;



&lt;p&gt;Being mischaracterised is one of only the few things I actually do hate, along with Nazis, Tories, Manchester City FC, Elon Musk and courgettes.&lt;/p&gt;



&lt;p&gt;I don’t expect anything to change, but I dunno, maybe choose a new word, because hate is a very strong word and we’re using it wrong tbh&lt;/p&gt;
</content:encoded></item><item><title>Some Bluesky, Twitter and Mastodon predictions for 6 months time</title><link>https://bell.bz/some-bluesky-twitter-and-mastodon-predictions-for-6-months-time/</link><guid isPermaLink="true">https://bell.bz/some-bluesky-twitter-and-mastodon-predictions-for-6-months-time/</guid><pubDate>Thu, 27 Apr 2023 11:22:11 GMT</pubDate><content:encoded>
&lt;p&gt;Predictions are fun and social networks seem to be in a period of turbulence, excitement and of course, decline. This is what I reckon it might look like in 6 months:&lt;/p&gt;



&lt;p&gt;Twitter will be like Facebook: cringe and irrelevant. It certainly will not be “dead”, but just like Facebook is now: Twitter will be completely void of relevance. It’ll still be useful for people to connect though. Unless Twitter sorts revenue out (repair relationships with advertisers), it’ll probably go away.&lt;/p&gt;



&lt;p&gt;Bluesky will be much bigger and feature a lot of big accounts like celebrities, but I think they’ll also maintain a presence on Twitter too, like they do with Facebook. The federation setup will probably result in a few smaller satellites of the @ protocol, but Bluesky will almost certainly be the canonical instance and by proxy, will be the new old Twitter. I think Bluesky will still be invite only too. Third party apps will be a massive contributor to the success.&lt;/p&gt;



&lt;p&gt;Mastodon’s growth will slow and it’ll probably resume its position as a niche community. The Fediverse will remain strong, but I think Mastodon will mostly be populated by people who really want it to work, rather than people looking for a Twitter alternative who have &lt;a href=&quot;https://andy-bell.co.uk/i-think-im-not-alone-that-mastodon-is-giving-me-the-ick/&quot;&gt;mostly been scared off&lt;/a&gt; at this point. &lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;I’m almost certainly going to be wrong about this, but I’m quite looking forward to seeing how it all shifts. I’m gonna set a reminder to check this post in 6 months to see how wrong I was. &lt;/p&gt;
</content:encoded></item><item><title>Why pay $8 for a checkmark when you can get one for free?</title><link>https://bell.bz/why-pay-8-for-a-check-mark-when-you-can-get-one-for-for-free/</link><guid isPermaLink="true">https://bell.bz/why-pay-8-for-a-check-mark-when-you-can-get-one-for-for-free/</guid><pubDate>Sat, 22 Apr 2023 20:13:32 GMT</pubDate><content:encoded>
&lt;p&gt;Elon Musk has removed checkmarks from everyone now on Twitter, so I thought I’d make a web component so you can add one wherever you want!&lt;/p&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;p&gt;First of all, you’re gonna need to add this JavaScript to your webpage.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;&amp;lt;script type=&quot;module&quot;&amp;gt;
class CheckMark extends HTMLElement {
  connectedCallback() {
    const root = this.attachShadow({mode: &apos;open&apos;});
    root.innerHTML = `
      &amp;lt;svg role=&quot;img&quot; aria-label=&quot;${this.name}&quot; viewBox=&quot;0 0 22 22&quot;&amp;gt;
        &amp;lt;path d=&quot;M20.396 11a3.487 3.487 0 0 0-2.008-3.062 3.474 3.474 0 0 0-.742-3.584 3.474 3.474 0 0 0-3.584-.742A3.468 3.468 0 0 0 11 1.604a3.463 3.463 0 0 0-3.053 2.008 3.472 3.472 0 0 0-1.902-.14c-.635.13-1.22.436-1.69.882a3.461 3.461 0 0 0-.734 3.584A3.49 3.49 0 0 0 1.604 11a3.496 3.496 0 0 0 2.017 3.062 3.471 3.471 0 0 0 .733 3.584 3.49 3.49 0 0 0 3.584.742A3.487 3.487 0 0 0 11 20.396a3.476 3.476 0 0 0 3.062-2.007 3.335 3.335 0 0 0 4.326-4.327A3.487 3.487 0 0 0 20.396 11zM9.662 14.85l-3.429-3.428 1.293-1.302 2.072 2.072 4.4-4.794 1.347 1.246z&quot;/&amp;gt;
      &amp;lt;/svg&amp;gt;
      &amp;lt;style&amp;gt;
        svg {
          display: inline-block;
          transform: translateY(0.1em);
          fill: var(--verified-color, ${this.color});
          width: auto;
          height: var(--verified-size, ${this.size});
        }
      &amp;lt;/style&amp;gt;
    `;
  }
  get name() {
    return this.hasAttribute(&apos;name&apos;)
      ? `A verifcation check for ${this.getAttribute(&apos;name&apos;)}, who is definitely verified`
      : &apos;A verification check showing that I am definitely verified&apos;;
  }
  get color() {
    return this.hasAttribute(&apos;color&apos;) ? this.getAttribute(&apos;color&apos;) : &apos;#2ca6f8&apos;;
  }
  get size() {
    return this.hasAttribute(&apos;size&apos;) ? this.getAttribute(&apos;size&apos;) : &apos;2ex&apos;;
  }
}
customElements.define(&apos;check-mark&apos;, CheckMark);
&amp;lt;/script&amp;gt;&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Now, you can use the &lt;code&gt;&amp;lt;check-mark&amp;gt;&lt;/code&gt; element wherever you want.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;&amp;lt;check-mark&amp;gt;&amp;lt;/check-mark&amp;gt;&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;You can set your name on there, which will make for much better alt text like this.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;&amp;lt;check-mark name=&quot;Andy&quot;&amp;gt;&amp;lt;/check-mark&amp;gt;&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;You can change the colour like this.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;&amp;lt;check-mark color=&quot;#ff00ff&quot;&amp;gt;&amp;lt;/check-mark&amp;gt;&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;You can change the size like this.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;&amp;lt;check-mark size=&quot;20rem&quot;&amp;gt;&amp;lt;/check-mark&amp;gt;&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Or, you can use CSS Custom Properties.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;:root {
  --verified-color: #ff00ff;
  --verified-size: 20rem;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Here’s some cool stuff.&lt;/p&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;h2&gt;FAQs &lt;/h2&gt;



&lt;h3&gt;Why?&lt;/h3&gt;



&lt;p&gt;Why not?&lt;/p&gt;



&lt;h3&gt;Will it work on every website?&lt;/h3&gt;



&lt;p&gt;Almost certainly not.&lt;/p&gt;



&lt;h3&gt;Is this on NPM?&lt;/h3&gt;



&lt;p&gt;No, but feel free to publish it there&lt;/p&gt;



&lt;h3&gt;Will you mantain this?&lt;/h3&gt;



&lt;p&gt;In all honesty, I’ll forget this exists within 2 weeks, so no.&lt;/p&gt;
</content:encoded></item><item><title>last.fm + “AI”</title><link>https://bell.bz/last-fm-ai/</link><guid isPermaLink="true">https://bell.bz/last-fm-ai/</guid><pubDate>Tue, 18 Apr 2023 14:25:53 GMT</pubDate><content:encoded>
&lt;p&gt;Do you know what I’d love? An “AI” that’s constantly trained on &lt;a href=&quot;https://www.last.fm/user/andyvirus&quot;&gt;my last.fm listening data&lt;/a&gt; that at any point in the day can recommend me something to listen to. &lt;a href=&quot;https://andy-bell.co.uk/last-fm-2022-summary/&quot;&gt;I tend to listen to genres in phases&lt;/a&gt;, so I think this would be especially useful for me. &lt;/p&gt;



&lt;p&gt;Is this even possible? Where would I even start? &lt;/p&gt;



&lt;p&gt;Something to look into I guess.&lt;/p&gt;
</content:encoded></item><item><title>New side project: owning my music</title><link>https://bell.bz/new-side-project-owning-my-music/</link><guid isPermaLink="true">https://bell.bz/new-side-project-owning-my-music/</guid><pubDate>Thu, 13 Apr 2023 12:36:13 GMT</pubDate><content:encoded>
&lt;p&gt;Folks that have been following along for a while will probably remember that over the last couple of years, I’ve been building up a music collection away from streaming services. You can see it over at &lt;a href=&quot;https://music.andy-bell.co.uk&quot;&gt;https://music.andy-bell.co.uk&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;I’ve slowed down purchasing physical vinyl copies because I’ve got most of the ones I wanted — especially &lt;a href=&quot;https://music.andy-bell.co.uk/tag/top%2010/&quot;&gt;my top 10 albums of all time&lt;/a&gt; — and I’m running out of storage space for them. I’m moving on to the next phase now: completely owning all my music digitally. &lt;/p&gt;



&lt;p&gt;I don’t really have a huge problem with streaming services. They don’t pay artists anywhere near enough royalties but they vastly improve discoverability. It is what it is. I don’t want to contribute to that though and want to pay artists what they are owed. In a world of &lt;em&gt;way too many &lt;/em&gt;streaming services across all media, it would be great to chip one off the list too. &lt;/p&gt;



&lt;p&gt;Right now I use Apple Music and it’s &lt;em&gt;fine. &lt;/em&gt;I do much prefer &lt;a href=&quot;https://brushedtype.co/doppler/&quot;&gt;Doppler&lt;/a&gt; as an interface, both on Mac and iPhone. The problem is, &lt;a href=&quot;https://music.andy-bell.co.uk/format/digital/&quot;&gt;my digital collection&lt;/a&gt; is rather thin, so I’m gonna slowly start to build it up. One part of that is buying CDs and ripping them, just like the glory days when I got the first iPod. The other is digitising my Vinyl collection. &lt;/p&gt;



&lt;p&gt;I’m using &lt;a href=&quot;https://www.alpinesoft.co.uk/&quot;&gt;VinylStudio&lt;/a&gt; to record and process albums. So far it’s pretty darn good. I could have used something free like Audacity or even Adobe Audition via my Creative Cloud licence, but I’ve spent way too many hours mixing, mastering and slicing audio in my previous work as a sound engineer to ever want to do that for fun. It would be like wireframing for fun these days lmao. &lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;617&quot; src=&quot;https://andy-bell.imgix.net/2023/04/CleanShot-2023-04-13-at-13.28.15@2x-1024x617.jpg&quot; alt=&quot;The Vinyl Studio interface &quot; srcset=&quot;https://andy-bell.imgix.net/2023/04/CleanShot-2023-04-13-at-13.28.15@2x-1024x617.jpg 1024w, https://andy-bell.imgix.net/2023/04/CleanShot-2023-04-13-at-13.28.15@2x-300x181.jpg 300w, https://andy-bell.imgix.net/2023/04/CleanShot-2023-04-13-at-13.28.15@2x-768x463.jpg 768w, https://andy-bell.imgix.net/2023/04/CleanShot-2023-04-13-at-13.28.15@2x-1536x926.jpg 1536w, https://andy-bell.imgix.net/2023/04/CleanShot-2023-04-13-at-13.28.15@2x-2048x1234.jpg 2048w&quot; /&gt;&lt;figcaption&gt;VinylStudio recording White Pony by Deftones&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;One thing that’s really good about this process is it’s getting me listening to vinyl again which I’m sorry to say, I’ve been pretty bad at recently. I’ve missed that analogue warmth, so it feels good to be doing it again. &lt;/p&gt;



&lt;p&gt;I also know this is going to take &lt;em&gt;ages. &lt;/em&gt;At the time of writing, I have around 240 vinyls to get through. Even at two a day, it’s gonna take well over a quarter of a year. I like the idea of a slow hobby project though. &lt;/p&gt;



&lt;p&gt;Maybe this year is the year I finally give &lt;a href=&quot;https://music.andy-bell.co.uk&quot;&gt;my music collection site&lt;/a&gt; a proper design too. It’s been in it’s proof of concept state for around 2 years now…&lt;/p&gt;
</content:encoded></item><item><title>I think I’m not alone that Mastodon is giving me the ick</title><link>https://bell.bz/i-think-im-not-alone-that-mastodon-is-giving-me-the-ick/</link><guid isPermaLink="true">https://bell.bz/i-think-im-not-alone-that-mastodon-is-giving-me-the-ick/</guid><pubDate>Wed, 05 Apr 2023 14:07:58 GMT</pubDate><content:encoded>
&lt;p&gt;I first joined Mastodon in 2018 (even though &lt;a href=&quot;https://mastodon.social/@hankchizljaw&quot;&gt;my old profile says 2016&lt;/a&gt;?), so I’d say I’ve seen a lot of its evolution. I’m on my second private instance now and would definitely consider myself invested in its success. Decentralised social media is so much more &lt;em&gt;web&lt;/em&gt; than centralised social media networks ad networks like Twitter and Facebook. In short, I see it as the future for sure.&lt;/p&gt;



&lt;p&gt;But, right now, Mastodon is giving me the ick, &lt;em&gt;again&lt;/em&gt;. Frustratingly, for the same reasons it did last time, a couple of years ago:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;My pals aren’t all there and I miss talking to them&lt;/li&gt;



&lt;li&gt;There’s so little diversity in comparison to Twitter&lt;/li&gt;



&lt;li&gt;The tone policing makes me want to scratch my eyes out&lt;/li&gt;



&lt;li&gt;There always seems to be a weird atmosphere which I can’t put my finger on. I think it’s caused by an extreme effort to keep it pleasant and not like Twitter&lt;/li&gt;



&lt;li&gt;People relentlessly calling Twitter the “birdsite”&lt;/li&gt;



&lt;li&gt;Sooo many content warnings for literally everything (I know you can remove them)&lt;/li&gt;



&lt;li&gt;Folks are extremely defensive about fair criticism of the platform&lt;/li&gt;



&lt;li&gt;I miss the chaos, speed of information and humour on Twitter&lt;/li&gt;



&lt;li&gt;People get real nasty about others going back to “the birdsite”&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;I want to focus on the last point because this has definitely been a contributor to my recent ick. I’ve noticed a few folks getting frankly, &lt;em&gt;horrible&lt;/em&gt; about people moving back to Twitter recently and I think it’s a bit unfair.&lt;/p&gt;



&lt;p&gt;I empathise with people who are moving back because I am one of them. In my case, I’d say I’m straddling both platforms though. I definitely started getting some FOMO, but also, Twitter still provides value for me. I fucking &lt;em&gt;hate&lt;/em&gt; Elon Musk and what he’s doing to Twitter. I absolutely will not support him, but I don’t think posting on Twitter does that — mostly because they’ve lost like 90% of their ad revenue and over 50% of the company value lol.&lt;/p&gt;



&lt;p&gt;I’ll own the fact that many times, I have declared that I will never go back to Twitter, but I’m also a human who makes rash decisions. When Musk laid off most of the hard working folks, I was &lt;em&gt;fuming&lt;/em&gt;, so rage quit. Now, after a few months of cool-off, I really started to miss people who never came over to Mastodon, so slowly started going back via lists and Feedbin. I’ll never embrace the “for you” bullshit, that’s for sure.&lt;/p&gt;



&lt;p&gt;Maybe this is why folks getting nasty about other folks moving back to Twitter from Mastodon is pissing me off so much, because I feel like they are being a dickhead about me too. I know I personally care a lot less about what people think about me than others might do though, so I also worry that good people are being pushed away because they are made to feel like bad people (which they are not).&lt;/p&gt;



&lt;p&gt;I’m personally gonna keep straddling both platforms. If that’s a real problem for &lt;em&gt;you&lt;/em&gt;, no worries, but being an arsehole about it certainly won’t make me want to ditch Twitter for Mastodon 100%. It’ll have the opposite effect.&lt;/p&gt;



&lt;p&gt;Also, you might be having the best time on Mastodon and hell yeh, that’s great. I’m really happy for you. Don’t use that to minimise other people’s less-positive experience though!&lt;/p&gt;



&lt;p&gt;I honestly think Mastodon — or some other decentralised platform — is the long term future, but I also think unless Twitter literally disappears, it’s going to take a long time. That’s fine, in my opinion. It gives Mastodon time to evolve into something more people friendly, which will be great!&lt;/p&gt;



&lt;p&gt;I’m still going to be an enthusiastic cheerleader of Mastodon too, even though right now, I’m not digging it as much.&lt;/p&gt;
</content:encoded></item><item><title>Sitting ducks for AI automation</title><link>https://bell.bz/sitting-ducks-for-ai-automation/</link><guid isPermaLink="true">https://bell.bz/sitting-ducks-for-ai-automation/</guid><pubDate>Mon, 03 Apr 2023 17:14:09 GMT</pubDate><content:encoded>
&lt;p&gt;I tell you what, with so-called “AI” getting better and better at slinging code, I’d certainly be concerned if I was all-in on UI frameworks, because you just know that design implementation is gonna be automated out because it’s “easy”. Same goes for easy-to-automate components built with React/Vue/Whatever. &lt;/p&gt;



&lt;p&gt;Yeh, it’s easy to bosh out a bang-average design implementation with frameworks like Tailwind UI,  and a bang-average UI with React or whatnot, but the skills to make something great are much higher in the production process and frankly, &lt;strong&gt;much &lt;/strong&gt;harder. &lt;/p&gt;



&lt;p&gt;So-called “AI” can’t even get close to automating proper implementation details, quality user experience and well, proper planning, research and critical thinking. That’s what makes great websites, less so the code slinging part and rectangle drawing. That part is just the output of great pre-production work.&lt;/p&gt;



&lt;p&gt;My advice would be to skill the heck up on that pre-production stuff, because if you’re part of the design/code sausage factory’s conveyor belt, I think your job safety days are numbered. Do I think that’s fair? &lt;em&gt;Absolutely not&lt;/em&gt; — but what I do know is rich people will do anything to get richer, so the time to out-wit them was yesterday.&lt;/p&gt;
</content:encoded></item><item><title>Thank you for my $0.01, Coil</title><link>https://bell.bz/thank-you-for-my-0-01-coil/</link><guid isPermaLink="true">https://bell.bz/thank-you-for-my-0-01-coil/</guid><pubDate>Wed, 29 Mar 2023 16:31:11 GMT</pubDate><content:encoded>
&lt;p&gt;After &lt;a href=&quot;https://www.coil.com/&quot;&gt;Coil decided to sunset&lt;/a&gt;, I got my “final balance” today: a whopping $0.01.&lt;/p&gt;



&lt;p&gt;I’m a bit disappointed that the interledger thing never really took off, but it never was gonna work because the payouts were so small. There wasn’t really an incentive for publishers to part ways with ads. I still get a mighty $10 a month from those on &lt;a href=&quot;https://piccalil.li&quot;&gt;piccalil.li&lt;/a&gt;, even though I never add content lol.&lt;/p&gt;



&lt;p&gt;Let’s hope this is a bump in the road, rather than the end of web monetisation.&lt;/p&gt;
</content:encoded></item><item><title>“AI” should be doing our boring work, not the fun stuff</title><link>https://bell.bz/ai-should-be-doing-our-boring-work-not-the-fun-stuff/</link><guid isPermaLink="true">https://bell.bz/ai-should-be-doing-our-boring-work-not-the-fun-stuff/</guid><pubDate>Sat, 25 Mar 2023 07:07:51 GMT</pubDate><content:encoded>
&lt;p&gt;I’ll give “AI” credit: it’s bloody good at boring menial stuff I can’t be arsed with. That’s what it &lt;em&gt;should&lt;/em&gt; do: save time wasted on stuff that grinds you down, so you’ve got more energy for the stuff you actually like doing.&lt;/p&gt;



&lt;p&gt;I have no interest in the “creative” stuff it does— well, maybe the image generators can help me with a bit of creative block sometimes.&lt;/p&gt;



&lt;p&gt;The thing is, surely everyone wants to do less boring, menial shit. Why are the personality voids that are pushing it so hell bent on taking what makes us actually human away with “AI”?&lt;/p&gt;



&lt;p&gt;If they came forward with “you’ll never have to process an expense again” or “our ‘AI’ will manage your inbox for you”, I’d sign right up for that shit.&lt;/p&gt;
</content:encoded></item><item><title>Set Studio in 2nd place in carbon footprint table</title><link>https://bell.bz/set-studio-in-2nd-place-in-carbon-footprint-table/</link><guid isPermaLink="true">https://bell.bz/set-studio-in-2nd-place-in-carbon-footprint-table/</guid><pubDate>Thu, 23 Mar 2023 12:12:39 GMT</pubDate><content:encoded>
&lt;p&gt;Ecoping have these &lt;a href=&quot;https://ecoping.earth/indexes&quot;&gt;handy indexes of websites&lt;/a&gt;, ranked by their carbon footprint. They’ve added our new &lt;a href=&quot;https://set.studio&quot;&gt;Set Studio site&lt;/a&gt; and it’s in second place! &lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://ecoping.earth/indexes/digital-agencies/&quot;&gt;https://ecoping.earth/indexes/digital-agencies/&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;What a nice surprise 🙂 &lt;/p&gt;
</content:encoded></item><item><title>How AI and Crypto combined, are the future of the web</title><link>https://bell.bz/how-ai-and-crypto-combined-are-the-future-of-the-web/</link><guid isPermaLink="true">https://bell.bz/how-ai-and-crypto-combined-are-the-future-of-the-web/</guid><pubDate>Fri, 10 Mar 2023 13:25:29 GMT</pubDate><content:encoded>
&lt;p&gt;Ha ha no they’re not. Got ya! &lt;/p&gt;




</content:encoded></item><item><title>One in, two out</title><link>https://bell.bz/one-in-two-out/</link><guid isPermaLink="true">https://bell.bz/one-in-two-out/</guid><pubDate>Mon, 06 Mar 2023 14:42:25 GMT</pubDate><content:encoded>
&lt;p&gt;As I &lt;a href=&quot;https://andy-bell.co.uk/how-im-dealing-with-twitter-in-a-hands-off-manner/&quot;&gt;posted earlier&lt;/a&gt;, I’m half letting Twitter back in. I have a policy though: a new potentially addictive thing means another has to go. Because Twitter is even more dangerous, I’ve decided that two need to go, so TikTok and Instagram have now been deleted from my phone. &lt;/p&gt;



&lt;p&gt;I don’t ever post anything to either of those ad networks, but they eat a lot of time and especially the case with TikTok, result in lots of late nights, mindlessly scrolling through videos. &lt;/p&gt;



&lt;p&gt;I have a similar policy with subscriptions, so they don’t get out of hand. I recently subscribed to Paramount+ for Yellowstone (definitely try that show, it’s great). Spotify was the sacrificed subscription because I’ve gone back onto Apple Music, which I get with Apple One. As long as &lt;a href=&quot;https://www.last.fm/user/andyvirus&quot;&gt;my last.fm&lt;/a&gt; stays up to date, I’m happy.&lt;/p&gt;
</content:encoded></item><item><title>How I’m dealing with Twitter in a hands-off manner</title><link>https://bell.bz/how-im-dealing-with-twitter-in-a-hands-off-manner/</link><guid isPermaLink="true">https://bell.bz/how-im-dealing-with-twitter-in-a-hands-off-manner/</guid><pubDate>Mon, 06 Mar 2023 12:17:38 GMT</pubDate><content:encoded>
&lt;p&gt;You might have noticed I’ve spent more time on Twitter recently. I was chatting to a new client for &lt;a href=&quot;https://set.studio/&quot;&gt;my agency&lt;/a&gt; recently and — as I always do — I asked where they found us. They said their team members followed &lt;a href=&quot;https://twitter.com/piccalilli_&quot;&gt;me on Twitter&lt;/a&gt;…&lt;/p&gt;



&lt;p&gt;Sure, they came through our &lt;a href=&quot;https://6beiysbiubx.typeform.com/to/bplFaZeL?typeform-source=set.studio&quot;&gt;contact form&lt;/a&gt;, but the fact that Twitter was the original source ends my forever claim of “I never land clients from Twitter, just reply guys”.&lt;/p&gt;



&lt;p&gt;So, with that — and after a very long period away — I thought I would dip my smallest toe in Twitter until Musk kills it off. I ain’t raw-dogging Twitter though. I can’t be dealing with the native app or site. Since Musk &lt;a href=&quot;https://tapbots.com/tweetbot/&quot;&gt;ripped away access to Tweetbot&lt;/a&gt;, that’s my direct access to the network gone. I though’t I’d get smart about it instead.&lt;/p&gt;



&lt;p&gt;Every now and then, I need to come back to twitter.com, so in &lt;a href=&quot;https://arc.net/&quot;&gt;Arc&lt;/a&gt;, I created this custom CSS to hide all the engagement bait: &lt;/p&gt;



&lt;pre&gt;&lt;code&gt;[aria-label=&quot;Trending&quot;], 
[aria-label=&quot;Search and explore&quot;], 
[aria-label=&quot;Twitter Blue&quot;],
[data-testid=&quot;DMDrawerHeader&quot;], 
[href*=&quot;promote&quot;] {
  display: none !important;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;It allows me to pop in &amp;gt; do what I need to do &amp;gt; bail out. &lt;/p&gt;



&lt;h2&gt;Timeline&lt;/h2&gt;



&lt;p&gt;I follow quite a lot of people on Twitter that didn’t move over to Mastodon, so I popped them in a private list — along with some dear old pals — then subscribed to it on &lt;a href=&quot;https://feedbin.com/&quot;&gt;Feedbin&lt;/a&gt;. This allows me to keep up to date with them (which I have missed a lot) &lt;strong&gt;and&lt;/strong&gt; I don’t have to deal with the firehose that is the Twitter timeline.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;472&quot; src=&quot;https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.50.24@2x-1024x472.jpg&quot; alt=&quot;A screenshot of my Feedbin, which amongst other feeds, shows a Twitter feed.

The open Tweet is by Henri Helvetica and it says &amp;quot;good morning DOM&amp;quot;&quot; srcset=&quot;https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.50.24@2x-1024x472.jpg 1024w, https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.50.24@2x-300x138.jpg 300w, https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.50.24@2x-768x354.jpg 768w, https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.50.24@2x-1536x708.jpg 1536w, https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.50.24@2x-2048x944.jpg 2048w&quot; /&gt;&lt;figcaption&gt;Look how lovely and quiet it is&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;I did try the Twitter timeline last week and immediately bailed out when I was met with the &lt;a href=&quot;https://twitter.com/piccalilli_/status/1632028588441468930&quot;&gt;same old shit takes and performatism&lt;/a&gt;, so this Feedbin setup is the only way I’m gonna keep up with Twitter, because now I’ve broken away from the site, I just don’t have the patience for it, or the &lt;a href=&quot;https://twitter.com/sjransom/status/1594975068244819968&quot;&gt;dickheads&lt;/a&gt; that frequent my replies.&lt;/p&gt;



&lt;p&gt;It also means I can treat Twitter as just another RSS feed and consume it whenever I want. I never miss my pal’s updates either, because it’s a list, which is genuinely chronological with no algorithm bullshit. &lt;/p&gt;



&lt;p&gt;You’ve probably noticed I’ve even got TikTok and Tumblr in my reader. For Tumblr, I just subscribed to the blogs I was following via RSS and for TikTok, I used &lt;a href=&quot;https://github.com/conoro/tiktok-rss-flat&quot;&gt;this cool trick&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;There’s absolutely no chance I’ll be coming back to Twitter properly because the mental health benefits of being away from it are &lt;em&gt;astronomical&lt;/em&gt;. This setup also reminds me of how little content I actually wanted to see on Twitter, versus how much was stuffed in my eye holes. That’s ad networks cosplaying as social networks for ya!&lt;/p&gt;



&lt;h2&gt;Posting and replying&lt;/h2&gt;



&lt;p&gt;The canonical source for nearly all my posts is &lt;a href=&quot;https://bell.bz/@andy&quot;&gt;Mastodon&lt;/a&gt;. The great thing about Mastodon is every user has an &lt;a href=&quot;https://bell.bz/@andy.rss&quot;&gt;RSS feed&lt;/a&gt;. I wire that up with &lt;a href=&quot;https://ifttt.com&quot;&gt;IFTTT&lt;/a&gt;, which tweets the same post on my behalf on Twitter without me ever having to think about it, or importantly, go near twitter.com.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;882&quot; src=&quot;https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.53.57@2x-1024x882.jpg&quot; alt=&quot;A screenshot of my IFTTT setup where I post a tweet if a new item in my mastodon RSS feed shows up. &quot; srcset=&quot;https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.53.57@2x-1024x882.jpg 1024w, https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.53.57@2x-300x258.jpg 300w, https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.53.57@2x-768x662.jpg 768w, https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.53.57@2x-1536x1323.jpg 1536w, https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.53.57@2x-2048x1764.jpg 2048w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;If I post on my blog: it posts to Mastodon first, then Twitter via RSS. I like that setup a lot. I own all my Mastodon content because I have my own private server too, so I feel like this counts as &lt;a href=&quot;https://indieweb.org/POSSE&quot;&gt;POSSE&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;I also use an app called &lt;a href=&quot;https://frontapp.com/&quot;&gt;Front&lt;/a&gt; for replying, DMs and occasionally posting Twitter-only content. I’ve already been using it again for a while because I get &lt;em&gt;a lot&lt;/em&gt; of DMs. It’s just like managing an email inbox. I can also like and retweet stuff from there, which is handy.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;615&quot; src=&quot;https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.55.49@2x-1024x615.jpg&quot; alt=&quot;A screenshot of Front, showing multiple Twitter conversations along with email &quot; srcset=&quot;https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.55.49@2x-1024x615.jpg 1024w, https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.55.49@2x-300x180.jpg 300w, https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.55.49@2x-768x461.jpg 768w, https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.55.49@2x-1536x922.jpg 1536w, https://andy-bell.imgix.net/2023/03/CleanShot-2023-03-06-at-11.55.49@2x-2048x1230.jpg 2048w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;It’s also a great email client, so keeping all that together is useful.&lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;&lt;a href=&quot;https://twitter.com/cherrykoda_/status/1631747273704046603&quot;&gt;As I said to to Shawna&lt;/a&gt;:&lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;…activitypub is the destination. There’s just a bumpy road to get there&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;I genuinely see ActivityPub as the destination, long term — along with more people owning their space online, rather than ad networks &lt;em&gt;owning them&lt;/em&gt;.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://joinmastodon.org/&quot;&gt;Mastodon&lt;/a&gt; is and will continue to be where I am, but if this extremely hands-off way of dealing with Twitter works out (until it eventually disappears), I’ll keep it going, because like a lot of my other independent peers, you gotta be where the people are.&lt;/p&gt;



&lt;p&gt;My take-away advice for you, dear reader, is find a way to &lt;strong&gt;use Twitter in a more hands-off manner&lt;/strong&gt; and start building away from there, because it &lt;strong&gt;will&lt;/strong&gt; disappear, or at least become a wasteland of boomers like Facebook.  &lt;/p&gt;
</content:encoded></item><item><title>Help the good folks of Tweetbot out</title><link>https://bell.bz/help-the-good-folks-of-tweetbot-out/</link><guid isPermaLink="true">https://bell.bz/help-the-good-folks-of-tweetbot-out/</guid><pubDate>Thu, 02 Mar 2023 07:07:15 GMT</pubDate><content:encoded>
&lt;p&gt;In January, petulant man-child, Elon Musk kneecapped Tweetbot (and others) by removing their API access.&lt;/p&gt;



&lt;p&gt;Because of this, it looks like Apple will be automatically refunding subscriptions. This isn’t fair.&lt;/p&gt;



&lt;p&gt;You can help by downloading the latest Tweetbot and selecting “I don’t need a refund”&lt;/p&gt;
</content:encoded></item><item><title>My favourite 3 lines of CSS, now in Japanese</title><link>https://bell.bz/my-favourite-3-lines-of-css-now-in-japanese/</link><guid isPermaLink="true">https://bell.bz/my-favourite-3-lines-of-css-now-in-japanese/</guid><pubDate>Tue, 28 Feb 2023 10:36:52 GMT</pubDate><content:encoded>
&lt;p&gt;Big thanks to &lt;a href=&quot;https://twitter.com/@colisscom&quot;&gt;コリス&lt;/a&gt; for &lt;a href=&quot;https://andy-bell.co.uk/my-favourite-3-lines-of-css/&quot;&gt;translating my post&lt;/a&gt; about my favourite 3 lines of CSS into Japanese 🙌&lt;/p&gt;



&lt;p&gt;Link: &lt;a href=&quot;https://coliss.com/articles/build-websites/operation/css/about-css-owl-selector.html&quot;&gt;https://coliss.com/articles/build-websites/operation/css/about-css-owl-selector.html&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>Learn Eleventy From Scratch could really do with an update</title><link>https://bell.bz/learn-eleventy-from-scratch-could-really-do-with-an-update/</link><guid isPermaLink="true">https://bell.bz/learn-eleventy-from-scratch-could-really-do-with-an-update/</guid><pubDate>Thu, 23 Feb 2023 15:11:24 GMT</pubDate><content:encoded>
&lt;p&gt;Our Junior developer is currently running through &lt;a href=&quot;https://learneleventyfromscratch.com/#about-your-instructor&quot;&gt;Learn Eleventy From Scratch&lt;/a&gt; and I’m chiming in every now and then to help them out. &lt;/p&gt;



&lt;p&gt;Thanks to Eleventy being—well—awesome, it runs perfectly for the &lt;code&gt;2.0&lt;/code&gt; release, even though the course was written before &lt;code&gt;1.0&lt;/code&gt;. The problem, instead, lies with gulp. &lt;/p&gt;



&lt;p&gt;Really, the whole course needs to be refactored to better-support new Eleventy stuff, but most importantly, &lt;a href=&quot;https://learneleventyfromscratch.com/lesson/18.html&quot;&gt;lesson 18 onwards&lt;/a&gt; need completely re-writing. &lt;/p&gt;



&lt;p&gt;The biggest issues are the Gulp and Sass setups. I don’t even use Sass anymore and we certainly don’t in &lt;a href=&quot;https://set.studio&quot;&gt;the studio&lt;/a&gt;. This is another worry for me because our Junior has only done normal CSS, so Sass is gonna be confusing as hell for them.&lt;/p&gt;



&lt;p&gt;I’m really glad I made the course completely free, but unfortunately, that causes a problem: I just can’t justify investing weeks of time into an update. I haven’t got the bandwidth for it—especially running an agency with billable work. If it was still paid, it would be justifiable and frankly, would already be completely up to date. &lt;/p&gt;



&lt;p&gt;I don’t really know what the best course of action is for it. The course has helped &lt;em&gt;so many people&lt;/em&gt;—still thousands a month, so it’s really worth investing in still. I guess the ideal situation is some form of sponsorship from a company (hello, Netlify) to fund a chunk of work on it and maybe put some sponsorship assets on there. Or maybe donations? &lt;/p&gt;



&lt;p&gt;I dunno. Ideas welcome! &lt;/p&gt;
</content:encoded></item><item><title>Quest For Fire – Skrillex</title><link>https://bell.bz/quest-for-fire-skrillex/</link><guid isPermaLink="true">https://bell.bz/quest-for-fire-skrillex/</guid><pubDate>Tue, 21 Feb 2023 13:13:00 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve always been a fan of Skrillex, even in the nastiest dubstep era. What I also like about Skrillex (A.K.A Sonny Moore) is that he is (or was) the frontman of post-hardcore band, &lt;a href=&quot;https://en.wikipedia.org/wiki/From_First_to_Last&quot;&gt;From First To Last&lt;/a&gt;. I got to see them at Download ’06 where non-other than Wes Borland played bass for them 🤯&lt;/p&gt;



&lt;p&gt;Anyway, this latest album from Skrillex is bloody good. He’s really chilled out his sound and it’s more dance/electronica than filthy dubstep. Don’t get me wrong though, it’s still a fucken &lt;em&gt;massive &lt;/em&gt;sound.&lt;/p&gt;



&lt;p&gt;I think my favourite track has to be “Hydrate”. It features Flowdan (bloody good rapper), who’s lyrics sit &lt;em&gt;beautifully &lt;/em&gt;on a nice sparse track. Lovely stuff.&lt;/p&gt;



&lt;p&gt;Also, I’m really bloody excited about the prospect of Skrillex, Four Tet and Fred Again… making music together. They seem to be touring (of sorts) together at the moment, so we can only hope.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://album.link/s/7tWP3OG5dWphctKg4NMACt&quot;&gt;Listen here&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Added an about page</title><link>https://bell.bz/added-an-about-page/</link><guid isPermaLink="true">https://bell.bz/added-an-about-page/</guid><pubDate>Tue, 21 Feb 2023 11:36:10 GMT</pubDate><content:encoded>
&lt;p&gt;I can’t believe that I didn’t have one already, but I’ve actually made an about page: &lt;a href=&quot;https://andy-bell.co.uk/about/&quot;&gt;https://andy-bell.co.uk/about/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>Check your CSS source code order before shovelling on more CSS</title><link>https://bell.bz/check-your-css-source-code-order-before-shovelling-on-more-css/</link><guid isPermaLink="true">https://bell.bz/check-your-css-source-code-order-before-shovelling-on-more-css/</guid><pubDate>Mon, 20 Feb 2023 16:47:18 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve been writing a new issue of &lt;a href=&quot;https://set.studio/category/newsletter/&quot;&gt;The Index&lt;/a&gt; today and came across a bit of a spacing issue in our prose CSS rules. &lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;645&quot; src=&quot;https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.26.05@2x-1024x645.jpg&quot; alt=&quot;An image of a rick roll bunched up close to a heading which reads &amp;quot;No spoilers for you&amp;quot; &quot; srcset=&quot;https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.26.05@2x-1024x645.jpg 1024w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.26.05@2x-300x189.jpg 300w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.26.05@2x-768x484.jpg 768w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.26.05@2x-1536x968.jpg 1536w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.26.05@2x-2048x1291.jpg 2048w&quot; /&gt;&lt;figcaption&gt;The image is bunched up against this heading&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;The culprit CSS is this: &lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.prose h1 + * {
  --flow-space: 1em;
}

.prose :is(h2 + *, h3 + *, h4 + *) {
  --flow-space: var(--space-s);
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;What that CSS does is look for heading elements and reduce spacing of any element that follows them, to create a nice section of content. It configures &lt;a href=&quot;https://andy-bell.co.uk/my-favourite-3-lines-of-css/&quot;&gt;my favourite 3 lines of CSS I wrote about here&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;The problem is, it’s overriding this rule which adds more space around elements such as a &lt;code&gt;&amp;lt;figure&amp;gt;&lt;/code&gt;:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.prose :is(pre, pre + *, figure, figure + *, h2, h3, h4) {
  --flow-space: var(--space-l-xl);
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Those two rules have the same specificity score as each other, &lt;code&gt;0, 1, 1&lt;/code&gt;. You can see them and how they are calculated here: &lt;a href=&quot;https://polypane.app/css-specificity-calculator/#selector=.prose%20h1%20%2B%20*&quot;&gt;first rule&lt;/a&gt; and &lt;a href=&quot;https://polypane.app/css-specificity-calculator/#selector=.prose%20%3Ais(pre%2C%20pre%20%2B%20*%2C%20figure%2C%20figure%20%2B%20*%2C%20h2%2C%20h3%2C%20h4)&quot;&gt;second rule&lt;/a&gt;. The second rule appeared before the first in our source code.&lt;/p&gt;



&lt;p&gt;This wasn’t a problem before, because most stuff we share has animation, we add a little motion warning, which then resets the spacing rule.&lt;/p&gt;



&lt;h2&gt;How did I fix it?&lt;/h2&gt;



&lt;p&gt;Well, admittedly my first reflex was &lt;strong&gt;moar CSS&lt;/strong&gt;, but no more CSS characters were added. All I did was change the order of the rules in the CSS…&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;570&quot; src=&quot;https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.34.33@2x-1024x570.jpg&quot; alt=&quot;CSS code with the two rules discussed above switched.&quot; srcset=&quot;https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.34.33@2x-1024x570.jpg 1024w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.34.33@2x-300x167.jpg 300w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.34.33@2x-768x428.jpg 768w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.34.33@2x-1536x855.jpg 1536w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.34.33@2x-2048x1140.jpg 2048w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;With that set, you can see the difference it caused: &lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;649&quot; src=&quot;https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.35.34@2x-1024x649.jpg&quot; alt=&quot;An image of a rick roll with a nice bit of top space from a heading which reads &amp;quot;No spoilers for you&amp;quot; &quot; srcset=&quot;https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.35.34@2x-1024x649.jpg 1024w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.35.34@2x-300x190.jpg 300w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.35.34@2x-768x487.jpg 768w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.35.34@2x-1536x974.jpg 1536w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-20-at-16.35.34@2x-2048x1298.jpg 2048w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;Because they have the same specificity score, source order kicks in, which is why the second rule that appears wins. &lt;/p&gt;



&lt;h2&gt;What’s the lesson?&lt;/h2&gt;



&lt;p&gt;Instead of shovelling more CSS on the pile in these situations, check on that specificity first. If you need help with that, check out the &lt;a href=&quot;https://web.dev/learn/css/specificity/&quot;&gt;specificity lesson I wrote on Learn CSS&lt;/a&gt;.  &lt;/p&gt;
</content:encoded></item><item><title>This Is Why – Paramore</title><link>https://bell.bz/this-is-why-paramore/</link><guid isPermaLink="true">https://bell.bz/this-is-why-paramore/</guid><pubDate>Sat, 18 Feb 2023 13:12:00 GMT</pubDate><content:encoded>
&lt;p&gt;Look, there’s bias here because I was extremely emo in the mid-2000s, so Paramore is always going to get a good review.&lt;/p&gt;



&lt;p&gt;But, my god, I’m &lt;em&gt;in to &lt;/em&gt;“This Is Why”: their recent album release. In fact, I think I’m low-key addicted to “Running Out Of Time” because it reminds me so much of Proceed (seriously good, &lt;a href=&quot;https://album.link/s/4Skdk7Oj33F8N7chTE58eu&quot;&gt;check them out&lt;/a&gt;).&lt;/p&gt;



&lt;p&gt;This album also makes me think of Finch, in the way that Paramore’s sound has evolved so much over time. Finch went from &lt;a href=&quot;https://album.link/i/1442779593&quot;&gt;straight-up emo&lt;/a&gt;, to a more &lt;a href=&quot;https://album.link/i/1442779593&quot;&gt;mature, clean sound&lt;/a&gt;, with smart-as-hell songwriting. I think Paramore are in a similar place too, but they went through a pop era (which I liked). I hope they stick at this evolution, because it really works for them.&lt;/p&gt;



&lt;p&gt;Overall, it’s great to see Paramore back. They’re bloody great.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://album.link/i/1646945378&quot;&gt;Listen here.&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>Just post</title><link>https://bell.bz/just-post/</link><guid isPermaLink="true">https://bell.bz/just-post/</guid><pubDate>Thu, 16 Feb 2023 15:14:23 GMT</pubDate><content:encoded>
&lt;p&gt;&lt;code&gt;[starts stopwatch]&lt;/code&gt;&lt;/p&gt;



&lt;p&gt;I see a lot of folks want to write more but struggle with how long it takes. I get it, a super detailed post takes &lt;em&gt;hours&lt;/em&gt; of work. Especially when you’re building demos and stuff.&lt;/p&gt;



&lt;p&gt;You don’t always have to do that, though. Take &lt;a href=&quot;https://andy-bell.co.uk/always-aim-high/&quot;&gt;this latest post&lt;/a&gt; on my blog about &lt;code&gt;text-decoration&lt;/code&gt;. It took about 25 mins to put together, proof-read and publish. &lt;/p&gt;



&lt;p&gt;This isn’t in any way a brag though. What I’m trying to say is that if you pick some low hanging fruit or something real simple, you can get posts out quick. Get a lot of posts out quick, and suddenly you’re more confident in your writing, you’ve got some momentum and you get quicker. &lt;/p&gt;



&lt;p&gt;Suddenly, the prospect of writing a big ol’ detail post becomes less daunting. &lt;/p&gt;



&lt;p&gt;I learned this from the &lt;a href=&quot;https://chriscoyier.net/2022/12/15/press-publish/&quot;&gt;school of Chris Coyier&lt;/a&gt;. &lt;a href=&quot;https://css-tricks.com&quot;&gt;CSS-Tricks&lt;/a&gt; was one of the first blogs I really enjoyed reading back in the old days because Chris’ writing style is clear and to the point. He keeps his language &lt;em&gt;really simple&lt;/em&gt; too, which I try damn hard to do the same. &lt;/p&gt;



&lt;p&gt;Doing that also speeds you up and makes posting less daunting. &lt;/p&gt;



&lt;p&gt;&lt;/p&gt;



&lt;p&gt;P.S if you think “no one will want to read my posts”, you’re wrong, because I do. If you think “X has already written about that, so I can’t”, then also, no, I want to hear your perspective, &lt;strong&gt;as do us all&lt;/strong&gt;! &lt;/p&gt;



&lt;p&gt;&lt;/p&gt;



&lt;p&gt;P.P.S if you think “I need a new blog” or “I don’t have a blog”, then first, look at the state of mine. I couldn’t have made it simpler if I tried. If you need something that’s plug and play: &lt;a href=&quot;https://andy-bell.co.uk/eleventy-excellent-truly-is-excellent/&quot;&gt;get this banger 11ty theme on the go&lt;/a&gt;, or &lt;a href=&quot;https://www.11ty.dev/docs/starter/?tags=perfectlh&quot;&gt;get one of these banger 11ty themes on the go&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;&lt;code&gt;[stops stopwatch at 8:35]&lt;/code&gt;&lt;/p&gt;
</content:encoded></item><item><title>Always aim high</title><link>https://bell.bz/always-aim-high/</link><guid isPermaLink="true">https://bell.bz/always-aim-high/</guid><pubDate>Thu, 16 Feb 2023 15:02:32 GMT</pubDate><content:encoded>
&lt;p&gt;I was doing a bit of tweaking on our agency site the other day. I introduced a &lt;code&gt;&amp;lt;del&amp;gt;&lt;/code&gt; element to one of the headings in a &lt;a href=&quot;https://set.studio/building-a-web-first-newsletter/&quot;&gt;new post&lt;/a&gt;. It looked pretty rubbish though because the text decoration was the same colour as the text and made it hard to read.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;146&quot; src=&quot;https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.44.30@2x-1024x146.jpg&quot; alt=&quot;Text reads &amp;quot;RSS is back still here&amp;quot;. The word &amp;quot;back&amp;quot; has a strike through it&quot; srcset=&quot;https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.44.30@2x-1024x146.jpg 1024w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.44.30@2x-300x43.jpg 300w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.44.30@2x-768x110.jpg 768w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.44.30@2x.jpg 1122w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt; At first I thought, “easy, I’ll just add &lt;code&gt;text-decoration-color&lt;/code&gt; to &lt;code&gt;&amp;lt;del&amp;gt;&lt;/code&gt; elements”.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;del {
  text-decoration-color: var(--color-secondary);
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;That &lt;em&gt;was &lt;/em&gt;easy, but it feels a bit specific to me, especially when we already have this rule: &lt;/p&gt;



&lt;pre&gt;&lt;code&gt;a {
  text-decoration-color: var(--color-secondary);
  text-decoration-thickness: 0.2ex;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This makes links look like this: &lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;250&quot; src=&quot;https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.48.47@2x-1024x250.jpg&quot; alt=&quot;We&apos;ll find the smartest way to achieve your ambition, and we&apos;ll make sure you can sustain it when we&apos;re done, just like we have already for clients like Google, OCEG and Scott&apos;s Bass Lessons.

The links have a nice teal underline.&quot; srcset=&quot;https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.48.47@2x-1024x250.jpg 1024w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.48.47@2x-300x73.jpg 300w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.48.47@2x-768x187.jpg 768w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.48.47@2x.jpg 1264w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;I want both the &lt;code&gt;&amp;lt;del&amp;gt;&lt;/code&gt; and the &lt;code&gt;&amp;lt;a&amp;gt;&lt;/code&gt; to have that same text-decoration effect, including the thickness, so I do a &lt;a href=&quot;https://web.dev/learn/css/selectors/#grouping-selectors&quot;&gt;grouped selector&lt;/a&gt; right?&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;a, del {
  text-decoration-color: var(--color-secondary);
  text-decoration-thickness: 0.2ex;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Well, yeh, that works, just like the first snippet of CSS does, but it’s not &lt;a href=&quot;https://cube.fyi/css.html&quot;&gt;global enough for my liking&lt;/a&gt;. What happens if say, I want to use an &lt;code&gt;&amp;lt;ins&amp;gt;&lt;/code&gt; element one day? &lt;/p&gt;



&lt;p&gt;The answer is a &lt;a href=&quot;https://web.dev/learn/css/selectors/#universal-selector&quot;&gt;universal selector&lt;/a&gt;, also known as a wildcard:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;* {
  text-decoration-color: var(--color-secondary);
  text-decoration-thickness: 0.2ex;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Now, any element that has &lt;code&gt;text-decoration&lt;/code&gt;—that doesn’t define it’s own &lt;code&gt;text-decoration-color&lt;/code&gt; or &lt;code&gt;text-decoration-thickness&lt;/code&gt;—will have this rule applied automatically.&lt;/p&gt;



&lt;p&gt;This is the power of CSS right here. If you do as much as you can, as high up as you can, you write a hell of a lot less CSS. Then, when you use semantic HTML: pages just style themselves. &lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;142&quot; src=&quot;https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.57.35@2x-1024x142.jpg&quot; alt=&quot;Text reads &amp;quot;RSS is back still here&amp;quot;. The word &amp;quot;back&amp;quot; has a strike through it, which is teal&quot; srcset=&quot;https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.57.35@2x-1024x142.jpg 1024w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.57.35@2x-300x42.jpg 300w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.57.35@2x-768x106.jpg 768w, https://andy-bell.imgix.net/2023/02/CleanShot-2023-02-16-at-14.57.35@2x.jpg 1126w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;Now doesn’t that look lovely?&lt;/p&gt;
</content:encoded></item><item><title>Eleventy Excellent truly is excellent</title><link>https://bell.bz/eleventy-excellent-truly-is-excellent/</link><guid isPermaLink="true">https://bell.bz/eleventy-excellent-truly-is-excellent/</guid><pubDate>Thu, 16 Feb 2023 13:28:30 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve probably already shared this before, but the Eleventy Excellent starter kit by &lt;br /&gt;&lt;a href=&quot;https://www.lenesaile.com&quot;&gt;Lene Saile&lt;/a&gt; (&lt;a href=&quot;https://front-end.social/@lene&quot;&gt;@lene@front-end.social&lt;/a&gt;) is bloody fantastic. &lt;/p&gt;



&lt;p&gt;It’s based on the &lt;a href=&quot;https://buildexcellentwebsit.es/&quot;&gt;Build Excellent Websites&lt;/a&gt; site we made, for the &lt;a href=&quot;https://www.youtube.com/watch?v=5uhIiI9Ld5M&quot;&gt;Be The Browser’s Mentor, Not Its Micromanager&lt;/a&gt; talk I delivered last year. &lt;/p&gt;



&lt;p&gt;I know I’ll certainly be looking in this kit’s direction next time I’m building an Eleventy site, that’s for sure.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://eleventy-excellent.netlify.app/&quot;&gt;https://eleventy-excellent.netlify.app/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>The (extremely) loud minority</title><link>https://bell.bz/the-extremely-loud-minority/</link><guid isPermaLink="true">https://bell.bz/the-extremely-loud-minority/</guid><pubDate>Tue, 14 Feb 2023 12:27:11 GMT</pubDate><content:encoded>
&lt;p&gt;Often on Twitter, we’ll hear stuff like this:&lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;Best practices don’t actually work&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;Or: &lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;TypeScript has won, and it’s only a matter of time you’re using it whether you like it or not.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;These may be true for a &lt;em&gt;tiny&lt;/em&gt; minority of cases, such as in a code-factory: full of developers, independently working on small pieces of a very large product, but this doesn’t represent the web industry. In fact, the JS-driven cohort represents a &lt;em&gt;tiny&lt;/em&gt; percentage of the web industry as a whole.&lt;/p&gt;



&lt;p&gt;How small is that percentage, though? I’m glad you asked. We’re going to be using data from &lt;a href=&quot;https://w3techs.com/faq&quot;&gt;W3Techs, who crawl the &lt;strong&gt;top 10 million websites&lt;/strong&gt;&lt;/a&gt; to calculate what market share certain technologies have. For this example, I’ll compare WordPress with React and Vue, because if you didn’t look at the data, you’d think everyone was building with them, right? Absolutely wrong. &lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;WordPress is used by 63.4% of all the websites whose content management system we know. This is &lt;strong&gt;43.1% of all websites&lt;/strong&gt;.&lt;/p&gt;
&lt;cite&gt;&lt;a href=&quot;https://w3techs.com/technologies/details/cm-wordpress&quot;&gt;W3Techs&lt;/a&gt;&lt;/cite&gt;&lt;/blockquote&gt;



&lt;p&gt;And to compare:&lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;React is used by 4.0% of all the websites whose JavaScript library we know. &lt;strong&gt;This is 3.3% of all websites&lt;/strong&gt;.&lt;/p&gt;
&lt;cite&gt;&lt;a href=&quot;https://w3techs.com/technologies/details/js-react&quot;&gt;W3Techs&lt;/a&gt;&lt;/cite&gt;&lt;/blockquote&gt;



&lt;p&gt;And finally:&lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;Vue.js is used by 0.9% of all the websites whose JavaScript library we know. &lt;strong&gt;This is 0.8% of all websites.&lt;/strong&gt;&lt;/p&gt;
&lt;cite&gt;&lt;a href=&quot;https://w3techs.com/technologies/details/js-vuejs&quot;&gt;W3Techs&lt;/a&gt;&lt;/cite&gt;&lt;/blockquote&gt;



&lt;p&gt;Emphasis on both examples, mine and the data is accurate as of February 14th, 2023. Also worth mentioning that this is just one data source. You could merge various sources, but the difference between the majority of the web industry—AKA people slinging websites with WordPress etc—and the loud, but very small web industry is &lt;strong&gt;huge.&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Even when you consider the reality that these technology paths likely cross and some sites hide the tech they are using, the difference is &lt;em&gt;extreme&lt;/em&gt;. Even if you &lt;a href=&quot;https://w3techs.com/technologies/comparison/js-react,js-vuejs&quot;&gt;add together React and Vue&lt;/a&gt;, it’s still &lt;strong&gt;less than 5% of all websites&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;It’s also worth caveating (for the sake of my mentions) that React and Vue usage doesn’t mean that we’re only talking about single page apps (SPAs). Those likely account for such a small percentage of the web, it’s barely worth counting. That percentage is likely going to fall now too, because the JavaScript community have seemingly finally woken up to the idea that SPAs are not good actually. &lt;a href=&quot;https://infrequently.org/2022/12/performance-baseline-2023/&quot;&gt;Shame about the decade we lost on them&lt;/a&gt;…&lt;/p&gt;



&lt;p&gt;Just for fun, here’s React and Vue’s combined, rounded market share, visually represented by 100 people:&lt;/p&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;p&gt;Now, here’s WordPress:&lt;/p&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;h2&gt;The point I am trying to make&lt;/h2&gt;



&lt;p&gt;It’s understandable to think that JavaScript frameworks and their communities are eating the web because places like Twitter are &lt;em&gt;awash with very loud voices from said communities&lt;/em&gt;.&lt;/p&gt;



&lt;p&gt;Always remember that although a &lt;strong&gt;subset of the JavaScript community&lt;/strong&gt; can be &lt;strong&gt;very loud&lt;/strong&gt;, they represent a &lt;strong&gt;paltry portion of the web as a whole&lt;/strong&gt;. This means that when &lt;em&gt;they&lt;/em&gt; say something like “Best practices don’t actually work”—what they mean is “Best practices don’t actually work for a small subset of less than 5 percent of the web”.&lt;/p&gt;



&lt;p&gt;Now when you look at it like that, it makes you wonder why we give these people such a large stage while the &lt;em&gt;very quiet&lt;/em&gt; &lt;strong&gt;majority&lt;/strong&gt; don’t get a voice at all. The very quiet majority are out there building more than 90% of the web, after all.&lt;/p&gt;



&lt;p&gt;Even a slight change in that dynamic would likely have a massive positive impact.&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: I just want to emphasise that W3Tech’s data is for the top 10 million websites. Based on that, React’s &amp;lt; 4% share is probably microscopic on the web as a whole. Even if you discount that: considering React has been around for a decade now, &amp;lt; 4% share of the top 10 million websites is &lt;em&gt;pathetic&lt;/em&gt;, considering how much we are made to feel like it is the “biggest framework” (well, at least in bundle size, that’s true).&lt;/p&gt;



&lt;p&gt;Another point I want to address is the “well, the web is massive and old, so of course there are loads of WordPress sites”. This is very true, but WordPress keeps growing in popularity*! I’d accept that if its share was depleting. Also, again, all of the above is in reference to the top 10 million websites, which if React is as popular as it’s made out to be, it would feature a lot more prominently…&lt;/p&gt;



&lt;p&gt;&lt;/p&gt;



&lt;p&gt;* based on when I last monitored this report for &lt;a href=&quot;https://www.youtube.com/watch?v=8oMekThCB9k&quot;&gt;my talk on CUBE CSS&lt;/a&gt; when WordPress’ share was around 36%.&lt;/p&gt;
</content:encoded></item><item><title>This is why performance matters</title><link>https://bell.bz/this-is-why-performance-matters/</link><guid isPermaLink="true">https://bell.bz/this-is-why-performance-matters/</guid><pubDate>Mon, 13 Feb 2023 18:34:52 GMT</pubDate><content:encoded>
&lt;p&gt;I just had a power cut and wanted to check how long it would be out for. The &lt;a href=&quot;https://www.ukpowernetworks.co.uk/power-cut/map&quot;&gt;UK Power Networks power outage tool&lt;/a&gt; is handy for that, but there’s a problem: I only had a 3G network connection and the site is &lt;strong&gt;heavily dependent on JavaScript&lt;/strong&gt;. &lt;/p&gt;



&lt;p&gt;Can you guess what happened? Yep: I couldn’t access the content I really needed to get access to.&lt;/p&gt;



&lt;p&gt;In this video, I tried to load the site. It took just under a minute to show &lt;em&gt;any content, &lt;/em&gt;and then I ended up giving up completely after watching it load for 3 minutes. &lt;strong&gt;3 minutes.&lt;/strong&gt; Obscene.&lt;/p&gt;



&lt;figure&gt;&lt;div&gt;

&lt;/div&gt;&lt;/figure&gt;



&lt;p&gt;I understand that the nature of how they display content requires JavaScript, but some progressive enhancement would be ideal in this situation. It could have rendered a simple list of incidents with HTML, then, &lt;strong&gt;if the JavaScript loads &lt;/strong&gt;(not when), it could replace that with the map.&lt;/p&gt;



&lt;p&gt;Performance matters because you never know what conditions your site will be met with, regardless of the “need” for JavaScript.&lt;/p&gt;



&lt;p&gt;At the very least, test for very slow connections and &lt;a href=&quot;https://andy-bell.co.uk/speed-for-who/&quot;&gt;consider who you’re building for&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>The Index is launching next week</title><link>https://bell.bz/the-index-is-launching-next-week/</link><guid isPermaLink="true">https://bell.bz/the-index-is-launching-next-week/</guid><pubDate>Fri, 10 Feb 2023 10:48:30 GMT</pubDate><content:encoded>
&lt;p&gt;On Monday, the first issue of the &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; newsletter: &lt;a href=&quot;https://buttondown.email/SetStudio&quot;&gt;The Index&lt;/a&gt; will be going live! &lt;/p&gt;



&lt;p&gt;You may remember the newsletter that I used to run a few years ago: the Piccalilli Newsletter. Back then, I used to feature lovely websites, inspiring articles, helpful tutorials and signal-boost content from writers who weren’t getting nearly enough attention for their great writing.&lt;/p&gt;



&lt;p&gt;The Index is going to be just like that newsletter! &lt;/p&gt;



&lt;p&gt;The important thing is that it will be &lt;strong&gt;web first&lt;/strong&gt;. Sure, we will be sending it to subscriber’s inboxes, but you’ll also be able to subscribe to a &lt;a href=&quot;https://set.studio/category/newsletter/feed/&quot;&gt;specific RSS feed, here&lt;/a&gt;. You can &lt;a href=&quot;https://buttondown.email/SetStudio&quot;&gt;subscribe to the newsletter emails here&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;I can’t wait to get stuck into this newsletter stuff again! &lt;/p&gt;



&lt;p&gt;&lt;/p&gt;
</content:encoded></item><item><title>One day left</title><link>https://bell.bz/one-day-left/</link><guid isPermaLink="true">https://bell.bz/one-day-left/</guid><pubDate>Wed, 08 Feb 2023 07:00:34 GMT</pubDate><content:encoded>
&lt;p&gt;There’s only one day left to find your pals on Mastodon via Twitter before the free Twitter API gets shut down. Even if you’re not planning on leaving Twitter, it’s probably worth doing it anyway.&lt;/p&gt;



&lt;p&gt;Services that are still working:&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://pruvisto.org/debirdify&quot;&gt;https://pruvisto.org/debirdify&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://fedifinder.glitch.me&quot;&gt;https://fedifinder.glitch.me&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;/p&gt;
</content:encoded></item><item><title>Buttondown is pretty cool</title><link>https://bell.bz/buttondown-is-pretty-cool/</link><guid isPermaLink="true">https://bell.bz/buttondown-is-pretty-cool/</guid><pubDate>Tue, 07 Feb 2023 14:17:20 GMT</pubDate><content:encoded>
&lt;p&gt;I’m researching email stuff for the incoming Set Studio newsletter: The Index. &lt;/p&gt;



&lt;p&gt;What I’m after is something that just does email and can be operated from afar. The reason for this is that The Index will be &lt;strong&gt;web first&lt;/strong&gt;. Essentially it’ll be a blog category that users can subscribe to with RSS or email. Therefore email is very much a second class citizen in this case. &lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://buttondown.email&quot;&gt;Buttondown&lt;/a&gt; has been on my radar ever since I was running the Piccalilli Newsletter (RIP). This was a few years ago now though and it looks like Buttondown has come along &lt;em&gt;loads.&lt;/em&gt;&lt;/p&gt;



&lt;p&gt;The killer feature for me: Buttondown will take an RSS feed then automatically slurp up the content (&lt;a href=&quot;https://buttondown.email/features/rss&quot;&gt;in their words&lt;/a&gt;) and then send it to our subscribers. Job done. &lt;/p&gt;



&lt;p&gt;They seem like a good company too, so I’d say this is a winner.&lt;/p&gt;
</content:encoded></item><item><title>My favourite 3 lines of CSS</title><link>https://bell.bz/my-favourite-3-lines-of-css/</link><guid isPermaLink="true">https://bell.bz/my-favourite-3-lines-of-css/</guid><pubDate>Mon, 06 Feb 2023 14:18:46 GMT</pubDate><content:encoded>
&lt;p&gt;&lt;a href=&quot;https://coliss.com/articles/build-websites/operation/css/about-css-owl-selector.html&quot;&gt;Read this post in Japanese&lt;/a&gt;. &lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;In Every Layout, we wrote about &lt;a href=&quot;https://every-layout.dev/layouts/stack/&quot;&gt;The Stack&lt;/a&gt;. It’s a marriage of &lt;a href=&quot;https://alistapart.com/article/axiomatic-css-and-lobotomized-owls/&quot;&gt;Heydon’s Lobotomised Owl selector&lt;/a&gt; and my &lt;a href=&quot;https://24ways.org/2018/managing-flow-and-rhythm-with-css-custom-properties/&quot;&gt;method of managing Flow and Rhythm with CSS Custom Properties&lt;/a&gt;.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.stack &amp;gt; * + * {
  margin-block-start: 1.5rem;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Let’s break the selector down: every &lt;strong&gt;direct sibling&lt;/strong&gt; &lt;strong&gt;child&lt;/strong&gt; element of &lt;code&gt;.stack&lt;/code&gt; has &lt;code&gt;margin-block-start&lt;/code&gt; added to it. This is achieved by the &lt;a href=&quot;https://alistapart.com/article/axiomatic-css-and-lobotomized-owls/&quot;&gt;Lobotomised Owl selector&lt;/a&gt;, but the &lt;code&gt;&amp;gt;&lt;/code&gt; combinator is added to prevent margin being added recursively. In writing modes that are left-to-right or right-to-left—such as English or Arabic—the margin is added to the top of the element.&lt;/p&gt;



&lt;p&gt;I’ve been obsessed with this particular snippet for &lt;em&gt;years&lt;/em&gt; now, and in recent years, I’ve enhanced it further with the flow utility:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.flow &amp;gt; * + * {
  margin-block-start: var(--flow-space, 1em);
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;As you can see, this is very similar to &lt;a href=&quot;https://every-layout.dev/layouts/stack/&quot;&gt;The Stack&lt;/a&gt;. The only difference aside from the name, is the use of &lt;a href=&quot;https://andy-bell.co.uk/getting-started-with-css-custom-properties/&quot;&gt;Custom Properties&lt;/a&gt;—specifically the fallback value.&lt;/p&gt;



&lt;h2&gt;How fallback values work in CSS Custom Properties&lt;/h2&gt;



&lt;p&gt;If you try to grab a &lt;a href=&quot;https://andy-bell.co.uk/getting-started-with-css-custom-properties/&quot;&gt;CSS Custom Property&lt;/a&gt; value that hasn’t been defined, the initial or inherited value will be used instead, but if the Custom Property is invalid and you don’t provide a fallback, &lt;a href=&quot;https://matthiasott.com/notes/css-custom-properties-fail-without-fallback&quot;&gt;it’ll fail&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;In the context of the &lt;code&gt;.flow&lt;/code&gt; utility, this would be pretty bad, because if you’ve removed element’s default margin, &lt;a href=&quot;https://andy-bell.co.uk/a-modern-css-reset/&quot;&gt;like I do in a reset&lt;/a&gt;, you could end up with no space at all.&lt;/p&gt;



&lt;p&gt;The fallback value for &lt;code&gt;.flow&lt;/code&gt; gives us two benefits:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;There’s a sensible fallback for if &lt;code&gt;--flow-space&lt;/code&gt; is accidentally set as an invalid value&lt;/li&gt;



&lt;li&gt;If &lt;code&gt;--flow-space&lt;/code&gt; doesn’t exist, the &lt;code&gt;margin-top-value&lt;/code&gt; will be &lt;code&gt;1em&lt;/code&gt;, which will be relative to the element’s computed font size&lt;/li&gt;
&lt;/ol&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;530&quot; src=&quot;https://andy-bell.imgix.net/2023/02/flow-default-1024x530.jpg&quot; alt=&quot;Diagram shows the variable space between elements because it is based on 1em: a relative size&quot; srcset=&quot;https://andy-bell.imgix.net/2023/02/flow-default-1024x530.jpg 1024w, https://andy-bell.imgix.net/2023/02/flow-default-300x155.jpg 300w, https://andy-bell.imgix.net/2023/02/flow-default-768x397.jpg 768w, https://andy-bell.imgix.net/2023/02/flow-default-1536x795.jpg 1536w, https://andy-bell.imgix.net/2023/02/flow-default-2048x1060.jpg 2048w&quot; /&gt;&lt;figcaption&gt;The space is 1em by default, so if the font size is larger, there will be more space. This is a handy way of maintaining flow and rhythm if you’re using a type scale. &lt;/figcaption&gt;&lt;/figure&gt;



&lt;h2&gt;Why do I use flow over The Stack?&lt;/h2&gt;



&lt;p&gt;I get asked this &lt;em&gt;a lot&lt;/em&gt; and it’s a valid question. The reason is twofold.&lt;/p&gt;



&lt;p&gt;Firstly, I use this utility &lt;strong&gt;everywhere&lt;/strong&gt; on projects. At &lt;a href=&quot;https://set.studio&quot;&gt;our studio&lt;/a&gt;, it is in every project we do, and probably will be forever. The reason is that because we use &lt;a href=&quot;https://utopia.fyi/&quot;&gt;fluid type and fluid space&lt;/a&gt;, the &lt;code&gt;.flow&lt;/code&gt; utility’s flexible, fallback-based setup works in harmony with our methodology of &lt;a href=&quot;https://www.youtube.com/watch?v=5uhIiI9Ld5M&quot;&gt;letting the browser do all the hard work for us&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;Secondly, in contexts like prose content (often long-form content like this article), we like to manage how certain HTML elements space themselves. For example, we might want to reduce the space of elements that directly follow headings and increase the space around &lt;code&gt;figure&lt;/code&gt; elements. &lt;/p&gt;



&lt;p&gt;This snippet is from this site you’re looking at now:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.prose :is(h2 + *, h3 + *, h4 + *) {
  --flow-space: var(--space-s);
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;What the snippet does is:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;Look for elements that directly follow a &lt;code&gt;h2&lt;/code&gt;, &lt;code&gt;h3&lt;/code&gt; or &lt;code&gt;h4&lt;/code&gt;. &lt;/li&gt;



&lt;li&gt;Assign &lt;code&gt;--flow-space&lt;/code&gt; with the small item from the &lt;a href=&quot;https://utopia.fyi/space/calculator?c=320,18,1.2,1240,20,1.25,5,2,&amp;amp;s=0.75%7C0.5%7C0.25,1.5%7C2%7C3%7C4%7C6,s-l&amp;amp;g=s,l,xl,12&quot;&gt;spacing scale&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;As for &lt;code&gt;.prose&lt;/code&gt; itself, I’ve set the following:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.prose {
  --flow-space: var(--space-m-l);
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;By default, I tend to leave &lt;code&gt;--flow-space&lt;/code&gt; as undefined, but in &lt;code&gt;.prose&lt;/code&gt; contexts, I like a nice chunky bit of space between elements, so because Custom Properties are &lt;a href=&quot;https://css-tricks.com/a-complete-guide-to-custom-properties/#h-using-the-cascade&quot;&gt;affected by specificity and the cascade&lt;/a&gt;, I create that more specific value.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;530&quot; src=&quot;https://andy-bell.imgix.net/2023/02/flow-controlled-1024x530.jpg&quot; alt=&quot;The same as the last diagram, but this time the space is equal, because it&apos;s based on 2.5rem&quot; srcset=&quot;https://andy-bell.imgix.net/2023/02/flow-controlled-1024x530.jpg 1024w, https://andy-bell.imgix.net/2023/02/flow-controlled-300x155.jpg 300w, https://andy-bell.imgix.net/2023/02/flow-controlled-768x397.jpg 768w, https://andy-bell.imgix.net/2023/02/flow-controlled-1536x795.jpg 1536w, https://andy-bell.imgix.net/2023/02/flow-controlled-2048x1060.jpg 2048w&quot; /&gt;&lt;figcaption&gt;With the spacing value used for &lt;code&gt;--flow-space&lt;/code&gt;—which computes to around &lt;code&gt;2.5rem&lt;/code&gt;—we get consistent space between every element.&lt;/figcaption&gt;&lt;/figure&gt;



&lt;h2&gt;Why use margin and not gap?&lt;/h2&gt;



&lt;p&gt;Again, I get asked this &lt;em&gt;a lot&lt;/em&gt;. I remember when Safari finally pulled their finger out with &lt;code&gt;gap&lt;/code&gt;, I sent Heydon a message saying we should make &lt;strong&gt;everything&lt;/strong&gt; on &lt;a href=&quot;https://every-layout.dev/&quot;&gt;Every Layout&lt;/a&gt; &lt;code&gt;gap&lt;/code&gt;, which we were rather excited about. While we were putting actual thought into the second edition—which introduced &lt;code&gt;gap&lt;/code&gt; to the layouts—we quickly realised we didn’t want to change &lt;a href=&quot;https://every-layout.dev/layouts/stack/&quot;&gt;The Stack&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;This was partly down to the fact that in order to use &lt;code&gt;gap&lt;/code&gt;, we would have to make The Stack, either a flex or grid parent. This could cause all sorts of problems for people that grabbed the layout and dropped it in existing projects. This makes up a very large portion of the people who use Every Layout in the real world.&lt;/p&gt;



&lt;p&gt;Along with that, all of the control is put on the parent and not the elements themselves. Back in the context of &lt;code&gt;.flow&lt;/code&gt; and &lt;code&gt;--flow-space&lt;/code&gt; with a fallback value: this wouldn’t be possible with &lt;code&gt;gap&lt;/code&gt;. This is because &lt;code&gt;gap&lt;/code&gt; is set on the parent (&lt;code&gt;.flow&lt;/code&gt;) and &lt;a href=&quot;https://web.dev/learn/css/spacing/#grid-and-flexbox&quot;&gt;controls the space between child elements&lt;/a&gt;. The parent is in complete control and the child elements have no say in what &lt;code&gt;gap&lt;/code&gt; is at any given moment.&lt;/p&gt;



&lt;p&gt;Lastly, along with the flexibility of letting &lt;code&gt;--flow-space&lt;/code&gt; be affected by the cascade, and if it’s not set, letting &lt;code&gt;.flow&lt;/code&gt; inherit spacing values from the child element it affects. The other key reason I don’t like to use &lt;code&gt;gap&lt;/code&gt; is &lt;a href=&quot;https://andy-bell.co.uk/css-logical-properties/&quot;&gt;Logical Properties&lt;/a&gt;. I personally want everything we build at &lt;a href=&quot;https://set.studio/&quot;&gt;the studio&lt;/a&gt; to use Logical Properties as much as possible, because you get much better multi-language and reading mode support out of the box. They’re really well supported now, too!&lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;I honestly should have retired after making this iteration of &lt;code&gt;.flow&lt;/code&gt;:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.flow &amp;gt; * + * {
    margin-block-start: var(--flow-space, 1em);
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Especially now that we use that and the rest of the layouts from &lt;a href=&quot;https://every-layout.dev/&quot;&gt;Every Layout&lt;/a&gt; at &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt;. We’re essentially just colouring in front-ends at this point—apart from the odd occasion when we create a complex specific layout, where we use CSS grid layout to its full potential.&lt;/p&gt;



&lt;p&gt;The main reason I’ve written this post though, is to send people to it when they ask why I use &lt;code&gt;.flow&lt;/code&gt; or use &lt;code&gt;margin&lt;/code&gt;, but also, I hope you’ve seen how damn powerful CSS Custom Properties are. They’re certainly more than just CSS variables, that’s for sure.&lt;/p&gt;
</content:encoded></item><item><title>Twitter API unknowns</title><link>https://bell.bz/twitter-api-unknowns/</link><guid isPermaLink="true">https://bell.bz/twitter-api-unknowns/</guid><pubDate>Fri, 03 Feb 2023 10:09:24 GMT</pubDate><content:encoded>
&lt;p&gt;You may or may not have realised that I post only via my blog to Twitter now because that place is hell, &lt;em&gt;but&lt;/em&gt; I recently started using &lt;a href=&quot;https://front.com/&quot;&gt;Front&lt;/a&gt; again so I could get DMs etc as an inbox of sorts. As frustrating as it is, I get a lot of opportunities via Twitter &lt;em&gt;still&lt;/em&gt;, which I can’t ignore. &lt;/p&gt;



&lt;p&gt;Front is bloody great. I tried it a few years ago when Twitter was getting on my nerves and it worked well. I just couldn’t really justify the cost then. &lt;/p&gt;



&lt;p&gt;The problem now is that next week, Twitter are removing free access to their API. It’s going to have huge consequences for bots, login with twitter controls and of course, &lt;a href=&quot;https://fedifinder.glitch.me/&quot;&gt;Fedifinder&lt;/a&gt; (use it now while you can).&lt;/p&gt;



&lt;p&gt;I really hope Front won’t be affected with this incoming change. It feels like a decent solution until Twitter inevitably succumbs to the whims of its petulant man-child owner. &lt;/p&gt;



&lt;p&gt;I guess we’ll all see what happens next week…&lt;/p&gt;
</content:encoded></item><item><title>How the CSS box-sizing property works</title><link>https://bell.bz/how-the-css-box-sizing-property-works/</link><guid isPermaLink="true">https://bell.bz/how-the-css-box-sizing-property-works/</guid><pubDate>Wed, 01 Feb 2023 12:19:26 GMT</pubDate><content:encoded>
&lt;p&gt;To celebrate &lt;a href=&quot;https://css-tricks.com/international-box-sizing-awareness-day/&quot;&gt;International Box Sizing day—first celebrated by Chris Coyier&lt;/a&gt;—I thought I’d write a run-down of how the &lt;code&gt;box-sizing&lt;/code&gt; property works. It’s one of the first things to trip you up when you’re learning CSS, so hopefully, this’ll be useful for those folks.&lt;/p&gt;



&lt;p&gt;If there’s ever one really important thing to remember when writing CSS: it’s that &lt;strong&gt;everything displayed by CSS is a box&lt;/strong&gt;. Regardless of how an element looks visually, it’s still a box.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;504&quot; src=&quot;https://andy-bell.imgix.net/2023/02/box-1024x504.png&quot; alt=&quot;A dashed box with a circle in it&quot; srcset=&quot;https://andy-bell.imgix.net/2023/02/box-1024x504.png 1024w, https://andy-bell.imgix.net/2023/02/box-300x148.png 300w, https://andy-bell.imgix.net/2023/02/box-768x378.png 768w, https://andy-bell.imgix.net/2023/02/box-1536x756.png 1536w, https://andy-bell.imgix.net/2023/02/box-2048x1008.png 2048w&quot; /&gt;&lt;figcaption&gt;Even when an element has 100% border-radius, the browser treats it as a box as demonstrated by the dashed border&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;Take the above example: it’s visually a circle—by proxy of &lt;a href=&quot;https://css-tricks.com/almanac/properties/b/border-radius/&quot;&gt;border-radius&lt;/a&gt;—but it’s still a box, as far as the browser is concerned.&lt;/p&gt;



&lt;p&gt;This is really important to remember when you’re working with CSS, but what’s even more important is understanding how these boxes are both sized and how they interact with their surrounding, sibling boxes.&lt;/p&gt;



&lt;h2&gt;Padding, borders and the content box&lt;/h2&gt;



&lt;p&gt;When we add padding and borders to an element: by default, their &lt;strong&gt;values will be combined with the computed &lt;code&gt;width&lt;/code&gt; and &lt;code&gt;height&lt;/code&gt;&lt;/strong&gt;. This is because the &lt;strong&gt;&lt;code&gt;width&lt;/code&gt; is applied to the content box&lt;/strong&gt; in the default box model. This can be confusing—especially when you are first starting out with CSS.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.box {
  width: 100px;
  padding: 10px;
  border: 10px solid;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;598&quot; src=&quot;https://andy-bell.imgix.net/2023/02/content-box-1024x598.png&quot; alt=&quot;Width is applied to the content box, but because padding box and border box values are included, the bleed over the edges&quot; srcset=&quot;https://andy-bell.imgix.net/2023/02/content-box-1024x598.png 1024w, https://andy-bell.imgix.net/2023/02/content-box-300x175.png 300w, https://andy-bell.imgix.net/2023/02/content-box-768x448.png 768w, https://andy-bell.imgix.net/2023/02/content-box-1536x897.png 1536w, https://andy-bell.imgix.net/2023/02/content-box-2048x1196.png 2048w&quot; /&gt;&lt;figcaption&gt;The width, padding and border contributing to a 140px computed value even though 100px of width is applied &lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;What happens here is your box’s computed width is actually calculated as &lt;strong&gt;140px&lt;/strong&gt;. This is because each side of the &lt;strong&gt;border box&lt;/strong&gt; is 10px (20px combined), and each side of the &lt;strong&gt;padding box&lt;/strong&gt; is 10px (20px combined). The width of the box only accounts for these &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/inline-size&quot;&gt;inline sizes&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;This is how the &lt;a href=&quot;https://web.dev/learn/css/box-model/&quot;&gt;box model&lt;/a&gt; works, out of the box (pun intended), and it’s expected behaviour. Most of the time though, it’s preferable for this not to be the case, so we add this little snippet of CSS to give us some more sizing predictability:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.box {
  box-sizing: border-box;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This completely transforms the browser’s calculation because what it says is “Take the dimensions that I specified and also account for the padding and border too, instead of adding them to the size”. What you get as a result, is a box that’s &lt;strong&gt;100px wide&lt;/strong&gt;, instead of &lt;strong&gt;140px wide&lt;/strong&gt;, just like you specified when you set &lt;code&gt;width&lt;/code&gt; to &lt;strong&gt;100px&lt;/strong&gt;!&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;598&quot; src=&quot;https://andy-bell.imgix.net/2023/02/border-box-1024x598.png&quot; alt=&quot;Combined border box, padding box and content box makes the size of the box, 100px&quot; srcset=&quot;https://andy-bell.imgix.net/2023/02/border-box-1024x598.png 1024w, https://andy-bell.imgix.net/2023/02/border-box-300x175.png 300w, https://andy-bell.imgix.net/2023/02/border-box-768x448.png 768w, https://andy-bell.imgix.net/2023/02/border-box-1536x897.png 1536w, https://andy-bell.imgix.net/2023/02/border-box-2048x1196.png 2048w&quot; /&gt;&lt;figcaption&gt;The fixed box with a predictable width. The lighter border shows the computed width when you don’t have box-sizing: border-box.&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;The most effective way of showing you this is with a demo. In this demo—which I made when I wrote the &lt;a href=&quot;https://web.dev/learn/css/&quot;&gt;Learn CSS course&lt;/a&gt;—the box model parts are labelled. When you toggle the &lt;code&gt;box-sizing: border-box&lt;/code&gt; switch to &lt;strong&gt;on&lt;/strong&gt;, the &lt;strong&gt;content box&lt;/strong&gt;, &lt;strong&gt;padding box&lt;/strong&gt; and &lt;strong&gt;border box&lt;/strong&gt; values are effectively ingested by the content box, because the &lt;code&gt;width&lt;/code&gt; property is &lt;strong&gt;applied to the border box, rather than the content box&lt;/strong&gt;.&lt;/p&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;p&gt;Most folks add the &lt;code&gt;box-sizing&lt;/code&gt; rule as a global selector to &lt;a href=&quot;https://andy-bell.co.uk/a-modern-css-reset/&quot;&gt;a reset&lt;/a&gt;, or default normalising styles, so to demonstrate a more complete example, this is how our CSS now looks:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* Reset rule */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Box component */
.box {
  width: 100px;
  padding: 10px;
  border: 10px solid;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;What this example does is instead of just targeting the box with &lt;code&gt;box-sizing&lt;/code&gt;, it targets every element on the page and any &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/Pseudo-elements&quot;&gt;pseudo-elements&lt;/a&gt;. This means that everything you add to a page, you can guarantee that your boxes will be the sizes that you think they are. Setting global styles like this is a great way to keep your CSS as simple as possible, because that’s how it’s designed to work.&lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;You can read more on box sizing over on MDN, where there is some &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/box-sizing&quot;&gt;very good documentation&lt;/a&gt;. You can also read the &lt;a href=&quot;https://web.dev/learn/css/box-model/&quot;&gt;box model lesson from the CSS course I wrote&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;Setting &lt;code&gt;box-sizing: border-box&lt;/code&gt; is such a life saver for front-end developers. The days of CSS before &lt;code&gt;box-sizing: border-box&lt;/code&gt; arrived were very frustrating days indeed, so hopefully now you know how it works, sizing elements in CSS will be much less frustrating.&lt;/p&gt;
</content:encoded></item><item><title>The Artist In The Ambulance – Revisited</title><link>https://bell.bz/the-artist-in-the-ambulance-revisited/</link><guid isPermaLink="true">https://bell.bz/the-artist-in-the-ambulance-revisited/</guid><pubDate>Wed, 01 Feb 2023 10:27:09 GMT</pubDate><content:encoded>
&lt;p&gt;My favourite band, Thrice, have revisited my &lt;strong&gt;all time favourite album&lt;/strong&gt;, The Artist In The Ambulance. It’s bloody marvellous! &lt;/p&gt;



&lt;p&gt;It’s so good to hear this album, but more in the style of modern Thrice.&lt;/p&gt;



&lt;figure&gt;&lt;div&gt;

&lt;/div&gt;&lt;/figure&gt;
</content:encoded></item><item><title>Speed for who?</title><link>https://bell.bz/speed-for-who/</link><guid isPermaLink="true">https://bell.bz/speed-for-who/</guid><pubDate>Tue, 31 Jan 2023 14:55:02 GMT</pubDate><content:encoded>
&lt;p&gt;Frameworks are often touted as something like “a lightning fast development experience” and that’s fine I guess, but the speed is in the wrong hands. Why not “a lightning fast experience for your users”? &lt;/p&gt;



&lt;p&gt;Sure, some frameworks will claim to be very fast for end-users with some very meticulously, massaged data to “prove” that, but as Zach points out in &lt;a href=&quot;https://www.zachleat.com/web/javascript-community/&quot;&gt;this great post&lt;/a&gt;, it means nothing when the output bundle sizes are astronomical off the bat: &lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;Well, wait. When you’re straddling the divide, you know that &lt;a href=&quot;https://www.zachleat.com/twitter/1534588439580090368/&quot;&gt;Remix&lt;/a&gt; (67.7 kB compressed) and &lt;a href=&quot;https://www.zachleat.com/twitter/1584995586918731776/&quot;&gt;Next.js&lt;/a&gt; (90 kB compressed) have not meaningfully reduced their bundle sizes at all. Measurement reveals that bundles are growing: Next.js was &lt;a href=&quot;https://www.zachleat.com/twitter/1468419834501337088&quot;&gt;72.2 kB compressed in 2021&lt;/a&gt;.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;I’ve always found the focus on developer experience as a framework feature uncomfortable. The focus is all in the wrong place: spoiled developers vs people trying to use your website/app. I personally think developer experience is one of the least important aspects.&lt;/p&gt;



&lt;p&gt;When I’ve mentioned that before, I often get a response like “yeh but because developer experience is better, we can do good work for users, faster”, but I’m yet to actually see that happening. Instead I see fad-chasing, like single page applications (SPAs), blockchain and now “AI” like Copilot and ChatGPT…&lt;/p&gt;



&lt;p&gt;If a framework actually came along with a pure focus on user experience and thoroughly optimised output—something like a 99% reduction in output JavaScript vs current frameworks—I would be interested. As Dave pointed out in this article, &lt;a href=&quot;https://daverupert.com/2023/01/so-you-want-to-make-a-new-js-framework/&quot;&gt;that goes against the new framework trend&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;Only recently too, the head-honcho of Vercel—who are responsible for the monstrously large output generating framework—Next.js, tweeted this rather cryptic tweet: &lt;/p&gt;



&lt;figure&gt;&lt;div&gt;
&lt;div&gt;&lt;blockquote&gt;&lt;p&gt;SPAs were a zero interest rate phenomenon&lt;/p&gt;— Guillermo Rauch (@rauchg) &lt;a href=&quot;https://twitter.com/rauchg/status/1619492334961569792?ref_src=twsrc%5Etfw&quot;&gt;January 29, 2023&lt;/a&gt;&lt;/blockquote&gt;&lt;/div&gt;
&lt;/div&gt;&lt;/figure&gt;



&lt;p&gt;I personally think this is broetry that really translates to “remember how we consistently said that SPAs are much better and faster than real HTML pages? Guess what, we were actually grifting our framework and now we’re going to go against that original grift with a different grift for the same framework”. &lt;/p&gt;



&lt;p&gt;I dunno, maybe I’m being salty, but it’s justified saltiness. I actually &lt;strong&gt;genuinely care about users&lt;/strong&gt;, you see. It’s why I &lt;em&gt;constantly&lt;/em&gt; prattle on about progressive enhancement. Mainly, that makes everyone’s experience better, but the most important thing for me is that &lt;strong&gt;data is expensive.&lt;/strong&gt; &lt;/p&gt;



&lt;p&gt;Sure, if you’re based in San Francisco and you go to your adult daycare—sorry, I mean startup office—with ultra high-speed broadband: that 90 kB baseline compressed output might not feel like a lot, but what about if you live in Saint Helena? At the time of writing, a gigabyte of data there &lt;a href=&quot;https://www.cable.co.uk/mobiles/worldwide-data-pricing/#pricing&quot;&gt;costs around $41 USD&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;Your initial response to that might be “there’s a lot of kilobytes in a gigabyte”, and yes, you’re right, but there’s also a horrendous amount of framework-powered sites that could be HTML and CSS. Also, remember 90 kB is the framework’s default compressed output. Absolutely shoddy stuff. &lt;/p&gt;



&lt;p&gt;You might also be tempted to say “our users only live in ‘developed countries&apos;” (god I hate that term), but that’s like saying “&lt;a href=&quot;https://andy-bell.co.uk/most-of-our-users-are-on-desktop/&quot;&gt;all of our users are on desktop&lt;/a&gt;“. It’s also a piss-poor excuse for not building for everyone. &lt;/p&gt;



&lt;p&gt;I guess what I’m winding up to say here is developer experience really isn’t important—especially when frameworks haven’t even got the absolute baseline experience anywhere near where it needs to be to service a &lt;strong&gt;world wide web&lt;/strong&gt;. A &lt;strong&gt;world wide web&lt;/strong&gt; that’s accessed with slow, expensive connections and cheap, underperforming hardware. How about taking a bit of “DX” on the chin to focus instead on “why are we using this framework that potentially excludes the majority of users?”.&lt;/p&gt;



&lt;p&gt;As Alex says: &lt;a href=&quot;https://infrequently.org/2022/12/performance-baseline-2023/&quot;&gt;a lost decade&lt;/a&gt;. I couldn’t agree with that sentiment more, to be honest.&lt;/p&gt;
</content:encoded></item><item><title>Animated Set Studio Logo</title><link>https://bell.bz/animated-set-studio-logo/</link><guid isPermaLink="true">https://bell.bz/animated-set-studio-logo/</guid><pubDate>Mon, 30 Jan 2023 14:02:40 GMT</pubDate><content:encoded>
&lt;p&gt;&lt;a href=&quot;https://amitsh.com/&quot;&gt;Amit Sheen&lt;/a&gt; made this amazing animated version of &lt;a href=&quot;https://set.studio&quot;&gt;my agency&lt;/a&gt;‘s logo. It’s cool as hell! &lt;/p&gt;



&lt;p&gt;You should &lt;a href=&quot;https://codepen.io/amit_sheen&quot;&gt;check out their other stuff too&lt;/a&gt;. They’re super talented. &lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;https://codepen.io/amit_sheen/pen/gOjzgBL&quot;&gt;https://codepen.io/amit_sheen/pen/gOjzgBL&lt;/a&gt;&lt;/p&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;
</content:encoded></item><item><title>Jotter</title><link>https://bell.bz/jotter/</link><guid isPermaLink="true">https://bell.bz/jotter/</guid><pubDate>Mon, 30 Jan 2023 11:25:25 GMT</pubDate><content:encoded>
&lt;p&gt;Nearly 3 years ago, I made a &lt;a href=&quot;https://jotter.space&quot;&gt;little Progressive Web App&lt;/a&gt; (PWA) with a simple goal. I wanted a web-based version of &lt;a href=&quot;https://tyke.app/&quot;&gt;Tyke&lt;/a&gt;. It’s the simplest Mac app ever: a text box that pops out of your menu bar so you can take quick notes.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;512&quot; src=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-10.52.45@2x-1024x512.jpg&quot; alt=&quot;A little textbox app popping out of my menu bar with the text &amp;quot;I bloody love this&amp;quot; &quot; srcset=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-10.52.45@2x-1024x512.jpg 1024w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-10.52.45@2x-300x150.jpg 300w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-10.52.45@2x-768x384.jpg 768w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-10.52.45@2x.jpg 1368w&quot; /&gt;&lt;figcaption&gt;Tyke in action&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;I didn’t like that Tyke was native only and a rather small window too, so I created &lt;a href=&quot;https://jotter.space&quot;&gt;Jotter&lt;/a&gt; back in October 2019.&lt;/p&gt;



&lt;p&gt;All it is, is a &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt; that &lt;strong&gt;if JavaScript is available &lt;/strong&gt;(not when, &lt;em&gt;if&lt;/em&gt;), a little app kicks in and syncs the content of that &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt; with local storage. &lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;666&quot; src=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-10.57.12@2x-1024x666.jpg&quot; alt=&quot;The jotter app in a browser window&quot; srcset=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-10.57.12@2x-1024x666.jpg 1024w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-10.57.12@2x-300x195.jpg 300w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-10.57.12@2x-768x499.jpg 768w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-10.57.12@2x-1536x999.jpg 1536w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-10.57.12@2x-2048x1332.jpg 2048w&quot; /&gt;&lt;figcaption&gt;Jotter in action&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;For those interested, this is the &lt;code&gt;app.js&lt;/code&gt; in all its glory: &lt;/p&gt;



&lt;pre&gt;&lt;code&gt;import Content from &apos;./components/content.js&apos;;

class App {
  constructor() {
    this.today = new Date();
    this.todayLabel = document.querySelector(&apos;[for=&quot;jotterDay&quot;]&apos;);
    this.weekLabel = document.querySelector(&apos;[for=&quot;jotterWeek&quot;]&apos;);
    this.contentInstance = new Content();
    this.themeToggle = document.querySelector(&apos;[data-element=&quot;theme-toggle&quot;]&apos;);
    this.jotterInstances = document.querySelectorAll(&apos;[data-element=&quot;jotter&quot;]&apos;);

    // Show the button now that the JS is ready
    this.themeToggle.removeAttribute(&apos;hidden&apos;);

    // Set todays date on day label
    this.todayLabel.innerText = `Day notes (${this.today.toLocaleDateString(
      navigator.languages ? navigator.languages[0] : &apos;en-GB&apos;,
      {
        weekday: &apos;long&apos;,
        year: &apos;numeric&apos;,
        month: &apos;long&apos;,
        day: &apos;numeric&apos;,
      }
    )})`;

    // Set week number on week notes
    // Logic nicked from here: https://gist.github.com/IamSilviu/5899269
    if (this.weekLabel) {
      const firstOfJan = new Date(this.today.getFullYear(), 0, 1);
      this.weekLabel.innerText = `Week notes (Week ${
        Math.ceil(((this.today - firstOfJan) / 86400000 + firstOfJan.getDay() + 1) / 7) - 1
      })`;
    }

    // Run the initial content application and the listener
    this.applyContent();
    this.listen();

    // Set theme auto-apply and toggle apply
    this.applyTheme();
    this.themeToggle.addEventListener(&apos;click&apos;, () =&amp;gt; {
      this.applyTheme(true);
    });

    // Prevent save shortcut
    document.addEventListener(
      &apos;keydown&apos;,
      function (e) {
        if ((window.navigator.platform.match(&apos;Mac&apos;) ? e.metaKey : e.ctrlKey) &amp;amp;&amp;amp; e.keyCode == 83) {
          e.preventDefault();
        }
      },
      false
    );
  }

  // Listens for the jotter box content changes and applies to local storage accordingly
  listen() {
    this.jotterInstances.forEach((jotter) =&amp;gt; {
      jotter.addEventListener(&apos;input&apos;, () =&amp;gt; {
        this.contentInstance.save(jotter.getAttribute(&apos;data-id&apos;), jotter.value);
      });
    });

    // If content changes in another tab, sync it up
    window.addEventListener(&apos;storage&apos;, (evt) =&amp;gt; {
      const {isTrusted} = evt;

      if (!isTrusted) {
        return;
      }

      this.applyContent();
    });

    // Toggle focus attribute on body when jotter is focused or blurred
    this.jotterInstances.forEach((jotter) =&amp;gt;
      jotter.addEventListener(&apos;focus&apos;, () =&amp;gt; document.body.setAttribute(&apos;data-state&apos;, &apos;focus&apos;))
    );
    this.jotterInstances.forEach((jotter) =&amp;gt;
      jotter.addEventListener(&apos;blur&apos;, () =&amp;gt; document.body.removeAttribute(&apos;data-state&apos;))
    );
  }

  // Loads the content from the conten interface and applies it
  applyContent() {
    this.jotterInstances.forEach(
      (jotter) =&amp;gt; (jotter.value = this.contentInstance.load(jotter.getAttribute(&apos;data-id&apos;)))
    );
  }

  // Apply the dark mode or light mode and optionally store in localStorage
  applyTheme(store = false) {
    let currentSetting = localStorage.getItem(&apos;user-color-scheme&apos;);

    // No storage found, so try to parse from CSS
    if (!currentSetting) {
      currentSetting = getComputedStyle(document.documentElement).getPropertyValue(&apos;--color-mode&apos;);

      if (currentSetting.length) {
        currentSetting = currentSetting.replace(/\&quot;|&apos;/g, &apos;&apos;).trim();
        localStorage.setItem(&apos;user-color-scheme&apos;, currentSetting);
      }
    }

    // Store in localStorage if required
    if (store) {
      const reverseSetting = currentSetting === &apos;dark&apos; ? &apos;light&apos; : &apos;dark&apos;;

      localStorage.setItem(&apos;user-color-scheme&apos;, reverseSetting);

      // Apply the reversed setting to HTML element and toggle button
      document.documentElement.setAttribute(&apos;data-user-color-scheme&apos;, reverseSetting);
      this.themeToggle.innerText = reverseSetting === &apos;dark&apos; ? &apos;Light mode&apos; : &apos;Dark mode&apos;;
    } else {
      // Apply current setting setting to HTML element and toggle button
      document.documentElement.setAttribute(&apos;data-user-color-scheme&apos;, currentSetting);
      this.themeToggle.innerText = currentSetting === &apos;dark&apos; ? &apos;Light mode&apos; : &apos;Dark mode&apos;;
    }
  }
}

const appInstance = new App();&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Good ol’ vanilla JavaScript with no build step. It runs like a dream and Just Works™.&lt;/p&gt;



&lt;p&gt;I only added one “major feature” since then: the ability to have weekly and daily notes next to each other: &lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;666&quot; src=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-11.11.24@2x-1024x666.jpg&quot; alt=&quot;The same jotter app, but now it has two text boxes for week and day notes.&quot; srcset=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-11.11.24@2x-1024x666.jpg 1024w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-11.11.24@2x-300x195.jpg 300w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-11.11.24@2x-768x499.jpg 768w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-11.11.24@2x-1536x999.jpg 1536w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-30-at-11.11.24@2x-2048x1332.jpg 2048w&quot; /&gt;&lt;figcaption&gt;Weekly notes in action&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;This is the key point of this post, really. Because I kept the tech stack super simple &lt;strong&gt;and &lt;/strong&gt;built with progressive enhancement at the &lt;strong&gt;forefront&lt;/strong&gt;, I barely ever have to touch it any more. I shipped a little update today, a &lt;a href=&quot;https://jotter.space/simple/&quot;&gt;simple view with no visible labels&lt;/a&gt;, which is the first time I’ve touched it since 2021! &lt;/p&gt;



&lt;p&gt;It’s also a good case study of keeping things simple and then maintaining that attitude. Jotter doesn’t ever need to do anything more complex than it already does. Hell, it would be nice to have some sort of storage sync, but I think until browsers sync local storage with your other devices, it’ll just stay local because I really don’t want to add a complex build step or back-end.&lt;/p&gt;



&lt;p&gt;The best thing about Jotter is that I know that whenever I need to make some notes, it will be there—ready—and it’ll work, because if all else fails, it’s just a humble little &lt;code&gt;&amp;lt;textarea&amp;gt;&lt;/code&gt;. I’d honestly say its the work I’m most proud of in my entire near 15 year career as a designer and developer because of this.&lt;/p&gt;



&lt;p&gt;So, if you need a quick web-based notepad that’ll always be there for you: give &lt;a href=&quot;https://jotter.space&quot;&gt;Jotter&lt;/a&gt; a try today! &lt;/p&gt;



&lt;p&gt; &lt;/p&gt;
</content:encoded></item><item><title>Don’t snark on people who are learning</title><link>https://bell.bz/dont-snark-on-people-who-are-learning/</link><guid isPermaLink="true">https://bell.bz/dont-snark-on-people-who-are-learning/</guid><pubDate>Thu, 26 Jan 2023 14:57:39 GMT</pubDate><content:encoded>
&lt;p&gt;I saw a post on mastodon snarking at “the current state of web development” and it was a screenshot of &lt;a href=&quot;https://www.reddit.com/r/webdev/comments/10l8xdd/why_do_nested_h1_get_progressively_larger/&quot;&gt;a forum&lt;/a&gt; where someone was asking why nested &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt;s got progressively bigger, with a code sample that looked like this:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;export default function Home() {
  return (
    &amp;lt;&amp;gt;
      &amp;lt;h1&amp;gt;
        test
        &amp;lt;h1&amp;gt;test2
          &amp;lt;h1&amp;gt;test3&amp;lt;/h1&amp;gt;
        &amp;lt;/h1&amp;gt;
      &amp;lt;/h1&amp;gt;
    &amp;lt;/&amp;gt;
  )
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;There’s two things going on here: nesting headings &lt;a href=&quot;https://html.spec.whatwg.org/multipage/sections.html#the-h1,-h2,-h3,-h4,-h5,-and-h6-elements&quot;&gt;is not allowed, as per the spec&lt;/a&gt;. Only &lt;a href=&quot;https://html.spec.whatwg.org/multipage/dom.html#phrasing-content-2&quot;&gt;phrasing content&lt;/a&gt; is allowed; not &lt;a href=&quot;https://html.spec.whatwg.org/multipage/dom.html#heading-content&quot;&gt;heading content&lt;/a&gt;, which a heading falls under.&lt;/p&gt;



&lt;p&gt;The second point is that the user agent styles (styles that a browser ships with) will size headings using &lt;code&gt;em&lt;/code&gt; units. An &lt;code&gt;em&lt;/code&gt; unit is a &lt;a href=&quot;https://every-layout.dev/rudiments/units/&quot;&gt;relative unit&lt;/a&gt; that is a ratio of its parent’s size. For example, say the computed size of a heading’s text was &lt;code&gt;30px&lt;/code&gt; and the child element had a &lt;code&gt;font-size&lt;/code&gt; of &lt;code&gt;2em&lt;/code&gt;, it would be computed as &lt;code&gt;60px&lt;/code&gt;. This is why the user’s headings kept growing and growing, because each nested item was adding to the ratio each time.&lt;/p&gt;



&lt;p&gt;See, that wasn’t hard was it? Straightforward, explanations. &lt;/p&gt;



&lt;p&gt;I get the feeling that when folks see some JSX, like the code example above, they presume that the person writing the code is “learning in the wrong way”. There is no right way to learn. &lt;strong&gt;There never has been&lt;/strong&gt;. &lt;/p&gt;



&lt;p&gt;Everyone comes into development from different backgrounds, skill-levels &lt;em&gt;and&lt;/em&gt; technologies. Some will learn HTML first, which yes, is &lt;em&gt;ideal&lt;/em&gt;, but since when was anything in the real world ideal? Development is a very sought-after skill, so naturally, bootcamps will train users to match industry demand: AKA, JavaScript frameworks. &lt;/p&gt;



&lt;p&gt;The point I’m making is instead of getting your snark on, help people learn instead. I’m extra sensitive to this because I’m training someone up at the moment, and damn, we take for granted &lt;strong&gt;a lot&lt;/strong&gt; of “expected” knowledge and appreciation of the “right way” that straight-up doesn’t exist for a beginner.&lt;/p&gt;



&lt;p&gt;Remember your roots, essentially. &lt;/p&gt;
</content:encoded></item><item><title>Update to Build Excellent Websites</title><link>https://bell.bz/update-to-build-excellent-websites/</link><guid isPermaLink="true">https://bell.bz/update-to-build-excellent-websites/</guid><pubDate>Thu, 26 Jan 2023 13:31:51 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve just added a little update to our Build Excellent Websites site: &lt;a href=&quot;https://buildexcellentwebsit.es&quot;&gt;https://buildexcellentwebsit.es&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;It now has a link to &lt;a href=&quot;https://andy-bell.co.uk/be-the-browsers-mentor-not-its-micromanager/&quot;&gt;one of the versions of the talk I did&lt;/a&gt; about it, where I broke down how I designed and built that site and how you can improve the websites you build by &lt;strong&gt;letting the browser have more control&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;It’s also got a &lt;a href=&quot;https://glitch.com/edit/#!/build-excellent-websites&quot;&gt;link to the source code&lt;/a&gt; in the footer, so if you want to mess around and play with it, it’s ready and waiting for you! &lt;/p&gt;
</content:encoded></item><item><title>Looking for a small project for our Junior Developer</title><link>https://bell.bz/looking-for-a-small-project-for-our-junior-developer/</link><guid isPermaLink="true">https://bell.bz/looking-for-a-small-project-for-our-junior-developer/</guid><pubDate>Tue, 24 Jan 2023 15:39:39 GMT</pubDate><content:encoded>
&lt;p&gt;I don’t know if you know already, but at my agency—&lt;a href=&quot;https://set.studio&quot;&gt;Set Studio&lt;/a&gt;—we hired a junior developer—&lt;a href=&quot;https://liridon.dev&quot;&gt;Liridon&lt;/a&gt;—who &lt;strong&gt;we are training from scratch&lt;/strong&gt;. They’d never written a single line of code before December 2022, but are already &lt;em&gt;flying&lt;/em&gt; with their internal training!&lt;/p&gt;



&lt;p&gt;Right now, we are training them up with a collection of courses and small internal projects which is fine, but I know they’ll learn the most from &lt;strong&gt;a real life client project&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;We are looking for a smaller-scale project for them to complete, with the rest of the team&lt;/strong&gt;. Right now, most of our client work is way too big and complex to introduce a junior of their experience to. We’d hate for that to end up reducing their confidence. We feel like a smaller-scale project would be a great first one for them to do for the agency because of this. &lt;/p&gt;



&lt;p&gt;Liridon is currently specialising in front-end development. Mainly HTML, CSS and JavaScript. We’re also going to get them into working with static site generators like Eleventy and CMSs like WordPress and Sanity.&lt;/p&gt;



&lt;p&gt;The ideal project for Liridon would be a &lt;strong&gt;small to medium website&lt;/strong&gt;. Even a one-pager, like a conference site would be incredibly useful for them. The key is limited scope that would benefit from some world-class design.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;891&quot; src=&quot;https://andy-bell.imgix.net/2023/01/collage-1024x891.jpg&quot; alt=&quot;A collection of client projects in desktop and mobile viewports as a collage&quot; srcset=&quot;https://andy-bell.imgix.net/2023/01/collage-1024x891.jpg 1024w, https://andy-bell.imgix.net/2023/01/collage-300x261.jpg 300w, https://andy-bell.imgix.net/2023/01/collage-768x668.jpg 768w, https://andy-bell.imgix.net/2023/01/collage-1536x1336.jpg 1536w, https://andy-bell.imgix.net/2023/01/collage.jpg 1538w&quot; /&gt;&lt;figcaption&gt;We’ve already made some pretty cool stuff at Set and are building Liridon up to being able to make stunning front-ends, just like these&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;Of course, this project would be done at an &lt;strong&gt;extremely reduced rate&lt;/strong&gt; because as we all know from starting out, there will be rough edges. I’m confident that what Liridon, and the rest of the Set Team will deliver at the end will be stunning, though. This would be an ideal project for a startup that maybe didn’t think they had the budget for an agency to work on their project.&lt;/p&gt;



&lt;p&gt;If this sounds good, I’d love to hear from you to chat things over in more detail at &lt;strong&gt;andy@set.studio&lt;/strong&gt;&lt;/p&gt;
</content:encoded></item><item><title>Improving “likes” on my site</title><link>https://bell.bz/improving-likes-on-my-site/</link><guid isPermaLink="true">https://bell.bz/improving-likes-on-my-site/</guid><pubDate>Mon, 23 Jan 2023 14:39:01 GMT</pubDate><content:encoded>
&lt;p&gt;I recently &lt;a href=&quot;https://andy-bell.co.uk/most-of-our-users-are-on-desktop/&quot;&gt;published an article&lt;/a&gt; that got quite a bit of attention and it resulted in a lot of “likes” at the bottom of the page. I pull likes from Mastodon, Twitter and anyone who posts a webmention “like” to my site.&lt;/p&gt;



&lt;p&gt;First of all the block was ridiculously large…&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;708&quot; src=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.10.07@2x-1024x708.jpg&quot; alt=&quot;A massive block avatar images with a heading, &apos;likes (882)&amp;quot;. &quot; srcset=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.10.07@2x-1024x708.jpg 1024w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.10.07@2x-300x207.jpg 300w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.10.07@2x-768x531.jpg 768w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.10.07@2x-1536x1061.jpg 1536w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.10.07@2x-2048x1415.jpg 2048w&quot; /&gt;&lt;figcaption&gt;A ridiculous wall of faces&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;Secondly, this particular post was loading around &lt;strong&gt;40mb of images&lt;/strong&gt; to render those likes 😱&lt;/p&gt;



&lt;h2&gt;The fix &lt;/h2&gt;



&lt;p&gt;The first part was leaning in to &lt;a href=&quot;https://web.dev/browser-level-image-lazy-loading/&quot;&gt;HTML’s built in lazy loading capability&lt;/a&gt;. This way, the browser only loads the images if they are in, or near the viewport boundary (depending on browser):&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;&amp;lt;img loading=&quot;lazy&quot; src=&quot;&amp;lt;?= $avatar; ?&amp;gt;&quot; alt=&quot;&amp;lt;?= $like-&amp;gt;comment_author ?&amp;gt;&quot; /&amp;gt;&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Next, I got my sketch on. The idea for display logic was:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;If there are more than 15 comments, render a &lt;code&gt;&amp;lt;details&amp;gt;&lt;/code&gt; element, with the &lt;code&gt;&amp;lt;summary&lt;/code&gt;&amp;gt; being an overview of the comments &lt;/li&gt;



&lt;li&gt;If not, render the comments as they are &lt;/li&gt;
&lt;/ol&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;660&quot; src=&quot;https://andy-bell.imgix.net/2023/01/Untitled_Artwork-1024x660.png&quot; alt=&quot;A rough sketch that shows a closed state with the text &amp;quot;Liked by lorem ipsum and 60 others&amp;quot;.

The second state is the open state with the same text, but the wall of avatars now visible.&quot; srcset=&quot;https://andy-bell.imgix.net/2023/01/Untitled_Artwork-1024x660.png 1024w, https://andy-bell.imgix.net/2023/01/Untitled_Artwork-300x193.png 300w, https://andy-bell.imgix.net/2023/01/Untitled_Artwork-768x495.png 768w, https://andy-bell.imgix.net/2023/01/Untitled_Artwork-1536x990.png 1536w, https://andy-bell.imgix.net/2023/01/Untitled_Artwork.png 1723w&quot; /&gt;&lt;figcaption&gt;My rough sketch in procreate&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;With the sketch done, I had some HTML and PHP logic to write: &lt;/p&gt;



&lt;pre&gt;&lt;code&gt;&amp;lt;?php if(count($likes) &amp;gt; 15): ?&amp;gt;
  &amp;lt;details&amp;gt;
    &amp;lt;summary&amp;gt;
      &amp;lt;span&amp;gt;Liked by &amp;lt;?= $likes[0]-&amp;gt;comment_author; ?&amp;gt;, &amp;lt;?= $likes[1]-&amp;gt;comment_author; ?&amp;gt;, &amp;lt;?= $likes[2]-&amp;gt;comment_author; ?&amp;gt; and &amp;lt;strong&amp;gt;&amp;lt;?= count($likes) - 3; ?&amp;gt; others&amp;lt;/strong&amp;gt;&amp;lt;/span&amp;gt;
    &amp;lt;/summary&amp;gt;
    &amp;lt;!-- Avatars go here --&amp;gt;
  &amp;lt;/details&amp;gt;
&amp;lt;?php else: ?&amp;gt;
  &amp;lt;div class=&quot;sidebar&quot;&amp;gt;
    &amp;lt;h3 class=&quot;text-base&quot;&amp;gt;Liked by&amp;lt;/h3&amp;gt;
    &amp;lt;div&amp;gt;
      &amp;lt;!-- Avatars go here --&amp;gt;
    &amp;lt;/div&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;?php endif; ?&amp;gt;&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This renders the &lt;code&gt;&amp;lt;details&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;summary&amp;gt;&lt;/code&gt; if there are more than 15 comments, or renders the original &lt;code&gt;&amp;lt;h3&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;ul&amp;gt;&lt;/code&gt; of likes, but this time, I use &lt;a href=&quot;https://every-layout.dev/layouts/sidebar/&quot;&gt;The Sidebar from Every Layout &lt;/a&gt; to render the heading inline with list.&lt;/p&gt;



&lt;p&gt;Styling up the the &lt;code&gt;&amp;lt;details&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;summary&amp;gt;&lt;/code&gt; smells like global CSS, &lt;a href=&quot;https://andy-bell.co.uk/cube-css/&quot;&gt;using the CUBE CSS principles&lt;/a&gt;, so I added this CSS as high up as I could: &lt;/p&gt;



&lt;pre&gt;&lt;code&gt;summary {
  display: flex;
  align-items: baseline;
  line-height: 1.2;
  gap: 0 1ch;
  cursor: pointer;
  list-style: none;
}

summary:hover,
summary:focus-visible {
  color: var(--color-primary-shade);
}

summary::before {
  content: &apos;+&apos;;
  display: block;
  color: var(--color-primary);
  line-height: 0.5;
  margin-inline-start: -2ch;
  transform: scale(1.4);
  transform-origin: right bottom;
}

[open] summary::before {
  content: &apos;—&apos;;
}

/* Hide default marker */
summary::-webkit-details-marker,
summary::marker {
  content: &apos;&apos;;
  display: none;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This renders either a &lt;code&gt;+&lt;/code&gt; or &lt;code&gt;—&lt;/code&gt; depending on the closed and open state. A fun trick is because I’m using a monospaced font, I can use &lt;code&gt;ch&lt;/code&gt; units for &lt;code&gt;gap&lt;/code&gt; and &lt;code&gt;margin-inline-start&lt;/code&gt;, to get a nice negative indent, just like I do with headings on this site too. &lt;/p&gt;



&lt;p&gt;Also, this is why I’m using &lt;code&gt;transform&lt;/code&gt; to scale the symbol, because then, the &lt;code&gt;ch&lt;/code&gt; unit is still predictable. If I sized it with &lt;code&gt;font-size&lt;/code&gt;, there’d be weird in-between sizes, so I’d have to do &lt;code&gt;margin-inline-start: -1.6ch;&lt;/code&gt; or something.&lt;/p&gt;



&lt;p&gt;The last neat CSS trick was this: &lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.comments .sidebar {
  --sidebar-target-width: max-content;
  --gutter: var(--space-xs);
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;I modified &lt;a href=&quot;https://every-layout.dev/layouts/sidebar/&quot;&gt;The Sidebar&lt;/a&gt; slightly by making it completely configurable with CSS Custom Properties:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.sidebar {
  display: flex;
  flex-wrap: wrap;
  gap: var(--gutter, var(--space-s-l));
}

.sidebar &amp;gt; :first-child {
  flex-basis: var(--sidebar-target-width, 20rem);
  flex-grow: 1;
}

.sidebar &amp;gt; :last-child {
  flex-basis: 0;
  flex-grow: 999;
  min-width: var(--sidebar-content-min-width, 50%);
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Because our heading is the first child, I can use &lt;code&gt;max-content&lt;/code&gt; to set the &lt;code&gt;--sidebar-target-width&lt;/code&gt;, which means it’ll only ever be as big as the text itself. Lovely stuff. &lt;/p&gt;



&lt;p&gt;And with all that, we get the finished products:&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;221&quot; src=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.31.16@2x-1024x221.jpg&quot; alt=&quot;A heading of &amp;quot;responses&amp;quot;, followed by a toggle that reads &amp;quot;like by Jon Baldwin, riz, Lucas Mallmann and 970 others&amp;quot;&quot; srcset=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.31.16@2x-1024x221.jpg 1024w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.31.16@2x-300x65.jpg 300w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.31.16@2x-768x165.jpg 768w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.31.16@2x-1536x331.jpg 1536w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.31.16@2x.jpg 1866w&quot; /&gt;&lt;figcaption&gt;The details and summary view &lt;/figcaption&gt;&lt;/figure&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;204&quot; src=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.31.32@2x-1024x204.jpg&quot; alt=&quot;A heading of responses, then on the left, it reads &amp;quot;Liked by&amp;quot;. On the right is 12 avatar images rendered side-by-side&quot; srcset=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.31.32@2x-1024x204.jpg 1024w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.31.32@2x-300x60.jpg 300w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.31.32@2x-768x153.jpg 768w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.31.32@2x-1536x306.jpg 1536w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-23-at-14.31.32@2x.jpg 1850w&quot; /&gt;&lt;figcaption&gt;The standard view with the sidebar&lt;/figcaption&gt;&lt;/figure&gt;
</content:encoded></item><item><title>“Most of our users are on Desktop”</title><link>https://bell.bz/most-of-our-users-are-on-desktop/</link><guid isPermaLink="true">https://bell.bz/most-of-our-users-are-on-desktop/</guid><pubDate>Sun, 22 Jan 2023 09:32:23 GMT</pubDate><content:encoded>
&lt;p&gt;Whenever someone says “our analytics tell us most users are on desktop”, I always think of this diagram.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;763&quot; src=&quot;https://andy-bell.imgix.net/2023/01/082b3482-dae7-4f43-bfef-ad2df9d9ff87-6032-000004251053ba17_file-1024x763.jpg&quot; alt=&quot;Illustration of hypothetical damage pattern on a WW2 bomber.&quot; srcset=&quot;https://andy-bell.imgix.net/2023/01/082b3482-dae7-4f43-bfef-ad2df9d9ff87-6032-000004251053ba17_file-1024x763.jpg 1024w, https://andy-bell.imgix.net/2023/01/082b3482-dae7-4f43-bfef-ad2df9d9ff87-6032-000004251053ba17_file-300x224.jpg 300w, https://andy-bell.imgix.net/2023/01/082b3482-dae7-4f43-bfef-ad2df9d9ff87-6032-000004251053ba17_file-768x572.jpg 768w, https://andy-bell.imgix.net/2023/01/082b3482-dae7-4f43-bfef-ad2df9d9ff87-6032-000004251053ba17_file.jpg 1280w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;Back in WW2 they wanted to work out why planes were being shot down, so when planes returned, they noted where the bullet holes were most present, with a view to further protecting those areas on the plane.&lt;/p&gt;



&lt;p&gt;On the surface, that checks out right? But what they missed was &lt;strong&gt;these were the planes that returned. &lt;/strong&gt;Planes that got shot in the engines (notice how the engines have no dots on the diagram) never returned. They missed out this crucial pattern because they were looking at the data all wrong. &lt;/p&gt;



&lt;p&gt;It’s classic &lt;a href=&quot;https://en.wikipedia.org/wiki/Survivorship_bias&quot;&gt;survivorship bias.&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Anyway, how is this related to &lt;strong&gt;“most of our users are on Desktop”?&lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;Yes, your analytics may skew towards desktop usage, but is that actually accurate? Is your site super slow on mobile devices? Does it even work on mobile devices? Do mobile users land on your non-optimised site and bounce out to a competitor before your analytics load?&lt;/p&gt;



&lt;p&gt;Sure, some sites are desktop only, but while &lt;a href=&quot;https://gs.statcounter.com/platform-market-share/desktop-mobile-tablet&quot;&gt;mobile usage continues to grow and desktop continues to fall&lt;/a&gt;, it makes sense to at least dig deeper to make sure you know why you have more desktop usage.&lt;/p&gt;
</content:encoded></item><item><title>Tinkering</title><link>https://bell.bz/tinkering/</link><guid isPermaLink="true">https://bell.bz/tinkering/</guid><pubDate>Sat, 21 Jan 2023 09:41:22 GMT</pubDate><content:encoded>
&lt;p&gt;The thing I love the most about my personal site is just tinkering away at it over time.&lt;/p&gt;



&lt;p&gt;I wanted to put a little box at the end of proper posts—y’know like css stuff—so if someone liked reading it, the could see about me and the agency.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1145&quot; height=&quot;1705&quot; src=&quot;https://andy-bell.imgix.net/2023/01/img_0137-edited.jpg&quot; alt=&quot;A blue box that reads: 👋 Hello, I’m Andy and I’ll help you build fast &amp;amp; visually stunning websites.
I’m the founder of Set Studio, a creative agency that specialises in building stunning websites that work for everyone. If you’ve got a project in mind, get in touch.&quot; srcset=&quot;https://andy-bell.imgix.net/2023/01/img_0137-edited.jpg 1145w, https://andy-bell.imgix.net/2023/01/img_0137-edited-201x300.jpg 201w, https://andy-bell.imgix.net/2023/01/img_0137-edited-688x1024.jpg 688w, https://andy-bell.imgix.net/2023/01/img_0137-edited-768x1144.jpg 768w, https://andy-bell.imgix.net/2023/01/img_0137-edited-1032x1536.jpg 1032w&quot; /&gt;&lt;figcaption&gt;My new little box&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;I only wanted to show it only if my post was in a couple of defined categories, so I slung a bit of PHP and HTML together:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;&amp;lt;?php
  $allowedCount = array_filter(get_the_category(), function($cat) {
    $allowedCategories = [&apos;CSS&apos;, &apos;Agency&apos;, &apos;Design&apos;, &apos;Development&apos;];
    return in_array($cat-&amp;gt;name, $allowedCategories);
  });
?&amp;gt;
&amp;lt;?php if(count($allowedCount) &amp;gt; 0): ?&amp;gt;
  &amp;lt;div class=&quot;bg-primary-glare p-m flow&quot;&amp;gt;
    &amp;lt;p&amp;gt;👋 Hello, I’m Andy and I’ll help you build fast &amp;amp; visually stunning websites.&amp;lt;/p&amp;gt;
    &amp;lt;p&amp;gt;I’m the founder of &amp;lt;a href=&quot;https://set.studio&quot;&amp;gt;Set Studio&amp;lt;/a&amp;gt;, a creative agency that specialises in building stunning websites that work for &amp;lt;strong&amp;gt;everyone&amp;lt;/strong&amp;gt;. If you’ve got a project in mind, &amp;lt;a href=&quot;mailto:andy@set.studio&quot;&amp;gt;get in touch&amp;lt;/a&amp;gt;.&amp;lt;/p&amp;gt;
  &amp;lt;/div&amp;gt;
  &amp;lt;hr /&amp;gt;
&amp;lt;?php endif; ?&amp;gt;&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;I added a utility class or two and job done! A nice little box that only shows on the right sort of posts.&lt;/p&gt;
</content:encoded></item><item><title>I’ve decided to let this blog post to Twitter</title><link>https://bell.bz/ive-decided-to-let-this-blog-post-to-twitter/</link><guid isPermaLink="true">https://bell.bz/ive-decided-to-let-this-blog-post-to-twitter/</guid><pubDate>Thu, 19 Jan 2023 11:03:13 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve &lt;a href=&quot;https://andy-bell.co.uk/free-of-the-bird/&quot;&gt;bailed on Twitter since Elon Musk took over&lt;/a&gt; and have no plans to return there as an active user. I do genuinely believe it is in decline, but I’ve also accumulated a heck of a following there over the last few years. &lt;/p&gt;



&lt;p&gt;A lot of people haven’t come over to Mastodon either (you should, it’s great), and now I’m getting back into writing some proper content, I thought it wouldn’t hurt to let this blog post out there automatically. Jetpack makes that easy and I know a lot of folks still rely on Twitter to discover posts (RSS is great for that, pals).&lt;/p&gt;



&lt;p&gt;I’m justifying this as a perfectly good use of the &lt;a href=&quot;https://indieweb.org/POSSE&quot;&gt;POSSE: &lt;strong&gt;Publish (on your) Own Site, Syndicate Elsewhere&lt;/strong&gt;&lt;/a&gt;. Elon Musk doesn’t deserve content, but as I see it, I’m just posting links to my content that I own. &lt;/p&gt;



&lt;p&gt;Now I’ve had a long period of time away from Twitter, I’m less resolute to boycott it, but I also don’t want to go back there because the mental health benefits of not being on the hell site have been incredible. This new outlook feels like a happy medium until the eventual downfall of Twitter. I also don’t regret &lt;a href=&quot;https://tweets.andy-bell.co.uk/&quot;&gt;deleting my tweets and creating my own archive of them&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;The beauty of POSSE is that when stuff gets beyond bad on Twitter, all I have to do is turn a checkbox off on &lt;strong&gt;my website&lt;/strong&gt;. I’m in control of that: not a petulant man-child Billionaire.&lt;/p&gt;



&lt;p&gt;What I won’t do is respond to comments on Twitter though. I absolutely do not want to go back there, so if you want to discuss stuff, pop a comment on my actual blog instead! &lt;/p&gt;
</content:encoded></item><item><title>Front-end is so much more than building designs</title><link>https://bell.bz/front-end-is-so-much-more-than-building-designs/</link><guid isPermaLink="true">https://bell.bz/front-end-is-so-much-more-than-building-designs/</guid><pubDate>Wed, 18 Jan 2023 18:00:38 GMT</pubDate><content:encoded>
&lt;p&gt;I was unfortunately made aware of &lt;a href=&quot;https://twitter.com/adamwathan/status/1613720517865013248&quot;&gt;this tweet&lt;/a&gt; today and it felt like a blast from the past. Y’know what I’m talking about: the old days when you’d get a PSD from a designer and build it. It’s a real simplistic way of looking at front-end development so I thought I’d jot down what I do in that situation, hypothetically in definitely not a sub-tweet fashion. &lt;/p&gt;



&lt;p&gt;To be clear, I am very much a designer who happened to get into front-end, so I guess I approach things differently than most. Also, I very rarely build things—let alone design them. These days I spend way more time doing pre-production work and spreadsheets, running my &lt;a href=&quot;https://set.studio&quot;&gt;agency&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;Still, maybe this will be useful to someone. &lt;/p&gt;



&lt;h2&gt;Hypothetical scenario: A high-fidelity design is plopped on my desk and I’m asked to build it&lt;/h2&gt;



&lt;p&gt;First up on this one: I’d straight-up not do this now because a hell of a lot of steps have been missed, but let’s persist with winding the clock back a few years. Let’s also say this is from scratch, greenfield stuff. Not an existing codebase.&lt;/p&gt;



&lt;h3&gt;Getting started&lt;/h3&gt;



&lt;p&gt;I’d start by printing out the mockups. You heard me correct: I would &lt;em&gt;print them out.&lt;/em&gt;&lt;/p&gt;



&lt;p&gt;Then, I’d grab a couple of different colour pens:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;One for landmarks (&lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; etc)&lt;/li&gt;



&lt;li&gt;One for flow markup (headings, paragraphs etc)&lt;/li&gt;



&lt;li&gt;One for layouts: straight-up divs that I’d need to wrap around content &lt;/li&gt;



&lt;li&gt;One for pushback &lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;I’d start with pushback—especially if there’s some show-stoppers in there. This &lt;strong&gt;will &lt;/strong&gt;happen too because if a high fidelity mockup has just been put together without planning and circular communication between developers, designers, project managers and clients/stakeholders then there will be massive oversights. &lt;/p&gt;



&lt;p&gt;Examples of pushback could be a complicated interaction that would be simplified with content strategy or content that follows no logical order, but looks nice, visually. Oh, of course, lots of pushback on the small grey text that would undoubtedly be present…&lt;/p&gt;



&lt;p&gt;Ok, so let’s say the designer has done another pass now and I think we’ve got something cooking. It’s probably not perfect, but we’re ready to go (with a fresh print-out). &lt;/p&gt;



&lt;h3&gt;Landmarks &lt;/h3&gt;



&lt;p&gt;I grab my landmark pen and draw boxes (&lt;a href=&quot;https://web.dev/learn/css/box-model/#:~:text=Everything%20displayed%20by%20CSS%20is%20a%20box.%20Understanding%20how%20the%20CSS%20Box%20Model%20works%20is%20therefore%20a%20core%20foundation%20of%20CSS.&quot;&gt;everything is a box on the web&lt;/a&gt;), making sure I get my &lt;code&gt;&amp;lt;header&amp;gt;&lt;/code&gt;, &lt;code&gt;&amp;lt;nav&amp;gt;&lt;/code&gt;(s), &lt;code&gt;&amp;lt;main&amp;gt;&lt;/code&gt; and &lt;code&gt;&amp;lt;footer&amp;gt;&lt;/code&gt; down first. Then I break content into &lt;code&gt;&amp;lt;articles&amp;gt;&lt;/code&gt; and so-on.&lt;/p&gt;



&lt;h3&gt;Flow markup &lt;/h3&gt;



&lt;p&gt;With the main boxes in place, I start annotating the page with flow content. I start with headings: making sure a sensible heading hierarchy is in place. Then I move onto paragraphs, lists and so-on. After this point, we’ve got most of the core markup planned out. &lt;/p&gt;



&lt;h3&gt;Layouts &lt;/h3&gt;



&lt;p&gt;Time to get layout on. These days, that’s a solved problem most of the time because of &lt;a href=&quot;https://every-layout.dev/&quot;&gt;Every Layout&lt;/a&gt;, but that doesn’t exist in the past, so I determine where flex can be useful and where grid can be useful. Remember these have had almost full browser support for over half a decade (even longer in flexbox’s case). For this exercise, I again, draw boxes and annotate them. &lt;/p&gt;



&lt;h2&gt;Time to build &lt;/h2&gt;



&lt;p&gt;With the plan in place, it’s time to write some gosh-darn semantic HTML. It’s a case of working through the printed plan in the same order I annotated it. By the end of this part, there should be a &lt;strong&gt;fully functional webpage &lt;/strong&gt;that you could deploy right there and then. Progressive enhancement, baby! &lt;/p&gt;



&lt;p&gt;Only at &lt;strong&gt;this point &lt;/strong&gt;does any CSS more complicated than basic layout cross my mind. I’ve certainly not considered frameworks, that’s for sure. With a solid foundation of HTML already written, it would be a shame to then pollute that with more right? &lt;/p&gt;



&lt;p&gt;Guess what, it’s time to go back to the printer, but this time, I get a pair of scissors out and cut out all the patterns and all the stuff I detect as global CSS. This helps me to organise and structure the CSS that’s about to be written and &lt;strong&gt;gives me precious time to actually think&lt;/strong&gt; about what to name blocks and what to push up as high as possible in the CSS. &lt;/p&gt;



&lt;p&gt;Then you know, maybe at this point, I’ve detected that some utility classes will be useful. I’ve also got a plan for what &lt;a href=&quot;https://cube.fyi/&quot;&gt;blocks, compositions and exceptions&lt;/a&gt; need to be written (but remember CUBE doesn’t exist yet, so let’s say we’re using BEM). &lt;/p&gt;



&lt;p&gt;Only at this point do I feel ready to write a single line of CSS. &lt;/p&gt;



&lt;h2&gt;Going slow is fast &lt;/h2&gt;



&lt;p&gt;I guess the point I’m making in a way here is that I could never win a “dev race” because it takes me ages to even get to the point of writing code and that’s been the case for a lot of years now. The benefit to being like this though is &lt;strong&gt;I get to put out fires before they even start&lt;/strong&gt;. If I’m racing along trying to write code as fast as possible, I’m gonna start plenty of fires instead. Short-terms gains with &lt;strong&gt;lots of long term pain &lt;/strong&gt;comes from racing through code.&lt;/p&gt;



&lt;p&gt;I’ve been doing this web thing a long time and let me tell you, I’ve started a lot of fires in that time. Only by starting those fires have I developed into a more experienced designer and developer who knows the danger signs and importantly, learned the value of working slowly and methodically. The irony is that I’d probably ship something of acceptable quality quicker than someone who is focussed on “dev speed”.&lt;/p&gt;



&lt;p&gt;Flinging myself back to the present day and into my role at &lt;a href=&quot;https://set.studio&quot;&gt;Set Studio&lt;/a&gt;, no high fidelity design is happening before there’s been a shit-load of planning and shaping of the work. A designer certainly wouldn’t fling a high-fidelity design at a developer either, like our hypothetical example. &lt;/p&gt;



&lt;p&gt;Those folks are instead, working hand-in-hand with each other right from sketches, to prototypes, to lush high-fidelity output. That way, even more fires get put out before they even start!&lt;/p&gt;
</content:encoded></item><item><title>Dear email marketers</title><link>https://bell.bz/dear-email-marketers/</link><guid isPermaLink="true">https://bell.bz/dear-email-marketers/</guid><pubDate>Tue, 17 Jan 2023 16:39:15 GMT</pubDate><content:encoded>
&lt;p&gt;Dear email marketers, &lt;/p&gt;



&lt;p&gt;I can confirm that I didn’t “unsubscribe by mistake” when I clicked your 8px, low contrast unsubscribe link, buried at the bottom of the email. It would be a miracle for anyone to click that by mistake—let alone find it in the first place.&lt;/p&gt;



&lt;p&gt;Lots of love,&lt;br /&gt;Andy&lt;/p&gt;
</content:encoded></item><item><title>Line heights in CSS work better with ratios</title><link>https://bell.bz/line-heights-in-css-work-better-with-ratios/</link><guid isPermaLink="true">https://bell.bz/line-heights-in-css-work-better-with-ratios/</guid><pubDate>Mon, 16 Jan 2023 17:26:44 GMT</pubDate><content:encoded>
&lt;p&gt;Say you’ve got this CSS and you need to set a nice, compact line height:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;h1 {
    font-size: 40px;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;You open up the designer’s static design and it says the line height should be 44px. Easy peasy, right?&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;h1 {
    font-size: 40px;
    line-height: 44px;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Technically, yeh: easy peasy. Let’s take a look at how that looks.&lt;/p&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;p&gt;Now let’s say the font size needs to be changed to &lt;code&gt;80px&lt;/code&gt; instead. How does that look now?&lt;/p&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;p&gt;Pretty crappy, right?&lt;/p&gt;



&lt;p&gt;“Just change the line height again”, I hear from the distance. Yeh, but what if the line height wasn’t set in the same rule as the font size? You’re gonna get disconnect where you really don’t need to.&lt;/p&gt;



&lt;h2&gt;Step up, ratio-based line height.&lt;/h2&gt;



&lt;p&gt;I’d say three good ways to do this would be:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;Unitless line height, like this: &lt;code&gt;line-height: 1.1&lt;/code&gt;&lt;/li&gt;



&lt;li&gt;Em-based line height, like this: &lt;code&gt;line-height: 1.1em&lt;/code&gt;&lt;/li&gt;



&lt;li&gt;Percentage-based line-height, like this: &lt;code&gt;line-height: 110%&lt;/code&gt;&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;I’d also say it’s a good idea to use a relative unit to size the text while you’re there to give the browser—and more importantly—the user more control. Let’s pick a &lt;code&gt;rem&lt;/code&gt; unit, which will be based off the user’s system font size, which if not set by the user, will be around &lt;code&gt;16px&lt;/code&gt;.&lt;/p&gt;



&lt;p&gt;That switches our original CSS to this:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;h1 {
    font-size: 2.5rem; /* 40 divided by 16 */
    line-height: 2.75rem; /* 44 divided by 16 */
}&lt;/code&gt;&lt;/pre&gt;



&lt;hr /&gt;



&lt;p&gt;Be wary of using &lt;code&gt;em&lt;/code&gt; and &lt;code&gt;%&lt;/code&gt; because the computed value is passed down to descendants. &lt;a href=&quot;http://meyerweb.com/eric/thoughts/2006/02/08/unitless-line-heights/&quot;&gt;This article by Eric Meyer&lt;/a&gt; is a really good explainer. In short, I always recommend unitless if you want predictability&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;If we change the line-height to &lt;strong&gt;my preferred approach&lt;/strong&gt;: unitless, the CSS now looks like this:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;h1 {
    font-size: 2.5rem;
    line-height: 1.1;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Now, if the font-size was to change to something like &lt;code&gt;5rem&lt;/code&gt; (or 80px in the old way), that line height would change automatically with it and always be in proportion with the text.&lt;/p&gt;



&lt;p&gt;Check out this demo and play with the font-size slider. You can also turn ratio-based line-height off to really see the improvement.&lt;/p&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;h2&gt;Why though?&lt;/h2&gt;



&lt;p&gt;Good question!&lt;/p&gt;



&lt;p&gt;Setting very specific values may feel like you’re in more control, but you’re &lt;strong&gt;actually rescinding control by introducing fragility in the form of overly-specific CSS&lt;/strong&gt;. The web is flexible and not at-all specific and we have no idea what the setup for our users is so the best approach is to &lt;strong&gt;make things as flexible as possible&lt;/strong&gt; so your &lt;a href=&quot;https://buildexcellentwebsit.es&quot;&gt;website works great for everyone&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;This is especially the case when newer techniques such as fluid typography are considered. If the font size is determined like this…&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;h1 {
    font-size: clamp(2.5rem, 10vw, 5rem);
    line-height: 1.1;
}&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;…it won’t matter what the browser computes the font size as because that &lt;strong&gt;ratio-based line height will always be proportionate&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;Handy, right?&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;Props to &lt;a href=&quot;https://front-end.social/@heydon/109642348679326971&quot;&gt;Heydon for posting about line height&lt;/a&gt; and inspiring me to write about it. &lt;/p&gt;
</content:encoded></item><item><title>Careful what you click</title><link>https://bell.bz/careful-what-you-click/</link><guid isPermaLink="true">https://bell.bz/careful-what-you-click/</guid><pubDate>Thu, 12 Jan 2023 14:11:47 GMT</pubDate><content:encoded>
&lt;p&gt;Rickrolling is educational because it teaches you not to click on &lt;a href=&quot;https://andy-bell.co.uk/got-ya/&quot;&gt;suspicious links&lt;/a&gt;. &lt;/p&gt;
</content:encoded></item><item><title>I wired up my Feedbin likes to auto-post to Mastodon</title><link>https://bell.bz/i-wired-up-my-feedbin-likes-to-auto-post-to-mastodon/</link><guid isPermaLink="true">https://bell.bz/i-wired-up-my-feedbin-likes-to-auto-post-to-mastodon/</guid><pubDate>Wed, 11 Jan 2023 17:14:20 GMT</pubDate><content:encoded>
&lt;p&gt;A cool feature about &lt;a href=&quot;https://feedbin.com/&quot;&gt;Feedbin&lt;/a&gt; is you can get an RSS feed of posts you like.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;560&quot; src=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-11-at-17.04.51@2x-1024x560.png&quot; alt=&quot;Some switches in the features section of Feedbin. At the bottom is a &amp;quot;starred article feed&amp;quot; which shows you your feed RSS and the ability to turn it on and off.&quot; srcset=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-11-at-17.04.51@2x-1024x560.png 1024w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-11-at-17.04.51@2x-300x164.png 300w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-11-at-17.04.51@2x-768x420.png 768w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-11-at-17.04.51@2x.png 1416w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;You can see my feed here: &lt;a href=&quot;https://feedbin.com/starred/91894d3eb1e30664631b3d475c213f5e.xml&quot;&gt;https://feedbin.com/starred/91894d3eb1e30664631b3d475c213f5e.xml&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;What is even cooler is that can be wired up with &lt;a href=&quot;https://ifttt.com/&quot;&gt;IFTTT&lt;/a&gt;, which in turn, posts to my Mastodon feed.&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;908&quot; src=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-11-at-17.07.44@2x-1024x908.png&quot; alt=&quot;An IFTTT applet edit screen which shows the trigger as a new feed item and the action as &amp;quot;make a web request&amp;quot;&quot; srcset=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-11-at-17.07.44@2x-1024x908.png 1024w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-11-at-17.07.44@2x-300x266.png 300w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-11-at-17.07.44@2x-768x681.png 768w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-11-at-17.07.44@2x-1536x1363.png 1536w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-11-at-17.07.44@2x-2048x1817.png 2048w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;I won’t write how to post on Mastodon with IFTTT because I have no idea what I’m doing. I &lt;a href=&quot;https://montemagno.com/automate-posting-to-mastodon-via-web-requests/&quot;&gt;followed this article instead&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;I used to use Feedbin to read tweets then hook up the starred RSS feed to a horrible Node script that found the tweet, then liked it on my behalf. That was cool too, but Twitter is dead to me now. &lt;/p&gt;



&lt;p&gt;Anyway, this is just another cool thing that RSS can do™️! &lt;/p&gt;
</content:encoded></item><item><title>Looking to expand my Mastodon feeds</title><link>https://bell.bz/looking-to-expand-my-mastodon-feeds/</link><guid isPermaLink="true">https://bell.bz/looking-to-expand-my-mastodon-feeds/</guid><pubDate>Wed, 11 Jan 2023 09:00:58 GMT</pubDate><content:encoded>
&lt;p&gt;Having a private Mastodon instance is great—I love it—but my federated timeline is quiet as hell.&lt;/p&gt;



&lt;p&gt;I’ve heard of &lt;a href=&quot;https://joinfediverse.wiki/index.php?title=Fediverse_relays&amp;amp;mobileaction=toggle_view_desktop&quot;&gt;relays&lt;/a&gt;, but I’m not sure I understand them. Am I right in thinking I’d subscribe to all the instances in the relay? Is it worth just setting up my own instead?&lt;/p&gt;



&lt;p&gt;Any help would be much appreciated, so comments are very welcome indeed 🙏&lt;/p&gt;



&lt;h2&gt;Update&lt;/h2&gt;



&lt;p&gt;Big thanks to &lt;a href=&quot;https://mo.social/@mo&quot;&gt;Mo Morgan&lt;/a&gt; for recommending &lt;a href=&quot;https://relay.fedi.buzz/&quot;&gt;this tool to me&lt;/a&gt;. It’s super easy and so far, seems to be working well 🙌&lt;/p&gt;
</content:encoded></item><item><title>For when someone asks if I’ve written about my Tailwind setup</title><link>https://bell.bz/for-when-someone-asks-if-ive-written-about-my-tailwind-setup/</link><guid isPermaLink="true">https://bell.bz/for-when-someone-asks-if-ive-written-about-my-tailwind-setup/</guid><pubDate>Fri, 06 Jan 2023 10:50:43 GMT</pubDate><content:encoded>
&lt;p&gt;I forgot that I’d written a pretty in-depth article about how I use Tailwind—as a utility class generator—not as an all-encompassing framework. A couple of people have asked me recently if I’ve written about it and I said no, because my memory is like a colander…&lt;/p&gt;



&lt;p&gt;Anyway, if you’re interested, &lt;a href=&quot;/i-used-tailwind-for-the-u-in-cube-css-and-i-liked-it&quot;&gt;here it is&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Be The Browser’s Mentor, Not Its Micromanager</title><link>https://bell.bz/be-the-browsers-mentor-not-its-micromanager/</link><guid isPermaLink="true">https://bell.bz/be-the-browsers-mentor-not-its-micromanager/</guid><pubDate>Wed, 04 Jan 2023 11:59:57 GMT</pubDate><content:encoded>
&lt;p&gt;I started last year with “I’m not going to bother speaking at conferences this year” and ended up speaking at 4…&lt;/p&gt;



&lt;p&gt;I switched up my attitude because &lt;a href=&quot;https://pinafore.social/accounts/109365887726517251&quot;&gt;Josh&lt;/a&gt; invited me to speak at the legendary &lt;a href=&quot;https://heypresents.com/conferences/2023&quot;&gt;All Day Hey! in Leeds&lt;/a&gt;. I couldn’t refuse speaking there—especially in my home city (I’m from Bradford but spent way more time in Leeds in my youth).&lt;/p&gt;



&lt;p&gt;I needed to write a new talk, so I thought I’d finally formalise what I’ve been obsessed with over the last few years: doing as little work as possible and instead, letting the browser do it for me. Browsers are smart as hell now: why do all the work yourself when they can, right? &lt;/p&gt;



&lt;p&gt;I like to do stuff with a real-life context, so I designed a website and built it. &lt;a href=&quot;https://buildexcellentwebsit.es/&quot;&gt;You can see it here&lt;/a&gt;. The original plan was to break the site down and build key sections live, but luckily, sense took over and I opted for code screenshots and video-based demos of the sections instead. &lt;/p&gt;



&lt;p&gt;The reason for this is I am an incredibly nervous speaker. You might not notice while I speak, but I am a trembling mess before and after I go on stage. Live-coding is very risky—especially when you get nerve-induced brain fog like I do. I didn’t want the added pressure and I’m so glad I did that, because showing code samples allowed me to explain them thoroughly to the audience, which I think turned out much better.&lt;/p&gt;



&lt;p&gt;Anyway, there’s no point in me describing the talk. I’ll instead link you out to the recordings of each. They all vary because I wrote the talk in a modular fashion. Events vary in how long your speaker slot is, so I wrote the talk to support multiple lengths. &lt;/p&gt;



&lt;p&gt;If there’s ever a pro tip from me, this is the one: write your talk in chunks then rehearse the shit out of it so you know how long each chunk is. Then you can show or hide those chunks in your presentation.&lt;/p&gt;



&lt;h2&gt;All Day Hey! – May 2022&lt;/h2&gt;



&lt;p&gt;The first recording is &lt;a href=&quot;https://heypresents.com/conferences/2022&quot;&gt;All Day Hey!&lt;/a&gt; where I was very fortunate to be the closing keynote. I absolutely crapped myself because I had the whole event to build up nerves (I prefer to be early in the day for this reason). I think it went well tho! &lt;/p&gt;



&lt;figure&gt;&lt;div&gt;

&lt;/div&gt;&lt;/figure&gt;



&lt;h2&gt;SmashingConf Freiburg 🇩🇪 – September 2022&lt;/h2&gt;



&lt;p&gt;The second was &lt;a href=&quot;https://smashingconf.com/freiburg-2022/&quot;&gt;SmashingConf in Freiburg&lt;/a&gt;. It was an absolute &lt;em&gt;honour&lt;/em&gt; to speak at this event. The SmashingConf series is legendary &lt;em&gt;and&lt;/em&gt; I finally got to visit Germany. A win-win. &lt;/p&gt;



&lt;figure&gt;&lt;div&gt;
https://www.youtube.com/watch?v=JqnMI1AXl6w
&lt;/div&gt;&lt;/figure&gt;



&lt;h2&gt;WDC – October 2022&lt;/h2&gt;



&lt;p&gt;I love the WDC conference. It’s organised by really good people. The event had a great community vibe and the speakers on the lineup complimented each other really well. There was lots of anti-Tory sentiment to the talks too, which was great. &lt;/p&gt;



&lt;p&gt;Content warning: swearing.&lt;/p&gt;



&lt;figure&gt;&lt;div&gt;

&lt;/div&gt;&lt;/figure&gt;



&lt;p&gt;&lt;/p&gt;



&lt;h2&gt;State Of The Browser – October 2022&lt;/h2&gt;



&lt;p&gt;This was a great event. I actually stepped in as a substitute speaker because another speaker fell ill with COVID. &lt;a href=&quot;https://code-red.uk/&quot;&gt;Dave&lt;/a&gt;, one of the organisers sent me a message while I was &lt;em&gt;on holiday&lt;/em&gt; to ask me to step in, and because I’m a big fan of that event, I was more than happy to step in. &lt;/p&gt;



&lt;p&gt;I’ll update this with a video when it’s available.&lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;What’s the takeaway from this whole thing? Well, I’m glad I went against my initial attitude of “no speaking” because I had a blast at these events. I got to hang out with pals I hadn’t seen for years and also meet some incredible people. &lt;/p&gt;



&lt;p&gt;A huge thanks to all the organisers who looked after me while I was at their event too. Special thanks to &lt;a href=&quot;https://marcthiele.com/&quot;&gt;Marc&lt;/a&gt; for rescuing me in Germany when the trains were in chaos. That was a hell of a stressful day! &lt;/p&gt;



&lt;p&gt;This year, I’ll hopefully speak at events again. I was thinking about doing more of a design talk this year, but I’m leaning towards one on client discovery processes and project planning. If that sounds like it’ll be a good fit for your event, &lt;a href=&quot;mailto:andy@set.studio&quot;&gt;give me a shout&lt;/a&gt;! &lt;/p&gt;
</content:encoded></item><item><title>Last.fm 2022 summary</title><link>https://bell.bz/last-fm-2022-summary/</link><guid isPermaLink="true">https://bell.bz/last-fm-2022-summary/</guid><pubDate>Wed, 04 Jan 2023 10:34:17 GMT</pubDate><content:encoded>
&lt;p&gt;My &lt;a href=&quot;https://www.last.fm/user/andyvirus/listening-report/year&quot;&gt;2022 Last.fm year in music dropped&lt;/a&gt; on New Year’s day and I’ve &lt;em&gt;finally&lt;/em&gt; gotten around to giving it a look today. &lt;/p&gt;



&lt;p&gt;I made a conscious effort to scrobble more last year, hooking it up with Spotify, Mac and using Open Scrobbler to scrobble vinyl listening. It’s made a big difference because my scrobbles were up 47% vs last year. &lt;a href=&quot;https://www.last.fm/user/andyvirus/library?from=1640995200&amp;amp;to=1672531200&quot;&gt;A tidy 12,785 scrobbles&lt;/a&gt;!&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;329&quot; src=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-04-at-10.26.03@2x-1024x329.png&quot; alt=&quot;A timeline chart showing my listening trends for genres. I&apos;ll go in detail later in the post, but rock and hip hop feature the most&quot; srcset=&quot;https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-04-at-10.26.03@2x-1024x329.png 1024w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-04-at-10.26.03@2x-300x96.png 300w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-04-at-10.26.03@2x-768x247.png 768w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-04-at-10.26.03@2x-1536x493.png 1536w, https://andy-bell.imgix.net/2023/01/CleanShot-2023-01-04-at-10.26.03@2x-2048x658.png 2048w&quot; /&gt;&lt;figcaption&gt;My listening trends for genre&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;The thing I’m most interested in though, is my listening trends—especially with genre. I have a very eclectic taste in music, but hip-hop and rock-based genres underpin it.&lt;/p&gt;



&lt;p&gt;What’s interesting about the genres—when I look back over what I was doing in the year—is that I tend to lean into rock/metal and post-hardcore when I’m generally in a bad mood. The first three months last year were fucking hard work and I was on a particularly awful project, so this checks out. A lol addition of Disney in January there too, which is probably when I was obsessively listening to the Encanto soundtrack (a certified banger). &lt;/p&gt;



&lt;p&gt;Hip-hop has definitely featured the most over the year—especially that heck-of-a-run from May to September. I’d definitely say I’ve enjoyed hip-hop the most last year and as far as 2023 goes, that’s staying too. &lt;/p&gt;



&lt;p&gt;I’m making another conscious effort to listen to more music this year too, so it’ll be interesting to see what changes in my 2023 year in music. &lt;/p&gt;



&lt;p&gt;You can &lt;a href=&quot;https://www.last.fm/user/andyvirus/listening-report/year&quot;&gt;see the whole run-down here&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Wrapping up 2022</title><link>https://bell.bz/wrapping-up-2022/</link><guid isPermaLink="true">https://bell.bz/wrapping-up-2022/</guid><pubDate>Sat, 31 Dec 2022 10:25:00 GMT</pubDate><content:encoded>
&lt;p&gt;I was very harsh on myself in &lt;a href=&quot;https://andy-bell.co.uk/wrapping-up-2021/&quot;&gt;last year’s review&lt;/a&gt;. I think it was because I published it almost immediately after finishing work, whereas this year, I’m now almost two weeks into a nice, long break. &lt;/p&gt;



&lt;p&gt;It was useful to be harsh to myself last year, though, because I’ve approached 2022 with a much healthier, pragmatic and most importantly, a complete focus on self-care.&lt;/p&gt;



&lt;p&gt;It means I have immediately succeeded in one of &lt;a href=&quot;https://andy-bell.co.uk/wrapping-up-2021/&quot;&gt;last year’s resolutions&lt;/a&gt;: be happier with myself, this time next year.&lt;/p&gt;



&lt;p&gt;This leads us nicely to…&lt;/p&gt;



&lt;h2&gt;Resolutions from last year&lt;/h2&gt;



&lt;p&gt;I succeeded in all but one of &lt;a href=&quot;https://andy-bell.co.uk/wrapping-up-2021/&quot;&gt;my resolutions&lt;/a&gt;! The only one I didn’t succeed in was the weeknotes one. That’s no surprise though, because I hate writing to a brief, so it was never gonna stick.&lt;/p&gt;



&lt;p&gt;The most important one was block booking holiday. This resulted in 6 weeks of holiday this year. That’s an eighth of a year! A massive contrast to the paltry 1 week I took last year.&lt;/p&gt;



&lt;p&gt;The other most important goal was getting my weight down to 14 stone (88kg) and maintain it. I got a personal trainer to help me out for a few months at the start of the year which was fairly useful, but I’m giving myself full credit for success here. Sure he helped with nutrition and resistance training education, but to lose over 2 stone was all down to me changing for the better. &lt;/p&gt;



&lt;p&gt;I’ve been in an around 14 stone since July, so it took around 6 months. I’m really happy with that because maintaining it has been easy. Im still enjoying life—especially wine—and I’m not killing myself with exercise I don’t want to do. I simply can’t do that because I’m so bloody injury-prone; I always have been. &lt;/p&gt;



&lt;p&gt;All I do now is most days, consume around 2000 calories (not really tracking that tho), go for a 5k run 2-3 times a week and do a bit of resistance training like weights 1-2 times a week, tops. &lt;/p&gt;



&lt;p&gt;I’m still carrying a bad ankle injury, so next year, I’m cutting down on running, but that doesn’t keep the weight off: diet does. Running is more for my mental health, but I’ll still do plenty to help that.&lt;/p&gt;



&lt;p&gt;I feel like I’ve got a much better handle of this sort of stuff now and I’m much happier in my own skin because of that.&lt;/p&gt;



&lt;h2&gt;Work stuff&lt;/h2&gt;



&lt;p&gt;Work has been a bit too much this year, but I’m not mad about that: it’s to be expected when I’ve been transitioning from being a freelancer to running an agency. There was a few points where longer freelance projects got in the way of the studio stuff and took up a lot of time and energy.&lt;/p&gt;



&lt;p&gt;Now &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; is 100% of the focus and I’m happy to say I’ve hired not one, but two people, so 2023 should be much more sensible.&lt;/p&gt;



&lt;p&gt;I’m so happy that the studio is in a position to hire. I really wanted to be in a place where I hired one person, but two is unreal.&lt;/p&gt;



&lt;p&gt;The first is Leanne: a designer and front-end developer. She is outrageously good and having her on board will mean I do a lot less production work. I’ve done too much of that and not enough business stuff. It’ll be nice knowing she can maintain and push the ridiculously high standards I set for our work.&lt;/p&gt;



&lt;p&gt;The second is Liridon: a junior developer. Liridon is doing a career switch and is starting from scratch. I expect by the end of the year, they will be ready to work on client projects, but the focus for the year is they learn and develop a really strong, balanced skill set. I’ll be primarily training them myself, but I’ll be investing in courses, workshops and conferences to help with that too. I can’t wait to see how he develops.&lt;/p&gt;



&lt;p&gt;The focus for the agency in 2023 is foundation building. I don’t want us to run before we can walk; I’ve worked for too many agencies that have done that in the past. Instead, we’re in a good position financially to build slowly and kick-on in 2024. Expect some cool stuff from us, but we certainly won’t be killing ourselves to produce too much. Instead, we’ll be focusing on quality and sustainability.&lt;/p&gt;



&lt;h2&gt;Speaking &lt;/h2&gt;



&lt;p&gt;I started the year thinking I’d do no speaking but instead I ended up speaking a 4 conferences lmao.&lt;/p&gt;



&lt;p&gt;I wrote a new talk, “&lt;a href=&quot;https://youtube.com/watch?v=5uhIiI9Ld5M&quot;&gt;Be the browser’s mentor, not its micromanager&lt;/a&gt;”. I’ve got a draft post about the talk in the works so I won’t talk about that here, but I will say I thoroughly enjoyed speaking at conferences again. It’s nice to travel and hang out with pals again.&lt;/p&gt;



&lt;p&gt;I think ongoing, I need to break out of the tech echo chamber and speak at different events. As rewarding as speaking at tech conferences is: I feel like I’m preaching at the choir. I think it’ll be more beneficial to speak at design and marketing-focussed events more, long term.&lt;/p&gt;



&lt;h2&gt;Writing&lt;/h2&gt;



&lt;p&gt;I’m finally getting back into writing. I spent a lot of this year struggling to find some rhythm, but posting a lot on my own site has got it back for me.&lt;/p&gt;



&lt;p&gt;I’m going to write more design and tech articles next year. I’m not sure what they’ll be yet, but they’ll come!&lt;/p&gt;



&lt;p&gt;It’ll be a split between posting them on here and the upcoming &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; site. We’ve also got a nice little design tips and inspiration project cooking up too (for fans of the piccalilli newsletter).&lt;/p&gt;



&lt;p&gt;2023 will be a good year for writing—especially on this site as I can do it on my phone. In fact, this whole post has been written on my phone! &lt;/p&gt;



&lt;h2&gt;Social Media and the web&lt;/h2&gt;



&lt;p&gt;I can’t really be arsed writing much about the fall of twitter because I’ve already &lt;a href=&quot;https://andy-bell.co.uk/free-of-the-bird/&quot;&gt;covered it and Mastodon this year&lt;/a&gt;. All I will say is that it’s seemingly triggered a movement away from algorithmic, ad networks (known as social media sites) and a movement back towards the open web.&lt;/p&gt;



&lt;p&gt;So many people are building their own space on the web again and I love it. Long may it continue. Let’s make &lt;a href=&quot;https://andy-bell.co.uk/2023-the-year-of-websites/&quot;&gt;2023 the year of websites&lt;/a&gt;!&lt;/p&gt;



&lt;h2&gt;Music&lt;/h2&gt;



&lt;p&gt;My &lt;a href=&quot;https://music.andy-bell.co.uk/&quot;&gt;music collection&lt;/a&gt; has grown nicely this year. I don’t think I’ll add much next year, other than a few key albums from the past and any new releases I really like.&lt;/p&gt;



&lt;p&gt;I’ll write more about all of this when my &lt;a href=&quot;https://www.last.fm/user/andyvirus&quot;&gt;last.fm&lt;/a&gt; review drops in the new year. What I will say is 2022 has been an incredible year for listening and discovering new music for me. Probably one of the best!&lt;/p&gt;



&lt;p&gt;I’m also learning the piano in 2023. It’s about bloody time I did it properly. I’m pretty handy already, but I want to be able to play it properly and importantly, comfortably, so I can get back into composing and producing music in the long term.&lt;/p&gt;



&lt;p&gt;I did that a &lt;em&gt;long time ago&lt;/em&gt; and miss it. I used to make electronic and hip hop beats. Maybe 2023 will be the return of “&lt;a href=&quot;https://soundcloud.com/4ndeh/sets/andy-virus-2007&quot;&gt;andyvirus&lt;/a&gt;”…  &lt;/p&gt;



&lt;h2&gt;Resolutions&lt;/h2&gt;



&lt;p&gt;I did well with last year’s resolutions so I’m hoping for the same again. 2023 will be different though because I only have one resolution:&lt;/p&gt;



&lt;figure&gt;&lt;blockquote&gt;&lt;p&gt;Focus on building foundations and going slow. Move deliberately and end the year happy and healthy, ready to kick on in 2024. &lt;/p&gt;&lt;/blockquote&gt;&lt;/figure&gt;



&lt;p&gt;I think it’s going to be a tough year with impending recessions, so I’m not going to set lofty goals. I want everything to just tick over as much as possible, while I do the groundwork for 2024. &lt;/p&gt;



&lt;p&gt;So next year, it’s more principles for the year, rather than resolutions.&lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;I’d give 2022 a solid 8 out of 10. I’m ending the year in a good place. I’m well rested after a nice, long break from work too.&lt;/p&gt;



&lt;p&gt;I hope that will lay the foundation for a great 2023.&lt;/p&gt;



&lt;p&gt;I hope you all have a happy and healthy new year 💜&lt;/p&gt;
</content:encoded></item><item><title>My top 5 albums released in 2022</title><link>https://bell.bz/my-top-5-albums-released-in-2022/</link><guid isPermaLink="true">https://bell.bz/my-top-5-albums-released-in-2022/</guid><pubDate>Thu, 29 Dec 2022 09:37:16 GMT</pubDate><content:encoded>
&lt;p&gt;2022 has been a damn good year for good new album releases, so I thought I’d recommend my top 5 for you.&lt;/p&gt;



&lt;h2&gt;5. Actual Life 3 (January 1 – September 9 2022), by Fred again…&lt;/h2&gt;



&lt;p&gt;Bloody hell this album is good. I’d never heard of Fred again… and stumbled upon a video of him playing some outrageous breakbeats on a sampler a couple of months ago. He’d just released this album and I then listened to it obsessively for weeks.&lt;/p&gt;



&lt;p&gt;It’s nice dance/electronic/ambient stuff. The sample work is stunning too.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://album.link/s/6vN8o7jyIAJvFPqC0vxxmm&quot;&gt;Listen here &lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;4. Euthanasia, by Stray From the Path&lt;/h2&gt;



&lt;p&gt;I used to say &lt;a href=&quot;https://album.link/gb/i/1650498896&quot;&gt;Subliminal Criminals&lt;/a&gt; was my all time favourite Stray From the Path album, but this one hits different. It’ll blow your brains out.&lt;/p&gt;



&lt;p&gt;As always, the lyrics are great; they’re angry as fuck. If you’ve not heard them before, think Rage Against the Machine, but more metal.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://album.link/s/10wXXQ3XiLyiCj6W0YMBXy&quot;&gt;Listen here&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;3. PLOSIVS, by PLOSIVS&lt;/h2&gt;



&lt;p&gt;I listened to this album so much in the car this year, my daughter now asks for the “red music” whenever she gets in the car lmao.&lt;/p&gt;



&lt;p&gt;It’s great, jangly, smart and catchy indie music with a bit punk in there. &lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://album.link/s/1RPiFWW3mrwX8XpqRwrfVd&quot;&gt;Listen here&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;2. Mr. Morale &amp;amp; the Big Steppers, by Kendrick Lamar&lt;/h2&gt;



&lt;p&gt;It couldn’t be a 2022 favourite album list without hip hop. I spend the vast majority of my time listening to hip hop after all.&lt;/p&gt;



&lt;p&gt;This album is really great. Kendrick Lamar has always had his own, definitive style and he really leans into it and matures it on this album. There’s not a bad track on there!&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://open.spotify.com/album/79ONNoS4M9tfIA1mYLBYVX?si=FkpNY7lqQnyTEgDAxT44Yg&quot;&gt;Listen here&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;1. Raw Data Feel, by Everything Everything &lt;/h2&gt;



&lt;p&gt;This is one of my favourite bands and this album might have to unseat one off my &lt;a href=&quot;https://music.andy-bell.co.uk/tag/Top%2010/&quot;&gt;top ten albums of all time&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;It’s just perfect and “Leviathan” still makes me cry a bit every time I listen to it. It’s such a beautiful track. &lt;/p&gt;



&lt;p&gt;If you were to pick just one off this list, it &lt;em&gt;has &lt;/em&gt;to be this one.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://album.link/s/5EVRkU1hii3VvUFblfexze&quot;&gt;Listen here&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>Bring Back Blogging</title><link>https://bell.bz/bring-back-blogging/</link><guid isPermaLink="true">https://bell.bz/bring-back-blogging/</guid><pubDate>Wed, 28 Dec 2022 08:52:36 GMT</pubDate><content:encoded>
&lt;p&gt;I really like this post by Chris Coyier (@chriscoyier@front-end.social): &lt;a href=&quot;https://chriscoyier.net/2022/12/26/bring-back-blogging/&quot;&gt;https://chriscoyier.net/2022/12/26/bring-back-blogging/&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;This part specifically caught my attention: &lt;/p&gt;



&lt;figure&gt;&lt;blockquote&gt;&lt;p&gt;Maybe &lt;em&gt;“publish your own feed”&lt;/em&gt; is a better framing.&lt;em&gt; “Own your RSS.”&lt;/em&gt; A feed doesn’t care what it contains. It is content-style agnostic. It’s just timestamped HTML, in a way. Put some audio in it, and it’s a podcast. A feed could be &lt;em&gt;exactly&lt;/em&gt; what you would have tweeted before tweeting became cringe.&lt;/p&gt;&lt;/blockquote&gt;&lt;/figure&gt;



&lt;p&gt;I’m going to make a conscious effort to &lt;strong&gt;post here first&lt;/strong&gt; then syndicate out, ongoing. A blocker for me has always been feeling like a have to write a full post, but I should just write short little notes too. &lt;/p&gt;



&lt;p&gt;I had this site setup to set the title as the current date if there was no title before to get over the other blocker: thinking of a title. I wonder if there’s a way WordPress could that that automatically 🤔&lt;/p&gt;



&lt;p&gt;I really like the idea of a feed-like homepage, like &lt;a href=&quot;https://nerdy.dev/&quot;&gt;Adam’s&lt;/a&gt;. It’s got me thinking of doing similar.&lt;/p&gt;
</content:encoded></item><item><title>2023, the year of websites</title><link>https://bell.bz/2023-the-year-of-websites/</link><guid isPermaLink="true">https://bell.bz/2023-the-year-of-websites/</guid><pubDate>Tue, 27 Dec 2022 09:31:13 GMT</pubDate><content:encoded>
&lt;p&gt;2023 is going to be the year of websites—specifically personal websites—and I’m here for it.&lt;/p&gt;



&lt;p&gt;It seems like the momentum for people to hyper-focus (or re-focus) on their personal home on the World Wide Web has come from the rapid decline in Twitter, since Elon Musk has taken it upon himself to destroy it. &lt;/p&gt;



&lt;p&gt;Sure, it’s mainly created a surge in people creating Mastodon accounts, but people are also realising—including me—that betting everything on a single place is not great, actually. The only place you really can bet on with confidence is a place that &lt;strong&gt;you created and that you own.&lt;/strong&gt; No one can break it, but you.&lt;/p&gt;



&lt;p&gt;Embrace the personal site. Get an RSS feed on there and own your little space on the web. Not sure where to start? A few years ago, I made &lt;a href=&quot;https://personalsit.es&quot;&gt;personalsit.es&lt;/a&gt;, which &lt;a href=&quot;https://henry.codes&quot;&gt;Henry&lt;/a&gt; made amazing after I handed the keys to them. It features loads of amazing personal sites that you can get inspiration from.&lt;/p&gt;



&lt;p&gt;Start small and keep it simple, then chip away over time. It’s exactly how I’ve built this site 🙂&lt;/p&gt;
</content:encoded></item><item><title>Elon, the accidental revolutionary</title><link>https://bell.bz/elon-the-accidental-revolutionary/</link><guid isPermaLink="true">https://bell.bz/elon-the-accidental-revolutionary/</guid><pubDate>Sun, 18 Dec 2022 08:59:38 GMT</pubDate><content:encoded>
&lt;p&gt;One thing I’ll give Elon Musk credit for is how he’s inadvertently demonstrating how terrible and fragile centralisation is—especially with online communities.&lt;/p&gt;



&lt;p&gt;Who would have thought a narcissist’s paper-thin ego would destroy social media (read algorithmic ad networks) as we know it?&lt;/p&gt;



&lt;p&gt;Welcome back, decentralised web!&lt;/p&gt;



&lt;p&gt;The question is, what falls next?&lt;/p&gt;
</content:encoded></item><item><title>Adam Kuhn’s top 10 albums of 2022</title><link>https://bell.bz/adam-kuhns-top-10-albums-of-2022/</link><guid isPermaLink="true">https://bell.bz/adam-kuhns-top-10-albums-of-2022/</guid><pubDate>Wed, 14 Dec 2022 11:12:18 GMT</pubDate><content:encoded>
&lt;p&gt;This summary of Adam Kuhn’s top 10 albums of 2022 is incredible: &lt;a href=&quot;https://codepen.io/cobra_winfrey/full/yLEwKKg&quot;&gt;https://codepen.io/cobra_winfrey/full/yLEwKKg&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;It’s making me think what I should add to my top 10 of the year too. It’s been a hella good year for new albums, that’s for sure. &lt;/p&gt;
</content:encoded></item><item><title>The Daunting Prospect Of Writing Again</title><link>https://bell.bz/the-daunting-prospect-of-writing-again/</link><guid isPermaLink="true">https://bell.bz/the-daunting-prospect-of-writing-again/</guid><pubDate>Mon, 12 Dec 2022 10:23:02 GMT</pubDate><content:encoded>
&lt;p&gt;Getting the blog running how I like it has definitely got me writing more again. There was something about mucking around with markdown files and builds that created an invisible barrier that’s thankfully gone now.&lt;/p&gt;



&lt;p&gt;I’m also completely over the very large wave of apathy that arrived after I’d finished &lt;a href=&quot;https://web.dev/learn/css/&quot;&gt;Learn CSS&lt;/a&gt; last year. I just couldn’t bear the idea of writing anything related to design or tech after that. Thankfully, I’m over that (19 months later lmao) and I’m ready to start writing tutorials and stuff again. &lt;/p&gt;



&lt;p&gt;The problem I have now is what the hell do I even write about? I think I got a bit bored of writing about CSS—even though the language and its capabilities have exploded over the last year or so. I also used to just come up with ideas really quickly over on &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt; and I’m getting pretty frustrated with myself that I can’t seem to do that now. &lt;/p&gt;



&lt;p&gt;It would be helpful if you have read my stuff in the past, letting me know what you found really useful. It’d also be helpful if you want to learn something and you haven’t found anything that clicks for you yet. Maybe my style could help! &lt;/p&gt;



&lt;p&gt;For now, I’m going to pick some low hanging fruit and scour through the client work I’ve done over the last year or so. Maybe I can pick something from there. The &lt;a href=&quot;https://piccalil.li/blog/a-modern-css-reset/&quot;&gt;Modern Reset&lt;/a&gt; could also do with an update…Regardless, keep your eyes peeled 👀&lt;/p&gt;
</content:encoded></item><item><title>A New Day, A New “CSS” Thing</title><link>https://bell.bz/a-new-day-a-new-css-thing/</link><guid isPermaLink="true">https://bell.bz/a-new-day-a-new-css-thing/</guid><pubDate>Thu, 08 Dec 2022 12:04:18 GMT</pubDate><content:encoded>
&lt;p&gt;So there’s this new CSS thing called &lt;a href=&quot;https://stylifycss.com/&quot;&gt;Stylify&lt;/a&gt; which is getting people hot under the collar again. It’s been a while since a white dude re-invented CSS, so it’s been a long time coming.&lt;/p&gt;



&lt;p&gt;I’m actually not really that fussed about it. Yeh it’s weird writing CSS rules in classes, but whatever. I don’t really know what problem it’s solving, but the author must have felt like there was a reason for it in whatever type of projects they work on. &lt;/p&gt;



&lt;p&gt;What is refreshing about this, is (as far as I can tell), the author isn’t saying CSS is bad. Quite the contrary, where they (I think) are insinuating that frameworks are not great, which I’m on board with. What isn’t refreshing is the wall-to-wall dudes giving testimonials, but I guess this sorta thing attracts dudes like a pot of jam attracts wasps. &lt;/p&gt;



&lt;p&gt;I guess the point I’m making with this post is Stylify is just another thing. Whatever works for you is right because it works, so I wouldn’t get too upset about it, personally. What gets me upset is when I get tagged in Tweets with “I bet Andy hates this”, looking for some sort of hot take (which so far hasn’t happened thankfully). &lt;/p&gt;



&lt;p&gt;Also, I despise when framework authors make absurd claims, like the &lt;a href=&quot;https://tailwindcss.com/&quot;&gt;Tailwind&lt;/a&gt; dude does, claiming that “best practices don’t actually work”, when really what he’s trying to do is, I guess, create a case for making money, which must be getting harder with the &lt;a href=&quot;https://2022.stateofcss.com/en-US/css-frameworks/&quot;&gt;year-on-year dwindling interest&lt;/a&gt; of their framework. Again, this doesn’t seem to be the case with Stylify.&lt;/p&gt;



&lt;p&gt;I’m going to probably ignore Stylify. I don’t have any problems writing CSS and I’m certainly not the target. What I would say is before jumping into using it, consider what your Stylify project would look like 6 months, a year, two years down the line. Is it going to be a nightmare to maintain? &lt;/p&gt;



&lt;p&gt;In closing: use it or don’t: you only live once.&lt;/p&gt;
</content:encoded></item><item><title>Last speaking engagement</title><link>https://bell.bz/last-speaking-engagement/</link><guid isPermaLink="true">https://bell.bz/last-speaking-engagement/</guid><pubDate>Tue, 06 Dec 2022 07:00:15 GMT</pubDate><content:encoded>
&lt;p&gt;I’m doing my last speaking engagement of the year today: a best man’s speech.&lt;/p&gt;
</content:encoded></item><item><title>Toto</title><link>https://bell.bz/toto/</link><guid isPermaLink="true">https://bell.bz/toto/</guid><pubDate>Mon, 05 Dec 2022 10:58:09 GMT</pubDate><content:encoded>
&lt;p&gt;There’s no day that can’t be enhanced by Toto IV. Absolute masterpiece. &lt;/p&gt;




</content:encoded></item><item><title>I got a new Studio Display</title><link>https://bell.bz/i-got-a-new-studio-display/</link><guid isPermaLink="true">https://bell.bz/i-got-a-new-studio-display/</guid><pubDate>Fri, 02 Dec 2022 14:11:43 GMT</pubDate><content:encoded>
&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;718&quot; src=&quot;https://andy-bell.imgix.net/2022/12/IMG_0052-1-1024x718.jpg&quot; alt=&quot;My desk with a Studio Display, monitor speakers, a MacBook, an iPad and a cup of tea.&quot; srcset=&quot;https://andy-bell.imgix.net/2022/12/IMG_0052-1-1024x718.jpg 1024w, https://andy-bell.imgix.net/2022/12/IMG_0052-1-300x210.jpg 300w, https://andy-bell.imgix.net/2022/12/IMG_0052-1-768x538.jpg 768w, https://andy-bell.imgix.net/2022/12/IMG_0052-1-1536x1077.jpg 1536w, https://andy-bell.imgix.net/2022/12/IMG_0052-1.jpg 2000w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;Check out my new Studio Display! I’ve had my eye on them for ages and I finally went for it. &lt;/p&gt;



&lt;p&gt;It’s so good to have a nice big Apple Display again. It’s gonna take me a while to get used to having two screens again tho, going back to using a MacBook, rather than an iMac. &lt;/p&gt;
</content:encoded></item><item><title>Working on my personal site is fun actually</title><link>https://bell.bz/working-on-my-personal-site-is-fun-actually/</link><guid isPermaLink="true">https://bell.bz/working-on-my-personal-site-is-fun-actually/</guid><pubDate>Thu, 01 Dec 2022 14:40:27 GMT</pubDate><content:encoded>
&lt;p&gt;I mostly spend my days in spreadsheets or working on important projects™ so actually making things is a treat. &lt;/p&gt;



&lt;p&gt;Should I have been doing client work today? Yes&lt;/p&gt;



&lt;p&gt;Have I been doing client work today? No, I’ve been fiddling with Webmentions and having a great time.&lt;/p&gt;
</content:encoded></item><item><title>Webmention support</title><link>https://bell.bz/webmention-support/</link><guid isPermaLink="true">https://bell.bz/webmention-support/</guid><pubDate>Thu, 01 Dec 2022 12:47:53 GMT</pubDate><content:encoded>
&lt;p&gt;I don’t know if this will work, but I think I’ve got Webmentions set up on this site now. &lt;/p&gt;
</content:encoded></item><item><title>Toots are gonna be lit</title><link>https://bell.bz/toots-are-gonna-be-lit/</link><guid isPermaLink="true">https://bell.bz/toots-are-gonna-be-lit/</guid><pubDate>Thu, 01 Dec 2022 10:20:39 GMT</pubDate><content:encoded>
&lt;p&gt;Now I’ve got this nice markdown-style look and feel to my site, the auto-posting to Mastodon setup is going to be awesome.&lt;/p&gt;



&lt;p&gt;I just need to find a way to bring replies etc over as webmentions/comments now 🤔&lt;/p&gt;
</content:encoded></item><item><title>My Company is 4 today!</title><link>https://bell.bz/my-company-is-4-today/</link><guid isPermaLink="true">https://bell.bz/my-company-is-4-today/</guid><pubDate>Tue, 29 Nov 2022 11:22:44 GMT</pubDate><content:encoded>
&lt;p&gt;Today is my company’s 4th anniversary 🎉&lt;/p&gt;



&lt;p&gt;Over the last 4 years, it’s evolved from me being a freelancer and consultant, to selling educational material (while still freelancing), to being a creative agency: &lt;a href=&quot;https://set.studio&quot;&gt;Set Studio&lt;/a&gt;. It’s also had not one, but two name changes in the time too (pour one out for Piccalilli and Andy Bell Design).&lt;/p&gt;



&lt;p&gt;At the end of last year, &lt;a href=&quot;https://andy-bell.co.uk/2022-work-resolutions/&quot;&gt;I set a target of being in a position to make our first full time hire&lt;/a&gt;. I thought at the time that was a bit of a push, but unbelievably, two new full time staff—a designer and a junior developer—are starting on January the 4th. I can’t wait for Leanne and Liridon to start. &lt;/p&gt;



&lt;p&gt;Who knows what’s going to happen in the 5th year of my little shop. We’ve got some exciting stuff in the pipeline (and are &lt;a href=&quot;https://set.studio&quot;&gt;still taking on projects&lt;/a&gt;). &lt;/p&gt;



&lt;p&gt;I want to sign off with a huge thanks to everyone that’s helped this year with projects: &lt;a href=&quot;https://leannerenard.co.uk/&quot;&gt;Leanne&lt;/a&gt;, &lt;a href=&quot;https://amyhupe.co.uk/&quot;&gt;Amy&lt;/a&gt;, &lt;a href=&quot;https://www.nicchan.me/&quot;&gt;Nic&lt;/a&gt;, &lt;a href=&quot;https://www.hustlersquad.net/&quot;&gt;James&lt;/a&gt;, &lt;a href=&quot;https://robbowen.digital/&quot;&gt;Robb&lt;/a&gt;, &lt;a href=&quot;https://hire.wil.to/&quot;&gt;Mat&lt;/a&gt;, &lt;a href=&quot;https://futureselves.uk/&quot;&gt;Jason&lt;/a&gt; and &lt;a href=&quot;https://www.goodlookingdesign.co.uk/&quot;&gt;Greg&lt;/a&gt;. You’re all ace! &lt;/p&gt;
</content:encoded></item><item><title>I’m genuinely enjoying social media again</title><link>https://bell.bz/im-genuinely-enjoying-social-media-again/</link><guid isPermaLink="true">https://bell.bz/im-genuinely-enjoying-social-media-again/</guid><pubDate>Mon, 28 Nov 2022 07:47:35 GMT</pubDate><content:encoded>
&lt;p&gt;I used to really enjoy Twitter, even if it is a complete hell zone. Almost certainly, amongst all the hell, there would be one tweet that would have me chuckling all day. &lt;/p&gt;



&lt;p&gt;This is a bit like saying I used to really enjoy motorway pile-ups because there would be at least one thing I saw in the queue that would make me chuckle all day. Completely unhealthy outlook right?&lt;/p&gt;



&lt;p&gt;The reality is I wasn’t actually enjoying Twitter. I was enjoying chatting to my mates, but I was really miserable on there and felt I had to be there. &lt;/p&gt;



&lt;p&gt;The TTRG (time to reply guy) was getting so fast, that I can’t actually remember the last time I tweeted something helpful like a design or development tip. I just couldn’t be arsed, knowing some dickhead would be around to waste my time with whataboutisms and “will it scale”?&lt;/p&gt;



&lt;p&gt;There doesn’t seem to be much of that going on, on Mastodon &lt;em&gt;yet.&lt;/em&gt; I hope there won’t be, but as the user base grows, the probability of reply guys grows with it. It’s also probably the fact I have much less followers there which is honestly, a bloody dream.&lt;/p&gt;



&lt;p&gt;Anyway, until things do degrade (I’m hopeful they won’t), I’m going to continue enjoying myself because as it stands, checking in on Mastodon is actually fun. &lt;/p&gt;
</content:encoded></item><item><title>Mastodon is a gateway</title><link>https://bell.bz/mastodon-is-a-gateway/</link><guid isPermaLink="true">https://bell.bz/mastodon-is-a-gateway/</guid><pubDate>Sun, 27 Nov 2022 09:44:06 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve been thinking about this for the last couple of days: I see Mastodon as a sort of gateway, rather than the final destination.&lt;/p&gt;



&lt;p&gt;All this ActivityPub and federation stuff is pretty exciting because you can conceivably interact with mates from anywhere. I guess WebMentions etc allow you to also do that, but I never personally got along with it in its current form. &lt;/p&gt;



&lt;p&gt;Just having my own instance of Mastodon again has made me feel like I’ve got proper ownership of my stuff, but even better would be this website itself being my little home on the Fediverse. It’s actually made me excited about fiddling around with tech stuff again for the first time in a &lt;em&gt;very &lt;/em&gt;long time.&lt;/p&gt;



&lt;p&gt;I’ve been very guilty of putting all my eggs in the Twitter basket over the last couple of years, especially, and all of that has been destroyed by one bellend billionaire. I’m determined not to make that mistake again and even more determined to make my little home on the internet—this website—as lovely and sustainable as I can make it.&lt;/p&gt;



&lt;p&gt;&lt;/p&gt;
</content:encoded></item><item><title>An impromptu quiet week</title><link>https://bell.bz/an-impromptu-quiet-week/</link><guid isPermaLink="true">https://bell.bz/an-impromptu-quiet-week/</guid><pubDate>Fri, 25 Nov 2022 16:55:40 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve been hammered with an OG cold of sorts this week (not COVID, thankfully) and it’s completely sapped me of any energy. I’ve mostly done…well…nothing.&lt;/p&gt;



&lt;p&gt;I’m lucky that I run my own business. Because we’re mostly working with American clients at the moment and it’s Thanksgiving week, it’s been the perfect week to get ill (if there ever was a perfect week).&lt;/p&gt;



&lt;p&gt;The problem is, though, I think this illness has hit me so hard because I’m legit running on fumes. It’s been a chaotic [checks notes] few months and I appear to have not learned much from last year, &lt;a href=&quot;https://andy-bell.co.uk/wrapping-up-2021/#&quot;&gt;which I publicly bollocked myself for&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;I’m letting myself off for over-working this year because the agency stuff took off &lt;em&gt;way &lt;/em&gt;quicker than I planned, so I had quite a bit of crossover between agency projects and freelance/consultancy projects. That period is definitely over now, but the longer impact of that has been ridiculous. &lt;/p&gt;



&lt;p&gt;There’s no real point to this post other than for me to look back on and next year I’ll be better at this whole overworking thing. I’m pretty sure it’ll be my only resolution (which to be fair I’ve done a good job of this year). Let’s see…&lt;/p&gt;
</content:encoded></item><item><title>CSS refactor</title><link>https://bell.bz/css-refactor/</link><guid isPermaLink="true">https://bell.bz/css-refactor/</guid><pubDate>Tue, 22 Nov 2022 14:40:06 GMT</pubDate><content:encoded>
&lt;p&gt;With a view to doing some more work on my site, I’ve just replaced the Sass setup with PostCSS, Tailwind (gasp) and CUBE CSS. &lt;/p&gt;



&lt;p&gt;It’s the setup I’ve been using for &lt;a href=&quot;https://buildexcellentwebsit.es/&quot;&gt;Build Excellent Websites&lt;/a&gt; and the &lt;a href=&quot;https://www.youtube.com/watch?v=5uhIiI9Ld5M&quot;&gt;Be The Browser’s Mentor talk&lt;/a&gt; I’ve been doing all year. &lt;/p&gt;



&lt;p&gt;Next up: I’ll bring content from &lt;a href=&quot;https://piccalil.li&quot;&gt;Piccalilli&lt;/a&gt; over here and add some more post styles for code etc.&lt;/p&gt;
</content:encoded></item><item><title>Testing toots</title><link>https://bell.bz/testing-toots/</link><guid isPermaLink="true">https://bell.bz/testing-toots/</guid><pubDate>Tue, 22 Nov 2022 12:10:02 GMT</pubDate><content:encoded>
&lt;p&gt;If all goes well, this should have auto-posted to Mastodon via my &lt;a href=&quot;https://andy-bell.co.uk/feed.xml&quot;&gt;RSS feed.&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>Free of the bird</title><link>https://bell.bz/free-of-the-bird/</link><guid isPermaLink="true">https://bell.bz/free-of-the-bird/</guid><pubDate>Tue, 22 Nov 2022 08:17:08 GMT</pubDate><content:encoded>
&lt;p&gt;I want my last post on Twitter to be a blog post as one last middle finger to centralised, algorithmic social media. If you’re still on Twitter, you’re seeing this because my blog automatically tweets out posts. This is the last one of those, because I’m cutting that off too.&lt;/p&gt;



&lt;p&gt;As a preface, I appreciate I’m speaking from a position of privilege, upping sticks and leaving Twitter, but I’ve finally had enough of it. I’ve spent the last week or so, weighing up the pros and cons of the platform and the large following I somehow managed to accumulate—and let me tell ya, the cons far outweigh the pros (more on this later). Because a bad actor could, in theory, steal my handle if I deactivate and impersonate me, I will be keeping the account open until that is no longer necessary. I won’t be back next week either, just to &lt;a href=&quot;https://twitter.com/sjransom/status/1594975068244819968?s=20&amp;amp;t=IGhgMNFy_mYqkg6VONJA5A&quot;&gt;spite this dickhead&lt;/a&gt;.&lt;/p&gt;



&lt;h2&gt;What’s been the kicker?&lt;/h2&gt;



&lt;p&gt;Elon Musk bought Twitter and has completely dismantled it. I actually deep-down thought it would be ok in the long term. He’s a complete clown, but I thought sensibility would take over and after a period of turbulence, Twitter would be ok. The straw that broke the camel’s back—resulting in my &lt;a href=&quot;https://twitter.com/404boyfriend/status/1347360650750812166&quot;&gt;actually logging off&lt;/a&gt;—was twofold. The first part was Musk forcing staff to sign up to being exploited—by being overworked, or as he called it, being “hardcore”—or fired, then using a Twitter poll to determine if Donald Trump should be reinstated. The first part resulted in friends that worked there being put in an impossible position, which made me beyond mad.&lt;/p&gt;



&lt;p&gt;I thought about just posting only on Twitter via this blog for a bit. I’ve somehow accumulated a rather large following on Twitter—around 16.8k followers at the time of writing—and even though I’ve never actually tried to get followers, I felt slightly proud of that number and didn’t want to let it go. Over the last week or so, though, I’ve put some thought into what that following has actually brought me, other than every time I tweet anything tech or design-related, a sea of insufferable dickheads find their way to my replies. &lt;/p&gt;



&lt;p&gt;I don’t really plug anything other than the odd discount for &lt;a href=&quot;https://every-layout.dev&quot;&gt;Every Layout&lt;/a&gt; and I certainly don’t ever land client projects through Twitter for my agency, or as a freelancer previously. Granted, I’ve made connections on Twitter that have resulted in client projects, but they’re &lt;strong&gt;relationships built&lt;/strong&gt;, rather than follower-count related. &lt;/p&gt;



&lt;p&gt;I thought I’d look at some stats in analytics (I use &lt;a href=&quot;https://usefathom.com/&quot;&gt;Fathom&lt;/a&gt;)—specifically how much traffic arrives at my sites from Twitter:&lt;/p&gt;



&lt;ol&gt;&lt;li&gt;On this site, Twitter is responsible for around 80% of traffic. That makes sense because it’s a personal blog&lt;/li&gt;&lt;li&gt;On &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt;, Twitter is responsible for a meagre 20% of traffic (that site will be merged with this one)&lt;/li&gt;&lt;/ol&gt;



&lt;p&gt;We don’t have analytics on &lt;a href=&quot;https://every-layout.dev&quot;&gt;Every Layout&lt;/a&gt; or &lt;a href=&quot;https://set.studio&quot;&gt;Set Studio&lt;/a&gt;, but I’m sure they’re also very low in terms of Twitter referrals. &lt;/p&gt;



&lt;p&gt;Based on the fact that the vast majority of the work I land, the books I sell and previously, the courses I sold came from the &lt;strong&gt;writing and talks I do&lt;/strong&gt;, rather than the tweeting I do, Twitter really doesn’t bring any benefit to me anymore.&lt;/p&gt;



&lt;h2&gt;My conflicted relationship with Mastodon&lt;/h2&gt;



&lt;p&gt;I’ve declared recently that I won’t leave Twitter for Mastodon &lt;a href=&quot;https://tweets.andy-bell.co.uk/1590653022526656512/&quot;&gt;because since 2016, it has never stuck for me&lt;/a&gt;. I just could not be arsed with it &lt;em&gt;again&lt;/em&gt;, but the thing that changed everything was not just Twitter falling apart, but most importantly, my friends all started moving there. &lt;/p&gt;



&lt;p&gt;I&lt;strong&gt;t’s all about the people, not the platform&lt;/strong&gt; at the end of the day. It doesn’t really matter what tool you use to chat to your mates—so many tools rise and fall—but it’s the fact there is a tool to chat to your mates. That was Twitter, hands down, but now, people are moving over the Mastodon in their droves. &lt;/p&gt;



&lt;p&gt;Mastodon does still give me the ick. There’s a lot of gatekeeping, but I think that’ll get better over time. It’s certainly gotten a lot better than a few years ago where you’d get lambasted for even mentioning Twitter without calling it the “bird site” (🤮). &lt;/p&gt;



&lt;p&gt;I did, however, want to get back on to a private instance of Mastodon. I did have one before but I forgot to renew my domain lol. That’s ok though because I’m back in business at &lt;a href=&quot;https://bell.bz/@andy&quot;&gt;@andy@bell.bz&lt;/a&gt;. Mastodon is great when you have complete control of your little fediverse island. Once &lt;a href=&quot;https://masto.host/&quot;&gt;Mastohost&lt;/a&gt; are back accepting new accounts, I strongly recommend you give them money to host for you. &lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;Am I sad about leaving Twitter? Surprisingly not. I’ve really enjoyed my time there, but it’s also caused me a lot of grief over the years. Just like a bad relationship, when the signs are there that’s it’s a net-bad, you’ve got to cut ties and move on with your life. &lt;/p&gt;



&lt;p&gt;I did create an &lt;a href=&quot;https://tweets.andy-bell.co.uk/&quot;&gt;archive of my tweets&lt;/a&gt; with &lt;a href=&quot;https://github.com/tweetback/tweetback&quot;&gt;this handy new tool from Zach and Co&lt;/a&gt;. &lt;a href=&quot;https://tweets.andy-bell.co.uk/&quot;&gt;You can see them all here&lt;/a&gt;. I didn’t really care if those tweets disappeared with Twitter—I see them as ephemeral—but because that tool made it so easy, I thought I might as well immortalise them. There are &lt;a href=&quot;https://tweets.andy-bell.co.uk/1105440749687066624/&quot;&gt;some absolute banger shitposts&lt;/a&gt; in there after all 😎 (aside I should collate those in to a best-of post).&lt;/p&gt;



&lt;p&gt;If you don’t like Mastodon and still want to follow me, that’s fine. I’m going to hook up this blog with the Mastodon API and probably try to post from here first again, so my &lt;a href=&quot;/feed.xml&quot;&gt;RSS will be up to date a lot&lt;/a&gt;. Otherwise, &lt;a href=&quot;https://andy-bell.co.uk/links/&quot;&gt;you can see my other places here&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;I’ll sign off with this. Don’t feel under pressure to leave Twitter if it still brings you benefit. As soon as it becomes clear that it doesn’t, feel confident that you can leave Twitter and it’ll be fine. &lt;/p&gt;
</content:encoded></item><item><title>Warnings About The Disastrous Modern Frontends Live</title><link>https://bell.bz/modern-frontends-live/</link><guid isPermaLink="true">https://bell.bz/modern-frontends-live/</guid><pubDate>Sat, 19 Nov 2022 11:44:39 GMT</pubDate><content:encoded>
&lt;p&gt;I just want to boost a couple of posts written by speakers at Modern Frontends Live. &lt;/p&gt;



&lt;p&gt;I’ve been astounded at how that event has gone down and personally think the organiser, &lt;a href=&quot;https://twitter.com/coderinheels&quot;&gt;Gen Ashley&lt;/a&gt;, has conducted herself badly—both in how they’ve treated speakers and attendees.  Unless people speak out, they will be able to go again in the future. &lt;/p&gt;



&lt;p&gt;I’ll keep updating this post with posts as and when I find them. So far we have:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cassie.codes/posts/modern-frontends/&quot;&gt;Cassie Evans&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://dev.to/thisisjofrank/my-experience-of-modern-frontends-conference-1cgg&quot;&gt;Jo Franchetti&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://hidde.blog/modern-frontends-live/&quot;&gt;Hidde de Vries&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://toddl.dev/posts/modern-frontends/&quot;&gt;Todd Libby&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://mhartington.io/post/modern-frontends-live/&quot;&gt;Mike Hartington&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://christopherallanperry.github.io/blog/2022/11/20/modern_frontends-an_attendees_perspective.html&quot;&gt;Chris Perry&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://dylanbeattie.net/2022/11/22/modern-frontends-2022.html&quot;&gt;Dylan Beattie&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://dev.to/niamhmccoo/my-experience-at-modern-frontends-live-1lcn&quot;&gt;Niamh McCooey&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://kentcdodds.com/blog/my-modern-frontends-live-experience&quot;&gt;Kent C. Dodds&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://kilianvalkhof.com/2022/web/my-experience-at-modern-frontends/&quot;&gt;Kilian Valkhof&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://jdhillen.com/blog/my-experience-at-modern-frontends-live/&quot;&gt;J.D. Hillen&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>Time for a redesign</title><link>https://bell.bz/time-for-a-redesign/</link><guid isPermaLink="true">https://bell.bz/time-for-a-redesign/</guid><pubDate>Thu, 17 Nov 2022 13:49:35 GMT</pubDate><content:encoded>
&lt;p&gt;Does the day end in a Y if a designer doesn’t want to redesign their site? &lt;/p&gt;



&lt;p&gt;I’ve got a bit of a hodgepodge of personal content and also tech stuff dotted around the internet and I feel like I need to bring it all together. Mainly:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;This site &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt; &lt;/li&gt;&lt;li&gt;&lt;a href=&quot;https://music.andy-bell.co.uk/&quot;&gt;Music collection&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;



&lt;p&gt;I also don’t like the look and feel of any of it anymore. Especially, Piccalilli which feels really fucken dated now. &lt;/p&gt;



&lt;p&gt;Tech-wise, I really like using WordPress as a CMS but find working on the front-end cumbersome. I’ll probably try and wire it up with a fresh install of Eleventy. I think I might also move from a Notion-powered music collection to a WordPress powered one too. It’ll be nice to own that, just like I own the music I collect. &lt;/p&gt;



&lt;p&gt;Lastly, content. There’s bloody loads and it’s a mess. I think Piccalilli needs to go now, so I’ll move that content here and possibly a bit over to &lt;a href=&quot;https://set.studio&quot;&gt;my agency’s&lt;/a&gt; new site (when it finally gets finished). It’ll be nice to have it all organised and up to date. &lt;/p&gt;



&lt;p&gt;Then who knows, I might actually start writing again. I’m bursting with content ideas at the moment, but just don’t want to publish on sites I don’t like anymore (he says publishing a post on this site).&lt;/p&gt;



&lt;p&gt;Keep your eyes peeled etc.&lt;/p&gt;
</content:encoded></item><item><title>Don’t rob yourself of a good thing</title><link>https://bell.bz/dont-rob-yourself-of-a-good-thing/</link><guid isPermaLink="true">https://bell.bz/dont-rob-yourself-of-a-good-thing/</guid><pubDate>Tue, 09 Aug 2022 11:28:14 GMT</pubDate><content:encoded>
&lt;p&gt;Back when I was a teenager, I was super into punk, grunge and metal (I still am to be fair). With that, I had a natural tendency to reject the mainstream completely—especially with music. This rejection tendency lasted well into my early 20s too. &lt;/p&gt;



&lt;p&gt;The reason I’m talking about this is because this attitude made me reject Biffy Clyro when they “sold out” (they didn’t). For context, Biffy Clyro are one of my favourite bands. &lt;a href=&quot;https://album.link/gb/i/1450118821&quot;&gt;Infinity Land&lt;/a&gt; is in my &lt;a href=&quot;https://music.andy-bell.co.uk/tag/top%2010/&quot;&gt;top 10 albums of all time&lt;/a&gt;! When &lt;a href=&quot;https://album.link/gb/i/255931314&quot;&gt;Puzzle&lt;/a&gt; came out in 2007, they had signed to a major label, which I of course, detested. This is unwarranted, though, because as &lt;a href=&quot;https://www.gigwise.com/blogs/60135/&quot;&gt;Chris Reynolds wrote in 2010&lt;/a&gt;, they had &lt;em&gt;earned &lt;/em&gt;that right from over a decade of &lt;em&gt;relentless &lt;/em&gt;touring and graft. &lt;/p&gt;



&lt;p&gt;Puzzle was actually a pretty decent album and it does make me a bit sad that I initially rejected it. The real kicker, though, is I also rejected &lt;a href=&quot;https://album.link/s/6UuQatBlB5QYszvOsBawSD&quot;&gt;Only Revolutions&lt;/a&gt;, which came out in 2010. It’s a &lt;em&gt;banger&lt;/em&gt; and I feel like I have missed out on—at this point—years of joy from listening to it. Now though—mainly thanks to my small child who spotted the cover on Spotify in the car and asking me to play “superhero and grass music”—I am making up for it big time and thoroughly enjoying it. &lt;/p&gt;



&lt;p&gt;The irony is that when Biffy Clyro released their latest album, &lt;a href=&quot;https://album.link/gb/i/1501357162&quot;&gt;A Celebration Of Endings&lt;/a&gt;, I was—and still am—a superfan. I played the vinyl until it was pretty much see-through! &lt;/p&gt;



&lt;p&gt;The flip-side: I was &lt;em&gt;hugely &lt;/em&gt;into Nirvana when I was a younger teen, but then rejected them as cringe as I got older. It was only after reading &lt;a href=&quot;https://www.waterstones.com/book/the-storyteller/dave-grohl/9781398503724&quot;&gt;Dave Grohl’s book, The Storyteller&lt;/a&gt;, I remember how incredible they were as a band and subsequently, listened the heck out of them.&lt;/p&gt;



&lt;p&gt;The lesson? Don’t let your teenage (and adult) angst spoil a good thing for the present you. Check out the music that made you cringe then (and now), because heck, you might love it. Life is frankly, too short not to.&lt;/p&gt;
</content:encoded></item><item><title>A Celebration Of Endings – Biffy Clyro</title><link>https://bell.bz/a-celebration-of-endings-biffy-clyro/</link><guid isPermaLink="true">https://bell.bz/a-celebration-of-endings-biffy-clyro/</guid><pubDate>Wed, 03 Aug 2022 13:09:00 GMT</pubDate><content:encoded>
&lt;p&gt;I’ll prefix this recommendation with the fact that I am a Biffy &lt;em&gt;super fan&lt;/em&gt;. &lt;a href=&quot;https://album.link/gb/i/1450118821&quot;&gt;Infinity Land&lt;/a&gt; is in my &lt;a href=&quot;https://music.andy-bell.co.uk/tag/top%2010/&quot;&gt;top 10 albums of all time&lt;/a&gt;, after all. I’ve also seen them live at least 15 times over the years too!&lt;/p&gt;



&lt;p&gt;Now, I could be a dickhead and say “the old stuff was better”, which is sorta true. Biffy rightly and deservedly enjoyed a lot of commercial success—and still do—so some of the albums that got released in the 2010s was a bit, &lt;em&gt;mild&lt;/em&gt;. That doesn’t take anything away from the quality of the band as a whole though. &lt;a href=&quot;https://album.link/gb/i/1136817652&quot;&gt;Blackened Sky&lt;/a&gt;, &lt;a href=&quot;https://album.link/gb/i/1136804371&quot;&gt;Vertigo of Bliss&lt;/a&gt; and &lt;a href=&quot;https://album.link/gb/i/1450118821&quot;&gt;Infinity Land&lt;/a&gt; are elite albums and that’s just &lt;em&gt;my&lt;/em&gt; personal favourite era, but even with large commercial success, they still put out quality music.&lt;/p&gt;



&lt;p&gt;Speaking of which, A Celebration Of Endings gets us back towards that favourite era of mine. The production on the album is massive, it’s much heavier than the last few albums and the songwriting is nothing short of &lt;em&gt;stunning&lt;/em&gt;. It’s up there with those three excellent older albums in my opinion. &lt;a href=&quot;https://en.wikipedia.org/wiki/Simon_Neil&quot;&gt;Simon Neil&lt;/a&gt; singing “bullshit” in his Glaswegian accent will never get old too.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://album.link/gb/i/1501357162&quot;&gt;Listen here&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>That’s The Joint – Funky 4 + 1</title><link>https://bell.bz/thats-the-joint-funky-4-1/</link><guid isPermaLink="true">https://bell.bz/thats-the-joint-funky-4-1/</guid><pubDate>Wed, 03 Aug 2022 13:08:00 GMT</pubDate><content:encoded>
&lt;p&gt;This is absolute funk-tastic rap. Turn it up &lt;em&gt;loud&lt;/em&gt; and really listen.&lt;/p&gt;



&lt;p&gt;I’ve got a real soft-spot for live-feel hip hop and this album does not disappoint on that front. You’ll almost certainly recognise the track, “King Heroin”, too, because it’s been sampled &lt;em&gt;so many times&lt;/em&gt; by other artists.&lt;/p&gt;



&lt;p&gt;These folks inspired artists like Beastie Boys and Run DMC, so they’re a must listen.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://album.link/s/275LyQkw1Be2dDfYo64bOX&quot;&gt;Listen here&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Power</title><link>https://bell.bz/power/</link><guid isPermaLink="true">https://bell.bz/power/</guid><pubDate>Tue, 02 Aug 2022 10:44:28 GMT</pubDate><content:encoded>
&lt;p&gt;The only thing keeping my Netflix subscription was the kids stuff. My kids love it and it reduces the amount of annoying spoiled American kids opening toys on YouTube content.&lt;/p&gt;



&lt;p&gt;I was still thinking about ditching Netflix, though, because we literally never find anything on there we actually want to watch. There’s the odd good show, but the library of content is weak as fuck.&lt;/p&gt;



&lt;p&gt;Step up: Power. Holy shit it is good. Admittedly, my brother in law (and sister in law) have been telling us to watch it for &lt;em&gt;years, &lt;/em&gt;but we just kept forgetting about it. We did finally start watching it last week and we are &lt;em&gt;gripped. &lt;/em&gt;It’s the pre-algorithmic dogshit era of Netlix production, so it’s genuinely good. We’ve still got 5 seasons to get through too! &lt;/p&gt;



&lt;p&gt;Definitely check it out: &lt;a href=&quot;https://www.netflix.com/gb/title/70298433&quot;&gt;https://www.netflix.com/gb/title/70298433&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>It’s finally come home</title><link>https://bell.bz/its-finally-come-home/</link><guid isPermaLink="true">https://bell.bz/its-finally-come-home/</guid><pubDate>Sun, 31 Jul 2022 21:01:47 GMT</pubDate><content:encoded>
&lt;p&gt;Never in my 35 years did I think I’d watch England lift a major title. &lt;/p&gt;



&lt;p&gt;I’m so proud and my kids, they’re so inspired. Thank you, Lionesses 💜&lt;/p&gt;
</content:encoded></item><item><title>Getting into music recommendations again</title><link>https://bell.bz/getting-into-music-recommendations-again/</link><guid isPermaLink="true">https://bell.bz/getting-into-music-recommendations-again/</guid><pubDate>Fri, 22 Jul 2022 13:05:00 GMT</pubDate><content:encoded>
&lt;p&gt;I’m trying this whole music recommendation thing again and giving it a silly name: redrobotzoo. What does that mean, you wonder? Who knows—I’ve just had it for years and always wanted to do something with it.&lt;/p&gt;



&lt;p&gt;The concept of this is simple. I share albums I like listening to and what I’ve listened to in the week. Super short. Super snappy. Job done. Let’s dig in.&lt;/p&gt;



&lt;h2&gt;Moral Panic – Nothing But Thieves&lt;/h2&gt;



&lt;p&gt;A bit Killers-esque with some Josh Homme style tone. A little bit Royal Blood in there too. I discovered it on Radio 1 of all places while I was driving to Tesco LOL.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://album.link/gb/i/1519413837&quot;&gt;Listen&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;Them Crooked Vultures – Them Crooked Vultures&lt;/h2&gt;



&lt;p&gt;A side project by Dave Grohl (Nirvana, Foo Fighters), Josh Homme (Queens of the Stone Age) and John Paul Jones (Led Zeppelin). Seriously good and sounds very much like a QOTSA album.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://album.link/gb/i/1237748988&quot;&gt;Listen&lt;/a&gt;&lt;/p&gt;



&lt;h2&gt;Dyn-o-mite – ZelooperZ&lt;/h2&gt;



&lt;p&gt;This popped up on Spotify yesterday. The sub-bass is so heavy (and pure) that I thought my fuckin’ phone was vibrating on my desk. Definitely worth a (loud) listen.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://album.link/gb/i/1480547195&quot;&gt;Listen&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>Bye bye, Boris Johnson</title><link>https://bell.bz/bye-bye-boris-johnson/</link><guid isPermaLink="true">https://bell.bz/bye-bye-boris-johnson/</guid><pubDate>Thu, 07 Jul 2022 09:28:30 GMT</pubDate><content:encoded>
&lt;p&gt;938 days after winning a landslide election after promising to “get Brexit done” and “level up the north”, &lt;a href=&quot;https://www.bbc.com/news/live/uk-politics-62072419&quot;&gt;Boris Johnson will finally resign today&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;At the current count, &lt;a href=&quot;https://coronavirus.data.gov.uk/details/deaths?areaType=nation&amp;amp;areaName=England&quot;&gt;157,338 have died from Coronavirus&lt;/a&gt; (we know it’s much more)—a pandemic that he handled by telling the country to “take it on the chin”. &lt;/p&gt;



&lt;p&gt;The man is scum. The Tories are scum. Maybe we never have to suffer this again.&lt;/p&gt;



&lt;p&gt;Never forget what they did. &lt;strong&gt;Never vote for Tories.&lt;/strong&gt;&lt;/p&gt;
</content:encoded></item><item><title>Added Spotify to my music collection site</title><link>https://bell.bz/added-spotify-to-my-music-collection-site/</link><guid isPermaLink="true">https://bell.bz/added-spotify-to-my-music-collection-site/</guid><pubDate>Thu, 30 Jun 2022 11:33:38 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve got a pet project, my music collection site: &lt;a href=&quot;https://music.andy-bell.co.uk/&quot;&gt;https://music.andy-bell.co.uk/&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;I mess around with it every now and then for fun. It’s powered by Eleventy and a Notion Database, where I catalog all the music I own, be it Vinyl, CD or digital.&lt;/p&gt;



&lt;p&gt;I just added a new feature: my Spotify collection! I’m not a massive fan of Spotify, but I moved back because I got fed up of Apple Music’s UI (again). I also like the idea of playing with their web API. &lt;/p&gt;



&lt;p&gt;Anyway, check it out: &lt;a href=&quot;https://music.andy-bell.co.uk/spotify/&quot;&gt;https://music.andy-bell.co.uk/spotify/&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;I should go ahead and actually apply a proper UI to it now…&lt;/p&gt;
</content:encoded></item><item><title>Who knew? Blogging is helpful</title><link>https://bell.bz/who-knew-blogging-is-helpful/</link><guid isPermaLink="true">https://bell.bz/who-knew-blogging-is-helpful/</guid><pubDate>Tue, 28 Jun 2022 09:24:03 GMT</pubDate><content:encoded>
&lt;p&gt;I wrote a blog post: &lt;a href=&quot;https://piccalil.li/blog/a-cls-punishment-for-progressive-enhancement/&quot;&gt;https://piccalil.li/blog/a-cls-punishment-for-progressive-enhancement/&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;Then smart people responded with smart solutions:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;Scott: &lt;a href=&quot;https://twitter.com/scottjehl/status/1541454261678231552&quot;&gt;https://twitter.com/scottjehl/status/1541454261678231552&lt;/a&gt;&lt;/li&gt;&lt;li&gt;Barry: &lt;a href=&quot;https://twitter.com/tunetheweb/status/1541476225587314689&quot;&gt;https://twitter.com/tunetheweb/status/1541476225587314689&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;



&lt;p&gt;Blogging: it’s useful.&lt;/p&gt;
</content:encoded></item><item><title>FFConf 2022</title><link>https://bell.bz/ffconf-2022/</link><guid isPermaLink="true">https://bell.bz/ffconf-2022/</guid><pubDate>Mon, 27 Jun 2022 09:05:52 GMT</pubDate><content:encoded>
&lt;p&gt;I just bought an early bird ticket for FFConf 2022 &lt;a href=&quot;https://2022.ffconf.org/&quot;&gt;https://2022.ffconf.org/&lt;/a&gt;. My first real conference as an attendee since the last FFConf in [checks notes] 2019. &lt;/p&gt;



&lt;p&gt;Hope to see you there! &lt;/p&gt;
</content:encoded></item><item><title>Defensive CSS</title><link>https://bell.bz/defensive-css/</link><guid isPermaLink="true">https://bell.bz/defensive-css/</guid><pubDate>Fri, 24 Jun 2022 13:35:51 GMT</pubDate><content:encoded>
&lt;p&gt;The one and only, &lt;a href=&quot;https://twitter.com/shadeed9&quot;&gt;Ahmad Shadeed&lt;/a&gt; has launched defensive CSS—an outrageously detailed compendium of excellent CSS techniques to help you build resilient front-ends.&lt;/p&gt;



&lt;p&gt;It looks great. Check it out! &lt;a href=&quot;https://defensivecss.dev/&quot;&gt;https://defensivecss.dev/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>I hope Johnson doesn’t resign</title><link>https://bell.bz/i-hope-johnson-doesnt-resign/</link><guid isPermaLink="true">https://bell.bz/i-hope-johnson-doesnt-resign/</guid><pubDate>Fri, 24 Jun 2022 06:17:19 GMT</pubDate><content:encoded>
&lt;p&gt;I really &lt;em&gt;don’t &lt;/em&gt;want Boris Johnson to resign after being &lt;a href=&quot;https://www.bbc.co.uk/news/live/uk-politics-61789404&quot;&gt;thumped in by-elections&lt;/a&gt;. There’s a massive window of opportunity for a progressive alliance to absolutely wipe the floor with the Tories in a general election now.&lt;/p&gt;



&lt;p&gt;We could see the Tories out the of the picture for a generation. Let’s go! &lt;/p&gt;
</content:encoded></item><item><title>Learn Eleventy From Scratch Turns 2</title><link>https://bell.bz/learn-eleventy-from-scratch-turns-2/</link><guid isPermaLink="true">https://bell.bz/learn-eleventy-from-scratch-turns-2/</guid><pubDate>Wed, 22 Jun 2022 09:09:02 GMT</pubDate><content:encoded>
&lt;p&gt;Two years ago today, &lt;a href=&quot;https://twitter.com/hankchizljaw/status/1274975747007025155&quot;&gt;I published Learn Eleventy From Scratch&lt;/a&gt;. It was the first course I made and it blew me away how popular it ended up being. &lt;/p&gt;



&lt;p&gt;I just want to take this opportunity to thank &lt;em&gt;everyone&lt;/em&gt; who was kind enough to buy a copy of the course. I wanted to teach people not just &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy&lt;/a&gt;, but also, &lt;a href=&quot;https://issue33.com/&quot;&gt;how to build a really nice looking website&lt;/a&gt;, &lt;em&gt;well&lt;/em&gt;. I think I achieved that and even though I no longer maintain or update the course, &lt;a href=&quot;https://learneleventyfromscratch.com/&quot;&gt;I made it free to everyone last year&lt;/a&gt;, to expand that reach and to help as many people as possible learn how to build great websites.&lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://www.11ty.dev/docs/versions/&quot;&gt;Eleventy has changed &lt;em&gt;so much&lt;/em&gt; since I released the course&lt;/a&gt;—always for the better. I’m so glad I backed Eleventy when I did. I saw almost straight away that it was going to be a fantastic tool that would evolve in the right way. So much so, it came &lt;a href=&quot;https://andy-bell.co.uk/the-tech-tool-carousel/&quot;&gt;straight off the tech tool carousel&lt;/a&gt; when it arrived. This is because it’s clearly &lt;em&gt;web-first&lt;/em&gt; and rooted in performance. &lt;/p&gt;



&lt;p&gt;Big thanks to everyone that helped me put the course together. Special thanks to &lt;a href=&quot;https://twitter.com/Amy_Hupe&quot;&gt;Amy Hupe&lt;/a&gt; who edited the content. She not only did a great job of turning my nonsense writing into something very easy to consume, but she also dragged me through the most difficult part of the writing process when I was questioning whether or not I could even finish it. Nice one, Amy.&lt;/p&gt;



&lt;p&gt;Will I work on that course again? Who knows, maybe. The way I build websites is near enough the same, but I also build a lot less websites now. Instead, I now run &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt;, where my time doing production work gets slimmer and slimmer (because way more talented people than me do it instead). Maybe in the future, though, I’ll fire it all back up and modernise the course to feature all the fantastic features &lt;a href=&quot;https://twitter.com/zachleat&quot;&gt;Zach&lt;/a&gt; and the team have added over the last couple of years. Maybe I’ll just start from scratch, featuring the &lt;a href=&quot;https://buildexcellentwebsit.es/&quot;&gt;evolution of how we at Set, build extremely flexible front-ends&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;You will be happy—and no doubt—not surprised that Eleventy is almost always used on &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; projects and almost certainly will continue to do so. That’s why we &lt;a href=&quot;https://www.11ty.dev/docs/supporters/&quot;&gt;continue to help fund the project&lt;/a&gt;! &lt;/p&gt;



&lt;p&gt;I’ll close out with this: always—and I can’t stress this enough—back &lt;a href=&quot;https://www.11ty.dev/&quot;&gt;Eleventy&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>EL-P uses my stuff</title><link>https://bell.bz/el-p-uses-my-stuff/</link><guid isPermaLink="true">https://bell.bz/el-p-uses-my-stuff/</guid><pubDate>Tue, 21 Jun 2022 12:47:27 GMT</pubDate><content:encoded>
&lt;p&gt;You’d think my proudest achievement from working in tech would be working with some of the largest organisations in the world, right? &lt;/p&gt;



&lt;p&gt;Nah, it’s EL-P using my &lt;a href=&quot;https://piccalil.li/tutorial/build-a-fully-responsive-progressively-enhanced-burger-menu/&quot;&gt;burger menu component&lt;/a&gt; on their site &lt;a href=&quot;https://productomart.com/&quot;&gt;https://productomart.com/ &lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>Twice Thrice</title><link>https://bell.bz/twice-thrice/</link><guid isPermaLink="true">https://bell.bz/twice-thrice/</guid><pubDate>Sun, 19 Jun 2022 11:11:39 GMT</pubDate><content:encoded>
&lt;p&gt;I’m seeing Thrice twice in one year. What a treat! &lt;/p&gt;



&lt;p&gt;For Father’s Day, my kids got me tickets for 2000 Trees in July to see them headline the Friday and I get to see them play with Coheed and Cambria in October. &lt;/p&gt;



&lt;p&gt;I can’t bloody wait.&lt;/p&gt;
</content:encoded></item><item><title>Just read: I Should Be Able To Mute America</title><link>https://bell.bz/just-read-i-should-be-able-to-mute-america/</link><guid isPermaLink="true">https://bell.bz/just-read-i-should-be-able-to-mute-america/</guid><pubDate>Sun, 19 Jun 2022 09:06:59 GMT</pubDate><content:encoded>
&lt;p&gt;&lt;a href=&quot;https://www.gawker.com/culture/i-should-be-able-to-mute-america&quot;&gt;https://www.gawker.com/culture/i-should-be-able-to-mute-america&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;A lot of nodding from me and belly laughing too.&lt;/p&gt;



&lt;p&gt;Fav quotes:&lt;/p&gt;



&lt;blockquote&gt;&lt;p&gt;Instead, we caused the tweet to go viral and before we realized what was happening it drifted over to that foulest of places: American Twitter.&lt;/p&gt;&lt;/blockquote&gt;



&lt;p&gt;And…&lt;/p&gt;



&lt;blockquote&gt;&lt;p&gt;Before I sleep, I’m witness to many nightmares: Brooklynites are gutting each other over the sanctity of the bodega, Louisianan astro-poets are putting the wiccans to the torch because of their ongoing “amethyst erasure,” someone from Minnesota has gone viral claiming that it is an act of “class genocide” to know that drinking water keeps you hydrated, a Florida DSA chapter is publicly imploding over the contested value of feet pics, a &lt;em&gt;Washington Pos&lt;/em&gt;t columnist is loudly pissing themselves over a petty workplace slight, the bassplayer from a long defunct hardcore band is begging people to share the gofundme page for a single mother made homeless by a twenty minute hospital visit, while armchair experts debate the value of mask mandates as #1milliondead and #bidenbts trend in your sidebar.&lt;/p&gt;&lt;/blockquote&gt;



&lt;p&gt;Finally…&lt;/p&gt;



&lt;blockquote&gt;&lt;p&gt;Ted Cruz should be the name of an Italian pornstar in a &lt;em&gt;Love Boat&lt;/em&gt; porn parody&lt;/p&gt;&lt;/blockquote&gt;



&lt;p&gt;Very funny article. &lt;a href=&quot;https://www.gawker.com/culture/i-should-be-able-to-mute-america&quot;&gt;You should read it&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>Some holiday resolutions</title><link>https://bell.bz/some-holiday-resolutions/</link><guid isPermaLink="true">https://bell.bz/some-holiday-resolutions/</guid><pubDate>Sat, 18 Jun 2022 09:25:35 GMT</pubDate><content:encoded>
&lt;p&gt;I got back from a nice week in Greece today. It was a&lt;em&gt; much &lt;/em&gt;needed break with some &lt;em&gt;much&lt;/em&gt; needed time to slow down and think. Because of that, I came back with the following resolutions:&lt;/p&gt;



&lt;h2&gt;No Twitter until 5pm&lt;/h2&gt;



&lt;p&gt;What I did—using iOS Downtime—was stop myself from looking at Twitter until 5pm at the earliest. That hell site has a habit of completely ruining my mood, so not looking until at least 5pm meant I get most of a day before I see the dickhead of the day’s shite take. &lt;/p&gt;



&lt;p&gt;It’s been an experiment and it’s massively reduced the amount of time spent on there. &lt;a href=&quot;https://archive.hankchizljaw.com/wrote/hello-i&apos;m-andy-and-i&apos;m-addicted-to-twitter/&quot;&gt;I’m a full Twitter addict &lt;/a&gt;and I’m constantly trying to spend less time on there. &lt;a href=&quot;https://help.twitter.com/en/using-twitter/twitter-circle&quot;&gt;Circles&lt;/a&gt; has been a godsend for this too. I can tweet without a sea of reply guys, which is great. I would love to have a Circle timeline so I can only see what those mutuals are tweeting though.&lt;/p&gt;



&lt;p&gt;I really should post to Twitter from here—my website. I’ve got the posting setup real nice on my phone, so even short little posts are easy. Maybe I should have a rule where I only post to my Circle directly on Twitter and bring in replies as webmentions on my site for interacting with the wider Twitter community. &lt;/p&gt;



&lt;p&gt;I still checked in on Twitter while on holiday, though—unfortunately it’s intrinsically linked to work and being self-employed, you can’t &lt;em&gt;fully &lt;/em&gt;escape work while on holiday. I’d take that over having a boss though, any day of the week.&lt;/p&gt;



&lt;h2&gt;Read books every day&lt;/h2&gt;



&lt;p&gt;I read loads before the pandemic and really let that slip over the last couple of years. I only managed one full book this holiday—&lt;a href=&quot;https://www.amazon.co.uk/Fake-Law-Truth-About-Justice/dp/1529009944&quot;&gt;Fake Law, by The Secret Barrister&lt;/a&gt;—but bloody loved it. I did get very far into &lt;a href=&quot;https://www.amazon.co.uk/gp/product/B00J379DC2/ref=ppx_yo_dt_b_d_asin_title_o06?ie=UTF8&amp;amp;psc=1&quot;&gt;What If?: Serious Scientific Answers to Absurd Hypothetical Questions, by Randall Munroe (xkcd person)&lt;/a&gt;. This one is excellent.&lt;/p&gt;



&lt;p&gt;I’m going to read at least 15-20 mins a day ongoing. It’ll help keep me away from Twitter and hopefully, get me to bed earlier. I go to bed way too late and chilling with a book should help wind me down more (I hope).&lt;/p&gt;



&lt;h2&gt;Slow down and say no more&lt;/h2&gt;



&lt;p&gt;A consistent theme (along with my endless battle with Twitter addiction) for me is when stuff gets busy with work, I let it get the better of me.&lt;/p&gt;



&lt;p&gt;I’m lucky—&lt;a href=&quot;https://set.studio/&quot;&gt;the new agency&lt;/a&gt; is &lt;em&gt;flying&lt;/em&gt; a heck of a lot faster than I expected it too. That has brought a lot of stress and overlap with my existing freelance commitments though.&lt;/p&gt;



&lt;p&gt;A big problem is I’ve said yes to too many things and I should know better. This has unfortunately resulted in a couple of truly horrible projects this year, that have really dragged me down. I’m going to sort that right out because I’m not taking full advantage of being independent by working on crap stuff! &lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;Anyway, I’ve had a lovely time and feel completely recharged. hopefully the above resolutions will make that feeling last as long as possible!&lt;/p&gt;



&lt;p&gt;Edit: &lt;a href=&quot;https://twitter.com/hankchizljaw/status/1538210129870569472?s=21&amp;amp;t=qNAERWhsE5WtAofiiXNPrQ&quot;&gt;my circle timeline prayers have been answered &lt;/a&gt;&lt;/p&gt;



&lt;p&gt;&lt;/p&gt;



&lt;p&gt; &lt;/p&gt;
</content:encoded></item><item><title>I think “Raw Data Feel” by Everything Everything is my favourite album of 2022</title><link>https://bell.bz/i-think-raw-data-feel-by-everything-everything-is-my-favourite-album-of-2022/</link><guid isPermaLink="true">https://bell.bz/i-think-raw-data-feel-by-everything-everything-is-my-favourite-album-of-2022/</guid><pubDate>Wed, 08 Jun 2022 14:03:50 GMT</pubDate><content:encoded>
&lt;p&gt;Closely followed by &lt;a href=&quot;https://album.link/gb/i/1606780638&quot;&gt;Plosivs’ self-titled album&lt;/a&gt;. Still got 6 months to go for the year yet though, so plenty of chances for someone to pip them to the top.&lt;/p&gt;



&lt;p&gt;Check it out: &lt;a href=&quot;https://album.link/i/&quot;&gt;https://album.link/i/1601439797&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>Desktop-down design is so painfully dated and damaging to user experience</title><link>https://bell.bz/desktop-down-design-is-so-painfully-dated-and-damaging-to-user-experience/</link><guid isPermaLink="true">https://bell.bz/desktop-down-design-is-so-painfully-dated-and-damaging-to-user-experience/</guid><pubDate>Wed, 08 Jun 2022 12:44:50 GMT</pubDate><content:encoded>
&lt;p&gt;There’s of course, some cases where design for desktop-first is essential, but friends, when you’re designing a responsive website, you have to give mobile so much more attention. &lt;/p&gt;



&lt;p&gt;&lt;a href=&quot;https://gs.statcounter.com/platform-market-share/desktop-mobile-tablet&quot;&gt;Check out this chart from StatCounter&lt;/a&gt;: &lt;br /&gt;&lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1024&quot; height=&quot;576&quot; src=&quot;https://andy-bell.imgix.net/2022/06/StatCounter-comparison-ww-monthly-202105-202205-1-1024x576.png&quot; alt=&quot;A chart (which is linked above) showing that mobile consistently trends around 20% above desktop in device usage&quot; srcset=&quot;https://andy-bell.imgix.net/2022/06/StatCounter-comparison-ww-monthly-202105-202205-1-1024x576.png 1024w, https://andy-bell.imgix.net/2022/06/StatCounter-comparison-ww-monthly-202105-202205-1-300x169.png 300w, https://andy-bell.imgix.net/2022/06/StatCounter-comparison-ww-monthly-202105-202205-1-768x432.png 768w, https://andy-bell.imgix.net/2022/06/StatCounter-comparison-ww-monthly-202105-202205-1.png 1280w&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;Now imagine starting with desktop, or worse, not even considering mobile. I hate saying “mobile” too, because a small screen does not equal a mobile device—it could mean anything. &lt;a href=&quot;https://noti.st/hankchizljaw/sFPK4R/be-the-browsers-mentor-not-its-micromanager#sH6JNKj&quot;&gt;As I explain in my recent talk&lt;/a&gt;, there is so much fragmentation in device and viewport sizes, that picking just a couple is futile, but at least targeting the smallest viewport is a good place to be. &lt;/p&gt;



&lt;p&gt;I’m telling you, when you do that, you will 100% improve how your website works for everyone, and &lt;a href=&quot;https://buildexcellentwebsit.es/&quot;&gt;that’s the most important thing&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>The tech tool carousel</title><link>https://bell.bz/the-tech-tool-carousel/</link><guid isPermaLink="true">https://bell.bz/the-tech-tool-carousel/</guid><pubDate>Sun, 29 May 2022 07:23:48 GMT</pubDate><content:encoded>
&lt;p&gt;I recently described what I call “the carousel” to some fellow nerds so I thought I’d write about it.&lt;/p&gt;



&lt;p&gt;I’m a lot of years into this web thing and I’ve seen a lot of “game changers” come and go. It’s all very cyclical and predictable.&lt;/p&gt;



&lt;p&gt;I also have unbearably high standards for the work I put out too, so chasing new tools—like a dog chases a butcher who has a string of sausages—is highly incompatible with that. Because of this, I put new tools on the carousel and keep an eye on them, periodically.&lt;/p&gt;



&lt;p&gt;The carousel is like one of those on a game show that shows the prizes that can be won. The tool will sit on there until I think it’s gone through enough maturing to actually be a viable tool for me, the team I’m working with and the clients I’m working for. React, for example, spent well over 7 years on that carousel.&lt;/p&gt;



&lt;p&gt;It’s a really useful strategy because some tools stay on the carousel and then I take them off because they did in fact, turn out to be useless after all. Gatsby is a good example of that. &lt;/p&gt;



&lt;p&gt;The unbearable amount of hype that tool generated was a bit of a tell-tail sign of its uselessness. So often, the most hyped tools turn out to be complete shit in real-world scenarios. By letting the most evangelical people get all that out of the way while it sits on my carousel saves me a lot time and frankly, energy.&lt;/p&gt;



&lt;p&gt;You see, dear reader, I in fact do not enjoy coding. I enjoy what coding empowers me to do, but the process of writing silly little words, numbers and punctuation is not a pleasurable experience. I just want to get the thing that coding outputs. I only started coding because so often, developers—as I hypothesised—would build my design work with their eyes closed, so I learned HTML, CSS and JavaScript out of spite, mainly.&lt;/p&gt;



&lt;p&gt;This is why the carousel exists and not many tools make it off. Some do then go back on. Tailwind is a good example of that. I used it a few years ago on a client project and found it to be near-useless. But, now, I’m using it on most projects because that thing does a damn good job of only generating the utility classes I need to finely season my existing HTML and CSS. It’s just a shame it’s most avid fans (and creator) are such unbearable dickheads. &lt;/p&gt;



&lt;p&gt;Anyway, I’m prompted to write this because Remix and Astro get all the hype now and are enjoying their ride on the carousel. Will they be a Gatsby or and Eleventy (which had the shortest ride on the carousel in history because it’s &lt;em&gt;so good&lt;/em&gt;)? Only time will tell.&lt;/p&gt;
</content:encoded></item><item><title>He’ll get away with it</title><link>https://bell.bz/hell-get-away-with-it/</link><guid isPermaLink="true">https://bell.bz/hell-get-away-with-it/</guid><pubDate>Wed, 25 May 2022 12:56:37 GMT</pubDate><content:encoded>
&lt;p&gt;Our system is built so people like Boris Johnson get away with it.&lt;/p&gt;



&lt;p&gt;The only way to remove him is via his Conservative party. The same conservative party responsible for the hostile environment and austerity. These people are scum.&lt;/p&gt;



&lt;p&gt;They’ll probably still get votes though and they’ll still win elections because they have the support of the scum right-wing print media.&lt;/p&gt;



&lt;p&gt;I empathised with people who voted Conservative and who voted for Brexit. They were promised change while the opposition only promised more foot-dragging. I get it—if you’re struggling to get by and you’ve spent your entire life being promised the earth by politicians, yet nothing ever changes, you’re going to gravitate towards that change.&lt;/p&gt;



&lt;p&gt;It despises me when people claim to be on the left, yet describe people described above as idiots and scum. It’s a cheap shot that goes against everything it means to be on the left. You’re punching down. &lt;/p&gt;



&lt;p&gt;Surely now people who voted for this government can see that they have let them down time and time again. In fact, they’ve almost certainly made your life worse. I plead with you that you remember that at the next election—even when the right-wing media gaslight you. &lt;/p&gt;



&lt;p&gt;Please never vote Conservative again. It’s up to us to make sure they don’t get away with it.&lt;/p&gt;
</content:encoded></item><item><title>Give me a design tool that supports responsive design</title><link>https://bell.bz/give-me-a-design-tool-that-supports-responsive-design/</link><guid isPermaLink="true">https://bell.bz/give-me-a-design-tool-that-supports-responsive-design/</guid><pubDate>Wed, 25 May 2022 09:37:44 GMT</pubDate><content:encoded>
&lt;p&gt;Tools like &lt;a href=&quot;https://www.figma.com/&quot;&gt;Figma&lt;/a&gt; are coming on leaps and bounds, but we’re still producing pictures of designs in them. I’ve been playing with &lt;a href=&quot;https://webflow.com/&quot;&gt;Webflow&lt;/a&gt; a bit recently, but there’s seemingly not a simple way to use &lt;code&gt;clamp()&lt;/code&gt; for sizing type and space—not to mention &lt;a href=&quot;https://every-layout.dev/&quot;&gt;Every Layout&lt;/a&gt; layouts. &lt;/p&gt;



&lt;p&gt;HTML and CSS are my preferred design tool—in fact, the design phase isn’t “done” at &lt;a href=&quot;https://set.studio/&quot;&gt;Set Studio&lt;/a&gt; until we have produced HTML and CSS because a picture of a design (even with all the prototype tooling) just doesn’t compare to the real deal.&lt;/p&gt;



&lt;p&gt;A tool that let us do creative design and CSS in tandem, frictionlessly: that’s the dream. &lt;/p&gt;
</content:encoded></item><item><title>I Deleted TikTok</title><link>https://bell.bz/i-deleted-tiktok/</link><guid isPermaLink="true">https://bell.bz/i-deleted-tiktok/</guid><pubDate>Tue, 24 May 2022 06:48:52 GMT</pubDate><content:encoded>
&lt;p&gt;It’s fun and always provides me with LOLs, but my god, it &lt;em&gt;eats&lt;/em&gt; time. Like, &lt;em&gt;a lot&lt;/em&gt; of time.&lt;/p&gt;



&lt;p&gt;&lt;/p&gt;
</content:encoded></item><item><title>Blog more, Andy</title><link>https://bell.bz/blog-more-andy/</link><guid isPermaLink="true">https://bell.bz/blog-more-andy/</guid><pubDate>Mon, 25 Apr 2022 14:50:42 GMT</pubDate><content:encoded>
&lt;p&gt;Probably gonna have to blog more on here. Luckily I’ve got some syndication stuff set up already so could post out to a couple of places if we all bail on twitter. &lt;/p&gt;



&lt;p&gt;Tumblr and Mastodon are sure looking attractive again. &lt;/p&gt;
</content:encoded></item><item><title>Buying random albums</title><link>https://bell.bz/buying-random-albums/</link><guid isPermaLink="true">https://bell.bz/buying-random-albums/</guid><pubDate>Tue, 05 Apr 2022 10:24:24 GMT</pubDate><content:encoded>
&lt;p&gt;I’m doing a new thing. Now that I’m back working from a co working space once or twice a week, I’m back in town again. This means I’m back browsing record stores.&lt;/p&gt;



&lt;p&gt;What I’m doing for this new thing is picking up an album that stands out to me that I previously had no idea existed and buying it. This is how I used to discover new music years ago: buying random CDs. For this, it doesn’t matter if it’s CD or vinyl; if I get a good vibe off it, I buy it, take it home and just listen. &lt;/p&gt;



&lt;p&gt;The first album I’ve picked is &lt;a href=&quot;https://album.link/s/0Q5XBpCYFgUWiG9DUWyAmJ&quot;&gt;Scaled and Icy by Twenty One Pilots&lt;/a&gt;. When I put the CD in, Apple Music told me it was indie, which made me do a bit of a sigh—I find a lot of indie music to be very bland, like unseasoned chicken. This album is very much &lt;em&gt;not&lt;/em&gt; like that though: its a fucking banger! I’m super chuffed. &lt;/p&gt;



&lt;p&gt;On to the next one &lt;/p&gt;
</content:encoded></item><item><title>A letter to my MP</title><link>https://bell.bz/a-letter-to-my-mp/</link><guid isPermaLink="true">https://bell.bz/a-letter-to-my-mp/</guid><pubDate>Tue, 29 Mar 2022 12:50:50 GMT</pubDate><content:encoded>
&lt;p&gt;Today, the &lt;a href=&quot;https://www.bbc.co.uk/news/uk-politics-60911798&quot;&gt;Metropolitan Police are issuing fines&lt;/a&gt; in relation to the &lt;a href=&quot;https://www.bbc.co.uk/news/uk-politics-59577129&quot;&gt;illegal gatherings in-and-around Number 10 in 2020 and 2021&lt;/a&gt;. I’ve written a letter to &lt;a href=&quot;https://members.parliament.uk/member/253/contact&quot;&gt;my MP&lt;/a&gt; asking them to act. &lt;/p&gt;



&lt;p&gt;I never voted this MP in. I would rather scoop out my own eyes with a rusty spoon than ever vote Tory. He is, however, our MP and has a duty to represent me and other Tewkesbury constituents. &lt;/p&gt;



&lt;h2&gt;The letter&lt;/h2&gt;



&lt;p&gt;Dear Laurence Robertson,&lt;/p&gt;



&lt;p&gt;My Name is Andy Bell, a constituent of Tewkesbury. I’m writing to you today to ask you to act on mine, and other Tewkesbury constituent’s behalf.&lt;/p&gt;



&lt;p&gt;In May 2020, June 2020, November 2020, December 2020, January 2021 and April 2021, members of staff at Number 10—including the Prime Minister—attended various events that were in breach of the laws introduced in response to COVID-19. These laws prevented not only social gatherings, but people attending funerals, spending the last moments with dying relatives and attending the birth of their children, to name just a few. Mr Robertson, &lt;strong&gt;people died alone&lt;/strong&gt; because of these laws.&lt;/p&gt;



&lt;p&gt;On December 1, in the House of Commons, the Prime Minister said:&lt;/p&gt;



&lt;blockquote&gt;&lt;p&gt;“What I can tell the right hon and learned gentleman is that all guidance was followed completely in No 10.”&lt;/p&gt;&lt;/blockquote&gt;



&lt;p&gt;On the December 7—also in the House of Commons, the Prime Minister said:&lt;/p&gt;



&lt;blockquote&gt;&lt;p&gt;“All the guidelines were observed.”&lt;/p&gt;&lt;/blockquote&gt;



&lt;p&gt;Lastly, on December 8—again, in the House of Commons, the Prime Minister said (paraphrased by myself for brevity):&lt;/p&gt;



&lt;blockquote&gt;&lt;p&gt;“…all the evidence I can see, people in this building have stayed within the rules…”&lt;/p&gt;&lt;/blockquote&gt;



&lt;p&gt;As you will be aware, misleading Parliament is in breach of the Ministerial Code. There is an expectation that if a Minister breaches the Ministerial Code, they should resign.&lt;/p&gt;



&lt;p&gt;Today, March 29 2022, the Metropolitan Police are issuing fines for breaches of the COVID 19 laws mentioned above. This confirms that &lt;strong&gt;rules were broken&lt;/strong&gt; in-and-around Number 10, meaning that &lt;strong&gt;the Prime Minister misled parliament&lt;/strong&gt;. It is likely that the Prime Minister themselves will be presented with a fine, which could be argued, is another breach of the Ministerial Code; especially as the Minister in question—along with MPs—is responsible for the law that they broke (if fined).&lt;/p&gt;



&lt;p&gt;As a constituent of Tewkesbury, I expect you—our MP—to act on our behalf. I request that you do everything that is in your power as an MP and a member of the Conservative Party to ensure that this breach of the Ministerial Code results in the resignation of the Prime Minister. At the &lt;strong&gt;very least&lt;/strong&gt;, I expect you to &lt;strong&gt;deliver a letter of no confidence to the 1922 Committee of Conservative Backbenchers&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;I look forward to hearing how you have acted as our MP in response to this matter.&lt;/p&gt;



&lt;p&gt;Yours sincerely,&lt;br /&gt;Andy Bell&lt;/p&gt;
</content:encoded></item><item><title>Taking it slow</title><link>https://bell.bz/taking-it-slow/</link><guid isPermaLink="true">https://bell.bz/taking-it-slow/</guid><pubDate>Wed, 09 Mar 2022 10:34:54 GMT</pubDate><content:encoded>
&lt;p&gt;Since January I’ve done back-to-back projects with no breather and bloody hell, I’m tired. The last one that ended on Friday was especially—shall we say—&lt;em&gt;challenging&lt;/em&gt; and it’s because of that, I’m having a very easy going week. &lt;/p&gt;



&lt;p&gt;I signed up for a co-working space in Cheltenham because 2 years since I last had some space (a hired office then), I’m a bit fed up of working at home every day. I am and always will be &lt;em&gt;extremely&lt;/em&gt; into remote working, but remote doesn’t mean &lt;em&gt;at home&lt;/em&gt;. It to me, means being completely flexible and having a bit of space away from home does exactly that. &lt;/p&gt;



&lt;p&gt;I also managed to finally &lt;a href=&quot;https://set.studio/&quot;&gt;put a better landing page for my new agency—Set Creative Studio—together&lt;/a&gt;. I just haven’t had time to do the full site yet and I wanted the branding that I put so much work into, get some better representation. It was fun to do some creative front-end, that’s for sure! &lt;/p&gt;



&lt;p&gt;Anyway, I’m just pootling around with some bits and pieces this week—like playing with &lt;a href=&quot;https://music.andy-bell.co.uk&quot;&gt;my music catalogue site&lt;/a&gt;—and enjoying the incoming nicer weather. I am determined not to over-work like I did last year. Never again. &lt;/p&gt;
</content:encoded></item><item><title>Moving streaming services</title><link>https://bell.bz/moving-streaming-services/</link><guid isPermaLink="true">https://bell.bz/moving-streaming-services/</guid><pubDate>Mon, 31 Jan 2022 11:16:34 GMT</pubDate><content:encoded>
&lt;p&gt;In light of the recent Spotify stuff—&lt;a href=&quot;https://pitchfork.com/news/after-neil-young-boycott-spotify-adding-content-advisories-to-any-podcast-that-discusses-covid-19/&quot;&gt;including their predictably poor response&lt;/a&gt;: people are rightly looking to move streaming services. I’ve not been on Spotify for a while—I found the relentless plugging of podcasts super annoying on a “music” platform, so I moved off before things got as bad as they are. I also, personally, found the quality of streaming sub-par, at best. &lt;/p&gt;



&lt;p&gt;I moved from Spotify to Apple Music. I really like the service, although integration with Last.FM is &lt;em&gt;difficult&lt;/em&gt;. The audio quality is really decent most of the time and they’ve ironed out a lot of the problems they had in the early days. If you’ve already got Apple services like iCloud storage and whatnot, you can get it cheaper with the &lt;a href=&quot;https://www.apple.com/uk/apple-one/&quot;&gt;Apple One subscription&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;One thing I also like about Apple Music is that it works pretty good with my existing local collection of music. It’s not &lt;em&gt;great&lt;/em&gt;, but it’s not terrible. I found players like Roon bloody awful to use. Bring back winamp!&lt;/p&gt;



&lt;p&gt;An outlier, but very good service is Tidal. &lt;a href=&quot;https://support.tidal.com/hc/en-us/articles/115000397069-TIDAL-Masters-and-Master-Quality-Audio&quot;&gt;Their “master quality” streams&lt;/a&gt; are bloody good and very warm sounding. They’re very close to a good quality local FLAC file. I like that Tidal pay the most to artists per stream, too (nearly 10x more than Spotify). It is still pittance though, being less than a cent… &lt;a href=&quot;https://producerhive.com/music-marketing-tips/streaming-royalties-breakdown/#ftoc-heading-1&quot;&gt;You can read about those royalties here&lt;/a&gt;.&lt;/p&gt;



&lt;h2&gt;What’s my setup now?&lt;/h2&gt;



&lt;p&gt;I try to buy as much music as possible—be it Vinyl, CD, cassettes or digitally with Bandcamp etc. You can &lt;a href=&quot;https://www.discogs.com/user/hankchizljaw/collection&quot;&gt;check out my physical collection here&lt;/a&gt;. &lt;/p&gt;



&lt;p&gt;I’ve been on Apple Music for ages now, but I’m actually trying out Tidal again. I moved stuff around stuff really easily with &lt;a href=&quot;https://songshift.com/&quot;&gt;songshift&lt;/a&gt; too, so definitely give that a look. I tend to share music links via &lt;a href=&quot;https://odesli.co/&quot;&gt;song.link (AKA odesli)&lt;/a&gt; too, so regardless of platform, people can get access to recommendations easily. &lt;a href=&quot;https://www.last.fm/user/andyvirus&quot;&gt;I track with Last.FM too&lt;/a&gt;, which again, makes moving platforms a non-issue. It’s also a pretty wholesome service, even all these years later! I use it to generate that little latest track thing on the bottom of the page. &lt;/p&gt;



&lt;p&gt;I hope this little run-down helps if you are on the fence with streaming services.  &lt;/p&gt;
</content:encoded></item><item><title>I used Tailwind for the U in CUBE CSS and I liked it</title><link>https://bell.bz/i-used-tailwind-for-the-u-in-cube-css-and-i-liked-it/</link><guid isPermaLink="true">https://bell.bz/i-used-tailwind-for-the-u-in-cube-css-and-i-liked-it/</guid><pubDate>Fri, 28 Jan 2022 11:33:00 GMT</pubDate><content:encoded>
&lt;p&gt;&lt;em&gt;A client project requirement meant I made a CUBE CSS with Tailwind prototype that actually turned out really well.&lt;/em&gt;&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;I’ve recently started a new client project where there’s a few developers involved. These developers vary in speciality and I of course, specialise in design implementation—what the folks at Clearleft &lt;a href=&quot;https://clearleft.com/posts/design-engineering-and-development-at-clearleft&quot;&gt;describe accurately as Design Engineering&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;With that, I’ve mostly taken charge of the CSS stuff and naturally suggested &lt;a href=&quot;https://cube.fyi/&quot;&gt;CUBE CSS&lt;/a&gt;, &lt;a href=&quot;https://every-layout.dev/&quot;&gt;Every Layout&lt;/a&gt; and a fluid type and space system, powered by &lt;a href=&quot;https://utopia.fyi/&quot;&gt;Utopia&lt;/a&gt;. This landed well with the developers, but there was an ask: “Can we use Tailwind, because we’ve used that for the last couple of projects”.&lt;/p&gt;



&lt;p&gt;Normally, I’ll push hard on that sort of ask, because from lots of experience: very often when teams lean heavily into a framework, it accumulates a lot of expensive technical debt. But, a combination of a tight timeline and a need to practice what I preach—prototypes, prototypes, prototypes—I suggested that &lt;a href=&quot;https://github.com/tailwindlabs/tailwindcss&quot;&gt;Tailwind&lt;/a&gt; should be part of the &lt;a href=&quot;https://cube.fyi/utility.html&quot;&gt;U in CUBE CSS&lt;/a&gt; for this project and I went ahead and &lt;a href=&quot;https://cube-css-with-tailwind.netlify.app/&quot;&gt;made a prototype&lt;/a&gt; to test that approach.&lt;/p&gt;



&lt;p&gt;This article is a report of sorts on that prototype and using Tailwind like this (and generally, I guess).&lt;/p&gt;



&lt;h2&gt;Why I didn’t want us to use Tailwind for everything&lt;/h2&gt;



&lt;p&gt;A big part of how I structure CSS—with CUBE CSS—is to reduce how much CSS is written and maintained over time. It’s also very important to present the browser with rules and systems that &lt;strong&gt;let them do the work&lt;/strong&gt;, rather than micro-managing them to render exactly what you think the design &lt;em&gt;has&lt;/em&gt; to look like.&lt;/p&gt;



&lt;p&gt;This is firstly antithetical to the web as a whole: it’s a flexible medium that is open an accessible to anyone with an internet connection and a browser. With that, the sheer number of different devices, connection speeds, broken devices, dodgy software and dodgy connections is &lt;em&gt;eye-watering&lt;/em&gt;. Writing very specific rules in that context seems a bit silly doesn’t it? I certainly think so. That’s why I aim to make things as flexible as possible with what I produce.&lt;/p&gt;



&lt;p&gt;In my opinion, this is difficult when using Tailwind as the central, standalone CSS codebase. Sure, you can gain a lot of consistency with utility-first tools like Tailwind and &lt;a href=&quot;https://tachyons.io/&quot;&gt;Tachyons&lt;/a&gt;. Heck, &lt;a href=&quot;https://twitter.com/stubbornella&quot;&gt;Nicole Sullivan&lt;/a&gt; has been &lt;a href=&quot;https://www.slideshare.net/stubbornella/object-oriented-css&quot;&gt;teaching us all to split out CSS like this since around 2009 with OOCSS&lt;/a&gt;. I even used to write &lt;em&gt;extremely rigid&lt;/em&gt; CSS with &lt;a href=&quot;http://getbem.com/&quot;&gt;BEM&lt;/a&gt;, mainly because browser compatibility was shocking last decade, so I wanted to make my code as safe as possible. This isn’t the case now, nor has it been for at least half a decade, so tools that write so-called “safe” CSS are much less useful than they were previously.&lt;/p&gt;



&lt;p&gt;I look at this a bit how I look at CSS layout. For years we hacked layout together with floats, &lt;code&gt;display: table&lt;/code&gt; etc. and it worked pretty well. Later on though, when Flexbox and Grid arrived, the need to hack layout together was redundant. That’s how I see super specific CSS now: because browser compatibility is stable &lt;em&gt;and&lt;/em&gt; CSS is so much more powerful now, we can trust it do deliver truly stunning designs to &lt;em&gt;everyone&lt;/em&gt; by &lt;a href=&quot;https://www.youtube.com/watch?v=zN63Kxsr9-w&quot;&gt;writing it flexibly with progressive enhancement&lt;/a&gt;.&lt;/p&gt;



&lt;h2&gt;The proposed project setup&lt;/h2&gt;



&lt;p&gt;With that context and back-story out of the way, let’s get into the meat and taters of this article. &lt;a href=&quot;https://github.com/hankchizljaw/CUBE-with-tailwind&quot;&gt;The prototype&lt;/a&gt;’s CSS structure is as follows:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://cube.fyi/&quot;&gt;CUBE CSS&lt;/a&gt; as the overarching methodology&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://every-layout.dev/&quot;&gt;Every Layout&lt;/a&gt; layouts providing the &lt;a href=&quot;https://cube.fyi/composition.html&quot;&gt;C in CUBE&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://tailwindcss.com/docs/configuration&quot;&gt;Tailwind utilities&lt;/a&gt; providing the &lt;a href=&quot;https://cube.fyi/utility.html&quot;&gt;U in CUBE&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://utopia.fyi/&quot;&gt;Utopia&lt;/a&gt; providing a fluid type scale and fluid space scale&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;On paper this looks like a real mashup, but aside from using Tailwind (I’ve been using &lt;a href=&quot;https://github.com/hankchizljaw/gorko&quot;&gt;Gorko&lt;/a&gt; for utilities), this is how I’ve been writing CSS for a couple of years now and it’s been very successful. A recent example of this is that it powers the &lt;a href=&quot;https://web.dev/&quot;&gt;web.dev&lt;/a&gt; front-end and design system.&lt;/p&gt;



&lt;p&gt;A challenge for me in this project is that if we’re going to run with this approach, it’s looking we can’t really use &lt;a href=&quot;https://sass-lang.com/&quot;&gt;Sass&lt;/a&gt;, which I am a fan of for keeping my CSS nice and organised. The way I see it though is that you need to meet each other in the middle in these situations, so I’ll pass-up Sass, just like the other developers are passing-up using Tailwind for &lt;em&gt;everything&lt;/em&gt;.&lt;/p&gt;



&lt;p&gt;What I want to &lt;em&gt;really&lt;/em&gt; avoid is the PostCSS pretending to be Sass setup—which is very possible—but oh-so-fragile. I’ve had awful experiences with this too. Instead, I’ll be recommending that we lean into &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/--*&quot;&gt;CSS Custom Properties&lt;/a&gt;. We could use Tailwind’s &lt;code&gt;@apply&lt;/code&gt; to apply utilities in our components (Blocks in CUBE CSS), but that in my opinion is some potentially expensive technical debt. Mainly because I can already see issues with how Tailwind might clash with upcoming CSS features, such as &lt;code&gt;@layer&lt;/code&gt;.&lt;/p&gt;



&lt;p&gt;In the space of very little time, I managed to roll-out &lt;a href=&quot;https://github.com/hankchizljaw/CUBE-with-tailwind/blob/main/css-props-generator.js&quot;&gt;a little generator&lt;/a&gt; that takes Tailwind config groups and generates CSS Custom Properties. This is a good start and could rather easily create a solid system for creating reusable tokenised CSS—even if—or even, when—Tailwind is no longer preferable to the wider team.&lt;/p&gt;



&lt;p&gt;So now, at this point, everything has a place. I like how adding a fluid scale was effortless in the Tailwind config too. That makes things much easier.&lt;/p&gt;



&lt;p&gt;The CSS directory structure looks like this now:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;src
└── css
    ├── blocks
    ├── compositions
    ├── utilities
    ├── cube.css
    ├── custom-props.css (generated)
    ├── global.scss
    └── reset.scss
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Notice that there is a utilities directory. This is because—&lt;a href=&quot;https://cube.fyi/utility.html&quot;&gt;as per CUBE CSS&lt;/a&gt;—there are utilities that do one job and do that job well. The &lt;a href=&quot;https://piccalil.li/quick-tip/visually-hidden/&quot;&gt;&lt;code&gt;.visually-hidden&lt;/code&gt; utility&lt;/a&gt; is a great example of that. It &lt;em&gt;just&lt;/em&gt; visibly hides content while making it available to assertive technology users, such as screenreader users.&lt;/p&gt;



&lt;p&gt;Rather annoyingly, because &lt;a href=&quot;https://www.npmjs.com/package/postcss-partial-import&quot;&gt;PostCSS imports&lt;/a&gt; need to be at the top of a file, I had to import blocks, compositions and utilities in a separate &lt;code&gt;cube.css&lt;/code&gt; file. This was because I wanted the Tailwind utilities to render &lt;em&gt;last&lt;/em&gt; and the other partials to come after the global CSS, so I can lean into the cascade. Any tips on how I could not have to do that would be appreciated!&lt;/p&gt;



&lt;h2&gt;Things I like and dislike about Tailwind&lt;/h2&gt;



&lt;p&gt;One thing about Tailwind that I found &lt;em&gt;super frustrating&lt;/em&gt; was that it took me &lt;em&gt;ages&lt;/em&gt; to get up and running with it. This is often the case with tools that you don’t use a lot—I get that—and the problem with me is that I really didn’t want to use their whole config, which added time. &lt;a href=&quot;https://unpkg.com/browse/tailwindcss@3.0.17/stubs/defaultConfig.stub.js&quot;&gt;That full config is massive&lt;/a&gt;. What would be nice would be a skeletal config that you can generate with the CLI. Something that just provides the bare basics. A bit like I do with &lt;a href=&quot;https://github.com/hankchizljaw/gorko#configuration&quot;&gt;Gorko&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;A good example here is that the full config ships a lot of layout stuff—even bizarrely, Grid—which because we’ve got &lt;a href=&quot;https://every-layout.dev/&quot;&gt;Every Layout&lt;/a&gt; and the &lt;a href=&quot;https://cube.fyi/composition.html&quot;&gt;Composition layer&lt;/a&gt;, we just don’t need them. I get that a lot of folks would find that stuff useful, but a middle-ground config without this stuff would be very helpful for others too.&lt;/p&gt;



&lt;p&gt;On the subject of the config, I &lt;em&gt;love&lt;/em&gt; that it’s JavaScript-based. Being able to manipulate data in place will undoubtedly make it useful when dealing with externally defined design tokens. This type of thing is just &lt;em&gt;lush&lt;/em&gt;:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;margin: ({theme}) =&amp;gt; ({
  auto: &apos;auto&apos;,
  ...theme(&apos;spacing&apos;)
}),&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;The bit about the config I find extremely impressive and useful: the &lt;a href=&quot;https://tailwindcss.com/docs/content-configuration&quot;&gt;&lt;code&gt;content&lt;/code&gt; section of the config&lt;/a&gt;. I piped the path to my little HTML page and &lt;em&gt;bosh&lt;/em&gt;, it only generated the utilities I need. Versus what I’ve seen before—&lt;a href=&quot;https://www.youtube.com/watch?v=8oMekThCB9k&quot;&gt;and talked about a lot&lt;/a&gt;—where Tailwind would generate a &lt;em&gt;lot&lt;/em&gt; of cruft: this is a huge, positive step. Very nice work indeed, folks.&lt;/p&gt;



&lt;p&gt;Lastly, the &lt;a href=&quot;https://tailwindcss.com/docs/&quot;&gt;documentation site is excellent&lt;/a&gt;. I found nearly everything I needed, really easily. Well, it is fantastic, once you get past the frankly, outrageous copy on the &lt;a href=&quot;https://tailwindcss.com/&quot;&gt;homepage&lt;/a&gt;, such as this howler:&lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;“Best practices” don’t actually work.&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;I don’t think I’ll ever stop side-eyeing that one 🥴&lt;/p&gt;



&lt;p&gt;One thing that is frustrating about searching for Tailwind stuff on the web is that because it’s the Hot Framework Of The Moment™, there’s a lot of &lt;em&gt;garbage&lt;/em&gt; articles out there, jumping on the hype train. That’s always the case, though, and I remember finding the same when searching React stuff, a few years ago, so I can’t really blame Tailwind for that.&lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;All of the above resulted in a nice little prototype, which you can &lt;a href=&quot;https://cube-css-with-tailwind.netlify.app/&quot;&gt;see here&lt;/a&gt;. You can also &lt;a href=&quot;https://github.com/hankchizljaw/CUBE-with-tailwind&quot;&gt;see the source code here&lt;/a&gt;. It’s super rough around the edges, and you’ll see where I was exploring using &lt;code&gt;@apply&lt;/code&gt; in places, but it should hopefully give you an idea of where I’m at with this.&lt;/p&gt;



&lt;p&gt;I’m very often accused of being a “Tailwind hater”, but the reality is that I see flaws in using it for &lt;em&gt;everything&lt;/em&gt; and people don’t like that. I also vehemently dislike how it is marketed (like the above quote), which is often mistaken for “hate” of the whole project. I actually used Tailwind for a project &lt;em&gt;way&lt;/em&gt; back in 2018 when it was a much younger tool, so it’s not like I haven’t had exposure to it to form my opinions, which from that experience, were not overly positive. That is less the case now, as I’ve just demonstrated.&lt;/p&gt;



&lt;p&gt;The thing I do actually hate about Tailwind is that when someone criticises it, a swarm of petulant men-children harass them on social media. I don’t imagine that will ever change—I can’t see the Tailwind folks actually doing anything to counter that either (although I would love to be proven wrong). What Tailwind is though, is a tool that has evolved &lt;em&gt;very nicely&lt;/em&gt; and in the context I’m using it for in this prototype—as a utility generator—it works an absolute charm.&lt;/p&gt;



&lt;p&gt;It’s likely this won’t be the last time it meets &lt;a href=&quot;https://andy-bell.co.uk/cube-css/&quot;&gt;CUBE CSS&lt;/a&gt; in my projects.&lt;/p&gt;
</content:encoded></item><item><title>The five levels of hype</title><link>https://bell.bz/the-five-levels-of-hype/</link><guid isPermaLink="true">https://bell.bz/the-five-levels-of-hype/</guid><pubDate>Wed, 26 Jan 2022 10:34:48 GMT</pubDate><content:encoded>
&lt;p&gt;This is bloody brilliant: &lt;a href=&quot;https://johannesklingebiel.de/2022/01/12/hype-as-a-scale.html
&quot;&gt;https://johannesklingebiel.de/2022/01/12/hype-as-a-scale.html&lt;br /&gt;&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;You can link this to so much, but especially in the present, certain frameworks and of course, crypto bullshit like NFTs etc.&lt;/p&gt;



&lt;p&gt;&lt;br /&gt;I’m posting it here so I can find it in the future, because I think I’m gonna be able to link it to &lt;em&gt;a lot&lt;/em&gt; in tech.&lt;/p&gt;
</content:encoded></item><item><title>Week 2 notes – 2022</title><link>https://bell.bz/week-2-notes-2022/</link><guid isPermaLink="true">https://bell.bz/week-2-notes-2022/</guid><pubDate>Fri, 14 Jan 2022 13:31:36 GMT</pubDate><content:encoded>
&lt;p&gt;Another week and I’m still on this weeknotes biz, so I’ll give myself a pat on the back. Yes, it might well only be week 2, but whatever. &lt;/p&gt;



&lt;p&gt;I’ve spent the vast majority of my work week in meetings, which hasn’t been &lt;em&gt;great&lt;/em&gt;, but, I have kicked off some absolute banger projects. Some super creative ones, too. &lt;/p&gt;



&lt;p&gt;Most importantly, we are releasing the 3rd edition of &lt;a href=&quot;https://every-layout.dev/&quot;&gt;Every Layout &lt;/a&gt;imminently (who knows it might even be live now) which features a brand new homepage that I’ve been promising to design for the past two years. We’re super happy with it.&lt;/p&gt;



&lt;p&gt;A fun thing I did this week was take my eldest daughter stargazing because she won a science competition at school. The astronomer had a banger of a telescope which allowed us to see the moon in ridiculous detail. We also got a good look at Jupiter, which was ace. &lt;/p&gt;



&lt;p&gt;I live in the middle of nowhere now, so I’m very tempted to get into astronomy with the little’n. We got her a little telescope for Christmas, so we’ve got everything we need already. &lt;/p&gt;



&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;726&quot; height=&quot;1024&quot; src=&quot;https://andy-bell.imgix.net/2022/01/telescope-726x1024.jpg&quot; alt=&quot;&quot; srcset=&quot;https://andy-bell.imgix.net/2022/01/telescope-726x1024.jpg 726w, https://andy-bell.imgix.net/2022/01/telescope-213x300.jpg 213w, https://andy-bell.imgix.net/2022/01/telescope-768x1083.jpg 768w, https://andy-bell.imgix.net/2022/01/telescope-1090x1536.jpg 1090w, https://andy-bell.imgix.net/2022/01/telescope-1453x2048.jpg 1453w, https://andy-bell.imgix.net/2022/01/telescope-scaled.jpg 1816w&quot; /&gt;&lt;figcaption&gt;Brooklyn and the Astronomer’s banger telescope, looking at the moon&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;Last up, to &lt;a href=&quot;https://andy-bell.co.uk/wrapping-up-2021/#resolutions&quot;&gt;fulfil my resolution to get down to 14st and maintain it&lt;/a&gt;, I started PT sessions this week. At the time of writing, I can no longer feel my arms as they are now actually made of jelly. This PT is really good. He’s not an in-your-face fitness dickhead, but a sports scientist. I’m super injury-prone, so that provides me with some comfort. He’s also going to get me set on a long-term and sustainable plan, so that should be good.&lt;/p&gt;



&lt;p&gt;Anyway, the timer has run out, so with that, I bid you a good weekend! &lt;/p&gt;



&lt;p&gt;&lt;/p&gt;
</content:encoded></item><item><title>Week 1 notes – 2022</title><link>https://bell.bz/week-1-notes-2022/</link><guid isPermaLink="true">https://bell.bz/week-1-notes-2022/</guid><pubDate>Fri, 07 Jan 2022 10:47:16 GMT</pubDate><content:encoded>
&lt;p&gt;I’m getting back on this week notes biz, because I think it’ll be good for the ol’ brain. I’m making it easier for myself now though and setting 5 minute timer before I start writing then publishing when it finishes (after a little proof-read). I reckon that’ll make me keep consistency and achieve my &lt;a href=&quot;https://andy-bell.co.uk/wrapping-up-2021/#resolutions&quot;&gt;resolution of writing at least 40 week notes&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;So with that in mind, let’s get started. &lt;/p&gt;



&lt;p&gt;This week has been pretty full-on, being the first week back—even if I did only officially come back on Tuesday. I had a &lt;em&gt;proper&lt;/em&gt; break over Xmas and new year. I broke up on the 16th of December, so nearly had 3 weeks off. I bloody needed it because I was completely done-in at the end of the year.&lt;/p&gt;



&lt;p&gt;The main theme this week has been admin and re-desigining the homepage for &lt;a href=&quot;https://every-layout.dev/&quot;&gt;Every Layout&lt;/a&gt;, which I’m hoping to get built out next week. We’re going to be releasing a 3rd edition of the book, so we wanted a proper landing page to sustain sales better, long term. &lt;/p&gt;



&lt;p&gt;I also &lt;a href=&quot;https://andy-bell.co.uk/first-ever-filling/&quot;&gt;got a filling done this week&lt;/a&gt;. It was no where near as horrendous as I thought it would be. I’ve done pretty well to get to 34 without having any fillings—even if announcing that fact confused folks and &lt;a href=&quot;https://twitter.com/hankchizljaw/status/1478766037495648261&quot;&gt;made them think it was my birthday&lt;/a&gt; lol (it’s not ’til July 20th).&lt;/p&gt;



&lt;p&gt;Next week I’m getting &lt;em&gt;face deep &lt;/em&gt;in the &lt;a href=&quot;https://set.studio/&quot;&gt;Set Creative Studio website&lt;/a&gt; project too. Looking forward to doing that. Also, I start with my new personal trainer so might not even make it to the week notes. &lt;/p&gt;



&lt;p&gt;Right, timer is up. Catch you next week. &lt;/p&gt;
</content:encoded></item><item><title>First ever filling</title><link>https://bell.bz/first-ever-filling/</link><guid isPermaLink="true">https://bell.bz/first-ever-filling/</guid><pubDate>Wed, 05 Jan 2022 10:38:18 GMT</pubDate><content:encoded>
&lt;p&gt;I’m 34 years old and today, I’m getting my first ever tooth filling. &lt;/p&gt;



&lt;p&gt;It’s a miracle I’ve made it this far without getting one to be honest.&lt;/p&gt;
</content:encoded></item><item><title>Very handy HTML boilerplate</title><link>https://bell.bz/very-handy-html-boilerplate/</link><guid isPermaLink="true">https://bell.bz/very-handy-html-boilerplate/</guid><pubDate>Tue, 04 Jan 2022 10:54:42 GMT</pubDate><content:encoded>
&lt;p&gt;I’m a big believer in styling as much with CSS, as &lt;em&gt;high&lt;/em&gt; as possible. Heck, I even made that the leading principle of &lt;a href=&quot;https://cube.fyi/&quot;&gt;CUBE CSS&lt;/a&gt;! &lt;/p&gt;



&lt;p&gt;I have been thinking about marking up loads of HTML for this, but I don’t need to because &lt;a href=&quot;https://www.dbox.us/&quot;&gt;Daniel Box&lt;/a&gt; has created this fantastic HTML kitchen sink already: &lt;a href=&quot;https://github.com/dbox/html5-kitchen-sink&quot;&gt;https://github.com/dbox/html5-kitchen-sink&lt;/a&gt;&lt;/p&gt;



&lt;p&gt;I will definitely be using this ongoing. &lt;/p&gt;
</content:encoded></item><item><title>Last.fm 2021 summary</title><link>https://bell.bz/last-fm-2021-summary/</link><guid isPermaLink="true">https://bell.bz/last-fm-2021-summary/</guid><pubDate>Sun, 02 Jan 2022 14:30:37 GMT</pubDate><content:encoded>
&lt;p&gt;I got back into last.fm in the spring and they just sent me my &lt;a href=&quot;https://www.last.fm/user/andyvirus/listening-report/year?utm_source=mailchimp&amp;amp;utm_medium=lfmuseremail&amp;amp;utm_campaign=Lastyear&quot;&gt;2021 summary&lt;/a&gt;. It’s quite interesting to look back on.&lt;/p&gt;



&lt;p&gt;Last.fm is really good—albeit not amazing at scrobbling from Apple Music, because it’s definitely missed a lot. &lt;/p&gt;



&lt;p&gt;I’ve been using it on-and-off for well over a decade and it feels more wholesome than the corporate “cool” vibe that Spotify gives off. 100% less horrendous marketing department cringe copy on this summary vs the Spotify wrapped stuff too lol.&lt;/p&gt;
</content:encoded></item><item><title>Listen outside of your usual tastes</title><link>https://bell.bz/listen-outside-of-your-usual-tastes/</link><guid isPermaLink="true">https://bell.bz/listen-outside-of-your-usual-tastes/</guid><pubDate>Sat, 01 Jan 2022 18:03:42 GMT</pubDate><content:encoded>
&lt;p&gt;A bit of advice for the new year with music.&lt;/p&gt;



&lt;p&gt;Try to listen to stuff outside of your usual music tastes—don’t let the streaming app algorithm dictate to you too much. This is especially the case with Spotify discover weekly.&lt;/p&gt;



&lt;p&gt;If you listen to something completely off your radar and like it: I can guarantee it will make your day, week, month, or even year!&lt;/p&gt;
</content:encoded></item><item><title>2022 Work Resolutions</title><link>https://bell.bz/2022-work-resolutions/</link><guid isPermaLink="true">https://bell.bz/2022-work-resolutions/</guid><pubDate>Fri, 31 Dec 2021 12:24:52 GMT</pubDate><content:encoded>
&lt;p&gt;I’m fully rested now after having 2 weeks off from working, so I’ve sat and put together my work resolutions for next year, which compliment my &lt;a href=&quot;https://andy-bell.co.uk/wrapping-up-2021/#resolutions&quot;&gt;main, personal resolutions&lt;/a&gt; for the year.&lt;/p&gt;



&lt;p&gt;Here they are: &lt;/p&gt;



&lt;ol&gt;&lt;li&gt;The only priority is producing and enabling the production of cool shit&lt;/li&gt;&lt;li&gt;Ignore tech framework discourse and importantly, don’t contribute&lt;/li&gt;&lt;li&gt;Ignore crypto discourse and importantly, don’t contribute&lt;/li&gt;&lt;li&gt;Be in a position to make &lt;a href=&quot;//set.studio&quot;&gt;our&lt;/a&gt; first hire by the end of the year&lt;/li&gt;&lt;li&gt;Have fun and reduce the amount of boring work I do&lt;/li&gt;&lt;li&gt;Be creative again; it’s been too long&lt;/li&gt;&lt;li&gt;Be at peace with the fact that the tech industry will probably forever disappoint, but that should not stop me working in and around it&lt;/li&gt;&lt;/ol&gt;



&lt;p&gt;Points 1, 2 and 7 have been a consistent drain on me this year and getting salty about them on Twitter literally achieves nothing so I need to stop. I’m going to be bumping up my already massive mute lists on &lt;a href=&quot;https://tapbots.com/tweetbot/&quot;&gt;Tweetbot&lt;/a&gt;.&lt;/p&gt;



&lt;p&gt;I am very much looking forward to producing some seriously cool and creative shit with &lt;a href=&quot;//set.studio&quot;&gt;Set Creative Studio&lt;/a&gt; this year too!&lt;/p&gt;



&lt;p&gt;&lt;/p&gt;
</content:encoded></item><item><title>Joining Meta</title><link>https://bell.bz/joining-meta/</link><guid isPermaLink="true">https://bell.bz/joining-meta/</guid><pubDate>Wed, 29 Dec 2021 14:04:44 GMT</pubDate><content:encoded>
&lt;figure&gt;&lt;div&gt;

&lt;/div&gt;&lt;/figure&gt;



&lt;p&gt;As if I’d commit such a heinous, ethical crime! &lt;/p&gt;



&lt;p&gt;Joining Meta (aka Facebook) or a company that does very high levels of harm—lets say, Coinbase, for context—rightly should raise eyebrows and question the ethics behind that choice.&lt;/p&gt;



&lt;p&gt;If this is you: own it.&lt;/p&gt;
</content:encoded></item><item><title>LEGO advent calendar done</title><link>https://bell.bz/lego-advent-calendar-done/</link><guid isPermaLink="true">https://bell.bz/lego-advent-calendar-done/</guid><pubDate>Fri, 24 Dec 2021 09:37:09 GMT</pubDate><content:encoded>&lt;p&gt;&lt;img src=&quot;https://assets.codepen.io/174183/E4A87899-06B1-417F-BF53-8D4F24A1F6AB.jpeg?format=auto&amp;amp;rotate=180&quot; alt=&quot;completed LEGO set with 24 different pieces, ranging from people to vehicles, with Santa in the middle&quot; /&gt;&lt;/p&gt;
&lt;p&gt;I’ve always wanted one of those LEGO advent calendars and always missed out before they sold out.&lt;/p&gt;
&lt;p&gt;I managed to get my hands on one this year and it’s got me well into LEGO again. I need to get on with &lt;a href=&quot;https://twitter.com/hankchizljaw/status/1466773152571219968?s=20&quot;&gt;my shoe now&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Wrapping up 2021</title><link>https://bell.bz/wrapping-up-2021/</link><guid isPermaLink="true">https://bell.bz/wrapping-up-2021/</guid><pubDate>Thu, 23 Dec 2021 15:24:17 GMT</pubDate><content:encoded>
&lt;p&gt;It’s safe to say I completely failed at everything I set out in &lt;a href=&quot;https://piccalil.li/blog/wrapping-up-2020/&quot;&gt;last year’s post&lt;/a&gt;, but after how this year has gone with &lt;em&gt;[gestures wildly] &lt;/em&gt;everything, I’ll let myself off. I say failed but actually, some parts were a success in an odd sense, and with this, let’s get stuck into 2021’s review.&lt;/p&gt;



&lt;h2&gt;I’ve worked far too hard, &lt;em&gt;again&lt;/em&gt;&lt;/h2&gt;



&lt;p&gt;I’m getting fed up of myself now. I aimed to work much less this year but I think I actually worked more…Partly, this was because a couple of projects that I just couldn’t say no to turned up, but also I’ve spread myself too thin in other places too. &lt;/p&gt;



&lt;p&gt;Last year I set out to work 4 days a week by the end of this year. I didn’t get there, but what I did do is change my work-life balance for the better. I used to tap around on my laptop in the evening: either shitposting on Twitter, or messing around with design and code stuff, but now, we just chill out, watch TV and relax in the evening. Although I have worked &lt;em&gt;way too hard&lt;/em&gt;, this has had a big positive impact on my mental health. &lt;/p&gt;



&lt;h2&gt;Cya later Piccalilli &lt;/h2&gt;



&lt;p&gt;I said last year that I would get into content full time this year and that did not happen. Here’s why:&lt;/p&gt;



&lt;ul&gt;&lt;li&gt;I was never “off” which I fucking hated &lt;/li&gt;&lt;li&gt;I wrote most of &lt;a href=&quot;https://web.dev/learn/css&quot;&gt;Learn CSS&lt;/a&gt; in a very short period of time which completely burned me out from writing tech content&lt;/li&gt;&lt;li&gt;I did some writing to a brief, which I &lt;em&gt;hated&lt;/em&gt; &lt;/li&gt;&lt;li&gt;I couldn’t keep up with the ultra-positive educators which crowd the space&lt;/li&gt;&lt;li&gt;I was constantly monitoring “revenue”, which was exhausting and stressful &lt;/li&gt;&lt;/ul&gt;



&lt;p&gt;To add some more detail to those points: I am rather pragmatic, British and admittedly, a bit grumpy. Lots of people fed-back that my approach and “vibe” was refreshing vs the ultra-positive—bordering on toxic positivity—vibe from other educators, but unfortunately, that doesn’t sell very well. This mixed with the stress of constantly monitoring revenue was just bollocks and I hated it.&lt;/p&gt;



&lt;p&gt;I always felt like I needed to constantly pump out content too. You get lucky and write a banger that brings lots of eyes to your site every now and then, but because high traffic turns into course sales, I had to try and keep up with the momentum. This had a detrimental effect on my creativity and mixed with blasting out Learn CSS, I just stopped writing altogether. I only &lt;a href=&quot;https://css-tricks.com/consistent-fluidly-scaling-type-and-spacing/&quot;&gt;wrote my first technical post since then&lt;/a&gt; in November, for CSS-Tricks. &lt;/p&gt;



&lt;p&gt;I’ll keep the articles on &lt;a href=&quot;//piccalil.li&quot;&gt;Piccalilli&lt;/a&gt;—I hate link rot—but consider that site a goner now. I’m done with it. I might write more stuff in the future, but not for a long while now.&lt;/p&gt;



&lt;h2&gt;A new agency looms&lt;/h2&gt;



&lt;p&gt;All of the above provides context for where I’m going—work-wise—in 2022. I’m setting up a new creative agency: &lt;a href=&quot;https://set.studio/&quot;&gt;Set Creative Studio&lt;/a&gt; which builds on what I’ve achieved as a freelancer over the last few years. I’ve done client services for the vast majority of my 13+ years in this industry, so it makes a lot of sense to do that. &lt;/p&gt;



&lt;p&gt;I’ve worked for and worked with lots of crap agencies over these years too, so a big part of this venture is putting into practice what I’ve been preaching this whole time. It’s going to be a lot of effort (I’m not even going to attempt 4 days week this year lol), but I hope it will be satisfying work. &lt;/p&gt;



&lt;p&gt;I’ve done a lot of design system related stuff for clients this year—which is what I’m known for and do pretty darn well—but really, I’m a proper creative, so this agency should hopefully help me—and a crack team of &lt;em&gt;ridiculously talented &lt;/em&gt;freelancers produce some super creative—yet fully inclusive—websites. &lt;/p&gt;



&lt;p&gt;More to come next year.&lt;/p&gt;



&lt;h2&gt;Resolutions &lt;/h2&gt;



&lt;p&gt;Right, it wouldn’t be an end of year review without some goals: &lt;/p&gt;



&lt;ol&gt;&lt;li&gt;Say &lt;strong&gt;no&lt;/strong&gt; even more than I already do &lt;/li&gt;&lt;li&gt;Block-book holidays and &lt;strong&gt;stick to them&lt;/strong&gt; and &lt;strong&gt;stick to my schedule&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;A strict ban on evening and weekend working &lt;/li&gt;&lt;li&gt;Get down to 88kg (14 stone) in weight and maintain it&lt;/li&gt;&lt;li&gt;Be happier with myself, this time next year &lt;/li&gt;&lt;li&gt;Write at least 40 week notes&lt;/li&gt;&lt;/ol&gt;



&lt;p&gt;On those, I only took one week of holiday this year, which is frankly, obscene. No wonder I’m fucking knackered and burning out. I need to look after myself more as a priority, because if I don’t, I’ll end up in a bad place. &lt;/p&gt;



&lt;p&gt;The last points are related to this too. I’m really pissed off with myself for overworking &lt;em&gt;again&lt;/em&gt;. I’m also pissed off with myself for letting my weight slip too. To be happier with myself, I think I need to prioritise those aspects and if I do: the last point will be achieved. &lt;/p&gt;



&lt;p&gt;I’ve also written &lt;a href=&quot;https://andy-bell.co.uk/2022-work-resolutions/&quot;&gt;some specific work resolutions&lt;/a&gt;.&lt;/p&gt;



&lt;h2&gt;Wrapping up &lt;/h2&gt;



&lt;p&gt;In summary, I’d give this year a solid 6 out of 10. There has been plenty of good, but the overworking gets very bad marks. &lt;/p&gt;



&lt;p&gt;To my family and everyone who has been a good pal this year and supported me: thanks very much. I love you all very much. &lt;/p&gt;



&lt;p&gt;I really hope you, dear reader, have a fantastic and healthy 2022. Surely things will start to get better. &lt;/p&gt;



&lt;p&gt;Until then, take it easy 👋&lt;/p&gt;
</content:encoded></item><item><title>WordPress app is good</title><link>https://bell.bz/wordpress-app-is-good/</link><guid isPermaLink="true">https://bell.bz/wordpress-app-is-good/</guid><pubDate>Thu, 23 Dec 2021 10:10:58 GMT</pubDate><content:encoded>
&lt;p&gt;A big reason I put this site back on WordPress was that the &lt;a href=&quot;https://apps.apple.com/in/app/wordpress/id335703880&quot;&gt;iOS app&lt;/a&gt; is bloody excellent.&lt;/p&gt;



&lt;p&gt;It’s definitely helping with the aim of making writing a personal thing, rather than a work thing, which as hard as I try, editing markdown files always is.&lt;/p&gt;



&lt;p&gt;If you have a WordPress site, &lt;a href=&quot;https://apps.apple.com/in/app/wordpress/id335703880&quot;&gt;give it a try!&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>Yorkshire top-up</title><link>https://bell.bz/yorkshire-top-up/</link><guid isPermaLink="true">https://bell.bz/yorkshire-top-up/</guid><pubDate>Wed, 22 Dec 2021 19:13:41 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve just come back from a lush couple of days back in my hometown, near Bradford.&lt;/p&gt;



&lt;p&gt;My accent has had a top-up, as has my heart for seeing family I haven’t seen in over two years. I did put a massive fucken dent in my &lt;em&gt;brand new&lt;/em&gt; car though, but that’s no biggie, all things considered.&lt;/p&gt;



&lt;p&gt;All-in-all, a 10/10 time. &lt;/p&gt;
</content:encoded></item><item><title>Importing Eleventy content into WordPress</title><link>https://bell.bz/importing-eleventy-content-into-wordpress/</link><guid isPermaLink="true">https://bell.bz/importing-eleventy-content-into-wordpress/</guid><pubDate>Wed, 15 Dec 2021 16:14:41 GMT</pubDate><content:encoded>
&lt;p&gt;Related to &lt;a href=&quot;https://andy-bell.co.uk/new-blog-who-dis/&quot;&gt;redoing this blog&lt;/a&gt;, I thought I’d quickly share how I exported all of my 11ty content and imported it into WordPress. &lt;/p&gt;



&lt;h2&gt;Steps&lt;/h2&gt;



&lt;p&gt;First up, I installed a fresh copy of WordPress and cleaned out the default posts, pages and comments.&lt;/p&gt;



&lt;p&gt;Then, in the existing Eleventy project, I added the following page—which I named &lt;code&gt;wp.njk&lt;/code&gt;—which generates an XML file, which the WordPress importer can understand:&lt;/p&gt;



&lt;p&gt;&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;---
permalink: &apos;wp.xml&apos;
---
&amp;lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&amp;gt;

&amp;lt;rss version=&quot;2.0&quot;
xmlns:excerpt=&quot;http://wordpress.org/export/1.2/excerpt/&quot;
xmlns:content=&quot;http://purl.org/rss/1.0/modules/content/&quot;
xmlns:wfw=&quot;http://wellformedweb.org/CommentAPI/&quot;
xmlns:dc=&quot;http://purl.org/dc/elements/1.1/&quot;
xmlns:wp=&quot;http://wordpress.org/export/1.2/&quot;
&amp;gt;

&amp;lt;channel&amp;gt;
  &amp;lt;title&amp;gt;YOUR NAME HERE&amp;lt;/title&amp;gt;
  &amp;lt;link&amp;gt;YOUR WEB ADDRESS&amp;lt;/link&amp;gt;
  &amp;lt;description&amp;gt;Just another WordPress site&amp;lt;/description&amp;gt;
  &amp;lt;pubDate&amp;gt;Wed, 15 Dec 2021 10:27:40 +0000&amp;lt;/pubDate&amp;gt;
  &amp;lt;language&amp;gt;en-GB&amp;lt;/language&amp;gt;
  &amp;lt;wp:wxr_version&amp;gt;1.2&amp;lt;/wp:wxr_version&amp;gt;
  &amp;lt;wp:base_site_url&amp;gt;YOUR WEB ADDRESS&amp;lt;/wp:base_site_url&amp;gt;
  &amp;lt;wp:base_blog_url&amp;gt;YOUR WEB ADDRESS&amp;lt;/wp:base_blog_url&amp;gt;
  &amp;lt;wp:category&amp;gt;
    &amp;lt;wp:term_id&amp;gt;1&amp;lt;/wp:term_id&amp;gt;
    &amp;lt;wp:category_nicename&amp;gt;&amp;lt;![CDATA[uncategorized]]&amp;gt;&amp;lt;/wp:category_nicename&amp;gt;
    &amp;lt;wp:category_parent&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/wp:category_parent&amp;gt;
    &amp;lt;wp:cat_name&amp;gt;&amp;lt;![CDATA[Uncategorized]]&amp;gt;&amp;lt;/wp:cat_name&amp;gt;
  &amp;lt;/wp:category&amp;gt;
  &amp;lt;wp:term&amp;gt;
    &amp;lt;wp:term_id&amp;gt;1&amp;lt;/wp:term_id&amp;gt;
    &amp;lt;wp:term_taxonomy&amp;gt;&amp;lt;![CDATA[category]]&amp;gt;&amp;lt;/wp:term_taxonomy&amp;gt;
    &amp;lt;wp:term_slug&amp;gt;&amp;lt;![CDATA[uncategorized]]&amp;gt;&amp;lt;/wp:term_slug&amp;gt;
    &amp;lt;wp:term_parent&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/wp:term_parent&amp;gt;
    &amp;lt;wp:term_name&amp;gt;&amp;lt;![CDATA[Uncategorized]]&amp;gt;&amp;lt;/wp:term_name&amp;gt;
  &amp;lt;/wp:term&amp;gt;
  &amp;lt;generator&amp;gt;https://wordpress.org/?v=5.8.1&amp;lt;/generator&amp;gt;
  {% for item in collections.items %}
  &amp;lt;item&amp;gt;
    &amp;lt;title&amp;gt;&amp;lt;![CDATA[{{ item.date }}]]&amp;gt;&amp;lt;/title&amp;gt;
    &amp;lt;link&amp;gt;YOUR WEB ADDRESS/{{ item.fileSlug }}/&amp;lt;/link&amp;gt;
    &amp;lt;pubDate&amp;gt;{{ item.data.title }}&amp;lt;/pubDate&amp;gt;
    &amp;lt;dc:creator&amp;gt;&amp;lt;![CDATA[test]]&amp;gt;&amp;lt;/dc:creator&amp;gt;
    &amp;lt;description&amp;gt;&amp;lt;/description&amp;gt;
    &amp;lt;content:encoded&amp;gt;&amp;lt;![CDATA[{{ item.templateContent | safe }}]]&amp;gt;&amp;lt;/content:encoded&amp;gt;
    &amp;lt;excerpt:encoded&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/excerpt:encoded&amp;gt;
    &amp;lt;wp:post_id&amp;gt;{{ loop.index + 5 }}&amp;lt;/wp:post_id&amp;gt;
    &amp;lt;wp:post_date&amp;gt;&amp;lt;![CDATA[{{ item.data.title | w3DateFilter }}]]&amp;gt;&amp;lt;/wp:post_date&amp;gt;
    &amp;lt;wp:comment_status&amp;gt;&amp;lt;![CDATA[closed]]&amp;gt;&amp;lt;/wp:comment_status&amp;gt;
    &amp;lt;wp:ping_status&amp;gt;&amp;lt;![CDATA[closed]]&amp;gt;&amp;lt;/wp:ping_status&amp;gt;
    &amp;lt;wp:post_name&amp;gt;&amp;lt;![CDATA[{{ item.fileSlug }}d]]&amp;gt;&amp;lt;/wp:post_name&amp;gt;
    &amp;lt;wp:status&amp;gt;&amp;lt;![CDATA[publish]]&amp;gt;&amp;lt;/wp:status&amp;gt;
    &amp;lt;wp:post_parent&amp;gt;0&amp;lt;/wp:post_parent&amp;gt;
    &amp;lt;wp:menu_order&amp;gt;0&amp;lt;/wp:menu_order&amp;gt;
    &amp;lt;wp:post_type&amp;gt;&amp;lt;![CDATA[post]]&amp;gt;&amp;lt;/wp:post_type&amp;gt;
    &amp;lt;wp:post_password&amp;gt;&amp;lt;![CDATA[]]&amp;gt;&amp;lt;/wp:post_password&amp;gt;
    &amp;lt;wp:is_sticky&amp;gt;0&amp;lt;/wp:is_sticky&amp;gt;
    &amp;lt;category domain=&quot;category&quot; nicename=&quot;uncategorized&quot;&amp;gt;&amp;lt;![CDATA[Uncategorized]]&amp;gt;&amp;lt;/category&amp;gt;
  &amp;lt;/item&amp;gt;
  {% endfor %}
  &amp;lt;/channel&amp;gt;
&amp;lt;/rss&amp;gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;The &lt;code&gt;{% for item in collections.items %}&lt;/code&gt; part refers to the Eleventy collection—which in my case was &lt;code&gt;items&lt;/code&gt;. I then loop through those to create a WordPress post. Make sure you replace &lt;code&gt;YOUR WEB ADDRESS&lt;/code&gt; with your actual website.&lt;/p&gt;



&lt;p&gt;Then, import it into WordPress and bish, bash, bosh: you’re all done.&lt;/p&gt;
</content:encoded></item><item><title>Boosted 💉💉💉</title><link>https://bell.bz/boosted-%f0%9f%92%89%f0%9f%92%89%f0%9f%92%89/</link><guid isPermaLink="true">https://bell.bz/boosted-%f0%9f%92%89%f0%9f%92%89%f0%9f%92%89/</guid><pubDate>Wed, 15 Dec 2021 15:44:36 GMT</pubDate><content:encoded>
&lt;p&gt;I’m fully boosted! I just popped into my local doctor’s surgery, got a jab and walked back out again. Easy peasy. &lt;/p&gt;



&lt;p&gt;Let’s hope that gives not just me, protection: but those around me too as Omicron gets scarier and scarier. &lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;As an aside, I regret marking my &lt;a href=&quot;https://twitter.com/hankchizljaw/status/1400850487021391872&quot;&gt;first&lt;/a&gt; and &lt;a href=&quot;https://twitter.com/hankchizljaw/status/1419936194171899904&quot;&gt;second&lt;/a&gt; jabs on Twitter instead of here, but hey-ho, there you go. &lt;/p&gt;



&lt;p&gt;&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;&lt;strong&gt;Update on the day after: &lt;/strong&gt;&lt;/p&gt;



&lt;p&gt;The second Pfizer whooped my arse completely: I legit felt like I had been run over by a train.&lt;/p&gt;



&lt;p&gt;This booster has been mostly fine tho: I just feel tired with achey joints and skin—like when you’re just about to come down with an illness. &lt;/p&gt;



&lt;p&gt;Get the booster, if you can, in short.&lt;/p&gt;
</content:encoded></item><item><title>Going for a haircut</title><link>https://bell.bz/going-for-a-haircut/</link><guid isPermaLink="true">https://bell.bz/going-for-a-haircut/</guid><pubDate>Wed, 15 Dec 2021 10:37:20 GMT</pubDate><content:encoded>
&lt;p&gt;I used to work in this &lt;em&gt;horrible&lt;/em&gt;, toxic agency, years ago and one of the folks that worked with me was looking for a new job, on the sly. To sneak off for interviews, they would “go and get a haircut” and come back with exactly the same hair. &lt;/p&gt;



&lt;p&gt;This was nearly a decade ago now, but me and pals still refer to looking for a new job as “getting a haircut”, even now. Makes me chuckle every time. &lt;/p&gt;
</content:encoded></item><item><title>New Blog, who dis?</title><link>https://bell.bz/new-blog-who-dis/</link><guid isPermaLink="true">https://bell.bz/new-blog-who-dis/</guid><pubDate>Wed, 15 Dec 2021 10:25:41 GMT</pubDate><content:encoded>
&lt;p&gt;It’s that time of year again: personal sites getting a new lick of paint to close out the year. My personal site has been limping along for a few years now with some extremely basic CSS. It was also running a static site generator—&lt;a href=&quot;https://11ty.dev&quot;&gt;Eleventy&lt;/a&gt;—but now it’s built with &lt;a href=&quot;https://wordpress.org/&quot;&gt;WordPress&lt;/a&gt; as an ultimate throwback to when I first started building websites for clients, back in 2009. &lt;/p&gt;



&lt;p&gt;It’s extremely not finished. If anything, it’s just the start. I wanted to give myself a nicer starting point, so implemented &lt;a href=&quot;https://cube.fyi/&quot;&gt;CUBE CSS&lt;/a&gt; with &lt;a href=&quot;https://github.com/hankchizljaw/gorko&quot;&gt;Gorko&lt;/a&gt; and &lt;a href=&quot;https://sass-lang.com/&quot;&gt;Sass&lt;/a&gt;. I also blew the dust off a basic WordPress theme starter that I made years ago, which was reminscent of &lt;a href=&quot;https://themesinfo.com/wordpress-theme-starkers-dur&quot;&gt;Starkers&lt;/a&gt;, to give me a clean slate.&lt;/p&gt;



&lt;p&gt;I don’t have a problem with Eleventy: I’m a big fan of it, but I also wanted to get back into more traditional web development stuff, now that &lt;a href=&quot;https://set.studio/&quot;&gt;I’m expanding my business into an agency&lt;/a&gt;. Eleventy is also a static site generator which meant writing was like working, by proxy of sitting and editing markdown files. I wanted to change that to encourage more writing—away from work, so I rebuilt the site with WordPress—mainly because I really like the block editor. &lt;/p&gt;



&lt;p&gt;I did do some exploration with &lt;a href=&quot;https://getkirby.com/&quot;&gt;Kirby CMS&lt;/a&gt; too because I think that will be a key technology for client work in the new year. It really is a &lt;em&gt;fantastic &lt;/em&gt;CMS.&lt;/p&gt;



&lt;p&gt;Anyway, I hope you like the new dim look and feel I’ve gone for. I didn’t want to mess around with dark mode and light mode (I’ve spent too much of this year messing around with that shit), so went for the middle ground. The fantastic &lt;a href=&quot;https://simplebits.com/collections/fonts/products/cartridge-font&quot;&gt;Cartridge font&lt;/a&gt; does all the heavy lifting in terms of character too. &lt;/p&gt;



&lt;p&gt;Next year, I’m gonna probably make the front-end super creative, so keep an eye out for that. &lt;/p&gt;
</content:encoded></item><item><title>1st November 2021 at 10:18</title><link>https://bell.bz/1635761890/</link><guid isPermaLink="true">https://bell.bz/1635761890/</guid><pubDate>Mon, 01 Nov 2021 10:18:10 GMT</pubDate><content:encoded>&lt;p&gt;Three years ago today, I started my second stint as a freelancer. It’s still my best career move to date.&lt;/p&gt;
&lt;p&gt;After the company I worked for went under—making me redundant 48 hours before my second child was born—and a subsequent hellish period of going through interview processes with Tech Companies™, I made the right choice to fuck all of that off and go back to being a freelancer. Three years on: I have absolutely no regrets whatsoever.&lt;/p&gt;
&lt;p&gt;This year has by far been my most successful work year, but also, the busiest and most stressful. I vowed to work less this year, but after making what has turned out to be the &lt;em&gt;right&lt;/em&gt; choice, to turn my back on making educational content: getting more into client services work has kept my schedule &lt;em&gt;very&lt;/em&gt; busy.&lt;/p&gt;
&lt;p&gt;This has now been my longest role in tech. The longest prior to this was 2.5 years in the agency I joined after my last stint as a freelancer.&lt;/p&gt;
&lt;p&gt;I’m in a completely different place since then. Mostly, I’m a lot more experienced. I started freelancing when I was essentially a junior and that was a baptism of fire. I now recommend that people in a similar position work for a company—for at least a couple of years—just to get that early experience and hopefully, mentorship.&lt;/p&gt;
&lt;p&gt;I would definitely recommend to people beyond that phase of their career to consider freelancing though. The freedom that freelance provides is worth so much. It helps me work to live, rather than live to work. There’s also a 100% guarantee that my employer—me—won’t turn out to be a horrible company.&lt;/p&gt;
&lt;p&gt;Anyway, that’s enough work stuff on this blog. I’ve got big plans for next year that will hopefully—long term—make life all about working to live in a sustainable and sensible way. For now, though: I’m just off the back of a horror deadline, so I’m gonna make a celebratory brew and think fondly back to how happy and &lt;em&gt;relieved&lt;/em&gt; I was on November 1st, 2018.&lt;/p&gt;
</content:encoded></item><item><title>18th October 2021 at 10:14</title><link>https://bell.bz/1634548484/</link><guid isPermaLink="true">https://bell.bz/1634548484/</guid><pubDate>Mon, 18 Oct 2021 09:14:44 GMT</pubDate><content:encoded>&lt;p&gt;Some things that have had nothing but an overall positive impact recently:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Removing my work email from my phone (turns out you can actually do this if you work for yourself)&lt;/li&gt;
&lt;li&gt;Saying no, &lt;em&gt;a lot&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Allowing stuff to be suboptimal (in my eyes); not everything I deliver needs to be perfect (in my opinion) if it overall, makes things way better&lt;/li&gt;
&lt;li&gt;Finally accepting that tech is no different, nor more special than other industries. It’s teeming with bellends, just like the rest&lt;/li&gt;
&lt;li&gt;Setting myself set work hours and sticking to them relentlessly&lt;/li&gt;
&lt;li&gt;Finally accepting that although making education stuff was cool, it’s realistically not for me and client services stuff very much is for me&lt;/li&gt;
&lt;li&gt;Banning myself from scrolling all forms of social media&lt;/li&gt;
&lt;li&gt;Setting my business operations and pipeline up that will almost certainly guarantee at &lt;em&gt;least&lt;/em&gt; a couple more years of me working for myself, even if shit hits the fan&lt;/li&gt;
&lt;li&gt;Prioritising personal and family life over everything else&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>9th October 2021 at 10:35</title><link>https://bell.bz/1633772118/</link><guid isPermaLink="true">https://bell.bz/1633772118/</guid><pubDate>Sat, 09 Oct 2021 09:35:18 GMT</pubDate><content:encoded>&lt;p&gt;Our eldest kid is 5 years old today. We’ve been parents for &lt;em&gt;half a decade&lt;/em&gt;. To say I’m proud of our little family is an understatement.&lt;/p&gt;
&lt;p&gt;Happy Birthday, Brooklyn. You’re a good kid.&lt;/p&gt;
</content:encoded></item><item><title>What Andy Listened To – Issue #4</title><link>https://bell.bz/what-andy-listened-to-issue-4/</link><guid isPermaLink="true">https://bell.bz/what-andy-listened-to-issue-4/</guid><pubDate>Fri, 08 Oct 2021 11:10:00 GMT</pubDate><content:encoded>
&lt;p&gt;This issue is &lt;em&gt;teeming&lt;/em&gt; with emo and and heavy goodness to fill your ear-holes with. Thanks to the &lt;a href=&quot;https://www.whatandylistened.to/issue-3/&quot;&gt;recent new Thrice album&lt;/a&gt;, I’ve done a full hand-brake turn into emo-land. It was a matter of time, frankly, so let’s dig in.&lt;/p&gt;



&lt;h2&gt;Let It Enfold You&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Senses Fail – 2004 &lt;/strong&gt;| emo&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://www.whatandylistened.to/content/images/2021/10/image.png&quot; alt=&quot;Let It Enfold You album cover&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;I’ve got you an absolutely &lt;em&gt;iconic&lt;/em&gt; album here that was at the foundation of the best emo years. I managed to snag a copy of this on vinyl recently too, which is a double win. The album’s namesake track, “Let It Enfold You” is likely some of the most hilariously whiny, emo lyrics you will ever hear too.&lt;/p&gt;



&lt;h2&gt;Everyone You Love Will Slip Away From You&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Speak The Truth… Even If Your Voice Shakes – 2017 &lt;/strong&gt;| &lt;em&gt;emo&lt;/em&gt;&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://www.whatandylistened.to/content/images/2021/10/image-1.png&quot; alt=&quot;Everyone You Love Will Slip Away From You album cover&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;Speaking of Sense Fail: imagine what would happen if you put members of Finch with the Senses Fail vocalist, Buddy Nielsen. Well, imagine no more, because that is exactly what this band are and frankly, I fucken &lt;em&gt;love it.&lt;/em&gt;&lt;/p&gt;



&lt;h2&gt;MMXX&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Eskimo Callboy – 2020&lt;/strong&gt; | &lt;em&gt;party metalcore, post-hardcore&lt;/em&gt;&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://www.whatandylistened.to/content/images/2021/10/image-2.png&quot; alt=&quot;MMXX EP cover&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;This sorta breaks the rules of this blog, but whatever: YOLO. This EP is great fun and reminds me of “&lt;a href=&quot;https://www.last.fm/music/The+Hell&quot;&gt;The Hell&lt;/a&gt;”, quite a bit. I described it in the &lt;a href=&quot;https://discord.gg/EHHdaccK&quot;&gt;music Discord&lt;/a&gt; I run as, “If BMTH and Enter Shikari were to have a baby, it would sound like this” and I still can’t think of a better explainer. &lt;/p&gt;



&lt;h2&gt;Other emo treats&lt;/h2&gt;



&lt;p&gt;I’ve also been listening to my favourite &lt;strong&gt;Taking Back Sunday&lt;/strong&gt; album, &lt;strong&gt;“Where You Want To Be”&lt;/strong&gt;, which is also, iconic. It would also be rude of me not to recommend my favourite &lt;strong&gt;Finch&lt;/strong&gt; album, too: give &lt;strong&gt;“Say Hello To Sunshine”&lt;/strong&gt; a listen. It went down like a cup of cold sick with a lot of “die-hard” Finch fans when it launched, but I personally think it’s their all-time best album.&lt;/p&gt;
</content:encoded></item><item><title>5th October 2021 at 10:47</title><link>https://bell.bz/1633427254/</link><guid isPermaLink="true">https://bell.bz/1633427254/</guid><pubDate>Tue, 05 Oct 2021 09:47:34 GMT</pubDate><content:encoded>&lt;p&gt;It’s been over a month now since I stopped looking at the Twitter timeline and my mental health has improved drastically—so much more so than I thought it would. Thanks to tools like &lt;a href=&quot;https://front.com/&quot;&gt;Front&lt;/a&gt;, I haven’t actually logged on to the site at all—&lt;a href=&quot;https://twitter.com/piccalilli_/status/1444987862563315723&quot;&gt;only once to post an image&lt;/a&gt; because you can’t post alt text with Front…&lt;/p&gt;
&lt;p&gt;The timeline is what has been the killer for me. The absolute &lt;em&gt;awful&lt;/em&gt; daily takes were grinding me down and speaking of grind—the vomit-inducing coding journey bullshit was getting too much. Part of this is that I just gave up making courses and stuff—which by measure of feedback, I was doing pretty good at—because I can’t stomach the reflux-inducing hyper-positivity that a lot of educators use to flog courses. I’m too pessimistic and frankly, British to do that. I’ve actually enjoyed slingin’ code for clients instead.&lt;/p&gt;
&lt;p&gt;I’ve pretty much already been booked up for 2022, too. So much so, I’m quietly considering building on that and looking at how I could potentially take on a junior/apprentice. I would love to give someone who comes from a similar, poor, working class background that I do, because as vomit-worthy as Tech Twitter is: the tech industry is a great industry for social mobility. A lot more thinking to be done on that front.&lt;/p&gt;
&lt;p&gt;Anyway, I couldn’t recommend having a hands-off relationship with Twitter anymore if I tried. I don’t feel “behind” and treating it like an inbox, with Front, has actually made it all more manageable.&lt;/p&gt;
</content:encoded></item><item><title>What Andy Listened To – Issue #3</title><link>https://bell.bz/what-andy-listened-to-issue-3/</link><guid isPermaLink="true">https://bell.bz/what-andy-listened-to-issue-3/</guid><pubDate>Fri, 17 Sep 2021 11:19:00 GMT</pubDate><content:encoded>
&lt;p&gt;I’ve had my head down a lot this week, so not listened to loads of music, but I have listened to &lt;strong&gt;a lot &lt;/strong&gt;of hip hop (no surprises). We also have a new release I have been &lt;strong&gt;very eagerly &lt;/strong&gt;waiting for.  &lt;/p&gt;



&lt;h2&gt;Horizons / East&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Thrice – 2021 &lt;/strong&gt;| &lt;em&gt;post-hardcore, alternative rock&lt;/em&gt;&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://www.whatandylistened.to/content/images/2021/09/image-9.png&quot; alt=&quot;Horizons / East album cover&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;Thrice are my favourite band, so I’ve been &lt;em&gt;waiting &lt;/em&gt;for this to come out. It’s a shame it’s been such a busy week because when new Thrice albums come out, I like to listen to their entire discography in order (not the alchemy index though lol).&lt;/p&gt;



&lt;p&gt;This record sees Thrice evolve even more. They started of very much as a hardcore punk / post hardcore band and over the years have gotten a hell of a lot more melodic—almost post-rock—while keeping a &lt;em&gt;massive sound&lt;/em&gt;. They’re ace, this album is ace and you should listen to it. &lt;/p&gt;



&lt;h2&gt;Sometimes I Might Be Introvert&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Little Simz – 2021 &lt;/strong&gt;| hip hop&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://www.whatandylistened.to/content/images/2021/09/image-10.png&quot; alt=&quot;Soem I might be introvert album artwork&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;This album blew my fucking socks off. I spotted it on Apple Music because a few pals were listening to it and I’m &lt;em&gt;so glad I did. &lt;/em&gt;I mentioned how much I love British hip-hop and the grim scene in a previous issue, so this was always going to hit the spot for me.&lt;/p&gt;



&lt;p&gt;It’s a masterpiece and I think it’s gonna mop up the awards. &lt;/p&gt;



&lt;h2&gt;If You Can’t Join ‘Em… Beat ‘Em&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;DJ Format – 2005 &lt;/strong&gt;| hip hop, turntablism&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://www.whatandylistened.to/content/images/2021/09/image-11.png&quot; alt=&quot;&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;DJ Format is a music-making machine and I’ve been a big fan of this album since it came out. It sends me back to one of my favourite ever summers—2005, when I was just turning 18, &lt;em&gt;finally &lt;/em&gt;being done with school and frankly, doing a lot of “extra curricular” activities and &lt;em&gt;loving it.&lt;/em&gt;&lt;/p&gt;



&lt;p&gt;Regardless of your music tastes, I can guarantee you will enjoy this. The raps by Abdominal (Format’s long-time collaborator) and D-Sisive are exquisite too.&lt;/p&gt;



&lt;h2&gt;Other albums worth a mention&lt;/h2&gt;



&lt;p&gt;I’ve been listening to &lt;strong&gt;Qveen Herby’s, A Woman &lt;/strong&gt;a bit again this week. She’s not only a great rapper, but her singing voice is &lt;em&gt;massive. &lt;/em&gt;There’s some real nice production on there too.&lt;/p&gt;



&lt;p&gt;Special mention to &lt;strong&gt;Roots Manuva &lt;/strong&gt;with &lt;strong&gt;Run Come Save Me. &lt;/strong&gt;I’ll never forget seeing Roots Manuva at Leeds Fest in ’05. It was lunch time when he played but I don’t think I’ve ever boogied so hard in my life.&lt;/p&gt;
</content:encoded></item><item><title>17th September 2021 at 11:45</title><link>https://bell.bz/1631875533/</link><guid isPermaLink="true">https://bell.bz/1631875533/</guid><pubDate>Fri, 17 Sep 2021 10:45:33 GMT</pubDate><content:encoded>&lt;p&gt;I &lt;a href=&quot;https://twitter.com/piccalilli_/status/1438424023894044677&quot;&gt;shared yesterday&lt;/a&gt; that I’ve been using Front to manage my Twitter replies and DMs and &lt;a href=&quot;https://twitter.com/SaraSoueidan/status/1438425311813722120&quot;&gt;Sara asked me to write about how I have Twitter stuff setup at the moment&lt;/a&gt;, so here goes.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://andy-bell.co.uk/1631026929/&quot;&gt;I’ve got documented issues with Twitter&lt;/a&gt;. It has a severely bad impact on my overall mental health and &lt;a href=&quot;https://archive.hankchizljaw.com/wrote/hello-i&apos;m-andy-and-i&apos;m-addicted-to-twitter/&quot;&gt;I’m addicted to it&lt;/a&gt;. I wish I could get rid of it completely, but unfortunately, the industry I work in insists on centering everything on Twitter, so I am in effect, &lt;strong&gt;held hostage by Twitter&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;I refuse to use the main site and apps anymore and participate in the algorithm that dismantles communities by driving controversy. I also refuse to participate in the fucking awful takes of Tech Twitter Personalities™.&lt;/p&gt;
&lt;h2&gt;The setup&lt;/h2&gt;
&lt;p&gt;Let’s dig into the nuts and bolts. Because I still need to engage with Twitter, I want to do it from afar. All I’m interested in is:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Posting&lt;/li&gt;
&lt;li&gt;Replying to mentions&lt;/li&gt;
&lt;li&gt;Having control of my DMs&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;To tackle points 2 and 3 I’m using &lt;a href=&quot;https://front.com/&quot;&gt;Front&lt;/a&gt;. It’s actually a support tool, but I’ve found it really useful because it lets me run Twitter like an inbox. I fucking love email, so this setup is perfect for me. I can set rules, snooze items, tag items and be super organised, just like I am with email. I now push my Gmail stuff into there too.&lt;/p&gt;
&lt;p&gt;It’s not cheap though: $38 a month because you have to have at least two “seats”, which is daft. But, the way I see it, $38 a month is nothing if it helps my thinker stay healthy.&lt;/p&gt;
&lt;p&gt;For posting, I’m using &lt;a href=&quot;https://ifttt.com/feed&quot;&gt;IFTTT&lt;/a&gt;. For this blog and my music blog, I have an RSS recipe that reads my feeds (&lt;a href=&quot;https://andy-bell.co.uk/feed.xml&quot;&gt;this feed&lt;/a&gt;, &lt;a href=&quot;https://www.whatandylistened.to/rss/&quot;&gt;music feed&lt;/a&gt;), the auto tweets the title, url and content. I can also post directly from Front. Perfect.&lt;/p&gt;
&lt;p&gt;For Piccalilli, I decided to tweak it a bit. I still use an RSS applet, but I created a &lt;a href=&quot;https://piccalil.li/tweets.xml&quot;&gt;specific Tweets feed&lt;/a&gt; that allows IFTTT to post the title, summary and url. Works a treat.&lt;/p&gt;
&lt;p&gt;IFTTT also make you pay for running multiple applets, but again, it’s worth it. It’s $3.33 for unlimited applets. I fucking love IFTTT as a service and use it for a few handy automations, so again, more than happy to pay that.&lt;/p&gt;
&lt;p&gt;Hopefully this helps someone else have a healthier relationship with the hell site that is Twitter.&lt;/p&gt;
&lt;p&gt;Take it easy ?&lt;/p&gt;
</content:encoded></item><item><title>10th September 2021 at 18:40</title><link>https://bell.bz/1631295617/</link><guid isPermaLink="true">https://bell.bz/1631295617/</guid><pubDate>Fri, 10 Sep 2021 17:40:17 GMT</pubDate><content:encoded>&lt;p&gt;You’d think the fastest thing is y’know, &lt;em&gt;light&lt;/em&gt;, but it’s actually me muting a new channel in a community Discord.&lt;/p&gt;
</content:encoded></item><item><title>What Andy Listened To – Issue #2</title><link>https://bell.bz/what-andy-listened-to-issue-2/</link><guid isPermaLink="true">https://bell.bz/what-andy-listened-to-issue-2/</guid><pubDate>Fri, 10 Sep 2021 11:21:00 GMT</pubDate><content:encoded>
&lt;p&gt;It’s been a heavy hip hop week for me this week with a large portion of alternative/party rock, featuring a long overdue listen of a band that continues to make waves.&lt;/p&gt;



&lt;h2&gt;Ghetto Pop Life&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Danger Mouse and Jemini The Gifted One – 2003&lt;/strong&gt; | &lt;em&gt;hip hop, rap&lt;/em&gt;&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://www.whatandylistened.to/content/images/2021/09/image-6.png&quot; alt=&quot;Ghetto Pop life album cover&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;This album consumed a lot of my late-teen/early adulthood life and this week, I managed to land an original 2003 vinyl copy. Danger Mouse is &lt;em&gt;beyond talented&lt;/em&gt; and is responsible for some of my favourite albums of all time: namely “The Mouse And The Mask” and “The Grey album”. This album firmly sits up there with those two classics.&lt;/p&gt;



&lt;p&gt;What I love the most about this album is Jemini’s flow and lyrics. It’s a masterpiece which is perfectly decorated with Danger Mouse’s stunning production work. My track pick is “The Only One”—it’s super funky.&lt;/p&gt;



&lt;h2&gt;Fear Of A Black Tangent&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Busdriver – 2005 &lt;/strong&gt;| &lt;em&gt;hip hop, rap&lt;/em&gt;&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://www.whatandylistened.to/content/images/2021/09/image-7.png&quot; alt=&quot;Fear Of a Black Tangent album cover&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;If you like Blackalicious, you will &lt;em&gt;love&lt;/em&gt; Busdriver. He sits so far behind the beat (a bit like Jay-Z) that a lot of the time, he feels out of time, but I love that. The beats on this album are supremely good too.&lt;/p&gt;



&lt;p&gt;My track pick is “Unemployed Black Astronaut”. It’s actually one of my favourite hip hop tracks of all time.  &lt;/p&gt;



&lt;h2&gt;Technology&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Don Broco – 2018&lt;/strong&gt; | &lt;em&gt;alternative rock, party rock&lt;/em&gt;&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://www.whatandylistened.to/content/images/2021/09/image-8.png&quot; alt=&quot;Technology album cover&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;For the longest time, I’ve been aware of the hype surrounding Don Broco—people fuckin’ love them—but I’ve never actually listened to them. I saw some footage of them absolutely &lt;em&gt;owning it&lt;/em&gt; at Leeds/Reading and decided to finally get into them and holy shit, I’ve been missing out.&lt;/p&gt;



&lt;p&gt;Like, this stuff isn’t super special by any stretch, but it’s just really enjoyable to listen too. Music doesn’t have to be critically acclaimed to be good: as long as you enjoy it and this album is exactly that for me. The guitar tone on this album is bloody &lt;em&gt;outrageous&lt;/em&gt; too.&lt;/p&gt;



&lt;h2&gt;Other albums worth a mention&lt;/h2&gt;



&lt;p&gt;I also managed to land a copy of &lt;strong&gt;The Vertigo Of Bliss&lt;/strong&gt; by &lt;strong&gt;Biffy Clyro&lt;/strong&gt; on vinyl which is a must-listen because that album and &lt;strong&gt;Infinity Land&lt;/strong&gt; are in my opinion, were when Biffy were at their best. You should give &lt;strong&gt;Curious Electric&lt;/strong&gt; (extended EP) by &lt;strong&gt;Proceed&lt;/strong&gt; a go too. That’s some lovely, melodic rock stuff right there.&lt;/p&gt;
</content:encoded></item><item><title>9th September 2021 at 10:40</title><link>https://bell.bz/1631180451/</link><guid isPermaLink="true">https://bell.bz/1631180451/</guid><pubDate>Thu, 09 Sep 2021 09:40:51 GMT</pubDate><content:encoded>&lt;p&gt;I got the best sentence in an email today:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“You were due to start jury service soon but you have now been excused”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I got a call yesterday and didn’t want to really believe it until I had it in writing. I imagine jury service is fine if you’re in a salaried position—mostly because you &lt;em&gt;have&lt;/em&gt; to get paid your salary while you do it. As a freelancer with a &lt;em&gt;very&lt;/em&gt; busy schedule at the moment (my fault), it was the cause of &lt;em&gt;a lot&lt;/em&gt; of stress.&lt;/p&gt;
&lt;p&gt;Feelin’ much lighter today.&lt;/p&gt;
</content:encoded></item><item><title>8th September 2021 at 09:38</title><link>https://bell.bz/1631090330/</link><guid isPermaLink="true">https://bell.bz/1631090330/</guid><pubDate>Wed, 08 Sep 2021 08:38:50 GMT</pubDate><content:encoded>&lt;p&gt;It’s our kid’s first day at school today. It literally feels like yesterday that I was driving her and her mum home at 20mph from the hospital.&lt;/p&gt;
&lt;p&gt;That was nearly 5 years ago…&lt;/p&gt;
</content:encoded></item><item><title>7th September 2021 at 16:02</title><link>https://bell.bz/1631026929/</link><guid isPermaLink="true">https://bell.bz/1631026929/</guid><pubDate>Tue, 07 Sep 2021 15:02:09 GMT</pubDate><content:encoded>&lt;p&gt;It’s been a while since I’ve posted on this blog. If you’re reading this on Twitter, I’ve gone back to syndicating these articles with &lt;a href=&quot;https://ifttt.com/&quot;&gt;IFTTT&lt;/a&gt;. It auto-tweets via my &lt;a href=&quot;https://andy-bell.co.uk/feed.xml&quot;&gt;RSS feed&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Anyway, Twitter is the subject of today’s article.&lt;/p&gt;
&lt;p&gt;A week ago, &lt;a href=&quot;https://twitter.com/piccalilli_/status/1432679922301083648&quot;&gt;I decided it was time to go on an extended—potentially permanent—break from Twitter&lt;/a&gt;. I did this because friends, I am terminally fed up with not just Twitter: but social media as a whole.&lt;/p&gt;
&lt;p&gt;The reason I’m focusing on Twitter today is because I can’t escape it. Let me explain why.&lt;/p&gt;
&lt;p&gt;Last weekend was a bank holiday here and we had a lovely few days where my partner’s family came over. Lots of good food and good LOLs were had. The subject of social media came up and me—being a few wines down—went into a full-throttle attack on Facebook and its devastating impact on society.&lt;/p&gt;
&lt;p&gt;Long story short: after they learned of &lt;a href=&quot;https://www.nytimes.com/2018/10/15/technology/myanmar-facebook-genocide.html&quot;&gt;Facebook’s genocidal history&lt;/a&gt; and the penny dropped about how small rewards for engagement is the game—not “keeping up with family”: my partner’s sister and I decided to deactivate Facebook products in solidarity with each other. I only had an Instagram profile because Facebook itself is &lt;em&gt;long dead to me&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;I deactivated Instagram and all that was left…was Twitter. I have two accounts on Twitter: my main—what I call “work” account and a private, mutuals-only account. I opened the latter a few months ago because frankly, I got fed up of fucking reply-guys.&lt;/p&gt;
&lt;p&gt;The problem we have here is that the main “work” account can’t be deactivated because the industry I work in decided that Twitter would be integral and I am freelance. Yep: the platform that limits content to 280 characters and actively rewards hot-takes and negative interactions is the bedrock of the tech industry. Yes, there are blogs and people read blogs, but really, it’s all on Twitter. The problem with my private, mutuals only account is that a lot of mutuals work in tech, so that content (through no fault of theirs) follows them into the no-work zone, so the nice LOLs I have on there are constantly tainted with Jon McWanker’s “well, really, the cascade was a mistake” shit-takes.&lt;/p&gt;
&lt;p&gt;Ideally, I’d nuke both accounts and deal with the consequences later. The problem is that &lt;em&gt;very rarely&lt;/em&gt;, Twitter does bring upon good opportunities. A &lt;em&gt;lot&lt;/em&gt; of my work is credited to that Twitter account too, so loads of links would just stop working overnight, which is not cool. So in short: I’m fucking trapped.&lt;/p&gt;
&lt;p&gt;What am I going to do then? It’s time to go fully hands-off with Twitter. This is the first step: posting from a third party. Even with Tweetbot muting the living daylights out of almost everything: Twitter is still hell. I just can’t be around it anymore. It’s severely impacting my mental health and as I’ve written before: &lt;a href=&quot;https://archive.hankchizljaw.com/wrote/hello-i&apos;m-andy-and-i&apos;m-addicted-to-twitter/&quot;&gt;I’m fucking addicted to it&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;What I hate the most is the fucking asinine takes on &lt;em&gt;everything&lt;/em&gt;. Lucky for us, Chad McDickhead has strong opinions on CSS frameworks and painfully naive takes on the impact of US Troop withdrawal on Afghanistan. He also thinks that the COVID vaccine is “experimental” and we should all “get back to normal”. Let me tell you dear reader: after losing a loved one recently to COVID, those latter comments hit &lt;em&gt;different&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;Anyway, I just thought I’d share what’s going on. You’ll be happy to know that since last week, I feel &lt;em&gt;endlessly&lt;/em&gt; happier and also, weirdly burned out. I think I knew a big burnout was coming and luckily, &lt;a href=&quot;https://archive.hankchizljaw.com/wrote/burnout-a-long-recovery/&quot;&gt;I know the signs to deal with it now&lt;/a&gt;. Getting away from Twitter will only help that.&lt;/p&gt;
&lt;p&gt;I’ll auto-post from here and my &lt;a href=&quot;https://www.whatandylistened.to/&quot;&gt;new music recommendation blog&lt;/a&gt; and hopefully, that’s all you’ll see from me on Twitter—for a few months, at least. The sad thing is that I like to use my following to give people a leg-up by signal boosting them. If anyone has ideas how I can still do that, let me know.&lt;/p&gt;
&lt;p&gt;As always, email is the best way to contact me (hi@piccalil.li), but if you &lt;em&gt;really&lt;/em&gt; have to: I will periodically check Twitter DMs using &lt;a href=&quot;https://twizzle.app/&quot;&gt;Twizzle&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;In closing, &lt;a href=&quot;https://archive.hankchizljaw.com/wrote/hello-i&apos;m-andy-and-i&apos;m-addicted-to-twitter/&quot;&gt;I managed to quit smoking—after 15 years—and have a sensible relationship with cigarettes&lt;/a&gt;, so I can damn-well do the same with Twitter.&lt;/p&gt;
&lt;p&gt;Take it easy.&lt;/p&gt;
</content:encoded></item><item><title>What Andy Listened To – Issue #1</title><link>https://bell.bz/what-andy-listened-to-issue-1/</link><guid isPermaLink="true">https://bell.bz/what-andy-listened-to-issue-1/</guid><pubDate>Fri, 03 Sep 2021 11:23:00 GMT</pubDate><content:encoded>
&lt;p&gt;This is the first ever issue of this feature and we have some top notch albums this week.&lt;/p&gt;



&lt;h2&gt;The Exquisite Death Of Saxon Shore&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Saxon Shore – 2005 &lt;/strong&gt;| &lt;em&gt;post rock, ambient, instrumental&lt;/em&gt;&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://www.whatandylistened.to/content/images/2021/09/image-5.png&quot; alt=&quot;The Exquisite Death Of Saxon Shore cover&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;This one has been a regular on my radar since it came out. I used to listen to it to wind down when I was at Uni after—shall we say—one-too-many “beers”. This album also got me through the worst part of now, permanent tinnitus.&lt;br /&gt;&lt;br /&gt;My favourite track is and will forever be, “Silence Lends A Face To The Soul”. It’ll absolutely &lt;em&gt;crush&lt;/em&gt; you—in a good way.&lt;/p&gt;



&lt;h2&gt;Heavy Is The Head&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Stormzy – 2019 &lt;/strong&gt;| hip hop, rap, grime&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://www.whatandylistened.to/content/images/2021/09/image-1.png&quot; alt=&quot;Heavy Is The Head album cover&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;Whenever British music is mentioned, people often immediately mention The Beatles, The Rolling Stones or something like Led Zeppelin. I think Stormzy represents Britain better than all of those though—especially today’s fractured, broken, failed state, which—using his frankly, &lt;em&gt;superb, &lt;/em&gt;lyrics—he documents perfectly. The production on this album is outstanding too. Stormzy is just a super nice lad, too.&lt;/p&gt;



&lt;p&gt;My Favourite track is probably “Pop Boy”. It’s got a hell of a heavy beat. &lt;/p&gt;



&lt;h2&gt;Cult Drugs&lt;/h2&gt;



&lt;p&gt;&lt;strong&gt;Blood Command – 2017 &lt;/strong&gt;| &lt;em&gt;punk, post-hardcore&lt;/em&gt;&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://www.whatandylistened.to/content/images/2021/09/image-2.png&quot; alt=&quot;Cult Drugs album cover&quot; /&gt;&lt;/figure&gt;



&lt;p&gt;This will blow your socks off, like a spicy curry. This band are &lt;em&gt;loud as hell&lt;/em&gt; and the outrageously powerful vocals from Silje Tombre are perfection. She’s definitely one of my favourite punk/hardcore vocalists, &lt;em&gt;for sure. &lt;/em&gt;Top track for me is definitely the last track: “(The World Covered In) Purple Shrouds”.&lt;/p&gt;



&lt;h2&gt;Other albums worth a mention&lt;/h2&gt;



&lt;p&gt;I’ve really enjoyed getting back into &lt;strong&gt;Konnichiwa&lt;/strong&gt; by &lt;strong&gt;Skepta&lt;/strong&gt; this week, along with various EPs by &lt;strong&gt;June Jissle&lt;/strong&gt;. Definitely check out &lt;strong&gt;A Celebration Of Endings &lt;/strong&gt;by &lt;strong&gt;Biffy Clyro &lt;/strong&gt;too.&lt;/p&gt;



&lt;p&gt;I listed to &lt;strong&gt;Kanye West’s&lt;/strong&gt; new Album, &lt;strong&gt;Donda&lt;/strong&gt;, this week and frankly, it’s self-indulgent shit that’s clearly not even finished yet. To cleanse that, I went back and listened to my two favourite Kanye albums: &lt;strong&gt;The College Dropout&lt;/strong&gt; and &lt;strong&gt;My Beautiful Dark Twisted Fantasy&lt;/strong&gt;.&lt;/p&gt;
</content:encoded></item><item><title>Getting started with CSS Custom Properties</title><link>https://bell.bz/getting-started-with-css-custom-properties/</link><guid isPermaLink="true">https://bell.bz/getting-started-with-css-custom-properties/</guid><pubDate>Thu, 22 Apr 2021 13:38:00 GMT</pubDate><content:encoded>
&lt;p&gt;&lt;em&gt;Custom properties in CSS are exceptionally useful, not just for tokenising your CSS, but also for abstracting complexity and interactivity into smaller, easier to manage pieces. This short guide will get you up to speed with how they work and how to use them.&lt;/em&gt;&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;Say you’ve got some CSS like this:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;h1 {
  background: goldenrod;
}

p {
  color: goldenrod;
}

.my-element {
  border: 1px dotted goldenrod;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;There’s a lot of repetition in there, but how do you improve that with native CSS? You can use &lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/--*&quot;&gt;CSS Custom Properties&lt;/a&gt;—also known as CSS variables—to abstract and tokenise your CSS to make your code more manageable.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;:root {
  --primary: goldenrod;
}

h1 {
  background: var(--primary);
}

p {
  color: var(--primary);
}

.my-element {
  border: 1px dotted var(--primary);
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;In this tutorial, we’re going to get a grip of the basics of custom properties and learn some of the extremely cool and helpful stuff they can do and how they can help your projects.&lt;/p&gt;



&lt;h2&gt;The basics&lt;/h2&gt;



&lt;p&gt;Let’s start right from the top and look at some basics. A custom property is just like a normal CSS property and value pair: a declaration. These declarations are defined inside a CSS rule.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;:root {
  --text-color: rebeccapurple;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Once a custom property is defined, you can grab the value of it, using the &lt;code&gt;var()&lt;/code&gt; function. This will retrieve the &lt;strong&gt;current computed value of the property&lt;/strong&gt;, which we’ll cover in more detail, later in this tutorial.&lt;/p&gt;



&lt;p&gt;With the combination of a declared custom property and the &lt;code&gt;var()&lt;/code&gt; function, we can use them in our CSS to apply values, like this:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;:root {
  --text-color: rebeccapurple;
}

h1 {
  color: var(--text-color);
}
&lt;/code&gt;&lt;/pre&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;h2&gt;Fallbacks&lt;/h2&gt;



&lt;p&gt;If a custom property value that hasn’t been defined, the initial or inherited value will be used instead, but if the Custom Property is invalid and you don’t provide a fallback, &lt;a href=&quot;https://matthiasott.com/notes/css-custom-properties-fail-without-fallback&quot;&gt;it’ll fail&lt;/a&gt;. This can result in some pretty lousy looking user interfaces, so a good shout is to provide a fallback to the &lt;code&gt;var()&lt;/code&gt; function.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;h1 {
  color: var(--text-color, royalblue);
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;By passing a second, fallback value, the &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; will be &lt;code&gt;royalblue&lt;/code&gt; if the &lt;code&gt;--text-color&lt;/code&gt; custom property has not been defined.&lt;/p&gt;



&lt;p&gt;Fallbacks are handy as heck, but they aren’t used by browsers that don’t support custom properties. For the &lt;a href=&quot;https://caniuse.com/css-variables&quot;&gt;microscopic share of browsers that don’t support custom properties&lt;/a&gt;, you can use custom properties as a progressive enhancement, like this.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;h1 {
	color: royalblue;
  color: var(--text-color, royalblue);
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;We still have to pass a fallback to the &lt;code&gt;var()&lt;/code&gt; function because as we just learned, an invalid value—which includes undefined custom properties—will result in the &lt;code&gt;initial&lt;/code&gt; or inherited value being used.&lt;/p&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;h2&gt;Custom properties are computed&lt;/h2&gt;



&lt;p&gt;Once you set a value for a custom property, it can be changed in context and just like any other declaration—a property and value pair—it will be affected by specificity and the cascade.&lt;/p&gt;



&lt;p&gt;Take the first example as a context:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;:root {
  --text-color: rebeccapurple;
}

h1 {
  color: var(--text-color);
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;If this &lt;code&gt;&amp;lt;h1&amp;gt;&lt;/code&gt; was inside an &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; with a class of &lt;code&gt;.colour-change&lt;/code&gt;, which has a CSS rule, declaring a value for &lt;code&gt;--text-color&lt;/code&gt;: that value would be applied.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;:root {
  --text-color: rebeccapurple;
}

h1 {
  color: var(--text-color);
}

article.colour-change {
  --text-color: seagreen;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This CSS is applied because &lt;code&gt;.article.colour-change&lt;/code&gt; has a higher specificity than &lt;code&gt;:root&lt;/code&gt;.&lt;/p&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;h2&gt;You can set custom properties with JavaScript&lt;/h2&gt;



&lt;p&gt;This ability to contextually override a custom property makes them incredibly useful for interactive states and generally writing &lt;em&gt;less CSS&lt;/em&gt;. The previous demo used a toggled CSS class to contextually set a custom property value, but you can also set them inside your JavaScript:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;const article = document.querySelector(&apos;article&apos;);
const button = document.querySelector(&apos;button&apos;);

button.addEventListener(&apos;click&apos;, (evt) =&amp;gt; {
  article.style.setProperty(&apos;--text-color&apos;, &apos;tomato&apos;);
});
&lt;/code&gt;&lt;/pre&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;p&gt;The &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; gets the value for &lt;code&gt;--text-color&lt;/code&gt; applied in its &lt;code&gt;style&lt;/code&gt; attribute, which gives it a &lt;em&gt;way higher&lt;/em&gt; specificity than &lt;code&gt;:root&lt;/code&gt;.&lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;This quick intro to Custom Properties has hopefully given you the knowledge and confidence to explore them further. If you want to learn more about them, I recommend the following resources:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/Using_CSS_custom_properties&quot;&gt;MDN: Using Custom Properties&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;/my-favourite-3-lines-of-css&quot;&gt;My favourite 3 lines of CSS&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://every-layout.dev/rudiments/modular-scale/&quot;&gt;Every Layout: Modular scale&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://utopia.fyi/blog/fluid-custom-properties&quot;&gt;Utopia: Fluid Custom Properties&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/everything-need-know-css-variables/&quot;&gt;CSS-Tricks: Everything you need to know about CSS Variables&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;



&lt;p&gt;Until next time, take it easy 👋&lt;/p&gt;
</content:encoded></item><item><title>14th April 2021 at 12:21</title><link>https://bell.bz/1618399271/</link><guid isPermaLink="true">https://bell.bz/1618399271/</guid><pubDate>Wed, 14 Apr 2021 11:21:11 GMT</pubDate><content:encoded>&lt;p&gt;I’ve been working way too hard recently so I’m treating myself to starting a fun, personal project I’ve been meaning to start for a long time.&lt;/p&gt;
&lt;p&gt;I’m creating an index of my music collection and will be rebuilding &lt;a href=&quot;https://andy-bell.co.uk/1617349778/&quot;&gt;what I lost&lt;/a&gt;. I’ll be buying a combo of physical copies of albums and downloading high quality digital versions. I’ll record vinyls to digital, too.&lt;/p&gt;
&lt;p&gt;It’s going to take &lt;em&gt;fucking years&lt;/em&gt; but so be it. It’s going to be wholesome.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/db-model-music-index.jpg&quot; alt=&quot;A database schema design&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>2nd April 2021 at 08:49</title><link>https://bell.bz/1617349778/</link><guid isPermaLink="true">https://bell.bz/1617349778/</guid><pubDate>Fri, 02 Apr 2021 07:49:38 GMT</pubDate><content:encoded>&lt;p&gt;I just got that glorious feeling of opening a physical record—a vinyl. It was Led Zeppelin’s first album.&lt;/p&gt;
&lt;p&gt;I was a fanatical music collector, once upon a time. I had a CD collection of over 350 albums! Because it got so hard to find an album I wanted to listen to, I bought one of those massive CD wallets DJs use and put every CD in order.&lt;/p&gt;
&lt;p&gt;Proud of this system, I took it to a mate’s so we could listen to some albums. It got late, so I got a taxi home. I left the CD wallet &lt;strong&gt;in the taxi&lt;/strong&gt;. I never saw it again!&lt;/p&gt;
&lt;p&gt;I’m ashamed to say this is the day I decided I’m going to download Kazaa and pirate music.&lt;/p&gt;
&lt;p&gt;I’ve realised recently, I miss having a physical copy of albums, a lot. I like streaming services—currently Apple Music because my collection is too big for Spotify’s arbitrary limits—they’re great for discovery, but artists get paid fuck all. I’m going to either buy a vinyl, cassette or at least go to their bandcamp and download a FLAC of their album instead.&lt;/p&gt;
&lt;p&gt;I’m looking forward to getting back into this stuff. I’m not bloody losing it all this time though.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: You can see the collection on &lt;a href=&quot;https://www.discogs.com/user/andyvirus_/collection&quot;&gt;my Discogs&lt;/a&gt;. It’s modest right now, but it’ll get there.&lt;/p&gt;
</content:encoded></item><item><title>28th March 2021 at 21:03</title><link>https://bell.bz/1616961787/</link><guid isPermaLink="true">https://bell.bz/1616961787/</guid><pubDate>Sun, 28 Mar 2021 20:03:07 GMT</pubDate><content:encoded>&lt;p&gt;I’ve decided that the @hankchizljaw Twitter account is work-only now and I’ll only use and interact with it &lt;em&gt;during work hours&lt;/em&gt;.&lt;br /&gt;I took a little step away last week because I could feel the burnout apathy twinging again, so took swift action to nip it in the bud.&lt;/p&gt;
&lt;p&gt;I’ve realised that the lack of separation between work and myself, a human, is killing me. Obviously, being independent, there’s an intrinsic link between personal and my work, which is sorta unavoidable.&lt;/p&gt;
&lt;p&gt;This pandemic has taken everything away from us and left only work and trying to battle endless burnout waves during “all of this” is like fighting off an angry bull with a red rag. I’m yearning for some separation of personal and &lt;a href=&quot;https://andy-bell.co.uk/1616757456/&quot;&gt;boring internet money&lt;/a&gt;, because the lack of it is clearly not helping me.&lt;/p&gt;
&lt;p&gt;Coding is cool and I like it, but I’m not like, “passionate” about it. Music is where that passion really lies. Heck, if I hadn’t had to do an important audition at Leeds College of Music while I was still recovering from &lt;em&gt;chronic&lt;/em&gt; flu, which had me bed-bound for a month, when I was 17, I wouldn’t even be writing this post lol.&lt;/p&gt;
&lt;p&gt;I only got into the web because I could make cool stuff in flash or build out a MySpace profile and get paid for it—what a dream. All this happened after I dropped out of a music production degree which I found really boring. The web then was weird, still pretty new and fun as hell. It resonated with me, a weird, &lt;em&gt;extremely chaotic&lt;/em&gt; (at the time) creative.&lt;/p&gt;
&lt;p&gt;The web now has gotten extremely corporate and the community: hostile. That hostility has gotten so much worse over the last 12 months and the hostility is related to stuff that really doesn’t matter like opinions on frameworks and whether or not HTML is a programming language (it is you fucking melts). I really enjoy teaching folks how to make websites: I just find myself veering further away from “the industry”.&lt;/p&gt;
&lt;p&gt;Anyway, I can’t fucking tweet about anything other than code stuff on @hankchizljaw without some arsehole in my replies, a lot of the time. If I’m &lt;em&gt;really&lt;/em&gt; lucky, I get arseholes in my replies about tech too. Frankly, I can’t really be arsed with that shit anymore.&lt;/p&gt;
&lt;p&gt;I set up a new Twitter: @piccalilli_. I’m gonna spend more time on there and tweet all the real life stuff.&lt;br /&gt;I will now tweet only tech stuff on @hankchizljaw, like posts on the &lt;a href=&quot;//piccalil.li&quot;&gt;Piccalilli site&lt;/a&gt; and stuff that I like in tech world. Don’t worry, I’ll still shitpost because tech takes itself way too seriously and I like making fun of it.&lt;/p&gt;
&lt;p&gt;So yeh, come and hang on @piccalilli_. It’s not private anymore. This blog won’t auto-syndicate to the work account after this post either: it’ll auto-syndicate to my personal account instead.&lt;/p&gt;
&lt;p&gt;In an attempt to get some of myself back, I’m now going to obsessively collect vinyl, learn woodworking and cook a lot of pizza. I might even download FL studio and &lt;a href=&quot;https://soundcloud.com/4ndeh/sets/andy-virus-2007&quot;&gt;make some below-average electronica&lt;/a&gt; again.&lt;/p&gt;


&lt;p&gt;&lt;strong&gt;Update: this one aged like milk in the sun, LOL&lt;/strong&gt;&lt;/p&gt;
</content:encoded></item><item><title>26th March 2021 at 13:28</title><link>https://bell.bz/1616765295/</link><guid isPermaLink="true">https://bell.bz/1616765295/</guid><pubDate>Fri, 26 Mar 2021 13:28:15 GMT</pubDate><content:encoded>&lt;p&gt;Imagine if someone said:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;“You have to be passionate about clearing sewerage drains. You can’t just do it for the money.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Sounds pretty ridiculous, right?  So why is tech any different and what makes it so special? It isn’t special  and it’s &lt;em&gt;more than acceptable&lt;/em&gt; to get your salary and live your life how you want.&lt;/p&gt;
</content:encoded></item><item><title>26th March 2021 at 11:17</title><link>https://bell.bz/1616757456/</link><guid isPermaLink="true">https://bell.bz/1616757456/</guid><pubDate>Fri, 26 Mar 2021 11:17:36 GMT</pubDate><content:encoded>&lt;p&gt;I’ve just seen someone refer to their job as “boring money internet”.&lt;/p&gt;
&lt;p&gt;The endless tech “debates” like whether one programming language is actually a programming language or not feel very rooted in “boring money internet” to me.&lt;/p&gt;
&lt;p&gt;More fun creative internet, please.&lt;/p&gt;
</content:encoded></item><item><title>25th March 2021 at 08:39</title><link>https://bell.bz/1616661541/</link><guid isPermaLink="true">https://bell.bz/1616661541/</guid><pubDate>Thu, 25 Mar 2021 08:39:01 GMT</pubDate><content:encoded>&lt;p&gt;I’m glad I’m stepping away from tech and design twitter for a bit. If you’ve sent a message or reply, I’ll get to it when I come back. I’m still on my alt and I’ll follow some pals on it, so keep a look-out ?&lt;/p&gt;
&lt;p&gt;It seems like I need a quarterly break. I’m also super busy right now and tech twitter dickheads are even less bearable than usual.&lt;/p&gt;
&lt;p&gt;It encourages me to blog too, which I should do more often–not just about CSS and other web stuff.&lt;/p&gt;
&lt;p&gt;The 1 year anniversary of lockdown starting here in the U.K. has affected me more than I thought it would–I’m just super angry. That lockdown should have started much earlier and thousands died as a result. Thousands more have died since too, because at almost every turn, the tories have fucked it up and seemingly focused only on profiteering from a crisis. &quot;Get Brexit done&quot;, though, right? FFS.&lt;/p&gt;
&lt;p&gt;Anyway, here’s a shot that sums up that first lockdown. I came here every day and thankfully the weather was nice, a lot of the time.&lt;/p&gt;
&lt;p&gt;I was a ball of stress because clients were pulling budgets and y’know, &lt;strong&gt;the pandemic&lt;/strong&gt;, but this place always seemed to help.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/5B1EC64F-86A0-40DB-B6BC-D392253CB2C6.jpeg&quot; alt=&quot;A lush countryside path in glorious sunshine&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>24th March 2021 at 10:47</title><link>https://bell.bz/1616582873/</link><guid isPermaLink="true">https://bell.bz/1616582873/</guid><pubDate>Wed, 24 Mar 2021 10:47:53 GMT</pubDate><content:encoded>&lt;p&gt;8 years ago, we had a pretty grim electrical fire with our dishwasher and every year, timehop reminds me of it with this grim resulting plug.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/burned-plug.jpg?auto=format&quot; alt=&quot;A completely burned out plug&quot; /&gt;&lt;/p&gt;
&lt;p&gt;If I wasn’t fannying around with my espresso machine at the time, it would have undoubtedly turned into a proper house fire. I still wont let the dishwasher run when we’re not at home or at night, even now.&lt;/p&gt;
</content:encoded></item><item><title>18th March 2021 at 20:27</title><link>https://bell.bz/1616099275/</link><guid isPermaLink="true">https://bell.bz/1616099275/</guid><pubDate>Thu, 18 Mar 2021 20:27:55 GMT</pubDate><content:encoded>&lt;p&gt;Let me introduce a couple of terms that we coined in my old agency days because they still make me laugh.&lt;/p&gt;
&lt;p&gt;A &lt;strong&gt;wanklet&lt;/strong&gt; is a completely useless element on a page that does nothing other than satisfy the often ridiculous demands of a difficult stakeholder. A hero slider is a wanklet.&lt;/p&gt;
&lt;p&gt;A &lt;strong&gt;tosslet&lt;/strong&gt; is a lesser wanklet. It’s mostly pointless, but it does potentially provide mild amounts of usefulness. A burger menu is a tosslet.&lt;/p&gt;
</content:encoded></item><item><title>18th March 2021 at 09:14</title><link>https://bell.bz/1616058888/</link><guid isPermaLink="true">https://bell.bz/1616058888/</guid><pubDate>Thu, 18 Mar 2021 09:14:48 GMT</pubDate><content:encoded>&lt;p&gt;I’ve just discovered Lake Street Dive and &lt;em&gt;holy shit&lt;/em&gt;, they are good as hell. They’re smoother than butter.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://album.link/t/165710133&quot;&gt;https://album.link/t/165710133&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>16th March 2021 at 08:32</title><link>https://bell.bz/1615883578/</link><guid isPermaLink="true">https://bell.bz/1615883578/</guid><pubDate>Tue, 16 Mar 2021 08:32:58 GMT</pubDate><content:encoded>&lt;p&gt;My partner and I are the complete opposite to each other. I carefully and methodically maintain a backed-up, collection of plans and notes, to stay organised. She sends me random iMessages with notes, “for later”…&lt;/p&gt;
&lt;p&gt;It works though, to be fair.&lt;/p&gt;
</content:encoded></item><item><title>15th March 2021 at 15:19</title><link>https://bell.bz/1615821588/</link><guid isPermaLink="true">https://bell.bz/1615821588/</guid><pubDate>Mon, 15 Mar 2021 15:19:48 GMT</pubDate><content:encoded>&lt;p&gt;This is absolutely essential reading. Accessibility overlays are snake oil that provide nothing but an awful experience for those that they claim to help and companies like accessiBe are harmful, charlatans.&lt;/p&gt;
&lt;p&gt;Please read and endorse.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://overlayfactsheet.com/&quot;&gt;https://overlayfactsheet.com/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>15th March 2021 at 10:06</title><link>https://bell.bz/1615802811/</link><guid isPermaLink="true">https://bell.bz/1615802811/</guid><pubDate>Mon, 15 Mar 2021 10:06:51 GMT</pubDate><content:encoded>&lt;p&gt;My hearing is &lt;em&gt;finally&lt;/em&gt; level again. I’ve had a pretty severe, double ear infection with a perforated ear drum over the last 10 days or so. The pain was bad enough—my partner even said that when she had a perforated ear drum, the pain waves were as bad as childbirth contractions—but the killer for me has been that one ear was more blocked than the other.&lt;/p&gt;
&lt;p&gt;This matters to me because before I succumbed to being a web nerd, I actually used to do a lot of music production and sound engineering. Audio that is even slightly off bothers me a lot, so imagine what one side of my hearing being completely off has been like! I am also extremely into music, so listening to it has been a blag, rather than a joy.&lt;/p&gt;
&lt;p&gt;Thanks to my past life in music, I have permanent tinnitus too which is &lt;em&gt;all I could hear for 3 days&lt;/em&gt;. I’ll be honest: that and the pain had me literally crying at points. It was torture.&lt;/p&gt;
&lt;p&gt;Protect your hearing, kids.&lt;/p&gt;
</content:encoded></item><item><title>14th March 2021 at 22:24</title><link>https://bell.bz/1615760676/</link><guid isPermaLink="true">https://bell.bz/1615760676/</guid><pubDate>Sun, 14 Mar 2021 22:24:36 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;“I hate all of this. To me, the hunger in the crypto world illustrates all the worst things about people: Our greed, our need to &quot;own&quot; things, and our inability to see the bigger picture. But then — how can’t I be happy for artists who are finally able to pay the bills? Gah! I’m so conflicted!”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is pretty much exactly where I am with all the NFT and crypto stuff right now. This a a good read and and very good newsletter/blog: &lt;a href=&quot;https://www.webworm.co/p/nfts&quot;&gt;https://www.webworm.co/p/nfts&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>8th March 2021 at 09:33</title><link>https://bell.bz/1615196020/</link><guid isPermaLink="true">https://bell.bz/1615196020/</guid><pubDate>Mon, 08 Mar 2021 09:33:40 GMT</pubDate><content:encoded>&lt;p&gt;A very apt song for our times: &lt;a href=&quot;https://song.link/i/1207471421&quot;&gt;https://song.link/i/1207471421&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I remember, after waiting &lt;em&gt;for ever&lt;/em&gt; for At The Drive-In to release a new album (17 years!!), being over the moon when I first heard this track, especially.&lt;/p&gt;
</content:encoded></item><item><title>8th March 2021 at 09:06</title><link>https://bell.bz/1615194382/</link><guid isPermaLink="true">https://bell.bz/1615194382/</guid><pubDate>Mon, 08 Mar 2021 09:06:22 GMT</pubDate><content:encoded>&lt;p&gt;It’s a big day in our house today. Our eldest kid goes back to pre-school.&lt;/p&gt;
&lt;p&gt;Sure, we’re nervous—there’s still a lot of COVID-19 cases—but locally, things are much better than the national picture. Our nerves were totally and rightfully put down the priority list as our kid jumped out of bed this morning and sang “I’m going back to pre-school” over-and-over. She’s struggled through this &lt;strong&gt;third&lt;/strong&gt; lockdown.&lt;/p&gt;
&lt;p&gt;To all the other parents who have homeschooled or have had to juggle childcare and demanding jobs: you’re amazing and as you’ll no doubt, understandably, be nervous today—try to enjoy it, too.&lt;/p&gt;
</content:encoded></item><item><title>6th March 2021 at 08:50</title><link>https://bell.bz/1615020624/</link><guid isPermaLink="true">https://bell.bz/1615020624/</guid><pubDate>Sat, 06 Mar 2021 08:50:24 GMT</pubDate><content:encoded>&lt;p&gt;An oldie but a goodie here from Jeremy Keith:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If one drink feels good, then ten drinks must be better, right?&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;The context is &lt;a href=&quot;https://adactio.com/journal/12759&quot;&gt;this 2017 article in response to an intro and justification of Tailwind&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Jeremy touches on something I’ve always been uncomfortable with Tailwind: the limitations of available CSS.&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;If you are in an environment where people won’t simply create a new utility class every time they want to style something, then you are also in an environment where people won’t create new inline style combinations every time they want to style something.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This was why &lt;a href=&quot;https://github.com/hankchizljaw/gorko&quot;&gt;I made Gorko&lt;/a&gt; for generating utility classes &lt;em&gt;after&lt;/em&gt; using Tailwind (I must say, successfully) for managing design tokens on a client project. The limiting factor of &quot;we can only generate what the framework creators want us to generate&quot; didn’t really sit well with me back then, although technically, Tailwind near-enough nailed what we needed it to.&lt;/p&gt;
&lt;p&gt;Anyway, I’m just enjoying reading Jeremy’s article because it’s the sort of internal response I’ve been having towards stuff like Tailwind and really &lt;strong&gt;all frameworks&lt;/strong&gt; that inevitably become dependencies. Call me biased, but I much prefer a technology agnostic approach like &lt;a href=&quot;https://piccalil.li/cube-css/&quot;&gt;CUBE CSS&lt;/a&gt; with a sprinkling of little tools to get the job done.&lt;/p&gt;
</content:encoded></item><item><title>1st March 2021 at 10:39</title><link>https://bell.bz/1614595178/</link><guid isPermaLink="true">https://bell.bz/1614595178/</guid><pubDate>Mon, 01 Mar 2021 10:39:38 GMT</pubDate><content:encoded>&lt;p&gt;It’s easy to look smart and dunk on NFT from the ivory tower of Twitter and it’s a real societal failing if creatives have to lean into technology that’s fundamentally flawed and terrible for the planet to get paid for what they do.&lt;/p&gt;
&lt;p&gt;We should be dunking on copyright laws, media laws and capitalism: not the people having to approach surviving from a different angle. Creative works are fundamentally de-valued which is not only criminal, but why when an opportunity to actually get paid turns up: creatives jump at it.&lt;/p&gt;
&lt;p&gt;Sure, rich boys will exploit this as a get even richer scheme but yelp, wait until you look at the tax system.&lt;/p&gt;
&lt;p&gt;Art and culture are what define us a humans: not “haha business” and GDP. It’ll be all that’s left when we’re gone.&lt;/p&gt;
&lt;p&gt;I’ve been thinking a lot about NFT for a while and struggling to articulate my thoughts but I guess here they are. I’m already really bored of the hype around NFT, but I’m not gonna take it out on folks trying to get by.&lt;/p&gt;
</content:encoded></item><item><title>28th February 2021 at 08:56</title><link>https://bell.bz/1614502600/</link><guid isPermaLink="true">https://bell.bz/1614502600/</guid><pubDate>Sun, 28 Feb 2021 08:56:40 GMT</pubDate><content:encoded>&lt;p&gt;One thing I can’t help but notice is how efficiently I get through Twitter after abstracting it to Feedbin. I’m usually done and dusted with the latest tweets in 10 minutes.&lt;/p&gt;
&lt;p&gt;The &lt;a href=&quot;https://feedbin.com/blog/2018/01/11/feedbin-is-the-best-way-to-read-twitter/&quot;&gt;Feedbin setup&lt;/a&gt;  gives me back the control too. Tweets no longer feel like they’ll vanish before I get to see them, so naturally, I don’t run straight to Twitter when I grab my phone. I’ll look at other stuff like Dispo and TikTok.&lt;/p&gt;
&lt;p&gt;Managing replies and DMs in &lt;a href=&quot;//frontapp.com&quot;&gt;Front&lt;/a&gt; is only helping that too. I just wish I could tweet alt text with images and reply/RT tweets by url. I’d probably never sign in to Twitter again.&lt;/p&gt;
&lt;p&gt;It all feels much healthier.&lt;/p&gt;
</content:encoded></item><item><title>25th February 2021 at 14:58</title><link>https://bell.bz/1614265092/</link><guid isPermaLink="true">https://bell.bz/1614265092/</guid><pubDate>Thu, 25 Feb 2021 14:58:12 GMT</pubDate><content:encoded>&lt;p&gt;I’ve been building up to running a 10k for a while now and today, I finally did it!&lt;/p&gt;
&lt;p&gt;I used to run a lot as a kid but bad knees and years of smoking weirdly stopped that. My knees have got so much better over the last 12 months, so this year, I started pushing for longer distances.&lt;/p&gt;
&lt;p&gt;Next up: half marathon&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/10k_running.jpg?auto=format&amp;amp;w=1200&quot; alt=&quot;A route map and stats from my 10k run today&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>24th February 2021 at 10:06</title><link>https://bell.bz/1614161172/</link><guid isPermaLink="true">https://bell.bz/1614161172/</guid><pubDate>Wed, 24 Feb 2021 10:06:12 GMT</pubDate><content:encoded>&lt;p&gt;I’m really happy to see Dispo coming out of beta. It’s such a nice, fun little app.&lt;/p&gt;
&lt;p&gt;The only “social network” apps that bring me any sort of joy these days are Dispo and TikTok. I guess I should lump Tumblr in that group too.&lt;/p&gt;
&lt;p&gt;Everything else is just such hard work. Sure there are good bits—Twitter brings me, personally, a lot of benefits. It also brings a lot of bollocks with it too—especially with bollock-owning people in the replies.&lt;/p&gt;
&lt;p&gt;Social networks like Twitter are booming increasingly corporate, too, as people’s work lives merge into their personal lives. I guess the pandemic and tech twitter’s obsession with “passion” are partly to blame for that. The link between people’s personal identity and work identity is certainly growing though.&lt;/p&gt;
&lt;p&gt;Services like Dispo and TikTok bring back the raw creative joy that’s been mostly absent from the web for so long. Byte tried it and failed, in my opinion. I think that was a combination of it being dominated with extremely mild content and that content being produced by really unfunny white people. The users also did a lot of gatekeeping when they came out of beta which immediately turned me off the app. I hope Dispo users don’t do the same, but based on what I’ve seen so far as a beta user: they’ve been nothing but delightful.&lt;br /&gt;
&lt;a href=&quot;https://twitter.com/piccalilli_/status/1360699605625749507&quot;&gt;I even got followed by @piss&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Anyway, &lt;a href=&quot;https://dispo.fun/&quot;&gt;go and grab Dispo&lt;/a&gt; and give me a shout if you need an invite. You can find me with the &lt;code&gt;@piccalilli&lt;/code&gt; handle.&lt;/p&gt;
&lt;p&gt;One last thing is it would be lush to see this stuff on the web &lt;em&gt;alongside&lt;/em&gt; the walled gardens that are native apps. TikTok has a pretty solid PWA but whinges at you to download the app &lt;em&gt;a lot&lt;/em&gt;. I guess that’s something that needs to change, long term.&lt;/p&gt;
</content:encoded></item><item><title>23rd February 2021 at 20:55</title><link>https://bell.bz/1614113742/</link><guid isPermaLink="true">https://bell.bz/1614113742/</guid><pubDate>Tue, 23 Feb 2021 20:55:42 GMT</pubDate><content:encoded>&lt;p&gt;I’ve got a personal site again! It’s the old microblog, back doing all the auto-posting to Twitter and stuff, which is cool.&lt;/p&gt;
&lt;p&gt;It’s nice to have somewhere to dump little posts about stuff which means I can keep Piccalilli to be “tech only”. As much as I like reading newsletters, I can’t be arsed running the one on &lt;a href=&quot;https://andeh.substack.com/&quot;&gt;substack&lt;/a&gt; I was running, either.&lt;/p&gt;
&lt;p&gt;I’m trying to keep Twitter at arms-length at the moment. The main site and apps are just too addictive, so I’m just doing what I can to make things more manageable. I wrote about this before in &lt;a href=&quot;https://archive.hankchizljaw.com/wrote/hello-i&apos;m-andy-and-i&apos;m-addicted-to-twitter/&quot;&gt;“Hello, I’m Andy and I’m addicted to Twitter”&lt;/a&gt;. It looks like I have an annual overload from this stuff maybe.&lt;/p&gt;
&lt;p&gt;Also, no more hankchizljaw.com. I’m back using my andy-bell.co.uk domain.&lt;/p&gt;
&lt;p&gt;Indieweb FTW.&lt;/p&gt;
</content:encoded></item><item><title>23rd February 2021 at 12:12</title><link>https://bell.bz/1614082369/</link><guid isPermaLink="true">https://bell.bz/1614082369/</guid><pubDate>Tue, 23 Feb 2021 12:12:49 GMT</pubDate><content:encoded>&lt;p&gt;Just posting a lil’ test tweet from the ol’ microblog to see if it’s all wired up right again.&lt;/p&gt;
</content:encoded></item><item><title>23rd February 2021 at 11:37</title><link>https://bell.bz/1614080278/</link><guid isPermaLink="true">https://bell.bz/1614080278/</guid><pubDate>Tue, 23 Feb 2021 11:37:58 GMT</pubDate><content:encoded>&lt;p&gt;I’m gonna use this micro blog again I reckon. It’s been a while…&lt;/p&gt;
</content:encoded></item><item><title>5th July 2020 at 10:04</title><link>https://bell.bz/1593939863/</link><guid isPermaLink="true">https://bell.bz/1593939863/</guid><pubDate>Sun, 05 Jul 2020 09:04:23 GMT</pubDate><content:encoded>&lt;p&gt;I feel incredibly demoralised today.&lt;/p&gt;
&lt;p&gt;I’ve been super careful about COVID since February and after seeing scenes in Soho, Bradford and elsewhere, yesterday: it’s only a matter of time before another lockdown comes around.&lt;/p&gt;
&lt;p&gt;It’s my kids I feel really bad for. They haven’t seen family or friends for so long and have only just gone back to nursery. They don’t understand, but it’s clearly all taking a toll on them.&lt;/p&gt;
&lt;p&gt;This pandemic and lockdown has destroyed my mental health too–mainly because I’ve already got issues with health anxiety and obsessively hand wash at the best of times.&lt;/p&gt;
&lt;p&gt;I’ve no idea what state my mental health will be in at the end of the year.&lt;/p&gt;
&lt;p&gt;I’m really hoping for a miracle, but it wont come.&lt;/p&gt;
</content:encoded></item><item><title>9th June 2020 at 10:33</title><link>https://bell.bz/1591695220/</link><guid isPermaLink="true">https://bell.bz/1591695220/</guid><pubDate>Tue, 09 Jun 2020 09:33:40 GMT</pubDate><content:encoded>&lt;p&gt;This Eleventy course has been by far the most challenging writing project I’ve ever done. It’s been way over 20,000 words at this point, over—at the time of writing—21 lessons.&lt;/p&gt;
&lt;p&gt;Even if it helps just one person get Eleventy, it’ll all be worth it.&lt;/p&gt;
</content:encoded></item><item><title>27th May 2020 at 14:24</title><link>https://bell.bz/1590585864/</link><guid isPermaLink="true">https://bell.bz/1590585864/</guid><pubDate>Wed, 27 May 2020 13:24:24 GMT</pubDate><content:encoded>&lt;p&gt;I’ve written 0 lessons for the eleventy course today. I planned to&lt;br /&gt;
write at least two (even though I have 4 in my bullet journal lol).&lt;/p&gt;
&lt;p&gt;Having 37 lessons to write is a real mountain, I must say. I’m into&lt;br /&gt;
double-digits now, but I refuse to force myself to write, if I’m&lt;br /&gt;
not feeling it. I don’t want the quality of the course to suffer. This&lt;br /&gt;
is one of my favourite parts about being my own boss: giving myself&lt;br /&gt;
maximum freedom!&lt;/p&gt;
&lt;p&gt;I’m just gonna do some admin and play with the kids in the garden&lt;br /&gt;
instead and maybe I’ll write a lesson later.&lt;/p&gt;
</content:encoded></item><item><title>CUBE CSS</title><link>https://bell.bz/cube-css/</link><guid isPermaLink="true">https://bell.bz/cube-css/</guid><pubDate>Tue, 26 May 2020 12:35:00 GMT</pubDate><content:encoded>
&lt;p&gt;&lt;em&gt;A CSS methodology oriented towards simplicity and consistency with a heavy dosage of pragmatism.&lt;/em&gt;&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;If there’s one thing you can guarantee in tech, it’s that someone, somewhere, will declare that CSS isn’t up to the job of “big projects” and what will undoubtedly be recommended by those same people will be either a JavaScript-heavy approach or some sort of all-in utility class approach like Tailwind.&lt;/p&gt;



&lt;p&gt;There’s mostly nothing wrong with these approaches—I quite like Tailwind for early-stage prototyping—but often the context of an all-in JavaScript project, or at least a completely &lt;a href=&quot;https://en.wikipedia.org/wiki/Greenfield_project&quot;&gt;greenfield project&lt;/a&gt; is conveniently &lt;strong&gt;left out&lt;/strong&gt;, at the point of suggestion. The problem is, a &lt;em&gt;huge&lt;/em&gt; number of projects are websites, so that advice normally doesn’t work for the &lt;strong&gt;vast majority&lt;/strong&gt; of developers. For context, it’s estimated that &lt;a href=&quot;https://w3techs.com/technologies/details/cm-wordpress&quot;&gt;WordPress powers around 36% of the internet&lt;/a&gt; and is &lt;strong&gt;still rising&lt;/strong&gt;. Compare that to a &lt;a href=&quot;https://w3techs.com/technologies/details/js-react&quot;&gt;paltry &lt;strong&gt;0.3%&lt;/strong&gt; of websites that use React&lt;/a&gt;, for example. It’s important to keep those figures in mind.&lt;/p&gt;



&lt;p&gt;In this article, I’m going to tell you about how &lt;strong&gt;I like to write CSS&lt;/strong&gt;, which I think could help a lot of folks—at least I hope so—because I’ve used this approach, or an earlier iteration of this approach, to power massive websites, tiny blogs, mobile apps and even intranet software! This methodology has roots in both huge projects that service millions of people all the way down to small websites and &lt;a href=&quot;https://hylia.website/&quot;&gt;starter kits&lt;/a&gt;, thanks to its flexibility. This Flexibility has also enabled CUBE CSS to work in both very old and very new codebases.&lt;/p&gt;



&lt;p&gt;The focus of the methodology is utilising the power of CSS and the web platform as a whole, with some added &lt;em&gt;controls&lt;/em&gt; and structures that help to keep things a bit more maintainable and predictable. The end-goal is shipping as little CSS as possible—leaning heavily into progressive enhancement and modern techniques. I hope by the end of the article, it’ll help you to re-think how maybe &lt;strong&gt;you write CSS&lt;/strong&gt; in the future.&lt;/p&gt;



&lt;h2&gt;What is CUBE CSS?&lt;/h2&gt;



&lt;p&gt;CUBE stands for &lt;strong&gt;Composition Utility Block Exception&lt;/strong&gt;, and CSS stands for, y’know, CSS (Cascading Style Sheets). As mentioned before, the CUBE methodology is very much an &lt;strong&gt;extension&lt;/strong&gt; of good ol’ CSS, rather than a reinvention. This mantra is very seriously maintained too, as the cascade and inheritance particularity play a big role.&lt;/p&gt;



&lt;h2&gt;CSS&lt;/h2&gt;



&lt;p&gt;The most important part of this methodology is the language itself: CSS. It’s key to note its existence in the name because some alternative approaches, such as &lt;a href=&quot;https://css-tricks.com/bem-101/&quot;&gt;BEM&lt;/a&gt;—which I have enjoyed for many years—can veer very far away from Cascading Style Sheets. I &lt;em&gt;love&lt;/em&gt; CSS, though and think that it’s core capabilities are actually &lt;strong&gt;key&lt;/strong&gt; to scalable CSS (sorry, I said it). This thinking has taken a &lt;strong&gt;long time and lots of experience to embrace&lt;/strong&gt;, also. CSS is an incredibly complex programming language to learn because so much of the working knowledge is less of syntax and more &lt;em&gt;how&lt;/em&gt; things work in specific domains, which is often browsers.&lt;/p&gt;



&lt;p&gt;The Cascade is itself, &lt;em&gt;magnificent&lt;/em&gt;, because it enables us to write very little CSS and really isn’t as scary as people often make it out to be. Sure, in the old days of Internet Explorer, the cascade was a bit tricky, but using old knowledge and techniques as the base of a modern approach is like feeding horse feed to a car.&lt;/p&gt;



&lt;p&gt;The core of this methodology is that most of the work is &lt;strong&gt;already done for you with global and high-level styles&lt;/strong&gt;. This means that before you even starting thinking about components—or the in the case of CUBE CSS—blocks, your typography is mostly set, your colours are working great and your elements are working harmoniously with each other. We use the rest of the methodology—CUBE—not to style &lt;em&gt;everything&lt;/em&gt;, but instead, to provide contextual styles that deviate from the common, global system.&lt;/p&gt;



&lt;p&gt;CUBE CSS in essence, is a progressive enhancement approach, vs a fight against the grain of CSS or a pixel-pushing your project to within an inch of its life approach.&lt;/p&gt;



&lt;h2&gt;Composition&lt;/h2&gt;



&lt;p&gt;Speaking of systems: let’s talk about &lt;strong&gt;design systems&lt;/strong&gt;. I’m lucky that I’ve been around these for around half a decade now, and working with design systems has been one of the most valuable aspects of my career as a designer and front-end developer. This is mainly because a design system doesn’t just make you think at a &lt;strong&gt;micro-level&lt;/strong&gt;, but also at a &lt;strong&gt;macro-level&lt;/strong&gt;, because you have to make not just decisions about pixels, but also high-level organisation decisions which the design system helps to solve. Design system work is actually &lt;strong&gt;diplomacy work&lt;/strong&gt;, a lot of the time.&lt;/p&gt;



&lt;p&gt;This is often where I see narrow, component-only tunnel vision fall short and really, these approaches are less design systems, but more &lt;strong&gt;component libraries&lt;/strong&gt; that solve a much narrower cohort of problems.&lt;/p&gt;



&lt;p&gt;Often, in more recent conversations (read: tweet threads) about design systems, stuff is &lt;em&gt;very&lt;/em&gt; micro-optimised. This is fine, because if it works for folks, it works! I would issue a warning though: the LEGO blocks analogy isn’t that relevant in the wider context of design systems. It is very useful at explaining a component’s role in an overall project, though.&lt;/p&gt;



&lt;p&gt;I mention all of this, not to sound all smart about design systems, but because even if you break your design system into tiny molecules, it’s still going to be applied in a larger context at some point and that should never be forgotten, but so often is. I’ve found over many approaches, within many projects over the years, that wider composition often trumps micro-optimisations and the &lt;strong&gt;composition layer&lt;/strong&gt; of CUBE CSS exists because of this&lt;/p&gt;



&lt;p&gt;What do I mean about composition though? Let’s take a look at this classic layout:&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://piccalilli.imgix.net/images/blog/cube-css/composition-1.svg?format=auto&amp;amp;q=60&amp;amp;w=1500&quot; alt=&quot;A line illustration of a basic layout withcomponents&quot; /&gt;&lt;figcaption&gt;A good ol’ classic hero and cards situation with a 3 column grid.&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;We’ve got various elements here that themselves are individual components. The &lt;strong&gt;composition&lt;/strong&gt; of this layout is what controls the overall layout and rhythm of elements. Think of the composition as a &lt;strong&gt;skeleton&lt;/strong&gt;.&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://piccalilli.imgix.net/images/blog/cube-css/composition-2.svg?format=auto&amp;amp;q=60&amp;amp;w=1500&quot; alt=&quot;The same illustration but the components are gone and a skeletalstructure remains&quot; /&gt;&lt;figcaption&gt;As you can see, the composition handles how things stitch together, regardless of what component they happen to be.&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;To illustrate this further, we can put whatever components we like in our &lt;strong&gt;skeleton&lt;/strong&gt;. Like this example, we replace a card with a call to action instead:&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://piccalilli.imgix.net/images/blog/cube-css/composition-3.svg?format=auto&amp;amp;q=60&amp;amp;w=1500&quot; alt=&quot;The initial illustration but one of the cards has been replaced witha new component&quot; /&gt;&lt;figcaption&gt;Our call to action isn’t out of place because the composition of this view handles all of the layout for us.&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;Composition is also &lt;strong&gt;key within components&lt;/strong&gt;. Take our card component as an example. You will probably have some flow content in there somewhere, just like in the illustrations, where a heading and summary hang out together. What you could do is add a class to every single element in there and micro-optimise how they behave, like you would with BEM, or you could do something like this:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.flow &amp;gt; * + * {
  margin-top: var(--flow-space, 1em);
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Then we’d apply it to our card markup like this:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;&amp;lt;article class=&quot;card&quot;&amp;gt;
  &amp;lt;img class=&quot;card__image&quot; alt=&quot;&quot; /&amp;gt;
  &amp;lt;div class=&quot;[ card__content ] [ flow ]&quot;&amp;gt;
    &amp;lt;!-- our content in here will auto-flow now --&amp;gt;
  &amp;lt;/div&amp;gt;
&amp;lt;/article&amp;gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;We create a utility that provides us with a common flow and rhythm which in turn, helps us to compose our layouts &lt;em&gt;and&lt;/em&gt; components. That seamlessly segues us in to the next section.&lt;/p&gt;



&lt;h2&gt;Utilities&lt;/h2&gt;



&lt;p&gt;If utilising the cascade is the backbone of this methodology, then utilities are the shoes that help it to walk comfortably.&lt;/p&gt;



&lt;p&gt;A utility, in the context of CUBE CSS, is a &lt;strong&gt;CSS class that does one job and does that job well&lt;/strong&gt;. This CSS class, more often than not, will have one CSS property defined, but it might also have a few, in a concise group, like this example of a wrapper utility:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.wrapper {
  margin-inline: auto;
  padding-inline: 1rem;
  max-width: 60rem;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This handy utility provides a consistent max width, padded container that sits in the middle of the viewport when the viewport is &lt;strong&gt;greater than 60rem wide&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;&lt;strong&gt;One job: done well.&lt;/strong&gt;&lt;/p&gt;



&lt;h3&gt;Design tokens&lt;/h3&gt;



&lt;p&gt;These are a concept by &lt;a href=&quot;https://twitter.com/jina&quot;&gt;Jina&lt;/a&gt; which completely transformed how I think about design systems. Here’s a direct quote about what they are, by Jina:&lt;/p&gt;



&lt;blockquote&gt;
&lt;p&gt;“Design Tokens are the visual atoms of the design system – specifically, they are named entities that store visual design attributes. We use them in place of hard–coded values in order to maintain a scalable and consistent visual system.”&lt;/p&gt;
&lt;/blockquote&gt;



&lt;p&gt;Design tokens are really useful because they allow our systems to be scalable (sorry I said it again). This is core with this methodology—CUBE CSS—because we take those abstracted values and apply them to our context with utility classes.&lt;/p&gt;



&lt;p&gt;For example, let’s say our primary colour is &lt;code&gt;#ff00ff&lt;/code&gt;, which is a nice magenta colour. This could be defined outside of our context in a database or even a JSON file like this:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;{
  &quot;colours&quot;: {
    &quot;primary&quot;: &quot;#ff00ff&quot;,
    &quot;secondary&quot;: &quot;#ffbf81&quot;,
    &quot;base&quot;: &quot;#252525&quot;
  }
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;For me, there’s usually a step between that and CSS where design token utility classes are generated. You end up with something like this:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.bg-primary {
  background: #ff00ff;
}

.bg-secondary {
  background: #ffbf81;
}

.color-primary {
  color: #ff00ff;
}

.color-secondary {
  color: #ffbf81;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;With those classes generated, we would apply them like so:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;&amp;lt;article class=&quot;bg-primary color-base&quot;&amp;gt;&amp;lt;/article&amp;gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Applying our design tokens like this allows us to define things once and apply them everywhere. It reduces repetition and most importantly: reduces overall bundle sizes!&lt;/p&gt;



&lt;h2&gt;Block&lt;/h2&gt;



&lt;p&gt;On to the next part of the methodology: Block. A block is your building block or your component. It’s your card or your button. If you’ve already used BEM before, the definition is almost &lt;em&gt;identical&lt;/em&gt;. A block at this point is really a minor thing, though, because so much has been handled by the other parts covered: CSS, composition and utilities. If you choose to write your CSS with this sort of methodology, you’ll probably find that your block CSS is &lt;strong&gt;tiny&lt;/strong&gt;, because of this.&lt;/p&gt;



&lt;p&gt;A major difference between BEM and CUBE is that whatever goes inside the block is &lt;strong&gt;open season&lt;/strong&gt;. This is because—as mentioned previously—your global CSS, composition rules and utilities have most likely done most of the work for you, so having formal elements is sort of redundant.&lt;/p&gt;



&lt;p&gt;I still personally like to use the BEM syntax for elements though, like this:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.my-block__my-element {
  /* Cool CSS goes here */
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This is mainly a preference that stems from &lt;strong&gt;years&lt;/strong&gt; of working with BEM, so it’s how my brain is programmed now.&lt;/p&gt;



&lt;p&gt;You could quite comfortably give each element flat selectors or even apply HTML element styles, like this, too:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.my-block .title {
  /* Cool CSS goes here */
}

.my-block h2 {
  /* Cool CSS goes here */
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;It shouldn’t really matter because again, your global CSS, utilities and composition rules are doing the hard work for you already.&lt;/p&gt;



&lt;h2&gt;Exception&lt;/h2&gt;



&lt;p&gt;Lastly in this tour: Exceptions. These are little variations to a block. For example, you might have a “reversed” state or an “inactive” state. For these: we use &lt;strong&gt;data attributes&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;Take this card as an example. By default, it’s a standard edition card:&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://piccalilli.imgix.net/images/blog/cube-css/exception-1.svg?format=auto&amp;amp;q=60&amp;amp;w=1500&quot; alt=&quot;A card with image, heading andsummary&quot; /&gt;&lt;figcaption&gt;Our standard edition card element&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;But when we add a “reversed” state, the image is at the bottom and the content is at the top.&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://piccalilli.imgix.net/images/blog/cube-css/exception-2.svg?format=auto&amp;amp;q=60&amp;amp;w=1500&quot; alt=&quot;The same card but flipped&quot; /&gt;&lt;figcaption&gt;Our exception gives it a flip.&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;We add the exception using a data attribute like this:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;&amp;lt;article class=&quot;card&quot; data-state=&quot;reversed&quot;&amp;gt;&amp;lt;/article&amp;gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This provides a useful hook for both CSS &lt;strong&gt;and&lt;/strong&gt; JavaScript! You can reverse the content like so:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.card[data-state=&apos;reversed&apos;] {
  display: flex;
  flex-direction: column-reverse;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;h2&gt;Grouping&lt;/h2&gt;



&lt;p&gt;There could be a lot of stuff going on with your &lt;code&gt;class&lt;/code&gt; attribute with this methodology, so I like to group things with square brackets, like so:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;&amp;lt;article
  class=&quot;[ card ] [ section box ] [ bg-base color-primary ]&quot;
  data-state=&quot;reversed&quot;
&amp;gt;&amp;lt;/article&amp;gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;I tend to follow this order:&lt;/p&gt;



&lt;ol&gt;
&lt;li&gt;The main block class&lt;/li&gt;



&lt;li&gt;Any subsequent block classes&lt;/li&gt;



&lt;li&gt;Utility classes&lt;/li&gt;
&lt;/ol&gt;



&lt;p&gt;I might even split up the utilities into standard utilities and design tokens, depending on how many there are.&lt;/p&gt;



&lt;p&gt;I get asked about my use of brackets in class attributes &lt;em&gt;a lot&lt;/em&gt; and quite a lot of the time, they get a very mixed reception. The important thing is clarity and I think they provide that.&lt;/p&gt;



&lt;p&gt;If you don’t like brackets, you could use something like pipes instead:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;&amp;lt;article
  class=&quot;card | section box | bg-base color-primary&quot;
  data-state=&quot;reversed&quot;
&amp;gt;&amp;lt;/article&amp;gt;
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;At the end of the day, it doesn’t matter what you do, because HTML and CSS are smart enough to ignore things either they don’t understand or things that have no meaning to them. They really are excellent programming languages because of this.&lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;This isn’t a heavily documented, complex methodology. Well, not now, anyway. It’s more of a concept method of organising CSS &lt;em&gt;just enough&lt;/em&gt; to not pull to far away from the “classic” way of writing it. Really, it’s more of a thinking structure.&lt;/p&gt;



&lt;p&gt;I’ve been all the way down the micro-optimisation rabbit hole and been down the “let’s build a library of skeletal components for all projects” (this almost never brings any benefit). On the opposite end of the scale, I’ve done all globals with direct HTML tag styling, too. &lt;strong&gt;Any method is extremely valid for your context&lt;/strong&gt; and if this is how you write your CSS, &lt;strong&gt;keep doing what works for you and your team&lt;/strong&gt;. All I would recommend is keeping other team’s &lt;a href=&quot;https://hankchizljaw.com/wrote/context-and-caveats/&quot;&gt;contexts and caveats&lt;/a&gt; in mind before you recommend &lt;strong&gt;your way&lt;/strong&gt; as absolute.&lt;/p&gt;



&lt;p&gt;This project now has full documentation and guidance which you can &lt;a href=&quot;https://cube.fyi/&quot;&gt;check out here&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>26th May 2020 at 11:24</title><link>https://bell.bz/1590488649/</link><guid isPermaLink="true">https://bell.bz/1590488649/</guid><pubDate>Tue, 26 May 2020 10:24:09 GMT</pubDate><content:encoded>&lt;p&gt;I’m re-working a section of my talk “Keeping It Simple With CSS That&lt;br /&gt;
Scales” today. C-BEUT is gone and instead replaced with CUBE CSS –&lt;br /&gt;
Composition Utility Block Exception.&lt;/p&gt;
&lt;p&gt;I see composition as a really important aspect of keeping things&lt;br /&gt;
simple. Micro-optimisation in my experience, has usually resulted in&lt;br /&gt;
fragile re-inventions of core language capabilities and we’re seeing&lt;br /&gt;
that again with various re-inventions of the Stack from Every Layout.&lt;/p&gt;
&lt;p&gt;I’ll blog about it on piccalilli later.&lt;/p&gt;
&lt;p&gt;C-BEUT was such a shit name.&lt;/p&gt;
</content:encoded></item><item><title>24th May 2020 at 16:52</title><link>https://bell.bz/1590335537/</link><guid isPermaLink="true">https://bell.bz/1590335537/</guid><pubDate>Sun, 24 May 2020 15:52:17 GMT</pubDate><content:encoded>&lt;p&gt;One thing I’m getting sick of hearing is &quot;the government did a good job with the hand they were dealt&quot;.&lt;/p&gt;
&lt;p&gt;They didn’t. They fucked up.&lt;/p&gt;
&lt;p&gt;Every other government around the globe got dealt a similar hand, yet we’re only just behind America in deaths.&lt;/p&gt;
</content:encoded></item><item><title>27th April 2020 at 08:33</title><link>https://bell.bz/1587972788/</link><guid isPermaLink="true">https://bell.bz/1587972788/</guid><pubDate>Mon, 27 Apr 2020 07:33:08 GMT</pubDate><content:encoded>&lt;p&gt;‪If you write to get lots of views, your posts will probably never be great.‬&lt;/p&gt;
&lt;p&gt;‪If you write really good content, though, you’ll achieve the former by proxy. ‬&lt;/p&gt;
&lt;p&gt;‪It’s all about patience. So many of my old articles did nothing, but I’m a completely different and much better writer now for persisting.‬&lt;/p&gt;
&lt;p&gt;‪I can also link pretty much all success in the web world back to writing.  Publishing on my own blog has been endlessly useful too. ‬&lt;/p&gt;
&lt;p&gt;‪The blog platforms will get you short term views, sure, but what happens to your hard work when they’re gone? ‬&lt;/p&gt;
&lt;p&gt;Lastly: anyone can be a great writer. I did terrible at school, but over the last five or six years, I’ve persisted and improved. You just gotta work at this stuff, like anything else.&lt;/p&gt;
</content:encoded></item><item><title>22nd April 2020 at 11:10</title><link>https://bell.bz/1587550246/</link><guid isPermaLink="true">https://bell.bz/1587550246/</guid><pubDate>Wed, 22 Apr 2020 10:10:46 GMT</pubDate><content:encoded>&lt;p&gt;I’ve de-clamshelled my MacBook Pro and because I only use one screen, I wanted to keep it occupied.&lt;/p&gt;
&lt;p&gt;I came across this: &lt;a href=&quot;https://www.kaleidosync.com/visualizer&quot;&gt;https://www.kaleidosync.com/visualizer&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It reminds me of the old iTunes days.&lt;/p&gt;
</content:encoded></item><item><title>21st April 2020 at 16:19</title><link>https://bell.bz/1587482395/</link><guid isPermaLink="true">https://bell.bz/1587482395/</guid><pubDate>Tue, 21 Apr 2020 15:19:55 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;There is no faster (pun intended) way to slow down a site than to use a bunch of JavaScript.&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://timkadlec.com/remembers/2020-04-21-the-cost-of-javascript-frameworks/&quot;&gt;https://timkadlec.com/remembers/2020-04-21-the-cost-of-javascript-frameworks/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a fantastically detailed piece by Tim Kadlec. The evidence really do paint a worrying picture and hopefully this can be a good source for those trying to improve things in their company.&lt;/p&gt;
</content:encoded></item><item><title>21st April 2020 at 10:12</title><link>https://bell.bz/1587460324/</link><guid isPermaLink="true">https://bell.bz/1587460324/</guid><pubDate>Tue, 21 Apr 2020 09:12:04 GMT</pubDate><content:encoded>&lt;p&gt;Tip for Firefox users on Mac.&lt;/p&gt;
&lt;p&gt;By default, you can’t tab to links. To fix it:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Go to “about:config”&lt;/li&gt;
&lt;li&gt;Search for “accessibility.tabfocus”&lt;/li&gt;
&lt;li&gt;It won’t show up but will offer to create one. Set it to a “number”.&lt;/li&gt;
&lt;li&gt;Set the value to 7&lt;/li&gt;
&lt;li&gt;Done&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>8th April 2020 at 12:07</title><link>https://bell.bz/1586344021/</link><guid isPermaLink="true">https://bell.bz/1586344021/</guid><pubDate>Wed, 08 Apr 2020 11:07:01 GMT</pubDate><content:encoded>&lt;p&gt;I’m doing some print CSS stuff for Piccalilli invoices. It’s not something I do very often!&lt;/p&gt;
&lt;p&gt;Luckily, Rachel Andrew has written this excellent guide over on Smashing Mag: &lt;a href=&quot;https://www.smashingmagazine.com/2015/01/designing-for-print-with-css/&quot;&gt;https://www.smashingmagazine.com/2015/01/designing-for-print-with-css/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>8th April 2020 at 10:43</title><link>https://bell.bz/1586338983/</link><guid isPermaLink="true">https://bell.bz/1586338983/</guid><pubDate>Wed, 08 Apr 2020 09:43:03 GMT</pubDate><content:encoded>&lt;p&gt;After a ridiculously stressful few weeks, I’m finally slowing down a bit today.&lt;/p&gt;
&lt;p&gt;We’ve been in self isolation (which isn’t that different to lockdown) for 13 days because both our kids have had coronavirus symptoms. We’re not convinced it was coronavirus, but at this time, even a standard edition kid fever hits differently.&lt;/p&gt;
&lt;p&gt;Being a parent is hard work right now and I’ve certainly not experienced this level of anxiety for a lot of years.&lt;/p&gt;
&lt;p&gt;I’ve also been deep in one of the largest client projects I’ve ever done. The peak of which happened while we were in this panic state about our children’s health. That’s been a real test, but it’s also given me a buffer which I’m incredibly privileged to have. I’ve got so much empathy for my fellow freelancer chums going through this time right now.&lt;/p&gt;
&lt;p&gt;It’s all looking up though. I launched the pre-orders of my new Eleventy course yesterday which have been &lt;em&gt;flying&lt;/em&gt; off the shelves. The support from folks has legit made me do a little cry over the last 24 hours. Y’all are amazing and you’re helping me to dedicate more resources to the end-product.&lt;/p&gt;
&lt;p&gt;So, back to today: I’m just gonna muck around building some bits for Piccalilli and generally chilling out. It feels good starting my day at 10:43am BST. I’m back to normality a little bit.&lt;/p&gt;
</content:encoded></item><item><title>6th April 2020 at 13:51</title><link>https://bell.bz/1586177475/</link><guid isPermaLink="true">https://bell.bz/1586177475/</guid><pubDate>Mon, 06 Apr 2020 12:51:15 GMT</pubDate><content:encoded>&lt;p&gt;? Listening to my favourite hip hop album of all time today.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://open.spotify.com/album/6fquTSHubECT65PJdRiMk1?si=fw5GtKL-RpqY6WUjB1rvyw&quot;&gt;https://open.spotify.com/album/6fquTSHubECT65PJdRiMk1?si=fw5GtKL-RpqY6WUjB1rvyw&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It’s a masterpiece.&lt;/p&gt;
</content:encoded></item><item><title>29th March 2020 at 12:13</title><link>https://bell.bz/1585480412/</link><guid isPermaLink="true">https://bell.bz/1585480412/</guid><pubDate>Sun, 29 Mar 2020 11:13:32 GMT</pubDate><content:encoded>&lt;p&gt;I keep hearing “when this blows over, we can go back to normal”.&lt;/p&gt;
&lt;p&gt;We should &lt;em&gt;never&lt;/em&gt; go back to normal. “Normal” has failed us miserably.&lt;/p&gt;
&lt;p&gt;Everything—especially capitalist ideology—needs to change.&lt;/p&gt;
</content:encoded></item><item><title>28th March 2020 at 09:57</title><link>https://bell.bz/1585389478/</link><guid isPermaLink="true">https://bell.bz/1585389478/</guid><pubDate>Sat, 28 Mar 2020 09:57:58 GMT</pubDate><content:encoded>&lt;p&gt;Pro tip: American Pancakes don’t require many ingredients and are easy to make.&lt;/p&gt;
&lt;p&gt;Perfect quarantine cooking.&lt;/p&gt;
&lt;p&gt;All you need:&lt;/p&gt;
&lt;p&gt;135g/4¾oz plain flour&lt;br /&gt;
1 tsp baking powder&lt;br /&gt;
½ tsp salt&lt;br /&gt;
2 tbsp caster sugar (normal is fine)&lt;br /&gt;
130ml/4½fl oz milk&lt;br /&gt;
1 large egg&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Method&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Mix the dry ingredients (sift if you have a sieve).&lt;/p&gt;
&lt;p&gt;Beat the egg and add the milk separately. Then add the dry ingredients.&lt;/p&gt;
&lt;p&gt;Let it rest. I leave it for about 10-15 mins but the more it rests, the more it’ll bubble up.&lt;/p&gt;
&lt;p&gt;The batter should be thick!&lt;/p&gt;
&lt;p&gt;Get a ladle (or just pour a small circle) of batter in the pan.&lt;/p&gt;
&lt;p&gt;When it bubbles at the top, flip it until it’s nice and golden brown in both sides.&lt;/p&gt;
&lt;p&gt;You’re done. Get some, butter, berries and maple syrup on those mofos.&lt;/p&gt;
</content:encoded></item><item><title>25th March 2020 at 16:53</title><link>https://bell.bz/1585155216/</link><guid isPermaLink="true">https://bell.bz/1585155216/</guid><pubDate>Wed, 25 Mar 2020 16:53:36 GMT</pubDate><content:encoded>&lt;p&gt;I’ve finally managed to produce some proper complex client work today.&lt;/p&gt;
&lt;p&gt;I’ve found the last few weeks really tough and have been dragging myself through them in a haze, so this is a welcome change.&lt;/p&gt;
&lt;p&gt;I’m still not up to scratch, but that’ll be the case for a long time now, I imagine. This pandemic is really testing the ol’ thinker.&lt;/p&gt;
</content:encoded></item><item><title>23rd March 2020 at 09:42</title><link>https://bell.bz/1584956541/</link><guid isPermaLink="true">https://bell.bz/1584956541/</guid><pubDate>Mon, 23 Mar 2020 09:42:21 GMT</pubDate><content:encoded>&lt;p&gt;? The Body Coach, AKA Joe Wicks has started doing a PE Lessons for kids (or anyone) at 9AM, GMT, Monday to Friday.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.youtube.com/watch?v=Rz0go1pTda8&quot;&gt;https://www.youtube.com/watch?v=Rz0go1pTda8&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is such a good initiative from them and my kids loved it.&lt;/p&gt;
&lt;p&gt;You should definitely subscribe.&lt;/p&gt;
</content:encoded></item><item><title>16th March 2020 at 14:17</title><link>https://bell.bz/1584368256/</link><guid isPermaLink="true">https://bell.bz/1584368256/</guid><pubDate>Mon, 16 Mar 2020 14:17:36 GMT</pubDate><content:encoded>&lt;p&gt;? This is not a drill: Four Tet has a new album!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://open.spotify.com/album/5gIa8hTQGPwVeNYjDwrraZ?si=RK7d56O0Ty-hjGmY3dXnPg&quot;&gt;https://open.spotify.com/album/5gIa8hTQGPwVeNYjDwrraZ?si=RK7d56O0Ty-hjGmY3dXnPg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;“Teenage Birdsong” is a masterpiece.&lt;/p&gt;
</content:encoded></item><item><title>16th March 2020 at 12:57</title><link>https://bell.bz/1584363420/</link><guid isPermaLink="true">https://bell.bz/1584363420/</guid><pubDate>Mon, 16 Mar 2020 12:57:00 GMT</pubDate><content:encoded>&lt;p&gt;? The little one and I went and did a bit of social distancing earlier.&lt;/p&gt;
&lt;p&gt;We’re so lucky to live in the middle of nowhere and have places like this on our doorstep.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/7E3D4463-9B02-45C6-9656-847796BD801D.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;A woodland path in the sunshine&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>CSS Logical Properties</title><link>https://bell.bz/css-logical-properties/</link><guid isPermaLink="true">https://bell.bz/css-logical-properties/</guid><pubDate>Fri, 13 Mar 2020 14:02:00 GMT</pubDate><content:encoded>
&lt;p&gt;&lt;em&gt;Create spacing that works regardless of the direction of your content or the environment of your users.&lt;/em&gt;&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;Say you want to put some space between two inline items: what do you do? Probably something like this:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.my-element {
  margin-left: 1em;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;This approach is fine and has been for a long time with CSS, but what happens when the content direction changes? That left margin suddenly becomes problematic because it no longer matches and makes the content look awkward.&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://piccalilli.imgix.net/images/tutorials/logical-properties-margin-left.svg?format=auto&amp;amp;q=60&amp;amp;w=1500&quot; alt=&quot;Digram showing how margin-left isn’t effective when the text direction is switched&quot; /&gt;&lt;figcaption&gt;When the direction of content is switched, the left margin is problematic, rather than helpful.&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;Western languages read &lt;strong&gt;left to right&lt;/strong&gt;, but other languages such as Arabic, read &lt;strong&gt;right to left&lt;/strong&gt;. Some languages even read &lt;strong&gt;top to bottom&lt;/strong&gt;, like traditional Chinese.&lt;/p&gt;



&lt;p&gt;Our CSS should be as flexible as possible, so instead of explicitly setting a left, right, top or bottom value to margins, we should instead be using a &lt;strong&gt;logical property&lt;/strong&gt;.&lt;/p&gt;



&lt;p&gt;Here’s that same example from the start, but with a logical property:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;.my-element {
  margin-inline-start: 1em;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;What this now does is instead of saying “add margin to the left”, it says “regardless of direction, put margin on the starting side”. If the language of the document was &lt;strong&gt;right to left&lt;/strong&gt;, like &lt;strong&gt;Arabic&lt;/strong&gt;, that margin would be on the &lt;strong&gt;right hand side&lt;/strong&gt;.&lt;/p&gt;



&lt;figure&gt;&lt;img src=&quot;https://piccalilli.imgix.net/images/tutorials/logical-properties-margin-inline.svg?format=auto&amp;amp;q=60&amp;amp;w=1500&quot; alt=&quot;Digram showing how margin-inline-start is much more effective&quot; /&gt;&lt;figcaption&gt;When we use logical properties, the margin becomes flexible based on the content direction.&lt;/figcaption&gt;&lt;/figure&gt;



&lt;p&gt;Click the button in this demo to see how the margin is now reactive to the content direction:&lt;/p&gt;



&lt;div&gt;CodePen Embed Fallback&lt;/div&gt;



&lt;h2&gt;Why is this important?&lt;/h2&gt;



&lt;p&gt;The web is global and open, so making presumptions about the users of your website is pretty dangerous.&lt;/p&gt;



&lt;p&gt;A variety of factors come into play when someone visits your site, such as connection speed, device power and spoken language. They could also be using a &lt;a href=&quot;https://chrome.google.com/webstore/detail/google-translate/aapbdbdomjkkjkaonfhkkikfgjllcleb?hl=en-GB&quot;&gt;translation extension&lt;/a&gt;. It’s our job as web developers to make our content as flexible as possible to meet user needs, regardless of what those needs are, using the powerful, flexible tools that are given to us by the web platform.&lt;/p&gt;



&lt;p&gt;Logical properties are a perfect example of this and they have a &lt;a href=&quot;https://caniuse.com/#feat=css-logical-props&quot;&gt;huge browser support&lt;/a&gt;, so you should absolutely use them today.&lt;/p&gt;



&lt;h2&gt;Resources and further learning&lt;/h2&gt;



&lt;p&gt;This is only a quick intro to logical properties, but luckily, some other fine folks from around the web have written about them in detail:&lt;/p&gt;



&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://css-tricks.com/css-logical-properties/&quot;&gt;CSS Logical Properties – CSS-Tricks&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Logical_Properties&quot;&gt;CSS Logical Properties and Values – MDN&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://www.smashingmagazine.com/2018/03/understanding-logical-properties-values/&quot;&gt;Understanding Logical Properties And Values&lt;/a&gt;&lt;/li&gt;



&lt;li&gt;&lt;a href=&quot;https://adrianroselli.com/2019/11/css-logical-properties.html&quot;&gt;CSS Logical Properties – Adrian Roselli&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>12th March 2020 at 06:58</title><link>https://bell.bz/1583996307/</link><guid isPermaLink="true">https://bell.bz/1583996307/</guid><pubDate>Thu, 12 Mar 2020 06:58:27 GMT</pubDate><content:encoded>&lt;p&gt;This coronavirus news cycle is brutal. It’s so fast paced.&lt;/p&gt;
&lt;p&gt;We’re used to it in the U.K. with the Brexit situation, so I really feel for y’all who are not here.&lt;/p&gt;
&lt;p&gt;I’m constantly anxious at the moment, not for myself, but for those who are gonna suffer the most.&lt;/p&gt;
</content:encoded></item><item><title>11th March 2020 at 09:35</title><link>https://bell.bz/1583919306/</link><guid isPermaLink="true">https://bell.bz/1583919306/</guid><pubDate>Wed, 11 Mar 2020 09:35:06 GMT</pubDate><content:encoded>&lt;p&gt;This self-hosted photo stream project looks great, by Max Voltar: &lt;a href=&quot;https://github.com/maxvoltar/photo-stream&quot;&gt;https://github.com/maxvoltar/photo-stream&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Publish (on your)&lt;br /&gt;
Own&lt;br /&gt;
Site&lt;br /&gt;
Syndicate&lt;br /&gt;
Elsewhere&lt;br /&gt;
FTW&lt;/p&gt;
&lt;p&gt;It’s good to see Jekyll get a run-out, too.&lt;/p&gt;
</content:encoded></item><item><title>11th March 2020 at 08:36</title><link>https://bell.bz/1583915778/</link><guid isPermaLink="true">https://bell.bz/1583915778/</guid><pubDate>Wed, 11 Mar 2020 08:36:18 GMT</pubDate><content:encoded>&lt;p&gt;A lot of people are suddenly going to experience the benefit of working from home, and companies that force staff to work in their noisy, open-plan offices are in real trouble.&lt;/p&gt;
&lt;p&gt;Remote doesn’t work for a lot of people, either, but big changes are likely.&lt;/p&gt;
</content:encoded></item><item><title>10th March 2020 at 11:30</title><link>https://bell.bz/1583839845/</link><guid isPermaLink="true">https://bell.bz/1583839845/</guid><pubDate>Tue, 10 Mar 2020 11:30:45 GMT</pubDate><content:encoded>&lt;p&gt;? It’s Launch Day!!&lt;/p&gt;
&lt;p&gt;I’m super chuffed to &lt;em&gt;finally&lt;/em&gt; launch the brand new Piccalilli site!!&lt;/p&gt;
&lt;p&gt;I’ve put &lt;em&gt;so much work&lt;/em&gt; into it, so I couldn’t be happier right now.&lt;/p&gt;
&lt;p&gt;https://piccalil.li&lt;/p&gt;
&lt;p&gt;It’s now got tutorials, upcoming courses, a blog and of course, the weekly newsletter.&lt;/p&gt;
</content:encoded></item><item><title>5th March 2020 at 12:09</title><link>https://bell.bz/1583410178/</link><guid isPermaLink="true">https://bell.bz/1583410178/</guid><pubDate>Thu, 05 Mar 2020 12:09:38 GMT</pubDate><content:encoded>&lt;p&gt;? I’m back working from home now, which is making me v happy indeed.&lt;/p&gt;
&lt;p&gt;My cat is certainly happy about it.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/9A8DAE84-7737-4D6A-B6B0-4B9987BE0511.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;High shot of my desk with my cat on my lap&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>3rd March 2020 at 17:09</title><link>https://bell.bz/1583255356/</link><guid isPermaLink="true">https://bell.bz/1583255356/</guid><pubDate>Tue, 03 Mar 2020 17:09:16 GMT</pubDate><content:encoded>&lt;p&gt;Maybe, separate dev and design teams are a bit like government and opposition. There’s an important relationship there that keeps things flowing nice.&lt;/p&gt;
&lt;p&gt;If that relationship is toxic though (see current politics), nothing of any worth gets done.&lt;/p&gt;
&lt;p&gt;It’s certainly something I can’t stop thinking about.&lt;/p&gt;
</content:encoded></item><item><title>3rd March 2020 at 14:07</title><link>https://bell.bz/1583244469/</link><guid isPermaLink="true">https://bell.bz/1583244469/</guid><pubDate>Tue, 03 Mar 2020 14:07:49 GMT</pubDate><content:encoded>&lt;p&gt;? I discovered this via the fabulous Flow State (&lt;a href=&quot;https://flowstate.substack.com/&quot;&gt;https://flowstate.substack.com/&lt;/a&gt;). It’s super good working music:&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://open.spotify.com/album/7B6rBkpEo0yYgVUgKbcAHU?si=XxkwIQEDTwyOmOsXpUT6mg&quot;&gt;https://open.spotify.com/album/7B6rBkpEo0yYgVUgKbcAHU?si=XxkwIQEDTwyOmOsXpUT6mg&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>3rd March 2020 at 08:48</title><link>https://bell.bz/1583225309/</link><guid isPermaLink="true">https://bell.bz/1583225309/</guid><pubDate>Tue, 03 Mar 2020 08:48:29 GMT</pubDate><content:encoded>&lt;p&gt;Chris and Dave said on ShopTalk Show that we should have a like party by sharing your “liked” articles from your RSS reader.&lt;/p&gt;
&lt;p&gt;Here’s mine from Feedbin &lt;a href=&quot;https://microblog.hankchizljaw.com/likes/0/&quot;&gt;https://microblog.hankchizljaw.com/likes/0/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;RSS: &lt;a href=&quot;https://feedbin.com/starred/91894d3eb1e30664631b3d475c213f5e.xml&quot;&gt;https://feedbin.com/starred/91894d3eb1e30664631b3d475c213f5e.xml&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>2nd March 2020 at 13:57</title><link>https://bell.bz/1583157443/</link><guid isPermaLink="true">https://bell.bz/1583157443/</guid><pubDate>Mon, 02 Mar 2020 13:57:23 GMT</pubDate><content:encoded>&lt;p&gt;It’s pretty likely I won’t be doing any streaming this week, pals. I’m heads-down trying to get content for the new &lt;a href=&quot;https://piccalil.li&quot;&gt;https://piccalil.li&lt;/a&gt; done before I launch it next week.&lt;/p&gt;
</content:encoded></item><item><title>2nd March 2020 at 10:00</title><link>https://bell.bz/1583143247/</link><guid isPermaLink="true">https://bell.bz/1583143247/</guid><pubDate>Mon, 02 Mar 2020 10:00:47 GMT</pubDate><content:encoded>&lt;p&gt;? I’m leaving Patreon&lt;/p&gt;
&lt;p&gt;Big thanks to everyone that has supported me on Patreon, but I’m calling it a day on there. To those that I support on there: I’ll be finding ways to support you (let me know what’s best for you).&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.patreon.com/posts/im-leaving-34510515&quot;&gt;https://www.patreon.com/posts/im-leaving-34510515&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>2nd March 2020 at 09:30</title><link>https://bell.bz/1583141442/</link><guid isPermaLink="true">https://bell.bz/1583141442/</guid><pubDate>Mon, 02 Mar 2020 09:30:42 GMT</pubDate><content:encoded>&lt;p&gt;? This is a really interesting podcast episode on burnout and our often unhealthy relationship with work and identity.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://overcast.fm/+QLhUwQ_QQ&quot;&gt;https://overcast.fm/+QLhUwQ_QQ&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It’s pretty long, but good. Hat tip to &lt;a href=&quot;//daverupert.com&quot;&gt;Dave Rupert&lt;/a&gt; for sharing it originally.&lt;/p&gt;
</content:encoded></item><item><title>1st March 2020 at 10:38</title><link>https://bell.bz/1583059121/</link><guid isPermaLink="true">https://bell.bz/1583059121/</guid><pubDate>Sun, 01 Mar 2020 10:38:41 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;“Some webshits have managed to completely remove any advantage of CSS while simultaneously making it an even bigger percentage of a given web page”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;? &lt;a href=&quot;http://n-gate.com/hackernews/2020/02/28/0/&quot;&gt;http://n-gate.com/hackernews/2020/02/28/0/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This made me snort laugh. This is legit one of my favourite blogs.&lt;/p&gt;
</content:encoded></item><item><title>1st March 2020 at 09:52</title><link>https://bell.bz/1583056320/</link><guid isPermaLink="true">https://bell.bz/1583056320/</guid><pubDate>Sun, 01 Mar 2020 09:52:00 GMT</pubDate><content:encoded>&lt;p&gt;? I absolutely love the packaging that comes with GHG coffee. The coffee is rad, too.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.girlswhogrindcoffee.com/&quot;&gt;https://www.girlswhogrindcoffee.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/52ABED7C-1C5B-47EF-AC2B-29548C263650.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;black packaging with a simple illustration with handwritten type. There’s a matching leaflet&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>29th February 2020 at 18:47</title><link>https://bell.bz/1583002049/</link><guid isPermaLink="true">https://bell.bz/1583002049/</guid><pubDate>Sat, 29 Feb 2020 18:47:29 GMT</pubDate><content:encoded>&lt;p&gt;I have an obsessive condition about cleanliness and hand washing. It’s been the case for probably about 10 years but has gotten much worse over the last 5 years.&lt;/p&gt;
&lt;p&gt;It’s something that’s super hard and stressful, because it niggles at me, as with any obsessive condition. When I’m stressed, anxious or in an unfamiliar place, it gets much worse too.&lt;/p&gt;
&lt;p&gt;The extra kicker is because I’m like this, I get super bad skin on my hands. That’s a bastard, that is.&lt;/p&gt;
&lt;p&gt;All of this recent talk about washing hands makes me feel a bit better though. Coronavirus is horrific, but if it improves people’s hygiene, at least there is a micron of positivity.&lt;/p&gt;
&lt;p&gt;This is what stresses me out the most: people’s awful hygiene. When I’m in a public toilet, I’m a wreck because there’s always a dude who either doesn’t wash there hands or just rinses them. Then they touch the door handle and that’s me done for the day: obsessing over how dirty my hands are, even though I washed them.&lt;/p&gt;
&lt;p&gt;I’m not really sure where I’m going with this: I just thought I’d share to show solidarity with others like me. If you are like me, I’m sending hugs at this time ♥️&lt;/p&gt;
</content:encoded></item><item><title>28th February 2020 at 21:10</title><link>https://bell.bz/1582924217/</link><guid isPermaLink="true">https://bell.bz/1582924217/</guid><pubDate>Fri, 28 Feb 2020 21:10:17 GMT</pubDate><content:encoded>&lt;p&gt;? The bullet journal cover is getting there with a couple of my new stickers on it.&lt;/p&gt;
&lt;p&gt;I’m gonna have to start overlapping soon.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/D349B95E-FD74-4974-9F50-40D44813B324.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;My bullet journal cover with a few stickers on it&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>28th February 2020 at 19:40</title><link>https://bell.bz/1582918854/</link><guid isPermaLink="true">https://bell.bz/1582918854/</guid><pubDate>Fri, 28 Feb 2020 19:40:54 GMT</pubDate><content:encoded>&lt;p&gt;I do love sitting and catching up with my RSS feeds on a Friday.&lt;/p&gt;
&lt;p&gt;Cat on lap, kids in bed, red wine in hand. Lush.&lt;/p&gt;
</content:encoded></item><item><title>27th February 2020 at 21:47</title><link>https://bell.bz/1582840067/</link><guid isPermaLink="true">https://bell.bz/1582840067/</guid><pubDate>Thu, 27 Feb 2020 21:47:47 GMT</pubDate><content:encoded>&lt;p&gt;I’ve gone back to using a paper bullet journal.&lt;/p&gt;
&lt;p&gt;The Notion setup I had was cool, but I just wasn’t using it, and being the obsessive organiser that I am: I was getting very stressed.&lt;/p&gt;
&lt;p&gt;I think the main issue was speed. Bullet journaling is supposed to be &lt;em&gt;fast&lt;/em&gt;, but even though I had templates and formulas: Notion was just not fast enough. This just stopped me keeping on top of things.&lt;/p&gt;
&lt;p&gt;This is no shade on Notion, FWIW. I fucking love that app and it runs so much stuff for me. I just don’t think it’s right for me and bullet journaling.&lt;/p&gt;
</content:encoded></item><item><title>27th February 2020 at 14:53</title><link>https://bell.bz/1582815203/</link><guid isPermaLink="true">https://bell.bz/1582815203/</guid><pubDate>Thu, 27 Feb 2020 14:53:23 GMT</pubDate><content:encoded>&lt;p&gt;I’ve been doing client services for a &lt;em&gt;very&lt;/em&gt; long time now and there’s one thing that never changes: stakeholders going rogue. You can plan projects to the nth-degree, but that derailing amend will arrive and hit you for six, every damn time.&lt;/p&gt;
&lt;p&gt;The thing for me is I have to have the right amount of energy to deal with rogue stakeholders properly. If I’m far into a big project, my energy is no where near high enough to tackle bad ideas and keep the project on the right path. It also takes a &lt;em&gt;lot&lt;/em&gt; of patience.&lt;/p&gt;
&lt;p&gt;I’m going through this scenario at the moment, but this time, the energy levels are very low, so I’m in a “do whatever you want” mood, which I’m sure will bite me in the ass in the long-term. I think the upcoming &lt;a href=&quot;https://piccalil.li/&quot;&gt;Piccalilli&lt;/a&gt; stuff contributes to that mood, too.&lt;/p&gt;
&lt;p&gt;You’ve got to care for yourself too and ask yourself if fighting back against a rogue stakeholder is worth it. Sometimes—especially as a freelancer—you’ve just gotta send the invoices and get on with it. Do work, go home. In my case: Do work, get paid and focus on &lt;a href=&quot;https://piccalil.li/&quot;&gt;better, future endeavours&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>27th February 2020 at 14:24</title><link>https://bell.bz/1582813449/</link><guid isPermaLink="true">https://bell.bz/1582813449/</guid><pubDate>Thu, 27 Feb 2020 14:24:09 GMT</pubDate><content:encoded>&lt;p&gt;? Aphex Time.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://open.spotify.com/album/1maoQPAmw44bbkNOxKlwsx?si=3Or3Ki6rQMe6M3KjZ_ytIg&quot;&gt;https://open.spotify.com/album/1maoQPAmw44bbkNOxKlwsx?si=3Or3Ki6rQMe6M3KjZ_ytIg&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is my second favourite Aphex album. Richard D James is my favourite because it got me into electronica music in the first place!&lt;/p&gt;
</content:encoded></item><item><title>27th February 2020 at 06:49</title><link>https://bell.bz/1582786185/</link><guid isPermaLink="true">https://bell.bz/1582786185/</guid><pubDate>Thu, 27 Feb 2020 06:49:45 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;“The web is in bad shape – we need to readjust our understanding of what quality means and what we can expect our users to put up with.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is a fantastic post: &lt;a href=&quot;https://matuzo.at/blog/why-543kb-keep-me-up-at-night/&quot;&gt;https://matuzo.at/blog/why-543kb-keep-me-up-at-night/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>26th February 2020 at 12:56</title><link>https://bell.bz/1582721760/</link><guid isPermaLink="true">https://bell.bz/1582721760/</guid><pubDate>Wed, 26 Feb 2020 12:56:00 GMT</pubDate><content:encoded>&lt;p&gt;I’m going to stream some work on the &lt;a href=&quot;https://piccalil.li&quot;&gt;https://piccalil.li&lt;/a&gt; site today.&lt;/p&gt;
&lt;p&gt;Starts at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;15:15 UTC&lt;/li&gt;
&lt;li&gt;16:15 Central Europe&lt;/li&gt;
&lt;li&gt;10:15 US Eastern&lt;/li&gt;
&lt;li&gt;07:15 US Pacific&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;See you there!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://twitch.tv/hankchizljaw&quot;&gt;https://twitch.tv/hankchizljaw&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>24th February 2020 at 21:32</title><link>https://bell.bz/1582579948/</link><guid isPermaLink="true">https://bell.bz/1582579948/</guid><pubDate>Mon, 24 Feb 2020 21:32:28 GMT</pubDate><content:encoded>&lt;p&gt;? Real Scenes: London&lt;/p&gt;
&lt;p&gt;I really enjoyed this documentary about London’s legendary underground music scene and its battle for survival.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://youtu.be/jN1XUBrwp5A&quot;&gt;https://youtu.be/jN1XUBrwp5A&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>24th February 2020 at 13:20</title><link>https://bell.bz/1582550406/</link><guid isPermaLink="true">https://bell.bz/1582550406/</guid><pubDate>Mon, 24 Feb 2020 13:20:06 GMT</pubDate><content:encoded>&lt;p&gt;I’m going to stream in about 2 hours. Today, I’m going to work on RSS stuff for the new &lt;a href=&quot;https://piccalil.li&quot;&gt;https://piccalil.li&lt;/a&gt; site.&lt;/p&gt;
&lt;p&gt;Starts at:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;15:15 UTC&lt;/li&gt;
&lt;li&gt;16:15 Central Europe&lt;/li&gt;
&lt;li&gt;10:15 US Eastern&lt;/li&gt;
&lt;li&gt;07:15 US Pacific&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;a href=&quot;https://twitch.tv/hankchizljaw&quot;&gt;https://twitch.tv/hankchizljaw&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>24th February 2020 at 10:48</title><link>https://bell.bz/1582541304/</link><guid isPermaLink="true">https://bell.bz/1582541304/</guid><pubDate>Mon, 24 Feb 2020 10:48:24 GMT</pubDate><content:encoded>&lt;p&gt;? Pro-tip&lt;/p&gt;
&lt;p&gt;When you are writing a step-by-step tutorial, build along with your writeup to test that it works how you think it does.&lt;/p&gt;
&lt;p&gt;When I write up tutorials, I build it in a private CodePen project. It works a charm.&lt;/p&gt;
</content:encoded></item><item><title>23rd February 2020 at 09:43</title><link>https://bell.bz/1582450995/</link><guid isPermaLink="true">https://bell.bz/1582450995/</guid><pubDate>Sun, 23 Feb 2020 09:43:15 GMT</pubDate><content:encoded>&lt;p&gt;A pro tip for companies.&lt;/p&gt;
&lt;p&gt;Remember that candidates will almost certainly not just be interviewing with you.&lt;/p&gt;
&lt;p&gt;Remember that when you set your “challenges”, as they will probably be balancing a few challenges, and their job and their day-to-day life.&lt;/p&gt;
&lt;p&gt;Try to find more efficient means instead.&lt;/p&gt;
</content:encoded></item><item><title>23rd February 2020 at 09:36</title><link>https://bell.bz/1582450601/</link><guid isPermaLink="true">https://bell.bz/1582450601/</guid><pubDate>Sun, 23 Feb 2020 09:36:41 GMT</pubDate><content:encoded>&lt;p&gt;I binged “Don’t F**k With Cats: Hunting an Internet Killer” on Netflix last night and I’m still angry.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.netflix.com/gb/title/81031373&quot;&gt;https://www.netflix.com/gb/title/81031373&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It’s a fascinating story, but there was too much footage of animal and human cruelty that really, didn’t improve the story. The horror could have mostly been implied, instead IMO.&lt;/p&gt;
&lt;p&gt;It’s a very difficult watch, but also very interesting.&lt;/p&gt;
</content:encoded></item><item><title>22nd February 2020 at 18:29</title><link>https://bell.bz/1582396186/</link><guid isPermaLink="true">https://bell.bz/1582396186/</guid><pubDate>Sat, 22 Feb 2020 18:29:46 GMT</pubDate><content:encoded>&lt;p&gt;? Join my Slack? Uhm Nah.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://email-is-good.com/2020/02/21/join-my-slack-uhm-nah/&quot;&gt;https://email-is-good.com/2020/02/21/join-my-slack-uhm-nah/&lt;/a&gt;&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&quot;Oh, sure, of course, would you like to crawl inside my shirt with me too?&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;I really like Chris Coyier’s blog on email.&lt;/p&gt;
</content:encoded></item><item><title>22nd February 2020 at 16:20</title><link>https://bell.bz/1582388412/</link><guid isPermaLink="true">https://bell.bz/1582388412/</guid><pubDate>Sat, 22 Feb 2020 16:20:12 GMT</pubDate><content:encoded>&lt;p&gt;? I’m slow cooking a chicken, chick pea and lentil curry.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/FBC8B623-49ED-42FC-98F5-074C239E4B3B.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;My curry in the slow cooker&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>21st February 2020 at 13:35</title><link>https://bell.bz/1582292122/</link><guid isPermaLink="true">https://bell.bz/1582292122/</guid><pubDate>Fri, 21 Feb 2020 13:35:22 GMT</pubDate><content:encoded>&lt;p&gt;? How to overlap images in CSS&lt;/p&gt;
&lt;p&gt;This is a great, concise and practical tutorial by Bri Camp Gomez.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://bricampgomez.com/blog/how-to-overlap-images-in-css/&quot;&gt;https://bricampgomez.com/blog/how-to-overlap-images-in-css/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>21st February 2020 at 10:01</title><link>https://bell.bz/1582279260/</link><guid isPermaLink="true">https://bell.bz/1582279260/</guid><pubDate>Fri, 21 Feb 2020 10:01:00 GMT</pubDate><content:encoded>&lt;p&gt;I don’t often work from my house now, but when I do, Delilah loves it.&lt;/p&gt;
&lt;p&gt;I really should just work from home full-time again ?&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/8D1F4B58-87E9-4421-88DB-1C4469887E2D.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;My cat Delilah sitting on my lap while I try to work&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>20th February 2020 at 09:56</title><link>https://bell.bz/1582192593/</link><guid isPermaLink="true">https://bell.bz/1582192593/</guid><pubDate>Thu, 20 Feb 2020 09:56:33 GMT</pubDate><content:encoded>&lt;p&gt;My minimal CSS reset is super close to hitting 1000 stars on Github. It’d be great if you gave it a little star to get it over the line ⭐️&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://github.com/hankchizljaw/modern-css-reset&quot;&gt;https://github.com/hankchizljaw/modern-css-reset&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>20th February 2020 at 09:36</title><link>https://bell.bz/1582191391/</link><guid isPermaLink="true">https://bell.bz/1582191391/</guid><pubDate>Thu, 20 Feb 2020 09:36:31 GMT</pubDate><content:encoded>&lt;p&gt;? The Postal Service: they’ll make your ears smile.&lt;/p&gt;
&lt;p&gt;It’s making me want to make some electronica again.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://open.spotify.com/album/4ssF0ppdJnMTtL2hg1CLKX?si=rrfONyPHRBivoAgu8Zv97A&quot;&gt;https://open.spotify.com/album/4ssF0ppdJnMTtL2hg1CLKX?si=rrfONyPHRBivoAgu8Zv97A&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>19th February 2020 at 13:29</title><link>https://bell.bz/1582118988/</link><guid isPermaLink="true">https://bell.bz/1582118988/</guid><pubDate>Wed, 19 Feb 2020 13:29:48 GMT</pubDate><content:encoded>&lt;p&gt;Today’s stream will be some more &lt;a href=&quot;https://piccalil.li&quot;&gt;https://piccalil.li&lt;/a&gt; post/tutorial view work.&lt;/p&gt;
&lt;p&gt;Starts at about 15:15 UTC&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.twitch.tv/hankchizljaw&quot;&gt;https://www.twitch.tv/hankchizljaw&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>19th February 2020 at 09:41</title><link>https://bell.bz/1582105272/</link><guid isPermaLink="true">https://bell.bz/1582105272/</guid><pubDate>Wed, 19 Feb 2020 09:41:12 GMT</pubDate><content:encoded>&lt;p&gt;I run a little Telegram group called freelance pals. If you’re a freelancer (or contractor), you’re more than welcome to come along and hang with us: &lt;a href=&quot;https://t.me/joinchat/OjFFbU1VA_2earovjCYAmA&quot;&gt;https://t.me/joinchat/OjFFbU1VA_2earovjCYAmA&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There’s a code of conduct here, too: &lt;a href=&quot;https://hankchizljaw.com/freelance-pals-code-of-conduct/&quot;&gt;https://hankchizljaw.com/freelance-pals-code-of-conduct/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>19th February 2020 at 08:28</title><link>https://bell.bz/1582100919/</link><guid isPermaLink="true">https://bell.bz/1582100919/</guid><pubDate>Wed, 19 Feb 2020 08:28:39 GMT</pubDate><content:encoded>&lt;p&gt;? “Some Imaginary CSS”&lt;/p&gt;
&lt;p&gt;This is a great article about CSS features that don’t exist, but would be great. I especially love the optical margin and &lt;code&gt;pointer-box-offset&lt;/code&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://cloudfour.com/thinks/some-imaginary-css/&quot;&gt;https://cloudfour.com/thinks/some-imaginary-css/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>18th February 2020 at 21:41</title><link>https://bell.bz/1582062067/</link><guid isPermaLink="true">https://bell.bz/1582062067/</guid><pubDate>Tue, 18 Feb 2020 21:41:07 GMT</pubDate><content:encoded>&lt;p&gt;? New on the blog: Jamstack, IFTTT and Netlify: a power trio&lt;/p&gt;
&lt;p&gt;It’s about time I wrote about this Micro Blog, so I go into how it works and importantly, how you can do it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hankchizljaw.com/wrote/jamstack-ifttt-and-netlify:-a-power-trio/&quot;&gt;https://hankchizljaw.com/wrote/jamstack-ifttt-and-netlify:-a-power-trio/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>18th February 2020 at 14:18</title><link>https://bell.bz/1582035514/</link><guid isPermaLink="true">https://bell.bz/1582035514/</guid><pubDate>Tue, 18 Feb 2020 14:18:34 GMT</pubDate><content:encoded>&lt;p&gt;I’m going to do a stream this afternoon of some client work, working on a big ol Vue component with some Vuex action, within a prototype.&lt;/p&gt;
&lt;p&gt;I’ll start at about 15:15 UTC.&lt;/p&gt;
&lt;p&gt;https://www.twitch.tv/hankchizljaw&lt;/p&gt;
</content:encoded></item><item><title>18th February 2020 at 14:02</title><link>https://bell.bz/1582034572/</link><guid isPermaLink="true">https://bell.bz/1582034572/</guid><pubDate>Tue, 18 Feb 2020 14:02:52 GMT</pubDate><content:encoded>&lt;p&gt;? I’ve always been fond of Echo Park by Feeder. Such a beautiful album: &lt;a href=&quot;https://open.spotify.com/album/2AqgHBVRkki14FLTOK2eU7?si=vH66nqcDRAuiQmlS0LBAxQ&quot;&gt;https://open.spotify.com/album/2AqgHBVRkki14FLTOK2eU7?si=vH66nqcDRAuiQmlS0LBAxQ&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>18th February 2020 at 13:11</title><link>https://bell.bz/1582031490/</link><guid isPermaLink="true">https://bell.bz/1582031490/</guid><pubDate>Tue, 18 Feb 2020 13:11:30 GMT</pubDate><content:encoded>&lt;p&gt;My Bonsai Tree is no longer. The poor little tree boi died.&lt;/p&gt;
&lt;p&gt;I am a terrible plant parent.&lt;/p&gt;
</content:encoded></item><item><title>18th February 2020 at 10:57</title><link>https://bell.bz/1582023429/</link><guid isPermaLink="true">https://bell.bz/1582023429/</guid><pubDate>Tue, 18 Feb 2020 10:57:09 GMT</pubDate><content:encoded>&lt;p&gt;I’m super digging people creating feed of their Feedbin likes, so I’ve jumped on the bandwagon.&lt;/p&gt;
&lt;p&gt;Here’s mine: &lt;a href=&quot;https://microblog.hankchizljaw.com/likes/0/&quot;&gt;https://microblog.hankchizljaw.com/likes/0/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is done with Eleventy. Commit: &lt;a href=&quot;https://github.com/hankchizljaw/microblog/commit/df05f000d61dce0342edc3d24cc0806d11c7a2b5&quot;&gt;https://github.com/hankchizljaw/microblog/commit/df05f000d61dce0342edc3d24cc0806d11c7a2b5&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Thanks to Dave Rupert and Robin Rendle for their work on this.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Dave: &lt;a href=&quot;https://daverupert.com/likes/&quot;&gt;https://daverupert.com/likes/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Robin: &lt;a href=&quot;https://www.robinrendle.com/notes/rss-favorites.html&quot;&gt;https://www.robinrendle.com/notes/rss-favorites.html&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>18th February 2020 at 09:47</title><link>https://bell.bz/1582019265/</link><guid isPermaLink="true">https://bell.bz/1582019265/</guid><pubDate>Tue, 18 Feb 2020 09:47:45 GMT</pubDate><content:encoded>&lt;p&gt;This Google Fonts subsetting thing is cool. Append your url with &lt;code&gt;&amp;amp;text=&lt;/code&gt; with the characters you want.&lt;/p&gt;
&lt;p&gt;Tests:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;With subsetting (~21k): &lt;a href=&quot;https://cdpn.io/andybelldesign/debug/95773da82c7eaf769a6a9fb86c563c9d&quot;&gt;https://cdpn.io/andybelldesign/debug/95773da82c7eaf769a6a9fb86c563c9d&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Without subsetting (~11k): &lt;a href=&quot;https://cdpn.io/andybelldesign/debug/b993258f2a59ce956eae99d94fe48ab5&quot;&gt;https://cdpn.io/andybelldesign/debug/b993258f2a59ce956eae99d94fe48ab5&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I only use Playfair for headings on the new &lt;a href=&quot;https://piccalilli&quot;&gt;piccalilli&lt;/a&gt; site and I’ll still serve the font locally, but generating it like this is hella useful.&lt;/p&gt;
&lt;p&gt;Nice work, fonts team!&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;On the WIP piccalilli site with Playfair Display (900) and Courier Prime (400):&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;Before subsetting: 55kb&lt;/li&gt;
&lt;li&gt;After subsetting: 17kb&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;Fonts served locally still, but generated with Google Fonts instead of Font Squirrel.&lt;/p&gt;
&lt;p&gt;I could almost fit one React in that space.&lt;/p&gt;
</content:encoded></item><item><title>17th February 2020 at 21:50</title><link>https://bell.bz/1581976249/</link><guid isPermaLink="true">https://bell.bz/1581976249/</guid><pubDate>Mon, 17 Feb 2020 21:50:49 GMT</pubDate><content:encoded>&lt;p&gt;A slice of apple pie is $2.50 in Jamaica and $3 in The Bahamas.&lt;/p&gt;
&lt;p&gt;These are the pie rates of the Caribbean.&lt;/p&gt;
</content:encoded></item><item><title>17th February 2020 at 10:39</title><link>https://bell.bz/1581935945/</link><guid isPermaLink="true">https://bell.bz/1581935945/</guid><pubDate>Mon, 17 Feb 2020 10:39:05 GMT</pubDate><content:encoded>&lt;p&gt;I’m going to do a stream this afternoon of me starting the post/tutorial template on the new &lt;a href=&quot;https://piccalil.li&quot;&gt;https://piccalil.li&lt;/a&gt; site.&lt;/p&gt;
&lt;p&gt;I’m also giving Firefox another run.&lt;/p&gt;
&lt;p&gt;I’ll start at about 15:00 UTC.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.twitch.tv/hankchizljaw&quot;&gt;https://www.twitch.tv/hankchizljaw&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>17th February 2020 at 08:45</title><link>https://bell.bz/1581929108/</link><guid isPermaLink="true">https://bell.bz/1581929108/</guid><pubDate>Mon, 17 Feb 2020 08:45:08 GMT</pubDate><content:encoded>&lt;p&gt;Some advice for both designers and devs.&lt;/p&gt;
&lt;p&gt;Your first pass at something will almost always not be optimal, but you’ve got something to work with and iterate on.&lt;/p&gt;
&lt;p&gt;Brute-force the solution and then optimise it after, instead of complicating things from the outset.&lt;/p&gt;
&lt;p&gt;I have this on my shelf, by Brendan Dawes and I strongly recommend you do, too: &lt;a href=&quot;https://producedforuse.com/products/process&quot;&gt;https://producedforuse.com/products/process&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>16th February 2020 at 19:31</title><link>https://bell.bz/1581881506/</link><guid isPermaLink="true">https://bell.bz/1581881506/</guid><pubDate>Sun, 16 Feb 2020 19:31:46 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;“A Reply Guy expertly advised front-end developers to leave out HTML and CSS from their CVs as they’re just there to fill space. This leaves more room to talk about the important stuff: JavaScript.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://parochial.tech/posts/html-and-css-are-just-cv-fillers/&quot;&gt;https://parochial.tech/posts/html-and-css-are-just-cv-fillers/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>15th February 2020 at 23:30</title><link>https://bell.bz/1581809434/</link><guid isPermaLink="true">https://bell.bz/1581809434/</guid><pubDate>Sat, 15 Feb 2020 23:30:34 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;“Turns out, a character-limited platform that aggressively promotes hot takes is not suitable for a nuanced discussion about salaries.‌”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://parochial.tech/posts/weekends-on-tech-twitter-salaries/&quot;&gt;https://parochial.tech/posts/weekends-on-tech-twitter-salaries/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>15th February 2020 at 19:56</title><link>https://bell.bz/1581796578/</link><guid isPermaLink="true">https://bell.bz/1581796578/</guid><pubDate>Sat, 15 Feb 2020 19:56:18 GMT</pubDate><content:encoded>&lt;p&gt;This is a lovely post, by Robin Sloan about creating an app just for his family.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.robinsloan.com/notes/home-cooked-app/&quot;&gt;https://www.robinsloan.com/notes/home-cooked-app/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>15th February 2020 at 14:45</title><link>https://bell.bz/1581777901/</link><guid isPermaLink="true">https://bell.bz/1581777901/</guid><pubDate>Sat, 15 Feb 2020 14:45:01 GMT</pubDate><content:encoded>&lt;p&gt;I had psyched myself up to go to the gym on a Saturday and then when I got there, it was closed.&lt;/p&gt;
&lt;p&gt;I’m having a nice biscuit and a cup of tea instead now…&lt;/p&gt;
</content:encoded></item><item><title>15th February 2020 at 13:49</title><link>https://bell.bz/1581774571/</link><guid isPermaLink="true">https://bell.bz/1581774571/</guid><pubDate>Sat, 15 Feb 2020 13:49:31 GMT</pubDate><content:encoded>&lt;p&gt;I really want to hear more underrepresented voices.&lt;/p&gt;
&lt;p&gt;Please send me links to your blogs and RSS feeds!&lt;/p&gt;
</content:encoded></item><item><title>15th February 2020 at 10:10</title><link>https://bell.bz/1581761444/</link><guid isPermaLink="true">https://bell.bz/1581761444/</guid><pubDate>Sat, 15 Feb 2020 10:10:44 GMT</pubDate><content:encoded>&lt;p&gt;When you say &quot;enjoy your weekend&quot;, it’s a nice thing to say.&lt;/p&gt;
&lt;p&gt;When you say &quot;enjoy the rest of your life&quot;, it sounds sinister.&lt;/p&gt;
</content:encoded></item><item><title>14th February 2020 at 20:45</title><link>https://bell.bz/1581713156/</link><guid isPermaLink="true">https://bell.bz/1581713156/</guid><pubDate>Fri, 14 Feb 2020 20:45:56 GMT</pubDate><content:encoded>&lt;p&gt;? I have glorious cats.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/DE385CC7-EB6C-4862-B96D-FAE7C23C8D01.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;Dora, a black cat looks directly into the camera&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/87E84953-BBB8-4747-8E5F-B56D76A573E2.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;Delilah, a majestic tabby cat sits by the TV&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>14th February 2020 at 16:45</title><link>https://bell.bz/1581698742/</link><guid isPermaLink="true">https://bell.bz/1581698742/</guid><pubDate>Fri, 14 Feb 2020 16:45:42 GMT</pubDate><content:encoded>&lt;p&gt;? Thanks, everyone for stopping by to watch me re-design this Micro Blog live today. It was great fun.&lt;/p&gt;
&lt;p&gt;You can catch the whole video, here: &lt;a href=&quot;https://www.twitch.tv/videos/551830940&quot;&gt;https://www.twitch.tv/videos/551830940&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>14th February 2020 at 16:31</title><link>https://bell.bz/1581697879/</link><guid isPermaLink="true">https://bell.bz/1581697879/</guid><pubDate>Fri, 14 Feb 2020 16:31:19 GMT</pubDate><content:encoded>&lt;p&gt;This little Micro Blog has had a face-lift ?&lt;/p&gt;
</content:encoded></item><item><title>14th February 2020 at 11:27</title><link>https://bell.bz/1581679621/</link><guid isPermaLink="true">https://bell.bz/1581679621/</guid><pubDate>Fri, 14 Feb 2020 11:27:01 GMT</pubDate><content:encoded>&lt;p&gt;The Flow State subscription has really hit the nail on the head today. Really enjoying listening to Against All Logic.&lt;/p&gt;
&lt;p&gt;This is seriously a good curated subscription and it’s 20% off today!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://flowstate.substack.com/p/against-all-logic?r=2nf2g&quot;&gt;https://flowstate.substack.com/p/against-all-logic?r=2nf2g&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>14th February 2020 at 11:18</title><link>https://bell.bz/1581679086/</link><guid isPermaLink="true">https://bell.bz/1581679086/</guid><pubDate>Fri, 14 Feb 2020 11:18:06 GMT</pubDate><content:encoded>&lt;p&gt;Today’s stream is going to be a bit different. I’m going to fire up this Micro Blog and make it look good, because at the moment, it looks a bit rubbish: &lt;a href=&quot;https://microblog.hankchizljaw.com/&quot;&gt;https://microblog.hankchizljaw.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Tune in from about 15:00 UTC on Twitch and Periscope (Twitter) and learn some design stuff.&lt;/p&gt;
</content:encoded></item><item><title>14th February 2020 at 06:43</title><link>https://bell.bz/1581662636/</link><guid isPermaLink="true">https://bell.bz/1581662636/</guid><pubDate>Fri, 14 Feb 2020 06:43:56 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;“…if Instagram gets deleted tomorrow- goodbye to all the content I carefully created for it! At least here on my own website, I have a bit more control.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://www.christabelbalfour.com/journal/2020/2/5/a-new-years-resolution&quot;&gt;https://www.christabelbalfour.com/journal/2020/2/5/a-new-years-resolution&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;The tide is changing. Blogging is on the up again!&lt;/p&gt;
</content:encoded></item><item><title>13th February 2020 at 09:55</title><link>https://bell.bz/1581587721/</link><guid isPermaLink="true">https://bell.bz/1581587721/</guid><pubDate>Thu, 13 Feb 2020 09:55:21 GMT</pubDate><content:encoded>&lt;p&gt;? One of my favourite albums: Entroducing is on the speakers today.&lt;/p&gt;
&lt;p&gt;Super good working music.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://open.spotify.com/album/4wvqGLk1HThPA0b5lzRK2l?si=xT3QWRYPRTC8AoOsgHG6eA&quot;&gt;https://open.spotify.com/album/4wvqGLk1HThPA0b5lzRK2l?si=xT3QWRYPRTC8AoOsgHG6eA&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>12th February 2020 at 09:47</title><link>https://bell.bz/1581500867/</link><guid isPermaLink="true">https://bell.bz/1581500867/</guid><pubDate>Wed, 12 Feb 2020 09:47:47 GMT</pubDate><content:encoded>&lt;p&gt;? I treated myself to one of those dark, full size magic keyboards.&lt;/p&gt;
&lt;p&gt;Desk is looking pretty sharp now.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/C389D55C-B808-4EA5-BD8C-F4125336B472.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;A dark magic keyboard on my desk, next to a track ball&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>11th February 2020 at 15:24</title><link>https://bell.bz/1581434648/</link><guid isPermaLink="true">https://bell.bz/1581434648/</guid><pubDate>Tue, 11 Feb 2020 15:24:08 GMT</pubDate><content:encoded>&lt;p&gt;I like going to the dentist because I get to lie down for a bit.&lt;/p&gt;
</content:encoded></item><item><title>11th February 2020 at 14:02</title><link>https://bell.bz/1581429770/</link><guid isPermaLink="true">https://bell.bz/1581429770/</guid><pubDate>Tue, 11 Feb 2020 14:02:50 GMT</pubDate><content:encoded>&lt;p&gt;Days since I last got mad about &lt;code&gt;white-space: nowrap&lt;/code&gt;: 0&lt;/p&gt;
</content:encoded></item><item><title>11th February 2020 at 13:59</title><link>https://bell.bz/1581429541/</link><guid isPermaLink="true">https://bell.bz/1581429541/</guid><pubDate>Tue, 11 Feb 2020 13:59:01 GMT</pubDate><content:encoded>&lt;p&gt;Something I can’t decide on for &lt;a href=&quot;https://piccalil.li&quot;&gt;https://piccalil.li&lt;/a&gt; is wether to have comments or not.&lt;/p&gt;
&lt;p&gt;On the vast majority of sites, they’re just spam and “well actually” fodder, but on some sites, there is absolute gold in there.&lt;/p&gt;
&lt;p&gt;I wouldn’t know what to use on Eleventy either.&lt;/p&gt;
</content:encoded></item><item><title>9th February 2020 at 13:18</title><link>https://bell.bz/1581252476/</link><guid isPermaLink="true">https://bell.bz/1581252476/</guid><pubDate>Sun, 09 Feb 2020 13:18:10 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;“I do not know about you, but if I have to fight a tool that is supposed to help me, I do not think this is a good tool”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;&lt;a href=&quot;https://everyday.codes/javascript/7-really-good-reasons-not-to-use-typescript/&quot;&gt;https://everyday.codes/javascript/7-really-good-reasons-not-to-use-typescript/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;This is a decent read.&lt;/p&gt;
&lt;p&gt;I only tried typescript properly once and the amount of cocking around for arguably tiny benefit wasn’t really worth it.&lt;/p&gt;
&lt;p&gt;Fair enough for massive teams, but the vast majority of folks are not in one of them.&lt;/p&gt;
&lt;p&gt;A shame this article is on Medium, though.&lt;/p&gt;
</content:encoded></item><item><title>8th February 2020 at 17:24</title><link>https://bell.bz/1581182641/</link><guid isPermaLink="true">https://bell.bz/1581182641/</guid><pubDate>Sat, 08 Feb 2020 17:24:01 GMT</pubDate><content:encoded>&lt;p&gt;I absolutely love this weekly “newsletter”. It‘s one of my favourite things in my Feeedbin.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;http://n-gate.com/hackernews/2020/02/07/0/&quot;&gt;http://n-gate.com/hackernews/2020/02/07/0/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It’s my favourite sort of content: satire. Double bonus that it’s aimed at the easily mockable joke site, “Hacker News”, too.&lt;/p&gt;
</content:encoded></item><item><title>7th February 2020 at 13:56</title><link>https://bell.bz/1581083808/</link><guid isPermaLink="true">https://bell.bz/1581083808/</guid><pubDate>Fri, 07 Feb 2020 13:56:48 GMT</pubDate><content:encoded>&lt;p&gt;? New on the blog: “Fluid scale and tokens: a match made in heaven”&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hankchizljaw.com/wrote/fluid-scale-and-tokens:-a-match-made-in-heaven/&quot;&gt;https://hankchizljaw.com/wrote/fluid-scale-and-tokens:-a-match-made-in-heaven/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;There’s a new fluid scale tool that I stuck to my design token generator and now I’m in CSS heaven.&lt;/p&gt;
</content:encoded></item><item><title>7th February 2020 at 11:16</title><link>https://bell.bz/1581074183/</link><guid isPermaLink="true">https://bell.bz/1581074183/</guid><pubDate>Fri, 07 Feb 2020 11:16:23 GMT</pubDate><content:encoded>&lt;p&gt;Do you want a zero-width, non-breaking space?&lt;/p&gt;
&lt;p&gt;Here’s the HTML: &lt;code&gt;&amp;amp;#8288;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;I’ve just used it to make sure that front-end never breaks on to separate lines.&lt;/p&gt;
</content:encoded></item><item><title>7th February 2020 at 09:51</title><link>https://bell.bz/1581069114/</link><guid isPermaLink="true">https://bell.bz/1581069114/</guid><pubDate>Fri, 07 Feb 2020 09:51:54 GMT</pubDate><content:encoded>&lt;p&gt;Utopia, by Trys Mudford and James Gilyead is right up my street! This is the sort of algorithmic approach we use at Every Layout, and fluid type (as Trys is all too aware ?) has been an obsession of mine for a long time.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://utopia.fyi/&quot;&gt;https://utopia.fyi/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Trys and James are both incredibly talented folks, so subscribe and keep an eye on this!&lt;/p&gt;
&lt;p&gt;I’m rolling this into the &lt;a href=&quot;https://piccalil.li&quot;&gt;https://piccalil.li&lt;/a&gt; front-end as we speak.&lt;/p&gt;
</content:encoded></item><item><title>6th February 2020 at 16:30</title><link>https://bell.bz/1581006620/</link><guid isPermaLink="true">https://bell.bz/1581006620/</guid><pubDate>Thu, 06 Feb 2020 16:30:20 GMT</pubDate><content:encoded>&lt;p&gt;I’m seeing very few blog posts on Medium or DEV and a lot more on personal sites and that is great and it makes me happy.&lt;/p&gt;
&lt;p&gt;Send me your RSS feeds.&lt;/p&gt;
</content:encoded></item><item><title>6th February 2020 at 14:20</title><link>https://bell.bz/1580998829/</link><guid isPermaLink="true">https://bell.bz/1580998829/</guid><pubDate>Thu, 06 Feb 2020 14:20:29 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;“This use of server-side rendering followed by hydration feels like progressive enhancement, because it separates out the delivery of markup and scripts. But it’s missing the mindset.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;https://adactio.com/journal/16404&lt;/p&gt;
&lt;p&gt;This is a good’n by Jeremy Keith which is right up my street.&lt;/p&gt;
&lt;p&gt;(thanks for the link to my post, too)&lt;/p&gt;
</content:encoded></item><item><title>6th February 2020 at 13:34</title><link>https://bell.bz/1580996088/</link><guid isPermaLink="true">https://bell.bz/1580996088/</guid><pubDate>Thu, 06 Feb 2020 13:34:48 GMT</pubDate><content:encoded>&lt;p&gt;? The fine folks at &lt;a href=&quot;https://faculty.com/&quot;&gt;Faculty&lt;/a&gt; sent me some goodies, including this lush cup, which now has the important job of holding pens.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/8BD03557-7BB3-41CF-B67B-A515C2EEE4B6.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;A green Faculty branded cup with various pens in it&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>6th February 2020 at 13:24</title><link>https://bell.bz/1580995491/</link><guid isPermaLink="true">https://bell.bz/1580995491/</guid><pubDate>Thu, 06 Feb 2020 13:24:51 GMT</pubDate><content:encoded>&lt;p&gt;This is a fascinating and harrowing deep-dive into the accessibility of the native HTML video element.&lt;br /&gt;
&lt;a href=&quot;https://scottvinkle.me/blogs/blog/how-accessible-is-the-html-video-player&quot;&gt;https://scottvinkle.me/blogs/blog/how-accessible-is-the-html-video-player&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;It’s grim to learn that this, among other elements (cough, dialog) are just not up to standard.&lt;/p&gt;
&lt;p&gt;Do better, browsers and assistive tech makers.&lt;/p&gt;
</content:encoded></item><item><title>6th February 2020 at 10:15</title><link>https://bell.bz/1580984119/</link><guid isPermaLink="true">https://bell.bz/1580984119/</guid><pubDate>Thu, 06 Feb 2020 10:15:19 GMT</pubDate><content:encoded>&lt;p&gt;Just in case you needed a boost: I’ve been banging my head on my desk for about half an hour because my elements were refusing to push out to the end, because of this: &lt;code&gt;flex-direction: flex-end;&lt;/code&gt;&lt;/p&gt;
&lt;p&gt;Should be goddamn &lt;code&gt;justify-content: flex-end;&lt;/code&gt;…&lt;/p&gt;
</content:encoded></item><item><title>5th February 2020 at 16:58</title><link>https://bell.bz/1580921909/</link><guid isPermaLink="true">https://bell.bz/1580921909/</guid><pubDate>Wed, 05 Feb 2020 16:58:29 GMT</pubDate><content:encoded>&lt;p&gt;? Extremely emo time as I &lt;em&gt;finally&lt;/em&gt; get to write some HTML, CSS and JS after spending nearly all of January in static design tools: &lt;a href=&quot;https://open.spotify.com/album/57d5dFo7oN2yUyGfSKPrRv?si=3o8eb4rDTUC3xuQcqKXr3A&quot;&gt;https://open.spotify.com/album/57d5dFo7oN2yUyGfSKPrRv?si=3o8eb4rDTUC3xuQcqKXr3A&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>5th February 2020 at 15:31</title><link>https://bell.bz/1580916664/</link><guid isPermaLink="true">https://bell.bz/1580916664/</guid><pubDate>Wed, 05 Feb 2020 15:31:04 GMT</pubDate><content:encoded>&lt;p&gt;? New article on the blog: “Honesty is the best policy”&lt;/p&gt;
&lt;p&gt;The Gatsby team compared JavaScript size to image size, so it’s time to get into why that is completely wrong.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hankchizljaw.com/wrote/honesty-is-the-best-policy/&quot;&gt;https://hankchizljaw.com/wrote/honesty-is-the-best-policy/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>5th February 2020 at 14:13</title><link>https://bell.bz/1580912014/</link><guid isPermaLink="true">https://bell.bz/1580912014/</guid><pubDate>Wed, 05 Feb 2020 14:13:34 GMT</pubDate><content:encoded>&lt;p&gt;Days since I’ve needed container queries: 0&lt;/p&gt;
</content:encoded></item><item><title>4th February 2020 at 13:26</title><link>https://bell.bz/1580822771/</link><guid isPermaLink="true">https://bell.bz/1580822771/</guid><pubDate>Tue, 04 Feb 2020 13:26:11 GMT</pubDate><content:encoded>&lt;p&gt;? Pro git tip&lt;/p&gt;
&lt;p&gt;If you want to remove already committed stuff from your repo, run the following:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;git rm -r --cached path/to/your/stuff
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Make sure you also update your &lt;code&gt;.gitignore&lt;/code&gt; too!&lt;/p&gt;
</content:encoded></item><item><title>4th February 2020 at 09:54</title><link>https://bell.bz/1580810064/</link><guid isPermaLink="true">https://bell.bz/1580810064/</guid><pubDate>Tue, 04 Feb 2020 09:54:24 GMT</pubDate><content:encoded>&lt;p&gt;Remembering the web’s past is really important—especially in terms of how and why web standards came about.&lt;/p&gt;
&lt;p&gt;We must not obsess over nostalgia, though. The web is a completely different place now, with a much more diverse workforce.&lt;/p&gt;
&lt;p&gt;Remember that.&lt;/p&gt;
</content:encoded></item><item><title>3rd February 2020 at 13:21</title><link>https://bell.bz/1580736107/</link><guid isPermaLink="true">https://bell.bz/1580736107/</guid><pubDate>Mon, 03 Feb 2020 13:21:47 GMT</pubDate><content:encoded>&lt;p&gt;One thing I would like to see with client-side routers is feedback, like when you click a link, a browser shows something is happening. You don’t get that with client routers.&lt;/p&gt;
&lt;p&gt;Maybe client routers should bail after X milliseconds and fall back to standard links.&lt;/p&gt;
</content:encoded></item><item><title>1st February 2020 at 14:10</title><link>https://bell.bz/1580566222/</link><guid isPermaLink="true">https://bell.bz/1580566222/</guid><pubDate>Sat, 01 Feb 2020 14:10:22 GMT</pubDate><content:encoded>&lt;p&gt;? We popped to Gloucester Cathedral today.&lt;/p&gt;
&lt;p&gt;As a massive fan of architecture and art, it’s lush.&lt;/p&gt;
&lt;p&gt;The religious bit isn’t my bag at all, though.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/B942A5A3-4328-4252-A4ED-69C209E6CBFB.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;the ceiling of the cathedral which looks like a web&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>31st January 2020 at 22:46</title><link>https://bell.bz/1580510806/</link><guid isPermaLink="true">https://bell.bz/1580510806/</guid><pubDate>Fri, 31 Jan 2020 22:46:46 GMT</pubDate><content:encoded>&lt;p&gt;This is my last post on this blog before we leave the European Union at 11pm.&lt;/p&gt;
&lt;p&gt;Thanks for being so good to us, European pals—even as we, the tiny, insignificant “United” Kingdom ripped ourselves apart.&lt;/p&gt;
&lt;p&gt;Keep a seat warm for us, will you? ???&lt;/p&gt;
</content:encoded></item><item><title>31st January 2020 at 18:30</title><link>https://bell.bz/1580495453/</link><guid isPermaLink="true">https://bell.bz/1580495453/</guid><pubDate>Fri, 31 Jan 2020 18:30:53 GMT</pubDate><content:encoded>&lt;p&gt;I can’t stress enough how literally &lt;em&gt;any&lt;/em&gt; real success I’ve had in this industry has had a direct link to my blog: &lt;a href=&quot;https://hankchizljaw.com&quot;&gt;https://hankchizljaw.com&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Coding and design ability have for sure been important, but nothing quite like writing.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;To be clear, I’m talking about &lt;strong&gt;my&lt;/strong&gt; blog, too. Not Medium or DEV or whatever—my blog. Content elsewhere is ephemeral. Content on my blog is permanent.&lt;/p&gt;
&lt;p&gt;I made &lt;a href=&quot;https://hylia.website/&quot;&gt;Hylia&lt;/a&gt; to make it as easy as possible for people to own their own content for that reason.&lt;/p&gt;
</content:encoded></item><item><title>31st January 2020 at 10:41</title><link>https://bell.bz/1580467266/</link><guid isPermaLink="true">https://bell.bz/1580467266/</guid><pubDate>Fri, 31 Jan 2020 10:41:06 GMT</pubDate><content:encoded>&lt;p&gt;I really need to listen to pretty music today, so it’s Maccabees time: https://open.spotify.com/album/7hRcDIP5CKDlCnjHVPb9qd?si=upl8DdhQQ6qnD5elykQdXA&lt;/p&gt;
</content:encoded></item><item><title>30th January 2020 at 16:30</title><link>https://bell.bz/1580401827/</link><guid isPermaLink="true">https://bell.bz/1580401827/</guid><pubDate>Thu, 30 Jan 2020 16:30:27 GMT</pubDate><content:encoded>&lt;p&gt;Web share API supported on Safari (inc iOS) makes me think it’s well worth looking into: &lt;a href=&quot;https://caniuse.com/#feat=web-share&quot;&gt;https://caniuse.com/#feat=web-share&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;A solid pattern that lets the user share with &lt;em&gt;what they like&lt;/em&gt; to share with.&lt;/p&gt;
&lt;p&gt;Sounds like a win-win to me.&lt;/p&gt;
</content:encoded></item><item><title>29th January 2020 at 13:43</title><link>https://bell.bz/1580305404/</link><guid isPermaLink="true">https://bell.bz/1580305404/</guid><pubDate>Wed, 29 Jan 2020 13:43:24 GMT</pubDate><content:encoded>&lt;p&gt;I &lt;em&gt;absolutely love&lt;/em&gt; Eleventy (&lt;a href=&quot;https://11ty.dev&quot;&gt;https://11ty.dev&lt;/a&gt;). It enables me to make so many things.&lt;/p&gt;
&lt;p&gt;Please, if you can, support it:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Become an Open Collective backer (like me): &lt;a href=&quot;https://opencollective.com/11ty&quot;&gt;https://opencollective.com/11ty&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Smash the star button on GitHub: &lt;a href=&quot;https://github.com/11ty/eleventy&quot;&gt;https://github.com/11ty/eleventy&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>29th January 2020 at 08:35</title><link>https://bell.bz/1580286912/</link><guid isPermaLink="true">https://bell.bz/1580286912/</guid><pubDate>Wed, 29 Jan 2020 08:35:12 GMT</pubDate><content:encoded>&lt;p&gt;This is such a good article by Uncle Bruce about favouring &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; over &lt;code&gt;&amp;lt;section&amp;gt;&lt;/code&gt; more often than not.&lt;/p&gt;
&lt;p&gt;I’ll be stealing the &lt;code&gt;&amp;lt;section aria-label=&quot;Quick summary&quot;&amp;gt;&lt;/code&gt; trick too!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.smashingmagazine.com/2020/01/html5-article-section/&quot;&gt;https://www.smashingmagazine.com/2020/01/html5-article-section/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>28th January 2020 at 09:49</title><link>https://bell.bz/1580204956/</link><guid isPermaLink="true">https://bell.bz/1580204956/</guid><pubDate>Tue, 28 Jan 2020 09:49:16 GMT</pubDate><content:encoded>&lt;p&gt;Static design tools like Figma or Sketch certainly aid with creative ideation, but when it gets to the meat ‘n’ taters of design, I much prefer HTML and CSS.&lt;/p&gt;
&lt;p&gt;I’m currently yearning for my Eleventy and dynamic data setup of projects past.&lt;/p&gt;
&lt;p&gt;Static tools do really help with fast-moving projects that have &lt;em&gt;a lot&lt;/em&gt; of stakeholders with &lt;em&gt;opinions&lt;/em&gt;, though.&lt;/p&gt;
</content:encoded></item><item><title>27th January 2020 at 17:27</title><link>https://bell.bz/1580146073/</link><guid isPermaLink="true">https://bell.bz/1580146073/</guid><pubDate>Mon, 27 Jan 2020 17:27:53 GMT</pubDate><content:encoded>&lt;p&gt;I finally moved “CSS From Scratch” and “Let’s Build a Landing Page” into &lt;a href=&quot;https://piccalil.li&quot;&gt;https://piccalil.li&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;If you go to &lt;a href=&quot;https://cssfromscratch.com&quot;&gt;https://cssfromscratch.com&lt;/a&gt; or &lt;a href=&quot;https://landingpage.build&quot;&gt;https://landingpage.build&lt;/a&gt;, you’ll get sent to their new homes ?&lt;/p&gt;
</content:encoded></item><item><title>27th January 2020 at 17:11</title><link>https://bell.bz/1580145104/</link><guid isPermaLink="true">https://bell.bz/1580145104/</guid><pubDate>Mon, 27 Jan 2020 17:11:44 GMT</pubDate><content:encoded>&lt;p&gt;? CSS pro tip&lt;/p&gt;
&lt;p&gt;If you want to select SVG &lt;img /&gt; elements, use this CSS.&lt;/p&gt;
&lt;p&gt;Super handy as SVG &lt;img /&gt; won’t fill the width if they’ve just got &lt;code&gt;max-width: 100%&lt;/code&gt; on them.&lt;/p&gt;
&lt;p&gt;Gist: &lt;a href=&quot;https://gist.github.com/hankchizljaw/958b1f46d39931bfaed63c2b3e09f59d&quot;&gt;https://gist.github.com/hankchizljaw/958b1f46d39931bfaed63c2b3e09f59d&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/svg-css-select.png?auto=format&amp;amp;q=60&quot; alt=&quot;CSS that reads: img[src*=&apos;.svg&apos;] { min-width: 100%; }&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>26th January 2020 at 12:46</title><link>https://bell.bz/1580042794/</link><guid isPermaLink="true">https://bell.bz/1580042794/</guid><pubDate>Sun, 26 Jan 2020 12:46:34 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;“The scrum board and the sprints and the inane meetings each and every day are not how you build another Super Mario 64”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A great piece by Robin. He’s one of my favourite writers.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.robinrendle.com/notes/why-software-is-slow-and-shitty.html&quot;&gt;https://www.robinrendle.com/notes/why-software-is-slow-and-shitty.html&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>25th January 2020 at 21:32</title><link>https://bell.bz/1579987975/</link><guid isPermaLink="true">https://bell.bz/1579987975/</guid><pubDate>Sat, 25 Jan 2020 21:32:55 GMT</pubDate><content:encoded>&lt;p&gt;Seriously, this video by Marie Poulin is incredible &lt;a href=&quot;https://youtu.be/CgxPTff_pQ4&quot;&gt;https://youtu.be/CgxPTff_pQ4&lt;/a&gt;. I’m already obsessed with Notion, but this might well make me more obsessed.&lt;/p&gt;
&lt;p&gt;This template for tasks they made is ace, too &lt;a href=&quot;https://www.notion.so/9b0945e126ec47919e6f4251b71e9743?v=048d2bdb67e5400793810f224df5595f&quot;&gt;https://www.notion.so/9b0945e126ec47919e6f4251b71e9743?v=048d2bdb67e5400793810f224df5595f&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>24th January 2020 at 15:26</title><link>https://bell.bz/1579879568/</link><guid isPermaLink="true">https://bell.bz/1579879568/</guid><pubDate>Fri, 24 Jan 2020 15:26:08 GMT</pubDate><content:encoded>&lt;p&gt;? Another new article on the blog: “Making the new Piccalilli logo”&lt;/p&gt;
&lt;p&gt;You get to see my methodology, process and crap drawings I made during the design of the new Piccalilli logo.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hankchizljaw.com/wrote/making-the-new-piccalilli-logo/&quot;&gt;https://hankchizljaw.com/wrote/making-the-new-piccalilli-logo/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>24th January 2020 at 15:19</title><link>https://bell.bz/1579879185/</link><guid isPermaLink="true">https://bell.bz/1579879185/</guid><pubDate>Fri, 24 Jan 2020 15:19:45 GMT</pubDate><content:encoded>&lt;p&gt;? New article on the blog: “Piccalilli: the future”&lt;/p&gt;
&lt;p&gt;There’s a lot of change going on with Piccalilli, so I thought it would be a good idea to write about it.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hankchizljaw.com/wrote/piccalilli:-the-future/&quot;&gt;https://hankchizljaw.com/wrote/piccalilli:-the-future/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>24th January 2020 at 13:38</title><link>https://bell.bz/1579873081/</link><guid isPermaLink="true">https://bell.bz/1579873081/</guid><pubDate>Fri, 24 Jan 2020 13:38:01 GMT</pubDate><content:encoded>&lt;p&gt;Holy moly. Setting Netlify to look after my nameservers has completely eradicated the time to first byte issues I was having on my site.&lt;/p&gt;
&lt;p&gt;Just look at this Web Page Test report ? &lt;a href=&quot;https://webpagetest.org/result/200124_72_6503fac05a6038bbaa1e21ac6fcf57e4/&quot;&gt;https://webpagetest.org/result/200124_72_6503fac05a6038bbaa1e21ac6fcf57e4/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>24th January 2020 at 10:16</title><link>https://bell.bz/1579861007/</link><guid isPermaLink="true">https://bell.bz/1579861007/</guid><pubDate>Fri, 24 Jan 2020 10:16:47 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;“Making it impossible to do something specific can often mean that people will do something far more destructive as their ways around your defences get more and more creative”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;So much goodness from Harry Roberts here.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://csswizardry.com/2017/10/airplanes-and-ashtrays/&quot;&gt;https://csswizardry.com/2017/10/airplanes-and-ashtrays/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>24th January 2020 at 09:45</title><link>https://bell.bz/1579859105/</link><guid isPermaLink="true">https://bell.bz/1579859105/</guid><pubDate>Fri, 24 Jan 2020 09:45:05 GMT</pubDate><content:encoded>&lt;p&gt;Today I learned that you can push your existing domain’s nameservers at Netlify. I just did that for &lt;a href=&quot;https://piccalil.li&quot;&gt;https://piccalil.li&lt;/a&gt; and the resolve time seems to be much quicker.&lt;/p&gt;
&lt;p&gt;I reckon I’ll do it for &lt;a href=&quot;https://hankchizljaw.com&quot;&gt;https://hankchizljaw.com&lt;/a&gt; too.&lt;/p&gt;
&lt;p&gt;Handy.&lt;/p&gt;
</content:encoded></item><item><title>23rd January 2020 at 13:25</title><link>https://bell.bz/1579785932/</link><guid isPermaLink="true">https://bell.bz/1579785932/</guid><pubDate>Thu, 23 Jan 2020 13:25:32 GMT</pubDate><content:encoded>&lt;p&gt;I’m offering a new service: “Reply Guy For Hire”.&lt;/p&gt;
&lt;p&gt;I provide drive-by reactive feedback with absolutely no context, consideration of constraints or actual thought as a tweet.&lt;/p&gt;
&lt;p&gt;As a bonus, I’ll bring along a chip on my shoulder.&lt;/p&gt;
&lt;p&gt;£500, ex VAT.&lt;/p&gt;
</content:encoded></item><item><title>22nd January 2020 at 13:48</title><link>https://bell.bz/1579700886/</link><guid isPermaLink="true">https://bell.bz/1579700886/</guid><pubDate>Wed, 22 Jan 2020 13:48:06 GMT</pubDate><content:encoded>&lt;p&gt;It’s not very often that I declare an article as perfect, but this one certainly is.&lt;/p&gt;
&lt;p&gt;The cascade and specificity are so often labelled as the reason why CSS is hard. This guide by&lt;br /&gt;
Amelia Wattenberger will fix that: &lt;a href=&quot;https://wattenberger.com/blog/css-cascade&quot;&gt;https://wattenberger.com/blog/css-cascade&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>22nd January 2020 at 12:44</title><link>https://bell.bz/1579697070/</link><guid isPermaLink="true">https://bell.bz/1579697070/</guid><pubDate>Wed, 22 Jan 2020 12:44:30 GMT</pubDate><content:encoded>&lt;p&gt;I found this site and it’s had me giggling all day &lt;a href=&quot;https://sendyourfriendapenisdrawing.com/&quot;&gt;https://sendyourfriendapenisdrawing.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;CW: dicks (that CW should just be on Twitter all the time)&lt;/p&gt;
</content:encoded></item><item><title>21st January 2020 at 17:59</title><link>https://bell.bz/1579629578/</link><guid isPermaLink="true">https://bell.bz/1579629578/</guid><pubDate>Tue, 21 Jan 2020 17:59:38 GMT</pubDate><content:encoded>&lt;p&gt;I’m sure it’s coincidental, but ever since I’ve put &lt;a href=&quot;https://front-end-challenges.club&quot;&gt;https://front-end-challenges.club&lt;/a&gt; on a Digital Ocean Droplet, it’s been ridiculously fast on a cold load.&lt;/p&gt;
&lt;p&gt;Still not 100% happy with how the client router performs though.&lt;/p&gt;
</content:encoded></item><item><title>21st January 2020 at 14:18</title><link>https://bell.bz/1579616327/</link><guid isPermaLink="true">https://bell.bz/1579616327/</guid><pubDate>Tue, 21 Jan 2020 14:18:47 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;“It should never be the burden of a single individual to ensure accessibility”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;A &lt;em&gt;fantastic&lt;/em&gt; post by my pal, Nic. Super duper detailed!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://www.nicchan.me/blog/usability-testing-popular-shopify-themes/&quot;&gt;https://www.nicchan.me/blog/usability-testing-popular-shopify-themes/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>21st January 2020 at 13:45</title><link>https://bell.bz/1579614300/</link><guid isPermaLink="true">https://bell.bz/1579614300/</guid><pubDate>Tue, 21 Jan 2020 13:45:00 GMT</pubDate><content:encoded>&lt;p&gt;I also updated my “Now” page: &lt;a href=&quot;https://hankchizljaw.com/now/&quot;&gt;https://hankchizljaw.com/now/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>21st January 2020 at 13:27</title><link>https://bell.bz/1579613244/</link><guid isPermaLink="true">https://bell.bz/1579613244/</guid><pubDate>Tue, 21 Jan 2020 13:27:24 GMT</pubDate><content:encoded>&lt;p&gt;I made one of those “uses” pages for y’all to see my setup: &lt;a href=&quot;https://hankchizljaw.com/uses/&quot;&gt;https://hankchizljaw.com/uses/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;I’ll put a PR into Wes Bos’ cool project, too: &lt;a href=&quot;https://uses.tech/&quot;&gt;https://uses.tech/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>21st January 2020 at 09:46</title><link>https://bell.bz/1579599994/</link><guid isPermaLink="true">https://bell.bz/1579599994/</guid><pubDate>Tue, 21 Jan 2020 09:46:34 GMT</pubDate><content:encoded>&lt;p&gt;? Emo day today with Story Of The Year:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;Emo: &lt;a href=&quot;https://open.spotify.com/album/0Qk9nVlmC49ZNo9j14khzF?si=DB1oMegLQRamGuax0gRL5Q&quot;&gt;https://open.spotify.com/album/0Qk9nVlmC49ZNo9j14khzF?si=DB1oMegLQRamGuax0gRL5Q&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;So Emo, it hurts: &lt;a href=&quot;https://open.spotify.com/album/4juejyEeCKFskkDA6zhIBW?si=SmU7MAZKTlitI49BNiwxpw&quot;&gt;https://open.spotify.com/album/4juejyEeCKFskkDA6zhIBW?si=SmU7MAZKTlitI49BNiwxpw&lt;/a&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>21st January 2020 at 09:34</title><link>https://bell.bz/1579599278/</link><guid isPermaLink="true">https://bell.bz/1579599278/</guid><pubDate>Tue, 21 Jan 2020 09:34:38 GMT</pubDate><content:encoded>&lt;p&gt;Try not to get hung up on the language or framework you’re currently grokking. You learn so many transferable skills.&lt;/p&gt;
&lt;p&gt;E.G. I picked up JavaScript and C# easier because I spent a lot of time writing ActionScript, so it wasn’t wasted time.&lt;/p&gt;
&lt;p&gt;Enjoy yourself and learn what you can ?&lt;/p&gt;
</content:encoded></item><item><title>20th January 2020 at 21:26</title><link>https://bell.bz/1579555612/</link><guid isPermaLink="true">https://bell.bz/1579555612/</guid><pubDate>Mon, 20 Jan 2020 21:26:52 GMT</pubDate><content:encoded>&lt;p&gt;? The start of the new Piccalilli includes sketching out logo ideas in a Field Notes, of course.&lt;/p&gt;
&lt;p&gt;Some fun concepts so far.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/E121D1A4-816E-4E43-B8F9-50FD78DAE134.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;Field Notes notebook with &amp;quot;piccalilli logo&amp;quot; written on it with black ink&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>20th January 2020 at 18:49</title><link>https://bell.bz/1579546195/</link><guid isPermaLink="true">https://bell.bz/1579546195/</guid><pubDate>Mon, 20 Jan 2020 18:49:55 GMT</pubDate><content:encoded>&lt;p&gt;It’s been 0 days since I got mad that HTML imports will probably never be an actual thing.&lt;/p&gt;
&lt;p&gt;(cheers, Firefox)&lt;/p&gt;
</content:encoded></item><item><title>20th January 2020 at 15:43</title><link>https://bell.bz/1579535029/</link><guid isPermaLink="true">https://bell.bz/1579535029/</guid><pubDate>Mon, 20 Jan 2020 15:43:49 GMT</pubDate><content:encoded>&lt;p&gt;Remember LimeWire? A piece of software that would give your computer a terminal illness so that you could get a cracked copy of Photoshop.&lt;/p&gt;
</content:encoded></item><item><title>20th January 2020 at 11:35</title><link>https://bell.bz/1579520144/</link><guid isPermaLink="true">https://bell.bz/1579520144/</guid><pubDate>Mon, 20 Jan 2020 11:35:44 GMT</pubDate><content:encoded>&lt;p&gt;Did you know that Figma auto-saves your work?!?!&lt;/p&gt;
</content:encoded></item><item><title>20th January 2020 at 11:09</title><link>https://bell.bz/1579518557/</link><guid isPermaLink="true">https://bell.bz/1579518557/</guid><pubDate>Mon, 20 Jan 2020 11:09:17 GMT</pubDate><content:encoded>&lt;p&gt;This is a fantastic post by my pal, Chris Burnell.&lt;/p&gt;
&lt;p&gt;The lobotomised owl is a staple of my CSS (thanks, Heydon) and this handy Sass mixin will undoubtedly find its way into my projects!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://chrisburnell.com/article/sassy-lobotomised-owl&quot;&gt;https://chrisburnell.com/article/sassy-lobotomised-owl&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>19th January 2020 at 19:55</title><link>https://bell.bz/1579463754/</link><guid isPermaLink="true">https://bell.bz/1579463754/</guid><pubDate>Sun, 19 Jan 2020 19:55:54 GMT</pubDate><content:encoded>&lt;p&gt;It looks like Eleventy and Service Workers are an absolute power couple and I am very much on board with that.&lt;/p&gt;
</content:encoded></item><item><title>19th January 2020 at 19:10</title><link>https://bell.bz/1579461047/</link><guid isPermaLink="true">https://bell.bz/1579461047/</guid><pubDate>Sun, 19 Jan 2020 19:10:47 GMT</pubDate><content:encoded>&lt;p&gt;? We had a very foggy (and cold af) visit to Warwick Castle today.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/C3758D97-192E-4BB1-A1DD-B6A625612C10.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;The castle with lots of fog and a clearing sky&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/6EEDF782-87D4-4E9F-9A68-B2CC1FAEFC10.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;A foggy castle courtyard and lawn&quot; /&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/61B48FBC-E8D5-49AC-A95B-393FE7A9E354.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;Another foggy angle of the castle&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>18th January 2020 at 10:50</title><link>https://bell.bz/1579344630/</link><guid isPermaLink="true">https://bell.bz/1579344630/</guid><pubDate>Sat, 18 Jan 2020 10:50:30 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;“We still track that someone visited our page, but it’s really only the basics that interest us.”&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;This is excellent to read and &lt;em&gt;very&lt;/em&gt; much on my radar at the moment.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://m.signalvnoise.com/the-last-tracker-was-just-removed-from-basecamp-com/&quot;&gt;https://m.signalvnoise.com/the-last-tracker-was-just-removed-from-basecamp-com/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>17th January 2020 at 15:43</title><link>https://bell.bz/1579275819/</link><guid isPermaLink="true">https://bell.bz/1579275819/</guid><pubDate>Fri, 17 Jan 2020 15:43:39 GMT</pubDate><content:encoded>&lt;p&gt;Right, I’m done for the week.&lt;/p&gt;
&lt;p&gt;Have a good weekend, pals ♥️&lt;/p&gt;
</content:encoded></item><item><title>16th January 2020 at 15:16</title><link>https://bell.bz/1579187768/</link><guid isPermaLink="true">https://bell.bz/1579187768/</guid><pubDate>Thu, 16 Jan 2020 15:16:08 GMT</pubDate><content:encoded>&lt;p&gt;This is a super handy &lt;code&gt;mailto:&lt;/code&gt; link generator &lt;a href=&quot;https://mailtolink.me/&quot;&gt;https://mailtolink.me/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;As always, I love a simple tool that does one job well.&lt;/p&gt;
</content:encoded></item><item><title>16th January 2020 at 14:42</title><link>https://bell.bz/1579185775/</link><guid isPermaLink="true">https://bell.bz/1579185775/</guid><pubDate>Thu, 16 Jan 2020 14:42:55 GMT</pubDate><content:encoded>&lt;p&gt;? New article: &quot;Piccalilli is changing&quot;&lt;/p&gt;
&lt;p&gt;TL;DR The newsletter is on hiatus because it’s turning into something really awesome and I’m very excited to share it with you.&lt;/p&gt;
&lt;p&gt;https://hankchizljaw.com/wrote/piccalilli-is-changing/&lt;/p&gt;
</content:encoded></item><item><title>16th January 2020 at 07:40</title><link>https://bell.bz/1579160411/</link><guid isPermaLink="true">https://bell.bz/1579160411/</guid><pubDate>Thu, 16 Jan 2020 07:40:11 GMT</pubDate><content:encoded>&lt;p&gt;Now that Web Components are supported across all major browsers, you might want to use them but are &lt;em&gt;still&lt;/em&gt; held back by IE.&lt;/p&gt;
&lt;p&gt;Here’s some progressive enhancement links that might help:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;a href=&quot;https://hankchizljaw.com/wrote/the-power-of-progressive-enhancement/&quot;&gt;https://hankchizljaw.com/wrote/the-power-of-progressive-enhancement/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hankchizljaw.com/wrote/a-progressive-disclosure-component/&quot;&gt;https://hankchizljaw.com/wrote/a-progressive-disclosure-component/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hankchizljaw.com/wrote/the-p-in-progressive-enhancement-stands-for-pragmatism/&quot;&gt;https://hankchizljaw.com/wrote/the-p-in-progressive-enhancement-stands-for-pragmatism/&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
</content:encoded></item><item><title>16th January 2020 at 06:29</title><link>https://bell.bz/1579156183/</link><guid isPermaLink="true">https://bell.bz/1579156183/</guid><pubDate>Thu, 16 Jan 2020 06:29:43 GMT</pubDate><content:encoded>&lt;p&gt;I really like Chris Coyier’s &lt;a href=&quot;https://email-is-good.com/&quot;&gt;https://email-is-good.com/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I’m a big email fan and the content in there might help you get better at email and you might start liking it more.&lt;/p&gt;
&lt;p&gt;Check it out.&lt;/p&gt;
</content:encoded></item><item><title>15th January 2020 at 20:36</title><link>https://bell.bz/1579120614/</link><guid isPermaLink="true">https://bell.bz/1579120614/</guid><pubDate>Wed, 15 Jan 2020 20:36:54 GMT</pubDate><content:encoded>&lt;p&gt;? Oh hai there, Edge, with your Web Component support ?&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/Screenshot%202020-01-15%20at%2020.36.05.jpg?auto=format&amp;amp;q=60&quot; alt=&quot;Microsoft Edge on my Mac with mybrowser.fyi on display&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>15th January 2020 at 11:07</title><link>https://bell.bz/1579086465/</link><guid isPermaLink="true">https://bell.bz/1579086465/</guid><pubDate>Wed, 15 Jan 2020 11:07:45 GMT</pubDate><content:encoded>&lt;p&gt;Fellow Mac users: I couldn’t recommend this app enough. It tells you when your next meeting is and that’s it.&lt;/p&gt;
&lt;p&gt;It does one job and does it well. My favourite type of app.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://apps.apple.com/us/app/next-meeting/id1017470484&quot;&gt;https://apps.apple.com/us/app/next-meeting/id1017470484&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>15th January 2020 at 10:02</title><link>https://bell.bz/1579082522/</link><guid isPermaLink="true">https://bell.bz/1579082522/</guid><pubDate>Wed, 15 Jan 2020 10:02:02 GMT</pubDate><content:encoded>&lt;p&gt;?? Static design tool pro tip.&lt;/p&gt;
&lt;p&gt;Create an “Annotation” component that you can use as a sticky note to provide context for certain design elements. It helps not just developers, but also others on your team (even in my team of 1).&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/annotation-in-figma.jpg?auto=format&amp;amp;q=60&quot; alt=&quot;Sticky note component reads &apos;A user needs to have at least 3 pieces selected in order to progress, so we show a “skeleton” item to signify that and also explain it inplain text.&apos;&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>15th January 2020 at 07:32</title><link>https://bell.bz/1579073527/</link><guid isPermaLink="true">https://bell.bz/1579073527/</guid><pubDate>Wed, 15 Jan 2020 07:32:07 GMT</pubDate><content:encoded>&lt;p&gt;I think I’ll celebrate today by making Edge my default browser rather than Chrome.&lt;/p&gt;
&lt;p&gt;(I still like Firefox, I just prefer chromium dev tools)&lt;/p&gt;
</content:encoded></item><item><title>14th January 2020 at 15:29</title><link>https://bell.bz/1579015785/</link><guid isPermaLink="true">https://bell.bz/1579015785/</guid><pubDate>Tue, 14 Jan 2020 15:29:45 GMT</pubDate><content:encoded>&lt;p&gt;Just a periodic reminder that I’ve got a Patreon and if you support me on there, I will love you forever and ever: &lt;a href=&quot;https://www.patreon.com/andybelldesign&quot;&gt;https://www.patreon.com/andybelldesign&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>14th January 2020 at 15:16</title><link>https://bell.bz/1579015018/</link><guid isPermaLink="true">https://bell.bz/1579015018/</guid><pubDate>Tue, 14 Jan 2020 15:16:58 GMT</pubDate><content:encoded>&lt;p&gt;I’m really struggling with design work today. I’ve got no drive whatsoever.&lt;/p&gt;
&lt;p&gt;If that’s how you’re feeling, too: don’t beat yourself up—there’s always tomorrow ♥️ *&lt;/p&gt;
&lt;p&gt;* Unless you have a deadline today&lt;/p&gt;
</content:encoded></item><item><title>14th January 2020 at 12:16</title><link>https://bell.bz/1579004196/</link><guid isPermaLink="true">https://bell.bz/1579004196/</guid><pubDate>Tue, 14 Jan 2020 12:16:36 GMT</pubDate><content:encoded>&lt;p&gt;Folks who make &lt;em&gt;incredible&lt;/em&gt; articles like this: &lt;a href=&quot;https://wattenberger.com/blog/react-hooks&quot;&gt;https://wattenberger.com/blog/react-hooks&lt;/a&gt;. How y’all doing it? One-off static HTML jobs or are you doing some other fancy stuff?&lt;/p&gt;
</content:encoded></item><item><title>14th January 2020 at 10:49</title><link>https://bell.bz/1578998974/</link><guid isPermaLink="true">https://bell.bz/1578998974/</guid><pubDate>Tue, 14 Jan 2020 10:49:34 GMT</pubDate><content:encoded>&lt;p&gt;A dream setup for this microblog would be a Notion-powered setup that converts that content into 11ty content.&lt;/p&gt;
&lt;p&gt;This thing has certainly provided food for thought: &lt;a href=&quot;https://notion-blog.now.sh/&quot;&gt;https://notion-blog.now.sh/&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The question is: can I be patient and wait for the proper API?&lt;/p&gt;
</content:encoded></item><item><title>13th January 2020 at 18:43</title><link>https://bell.bz/1578941031/</link><guid isPermaLink="true">https://bell.bz/1578941031/</guid><pubDate>Mon, 13 Jan 2020 18:43:51 GMT</pubDate><content:encoded>&lt;p&gt;I’ve handed the keys for &lt;a href=&quot;https://personalsit.es&quot;&gt;https://personalsit.es&lt;/a&gt; over to the endlessly talented Henry Desroches. That project means so much to me and it’s in great hands with Henry, so expect great things.&lt;/p&gt;
&lt;p&gt;It’s one of a few projects that will be moved along over the next few months.&lt;/p&gt;
&lt;p&gt;You can &lt;a href=&quot;https://henry.codes&quot;&gt;find Henry here&lt;/a&gt;.&lt;/p&gt;
</content:encoded></item><item><title>13th January 2020 at 16:20</title><link>https://bell.bz/1578932440/</link><guid isPermaLink="true">https://bell.bz/1578932440/</guid><pubDate>Mon, 13 Jan 2020 16:20:40 GMT</pubDate><content:encoded>&lt;p&gt;A huge career milestone for me today. I was &lt;em&gt;incredibly&lt;/em&gt; lucky to be invited to go on Shop Talk Show ?&lt;/p&gt;
&lt;p&gt;I’ve been listening to this podcast for &lt;em&gt;years&lt;/em&gt;, so to say this was an honour would be an understatement.&lt;/p&gt;
&lt;p&gt;Check it out here: &lt;a href=&quot;https://shoptalkshow.com/episodes/394/&quot;&gt;https://shoptalkshow.com/episodes/394/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>12th January 2020 at 18:09</title><link>https://bell.bz/1578852567/</link><guid isPermaLink="true">https://bell.bz/1578852567/</guid><pubDate>Sun, 12 Jan 2020 18:09:27 GMT</pubDate><content:encoded>&lt;p&gt;? First roast of the year: part deux.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/B2096301-3F2C-4B09-A16D-B0F7E6737123.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;Roast beef and all of the trimmings&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>12th January 2020 at 16:56</title><link>https://bell.bz/1578848201/</link><guid isPermaLink="true">https://bell.bz/1578848201/</guid><pubDate>Sun, 12 Jan 2020 16:56:41 GMT</pubDate><content:encoded>&lt;p&gt;? First roast of the year looking pretty good.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/E32E193C-EBBC-4CCF-B38A-DC2CF10C24D8.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;Nice rare roast beef&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>12th January 2020 at 14:54</title><link>https://bell.bz/1578840878/</link><guid isPermaLink="true">https://bell.bz/1578840878/</guid><pubDate>Sun, 12 Jan 2020 14:54:38 GMT</pubDate><content:encoded>&lt;blockquote&gt;
&lt;p&gt;&quot;Don’t be a clean code zealot. Clean code is not a goal. It’s an attempt to make some sense out of the immense complexity of systems we’re dealing with&quot;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Smashing post by Dan Abramov: &lt;a href=&quot;https://overreacted.io/goodbye-clean-code/&quot;&gt;https://overreacted.io/goodbye-clean-code/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>12th January 2020 at 13:25</title><link>https://bell.bz/1578835526/</link><guid isPermaLink="true">https://bell.bz/1578835526/</guid><pubDate>Sun, 12 Jan 2020 13:25:26 GMT</pubDate><content:encoded>&lt;p&gt;⏱ Some time tracking stats. You can read why I’m doing it &lt;a href=&quot;https://hankchizljaw.com/wrote/tracking-my-time/&quot;&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;I spent 16 hours doing client production this week with only 1 hour spent in client meetings (hell yeh).&lt;/p&gt;
&lt;p&gt;For side projects, I spent just under 5 hours doing stuff for them (mainly &lt;a href=&quot;https://front-end-challenges.club/&quot;&gt;Front-End Challenges Club&lt;/a&gt;).&lt;/p&gt;
&lt;p&gt;I spent 3 hours and 45 minutes writing blog posts and finally, 4 hours and 30 minutes doing general business admin and email.&lt;/p&gt;
&lt;p&gt;Around 30 hours all together, but I’ve not been hugely disciplined this week with it. I’ll try to do better next week.&lt;/p&gt;
</content:encoded></item><item><title>12th January 2020 at 07:52</title><link>https://bell.bz/1578815531/</link><guid isPermaLink="true">https://bell.bz/1578815531/</guid><pubDate>Sun, 12 Jan 2020 07:52:11 GMT</pubDate><content:encoded>&lt;p&gt;I was going to put lots of effort into getting images from here to show on Twitter but that defeats the object of a low tech, platform-agnostic micro blog. It’s not a Twitter tool. It just syndicates there.&lt;/p&gt;
&lt;p&gt;I’ll instead keep using a ‘?’ as a marker if there’s images.&lt;/p&gt;
</content:encoded></item><item><title>11th January 2020 at 19:30</title><link>https://bell.bz/1578771045/</link><guid isPermaLink="true">https://bell.bz/1578771045/</guid><pubDate>Sat, 11 Jan 2020 19:30:45 GMT</pubDate><content:encoded>&lt;p&gt;? My kid trying to get a group of duck’s attention. It was not successful as she had no bread.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/C4E55A43-BEAB-46AE-8F17-9739581BBEE8.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;My kid stood at a river bank, yelling at a group of ducks&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>11th January 2020 at 19:26</title><link>https://bell.bz/1578770773/</link><guid isPermaLink="true">https://bell.bz/1578770773/</guid><pubDate>Sat, 11 Jan 2020 19:26:13 GMT</pubDate><content:encoded>&lt;p&gt;Ignore me; I’m just testing IFTTT and its image detection, so I can blog about how this microblog thing works.&lt;/p&gt;
</content:encoded></item><item><title>11th January 2020 at 19:18</title><link>https://bell.bz/1578770320/</link><guid isPermaLink="true">https://bell.bz/1578770320/</guid><pubDate>Sat, 11 Jan 2020 19:18:40 GMT</pubDate><content:encoded>&lt;p&gt;Hot-damn this is a world class article by Sarah Drasner (their work always is, let’s be honest).&lt;/p&gt;
&lt;p&gt;Async/Await can be hella confusing, so if that’s the case for you, read this: &lt;a href=&quot;https://css-tricks.com/understanding-async-await/&quot;&gt;https://css-tricks.com/understanding-async-await/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>11th January 2020 at 18:07</title><link>https://bell.bz/1578766053/</link><guid isPermaLink="true">https://bell.bz/1578766053/</guid><pubDate>Sat, 11 Jan 2020 18:07:33 GMT</pubDate><content:encoded>&lt;p&gt;? The finished pizza with a crust so thin, you could smoke it.&lt;/p&gt;
&lt;p&gt;(it was super nice and fiery as heck)&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/54D59BA4-A44D-4629-BF42-EEBB45D794E9.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;A pepperoni, pepper, mushroom and chilli pizza&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>11th January 2020 at 17:09</title><link>https://bell.bz/1578762559/</link><guid isPermaLink="true">https://bell.bz/1578762559/</guid><pubDate>Sat, 11 Jan 2020 17:09:19 GMT</pubDate><content:encoded>&lt;p&gt;? Homemade pizza ready to go in.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/5012279A-F691-4739-91B4-D2D4C7EF544B.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;Raw pizza with cheese, peppers, pepperoni and chilli&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>11th January 2020 at 14:40</title><link>https://bell.bz/1578753629/</link><guid isPermaLink="true">https://bell.bz/1578753629/</guid><pubDate>Sat, 11 Jan 2020 14:40:29 GMT</pubDate><content:encoded>&lt;p&gt;This JavaScript course by Dan Abramov (React and Redux) looks fantastic: &lt;a href=&quot;https://justjavascript.com/&quot;&gt;https://justjavascript.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;He very much knows his stuff, so worth a look.&lt;/p&gt;
</content:encoded></item><item><title>11th January 2020 at 14:15</title><link>https://bell.bz/1578752102/</link><guid isPermaLink="true">https://bell.bz/1578752102/</guid><pubDate>Sat, 11 Jan 2020 14:15:02 GMT</pubDate><content:encoded>&lt;p&gt;? Trying out some Girls Who Grind coffee. I love the packaging ?&lt;/p&gt;
&lt;p&gt;They do a good subscription, so check them out: &lt;a href=&quot;https://www.girlswhogrindcoffee.com/&quot;&gt;https://www.girlswhogrindcoffee.com/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/1882AC66-1E54-4362-9F2F-8397830E0798.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;Coffee packaging with mirror foiling that has rainbow colours because of the light&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>11th January 2020 at 07:40</title><link>https://bell.bz/1578728413/</link><guid isPermaLink="true">https://bell.bz/1578728413/</guid><pubDate>Sat, 11 Jan 2020 07:40:13 GMT</pubDate><content:encoded>&lt;p&gt;Email pro tips:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Don’t send long ones. The receiver doesn’t have time to read an essay.&lt;/li&gt;
&lt;li&gt;Don’t say &quot;hope you’re well&quot;.&lt;/li&gt;
&lt;li&gt;Don’t apologise for a late response, say &quot;thanks for being patient&quot;.&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>10th January 2020 at 16:24</title><link>https://bell.bz/1578673497/</link><guid isPermaLink="true">https://bell.bz/1578673497/</guid><pubDate>Fri, 10 Jan 2020 16:24:57 GMT</pubDate><content:encoded>&lt;p&gt;The moon is looking &lt;em&gt;stunning&lt;/em&gt; as it rises up this evening. It’s so orange!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/04BF2831-0402-4609-AC19-B658A50EE8DF.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;A very bright, orange moon rises up over some houses and the hills of Gloucestershire&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>10th January 2020 at 16:00</title><link>https://bell.bz/1578672037/</link><guid isPermaLink="true">https://bell.bz/1578672037/</guid><pubDate>Fri, 10 Jan 2020 16:00:37 GMT</pubDate><content:encoded>&lt;p&gt;? New article: “Screencasting – the secret sauce for less time wasted in meetings”&lt;/p&gt;
&lt;p&gt;I let you peak behind the curtain at how I present work to clients with screencasts for better feedback and much fewer meetings.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://hankchizljaw.com/wrote/screencasting-the-secret-sauce-for-less-time-wasted-in-meetings/&quot;&gt;https://hankchizljaw.com/wrote/screencasting-the-secret-sauce-for-less-time-wasted-in-meetings/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>10th January 2020 at 14:03</title><link>https://bell.bz/1578664995/</link><guid isPermaLink="true">https://bell.bz/1578664995/</guid><pubDate>Fri, 10 Jan 2020 14:03:15 GMT</pubDate><content:encoded>&lt;p&gt;I’m so glad my good pal, Heydon wrote this article. I have been having the same thoughts, but can’t articulate them as well as Heydon has.&lt;/p&gt;
&lt;p&gt;His new site is bloody lovely, too!&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://heydonworks.com/article/the-word-user-is-fine/&quot;&gt;https://heydonworks.com/article/the-word-user-is-fine/&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>10th January 2020 at 13:32</title><link>https://bell.bz/1578663126/</link><guid isPermaLink="true">https://bell.bz/1578663126/</guid><pubDate>Fri, 10 Jan 2020 13:32:06 GMT</pubDate><content:encoded>&lt;p&gt;Currently listening to: “Golden Hour”, by Kasey Musgraves.&lt;/p&gt;
&lt;p&gt;Lovely background music for some nice design work, this afternoon.&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://album.link/s/7f6xPqyaolTiziKf5R5Z0c&quot;&gt;https://album.link/s/7f6xPqyaolTiziKf5R5Z0c&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>10th January 2020 at 10:29</title><link>https://bell.bz/1578652162/</link><guid isPermaLink="true">https://bell.bz/1578652162/</guid><pubDate>Fri, 10 Jan 2020 10:29:22 GMT</pubDate><content:encoded>&lt;p&gt;Dear @figmadesign,&lt;/p&gt;
&lt;p&gt;I know you like to remind me that you save my work &lt;strong&gt;every damn time I do it&lt;/strong&gt;, but please, for the love of everything, stop.&lt;/p&gt;
&lt;p&gt;Your quirky toast notifications won’t change my decades old muscle memory…&lt;/p&gt;
</content:encoded></item><item><title>9th January 2020 at 21:28</title><link>https://bell.bz/1578605328/</link><guid isPermaLink="true">https://bell.bz/1578605328/</guid><pubDate>Thu, 09 Jan 2020 21:28:48 GMT</pubDate><content:encoded>&lt;p&gt;I’ll be frank: the Royal Family are dated, elitist and completely irrelevant in modern society. This whole Harry and Meghan situation should be the start of a long-needed phase-out of their role in this country.&lt;/p&gt;
</content:encoded></item><item><title>9th January 2020 at 20:43</title><link>https://bell.bz/1578602593/</link><guid isPermaLink="true">https://bell.bz/1578602593/</guid><pubDate>Thu, 09 Jan 2020 20:43:13 GMT</pubDate><content:encoded>&lt;p&gt;“Lost in the basement” by Canterbury is goddamn masterpiece. The harmonies are &lt;em&gt;outrageous&lt;/em&gt;.&lt;/p&gt;
&lt;p&gt;It’s been a top track of mine for a good few years now: &lt;a href=&quot;https://open.spotify.com/track/1fzIjU8pTbxpynsxsnzVyx?si=EuqT4ceHTKaTQ976nHXEPg&quot;&gt;https://open.spotify.com/track/1fzIjU8pTbxpynsxsnzVyx?si=EuqT4ceHTKaTQ976nHXEPg&lt;/a&gt;&lt;/p&gt;
</content:encoded></item><item><title>9th January 2020 at 18:51</title><link>https://bell.bz/1578595911/</link><guid isPermaLink="true">https://bell.bz/1578595911/</guid><pubDate>Thu, 09 Jan 2020 18:51:51 GMT</pubDate><content:encoded>&lt;p&gt;I can’t stop thinking about an embarrassing moment today.&lt;/p&gt;
&lt;p&gt;I was working in a coffee shop and decided to listen to the Frozen 2 soundtrack. I got about 3 songs in before I realised my AirPods weren’t connected. My &lt;strong&gt;noise cancelling&lt;/strong&gt; AirPods ?&lt;/p&gt;
&lt;p&gt;MacBook speakers are loud…&lt;/p&gt;
</content:encoded></item><item><title>9th January 2020 at 16:36</title><link>https://bell.bz/1578587763/</link><guid isPermaLink="true">https://bell.bz/1578587763/</guid><pubDate>Thu, 09 Jan 2020 16:36:03 GMT</pubDate><content:encoded>&lt;p&gt;I can’t believe I’m asking this, but who has made a good beginner’s course about Docker?&lt;/p&gt;
</content:encoded></item><item><title>9th January 2020 at 13:56</title><link>https://bell.bz/1578578217/</link><guid isPermaLink="true">https://bell.bz/1578578217/</guid><pubDate>Thu, 09 Jan 2020 13:56:57 GMT</pubDate><content:encoded>&lt;p&gt;My prototype of the Moscow hotel slippers has escalated in me buying some goddamn SPACE JAM SLIPPERS instead!!!&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/AD436D85-B4CD-43A5-9F31-2C78933E0198.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;Space Jam Slippers under my desk&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>9th January 2020 at 13:37</title><link>https://bell.bz/1578577068/</link><guid isPermaLink="true">https://bell.bz/1578577068/</guid><pubDate>Thu, 09 Jan 2020 13:37:48 GMT</pubDate><content:encoded>&lt;p&gt;Micro blog update: fixed my silly time stamp issues and set a nice limit on the RSS feed (15).&lt;/p&gt;
&lt;p&gt;I should get on with client work now…&lt;/p&gt;
</content:encoded></item><item><title>9th January 2020 at 12:43</title><link>https://bell.bz/1578573824/</link><guid isPermaLink="true">https://bell.bz/1578573824/</guid><pubDate>Thu, 09 Jan 2020 12:43:44 GMT</pubDate><content:encoded>&lt;p&gt;The &quot;statement&quot; mode on the new Twitter &quot;@&quot; settings will be great for dudes telling people that CSS isn’t a programming language.&lt;/p&gt;
</content:encoded></item><item><title>9th January 2020 at 11:42</title><link>https://bell.bz/1578570161/</link><guid isPermaLink="true">https://bell.bz/1578570161/</guid><pubDate>Thu, 09 Jan 2020 11:42:41 GMT</pubDate><content:encoded>&lt;p&gt;Microblog updates:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Added pagination&lt;/li&gt;
&lt;li&gt;Tweaked post list&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>9th January 2020 at 10:46</title><link>https://bell.bz/1578566784/</link><guid isPermaLink="true">https://bell.bz/1578566784/</guid><pubDate>Thu, 09 Jan 2020 10:46:24 GMT</pubDate><content:encoded>&lt;p&gt;I’m working from my favourite coffee shop this morning: &lt;a href=&quot;http://www.the-coffee-dispensary.co.uk/&quot;&gt;The Coffee Dispensary&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;The make the &lt;em&gt;best&lt;/em&gt; Cortado.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://hankchizljaw.imgix.net/F7B84E97-601B-4AFF-A488-B6BB883747F8.jpeg?auto=format&amp;amp;q=60&quot; alt=&quot;A cortado coffee next to my MacBook Pro&quot; /&gt;&lt;/p&gt;
</content:encoded></item><item><title>9th January 2020 at 10:29</title><link>https://bell.bz/1578565764/</link><guid isPermaLink="true">https://bell.bz/1578565764/</guid><pubDate>Thu, 09 Jan 2020 10:29:24 GMT</pubDate><content:encoded>&lt;p&gt;I created a little PWA for myself, which is like &lt;a href=&quot;https://jotter.space&quot;&gt;https://jotter.space&lt;/a&gt; for creating these posts for my little micro blog. You might find it useful: &lt;a href=&quot;https://github.com/hankchizljaw/post-helper&quot;&gt;https://github.com/hankchizljaw/post-helper&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;It works by setting the microtome in frontmatter and 11ty does the rest.&lt;/p&gt;
&lt;p&gt;Magic.&lt;/p&gt;
</content:encoded></item><item><title>8th January 2020 at 22:33</title><link>https://bell.bz/1578522789/</link><guid isPermaLink="true">https://bell.bz/1578522789/</guid><pubDate>Wed, 08 Jan 2020 22:33:09 GMT</pubDate><content:encoded>&lt;p&gt;? Yesterday, I spent way too much time making a tiny React base project spit out the tinest bundle I could: &lt;a href=&quot;https://hankchizljaw.com/wrote/a-minimal-react-base-project/&quot;&gt;https://hankchizljaw.com/wrote/a-minimal-react-base-project/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;(spoiler: it spits out Preact)&lt;/p&gt;
</content:encoded></item><item><title>8th January 2020 at 22:00</title><link>https://bell.bz/1578520830/</link><guid isPermaLink="true">https://bell.bz/1578520830/</guid><pubDate>Wed, 08 Jan 2020 22:00:30 GMT</pubDate><content:encoded>&lt;p&gt;I need to test links, so here’s a couple of plugs.&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Buy Every Layout: &lt;a href=&quot;https://every-layout.dev/&quot;&gt;https://every-layout.dev/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Subscribe to Front-End Challenges Club: &lt;a href=&quot;https://front-end-challenges.club/&quot;&gt;https://front-end-challenges.club/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
</content:encoded></item><item><title>8th January 2020 at 21:50</title><link>https://bell.bz/1578520209/</link><guid isPermaLink="true">https://bell.bz/1578520209/</guid><pubDate>Wed, 08 Jan 2020 21:50:09 GMT</pubDate><content:encoded>&lt;p&gt;Standup: just casually posting on my new eleventy blog from my phone.&lt;/p&gt;
&lt;p&gt;Sent from my iPhone ?&lt;/p&gt;
</content:encoded></item><item><title>8th January 2020 at 21:38</title><link>https://bell.bz/1578519491/</link><guid isPermaLink="true">https://bell.bz/1578519491/</guid><pubDate>Wed, 08 Jan 2020 21:38:11 GMT</pubDate><content:encoded>&lt;p&gt;Let’s try again. Welcome to my new micro blog. This should post to Twitter! (pls work)&lt;/p&gt;
</content:encoded></item><item><title>8th January 2020 at 21:35</title><link>https://bell.bz/1578519351/</link><guid isPermaLink="true">https://bell.bz/1578519351/</guid><pubDate>Wed, 08 Jan 2020 21:35:51 GMT</pubDate><content:encoded>&lt;p&gt;Hello, world. This is the first post on my brand new micro blog ?&lt;/p&gt;
&lt;p&gt;With any luck, it should have posted to my Twitter, too.&lt;/p&gt;
</content:encoded></item><item><title>A Modern CSS Reset</title><link>https://bell.bz/a-modern-css-reset/</link><guid isPermaLink="true">https://bell.bz/a-modern-css-reset/</guid><pubDate>Tue, 01 Oct 2019 12:02:00 GMT</pubDate><content:encoded>
&lt;div&gt;&lt;p&gt;This post is 4+ years old now, so I’d recommend &lt;a href=&quot;https://andy-bell.co.uk/a-more-modern-css-reset/&quot;&gt;reading this more up to date version&lt;/a&gt;!&lt;/p&gt;&lt;/div&gt;



&lt;p&gt;I think about and enjoy very boring CSS stuff—probably much more than I should do, to be honest. One thing that I’ve probably spent too much time thinking about over the years, is CSS resets.&lt;/p&gt;



&lt;p&gt;In this modern era of web development, we don’t really need a heavy-handed reset, or even a reset at all, because CSS browser compatibility issues are much less likely than they were in the old IE 6 days. That era was when resets such as &lt;a href=&quot;https://github.com/necolas/normalize.css/&quot;&gt;normalize.css&lt;/a&gt; came about and saved us all heaps of hell. Those days are gone now and we can trust our browsers to behave more, so I think resets like that are probably mostly redundant.&lt;/p&gt;



&lt;h2&gt;A reset of sensible defaults&lt;/h2&gt;



&lt;p&gt;I still like to reset stuff, so I’ve been slowly and continually tinkering with a reset myself over the years in an obsessive &lt;a href=&quot;https://en.wikipedia.org/wiki/Code_golf&quot;&gt;code golf&lt;/a&gt; manner. I’ll explain what’s in there and why, but before I do that, here it is in its entirety:&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* Box sizing rules */
*,
*::before,
*::after {
  box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd {
  margin-block-end: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
ul[role=&apos;list&apos;],
ol[role=&apos;list&apos;] {
  list-style: none;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don&apos;t have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
   scroll-behavior: auto;
  }
  
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
&lt;/code&gt;&lt;/pre&gt;



&lt;h2&gt;Breaking it down&lt;/h2&gt;



&lt;p&gt;We start with box-sizing. I just flat out reset all elements and pseudo-elements to use &lt;code&gt;box-sizing: border-box&lt;/code&gt;.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;*,
*::before,
*::after {
  box-sizing: border-box;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Some people think that pseudo-elements should &lt;code&gt;inherit&lt;/code&gt; box sizing, but I think that’s silly. If you want to use a &lt;a href=&quot;https://css-tricks.com/almanac/properties/b/box-sizing/&quot;&gt;different box-sizing value&lt;/a&gt;, set it explicitly—at least that’s what I do, anyway.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
li,
figure,
figcaption,
blockquote,
dl,
dd {
  margin: 0;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;After box-sizing, I do a blanket reset of &lt;code&gt;margin&lt;/code&gt;, where it gets set by the browser styles. This is all pretty self-explanatory, so I won’t get into it too much.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;html:focus-within {
  scroll-behavior: smooth;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;The “resetting” is now mostly done, so the first thing I do for core styles is set smooth scrolling. This was previously set right on the &lt;code&gt;html&lt;/code&gt; element, but &lt;a href=&quot;https://css-tricks.com/fixing-smooth-scrolling-with-find-on-page/&quot;&gt;recent updates&lt;/a&gt; have resulted in this being updated to only apply smooth scrolling when there is &lt;code&gt;:focus-within&lt;/code&gt; the &lt;code&gt;html&lt;/code&gt; element.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Next up: body styles. I keep this really simple. It’s useful for the &lt;code&gt;&amp;lt;body&amp;gt;&lt;/code&gt; to fill the viewport, even when empty, so I do that by setting the &lt;code&gt;min-height&lt;/code&gt; to &lt;code&gt;100vh&lt;/code&gt;.&lt;/p&gt;



&lt;p&gt;I only set two text styles. I set the &lt;code&gt;line-height&lt;/code&gt; to be &lt;code&gt;1.5&lt;/code&gt; because the default &lt;code&gt;1.2&lt;/code&gt; just isn’t big enough to have accessible, readable text. I also set &lt;code&gt;text-rendering&lt;/code&gt; to &lt;code&gt;optimizeSpeed&lt;/code&gt;. &lt;/p&gt;



&lt;p&gt;Using &lt;code&gt;optimizeLegibility&lt;/code&gt; makes your text look nicer, but can have serious performance issues such as &lt;a href=&quot;https://marco.org/2012/11/15/text-rendering-optimize-legibility&quot;&gt;30 second loading delays&lt;/a&gt;, so I try to avoid that now. I do sometimes add it to sections of microcopy though.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;ul[role=&apos;list&apos;],
ol[role=&apos;list&apos;] {
  list-style: none;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;I only reset &lt;code&gt;list-style&lt;/code&gt; where a list element has a &lt;code&gt;role=[&quot;list&quot;]&lt;/code&gt; attribute. This assists with some &lt;a href=&quot;https://www.scottohara.me/blog/2019/01/12/lists-and-safari.html&quot;&gt;accessibility issues, expertly explained by Scott&lt;/a&gt;.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;a:not([class]) {
  text-decoration-skip-ink: auto;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;For links without a class attribute, I set &lt;code&gt;text-decoration-skip-ink: auto&lt;/code&gt; so that the underline renders in a much more readable fashion. This could be set on links globally, but it’s caused one or two conflicts in the past for me, so I keep it like this.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;img {
  max-width: 100%;
  display: block;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Good ol’ fluid image styles come next. I set images to be a block element because frankly, life is too short for that weird gap you get at the bottom, and realistically, images—especially with work I do—tend to behave like blocks.&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;input,
button,
textarea,
select {
  font: inherit;
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Another thing I’ve finally been brave enough to set as default is &lt;code&gt;font: inherit&lt;/code&gt; on input elements, which as a shorthand, &lt;a href=&quot;https://css-tricks.com/almanac/properties/f/font/&quot;&gt;does exactly what it says on the tin&lt;/a&gt;. No more tiny (mono, in some cases) text!&lt;/p&gt;



&lt;pre&gt;&lt;code&gt;@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
&lt;/code&gt;&lt;/pre&gt;



&lt;p&gt;Last, and by no means least, is a single &lt;code&gt;@media&lt;/code&gt; query that resets animations, transitions and scroll behaviour if the &lt;a href=&quot;https://css-tricks.com/introduction-reduced-motion-media-query/&quot;&gt;user prefers reduced motion&lt;/a&gt;. I like this in the reset, with specificity trumping &lt;code&gt;!important&lt;/code&gt; selectors, because most likely now, if a user doesn’t want motion, they won’t get it, regardless of the CSS that follows this reset.&lt;/p&gt;



&lt;p&gt;ℹ️ &lt;strong&gt;Update&lt;/strong&gt;: &lt;em&gt;Thanks to &lt;a href=&quot;https://github.com/atomiks&quot;&gt;@atomiks&lt;/a&gt;, this has &lt;a href=&quot;https://github.com/hankchizljaw/modern-css-reset/pull/6&quot;&gt;been updated&lt;/a&gt; so it doesn’t break JavaScript events watching for &lt;code&gt;animationend&lt;/code&gt; and &lt;code&gt;transitionend&lt;/code&gt;.&lt;/em&gt;&lt;/p&gt;



&lt;h2&gt;Wrapping up&lt;/h2&gt;



&lt;p&gt;That’s it, a very tiny reset that makes my life a lot easier. If you like it, you can use it yourself, too! You can find it on &lt;a href=&quot;https://github.com/hankchizljaw/modern-css-reset&quot;&gt;GitHub&lt;/a&gt; or &lt;a href=&quot;https://www.npmjs.com/package/modern-css-reset&quot;&gt;NPM&lt;/a&gt;.&lt;/p&gt;



&lt;hr /&gt;



&lt;p&gt;🇯🇵 If you would prefer to read this article in Japanese, head &lt;a href=&quot;https://coliss.com/articles/build-websites/operation/css/a-modern-css-reset.html&quot;&gt;over here&lt;/a&gt;, where &lt;a href=&quot;https://twitter.com/colisscom&quot;&gt;コリス&lt;/a&gt; has very kindly translated it for me.&lt;/p&gt;



&lt;p&gt;🇷🇺 If you would prefer to read this article in Russian, head &lt;a href=&quot;https://medium.com/@stasonmars/%D1%81%D0%BE%D0%B2%D1%80%D0%B5%D0%BC%D0%B5%D0%BD%D0%BD%D1%8B%D0%B8%CC%86-%D1%81%D0%B1%D1%80%D0%BE%D1%81-css-f5816963c82b&quot;&gt;over here&lt;/a&gt;, where &lt;a href=&quot;https://twitter.com/stassonmars&quot;&gt;Stas&lt;/a&gt; has very kindly translated it for me.&lt;/p&gt;



&lt;p&gt;🇪🇸 If you would prefer to read this article in Spanish, head &lt;a href=&quot;https://super-simple.net/blog/un-css-reset-moderno/&quot;&gt;over here&lt;/a&gt;, where &lt;a href=&quot;https://twitter.com/supersimplenet&quot;&gt;superSimple&lt;/a&gt; has very kindly translated it for me.&lt;/p&gt;
</content:encoded></item></channel></rss>