Skip to content
Frontend Feeds
  • Today
  • Archive
  • Sources
  • Categories
    • The Giants6 Sources
    • Multi Author Blogs18 Sources
    • Top Front-end Bloggers25 Sources
    • More Front-end Bloggers77 Sources
    • Browsers, engines, etc.11 Sources
    • Libraries, Frameworks, etc.12 Sources
    • Company/Startup Blogs12 Sources
    • Developer/Designer News4 Sources
    • YouTube Channels13 Sources
    • Podcasts7 Sources

Category

Top Front-end Bloggers

25 Sources
  • Adactio
  • Adam Argyle
  • Addy Osmani
  • Brad Frost
  • Christian Heilmann
  • CSS Wizardry
  • Dave Rupert
  • David Walsh Blog
  • Ethan Marcotte
  • Human Who Codes
  • Jake Archibald's blog
  • Jens Oliver Meiert
  • Jonathan Snook
  • Kent C. Dodds Blog
  • Lea Verou’s blog
  • overreacted
  • Philip Walton
  • phpied
  • QuirksBlog
  • Rachel Andrew
  • remy sharp's b:log
  • Sara Soueidan
  • Tim Kadlec
  • Una Kravets Online
  • Zach Leatherman

Monday, 12 October 2026

  • AdactioTop Front-end Bloggersread at source

    Back at the Vehicle Assembly Building …twenty years after I got to go inside it: https://adactio.com/journal/1208

  • remy sharp's b:logTop Front-end Bloggers4 min read

    My AI policy [blog]

    There's no shortage of commentary on LLM usage and I've penned several posts that have never left draft status because in part I can't articulate exactly what I want, and partly because there's so much noise around the subject. That's been true for the last few years but as an senior (and old) developer I think it might be useful to at least put in writing what happens to be true for me this moment in October 2026. Fair notice: this post will only briefly cover any policy I personally hold and quickly move into my opinions about LLMs and our community. On this blog Yeah, no. My words are mine. They might be regurgitated in your LLM chat session, but every typo, grammar failure and angry word is mine here. Additionally, the code that drives this site is almost all mine. I do use a few node libraries here and there (probably pug is the biggest one), but the "author code" is all me too. To be clear, this isn't because I'm some kind of shining light in the dark, it's because I need to protect some space for me to continue to practice development. I personally understand why an LLM would be used for code, but I can't fathom why someone might use it for their words. But that's for me, not for you to worry about. I can see legitimate LLM use for ideation, legibility checking and translation - but that's not for me and not for this blog. Elsewhere I'm not entirely anti-AI. My position has changed over time, probably linked to progress in progress in generative/better auto complete in code. But I'm not pro-AI either. I've not one sung it's praises to anyone. I might tell you about a thing I've used an LLM to make, and I do appreciate even writing about the experience might be read as pro-AI, but you won't find me telling you that you should use it. I'm using an LLM to complement my client work. My work is a mix of understanding a full system, directing the agent (which might be slightly different if I didn't work in a silo) and critically reviewing code changes. I've always considered my job (for over 2 decades) to be a communication task. To communicate business needs to functional code. That's to say, the actual implementation details don't concern me too much. In the same way a junior developer would code the solution in a different, and likely much more verbose way to me, but if it solves the business needs, and works, then it's not my job to rewrite their code. Likewise, if the task is to transform some data, it really doesn't matter what language the solution is, so long as it works (obviously you can get into the question of maintenance, but each case is unique). My point: it's not a hill I care to die on. On that note, I genuinely think we, the web community, need to back off shaming other developers for their choices. Regardless of whether it's using an LLM or using React, or Tailwind, or jQuery. It's an ugliness that doesn't sit well whilst trying to create an open and progressive community. I'm certainly guilty of this and I'm trying to get better. There's so many people that aren't the hard core tech bros pushing an agenda, and whom just want to make things. I recently heard of a new developer who wanted to share their web site with their peers in a "show off your work" channel. The channel was intended to be supportive, but because they had used React and hosted on Vercel, they held it back for fear of shaming. They weren't there banging a drum about how others should use these options, but just that they were chuffed to have made a thing, and yet we'd made them feel that they couldn't. The reason I've never managed to publish those earlier mentioned drafts is for fear of ostracising myself from my peers. I'm sure I'll be fine (I'm a big boy after all), but it's just a weirdness that we've made for ourselves. My ethical position on AI companies By "AI" companies I'm referring to OpenAI, Anthropic, Twitter (or Grok, or whatever the hell it's supposed to be), Microsoft, Google and probably Amazon. The companies that a driving data centre development across the globe. In short, it's fucked. The greed is grotesque and the ruin they're laying to waste is heartbreaking. In reading Empire of AI I came to understand the real impact on the communities the data centres really have. I struggle to reconcile the term "theft" with the mass training on public content, but it's semantics that I'm struggling on. The reality is that we, the people whose words make up the web, were taken on an unprecedented scale, and zero credit was given - let alone consent (though our content was always designed to be ingested in different ways - RSS aggregators being one such example). Then this content was used to create unimaginable sums of money for the super rich and none of this was returned to the authors, again, not even a thank you. I really do detest these companies (at different levels, at different times of the month), but I wonder if it's because I've got more of an understanding, because by comparison, I don't actively detest airline companies or oil companies for that matter. Those are "background bad". This does live within me as a constant tension with my current LLM usage. So that's it. More of a brain dump mixed with some of my feelings on our community. I've no doubt this will change, and possibly within the next 12 months given how quickly the state of the world is changing.

Sunday, 11 October 2026

  • Ethan MarcotteTop Front-end Bloggers2 min read

    All watched over by algorithms of loving grace.

    If you liked that, have you considered you might enjoy: more of that

  • Lea Verou’s blogTop Front-end Bloggers26 min read

    The best way to use icons in Web UIs

    TL;DR? Jump to demo I’ve always had a soft spot for icons 1 . Not only do they add polish to a UI, they can also tangibly improve usability. Familiar icons help users find what they need quickly, since we recognize pictures much faster than we read words. And as a web architect…

  • Sara SoueidanTop Front-end Bloggers3 min read

    My top picks for Interop 2027

    I love the Web platform, and it’s a provilege that we, the web community, get a chance to influence what browser makers work on every year. For the second year in a row, Firefox has created a page that allows us to rank the Interop 2027 features that we care about the most.…

  • Jens Oliver MeiertTop Front-end Bloggersread at source

    A Short Theory of the Political Spectrum

    On who votes left, right, and center—and what it means to vote either left or right.

Saturday, 10 October 2026

  • AdactioTop Front-end Bloggersread at source

    Going to Florida. brb

Friday, 9 October 2026

  • remy sharp's b:logTop Front-end Bloggers1 min read

    Tell Me Everything (Amgash, #5) [book]

    I wasn't a fan of the narrative technique, or, particularly the characters. I'm sure it didn't help that it turned out that this was the last book in a five book series, where I've been told the previous books had built up the characters, and this was more of a bringing together of the characters from the previous books. This book was picked up because of recommendation, but I'd obviously missed the fact it was entry 5 of this world. The narrative tone reminded me a lot of the narration used in the movie 500 Days of Summer. Which, felt fine for a chapter or two, but for me, it felt a bit tired and forced the further I got. I also often lost track of the characters that weren't the main Bob and Lucy. One character is given months (or weeks?) to live, but I couldn't tell who they were or whether they were important (thankfully the book did give me a helping hand as a reminder once the character was dead!). I found some of the choice of dialogue odd and jarring at times, like the random use of "dickwad". Then finally the characters, literally telling each other everything… I just didn't care. The stories the characters Lucy and Oliver exchange are questioned once as to the point. As the reader, the thought had crossed my mind already. I feel like my review is particularly hard going on the book and maybe this story, even with a brief randomish murder thrown in, might have made a good conclusion to the characters, but as someone picking it up "cold", it didn't quite keep my interest.

Thursday, 8 October 2026

  • AdactioTop Front-end Bloggersread at source

    The people holding up the internet | Data Drop

    Bringing receipts for xkcd.com/2347 . adactio.com/links/22794

  • AdactioTop Front-end Bloggersread at source

    A Place Among the Fiddlers - Longreads

    An in-depth report from Galax, the Old Time equivalent of the fleadh. adactio.com/links/22793

  • Jens Oliver MeiertTop Front-end Bloggersread at source

    On the Decision Underlying Decorative Images

    What would change the judgment people have to make about images?

Wednesday, 7 October 2026

  • AdactioTop Front-end Bloggersread at source

    Wednesday session

  • CSS WizardryTop Front-end Bloggersread at source

    Web-Perf Wednesday 012 – Return to the Unresolved Trace

    A quiet week leaves room to revisit unfinished performance investigations and turn partial evidence into a clear next step.

Tuesday, 6 October 2026

  • AdactioTop Front-end Bloggersread at source

    Tuesday session

  • Dave RupertTop Front-end Bloggersread at source

    Recursion is DEAD and HTML killed it

    There’s a new web platform feature flighting in Chromium called Declarative Partial Updates . This proposal adds a new element which enables out-of-order streaming of content. Rather than the traditional way of building the HTML you need on the server, or sending JSON down to a JavaScript framework, you can staple HTML onto the initial response and use the syntax to inject that content into the placeholder. A simple example of this would be: ` syntax for ` ` becuase the HTML highlighter likes that better. Either syntax works. --> Hello world First post The late-arriving template will auto-magically get slurped up into the placeholder slot. Unlike the element though, once you use it’s done. You burned that card and it doesn’t work a second time. If you want to chain more than one post together and create a feed of posts, you can repeat the placeholder with the same at the bottom of the appended item. The essence of the feature is that you can open a server connection, never close it, and keep pumping more HTML onto the page. The element does the heavy lifting of taking that new HTML and putting it in the right place. There’s lots of potential here (e.g. my beloved HTML Imports?) but I think the canonical use case would be how an LLM chatbot could stream in content that generates at different speeds: Markdown formatted text goes here... Hi, sorry I took so long! Here's a whole-ass application. That will create some other problems like FOUC and LCP hurk-jerk you will have to manage –and that’s for another post– but lazy-loaded HTML rendering adds an interesting capability to the web platform. It took me a couple walks around the neighborhood to understand how I could potentially use and out-of-order rendering on a normal workday. Rendering a threaded response The rule of thumb I came up with is that might be a pattern to reach for any time where you want important content to show up first and then you kind of don’t care when other content shows up below the fold. A post with nested replies A product with reviews that show reviewer profile cards A gigantic pull request with nested comment threads A book with authors that have related books You get the gist, a classic relational data situation. The example I’m going to go with is a nested reply thread like a Reddit thread or Bluesky post. Building a nested thread of replies isn’t rocket science, but you have to do a lot of for-looping to first build up the tree of posts you’re going to render… → Fetch all root posts in thread → Loop through posts → Fetch replies for each root post → Loop through root post replies → Fetch replies for each reply → Add nested reply to parent reply → Add parent replies to root posts → Walk tree → Send HTML for all posts Assuming the data tree gets stitched together by the database or our server backend, your first attempt at rendering nested content will probably be the most literal approach: create a for-loop for each level of content… // pseudo-code const postsTree = postsDb.find(p => p.thread_id === 'abc123'); postsTree.map(post => html` ${post.username} ${post.body} ${post.replies?.map(reply => html` ${reply.username} ${reply.body} ${reply.replies?.map(nestedReply => html` ${nestedReply.username} ${nestedReply.body} ` ).join('')} ` ).join('')} ` ).join('') An obvious limitation here is that we’ve hard-coded ourselves to three levels of nesting. Adding more nesting would require backend and frontend work and break the classic “ Rule of three ” programming rule. Hard-coding your nesting is the “dumb way” to render nested content… but also the normal way. Making this a bit smarter and more infinite Philosophically-speaking, UI should be agnostic to the content it renders. If nested content is a possibility, a content renderer should theoretically support infinite nested content. Practically-speaking, most of us have learned that it doesn’t matter if the Product Manager’s Jira ticket says “The max is two nested items”, there will always be at least three. The smarter way to render this is to use recursion because nested for-loops are BAD and you are DUMB if you use them. But if you obfuscate the nesting into a function that calls itself, then that’s ✨recursion, baby✨ and you’re a GENIUS programmer. Jokes aside, recursion will clean up the template code and simplify getting HTML on the page. → Fetch all posts in thread → Loop through posts → Build a map → Loop through map → Build a tree → Walk tree → Send HTML for all posts Before we grabbed all posts, then all replies, then all nested replies. Walking that tree is a bit slow. We can make that faster by fetching a flat list of posts in the thread and then assemble a tree. You can do this with some crafty LEFT JOIN SQL statements but its generally easier on the server. buildPostTree : building a nested tree from a flat list of posts function buildPostTree(posts) { const postsById = new Map() // Loop through posts to build map for (const post of posts) { postsById.set(post.id, { ...post, replies: [], }) } const roots = [] // Loop through map values to build tree for (const post of postsById.values()) { // Parentless posts must be roots if (!post.parent_id) { roots.push(post); continue; } // Find this child's parents! const parent = postsById.get(post.parent_id) // Add child post to parent's replies parent.replies.push(post) } return roots } Then instead of hard-coding nested for-loops, we can recursively walk the tree to render the HTML for the posts. // pseudo-code const posts = postsDb.find(p => p.thread_id === 'abc123'); const postsTree = buildPostsTree(posts); const renderPost = (post) => html` ${post.username} ${post.body} ${ // Loop through post replies and render the HTML post.replies?.map(reply => renderPost(reply)).join('') } `; postsTree.map(post => renderPost(post)).join('') That’s a more robust and understandable way to handle infinitely nested content. Our code is more durable to future changes. Need more or less nesting? Sure, we don’t care. That’s a data concern not a component rendering concern. Even though we’ve simplified and reduced lines of code, both strategies have the same bottleneck: You need to build the entire tree before you can render the HTML . The user waits for us to stitch the data together and the user waits for us to walk the tree and render synchronously. That’s two render blocking operations to put a thread onto the page. The element gives us another path… Infinitely nested threads with out-of-order HTML First we setup our page to receive the HTML, like we did at the top of this post… And our rendering strategy gets a lot more simple… → Get all posts in thread → Loop through posts → Send HTML for post And code looks a little something like this… /* get all root posts */ const posts = postsDb.find(p => p.thread_id === 'abc123'); const renderPost = (post) => html` ${post.username} ${post.body} ` /* loop through posts */ posts.forEach(post => main.appendHTML(renderPost(post)) ); No tree building is happening whatsoever on the server. The microsecond after we generate the template in the middle of the for-loop we can stream/send the HTML directly to the client and let the page assemble itself. No recursion, no pre-assembly required. It all snap-fits together without us imperatively injecting content. A brief demo in CodePen. I recommend reading the HTML first, imagine that’s the order it streamed in, then viewing the assembled tree of nested comments. See the Pen LEFT JOIN with HTML by Dave Rupert ( @davatron5000 ) on CodePen . It’s worth noting a thread of 10K posts will crush the browser, so you’ll still have to load responsibly and think about a “Show more comments” buttons. I’m hand-waving the details here, but this gets easier too because your loadMoreComments() function doesn’t need to know anything about where to append those new comments, it can just staple them to the bottom of the page. I’m excited about the possibilities here of removing ancillary content or UI from the critical rendering path. I’m interested in HTML’s newfound ability to self-assemble content and relationships in a declarative way. And maybe… he says with a glimmer of hope in his eyes… HTML Imports will be resurrected and there will be peace on Earth.

  • AdactioTop Front-end Bloggersread at source

    Lake Of Souls by Ann Leckie

    In some ways, the short story is the ideal format for science fiction. If science fiction is all about ideas, a short story is a way to take an idea and play it out without any obligation to build a bigger world around it. But short stories can work the other way too. If you have a bigger world that’s been established in full-length novels, a short story can be just the right format for exploring another corner of that world. In Lake Of Souls: The Collected Short Fiction by Ann Leckie, you get both. The stories are split into three categories. The first has standalone stories. The second has stories from the universe established in the Imperial Radch series. The third has stories from the world of The Raven Tower . In my opinion, the standalone stories are really good. The Imperial Radch stories are also great. But the stories from world of The Raven Tower are best of all. Something about the fable-like premise of that world makes it ideal for short stories that are like twisted little fairy tales. At this point I think I’ve read everything that Ann Leckie has published so I feel safe in saying you can’t go wrong if you pick up any of her books. There’s something deeply humanist about her writing.

  • AdactioTop Front-end Bloggersread at source

    Why don’t more developers “use the platform”? | Read the Tea Leaves

    Thought-provoking musings from Nolan. adactio.com/links/22789

  • AdactioTop Front-end Bloggersread at source

    This hue shall pass | Colour contrast checker by Clearleft

    My Clearleft colleagues have made this tool to check if your colour palette has enough contrast to be accessible. But let’s face it, the best part is the name—chef’s kiss! This hue shall pass is an accessibility tool that helps you review and refine your brand’s digital colour palette. It shows you a matrix of all possible colour combinations and which ones pass or fail your accessibility criteria. It then helps you make adjustments to unlock more usable combinations. adactio.com/links/22788

  • QuirksBlogTop Front-end Bloggersread at source

    The cost of AI

    At Fronteers Dark Mode last Friday I had AI conversations with three or four people. At the end of each of them I asked: “Yeah, but what would those tokens really cost?” They didn’t know either, but agreed that it was the right question to ask. Is AI truly cheaper than the workers it replaces? I encourage you to do the same. After each conversation about AI, ask what the true cost of the tokens would be. Nobody knows, but getting used to asking the question is a good idea. Costs and benefits AI is being very heavily subsidised right now. I still don’t know what the true cost of a token is. Nobody does. (This analysis says “hyperscalers have spent about $1.2 trillion on AI investments while only making $277 billion in revenues.” That’s $4.33 spent for every dollar earned.) On the consumer side, this is the first time the tech giants release a service that is not “free” — and that after years of training us to expect free goodies everywhere. They can fund their free social networks and such by productizing the consumer, but there’s no way they can port the ad model to AI. The money just isn’t there. (The total global ad market in 2025 was about $300 billion. This analysis estimates that the hyperscalers need at least $1.3 trillion per year over the next ten years. That’s four global ad markets and a bit.) Also, this is the first time the tech giants release a service that is cordially disliked by a large percentage of the world — maybe even to the extent that it influences sentiment about the tech giants themselves. But consumer opinions don’t matter, it’s the corporate market that counts. So the question becomes: can AI efficiency save the world about 25% of its total IT costs? (The 2020 global IT market — untouched by AI — was estimated to be $5.2 trillion, and as we saw we need at least $1.3 trillion per year to keep AI running. The savings would not only come from IT, but IT would be expected to deliver the lion’s share.) Factories and tradesmen Quick history lesson: the industrial revolution, which replaced tradesmen by huge factories, didn’t take place because people liked huge factories, but because they produced stuff cheaper . Right now I’m not seeing any evidence that AI is cheaper than the workers it replaces, especially not when taking into account the amount of checking that AI errors and bugs still require. I could be wrong, but it’s unprovable either way, and the numbers I quoted above seem to support my viewpoint. The tech giants are creating something with the appeal of a 19th-century factory, complete with oppressed and estranged workers, without delivering the sole benefit: cheaper IT and other services. Do they create their factories because they like them? Regardless of the costs? Did that make them bite off more than they can chew? Hey, I’m just asking questions. Recent articles For this article I read a few overview stories about the cost of AI — and not in my local anti-AI socialist rag website, but in the sort of unsuspect capitalist publications that Very Serious Investors read. I found that, while the authors still sprinkle sentences throughout their articles about “obvious benefits,” and company X saving $50K, and the general wonders tech brought to the world, they start to be pretty critical of the huge expenditures. To me, this sounds as if the writers are preparing the world for a shifting viewpoint; for the moment that money will run out, unlikely as that might appear to anyone within the bubble. Oh, yes, we could be wrong, mr AI True Believer who pays for a subscription to the magazine we write these words in ... except that we’re not. To me, it sounds as if at least part of the capitalist class is waking up to the fact that AI is just a bubble. And once enough people say “AI is just a bubble” it becomes reality. So help it come about. After each conversation about AI, ask what the true cost of those tokens would be. Sow doubt. Hint at bubbles. Let’s hope the bubble bursts soon. It’s only after the inevitable crash that we can assess the true cost — and benefits — of AI.

  • AdactioTop Front-end Bloggersread at source

    Reading The Mountain In The Sea by Ray Nayler.

  • Brad FrostTop Front-end Bloggers1 min read

    Laser Storm

    This weekend, I took Ella to her cousin's birthday party at Laser Storm on McKnight Road north of Pittsburgh. The small structure is now dwarfed by much larger, newer chain stores, but entering the doors transported me to the same amazing world my cousins and I would visit as…

  • Jens Oliver MeiertTop Front-end Bloggersread at source

    HTML Minifier Next: Exempt CSS, JS, and SVG From Minification, Collapse No-Break Spaces and Empty Attributes, Higher Correctness

    On the latest changes to the super-configurable web page minifier.

Sunday, 4 October 2026

  • AdactioTop Front-end Bloggersread at source

    Sunday session

  • phpiedTop Front-end Bloggers2 min read

    Debugging download initiator

    I was recently debugging why an image was being downloaded. In Chrome devtools, in the network panel, the column for "initiator" was pointing to the end of the HTML document. But that wasn't true and I suspect when Chrome gives up on trying to figure out the actual code location, the default is the HTML […]

  • Jens Oliver MeiertTop Front-end Bloggersread at source

    We Need to Protect Muslims

    The West has developed a self-fueling story about Muslims that is used to wage a non-scrutinized forever war on Islam. Both the story and the war need to stop.

Saturday, 3 October 2026

  • Adam ArgyleTop Front-end Bloggersread at source

    Page View Count Regression Fixed

    Page view counts regressed Oct 1 and were fixed just now. Hopefully those historical counts can be retrieved or fixed; working on it.

  • remy sharp's b:logTop Front-end Bloggersread at source

    Firefox version 157 is very round (and how to make it less round) – creolened.com [link]

    This is very useful. I do like the direction Firefox design is going, but the very round tabs make me think the hit target for tabs - especially when pinned and muted - is much smaller than it actually is. Original link: creolened.com/firefox-version-157-is-very-round

  • Adam ArgyleTop Front-end Bloggersread at source

    Transitioning Field Sizing Content With CSS

    Neat CSS trick: Use anchor to track the size changes in a textarea (or whatever) and transition instead of instantly update 🤘🏻 See on Codepen

Friday, 2 October 2026

  • Adam ArgyleTop Front-end Bloggersread at source

    Front End Fast Money With Kevin Powell

    30s on the clock, how well do my CSS answers stack up against Kevin 's audience? Watch on YouTube

Thursday, 1 October 2026

  • AdactioTop Front-end Bloggersread at source

    Thursday session

  • AdactioTop Front-end Bloggersread at source

    Commodified Intelligence | MOND←TECH MAGAZINE

    We may end up with a full “hidden economy”: People working on their own passion projects, building things for their own sake, and for recognition from their peers. Work done without real compensation, to express personal ideas, moods, and visions, with personal lines drawn on when AI usage is acceptable, and when it isn’t. This bifurcation would affect everyone. For every single hobby activity in your life you’ll have to make a decision: Do you care about the “outcome”, or do you care about doing it yourself, about going through the steps, learning, and doing it badly? Say, do you just want to eat something, or do you want to know how to cook? Do you just want a drawing, or do you want to learn how to express yourself in art, in a way that’s impossible to articulate or explain through a chat interface? adactio.com/links/22784

  • AdactioTop Front-end Bloggersread at source

    AI is a Boring Technology - Christopher Butler

    A thoughtful comparison of “AI” and electricity: The work is in two places. Regulation, which first requires the political will to want it, and which nobody gets to skip by hoping the technology will mature into fairness on its own. And efficiency — continued ground gained on open models small enough to run on ordinary machines. The future I want is local — off-grid AI. A model on a laptop that belongs to the person using it, the way a lamp belongs to the person who switches it on. adactio.com/links/22783

Wednesday, 30 September 2026

  • AdactioTop Front-end Bloggersread at source

    Wednesday session

  • Rachel AndrewTop Front-end Bloggers4 min read

    More than words

    While I’ve done a lot of reference documentation writing, my favourite type of work is writing tutorials and “how to” content. I enjoy the challenge of understanding a technology and an audience, then explaining the technology to that audience. AI seems to be particularly bad at creating this kind of content. When people try, they ... More than words

  • AdactioTop Front-end Bloggersread at source

    Twenty five years of writing on adactio.com

    On this day, twenty five years ago, I wrote my first journal entry on this website. Twenty five years! A quarter of a century! That’s a significant portion of the lifetime of the World Wide Web itself. Actually, this site did exist before September 30th, 2001 but it was very different. You can still look at the very first version of adactio.com if you want to wallow in the glory days of framesets and DHTML. But it was twenty five years ago that I started publishing my thoughts here, making adactio.com my online home. The funny thing is, I distinctly remember when I started writing that I was getting into this whole blogging thing really late. So many others had been doing it for a while at that point. Now there aren’t many of them left. It’s not just the journal though. At some point I added the links section . Later still, I added notes . Between those three sections, I usually end up posting something on this website at least once a day. But I don’t put any pressure on myself. That might be the secret to the longevity of the site. I don’t worry about running out of things to write about. If I go for a while without writing anything, that’s okay. But that rarely happens. There’s almost always something I want to share. Like I said in that first ever post : I’ll try and post fairly regularly but I don’t want to make any promises I can’t keep. I also wrote: Being a web developer, there’s bound to be lots of geeky, techy stuff but I also want a place where I can rant and rave about life in general. I think the tech stuff has decreased over the past few years. I’m more likely to write about music or books. I expect that trend will continue. I certainly have no plans to stop. It feels good to have my own little homestead on the web where I can do whatever I want. After twenty five years, it feels good to occasionally peruse the archive and revisit the past. Here’s to the next twenty five.

  • CSS WizardryTop Front-end Bloggersread at source

    Web-Perf Wednesday 011 – SpeedCurve’s INP Observer Missed Its Threshold

    A long-standing lux.js bug left Event Timing on its 104 ms default, while browser releases improve testing and rendering performance.

  • phpiedTop Front-end Bloggers2 min read

    llms.txt: agent-optimization wishful thinking

    Can't remember where I stumbled upon a SEO-type guide that was suggesting agent-optimization via a robot.txt-like file llms.txt which lives in the web root and helps agents use your site. Perfect, I thought, my sightread.org has a zillion options, all bookmarkable. I imagined a world where someone asks ChatGPT for a sight reading exercise or […]

  • Human Who CodesTop Front-end Bloggers4 min read

    Introducing PR Comment Inbox

    PR Comment Inbox helps authors track and respond to every conversation in a busy GitHub pull request.

Tuesday, 29 September 2026

  • AdactioTop Front-end Bloggersread at source

    Justice for CSS | WIRED

    In defense of the girliest programming language. I was pleasantly surprised to find a blog post of mine quoted in this article. adactio.com/links/22780

  • Jens Oliver MeiertTop Front-end Bloggersread at source

    The AWAGAM Request Blocker, Now Available on Android

    A DNS-based solution to use your blocklists also on your mobile.

Monday, 28 September 2026

  • remy sharp's b:logTop Front-end Bloggers1 min read

    There are no "rogue" AI agents [link]

    I've read so many posts in the last few months about AI agents going "rogue" and this post does a good job of calling absolute bullshit on the language being used by media outlets (and the tech companies themselves). AI cannot think for itself, nor can it take independent actions. But anthropomorphizing language suggesting it can is how the technology is described. I keep saying this, but the companies are responsible and should be prosecuted as such. Any other smaller company or individual caught in a cyber attack (which is what these reports actually are) would be likely jailed and banned from using computers again. Lest we forget Aaron Swartz. Original link: eoinhiggins.substack.com/[…]/there-are-no-rogue-ai-agents

Sunday, 27 September 2026

  • Dave RupertTop Front-end Bloggersread at source

    Tupo

    “Triple Threat” Josh Collinsworth has a brand new daily puzzler game called Tupo . On it’s surface it looks like a simplified 4×4 Sudoku block but with colored squares. That is the foundation for a simple ruleset: Every row and column contains each number exactly once Every row and column contains each color exactly once Every number + color combination appears exactly once Mini Sudoku with colors. Got it. How hard could it be? Hahahahahahahahahaha. You naive bastard. It’s deceptively difficult and then right when you get the hang of it, it jumps to a 5×5 grid on Friday. Simple yet complex is a difficult design concept to achieve and Josh did a great job. I got a sneak peek of the game a couple weeks ago and it quickly earned the top spot in my daily puzzle playlist. Before Inkwell Games , before Clues by Sam , I play Tupo. If you’re a fan of daily puzzlers, try Tupo. It won’t disappoint. → Play Tupo

  • remy sharp's b:logTop Front-end Bloggersread at source

    A Trump team wants to automate U.S. Web Design System accessibility testing. Experts are worried. [link]

    This is gut wrenching. This is another example of cost cutting exercises that affect minorities. This isn't a story about AI, it's (another) story about pulling funding from the places that need to support those that need it to increase the profits of those who don't. Most accessibility testing is evaluating how a real human user — particularly a real human user with accessibility needs, like a screen reader user or other assisted technology user — would interact with the site. It is about what a human would experience. Original link: fedscoop.com/trump-team-automate-uswds-accessibility-testing-ai

Saturday, 26 September 2026

  • remy sharp's b:logTop Front-end Bloggers4 min read

    Redesign: fonts, alignment and nav [blog]

    As I continue occasionally tinker on the redesign I've started (and often think "what's the point, current design is fine"), I wanted to share some of the problems I've run in to. Problems mostly for me because I'm not a designer, and I don't have the wiring to know what works.

  • Jens Oliver MeiertTop Front-end Bloggersread at source

    I’m Giving Up on Outreach to Parties and Governments

    Why I’m abandoning direct political outreach, and what silence and inaction from leaders reveals about Europe’s path forward.

Friday, 25 September 2026

  • AdactioTop Front-end Bloggersread at source

    The death of web development education – Rescuing a field from disappearing

    A grim tally. adactio.com/links/22779

  • AdactioTop Front-end Bloggersread at source

    Think local

    If you’re anything like me, you’re sick of hearing about so-called “AI”. We are not a fringe. The majority consensus amongst actual regular people is that this is being forced down our throats and stuffed into our eyes and ears. That’s why it pains me that I’m about to add more fecal matter onto the ever-growing pile of shit by writing yet another hot take related to large language models. If you stop reading now, I don’t blame you. In fact, I applaud you. Anyway… The last time I made the mistake of writing about large language models , I set out my stall thusly: Software is almost certainly the killer app for large language models. I think the artists, writers, and musicians will be okay, or at least as okay as they ever were. It turns out that humans like things made by other humans. And y’know what? If I had to choose which endeavour I’d rather see automated away—programming or art—it’s no competition. I stand by that. But it doesn’t mean that software development gets a free pass to use exploitative extractive tools with a clear conscience. You can use these tools in a thoughtless way or you can use them thoughtfully. I really like Robin Sloan’s approach : The consensus vision seems to involve AI working for you day-to-day, a constant ambient presence, sparkles in everything; even cautious Apple has succumbed. I’m not interested in that. My alternative: get your wish, then stuff the genie back into the lamp. He’s got a set of rules: You must actually and consistently use anything you build for two months before posting about it. Ideally, never post about it. (I know I am breaking this rule, but my purpose is pedagogical, and anyway, I’ve got more apps I didn’t tell you about.) Don’t let the AI agent name the app. You pick the name. Don’t distribute the app, not even for free. Don’t post the code on GitHub. This is not software for glory; it is software for you. For most of my career, I’ve wanted web development to become something that anyone could do. I really like the World Wide Web and I think it would be great if more people had their own websites. But I totally get that most people have no interest in learning HTML. One of my biggest fears for the web was that it would become the domain of professionals only; a gatekeeping priesthood who get to make stuff while everyone else goes without. The efficacy of large language models for coding would seem to lessen that possibility. Especially if you apply Robin’s approach. The Session has an API . There are also weekly data dumps of everything on the site. The idea is that other people can use these to build other useful tools for themselves. Lately, there’s been a big uptick of these kinds of tools , mostly made by someone with the help of large language models. Often they have no previous experience of making software. This is good. But I get uneasy when I see people selling these tools to other people. Call me old-fashioned but I feel that if you’re going to ask people to pay for a thing, you should understand that thing. I think that’s why Robin’s list of suggestions resonates with me. But… To build software with large language models today, you pretty much have to pay some money to the absolute worst sort of people, the ones pedalling tokens to their “hyperscale” products. You can’t avoid being complicit because there isn’t really an alternative. I think that might change. I’m not going to make predictions. That’s a mug’s game. But I might attempt a gentle unspooling of one potential future… First off, there’s a crash coming. That’s pretty much inevitable at this point. The only question is how much collatoral damage it’s going to do to the world. Right now, tokens are subsidised. The hyperscalers lose money when people use their products. It’s possible that we are now living through a golden age of making software relatively cheaply with large language models. That will change when the hyperscalers start charging for the true cost of tokens. Not for everyone though. I believe that enterprise software companies will happily pay the true price for tokens. It’ll be like Google Glass ; that was an absolute disaster for the consumer market but went on to have a productive second life in factories. You know when you’re in an airport and you see advertisements that are not for you, but for faceless corporations? You know the ones. They’re all “cloud” this and “sap” that. Now they’re all about “AI”. It’s not for us. It’s for them. Does this spell the end of making home-cooked apps with large language models? I don’t think so. The hyperscalers might become unaffordable to most people, but keep an eye on open models. And keep your other eye on local models. Right now, open local models aren’t as good as the large language models that require data centres of computation and energy. But they aren’t massively far behind. And if the recent history of large language models has taught us anything, it’s that “good enough” is fine. Take Google Search. They decided to fuck it up by forcing generated summaries into your eyeballs above the actual search results. These summaries aren’t 100% accurate. Let’s be generous and say they’re accurate more than 90% of the time. According to Google, that’s good enough. So, sure, local open models may never reach the levels of data-centre-powered large language models. But they don’t need to. They just need to be good enough. I’m really looking forward to that. My issue with large language models has never been the actual technology, which is genuinely fascinating. My issue is with the power dynamics, of being robbed of agency, of the over-inflated hype and criti-hype being used to convince us of an inevitable future where a small group of very rich men are masters over our lives. I’d love to see the technology decoupled from the current depressing narrative. I’d love to see a thousand homemade software flowers bloom from open local language models.

  • AdactioTop Front-end Bloggersread at source

    Is AI ruining my brain?

    I am an AI skeptic/hater/slow adopter, due to a combination of concerns about the ethics and environmental impact of AI and the fact that I like doing things myself. I knit my own socks, I built a swing for my porch this summer, and every Thanksgiving I make pies from scratch — even the crust (do you like my handmade em dash?). adactio.com/links/22777

Thursday, 24 September 2026

  • Dave RupertTop Front-end Bloggersread at source

    How Many Dudes?

    If I’ve been missing from the internet it’s because I’ve been spending my evenings grinding on a game from Butterscotch Shenanigans called How Many Dudes? Hot off the heels of the release of their massive multi-year sequel project Crashlands 2 , the family+ operation at BS turned a little game-jam style prototype into a “Featured on the Apple App Store” game in under a year. How Many Dudes? seeks to solve ancient internet riddles like: How many toddlers could you take on in a fight? Would you rather fight 100 duck-sized horses or 1 horse-sized duck? Who would win: 100 men vs 1 gorilla? The premise is pretty simple. Build a team of fighters with different abilities and power-ups and enter the arena to fight different enemies and bosses. For me this game has it all: Balatro -level of power creep Impactful decision making So much economies Great art style and hilarious copy A proper amount of gore Enjoyable difficulty curve RNG, but not too much Those characteristics all lead toward a game with great replay-ability. Mastering lower tiers unlocks characters and power-ups in higher tiers creating a perfect “loopback” system where I want to 100% the lower tiers before moving on. A full round takes around 20 minutes but you can stop and start it effortlessly like a good casual game. I could go on forever about the power stacking economies in this game but it’s the little bits that impress me the most. Like how the characters don’t have proper walk animations and instead rotate and bob as they shimmy their way across the screen like a paper cutout on a popsicle stick. This may seem like corner cutting but on a screen with 1000+ combatants, particle effects, blood splatter, and explosions… I bet limiting characters to a single low-frame combat animation cycle is a critical ingredient for good performance. Then there’s the characters themselves. With nods to other game franchises, movie tropes, and popular (but litigious) dungeon crawling tabletop systems, the game about memes builds on cultural memes to add depth. And even though these characters don’t talk, interact, and you don’t technically control them, the hilarious copy hidden within the power-ups and item pick-ups gives a game with a lot of characters a ton of character. I will confess some bias; Butterscotch Shenanigans is one of my favorite gamedev studios and I’m internet friends with their CEO Adam Coster ( he’s even been on my podcast ). It didn’t start like that. Before knowing Adam, I watched their GDC talks and mentioned their studio in a post I wrote about a GMTK video essay . I like their approach to prototyping a lot but what I like most about Butterscotch Shenanigans is that they have that old-world #indieweb ethos of sharing what you know . They have a blog for detailing their process , a podcast, and offer open source tools for GameMaker on GitHub. If I ever pivoted to gamedev, I’d want to build a studio like theirs. A big inspiration for me. Anyways, that’s my review of How Many Dudes? If you like deck-building rougelikes or button mashing power fantasies, I think you’ll like this game. And here’s my Dude tier list in case you’re wondering…

  • Adam ArgyleTop Front-end Bloggersread at source

    WWW Ep254 From Geocities To Gpt Brad Frost

    Ep #254 With Brad Frost ✨ Robbie and I welcome Brad Frost to talk grief and acceptance around AI, the Orchid synth , snowboarding as a metaphor for finding your line through chaos, why domain expertise matters more than ever, Van Halen's green M&Ms , and Brad's AI an…

  • phpiedTop Front-end Bloggers2 min read

    I am now an Instagram Micro-Influencer

    AMA. What's a "Micro-Influencer"? Someone with 10K or more followers. Approximately 15% of all Instagram accounts. So I'm a "15 percenter" What's an Instagram? A window on your baby television that eats time and poops neuroses. What are you doing there? Keeping up with my musicians friends, many of them seem to update it frequently […]

  • Kent C. Dodds BlogTop Front-end Bloggersread at source

    You Own the Outcome: Product Engineering in the Age of AI

    Agents are great at producing code. The valuable work left for you is deciding what should exist, how it should behave, and what you're willing to trade for it.

Wednesday, 23 September 2026

  • CSS WizardryTop Front-end Bloggersread at source

    Web-Perf Wednesday 010 – Safari Keeps Scrolled Content in Place

    Safari 27 adds scroll anchoring, tighter HTTP caching, and static Service Worker routes, while Chrome improves performance tooling.

  • Brad FrostTop Front-end Bloggers2 min read

    Last chance to get our courses at pre-release prices!

    I sent out a newsletter today and wanted to share it here too. Forgive the sales-y post, but we're at the finish line of the courses we've been pouring our entire selves into for the last two years. We're really proud of this work, and we're really excited to help people. With…

  • Jens Oliver MeiertTop Front-end Bloggersread at source

    On the Engineering Philosophy for HTML Minifier Next

    Maximum effectiveness, up-to-date dependencies, and no fear of major releases: the three guiding tenets behind HTML Minifier Next.

Monday, 21 September 2026

  • QuirksBlogTop Front-end Bloggersread at source

    Books aren't dead

    So a while ago one of the older neighbours in the apartment building (whose husband passed away living in my current house, but that’s another story) became confused enough to be brought to the old people's home, which was an adventure in itself, including an unexpected return. Today, her house was stripped. Among others, about twenty boxes of books were thrown onto the street. When I passed by on the way to the supermarket I looked through them, as did two other people. I found that there was a lot of French stuff (did she study French?), as well as some things that make me suspect she was raised a protestant — something very seventy-ish about God’s will with Marxism or something. I snagged a Dictionnaire d'ancien français because why the hell not, Robin Lane Fox’s book about the Bible, something I thought was an OED but turned out to be an English-Hindi dictionary, a French book about 13th century French buildings that makes a nice gift for someone I know, and a late-Roman fusion saint’s life set to rhyme in 11th-century French, then translated and prosified into modern Dutch to keep the manuscript tradition nice and complex. Then I went to do my shopping, a bit sad about all those books being left on the street, but I’m not going to take in twenty boxes into my house when I’m very certain I’ll never read 98% of them. When I returned half an hour later there were about ten people, all of them in their late twenties and early thirties, going through the boxes. I can’t swear to it, but I got the feeling they knew each other or were part of a group or something. One of them staggered away with two big heavy bags of books, and you don’t just happen to pass twenty boxes of books while having two big bags with you, right? Books aren’t dead. They’re just sleeping.

  • Zach LeathermanTop Front-end Bloggers2 min read

    “AI, make the website good”

    Millions of Large-Language-Model -generated words have been spilled on craftsmanship in this gilded-age of software development . We now have agents to plan how code will be written, agents to write code, agents to review code, agents to orchestrate and dispatch tasks to other…

Sunday, 20 September 2026

  • Brad FrostTop Front-end Bloggersread at source

    Periodic Table of HTML Elements

    Periodic Table of HTML Elements shows all 115 HTML elements laid out as a periodic table. Josh Duck created the original periodic table of HTML elements that I included in my Atomic Design book . Thankfully, Alena Batitskaia recreated it updated to the latest spec!

  • Jens Oliver MeiertTop Front-end Bloggersread at source

    Every Place That Sells Food Should Offer a Vegan Option

    Almost everyone can eat vegan food—yet vegans can’t count on getting any. Thoughts on why that’s backwards, and the obvious fix.

  • remy sharp's b:logTop Front-end Bloggers1 min read

    Dungeon Crawler Carl (Dungeon Crawler Carl, #1) [book]

    Not something I'd normally pick, but enjoyable. I've never played dungeons and dragons, and in my head, I kept thinking of Minecraft as my rough frame of reference (which I've touched because of the kids but not really played to any real amount). The book follows Carl, who, as we guess from the title and thankfully within a few pages find that he's forced to become a dungeon crawler for the entertainment for some extra terrestrial intergalactic world galloping corporate ring thingy. He descends into the dungeon with his cat, which, thankfully and unsurprisingly gains the ability to talk. None of the characters or the story is particularly unique. I was describing the book to my daughter whom immediately asked if it was based on a video game. It's not, as far as I know, but I guess this is the point, there's lots of cultural shorthand that the story can pull from. Even though I say there's nothing surprising in there, it didn't hold the book back from being fun and funny at times. It does try to bring up the indiscriminate mass murder of so-called monsters (ie. not human), and maybe that's picked up in future books (of which I understand there's seven more), but it did rather feel like the character rather quickly took to it like a duck to water. But then, does it matter? This book wasn't trying to be a social commentary on how quickly humans can disassociate. I think I'd like to pick up some of the next books in the series, but I'm really not a fan of "required" reading to get the complete story, so I suspect if I do ever get to finish book eight, it'll likely be years from now…

Saturday, 19 September 2026

  • Adam ArgyleTop Front-end Bloggers1 min read

    BanjoCSS

    Banjo, guitar, drums, trees, n' mountains.

Friday, 18 September 2026

  • overreactedTop Front-end Bloggersread at source

    How I Vibed a Proof of Conway’s Conjecture

    You can just prove things, apparently.

Thursday, 17 September 2026

  • Adam ArgyleTop Front-end Bloggers2 min read

    Jev

    A next-gen programming model

  • Jens Oliver MeiertTop Front-end Bloggersread at source

    On Respect and Gratitude in Open Source

    How a project treats its contributors says more than its code. A note on the basics we’re skipping—and what it’s costing us.

Wednesday, 16 September 2026

  • CSS WizardryTop Front-end Bloggersread at source

    Web-Perf Wednesday 009 – CrUX Makes Ad Weight Public

    CrUX adds public ad count, density, CPU, and network metrics, giving publishers and advertisers a shared view of real ad weight.

  • Zach LeathermanTop Front-end Bloggers1 min read

    Icon Fall Web Component

    I’ve been doing some spring/fall cleaning and found an unpublished follow-up component to <snow-fall> (a web component to “snow” on your website — which also happens to work with emoji too). Originally it was created as an easter egg for Blog Awesome (click on the Font Awesome…

Tuesday, 15 September 2026

  • Rachel AndrewTop Front-end Bloggers1 min read

    Remove start and end margins with the margin-trim property

    A frequently asked multiple-column layout question is why a new paragraph at the start of the column has additional space above it. The space is the margin on the paragraph, which doesn’t collapse if the paragraph is inside a multicol container. The only fix is to not use a top margin on paragraphs. However, the ... Remove start and end margins with the margin-trim property

  • remy sharp's b:logTop Front-end Bloggersread at source

    tip turn on dns over https doh [link]

    Ignoring that every time I read DoH as "Doh!" and not DNS over HTTPS, this is still a useful tip from Tantek. A reminder that it's easy for the router to see what's happening. By using DoH exclusively, every one of those domain names is sent only to your DoH provider (e.g. Cloudflare or NextDNS) blocking your local router, WiFi, and internet service provider from making a list of which websites you visit, or at least making it much harder Original link: tantek.com/[…]/tip-turn-on-dns-over-https-doh

  • Zach LeathermanTop Front-end Bloggers1 min read

    Table of Contents Web Component

    …and another one. This little (zero CSS) web component has two modes: progressively enhance a hierarchy of server rendered <ol> or <ul> elements (or conveniently client render them for you if they don’t exist) to highlight which are currently visible in the viewport. I pulled…

  • Jonathan SnookTop Front-end Bloggers2 min read

    Reminder of Things

    It feels like to-do lists peaked about a decade and a half ago. (Perhaps like so many things, but I digress.) It was the heyday of Getting Things Done and Inbox Zero and all the apps you can imagine to manage your items to do, like OmniFocus and—my personal favourite— Things . I…

Monday, 14 September 2026

  • Dave RupertTop Front-end Bloggersread at source

    I wish you the best in the Offline

    A handful of people I follow and know about have announced their recent departure. Not from a job (although plenty of that going around), but from social media, AI usage, or in more extreme cases the Internet entirely. In Goodbye, Forever, Probably , Salma announced her retirement from the internet. She makes a sound case for leaving DevRel, a demanding job with mushy metrics that struggles to find a home between product and marketing, because community building is neither of those. I could see why Salma wanted out of the metric chasing and the daily requirement to be a public face. Salma foreshadowed this move for awhile, there was a palpable discontent with the industry in her online voice. And she did it. She made the jump to the Offline and she’s been dark on the internet since her post. I haven’t talked to her personally, but I hear second-hand she’s making good on her word and laying low at a good company as an individual contributor. I wish her the best and that the detoxing process goes well. Then there’s Chad Whitacre who announced his retirement with a typewriter-written letter . His plan? Lay low and make a zine about religion. That seems like a charming project but I get so curious about people’s financial situations when they’re able to make such asymmetrical moves like that. He lives in a rural town near Pittsburgh, does selling $10 zines afford that lifestyle? What about healthcare? Does he have a trust fund? A recent inheritance? Bitcoin? Years of an early retirement strategy paying off? I shouldn’t ruin the anti-capitalistic vibe with such trivial capitalistic questions but I love it and my brain jumps to trying to make the math work for myself. Either way, I wish him the best in the Offline. Brett Codes shared his post I’m done using AI (and video ). It caused a stir on the algorithm. Based on followup videos, Brett seems happy with his decision which perhaps comes down to the fact that he’s a person who stands by his convictions –he’s a vegan, uses a dumb-phone, etc.– and I think he finds fulfillment in eschewing the social norms. But I admire his perspective as someone who used AI but ultimately decided to let it go. Betting your career against the thing (it seems) all companies are hyper-scaling towards is a big bet. Either you’re right and the world will always need people who know how software works, or you’re wrong and you’re left in the dust… or we’re all steam rolled by the errant contraption. Either way, I wish him the best unplugging from the machine. I know of other stories but because three is a magic number that people find harmony in, I’ll cap it here. There’s a sad irony when someone jettisons from social media, they’re gone from our Online worlds but I’m so happy for them. And I mourn what we don’t get to hear from them. We don’t get to hear about how wonderful they feel, how beautiful their skin is now, and how they restored their mental health. We don’t know if they make more money or less money. We don’t get further inspiration from them to leave the Online. But being able to observe the Offline from the Online might ruin the magic and mystery hidden there. It’s a door hidden in an old wardrobe that you have to pass through to fully understand. Anyways, should you leave us and follow those who have gone ahead, I wish you the best in the Offline. I hope to join you there soon.

  • Philip WaltonTop Front-end Bloggersread at source

    Modern Web Types

  • Zach LeathermanTop Front-end Bloggers1 min read

    Solar Eclipse Toggle Web Component (two state dark/light mode toggle)

    In Trying out a Two-state Dark Mode Toggle I summarized the Two-state Dark and Light mode Toggle discussion as I experimented with a toggle in my personal website footer. After launch, Curtis Wilcox left some good feedback to improve the accessibility of the component . I…

  • Addy OsmaniTop Front-end Bloggersread at source

    Brownfield Agentic Engineering

    What it takes to run agents in a codebase older than the team

  • remy sharp's b:logTop Front-end Bloggers4 min read

    Redesign '26 [blog]

    Around June this year I decided that I wanted to spruce up my blog. I had landed on Elliot Jay Stocks and Jon Hicks' web site and it really made me want to get my blog to something I'd consider visually appealing. I do know that I've set the bar way, way too high by looking at their sites. Specifically because if you're reading this on my website (and not RSS), you'll know design is not my strong suite. Grey is. Boxes and grey. Given that my last redesign was 18 years ago, I'm hoping I've learnt a few design tricks along the way.

Wednesday, 26 August 2026

  • Jake Archibald's blogTop Front-end Bloggers4 min read

    Controlling when CSS custom property values are computed

    The default might not be what you expect, and it has a big impact on your styles.

Monday, 22 June 2026

  • Una Kravets OnlineTop Front-end Bloggersread at source

    Modern CSS theming with light-dark(), contrast-color(), and style queries

    Combine three new CSS features to build fully adaptive themed components.

Monday, 18 May 2026

  • Tim KadlecTop Front-end Bloggersread at source

    Losing Focus

Thursday, 20 November 2025

  • David Walsh BlogTop Front-end Bloggers1 min read

    JavaScript SpeechSynthesis API

    As the web continues to be the medium for all users, standards bodies need to continue to provide new APIs to enrich user experience and accessibility. One underused API for unsighted users is speechSynthesis, an API to programmatically direct the browser to audibly speak any arbitrary string. The Code You can direct the browser to […] The post JavaScript SpeechSynthesis API appeared first on David Walsh Blog .

Articles belong to their publishers. This site only collects what their feeds provide.

Updated 12 October 2026 at 17:38