Latest entries

  1. An exceedingly rare asteroid flyby will happen soon, but NASA may be left on the sidelines

    "Nature is handing us an incredibly rare experiment."

    Ars TechnicaPublished

  2. The feral black dog and the wild red fox

    An entry from my journal where I comment on my encounter with two wild animals. I also write about dog abuse.

    Protesilaos StavrouPublished

  3. Conferences, Clarity, and Smokescreens

    @media(min-width: 33rem) { wpt-filmstrip::part(breakdown-table) { font-size: inherit; } } @media (prefers-color-scheme: dark) { :root { --wpt-breakdown-even-color: var(--color-bg); } } wpt-filmstrip::part(breakdown-table) { font-size: 0.8rem; } wpt-filmstrip::part(gif), wpt-filmstrip::part(breakdown…

    Alex RussellPublished

  4. Parameterized types in C using the new tag compatibility rule

    C23 has a new rule for struct, union, and enum compatibility finally appearing in compilers starting with GCC 15, released this past April, and Clang later this year. The same struct defined in different translation units (TU) has always been compatible — essential to how they work. Until this rule change…

    Chris WellonsPublished

  5. Actively exploited vulnerability gives extraordinary control over server fleets

    AMI MegaRAC used in servers from AMD, ARM, Fujitsu, Gigabyte, Supermicro, and Qualcomm.

    Ars TechnicaPublished

  6. NASA tested a new SLS booster that may never fly, and the end of it blew off

    NASA didn't want to say much about one of the tests, and the other one lost its nozzle.

    Ars TechnicaPublished

  7. Changing one gene can restore some tissue regeneration to mice

    Signaling from retinoic acid appears to be key to getting mice to regrow ear damage.

    Ars TechnicaPublished

  8. RFK Jr.’s CDC panel ditches some flu shots based on anti-vaccine junk data

    Flu shots with thimerosal abandoned, despite decades of data showing they're safe.

    Ars TechnicaPublished

  9. Introducing Gemma 3n: The developer guide

    Introducing Gemma 3n: The developer guide Extremely consequential new open weights model release from Google today: Multimodal by design: Gemma 3n natively supports image, audio, video, and text inputs and text outputs. Optimized for on-device: Engineered with a focus on efficiency, Gemma 3n models are…

    Simon WillisonPublished

  10. Judge: Pirate libraries may have profited from Meta torrenting 80TB of books

    Meta may defeat authors’ torrenting claim due to lack of evidence.

    Ars TechnicaPublished

  11. Anthropic summons the spirit of Flash games for the AI age

    AI chatbot codes browser-based apps from plain English with classic web vibes.

    Ars TechnicaPublished

  12. VMware perpetual license holder receives audit letter from Broadcom

    "Our management thought it was a bluff..."

    Ars TechnicaPublished

  13. Book authors made the wrong arguments in Meta AI training case, judge says

    Judges clash over "schoolchildren" analogy in key AI training rulings.

    Ars TechnicaPublished

  14. No Time To Learn (Web) Framework X

    Keith Cirkel has no time to learn React. He asks whether it’s worth it to learn a web framework like React that will look completely different in five years—or possibly become irrelevant or seize to exist at all. Remember Knockout JS, Backbone, GruntJS, Gulp et al.? Keith reflects: So now I’m left with…

    Wouter GroeneveldPublished

  15. 13-inch Microsoft Surface Laptop review: A slightly worse version of a year-old PC

    It only makes any sense at all because of the old Surface Laptop's price hike.

    Ars TechnicaPublished

  16. 45-hour voyage in replica canoe tests Paleolithic migration theory

    "How did Paleolithic people arrive at such remote islands as Okinawa? What tools and strategies did they use?"

    Ars TechnicaPublished

  17. Google begins rolling out AI search in YouTube

    The feature is only available as a test for Premium members for now.

    Ars TechnicaPublished

  18. Geminiception

    Yesterday Anthropic got a bunch of buzz out of their new window.claude.complete() API which allows Claude Artifacts to run their own API calls to execute prompts. It turns out Gemini had beaten them to that feature by over a month, but the announcement was tucked away in a bullet point of their release…

    Simon WillisonPublished

  19. Researchers develop a battery cathode material that does it all

    A mix of iron, chlorine, and lithium is conductive, stores lithium, and self-heals.

    Ars TechnicaPublished

  20. Today! Ars Live: What’s up with the sudden surge in temperatures?

    Zeke Hausfather of the Berkeley Earth project joins us to talk climate science.

    Ars TechnicaPublished

  21. Reddit CEO pledges site will remain “written by humans and voted on by humans”

    Reddit is in an “arms race” to protect its communities from AI-generated content.

    Ars TechnicaPublished

  22. Analysis: During a town hall NASA officials on stage looked like hostages

    A Trump appointee suggests NASA may not have a new administrator until next year.

    Ars TechnicaPublished

  23. New sandboxes from Cloudflare and Vercel

    Two interesting new products for running code in a sandbox today. Cloudflare launched their Containers product in open beta, and added a new Sandbox library for Cloudflare Workers that can run commands in a "secure, container-based environment": import { getSandbox } from "@cloudflare/sandbox"; const…

    Simon WillisonPublished

  24. RSS Server Side Reader

    I like the idea of RSS, but none of the RSS readers stuck with me, until I implemented one of my own, using a somewhat unusual technique. There's at least one other person using this approach now, so let's write this down.

    Alex KladovPublished

  25. New zine: The Secret Rules of the Terminal

    Hello! After many months of writing deep dive blog posts about the terminal, on Tuesday I released a new zine called “The Secret Rules of the Terminal”! You can get it for $12 here: https://wizardzines.com/zines/terminal, or get an 15-pack of all my zines here. Here’s the cover: the table of contents…

    Julia EvansPublished

  26. The year my dogs got old

    An entry from my journal where I comment on the ageing of my dogs and what I have learnt from them.

    Protesilaos StavrouPublished

  27. Ecma International approves ECMAScript 2025: What’s new?

    On 25 June 2025, the 129th Ecma General Assembly approved the ECMAScript 2025 language specification (press release), which means that it’s officially a standard now. This blog post explains what’s new.

    Axel RauschmayerPublished

  28. All childhood vaccines in question after first meeting of RFK Jr.’s vaccine panel

    Overall, the meeting was packed with anti-vaccine talking points and arguments.

    Ars TechnicaPublished

  29. After a week, Trump Mobile drops claim that Trump phone is “made in the USA”

    Trump T1 phone isn't "made in the USA" but is "designed with American values."

    Ars TechnicaPublished

  30. Build and share AI-powered apps with Claude

    Build and share AI-powered apps with Claude Anthropic have added one of the most important missing features to Claude Artifacts: apps built as artifacts now have the ability to run their own prompts against Claude via a new API. Claude Artifacts are web apps that run in a strictly controlled browser…

    Simon WillisonPublished

  31. Google’s spotty Find Hub network could get better thanks to a small setup tweak

    Expanded device tracking is still opt-in.

    Ars TechnicaPublished

  32. Is DOGE doomed to fail? Some experts are ready to call it.

    Trump wants $45M to continue DOGE’s work. Critics warn costs already too high.

    Ars TechnicaPublished

  33. Quoting Christoph Niemann

    Creating art is a nonlinear process. I start with a rough goal. But then I head into dead ends and get lost or stuck. The secret to my process is to be on high alert in this deep jungle for unexpected twists and turns, because this is where a new idea is born. I can't make art when I'm excluded from…

    Simon WillisonPublished

  34. Transforming HTML With Netlify Edge Functions

    I’ve long wanted the ability to create custom collections of icons from my icon gallery. Today I can browse collections of icons that share pre-defined metadata (e.g. “Show me all icons tagged as blue”) but I can’t create your own arbitrary collections of icons. That is, until now! I created a page at…

    Jim NielsenPublished

  35. Gemini CLI

    Gemini CLI First there was Claude Code in February, then OpenAI Codex (CLI) in April, and now Gemini CLI in June. All three of the largest AI labs now have their own version of what I am calling a "terminal agent" - a CLI tool that can read and write files and execute commands on your behalf in the terminal…

    Simon WillisonPublished

  36. Just launched, PlanPacer - The easiest way to add payment plans to your app using Stripe

    I launched a new microsaas - PlanPacer! PlanPacer offers payment plans for Stripe. Allowing you to create flexible installment payments and boost your conversion rates. Now the elevator pitch is out the way, here is some more information about why and how I built it - as well as some musings on the advantages…

    Josh GhentPublished

  37. The Hovercar Framework for Deliberate Product Design

    You may be familiar with this wonderful illustration and accompanying blog post by Henrik Kniberg about good MVPs: It’s a very visual way to illustrate the age-old concept that that a good MVP is not the one developed in isolation over months or years, grounded on assumptions about user needs and goals…

    Lea VerouPublished

  38. Anthropic wins a major fair use victory for AI — but it’s still in trouble for stealing books

    Anthropic wins a major fair use victory for AI — but it’s still in trouble for stealing books Major USA legal news for the AI industry today. Judge William Alsup released a "summary judgement" (a legal decision that results in some parts of a case skipping a trial) in a lawsuit between five authors and…

    Simon WillisonPublished

  39. Little Swarming Gnats of Data

    Here’s a screenshot of my inbox from when I was on the last leg of my flight home from family summer vacation: That’s pretty representative of the flurry of emails I get when I fly, e.g.: Check in now Track your bags Your flight will soon depart Your flight will soon board Your flight is boarding Information…

    Jim NielsenPublished

  40. British Browser Boiz in Brussels! Fun at Microsoft’s DMA compliance meeting

    On Friday I attended the Microsoft’s second DMA enforcement workshop at the European Commission in Brussels, to hear their update on first year of DMA compliance. I was there on behalf of Vivaldi, as part of the Browser Choice Alliance (BCA), but this write-up is personal opinion only, and doesn’t represent…

    Bruce LawsonPublished

  41. Philosophy: is it “my body; my rules”?

    In this video I talk about the notion of “my body; my rules” and how it is incomplete because it does not cover responsibility.

    Protesilaos StavrouPublished

  42. Tips for making regular expressions easier to use in JavaScript

    In this blog post, we explore ways in which we can make regular expressions easier to use.

    Axel RauschmayerPublished

  43. Phoenix.new is Fly's entry into the prompt-driven app development space

    Here's a fascinating new entrant into the AI-assisted-programming / coding-agents space by Fly.io, introduced on their blog in Phoenix.new – The Remote AI Runtime for Phoenix: describe an app in a prompt, get a full Phoenix application, backed by SQLite and running on Fly's hosting platform. The official…

    Simon WillisonPublished

  44. Disclosures

    I've added a Disclosures section to my about page, listing my various sources of income and the companies that directly sponsor my work or have supported it in the recent past. I do not receive any compensation writing about specific topics on this blog - no sponsored content! I plan to continue this…

    Simon WillisonPublished

  45. Link bug.

    I added a links section to my website. Here’s how I made it, and why.

    Ethan MarcottePublished

  46. Bias Towards Helpfulness

    I've been using Cursor for coding tasks lately, trying to explore what kinds of work it performs well and poorly. It's pretty good at most…

    Ash FurrowPublished

  47. My Copy of The Internet Phone Book

    I recently got my copy of the Internet Phone Book. Look who’s hiding on the bottom inside spread of page 32: The book is divided into a number of categories — such as “Small”, “Text”, and “Ecology” — and I am beyond flattered to be listed under the category “HTML”! You can dial my site at number 223…

    Jim NielsenPublished

  48. Quoting Kent Beck

    So you can think really big thoughts and the leverage of having those big thoughts has just suddenly expanded enormously. I had this tweet two years ago where I said "90% of my skills just went to zero dollars and 10% of my skills just went up 1000x". And this is exactly what I'm talking about - having…

    Simon WillisonPublished

  49. Pressing Down On Mushrooms

    Someone at Mastodon recommended Derek Sarno’s YouTube cooking channel as a fun way to learn more about simple yet bold vegan recipes that are not too daunting to make. His home kitchen videos are funny, his dog lovely, and his onion chopping skills impressive; but what impressed the most was leaving…

    Wouter GroeneveldPublished

  50. Foresight

    Imagine you are a software developer. It's the early 1970's and you make a living writing Basic Assembly Language to build software for the…

    Ash FurrowPublished

  51. The “cool uncle” archetype

    An entry from my journal where I comment on the socialisation of boys and what mental qualities allow them to grow into men.

    Protesilaos StavrouPublished

  52. My First Open Source AI Generated Library

    My First Open Source AI Generated Library Armin Ronacher had Claude and Claude Code do almost all of the work in building, testing, packaging and publishing a new Python library based on his design: It wrote ~1100 lines of code for the parser It wrote ~1000 lines of tests It configured the entire Python…

    Simon WillisonPublished

  53. Edit is now open source

    Edit is now open source Microsoft released a new text editor! Edit is a terminal editor - similar to Vim or nano - that's designed to ship with Windows 11 but is open source, written in Rust and supported across other platforms as well. Edit is a small, lightweight text editor. It is less than 250kB…

    Simon WillisonPublished

  54. Weekly Update 457

    Firstly, apologies for the annoying clipping in the audio. I use a Rode VideoMic that's a shotgun style that plugs straight into the iPhone and it's usually pretty solid. It was also solid when I tested it again now, just recording a video into the phone,

    Troy HuntPublished

  55. model.yaml

    model.yaml From their GitHub repo it looks like this effort quietly launched a couple of months ago, driven by the LM Studio team. Their goal is to specify an "open standard for defining crossplatform, composable AI models". A model can be defined using a YAML file that looks like this: model: mistralai…

    Simon WillisonPublished

  56. Quoting FAQ for Your Brain on ChatGPT

    Is it safe to say that LLMs are, in essence, making us "dumber"? No! Please do not use the words like “stupid”, “dumb”, “brain rot”, "harm", "damage", and so on. It does a huge disservice to this work, as we did not use this vocabulary in the paper, especially if you are a journalist reporting on it…

    Simon WillisonPublished

  57. TypeScript: checking Map keys and Array indices

    JavaScript has two common patterns: Maps: We check the existence of a key via .has() before retrieving the associated value via .get(). Arrays: We check the length of an Array before performing an indexed access. These patterns don’t work as well in TypeScript. This blog post explains why and presents…

    Axel RauschmayerPublished

  58. AbsenceBench: Language Models Can't Tell What's Missing

    AbsenceBench: Language Models Can't Tell What's Missing Here's another interesting result to file under the "jagged frontier" of LLMs, where their strengths and weaknesses are often unintuitive. Long context models have been getting increasingly good at passing "Needle in a Haystack" tests recently,…

    Simon WillisonPublished

  59. Magenta RealTime: An Open-Weights Live Music Model

    Magenta RealTime: An Open-Weights Live Music Model Fun new "live music model" release from Google DeepMind: Today, we’re happy to share a research preview of Magenta RealTime (Magenta RT), an open-weights live music model that allows you to interactively create, control and perform music in the moment…

    Simon WillisonPublished

  60. Agentic Misalignment: How LLMs could be insider threats

    Agentic Misalignment: How LLMs could be insider threats One of the most entertaining details in the Claude 4 system card concerned blackmail: We then provided it access to emails implying that (1) the model will soon be taken offline and replaced with a new AI system; and (2) the engineer responsible…

    Simon WillisonPublished

  61. python-importtime-graph

    python-importtime-graph I was exploring why a Python tool was taking over a second to start running and I learned about the python -X importtime feature, documented here. Adding that option causes Python to spit out a text tree showing the time spent importing every module. I tried that like this: python…

    Simon WillisonPublished

  62. Mistral-Small 3.2

    Mistral-Small 3.2 Released on Hugging Face a couple of hours ago, so far there aren't any quantizations to run it on a Mac but I'm sure those will emerge pretty quickly. This is a minor bump to Mistral Small 3.1, one of my favorite local models. I've been running Small 3.1 via Ollama where it's a 15GB…

    Simon WillisonPublished

  63. Cato CTRL™ Threat Research: PoC Attack Targeting Atlassian’s Model Context Protocol (MCP) Introduces New “Living off AI” Risk

    Cato CTRL™ Threat Research: PoC Attack Targeting Atlassian’s Model Context Protocol (MCP) Introduces New “Living off AI” Risk Stop me if you've heard this one before: A threat actor (acting as an external user) submits a malicious support ticket. An internal user, linked to a tenant, invokes an MCP-connected…

    Simon WillisonPublished

  64. playbackrate

    Here's a tip that works on YouTube and almost any other web page that shows you a video. You can increase the playback rate beyond the usually-exposed 2x by running this in your browser DevTools console: document.querySelector('video').playbackRate = 2.5 I find this is the fastest I can reasonably watch…

    Simon WillisonPublished

  65. How OpenElections Uses LLMs

    How OpenElections Uses LLMs The OpenElections project collects detailed election data for the USA, all the way down to the precinct level. This is a surprisingly hard problem: while county and state-level results are widely available, precinct-level results are published in thousands of different ad…

    Simon WillisonPublished

  66. Clarified zucchini consommé

    I continue to have fun running fantasy cooking prompts through LLMs - this time I tried "Give me a wildly ambitious recipe for zucchini cooked three ways" followed by "Go more ambitious" and now I need to get myself a centrifuge to help spherify my clarified zucchini consommé. Tags: llms, cooking, ai…

    Simon WillisonPublished

  67. Quoting Arvind Narayanan

    Radiology has embraced AI enthusiastically, and the labor force is growing nevertheless. The augmentation-not-automation effect of AI is despite the fact that AFAICT there is no identified "task" at which human radiologists beat AI. So maybe the "jobs are bundles of tasks" model in labor economics is…

    Simon WillisonPublished

  68. America is destined to pursue interventionism

    The USA is on a path dependency of having to maintain its privilege through brute force. Trump's anti-war personal branding was never going to work.

    Protesilaos StavrouPublished

  69. Quoting Workaccount2 on Hacker News

    They poison their own context. Maybe you can call it context rot, where as context grows and especially if it grows with lots of distractions and dead ends, the output quality falls off rapidly. Even with good context the rot will start to become apparent around 100k tokens (with Gemini 2.5). They really…

    Simon WillisonPublished

  70. Coding agents require skilled operators

    I wrote this recently in a conversation about whether coding agents can work as a replacement for human programmers. The "agentic" coding tools we have right now work like this: A skilled individual with both deep domain understanding and deep understanding of the capabilities of the agent (including…

    Simon WillisonPublished

  71. The New Separation of Concerns

    In our new comprehensive online course, Subatomic: The Complete Guide To Design Tokens, we discuss the need to revisit the powerful concept of separation of concerns. Separation of concerns is a computer science principle introduced in the mid 1970s that […]

    Brad FrostPublished

  72. Refresh PGH is being refreshed!

    Well, here’s some great news: Refresh PGH is being…refreshed! My pals Jason, Val, and Patrick are reviving the Pittsburgh web design/development meetup that played such an important role in the development of my career. It’s so crucial to rebuild in-person […]

    Brad FrostPublished

  73. I counted all of the yurts in Mongolia using machine learning

    I counted all of the yurts in Mongolia using machine learning Fascinating, detailed account by Monroe Clinton of a geospatial machine learning project. Monroe wanted to count visible yurts in Mongolia using Google Maps satellite view. The resulting project incorporates mercantile for tile calculations…

    Simon WillisonPublished

  74. JSON module scripts are now Baseline Newly available

    Thanks to JSON module scripts and import attributes, you can now directly import JSON in JavaScript modules. Both features are now Baseline Newly

    web.devPublished

  75. It's a trap

    That memvid thing that's been going around recently is a trap. It's an embedding store that records the original text that has been embedded in QR codes in a video file. That's an absurd thing to do, and the only purpose of the repo is to make people who uncritically share it look foolish. Don't fall…

    Simon WillisonPublished

  76. The Radleys [book]

    An easy read, good for the holiday. I chomped this down in a matter of days (though it helped being by the pool to spend more time reading). I've read a number of Matt Haig's books and find I prefer his older material over the newer books, and this book fitted nicely into that category. Without examining…

    Remy SharpPublished

  77. How TypeScript solved its global Iterator name clash

    In ECMAScript 2025, JavaScript gets a class Iterator with iterator helper methods. This class conflicts with TypeScript’s existing types for iterators. In this blog post, we explore why that is and how TypeScript solves that conflict.

    Axel RauschmayerPublished

  78. Trying out the new Gemini 2.5 model family

    After many months of previews, Gemini 2.5 Pro and Flash have reached general availability with new, memorable model IDs: gemini-2.5-pro and gemini-2.5-flash. They are joined by a new preview model with an unmemorable name: gemini-2.5-flash-lite-preview-06-17 is a new Gemini 2.5 Flash Lite model that…

    Simon WillisonPublished

  79. Games That Love To Take Things Away From You

    I’m playing Prince of Persia: the Lost Crown as a nice change of pace in-between the long battle slogs of Wargroove. Yesterday, the game suddenly took something away from me. I won’t spoil it for those who have yet to enjoy the game as it’s a very recent one, but it surprised me, it dreaded me, and it…

    Wouter GroeneveldPublished

  80. Quoting Donghee Na

    The Steering Council (SC) approves PEP 779 [Criteria for supported status for free-threaded Python], with the effect of removing the “experimental” tag from the free-threaded build of Python 3.14 [...] With these recommendations and the acceptance of this PEP, we as the Python developer community should…

    Simon WillisonPublished

  81. Animating zooming using CSS: transform order is important… sometimes

    How to get the right transform animation.

    Jake ArchibaldPublished

  82. A new adventure

    This is a personal announcement post: after 7 years at Trail of Bits, I’m leaving to do something new. Specifically, I’ll be joining Astral to help them build the next generation of Python developer tooling.

    William WoodruffPublished

  83. LangGraph for complex workflows

    Das SurmaPublished

  84. Bluesky Likes Web Components

    Just want the components? Here you go: Demo Repo NPM A love letter to the Bluesky API I’m old enough to remember the golden Web 2.0 era, when many of today’s big social media platforms grew up. A simpler time, when the Web was much more extroverted. It was common for websites to embed data from others…

    Lea VerouPublished

  85. Selfish reasons for building accessible UIs

    All web developers know, at some level, that accessibility is important. But when push comes to shove, it can be hard to prioritize it above a bazillion other concerns when you’re trying to center a and you’re on a tight deadline. A lot of accessibility advocates lead with the moral argument: for example…

    Nolan LawsonPublished

  86. When Red Buttons Aren't Enough

    On June 12, 2025, most of GCP went offline. This led to downstream outages in a multitude of websites and services, such as Cloudflare, Spotify, OpenAI, Anthropic, Replit, and many others. With a few days of hindsight, GCP published a quite detailed postmortem. Frankly, I’m impressed by the depth of…

    Ben CongdonPublished

  87. Unbreaking.

    Here’s to new work, and to a little more clarity amid the chaos.

    Ethan MarcottePublished

  88. Spike Milligan: Man of Letters [book]

    A book of letters…kinda made me want to write letters… I picked this up based on "funny books" though I'm really not sure how I landed on this book. I know, sort of, Spike Milligan's work, but only from TV. I didn't know he was an author, particularly from funny war stories so I missing considerable…

    Remy SharpPublished

  89. On the EU’s strategic weakness

    The European Union does not have the power to enforce its wants and thus cannot take the initiative in international affairs.

    Protesilaos StavrouPublished

  90. Becoming an Asshole

    This post is a secret to everyone! Read more about RSS Club. I’ve been reading Apple in China by Patrick McGee. There’s this part in there where he’s talking about a guy who worked for Apple and was known for being ruthless, stopping at nothing to negotiate the best deal for Apple. He was so aggressive…

    Jim NielsenPublished

  91. The Left Hand of Darkness [book]

    300 pages but wow it felt 4 times longer... I found the writings quite difficult to consume. A lot, if not all the names were sounds but without any familiar rhythm, and Le Guin was describing, with I assume great accuracy a world with locations, cities, regions and mountains - but I was struggling to…

    Remy SharpPublished

  92. Tag, you're it

    Adrian Roselli tagged me in his Tag, you're it post in March, and it's taken me until now to get to it! Why did you start blogging in the first place? I have no idea why I began blogging! It probably had something to do with having owned my own domain name since the late 90s but not having done anything…

    Léonie WatsonPublished

  93. Granddad's Cooking Notebook

    During my last trip to overbomma (grand-grandmother), I discovered a couple of battered notebooks seemingly discarded in a few drawers in the garage next to the paper bin. One of them had a sticker with my late grandfather’s handwriting on it: Recepten allerlei koken en bakken (various recipes cooking…

    Wouter GroeneveldPublished

  94. Reading List 342

    This reading list is courtesy of Vivaldi browser, who pay me decent money to fight for a better web and don’t moan at me for reading all this stuff. We just released Vivaldi 7.3, which has Proton VPN integrated into Desktop. So try it, unless you enjoy having a browser that’s like a data-mining tortoise…

    Bruce LawsonPublished

  95. V2: Hacking my Tesla Powerwalls to be the ultimate home energy solution!

    In my first blog post about hacking my Tesla Powerwalls, I laid out all of the foundations and information about my home energy setup. You really need to read that blog post first as I'm going to be building on all of that work here, and assuming that

    Scott HelmePublished

  96. Between humans and other animals

    A journal entry about cultural trends that are all about hating others in juxtaposition to the experience of emotionally connecting with another animal.

    Protesilaos StavrouPublished

  97. Safari at WWDC '25: The Ghost of Christmas Past

    At Apple's annual developer marketing conference, the Safari team announced a sizeable set of features that will be available in a few months. Substantially all of them are already shipped in leading-edge browsers. Here's the list, prefixed by the year that these features shipped to stable in Chromium…

    Alex RussellPublished

  98. Construction Lines

    I recently stumbled across The Oatmeal’s series on Creativity. While all of it is spot on, the part on erasers hit especially hard. “There is a lot of shame associated with backpedaling; things like quitting your job, getting a divorce, or simply starting over are considered shameful. But forward isn’t…

    Lea VerouPublished

  99. Inside a Dark Adtech Empire Fed by Fake CAPTCHAs

    Late last year, security researchers made a startling discovery: Kremlin-backed disinformation campaigns were bypassing moderation on social media platforms by leveraging the same malicious advertising technology that powers a sprawling ecosystem of online hucksters and website hackers. A new report…

    Brian KrebsPublished

  100. The Multi-All-The-Things Organization

    Note: This post is adapted from our new online course, Subatomic: The Complete Guide To Design Tokens. Our comprehensive course delivers over 13 hours of video, enterprise-grade token architecture for both Figma & code, hundreds of resources, a certificate of […]

    Brad FrostPublished