Reading List
The most recent articles from a list of feeds I subscribe to.
Speaking around about refactoring CSS
Some weeks ago Oliver from Pixel Pioneers asked me: "How did you come up with the idea for your upcoming Pixel Pioneers talk, and what can we expect to take away from it?". This is my answer:
Around two years ago I realised that I was feeling a lot of decision paralysis when building brand new shiny projects from scratch. I was feeling very overwhelmed with all the new cool CSS things, and I would panic a little bit wondering if I was building and styling something up to the best and ultimate standards. This isn’t particularly healthy. I noticed a pattern of feeling safe and relaxed when I worked on legacy codebases. Someone made a decision years ago on something and I could work on it and note the impact. CSS is fantastic at failing, and modernising an old codebase can be particularly exciting. But because CSS is undervalued and it “just works”, it can be difficult to convince stakeholders to take the time to give it some love. But I’ve done it, and it does make a difference in the end Hopefully, by the end of the talk, people will feel confident to approach an old codebase without immediately deciding to rebuild.
I've been doing some test runs this week with work and friends and I am finally feeling excited and not just nervous.
The first big public run of it will be at CSS Day this week and it is sold out! (But there's still tickets for the live stream). The following weeks will be at Middlesbrough Front End and Pixel Pioneers. Both in the UK and with tickets still available.
Then, later this year, I will also be at SmashingConf Freiburg!
Let me know you if you're attending any of these and please do come say hi!
A forty minute tech talk might not fix a very specific code problem at work, but it might leave you inspired to fix everything else
Last week, I spent a few days in Leeds attending All Day Hey again, a brilliant conference for developers, designers and tech leads. This conference is part of my holy-grail of community-led conferences that I purchase tickets for regardless of the schedule. This is because I want to support these events that bring me so much joy and because I know I'll find myself amongst like-minded individuals (and my internet friends!).
The amount of conferences I attend is a little bit unusual as someone who isn’t a dev-rel but the curse of having front-end development as one of my few hobbies is that I guess that I enjoy a tech conference like people enjoy music festivals. It is part of my routine to attend these and luckily, my job benefits from it. So, what happens sometimes is that I may have seen some talks already. I can see why this would put off a good number of people but I love revisiting talks, especially months apart. It’s like re-reading a book you love or a comfort film. But with tech talks, when I re-watch them, they are a good reminder that I'm never the same person I was months ago. My projects, life circumstances and work situations have evolved. So these "repeat" talks normally spark entirely new feelings and insights because of whatever currently occupies my thoughts.
Anyway, as the day carried on, I found myself chatting with people about the current conference landscape, despite not currently being an organiser myself. It’s no secret that many community-led conferences are struggling and I spent the rest of my weekend mulling over why it seems like “corporate and expensive” conferences seem to be thriving. Deep down, I know it is capitalism.
The true value of conference attendance
I recently spoke with a junior developer who had been tasked with writing reports on how each talk they attended at a corporate conference could directly apply to their company's work. And it brought me bad flashbacks.
I’ve made a personal decision many years ago to not spend any of my money on “latest trends/framework” conferences because I’ve been in this industry long enough to know they are just that - trends. The few times I did attend, I was in a soulless place where almost nobody wanted to be in either. We were mostly tasked by our employers to learn and report back and make sure the company you work for benefits from this intense training. But the reality is: you’re not going to bring a million dollar solution to your company by watching a 40 minute code focused talk by someone who works somewhere that is the complete opposite of your workplace. I don’t think you will leave inspired either.
The point of a conference shouldn't be to provide ready-made solutions to specific workplace problems. A 40 minute code-heavy presentation might offer some technical pointers, but these will never truly address your specific challenges. Unfortunately, I’ve seen attendees demanding this - even from free meet-ups! But also, especially now, in this era of AI and LLMs, code-heavy focused talks can have a short shelf life. Or, or!! Brace yourself: AI/LLM slop content! Imagine that.
However, a talk that inspires you to become a better colleague, leader, or simply a more considerate person who thinks about the diverse needs of everyone using your products? Leaving a talk inspired to be a better human has a far greater impact than any code you will see in a slide. Leaving a talk feeling inspired to create backlog tickets to make things better? Or leaving a talk feeling inspired to finally work on a side project? Priceless!
Lex puts it into better words than me but if you're to take anything from a conference, it should be the inspiration to improve yourself. Not just technically, but as a human. Code alone doesn't create that transformation. What does is human connection, lovely chats, and community that cares about people and the web.
You're in the UK? Get tickets for these if you can, and come see for yourself:
In defense of unpolished personal websites
For a while now, I've been slowing working on a refactor of the codebase of this blog. At one point, I got caught in exciting world of performance and I wanted to make sure I had a super fast pageload. Currently, my CSS is added inline in the HTML and I found myself thinking "no one will be able to read this".
I mentioned in my speaker spotlight interview for Pixel Pioneers how I learned to code over 20 years ago. And in short, I learned to code by downloading pages and using "view source" to examine unminified, readable code. This approach allowed me to understand what was happening and develop my skills.
As web developers, we often feel compelled to showcase our skills by implementing the latest tools and frameworks on our personal websites. To some, it feels like an obligation to stay current and demonstrate you’re up-to-date with the latest shiny things.
And yes, personal websites are the perfect playground for experimentation. They offer a space to explore new technologies that might not yet be suitable for professional projects and a safe space to fail.
Today's heavily optimized websites have largely killed the "view source" learning experience. The code is minified, bundled, and often incomprehensible to beginners trying to understand how things work.
I got the ick from my own small optimisation. My personal website is small and it isn't an urgent service. It's hardly ever visited from a mobile phone. Maybe I shouldn't be using the little time I have to focus on that side of front-end development in this instance?
But deep down, all I want for my personal website is to give back to the web. I want anyone, regardless of skill level, to inspect elements, understand the structure, and learn from readable code. And I am fully aware my code isn’t perfect. It’s old and there’s a lot of room for improvement.
For now, I am happy to carry on with this approach. My imperfect and unpolished code on my personal website isn't the full reflection on my technical abilities or knowledge of web development standards. It’s a constant draft where my handwriting is legible and where I want optimization takes a backseat. It’s where I use the little free time I have to actually write on it and prioritise the experiments I want.
Is it okay to prioritize readability and learning over cutting-edge optimization on personal websites? I believe so. And if we want more people to have a personal website, I think more of us should consider doing the same.
Blog questions challenge
I'm somewhat frustrated at myself for how long it took me to finish off this post that Remy kindly tagged me in. The last time I participated in something like this was the "My Typical Day" write-up. Reading it now is an interesting stroll down memory lane.
This challenge also reminded me of Manu's wonderful People & Blogs newsletter, which comes out every Friday, and which I had the privilege of being featured in many weeks ago.
Why did you start blogging in the first place?
I started blogging as a pre-teen in the early 2000s. At that time, I was at the peak of my confidence, before the weird teenage years hit. I was already building fan websites, but I wanted to create something personal about myself. I wanted a space where I could share everything I was enjoying at the time.
At that age, the things you like become badges of honor - listing your favorite bands and films was a way of defining your personality and making yourself known to your peers. Having a personal website felt like the perfect way to do this. I felt like the coolest person on the planet because hardly anyone my age knew how to create websites back then.
Throughout the years I always had a blog but it wouldn’t always be the same blog. As I grew I would delete and start again. So I’ve maintained a blog for years but stopped when I got my first job in tech. I picked up blogging again about 10 years ago, and haven’t stopped.
What platform are you using to manage your blog, and why did you choose it? Have you blogged on other platforms before?
Currently, I use 11ty because my blog has evolved beyond just a blog - it's become a whole thing. I chose 11ty because I wanted extensive control over the markup, template customization, and being able to add my own features. It's remarkably simple to use and handles everything I throw at it, making it almost fail-proof.
My blogging journey across platforms:
- Hand made HTML for many years.
- Started with Blogspot during university, where I had a surprisingly popular blog in Portuguese documenting my journey through young adulthood, university, and my chaotic love life. It gained thousands of followers through Blogspot's follow feature.
- When I returned to blogging around 2014, I started with self-hosted WordPress as I was feeling burned out and needed an easy way back in.
- Later moved from WordPress to Jekyll.
- Finally settled on 11ty, where I am now.
While any blogging platform is fine to use, I personally crave the control over editing templates and customizing features, which is why 11ty works so well for me.
How do you write your posts?
I typically start in one of two ways:
- Open my editor directly.
- When frustrated, start in a basic document (like Google Docs) for initial word-vomit drafting.
As a non-native English speaker, I spend considerable time reviewing my grammar. I think faster than I type, so I need to ensure my written thoughts are coherent and connected. After editing and reviewing, I copy the content into my editor, usually creating either:
- A markdown file for simple text posts
- An HTML page for posts requiring fancy features
I've tried tools like Grammarly but found them unnecessary for my needs. Most often, it's just basic punctuation that needs fixing, which I've gotten better at handling on my own. And now I probably jinxed myself and anyone reading this will find lots of mistakes.
When do you feel most inspired to write?
My inspiration usually comes from frustration or when I need to process something in my life. While I wish I could say I had a perfect morning routine (5 AM wake-up, cold shower, coffee while gazing out the window after a morning run), the reality is quite different. Nowadays, most of my writing happens in the evening after spending the whole day processing thoughts and feelings about something. I spend the day mentally chewing on a thought, letting it build up, and then finally sit down to write about it in the evening. It's less about serene inspiration and more about processing emotions and experiences.
Do you publish immediately after writing, or do you let it simmer as a draft?
I do both. If it is a technical post, I will post immediately and then crawl back to edit/update it. A personal post I let it sit in the drafts at least overnight and read it the following morning.
What's your favourite post on your blog?
My favourite posts are my worst hits. I think my favourite posts also change every once in a while but right now my favourite posts are:
Ergh, looks like I peaked in 2021.
Any future plans for your blog? Maybe a redesign, a move to another platform, or adding a new feature?
Yes, I’m the worst at daydreaming what I would do to my blog if I didn’t have to work and had all the spare time to work on it.
I want to tidy up the layout and do a big code refactor. There’s still code lingering from an automated conversion tool I used from Wordpress to Jekyll from many years ago.
I keep lying to myself and tell myself that I will only day have a fully IndieWeb powered machine thing going on my blog. One day.
I have so much content to update like my blogroll, my bookmarks, talks section and more.
But, in the end, what’s the point of spicing it all up if it leaves me with no time to actually write on it?
Next?
I’m aware I’m slow but I love these types of chains. Next, I would tag Calum, Suze and Georgie, if they wish to do so.
Bookmarks I should have shared a long time ago
Let's get these out of the way!
Bookmarks related to tech and web development
- Likes* are the best by Hagen Terschüren.
- Paged.js.
- Making Math Accessible by Dan O’Mahony and Ricky Onsman.
- My Eleventy site setup by Anh.
- 88x31 archive by .
- W3C badge custom element demo by Patrick Brosset.
- Adding Search to an Eleventy Site Without Client-side JavaScript by Philip Renich.
- My script to auto-delete Google Maps reviews by Ash Kyd.
- Digital Cleanup Day.
- Scroll-driven Animations by Bramus.
- The quiet, pervasive devaluation of frontend by Josh Collinsworth.
- On tech enabled abuse by Alice Watson.
- Gardens and power by Ben Werdmuller.
- Getting rid of crap data by Gerry McGovern.
- The work is never just “the work” by Dave Stewart.
- IndieWebCamp Brighton 2024 by Murray Champernowne.
- The environmental benefits of privacy-focussed web design by by Paul Jardine and Becky Thorn.
- about ideas now by Peter Hagen, Louis Barclay, and others.
- There's nothing you can do to prevent a SIM-swap attack by Terence Eden.
- The Online Degradation of Women and Girls That We Meet With a Shrug by Nicholas Kristof.
- We Need to Decarbonize Software by Rina Diane Caballar.
- You’re a Blogger, Not an Essayist by Barry Hess.
- #10: Blogging to Bring Psychological Research to a General Audience.
- We Need To Rewild The Internet by Maria Farrell and Robin Berjon.
- The Ultimate Collection of CSS-only Shapes by Temani Afif.
- No, I don’t want to fill out your contact form by Adam Jones.
- We can have a different web by Molly White.
- Time-based CSS Animations by Yuan Chuan.
- What's the best laptop I could get for no more than £50? by Neil.
- Recent CSS Bookmarks 16 by Roma Komarov.
- Blogroll Network Map by Robert Alexander.
- Not always mobile first by Matthias Zöchling.
- Something went wrong by Molily.
- Alternatives to Using Pure Black (#000000) for Text and Backgrounds by Dmitry Sergushkin.
- Social Media Blocking Has Always Been A Lie by Terence Eden.
- SVG Coding Examples: Useful Recipes For Writing Vectors By Hand by Myriam Frisano.
- Handwriting your RSS feed by Everest Pipkin.
- Saving tabs in a text file by Hyde.
- Doug Engelbart or: How We Learned to Stop Commanding and Love the Mouse by Sara Joy.
- Practical Accessibility Tips You Can Apply Today by Kevin Andrews.
- Font-face toggler bookmarklet v2 by Stoyan Stefanov.
- Unleash the Power of Scroll-Driven Animations by Geoff Graham.
- How Google is Killing Bloggers and Small Publishers – And Why by Michael Miszczak.
- Add content to the margins of web pages when printed using CSS by Rachel Andrew.
- A guide to bookmarklets by Darek Kay.
- You are not a CSS dev if you have not made a CSS reset by Mike Mai.
- Expert Guide: Writing HTML for Screen Reader Users by Florian Schroiff.
- Engineering for Slow Internet by brr.
- Modern Health, frameworks, performance, and harm by Eric W Bailey.
- CSS mesh gradients.
- geometric patterns.
- Usage of Google Fonts violates GDPR by Donata Stroink-Skillrud.
- Fit-to-Width Text: A New Technique by Roman Komarov.
- 5 CSS snippets every front-end developer should know in 2024 by Adam Argyle.
- The infuriating inefficiency of accessibility audits and what to do about it by Eric Eggert.
- A handful of reasons JavaScript won’t be available by Andy Bell.
- Accessibility Prototyping.
- What is Utility-First CSS? by Heydon Pickering.
- Designing better target sizes by Ahmad Shadeed.
- 627: Getting Comfortable with the Struggle and Vibe Driven Development by Dave Rupert and Chris Coyier.
- Migrating from Netlify to Cloudflare for AI bot protection by Sia Karamalegos.
- CSS Bookmarklets for Testing and Fixing by Adrian Roselli.
- The case for a better web.
- Accessibility Acceptance Criteria.
- I'm Afraid to Die, so I Made a Website by rootCompute.
- I've Built My First Successful Side Project, and I Hate It by Sebastian Witowski.
- Two books, no longer apart. by Ethan Marcotte.
- Your CSS reset should be layered by Mayank.
- How I refactored the BBC navigation bar; and a follow-up FAQ by Josh Tumath.
- How to Test JavaScript for Accessibility Compliance by Florian Schroiff.
- Make creative borders with background-clip border-area by Jen Simmons.
- 11ty Themes Joy.
- Yes, progressive enhancement is a fucking moral argument by Charlie O’Hara.
- The eras of CSS by Robin Rendle.
- Ep. #38: Morals, ethics and being eco-friendly as a FE Developer by Chucho Castañeda and Ricard Torres.
- Authors Together.
Other bookmarks
- Links with Tips and Advice for Public Speaking by Marc Thiele.
- European crash tester says carmakers must bring back physical controls by Jonathan M. Gitlin.
- RollerCoaster Tycoon at 25: ‘It’s mind-blowing how it inspired me’ by Thomas Hobbs.
- Misunderstanding the slow life and failing to live by Ratika Deshpande.
- #14: On Writing About the Painful Stuff by Ratika Deshpande.
- The ‘Impossible Life’ of Equal Devotion to Art and Mothering by Jessica Grose.
- I love getting older by Annie.
- You Might Not Recover from Burnout. Ever. by Devon.
- ‘Eye-opening’ report calls for action on ‘inconsistent and unpredictable’ bus services for disabled passengers by John Pring.
- Brief and practical tips for public speaking by Stephanie Stimac.
- What happens when everybody lies? by Elena Rossini.