updated at 4:39 AM
favicon Joan Westenberg

The Truth Behind Authoritarian 'Economic Miracles'

We love a good economic miracle. The tale of a nation rising from the ashes, defying all odds to become an unstoppable juggernaut. It's the stuff of ...
Read article
favicon Dave Rupert

Summer rental

4:05am The windows are open, hoping to capture the faint winds and convert them into a mythical cooling cross-breeze. A gust passes through vacuuming all the doors shut, cancelling hope for a miracle. I’m awake. It’s cool but I’m on top of the covers and not cool enough. The plastic thump-thump-thump of the oscillating fan reaching the end of its arc is rhythmic yet not. After three-to-six atte...
Read article
favicon Jim Nielsen

Amazing Athletes of the 21st Century

This post is a secret to everyone! Read more about RSS Club. Content warning: wherein I talk about sports. If that’s not your thing, feel free to skip this one. I’m not a rabid sports fan. I don’t have a team, though I do have teams I hate (or rather, like to hate on). But I do enjoy following sports. I’ve witnessed some pretty spectacular sporting events and athletic performances i...
Read article
favicon Matthias Zöchling

Keep bloggin’

I was on vacation with my family when the oldest entry on my site turned 5000 days old. Without access to my computer, I wasn’t able to write a proper article, but now I got to it. 5000 days ago this site didn’t exist. Nor did its predecessor on WordPress. So how can the oldest entry be 5000 days old? According to the About page, … […] some threads have been posted in as early as 201...
Read article
favicon Joan Westenberg

Macro-Morons with Micro-Visions: The VC Disaster Tour

The current crop of VCs fancy themselves masters of the universe. They speak in a Substack fermented patois of CACs and LTVs, hockey stick growth and...
Read article
favicon Adam Argyle

Dialogs Are On Top Of It

being on top of everything has never been so easy <dialog>
Read article
favicon Nikita Prokopov

Where Should Visual Programming Go?

Visual programming and textual code should co-exist next to each other, not replace one another
Read article
favicon CSS in Real Life

Everybody’s Free (to Write Websites)

If anybody needs some free advice on how to build websites, Sara Joy has got it absolutely nailed. (With supporting voiceover from Keenan, and an accompanying video from Robb Knight.) The indie web community is awesome 💕 Everybody’s Free (to Write Websites)
Read article
favicon Jim Nielsen

I Don’t Like The Term “IC” Either

I really liked Robin’s piece, “Stop calling yourself an IC”. I still remember the way I felt the first time I heard that term. It was used in a way where its connotations conveyed a kind of laziness via lack of ambition. And I thought, “But wait, I am an individual contributor — and I like it. Is something wrong with me?” Learning this term and glimpsing how it was used by folks above my paygr...
Read article
favicon Joan Westenberg

Cobra Theory in Action: How We Fucked the Internet

I want to talk about how we managed to royally screw up the internet. It's a classic case of Cobra Theory - a bunch of tech “geniuses” and boy-wonder...
Read article
favicon Jim Nielsen

Text Prompts Circumscribe The Surface Area of Possible Solutions

I was reading Chase McCoy’s notes about Figma’s move into the AI space and this one line stuck out to me (emphasis mine): Generating UI designs from scratch, based on a text prompt This reminded me of my note from a Wall Street Journal interview with Jony Ive where he talks about problem solving. He notes that when you set out to solve a problem you are open to a flood of ideas because the on...
Read article
favicon Joan Westenberg

The Anxiety Epidemic

Everywhere you turn these days, someone’s freaking out about something. Your coworker’s having a meltdown over a looming deadline. Your fri...
Read article
favicon Nikita Prokopov

Clojure macros continue to surprise me

Clojure macros have two modes: avoid them at all costs/do very basic stuff, or go absolutely crazy. Here’s the problem: I’m working on Humble UI’s component library, and I wanted to document it. While at it, I figured it could serve as an integration test as well—since I showcase every possible option, why not test it at the same time? This is what I came up with: I write component code, and in...
Read article
favicon Jason Fried

Achieving optionality

It took me a while to fully realize the value of something my company achieved years ago, and continues to savor today. It’s one of our greatest quiet advantages, full stop.It’s not something you hear much about in business circles. In fact, I can’t remember the last time I heard anyone spend much time on the topic, or even bring it up in conversation, on a conference stage, or behind a podc...
Read article
favicon Adam Argyle

The CSS Podcast On Text Wrap

Ep #84Text Wrap Una and I cover the text-wrap shorthand. Watch · Listen
Read article
favicon David Heinemeier Hansson

Living with Linux and Android after two decades of Apple

It now seems laughable that only a few months ago, I was questioning whether I'd actually be able to switch off the Apple stack and stick to my choice. That's what two decades worth of entrenched habits will do to your belief in change! But not only was it possible, it's been immensely enjoyable. What seemed so difficult at first now appears trivial, since it's been done.That's not a critiqu...
Read article
favicon Matthias Zöchling

Back to the basics

Sara Soueidan wrote on July 11, 2024 at 17:57 Not a day goes by when I work on my website that I don’t wish for a simpler setup. No SSG. No npm. No tooling. Just simple HTML with partials imports, vanilla CSS, and whatever vanilla JS is necessary for enhancements. I just want the HTML partials imports. Why don’t we have them already?! Matthias Zöchling wrote on July 11, 2024 at 19:45 In repl...
Read article
favicon Jim Nielsen

Creating Some Noise on Behalf of Silence

How do you write about the value of silence? It’s kind of absurd when you think about it. Do you use words to extol the value of something whose essence is the very absence of words? It’s like making a painting of the invisible. Do you use visible means to depict something that exists outside of the visible? Nonetheless, here I am with this blog post. Via a recommendation from my wife, I recent...
Read article
favicon Adam Argyle

Jason And Adam Install It

Jason and I "install it" 🤣 Watch on YouTube
Read article
favicon Jason Fried

Directional decisions

In the course of building products, you’ll make a thousand common decisions, but only a handful of directional decisions.While a common decision may alter a specific feature, design, or implementation, a directional decision remaps the fundamental trajectory of the entire product.Make a directional decision and you’re now pointed this way or that way. Make a directional decision and you eith...
Read article
favicon Joan Westenberg

All-you-can-eat media is our fault and our problem

Every time we decide to pay for a multi-billion dollar streaming service, every time we hit a paywall and turn away, every time we grumble about the ...
Read article
favicon Joan Westenberg

My writing stack

Writers’ tools have changed a lot over the years. We’ve gone from noisy typewriters in busy newsrooms (filled with cigarette smoke, which was undoubt...
Read article
favicon Matthias Zöchling

5000 Days

Matthias Zöchling wrote on July 9, 2024 at 06:22 As of today, the oldest entry on my #blog CSSence.com is 5000 days old. We’re only halfway through the year, and 2024 is already my best #blogging year ever. Out of the 250 posts written in almost 14 years, more than ⅕th are a result of the last six months. And given how crappy 2023 has been for me healthwise, I couldn’t be happie...
Read article
favicon Darth Mall

Dynamic Websites with Static Site Generators

A few years back, back when I was rebuilding the Science On a Sphere website, I had the idea that you could use a static site generator (SSG) like Eleventy to write out PHP instead of HTML. I had been eying Eleventy’s edge plugin and wishing it was available for hosts other than Netlify when it occurred to me that the edge plugin really isn’t that different from how PHP works: Part of the page...
Read article
favicon Joan Westenberg

Unsolicited medical advice fucking sucks.

I’ll say it. I’m fucking sick of unsolicited medical advice. Someone posts about feeling under the weather, and suddenly their comment section is inu...
Read article
favicon Jim Nielsen

All About That Button, ’Bout That Button

In modern SPAs it’s common to immediately escape baked-in browser behaviors. For example, using <button> often looks like this: <div> <input type="text" name="q" /> <button type="submit" onClick={(e) => { // Stop the baked-in behavior e.preventDefault(); // Do something with the input's value }} >...
Read article
favicon Joan Westenberg

The Art of Not Sharing

It’s a typical Monday morning. You wake up, reach for your phone, and within seconds, you’re scrolling through an endless stream of updates. Your col...
Read article
favicon Stephanie Stimac

Life Check №1

The speed at which the pace of life changes around here is a little bit like whiplash. I had been mapping out summer a few months ago, and suddenly it's July. I've been to Spain for a week, and then to London and Bristol, I went with Jhey for a week, where he spoke at Config in San Francisco. I've just had my last conference talk of the summer and am enjoying the Croatian coastline for the week...
Read article
favicon Joan Westenberg

A question of power

Letʼs get it out of the way: training a large language model can consume as much electricity as a small city. Running“AI” applications at scale deman...
Read article
favicon Joan Westenberg

Fate and free will in a fucked up world

2021 2022 2023 2024 has been rough, man. I’m not going to sugarcoat it.The world seems to be spinning out of control faster than ever. Global events ...
Read article
favicon Neatnik

Spake

Spake Last week when I was hanging out in the omg.lol chat, I saw this: <bixfrankonis> There should be a really easy way to audio blog <nicolas> blogcast? <bixfrankonis> No I mean like low rent lofi voice blogging, as opposed to full on podcasting <nicolas> Ah so just a voice recording as a blog post? <bixfrankonis> Apple should just let people subscribe to my voi...
Read article
favicon Adam Argyle

Lakitu

Lakitu is an OG cloud nerd.
Read article
favicon Joan Westenberg

Why NVIDIA is a shitty model for a startup

NVIDIA's success has - somehow - become a template for every would-be startup founder. Amazon's logistics are touted as the solution to problems of s...
Read article
favicon Adam Argyle

CSS Podcast Has Tips And Tricks

Ep #83:has() tips and tricks Una and I expand on episode 61 about :has() by focusing specifically on use cases, tips and tricks. Get inspired and discover new ways to make reactive UI from CSS. Watch · Listen
Read article
favicon Jason Fried

Introducing Writebook

You know, it's really easy to publish short form content on a variety of social platforms. And individual blog posts on a number of other platforms. These are solved problems.But it's surprisingly challenging to publish books on the web in nice, cohesive, tight, easy-to-navigate HTML format. A collection of 20 essays can be a book. Or a company's handbook can be a book. Or an actual book lik...
Read article
favicon Lea Verou

Forget “show, don’t tell”. Engage, don’t show!

A few days ago, I gave a very well received talk about API design at dotJS titled “API Design is UI Design” [1]. One of the points I made was that good UIs (and thus, good APIs) have a smooth UI complexity to Use case complexity curve. This means that incremental user effort results in incremental value; at no point going just a little bit further requires a disproportionately big chunk of upfr...
Read article
favicon Joan Westenberg

Generational labels are bullshit

We have an unhealthy obsession with labels. We spend an inordinate amount of time neatly categorizing swaths of humanity into generational boxes: Bab...
Read article
favicon Matthias Ott

Highlighting Blogging on Mastodon

In what looks like a very smart move, the team at Mastodon just released a very nice new feature for media organizations, journalists and bloggers: when someone shares a link to an article by certain news outlets like The Verge, MacStories, or MacRumors, the official Mastodon app as well as the web version will now show a direct link to an author’s fediverse profile. ...
Read article
favicon Adam Argyle

CSS Day 2024 Videos Are Releasing Weekly

Videos from CSS Day 2024 are releasing weekly! Rachel Andrew's on Layout and Reading Order just dropped today! & don't miss this one by Matthias Ott called Web Design Engineering With The New CSS.
Read article
favicon Joan Westenberg

The anti-Biden flat-earthers

A fundamental truth about humans: we crave the feeling of being special.We crave recognition, membership, belonging.We want to believe that we are pa...
Read article
favicon Jim Nielsen

Digital Trees

Trees have many functions: they provide shade, they purify air, they store carbon, they grow fruit, and they’re aesthetically pleasing. What’s intriguing to me about trees is their return on investment (ROI). It takes years, even decades, to grow a tree to the point where you feel like you get to reap its benefits. Because of this, many trees end up being cultivated more for others than for ...
Read article
favicon Paweł Grzybek

Top picks — 2024 June

Hey, web folks! The summer season is here, and I am writing this intro while looking at the sunrise in a beautiful Santorini, giggling due to a loud crowing rooster. A vacation with my family, away from my day-to-day responsibilities, helped me relax and regain creativity to do more exciting things! A quick reminder to take a holiday from time to time 🏖️ Despite the holiday season, the web is ...
Read article
favicon Joan Westenberg

The billion dollar con

On the face of it, stock buybacks seem like a win-win situation. A company, bursting at the seams with cash, decides to invest in itself. It's like a...
Read article
favicon Dave Rupert

Mini 4WD

The algorithm sucked me into another model craft hobby: Mini 4WD racing (ミニ四駆). A Mini 4WD is a 1:32 scale model that is a mix between slot cars and RC cars. You don’t control these cars with a remote control nor do they drive in an electrified slot, rather you place your racecar in a plastic track with high walls and send them speeding down the track at ~40km/h. The twist is you don’t know wh...
Read article
favicon Dave Rupert

Vibe Check №33

The cicadas hum their ancient alien tune in the treetops above. The asphalt is hot to the touch. Cars and homes fill with the white noise of air conditioning in attempts to keep those inside alive. My enemy, the Sun, beams its photonic radiation at me –only me– and mocks my every step and sows humiliation as sweat pours down my back to pool betwixt my buttocks. We trudge through hot air to make...
Read article
favicon Adam Argyle

CSS Motion Blur

:whispers: CSS motion blur
Read article
favicon Joan Westenberg

Creators don't need your rage. They need your support.

For a lot of folks, the reaction to AI has been anger.I've been there. I know. I've felt it, too. Anger at the inauthenticity and soullessness of AI-...
Read article
favicon Jason Fried

Sometimes it's better, sometimes it's worse

Failure is a word worth eliminating from your vocabulary.There’s no reason to think about things that didn’t work out as failures.Yet, it’s especially pervasive in entrepreneurial circles. It’s almost as if failure has been fetishized. Nearly worshipped as a right of passage, a prerequisite, a required step on the way.I’m not here to say everything works out. Most things don’t. Plenty of thi...
Read article
favicon Matthias Zöchling

Form label event bubbling

Another JavaScript-related article in the same month? What is going on? You may have heard of event bubbling and capturing. According to javascript.info, this is how event bubbling works: When an event happens on an element, it first runs the handlers on it, then on its parent, then all the way up on other ancestors. That knowledge serves you well. Given that this is all about ancestors, sib...
Read article
favicon Joan Westenberg

The internet's original sin

In the early 1990s, a group of idealistic technologists had a radical idea: information wants to be free.Led by folks like John Perry Barlow, co-foun...
Read article
favicon Adam Argyle

The CSS Podcast Whats New In Color

Ep #82What's new in color functions Una and I catch you up with the latest changes to color functions. Watch · Listen
Read article
favicon Jim Nielsen

Cool URIs Don’t Change — But Humans Do

Here are two ideas at odds with each other: You should have human-friendly URIs Cool URIs don’t change If a slug is going to be human-friendly, i.e. human-readable, then it's going to contain information that is subject to change because humans make errors. If “to err is human” then our errors will be forever cemented into our URIs at publish time. For example, if I write: /the-earth-is-...
Read article
favicon Joan Westenberg

"This is just like 1984!"

Referencing "1984" has become a staple of social media discourse. Whenever a trend rubs someone the wrong way, they are quick to label it "Orwellian,...
Read article
favicon Adam Argyle

Preview Scroll Snap Change And Scroll Snap Changing Js Events

Preview two new JS events:scrollSnapChange & scrollSnapChanging Watch me as I explain what's happening in this scroll snap event visualizer. Try it in Canary by turning on #enable-experimental-web-platform-features
Read article
favicon Joan Westenberg

6 months ago, I left the bullshit industrial complex

I used to be good at spinning stories. Give me a half-baked startup idea, a semi-charismatic founder and a fistful of VC dollars, and I could write a...
Read article
favicon Jason Fried

Software defaults

One of my favorite things about designing software is designing the defaults.The defaults define the experience for everyone out of the box. And, therefore, for most people in perpetuity. Convention over configuration rules the day. To me, everything it could possibly do is less interesting than what it does right now, factory fresh.At 37signals we call this The Golden Path and we discuss it...
Read article
favicon Paweł Grzybek

Santorini 2024

We are just returning from a week in Akrotiri, a village south of Santorini. Stunning place! The picturesque north of the island is too crowded, overpriced, and dominated by selfie addicts, but the southern part is relaxing and traditional, and it is where we stay most of our time. I wanted to share a few pics 🇬🇷
Read article
favicon Joan Westenberg

Tech's accountability tantrum is pathetic

Silicon Valley's amateur kleptocrats have a deep allergy to anything that might derail their adolescent dreams of building the future - and topping t...
Read article
favicon 37signals Dev

Homographic Spoofing: a new Ruby toolkit

What is a homograph attack and how to protect from it with a new gem.
Read article
favicon Joan Westenberg

Tucker Carlson is Putin's Lord Haw-Haw

William Joyce was an American-born fascist. Throughout World War II, he broadcast pro-Nazi propaganda across Europe, spreading slogans and attempting...
Read article
favicon Jim Nielsen

A Local-first Codebase Opens the Door to More Collaborators

I thought this was interesting: Dax Raad on the local-first podcast observes how a local-first model drastically simplifies the experience of building an app, both as an individual and as a team. He talks about how his wife is not an engineer but she learned to be more hands on in the codebase of the project they work on together. For them, one of the things that’s been “crazy helpful” about a...
Read article
favicon Adam Argyle

The CSS Podcast Trig For The Ui Eng

Ep #81Trigonometric Functions Una and I make math practical for the UI Engineer by avoiding the complex side of the mathematics and instead, focus on use cases. This is the episode about math in CSS we've always wanted. Follow along as we surprise ourselves over and over with how inspiring the applications of these concepts are. Watch · Listen
Read article
favicon Nikita Prokopov

Local, first, forever

We explore how to build local-first sync on top of simple file storage
Read article
favicon Jason Fried

Thoughts on the search for life

Just listened to Lex Fridman and Sara Walker talk about the origins of life, the search for life, what is life, etc. It was a wonderfully refreshing, nourishing conversation.https://www.youtube.com/watch?v=wwhTfyX9J34It made me want to spill out some random thoughts on the subject. I’m unqualified, but I’m curious.Our search for life off this planet is inherently primitive. We search for lif...
Read article
favicon Lea Verou

Inline conditionals in CSS, now?

The CSS WG resolved to add if() to CSS, but that won’t be in browsers for a while. What are our options in the meantime? A couple days ago, I posted about the recent CSS WG resolution to add an if() function to CSS. Great as it may be, this is still a long way off, two years if everything goes super smoothly, more if not. So what can you do when you need conditionals right now? You may be ple...
Read article
favicon Jim Nielsen

Custom Elements Don’t Require a Hyphen as a Separator

Scott Jehl reached out to help me resolve a conundrum in my post about what constitutes a valid custom element tag. The spec says you can have custom elements with emojis in them. For example: <emotion-😍></emotion-😍> But for some reason the Codepen where I tested this wasn’t working. Turns out, I’m not very good at JavaScript and simply failed to wrap everything in a try/catch. Wh...
Read article
favicon Dave Rupert

Sneak Peek: Mundango

It’s a secret to everyone! This post is for RSS subscribers only. Read more about RSS Club. Play Mundango I’ve got something for you. Lately I’ve been getting a lot of joy from life’s small moments; like texting an old friend, seeing a cool bug, or a watching the cardinals zip through my backyard. To nudge my brain towards absorbing more of these mundane pleasures, I built a little game. Mund...
Read article
favicon CSS in Real Life

Feedback

Hearing you’re doing a good job matters. Like anyone, there have been plenty of times when I’ve felt disinvested from a job, when I’ve lacked motivation or felt disconnected. There are lots of reasons why those feelings can arise in anyone, but one that triggers them often is a lack of feedback. If someone (your manager, for example) seems uninterested in your work or doesn’t appreciate the eff...
Read article
favicon Jim Nielsen

Organic Intelligence

Jeremy wrote about how the greatest asset of a company like Google is the trust people put in them: If I use a [knowledge tool] I need to be able to trust [it] is good...I don’t expect perfection, but I also don’t expect to have to constantly be thinking “was this generated by a large language model, and if so, how can I know it’s not hallucinating?” That question — “Was this generated, in so...
Read article
favicon Roma Komarov

Custom Properties and CSS-Wide Keywords

I did some tests with custom properties in CSS, and how they work (or don’t) with the CSS-Wide Keywords (`initial`, `inherit`, `unset`, `revert` and `revert-layer`). As the result, I did create a PR adding a few Web Platform Tests, and opened two bugs in Safari and Firefox.
Read article
favicon Matthias Zöchling

Animating Emojis

Back to the roots. This year’s animation is an almost exact copy of the 2019 animation that started it all. To spice things up, I’ve thrown in a third emoji, but that lives inside what appears to be a speech bubble, which is why it has little to do with the actual animation. I had other emojis in mind for this year, but when I realized that the Camera emoji comes in two flavors, I did postpone ...
Read article
favicon Lea Verou

Inline conditionals in CSS?

Last week, the CSS WG resolved to add an inline if() to CSS. But what does that mean, and why is it exciting? Last week, we had a CSS WG face-to-face meeting in A Coruña, Spain. There is one resolution from that meeting that I’m particularly excited about: the consensus to add an inline if() to CSS. While I was not the first to propose an inline conditional syntax, I did try and scope down th...
Read article
favicon Paweł Grzybek

Lazygit, the convenience of GUI with the power of git CLI

Built-in git client is a popular feature of modern IDEs. It is handy for committing code edits, switching branches, and fetching remote changes without distracting context switching. I have been doing that in Visual Studio Code for years until I decided to try Helix and accidentally became a much more efficient coder using it. The version control client isn’t built into my new editor, so ...
Read article
favicon CSS in Real Life

Modern CSS Layout is Awesome: Talking and Thinking About CSS Layout

I recently gave a CSS layout talk at Pixel Pioneers conference in my (sort of) home city of Bristol. I’ve spoken about CSS layout quite a bit over the years, but I feel like there’s always a lot to talk about, as things are changing all the time! Although the talk shares a title with others I’ve given in the past year or two, I’ve updated it and added a couple of new sections covering anchor po...
Read article
favicon Neatnik

Gotta block ’em all

Gotta block ’em all Earlier today I announced that omg.lol will block all AI-related bots, and I put those changes into production on the load balancer itself. Thousands of requests have already been blocked after a relatively short period. Mission accomplished? Not quite. As Robb recently discovered, we can’t rely solely on user agents to identify problematic HTTP requests. The thing about a u...
Read article
favicon Dan Luu

A discussion of discussions on AI bias

There've been regular viral stories about ML/AI bias with LLMs and generative AI for the past couple years. One thing I find interesting about discussions of bias is how different the reaction is in the LLM and generative AI case when compared to "classical" bugs in cases where there's a clear bug. In particular, if you look at forums or other discussions with lay people, people frequ...
Read article
favicon Jes Olson

Stop Using Fandom

Read article
favicon Matthias Zöchling

Web Share API meets A11Y

Once every blue moon a JavaScript-related article ends up on this site. Today is such a moon. Let me set the scene for you. As part of my recent Twitter shutdown, I upgraded my site by replacing tweet intents with the Web Share API. Jeremy Keith wrote about the Web Share API when he added it to thesession.org. I’ve been able to reuse his code verbatim: navigator.share({ title: document.querySe...
Read article
favicon Nikita Prokopov

Talk: Clj-reload: A smarter way to reload code @

In Clojure, we all love the REPL. We love playing with our code and seeing results applied live without ever restarting the app. But in any project, there comes a time when your state becomes more complex than a simple set of functions. Evaluating the buffer does not cut it anymore. What do you do? In this talk, we’ll see how clj-reload can help, why it was...
Read article
favicon Matthias Zöchling

Web development is “easy”

Sara Soueidan wrote on June 13, 2024 at 06:04 Two videos, same topic. One of them says We can now do this in CSS. It’s really easy! and the other tackles the subject by saying We can now do this in CSS. It’s not as easy as you think! The solution *is* easy (that’s the whole point of it becoming a part of CSS). But why some instructors want to make you feel like they’re teaching you atomic scie...
Read article