Profile avatar
craigmorrison.dev
👨🏻‍💻 Software Engineer 🏴󠁧󠁢󠁳󠁣󠁴󠁿 Glasgow, UK
15 posts 215 followers 489 following
Prolific Poster
Conversation Starter

You won’t find these on the shelf. Newspapers print an AI-generated reading list with fake books. www.niemanlab.org/2025/05/you-...

Visual Studio Code Now Supports Baseline: https://web.dev/blog/baseline-vscode

I came across SO many misconceptions around testing over the years it's eye-opening. No wonder so many devs find themselves lost and then missing the point of testing altogether. You DON'T need 100% code coverage. You DON'T have to do TDD. You DON'T have fill in the pyramid.

Imagine waking up to this every day, and how that could shape your view of the world. He’s voluntarily trapped himself in a filler bubble, the fact that he owns the bubble only seems to be making it worse. www.nytimes.com/interactive/...

It was about time, wasn't it? 😅 👇 But now, with Firefox 138 all major browser engines support import attributes to import JSON from within your ECMAScript modules. 👇 ✅ Chromium: 123+ ✅ Safari: 17.2+ ✅ Firefox: 138+ (released 2w ago) PS. This syntax works in modern Node.js, too!

FOLKS WE DID IT ✅ I'm typing this on @aviva.gay's deer.social ✅ which posted to @alnkq.bsky.social's AppViewLite ✅ which is listening to the @blacksky.app atproto.africa relay

Storybook 9 is now in beta! It’s ready for you to try today. Let’s see what’s inside…

Great comparison between two different approaches to CSS. My thoughts: 1. Performance gaps are often smaller than we think; they either magnify at scale or cancel out like this. 2. The factors affecting results aren't always obvious. 3. Performance matters but it's not the only consideration.

Do the images in your GitHub README look weird in dark mode or light mode? 😬 Here's how to make your Markdown images display perfectly in any theme. 🌓

I've just seen the X iOS app for the first time in about 2 years. I'm shocked, though I shouldn't be, by how ugly and janky it's become. They've squandered everything Twitter built despite having a userbase large enough to be sticky.

Today we're sharing that View Transitions and Activity are ready to try in the experimental channel, along with docs and updates on other areas we're actively working on: react.dev/blog/2025/04...

👉 👈 Meta announced that they're changing their models to reduce "left-leaning [political] bias"--that means leaning them to the political "right". Lots to unpack about what that might mean. So I ran a quick "shot in the dark" study...and found a *political right* bias in Meta models. Some notes.🧵

As always, it’s important to look at real data from impartial sources and understand how it applies to your cases. Even trusted public figures are falling into the trap of parroting marketing lines. AI assistants are powerful dev tools but they’re also inconsistent and dangerous to leave unchecked.

A year later, we know that some of the demos on the Devin launch were cherry-picked. Like the one that faked completing an Upwork task to get paid - but never was. Be careful who you trust - and ask if they have any undisclosed investment in a startup they praise.

Bone chilling. A court ordered Kilmar Abrego Garcia to stay in the United States. The Supreme Court ruled 9-0 that he was illegally removed. Trump is pretending he won the ruling 9-0. 1/ You may not think this case means anything to you. But let me tell you why it does.

New cartoon: Type of GitHub users comicss.art/comics/180/ #github #cartoon #css

How academics imagine their lives would look like if they decide to work in tech

On Oxlint JS plugins: we've created a survey to gather requirements and would love to hear your thoughts. The linked discussion includes background information and potential approaches we could take. github.com/oxc-project/...

Biome partners with Vercel to improve type inference We are proud to announce that Biome is kicking off our much-discussed type inference efforts in a partnership with Vercel! Read all about it here: biomejs.dev/blog/vercel-... #javascript #typescript #opensource #tooling

🦀 Hello World! The Rust project now has an official presence on Bluesky! ✨ We'll be posting the same on our Mastodon and Bluesky accounts, so you won't miss anything on either platform.

Red Wave

We're revamping the Accessibility addon in Storybook 9.0 🔍 Rule-based layout for better readability 🎯 Highlight issues in the canvas 🔗 Permalinks for sharing 🧪 Integrates with Storybook Test 🚦 Integrates with Chromatic for regression checks storybook.js.org/blog/previe...

The lengths I go to safely give someone a temporary password to a non production database. Meanwhile the US government is planning world war 3 in a Neopets Cosplay Discord server.

There it is! Finally, a real solution for how to style all of the HTML form controls using your own custom CSS to change anything — building on an interoperable UA set of defaults. First, styling the in-page part of controls + the popover for <select>. (Later we’ll do popovers for more things.)

I don't know why anyone would pay for Spotify when they supported Andrew Tate. There are other music options that don't support human traffickers

Node excitement 😉 Node 20 now supports require(ESM) 🎉 We are approximately one month away from all LTS releases shipping this feature.

A couple decades into my career, it has never once failed me that a person describing others in a community or team as “non-technical” is a reliable indicator that they fundamentally do not understand how technology is created. There’s no such thing as a “non-technical” person.

18F, the federal government’s technology shop, was demolished by Musk’s team shortly after midnight. It was a cost-recoverable org, charging agencies for their expertise, using a consulting model. Its cost to government was negligible, its benefits huge. My team there once saved DoD $500 billion.

ECMAScript excitement 😉 This week TC39 advanced these proposals 🎉 4️⃣ Float16Array 4️⃣ Redeclarable global eval vars 4️⃣ RegExp Escaping 3️⃣ import defer 2️⃣.7️⃣ Immutable ArrayBuffer 2️⃣ Error.prototype.stack 1️⃣ Curtailing the power of Thenables 1️⃣ Error.captureStackTrace 1️⃣ Math.clamp github.com/tc39/agendas...

⚛️ State Of React 2024 - Survey results are out! 2024.stateofreact.com/en-US/ A milestone year for React, with v19.0 marking the beginning of the "3rd epoch" Great scores for React-Query, Zustand, TanStack Start, Astro, shadcn/ui, React-Aria, Jotai, Radix and many others

The US Web Design System deletes info on inclusive design, in response to the Executive order "Ending Radical And Wasteful Government DEI Programs...". github.com/uswds/uswds-... Why not use the Inclusive Design principles instead: inclusivedesignprinciples.info #accessibility #a11y #inclusion

Holy moly. I'm trying to write an academic paper, and nearly every application I'm using is not only offering Generative AI as an option for writing, but *pushing it* -- pervading the design to the point where a simple misclick would make my content AI-generated. Here's why that's a problem. 🧵

you don’t necessarily want the system creators to actually write the docs. but if the docs are written by people with no connection to the system that who are guided solely by user feedback, you’ve also failed. docs should be written by people hopelessly torn between the two perspectives

@ashleemboyer.com’s response to an “AI”-enabled “accessibility” product is very good, and worth your time: ashleemboyer.com/blog/how-to-...

Astro 5.0 is here. Content layer, server islands, simplified prerendering, type-safe env, @vite.dev v6. All stable. Go see what you can do 👇 astro.build/blog/astro-5/

Next.js 15.1 • React 19 (stable) • Improved errors and source maps • `after` (stable) • `forbidden` / `unauthorized` (experimental) • CSS inlining (experimental) nextjs.org/15-1

React v19 is now stable! react.dev/blog/2024/12...