Latest entries
-
Elon Musk tried to hire OpenAI founders to start AI unit inside Tesla
Musk was “prepared to do the for-profit, provided he would get control.”
Ars Technica — Published
-
Is your Porsche Taycan too slow at the Nürburgring? You need this Manthey Kit.
Nordschleife-specialist Manthey has developed an upgrade package for the Porsche EV.
Ars Technica — Published
-
Former NASA chief takes helm of national security space firm
"The spacecraft can also be refueled, and it can refuel others."
Ars Technica — Published
-
I'm Sorry Dear Journal 18; It's Not Me It's You
I’m sorry dear Journal Number 18 but we have to cut our relationship short. It’s not you. It’s me. No wait. It is you. It’s not me. You left me wanting more. You undercut my ideas by having me adhere to your stupid lines. Your shrunken-down format compared to the previous journals seems to also limit…
Wouter Groeneveld — Published
-
SpaceX is starting to move on from the world's most successful rocket
Vandenberg Space Force Base in California is set to become SpaceX's busiest launch site—for now.
Ars Technica — Published
-
Anthropic raises Claude Code usage limits, credits new deal with SpaceX
Deal follows others with Microsoft, Amazon, and more.
Ars Technica — Published
-
TSMC taps wind power as AI chip demand soars, Taiwan feels energy crunch
TSMC backs renewables during record demand for energy-hungry chip manufacturing.
Ars Technica — Published
-
Court strikes down FCC anti-discrimination rule opposed by Internet providers
Chairman Brendan Carr celebrates FCC court loss in case over Biden-era rule.
Ars Technica — Published
-
Spooked by Mythos, Trump suddenly realized AI safety testing might be good
Trump forced to admit Biden was right on AI safety testing.
Ars Technica — Published
-
Rails Security, AI, and IBB
For quite a few years the Rails project has been working with the Internet Bug Bounty (IBB). The IBB is an organization that awarded cash to security researchers that reported issues to OSS projects participating in the IBB. For quite a while I wasn’t certain about my feelings toward the program because…
Aaron Patterson — Published
-
Report: SpaceX IPO gives Musk unchecked power and forbids investor lawsuits
Anyone who buys into SpaceX IPO must waive right to sue the firm, report says.
Ars Technica — Published
-
Google DeepMind partners with EVE Online for AI model testing
Move comes as CCP Games spends $120M to go independent, rebrands as Fenris Creations.
Ars Technica — Published
-
The animated version of the iconic "Hello, world" image reveals striking new details
What's going on with those satellites, anyway?
Ars Technica — Published
-
FDA vaccine studies censored by Trump admin after finding benefits of shots
FDA has suppressed studies on COVID-19 vaccines and Shingrix, a shingles vaccine.
Ars Technica — Published
-
Anthropic's Claude Managed Agents can now "dream," sort of
Also, 5-hour usage limits will double for Pro and Max users of Claude Code.
Ars Technica — Published
-
Live blog: Code w/ Claude 2026
I'm at Anthropic's Code w/ Claude event today. Here's my live blog of the morning keynote sessions. Tags: ai, generative-ai, llms, anthropic, claude, claude-code, live-blog
Simon Willison — Published
-
Google's Gemma 4 AI models get 3x speed boost by predicting future tokens
Up to 3x the speed with no loss of quality—is it too good to be true?
Ars Technica — Published
-
Here's what has to happen if NASA wants to land on the Moon every month
NASA is serious about taking more shots on goal, but some of them need to start landing.
Ars Technica — Published
-
Infants are bleeding out after parents decline vitamin K shots given at birth
Hospitals report more parents are declining vitamin K shots for their newborns.
Ars Technica — Published
-
Vibe coding and agentic engineering are getting closer than I'd like
I recently talked with Joseph Ruscio about AI coding tools for Heavybit's High Leverage podcast: Ep. #9, The AI Coding Paradigm Shift with Simon Willison. Here are some of my highlights, including my disturbing realization that vibe coding and agentic engineering have started to converge in my own work…
Simon Willison — Published
-
Ars Asks: Share your shell and show us your tricked-out terminals!
A celebration of the tweaks and customizations that make life easier at the CLI.
Ars Technica — Published
-
More than just an SUV? Rivian is working on more R2 variants.
Without giving much away, CEO RJ Scaringe teased the idea of an R2 pickup and an R2X.
Ars Technica — Published
-
Concurrent, atomic MSI hash tables
Readers will be familiar with Mask-Step-Index (MSI) hash tables, a technique for building fast, open-addressed hash tables in a dozen lines of code. If multiple threads or processes access an MSI table with at least one still inserting elements, care must be taken to avoid data races. This article will…
Chris Wellons — Published
-
Weekly Update 502
It's a fascinating display of leverage: the ShinyHunters folks, with very limited resources and experience (their demographic will be teenagers to their early 20s), consistently gaining access to the data of massive brands. Not through technical ingenuity alone (although I'm sure there's a portion
Troy Hunt — Published
-
Selfie: it snowed, then I got some sunshine
Topless picture of me enjoying the sunshine after an unprecedented snowfall in early May
Protesilaos Stavrou — Published
-
On the coming economic crisis
A major economic shock is coming our way and we are woefully unprepared to deal with it.
Protesilaos Stavrou — Published
-
datasette-referrer-policy 0.1
Release: datasette-referrer-policy 0.1 The OpenStreetMap tiles on the Datasette global-power-plants demo weren't displaying correctly. This turned out to be caused by two bugs. The first is that the CAPTCHA I added to that site a few weeks ago was triggering for the .json fetch requests used by the map…
Simon Willison — Published
-
OpenAI president forced to read his personal diary entries to jury
Elon Musk argued the journals show the moment when OpenAI abandoned its mission.
Ars Technica — Published
-
Our AI started a cafe in Stockholm
Our AI started a cafe in Stockholm Andon Labs previously started an AI-run retail store in San Francisco. Now they're running a similar experiment in Stockholm, Sweden, only this time it's a cafe. These experiments are interesting, and often throw out amusing anecdotes: During the first week of inventory…
Simon Willison — Published
-
Silicon Valley bets $200M on AI data centers floating in the ocean
Panthalassa aims to test floating AI computing nodes in the Pacific in 2026.
Ars Technica — Published
-
datasette-llm 0.1a7
Release: datasette-llm 0.1a7 Mechanism for configuring default options for specific models. Part of Datasette's evolving support mechanism for plugins that use LLMs. It's now possible to configure a model with default options, e.g. to say all enrichment operations should use a specific model with temperature…
Simon Willison — Published
-
llm-echo 0.5a0
Release: llm-echo 0.5a0 New -o thinking 1 option to help test against LLM 0.32a0 and higher. This plugin provides a fake model called "echo" for LLM which doesn't run an LLM at all - it's useful for writing automated tests. You can now do this: uvx --with llm==0.32a1 --with llm-echo==0.5a0 llm -m echo…
Simon Willison — Published
-
Quoting John Gruber
So it’s well known that Y Combinator owns some stake in OpenAI. But how big is that stake? This seems like devilishly difficult information to obtain. I asked around and a little birdie who knows several OpenAI investors came back with an answer: Y Combinator owns about 0.6 percent of OpenAI. At OpenAI’s…
Simon Willison — Published
-
What's new with Repowarden
I launched Repowarden about three months ago. It started as "a dev in a box that does the boring jobs." It's grown teeth since then. Here's what's actually shipped and why some of it matters more than I thought it would. The thing that changed everything: positioning Originally I pitched it as "automated…
Josh Ghent — Published
-
Granite 4.1 3B SVG Pelican Gallery
Granite 4.1 3B SVG Pelican Gallery IBM released their Granite 4.1 family of LLMs a few days ago. They're Apache 2.0 licensed and come in 3B, 8B and 30B sizes. Granite 4.1 LLMs: How They’re Built by Granite team member Yousaf Shah describes the training process in detail. Unsloth released the unsloth…
Simon Willison — Published
-
Quoting Andy Masley
[...] Between 2000 and 2024, farmers sold in total a Colorado-sized chunk of land all on their own, 77 times all land on data center property in 2028, and grew more food than ever on what was left. None of this caused any problems for US food access. And then, in the middle of all this, a farmer in Loudoun…
Simon Willison — Published
-
April 2026 newsletter
I just sent out the April edition of my sponsors-only monthly newsletter. If you are a sponsor (or if you start a sponsorship now) you can access it here. In this month's newsletter: Opus 4.7 and GPT-5.5, both with price increases Claude Mythos and LLM security research ChatGPT Images 2.0 More model…
Simon Willison — Published
-
TRE Python binding — ReDoS robustness demo
Research: TRE Python binding — ReDoS robustness demo If it's good enough for antirez to add to Redis I figured Ville Laurikari's TRE regular expression engine was worth exploring in a little more detail. I had Claude Code build an experimental Python binding (it used ctypes) and try some malicious regular…
Simon Willison — Published
-
Redis Array Playground
Tool: Redis Array Playground Salvatore Sanfilippo submitted a PR adding a new data type - arrays - to Redis. The new commands are ARCOUNT, ARDEL, ARDELRANGE, ARGET, ARGETRANGE, ARGREP, ARINFO, ARINSERT, ARLASTITEMS, ARLEN, ARMGET, ARMSET, ARNEXT, AROP, ARRING, ARSCAN, ARSEEK, ARSET. The implementation…
Simon Willison — Published
-
JStack by Command String
This has been bugging me for years: you often run a JVM by a shell script wrapper, then want to jstack it to figure out what it’s doing, but can’t figure out what PID to ask for. Running jps gives remarkably unhelpful output, especially for tools like Leiningen. I wrote a hacky little Ruby script to…
Kyle Kingsbury — Published
-
Additive Blending on the Nintendo 64
Did you wonder ever why explosions and other effects looked so much cooler on the original PlayStation than they did on the Nintendo 64? “Silent Bomber“ for the PSX “Star Fox 64“ for the N64 The reason is additive blending! Or rather, in the N64 case, the lack thereof. While the N64 actually did support…
Dominic Szablewski — Published
-
May You Live Forth and Prosper
Three years ago today, I was laid off from Shopify. Ever since, Star Wars Day has been an annual reminder of that difficult experience. Legally speaking, I have no opinions about my former employer. But… getting laid off was a truly awful experience, and...
Ash Furrow — Published
-
Links to CSS colour palettes
A while back I decided to stop using Tailwind for new projects and to just write vanilla CSS instead. But one thing I missed about Tailwind was the colour palette (here as CSS). If I wanted a light blue I could just use blue-100 and if I didn’t like it maybe try blue-200 or blue-50. I’m not very good…
Julia Evans — Published
-
Emacs live with Sacha Chua and Philip Kaludercic on 2026-05-14 17:30 Europe/Athens
We will talk about Emacs 31 and other developments for Emacs 32. We will also discuss the newcomer experience.
Protesilaos Stavrou — Published
-
Re: Emacs and keyboard ergonomics
I comment on keyboard ergonomics and Emacs key bindings.
Protesilaos Stavrou — Published
-
Great North Fun
Another trip north, this time to Durham, Berwick-upon-Tweed, Edinburgh and the Berwickshire coast.
Paul Robert Lloyd — Published
-
Reminder: You Can Stitch Together Lots of Little HTML Pages With Navigations For Interactions
I wrote about building websites with LLMs — (L)ots of (L)ittle ht(M)l page(s) — and I think it’s time for a post-mortem on that approach: I like it. I’ve tweaked a few things from that original post but the underlying idea is still the same, which I would describe as: Avoid in-page interactions that…
Jim Nielsen — Published
-
Quoting Anthropic
We used an automatic classifier which judged sycophancy by looking at whether Claude showed a willingness to push back, maintain positions when challenged, give praise proportional to the merit of ideas, and speak frankly regardless of what a person wants to hear. Most of the time in these situations…
Simon Willison — Published
-
Favourites of March 2026
It’s May! What happened? This weekend was unusually hot! What happened? Everyone knows but no-one admits or cares… Anyway, welcome to another month of 2026. I like May. It’s got a lot of national holidays. It signals the start of lots of great local food: strawberries in abundance, a strong asparagus…
Wouter Groeneveld — Published
-
Minimal Viable Zig Error Contexts
Out of the box, Zig provides minimal and sufficient facilities for error handling --- strongly-typed error codes. Error reporting is left to the user. Idiomatic solution is to pass a Diagnostics out parameter (sink) to materialize human-readable strings as needed.
Alex Kladov — Published
-
A Cyclist on the English Landscape
Even though this article is from 2021, Roff Smith’s photographs of Sussex are so incredibly beautiful it still merits sharing.
Paul Robert Lloyd — Published
-
Sightings
/elsewhere/sightings/ I have a new camera (a Canon R6 Mark II) so I'm taking a lot more photos of birds. I share my best wildlife photos on iNaturalist, and based on yesterday's successful prototype I decided to add those to my blog. I built this feature on my phone using Claude Code for web, as an extension…
Simon Willison — Published
-
Testing Vue components in the browser
Hello! One of my long term projects on here is figuring out how to write frontend Javascript without using Node or any other server JS runtime. One issue I run into a lot in my frontend JS projects is that I don’t know how to write tests for them. I’ve tried to use Playwright in the past, but it felt…
Julia Evans — Published
-
Emacs: save any buffer as PDF (my new buffer-to-pdf package)
Video demonstration of my new Emacs package called buffer-to-pdf.
Protesilaos Stavrou — Published
-
iNaturalist Sightings
Tool: iNaturalist Sightings I wanted to see my iNaturalist observations - across two separate accounts - grouped by when they occurred. I'm camping this weekend so I built this entirely on my phone using Claude Code for web. I started by building an inaturalist-clumper Python CLI for fetching and "clumping…
Simon Willison — Published
-
devtools: how to query through the shadow DOM [blog]
This is a literal TIL but was so handy I had to put it my blog so that I wouldn't forget it later. Thanks to Big Brain Keith Cirkel for sharing this. As (hopefully) you know, there's the $ and $$ functions in devtools. For querySelector and querySelectorAll respectively. Well there's also $$$ to query…
Remy Sharp — Published
-
I can't cancel GitHub Copilot
Back when Copilot first came out, I immediately disliked it. But I decided to give it a fair shake and tried to evaulate it in good faith. I wasn’t interested in paying for it, but they had a form for FOSS community members to apply for a free subscription, so I filled it out and gave it a shot. Once…
Drew DeVault — Published
-
Codex CLI 0.128.0 adds /goal
Codex CLI 0.128.0 adds /goal The latest version of OpenAI's Codex CLI coding agent adds their own version of the Ralph loop: you can now set a /goal and Codex will keep on looping until it evaluates that the goal has been completed... or the configured token budget has been exhausted. It looks like the…
Simon Willison — Published
-
Our evaluation of OpenAI's GPT-5.5 cyber capabilities
Our evaluation of OpenAI's GPT-5.5 cyber capabilities The UK's AI Security Institute previously evaluated Claude Mythos: now they've evaluated GPT-5.5 for finding security vulnerability and found it to be comparable to Mythos, but unlike Mythos it's generally available right now. Tags: ai, openai, generative…
Simon Willison — Published
-
Quoting Andrew Kelley
It's a common misconception that we can't tell who is using LLM and who is not. I'm sure we didn't catch 100% of LLM-assisted PRs over the past few months, but the kind of mistakes humans make are fundamentally different than LLM hallucinations, making them easy to spot. Furthermore, people who come…
Simon Willison — Published
-
We need RSS for sharing abundant vibe-coded apps
We need RSS for sharing abundant vibe-coded apps Matt Webb: I would love an RSS web feed for all those various tools and apps pages, each item with an “Install” button. (But install to where?) The lesson here is that when vibe-coding accelerates app development, apps become more personal, more situated…
Simon Willison — Published
-
A trip to Strasbourg and the European Parliament
On Tuesday, the European Parliament presented the statutory review of the Digital Markets Act. So, naturally, I went to Strasbourg to tell politicians that as DMA has only really been in force for two years, it’s probably too early to make any amendments. And while it’s been quite successful so far,…
Bruce Lawson — Published
-
Anti-DDoS Firm Heaped Attacks on Brazilian ISPs
A Brazilian tech firm that specializes in protecting networks from distributed denial-of-service (DDoS) attacks has been enabling a botnet responsible for an extended campaign of massive DDoS attacks against other network operators in Brazil, KrebsOnSecurity has learned. The firm's chief executive says…
Brian Krebs — Published
-
Thoughts on Marginal Token Spend
The rise of coding agents has made it easy for a single engineer to spend thousands of dollars a day in LLM tokens. This is a new class of expense, and it will change the future cost structure of software engineering. We are between stable equilibria today in SWE: the old one, of needing humans to drive…
Ben Congdon — Published
-
A Short Review Of Physical Nintendo Switch Publishers
My Nintendo Switch game collection is starting to get sizeable. That probably means I should stop buying but the limited nature of these physical print runs works exactly as these publishers intend: I’m developing a Fear Of Missing Out (FOMO). Coupled with my friend Joel who seems to always push people…
Wouter Groeneveld — Published
-
The Zig project's rationale for their firm anti-AI contribution policy
Zig has one of the most stringent anti-LLM policies of any major open source project: No LLMs for issues. No LLMs for pull requests. No LLMs for comments on the bug tracker, including translation. English is encouraged, but not required. You are welcome to post in your native language and rely on others…
Simon Willison — Published
-
Selfie: from scholar to pirate
I cut my hair short but kept the beard with a light trim.
Protesilaos Stavrou — Published
-
Emacs: decent defaults I shared with Sacha Chua
Some basic settings for Emacs that I consider useful for most users.
Protesilaos Stavrou — Published
-
llm 0.32a1
Release: llm 0.32a1 Fixed a bug in 0.32a0 where tool-calling conversations were not correctly reinflated from SQLite. #1426 Tags: llm
Simon Willison — Published
-
LLM 0.32a0 is a major backwards-compatible refactor
I just released LLM 0.32a0, an alpha release of my LLM Python library and CLI tool for accessing LLMs, with some consequential changes that I've been working towards for quite a while. Previous versions of LLM modeled the world in terms of prompts and responses. Send the model a text prompt, get back…
Simon Willison — Published
-
llm 0.32a0
Release: llm 0.32a0 See the annotated release notes. Tags: llm
Simon Willison — Published
-
Span or Attribute? in OpenTelemetry custom instrumentation
Instead of emitting a log, add attributes to the current span. OpenTelemetry makes this easy, and Honeycomb makes it free. This gets you more data correlation.
Jessica Kerr — Published
-
Tokenmaxxing is Goodharting
Coding agents and reasoning models let individuals consume many more LLM tokens than they could a year ago. It’s now easy for a single engineer to spend thousands of dollars in daily token usage. This is being actively encouraged through the recent memetic spread of “Tokenmaxxing” – the idea that if…
Ben Congdon — Published
-
Registering my dissatisfaction with GitHub
Mini-post.
William Woodruff — Published
-
Poem: The echo of my steel
Just read the poem. No further comment.
Protesilaos Stavrou — Published
-
Doing what I must
An excerpt from my journal in which I comment on how I handle my everyday affairs in my land while respecting the greater magnitudes
Protesilaos Stavrou — Published
-
Quoting OpenAI Codex base_instructions
Never talk about goblins, gremlins, raccoons, trolls, ogres, pigeons, or other animals or creatures unless it is absolutely and unambiguously relevant to the user's query. — OpenAI Codex base_instructions, for GPT-5.5 Tags: openai, ai, llms, system-prompts, prompt-engineering, codex-cli, generative-ai…
Simon Willison — Published
-
Quoting Matthew Yglesias
Five months in, I think I've decided that I don't want to vibecode — I want professionally managed software companies to use AI coding assistance to make more/better/cheaper software products that they sell to me for money. — Matthew Yglesias Tags: agentic-engineering, vibe-coding, ai-assisted-programming…
Simon Willison — Published
-
Scroll-Driven Animations
The new Animation Timeline API allows us to create dynamic scroll animations without any JavaScript! It’s honestly a very lovely API, and in this blog post, we’ll explore some of the super cool things we can do with it.
Josh W. Comeau — Published
-
What's new in pip 26.1 - lockfiles and dependency cooldowns!
What's new in pip 26.1 - lockfiles and dependency cooldowns! Richard Si describes an excellent set of upgrades to Python's default pip tool for installing dependencies. This version drops support for Python 3.9 - fair enough, since it's been EOL since October. macOS still ships with python3 as a default…
Simon Willison — Published
-
Weekly Update 501
This is so "peak 2026" - writing an equality policy to ensure people treat our AI bot with the same respect as they do their human counterparts. It's intentionally a bit tongue-in-cheek, but it's there for a purpose: we simply don't have
Troy Hunt — Published
-
Introducing talkie: a 13B vintage language model from 1930
Introducing talkie: a 13B vintage language model from 1930 New project from Nick Levine, David Duvenaud, and Alec Radford (of GPT, GPT-2, Whisper fame). talkie-1930-13b-base (53.1 GB) is a "13B language model trained on 260B tokens of historical pre-1931 English text". talkie-1930-13b-it (26.6 GB) is…
Simon Willison — Published
-
Communication is hard, but sometimes I can fix it.
When coding with an agent gets tricky, use the agent to make it less tricky.
Jessica Kerr — Published
-
microsoft/VibeVoice
microsoft/VibeVoice VibeVoice is Microsoft's Whisper-style audio model for speech-to-text, MIT licensed and with speaker diarization built into the model. Microsoft released it on January 21st, 2026 but I hadn't tried it until today. Here's a one-liner to run it on a Mac with uv, mlx-audio (by Prince…
Simon Willison — Published
-
Tracking the history of the now-deceased OpenAI Microsoft AGI clause
For many years, Microsoft and OpenAI's relationship has included a weird clause saying that, should AGI be achieved, Microsoft's commercial IP rights to OpenAI's technology would be null and void. That clause appeared to end today. I decided to try and track its expression over time on openai.com. OpenAI…
Simon Willison — Published
-
Speech translation in Google Meet is now rolling out to mobile devices
Speech translation in Google Meet is now rolling out to mobile devices I just encountered this feature via a "try this out now" prompt in a Google Meet meeting. It kind-of worked! This is Google's implementation of the ultimate sci-fi translation app, where two people can talk to each other in two separate…
Simon Willison — Published
-
Canvas-ing the Web
A practical use case for rendering HTML+CSS to a canvas, an emerging API being previewed in Chrome.
Eric Meyer — Published
-
Nostalgia Always Includes a Temporal Context
Last year, Forrest wrote a long and thoughtful commentary on the mysterium called nostalgia. In a desperate attempt to recreate the experience of playing The Elder Scrolls: Oblivion for the first time, he spent $236.74 rebuying original Xbox 360 hardware expecting to be propelled back into his childhood…
Wouter Groeneveld — Published
-
Apps I use, that you might not know [blog]
This is a cheap post to share some of the apps (macos, sorry Windows users) that I use on a fairly regular basis and think some of you might not have heard of before (whilst still being useful).
Remy Sharp — Published
-
Collective Speed Is Not the Summation of Individual Speed
I’ve been thinking about speed which is why Chris Coyier caught my attention in his latest piece discussing how AI might be 10✕ing the speed with which we code, but it’s not making our software 10✕ better: Faster individuals don’t make a fast company My mind immediately went to the 4✕100 relay at the…
Jim Nielsen — Published
-
I have officially retired from Emacs
This article was discussed on reddit and on Hacker News. This past Tuesday I typed C-x C-c in Emacs for the last time after 20 years of daily use. Though nearly half that time was gradually retiring it, switching to modal editing, then to Vim. Emacs is a platform, and I’d grown accustomed to its applications…
Chris Wellons — Published
-
Lost Lambs [book]
Enjoyable, well drawn characters, a pleasure to read. I really enjoyed reading this book. The story floats like a butterfly from one character to the next and it works without losing the reader. The story, I think, follows the Flynn family and though they're painted as somewhat dysfunctional, they're…
Remy Sharp — Published
-
My brave new code-signing world
The new w64devkit release two weeks ago is the first to be code-signed with my identity, verified by Microsoft’s certificate chain. Currently only the release packaging is signed — the self-extracting archive and its payload — but I will soon code-sign individual EXEs and DLLs within the distribution…
Chris Wellons — Published
-
Philosophy: violence, safe spaces, and inevitability
In this video I explain the connection between violence and safe spaces.
Protesilaos Stavrou — Published
-
Untitled
Caught up with a friend I’ve known for over 30 years, for the first time in 5 years. The 4 hours we spent together flew by in a matter of minutes.
Paul Robert Lloyd — Published
-
New to the web platform in April
Discover some of the interesting features that have landed in stable and beta web browsers during April 2026.
web.dev — Published
-
Building Healthy Community with Ben Callahan
On the latest episode of Wake Up Excited!, I got to talk with my friend, fellow traveler, and recent collaborator, Ben Callahan. Ben and I met at BDConf many many moons ago, and since then we’ve shared many adventures together, […]
Brad Frost — Published
-
Good designers, bad websites: a proposal
I want to discuss accessibility because it is the most important thing for making websites. Other A List Apart articles give you innovation and insight. This article will give you homework. These are just my personal views, but they’re pretty good. I want to start off with a couple of statements, and…
A List Apart — Published
-
What would a 2026 CSS Anthology look like?
In 2004 I published the first edition of The CSS Anthology with Sitepoint. The idea for the book was to take the entire CSS 2.1 specification, and come up with 101 examples to show people how to use all of the CSS that existed. I have a copy on my shelf, but recently discovered you […]
Rachel Andrew — Published
-
Selfie: looking away from the camera
Close up picture of me looking away from the camera.
Protesilaos Stavrou — Published