A Beautiful Site
Revisiting FOUCE
It's been awhile since I wrote about FOUCE and I've since come up with an improved solution that I...
23rd Dec 2024
It's been awhile since I wrote about FOUCE and I've since come up with an improved solution that I think is worth a post.
This approach is similar to hiding the page content and then fading it in, but I've noticed it's far less distracting without the fade. It also adds a two...
swyx's site RSS Feed
5 Q&A's on Writing and Selling My First Book
I answered some questions from someone planning to write their first book
10th Aug 2020
I answered some questions from someone planning to write their first book
A Beautiful Site
A Web Component Story
Gather 'round, it's story time.
A number of years ago, I was hired by a company to rebuild a...
30th Sep 2022
Gather 'round, it's story time.
A number of years ago, I was hired by a company to rebuild a component library for their design system. The one they were replacing was built with AngularJS, but AngularJS was old and rickety and nobody wanted to use it anymore. Plus, many teams...
markround.com
A Splinter In Your Mind
Earlier this year, I finally discovered as an adult that I am “on the spectrum” with what used to be...
15th Nov 2022
Earlier this year, I finally discovered as an adult that I am “on the spectrum” with what used to be called Asperger’s Syndrome. The diagnosis helped make sense of a lot things and has given me a greater insight into my “way of being in the world”. Whilst there are times I...
alexwlchan
How I set up my Obsidian vaults
Obsidian still feels like my “new” app for managing my notes, but according to my daily journal I’ve...
19th Sep 2023
Obsidian still feels like my “new” app for managing my notes, but according to my daily journal I’ve been using it for nearly three years.
Time flies when you’re organising information!
I’ve grown to really like it, and I expect to keep using it for a while to come.
Its approach...
Cognitive...
Uncensored Models
I am publishing this because many people are asking me how I did it, so I will...
15th May 2023
I am publishing this because many people are asking me how I did it, so I will...
A Day In The Life...
CipherSmith: a browser-based crypto toolkit
CipherSmith: a browser-based crypto toolkit
6th May 2026
CipherSmith: a browser-based crypto toolkit
Buttondown's blog
April updates
March was a big month for Buttondown. Lots of new features, and even more coming up soon!
8th Apr 2019
March was a big month for Buttondown. Lots of new features, and even more coming up soon!
Boot.dev Blog
Golang vs Java: 6 Key Comparisons
Golang (or Go) and Java offer an interesting comparison because despite their wide differences,...
4th Aug 2021
Golang (or Go) and Java offer an interesting comparison because despite their wide differences, there are also key similarities in how and where they’re used by programmers.
Jake Zimmerman
Old vs new case statement in Ruby
31st May 2024
charity.wtf
There Is Only One Key Difference Between Observability 1.0 and 2.0
Originally posted on the Honeycomb blog on November 19th, 2024 We’ve been talking about...
19th Nov 2024
Originally posted on the Honeycomb blog on November 19th, 2024 We’ve been talking about observability 2.0 a lot lately; what it means for telemetry and instrumentation, its practices and sociotechnical implications, and the dramatically different shape of its cost model. With all...
Blog System/5
Reflections on vibecoding ticket.el
It has now been a month since I started playing with Claude Code “for real” and by now I’ve mostly...
6th Mar 2026
It has now been a month since I started playing with Claude Code “for real” and by now I’ve mostly switched to Codex CLI: it is much snappier—who would imagine that a “Rewrite in Rust” would make things tangibly faster—and the answers feel more to-the-point than Claude’s to me.
HTMHell
#9 Cookie Consent from Hell
Bad code
<body>
<header>…</header>
<main>…</main>
<footer>…</footer>
<div...
8th Nov 2019
Bad code
<body>
<header>…</header>
<main>…</main>
<footer>…</footer>
<div class="cookie_consent modal">
<p>We use cookies…</p>
<div class="cookie_consent__close">
<i class="fa fa-times"></i>
</div>
<div class="cookie_consent__ok">OK</div>
...
TokyoDev
What Are Software Developers Called In Japan?
The “Dev” in TokyoDev stands for “developers.” Our founder, Paul McMahon, has always called himself...
1st Dec 2025
The “Dev” in TokyoDev stands for “developers.” Our founder, Paul McMahon, has always called himself a developer because he’s from Canada, where only licensed professionals call themselves engineers. Yet the job title Software Developer (ソフトウェア開発者) is only rarely used in...
Boot.dev Blog
Wrapping Errors in Go - How to Handle Nested Errors
Errors in Go are a hot topic. Many newcomers to the language immediately level their first...
9th Mar 2020
Errors in Go are a hot topic. Many newcomers to the language immediately level their first criticism, “errors in go are clunky! Let me just use try/catch!” This criticism is well-meaning but misguided.
Eliran Turgeman
Fighting subscription fatigue with vibe-coding
Most people solve their subscription fatigue by canceling Netflix. I solved it by vibe-coding my own...
16th Aug 2025
Most people solve their subscription fatigue by canceling Netflix. I solved it by vibe-coding my own workout app instead of paying another SaaS.
Two weeks ago, I decided to get serious about my workouts again and start logging them.
I looked for an existing solution that has the...
Sedimental
Awesome Python Applications
What we can learn from 180+ case studies on successfully shipping Python software.
If you're reading...
20th Dec 2018
What we can learn from 180+ case studies on successfully shipping Python software.
If you're reading this (or hearing
this), you read and write code, probably
Python. And for all the code you've shipped, you've probably had your
share of missed requirements. Somehere in the...
bt RSS Feed
WP Enqueue for Beginners
WP Enqueue for Beginners
2020-05-05
Throughout my career designing, developing and auditing...
5th May 2020
WP Enqueue for Beginners
2020-05-05
Throughout my career designing, developing and auditing WordPress themes, I’ve come across many that include their custom styles / scripts as static HTML elements inside their respective header and footer templates. This is perfectly fine, but...
Jake Zimmerman
What if typing on phones was fast?
27th Nov 2024
Liz Denys
Modifications for Purl Soho's Snow Day Stockings
My partner and I don't always decorate for Christmas, but when we do, we love to hang stockings to...
6th Dec 2020
My partner and I don't always decorate for Christmas, but when we do, we love to hang stockings to fill with little notes, candies, chapsticks, stickers, or other small snacks and trinkets we pick up over the course of December. His family has a tradition of handmade stockings,...
EXPLAIN EXTENDED
A good first word for Wordle
Ok, I gave in to the fad and took up Wordle. For those who have been living under a rock for the...
27th Jan 2022
Ok, I gave in to the fad and took up Wordle. For those who have been living under a rock for the past few weeks, Wordle is a relatively new online word game which has become viral. It is a variation of Bulls and Cows. You have six tries to guess a five-letter word. Each […]
The...
Liz Denys
Refusing to verify myself: I am liz on Keybase.io.
Keybase seeks to be a "public directory of publicly auditable public keys" with simpler usernames...
31st Mar 2014
Keybase seeks to be a "public directory of publicly auditable public keys" with simpler usernames than PGP and verified account linking to popular sites such as Twitter and GitHub. This is awesome because "PGP for humans" is long overdue and because I snatched up the namespace...
Buttondown's blog
Learn more about your subscribers!
FullContact makes it easy to learn about your readers.
10th Oct 2017
FullContact makes it easy to learn about your readers.
A Smart Bear
Breaking the Rules
When you know the rules, then you can break the rules.
17th Dec 2008
When you know the rules, then you can break the rules.
Sedimental
Repeat the obvious
Bad things happen when we don't repeat the obvious.
-->
It's 9pm and I'm writing a post for the...
9th Nov 2015
Bad things happen when we don't repeat the obvious.
-->
It's 9pm and I'm writing a post for the company engineering
blog. Every sentence is a slog. Not because I'm exacting and
conciseness isn't my strong suit. My writing is slow because every
word is obvious, almost...
Elad Blog
Back to the office
Prior to COVID, there were only 3 companies in tech that reached any real scale as remote first...
7th Oct 2022
Prior to COVID, there were only 3 companies in tech that reached any real scale as remote first companies - Automattic, Gitlab, and Zapier [1]. During COVID companies were forced to work remote. Many companies are now going back into the office and companies are navigating this...
James Vaughan's blog
Building the Open Task Light
2 weeks ago
TokyoDev
Joining Toastmasters in Japan to Make Friends
“Find a hobby or join a group so you can make friends.” That’s one of the most common pieces of...
3rd Aug 2026
“Find a hobby or join a group so you can make friends.” That’s one of the most common pieces of advice people give when you’re wondering how to meet new people, and I decided to take it.
I had just moved to Fukuoka after my job hunt as a post-graduate and a friend introduced me...
Remains of the Day
Seeing Like an Algorithm
In my previous post on TikTok I discussed why its For You Page algorithm is the connective tissue...
21st Sep 2020
In my previous post on TikTok I discussed why its For You Page algorithm is the connective tissue that makes TikTok work. It is the bus on its motherboard that connects and closes all its feedback loops.
But in the breathless rush to understand why companies might want to acquire...
Nelson's Weblog
Relaxation Dynamics of a Lattice Spin System
Way back in 1994 I wrote an undergraduate thesis for my math degree at
Reed College. It was a fun...
5th Jul 2022
Way back in 1994 I wrote an undergraduate thesis for my math degree at
Reed College. It was a fun project, studying
a discrete dynamic system that was an extension of the
Ising
model. Sort of cellular automata meets statistical mechanics.
It's the only significant thing I've...
swyx's site RSS Feed
Workshopping
Produce Consistency, Publish Quality by buffering.
4th Mar 2021
Produce Consistency, Publish Quality by buffering.
Krzysztof Kowalczyk...
Go package for better guid generation
The need to generate a globally unique identifier comes up often.
The way described in RFC 4122 is...
12th Feb 2015
The need to generate a globally unique identifier comes up often.
The way described in RFC 4122 is popular but it can be done better.
I wrote betterguid Go package that does it better.
Unique id generated by this package:
is a 20 character string, safe to include in urls (no need...
Matt Keeter
Fixing a soldering iron with 3D printing
15th Sep 2017
Vadim Kravcenko
Database Migrations
I consider database migrations one of the most annoying problems to deal with during a software...
1st Oct 2023
I consider database migrations one of the most annoying problems to deal with during a software engineer’s life. Not only […]
The post Database Migrations appeared first on Vadim Kravcenko.
Neil Panchal
Baremetal vs. Proxmox vs. ESXi Performance Geekbench Scores
I have always wondered about the performance characteristics of virtualization. Despite the caveats...
17th May 2026
I have always wondered about the performance characteristics of virtualization. Despite the caveats in testing methodology, workloads, etc., it'd be nice to see what the performance penalty is for using Baremetal vs. Proxmox vs. ESXi. Googling for answers results in some ancient...
TokyoDev
Asiajin Meetup
Today I attended [the second Asiajin meetup]. Asiajin is an English
language blog that covers what...
9th Oct 2010
Today I attended [the second Asiajin meetup]. Asiajin is an English
language blog that covers what is going on in the Japanese internet
space. About 20 people participated, with over half the attendees being
Japanese. This surprised me, as the blog's target is English speakers,...
Tony Finch's blog
moka pot notes
In hot weather I like to drink my coffee in an iced latte. To make it,
I have a very large Bialetti...
1st Jun 2025
In hot weather I like to drink my coffee in an iced latte. To make it,
I have a very large Bialetti Moka Express. Recently when I
got it going again after a winter of disuse, it took me a couple of
attempts to get the technique right, so here are some notes as a
reminder to my...
Marc Astbury
Notes on Deng Xiaoping
When reading history it’s tempting to hold the question “is this person good or evil?” in mind. With...
22nd Feb 2026
When reading history it’s tempting to hold the question “is this person good or evil?” in mind. With Franco, Mussolini, and Hitler the answer is clear. More often it is not. World leaders must make decisions where there are severe costs regardless of which path they choose....
The History of the...
Did you want that link to be permanent?
Permalinks are commonplace on the web. But it took the rise of blogging to codify them, and bring...
11th Feb 2026
Permalinks are commonplace on the web. But it took the rise of blogging to codify them, and bring them out into the world. And it all started with a single exchange of blogs.
The post Did you want that link to be permanent? appeared first on The History of the Web.
Alice GG
Does ChatGPT dream about cryptographic cats?
Back in 2017, the tech world seemed to be constantly talking about a single subject:...
31st Jan 2023
Back in 2017, the tech world seemed to be constantly talking about a single subject: Blockchains.
Two years ago, Vitalik Buterin revolutionized the nascent field by creating Ethereum.
Ethereum was at the time a cryptographic protocol that would allow people to make distributed...
Nelson's Weblog
Cronometer is a good food diary
Recently I switched to a new calorie counting app, Cronometer. I’m quite happy with it.
It’s a huge...
10th Sep 2023
Recently I switched to a new calorie counting app, Cronometer. I’m quite happy with it.
It’s a huge improvement over MyFitnessPal (MFP) or Lose It and is not exploitative
like Noom.
The key improvement with Cronometer is accuracy,
particularly good data
sources for nutrition...
Charles Chen
Beware the Complexity Merchants
When smart people get their high from building complex systems to solve simple problems, you're not...
15th May 2025
When smart people get their high from building complex systems to solve simple problems, you're not going to have a good time
The Changelog
Building an Asynchronous, Internet-Optional Instant Messaging System
I loaded up this title with buzzwords. The basic idea is that IM systems shouldn’t have to only use...
8th Dec 2022
I loaded up this title with buzzwords. The basic idea is that IM systems shouldn’t have to only use the Internet. Why not let them be carried across LoRa radios, USB sticks, local Wifi networks, and yes, the Internet? I’ll first discuss how, and then why. How do set it up I’ve...
A Beautiful Site
Dynamic Slots
Web Component authors already know how powerful slots are, but what if you could do even more with...
19th Jul 2023
Web Component authors already know how powerful slots are, but what if you could do even more with them? Here's an interesting technique to use (or abuse) slots in your custom elements. I've been calling the pattern dynamic slots.
Before we dive in, let's take a quick look at how...
Words and Buttons...
[e-book] So You Think You Know C? And TenMore Short Essays on Programming Languages
Can’t say that running away from complexity was a smart thing to do. It was definitely not the most...
21st Apr 2020
Can’t say that running away from complexity was a smart thing to do. It was definitely not the most productive way to create software. The journey, however, has taught me a few things so it was not a complete waste of time either.
This book is a reflection of these lessons. It...
Greg Brockman
OpenAI Five intro
The text of my speech introducing OpenAI Five at yesterday’s Benchmark event:
“We’re here to watch...
6th Aug 2018
The text of my speech introducing OpenAI Five at yesterday’s Benchmark event:
“We’re here to watch humans and AI play Dota, but today’s match will have implications for the world. OpenAI’s mission is to ensure that when we can build machines as smart as humans, they will benefit...
HTMHell
#17 inaccessible cards
Context: A list of linked cards, each with heading, image, and teaser text.
Bad code
<section>
...
14th Mar 2020
Context: A list of linked cards, each with heading, image, and teaser text.
Bad code
<section>
<section>
<h2>Overview</h2>
<figure class="card" data-url="image1.html" style="background: url(image1.jpg)">
<figcaption>
<h4>My heading</h4>
...
Tom MacWright
Recently
I spent a lot of time outside in April. The first two weekends I did long bike rides: from Brooklyn...
4th May 2026
I spent a lot of time outside in April. The first two weekends I did long bike rides: from Brooklyn to Tarrytown along the Old Croton Aqueduct trail, and out to Rockaway Beach via the Marine Parkway Bridge & Cross Bay Memorial Bridge.
Then, I ran the Brooklyn Experience Half...
Charles Petzold
Password Math
A friend from my PC Magazine days recently posted on Facebook a little mathematics anomaly that he...
8th Feb 2025
A friend from my PC Magazine days recently posted on Facebook a little mathematics anomaly that he encountered while trying to figure out the number of possible passwords under certain conditions. He began with the stipulation that a four-character password had to be constructed...
swyx's site RSS Feed
How to add JSDoc Typechecking to SvelteKit
As I build out swyxkit, I am finding that I am no longer prototyping and that I need to be able to...
4th Feb 2022
As I build out swyxkit, I am finding that I am no longer prototyping and that I need to be able to refactor with confidence.
Josh Comeau's blog
An Interactive Guide to CSS Transitions
This comprehensive guide shows how to use CSS transitions! A back-to-basics look at the fundamental...
9th Feb 2021
This comprehensive guide shows how to use CSS transitions! A back-to-basics look at the fundamental building blocks we need to create microinteractions and other animations.
davidyat.es
Static websites and right-sizing software
7th Aug 2026
A Smart Bear
COC: A new metric for thinking about cancellations in SaaS business models
Introducing COC: The true cost of cancellations in a scaling SaaS business.
6th Aug 2013
Introducing COC: The true cost of cancellations in a scaling SaaS business.
Max Schmitt
How to fix Sanity Error: Uncaught error - Could not resolve jsonType of undefined. No parent type...
Read the post here.
25th Oct 2023
Jordan Eldredge's...
Irving Berlin's "Blue Skies" on Eleuke electric ukulele
I arranged and recorded Irving Berlin's 'Blue Skies' on my new Eleuke electric ukulele.
21st Sep 2010
I arranged and recorded Irving Berlin's 'Blue Skies' on my new Eleuke electric ukulele.
Josh Comeau's blog
You Don’t Need a UI Framework
As developers, it can be tempting to grab a pre-styled UI framework like Material UI or Bootstrap....
3rd May 2022
As developers, it can be tempting to grab a pre-styled UI framework like Material UI or Bootstrap. Seems like a great way to outsource design and save a bunch of time, right? In my experience, this is an unrealistic expectation, and things don’t quite work out that way.
Maggie Appleton
Humanity's Last Exam
Humanity's Last Exam by Center for AI Safety (CAIS) and Scale AI
20th Feb 2025
Humanity's Last Exam by Center for AI Safety (CAIS) and Scale AI
Tony Finch's blog
nsnotifyd-2.3 released
D’oh, I lost track of a bug report that should have been fixed in
nsnotifyd-2.2. Thus, hot on the...
5th Dec 2024
D’oh, I lost track of a bug report that should have been fixed in
nsnotifyd-2.2. Thus, hot on the heels of [the previous release][prev],
here’s nsnotifyd-2.3. Sorry for causing extra work to
my uncountably many users!
The nsnotifyd daemon monitors a set of DNS zones and runs a...
Marco.org
Ten years after we lost Steve Jobs
Losing Steve affected me more than it probably should have, given that I never met him or had any...
5th Oct 2021
Losing Steve affected me more than it probably should have, given that I never met him or had any correspondence with him.
But losing him was devastating — not just to my world, but the world.
He was a sort of virtual father figure: I was always hoping that maybe Steve would...
Blog System/5
End-to-end tool testing with Bazel and shtk
If you use Bazel, your project is of a moderate size. And because your project is of a moderate...
4th Nov 2023
If you use Bazel, your project is of a moderate size. And because your project is of a moderate size, it almost-certainly builds one or more binaries, at least one of which is a CLI tool. But let’s face it: you don’t have end-to-end testing for those tools, do you?
ntietz.com blog -...
Getting people to tell you you're wrong
One of the challenging things about being a staff+ engineer is that people trust you.
They trust you...
6th Mar 2023
One of the challenging things about being a staff+ engineer is that people trust you.
They trust you a lot, and there might be less pushback on ideas than there should be.
This makes sense.
To become a staff+ engineer, you usually need to be really good at this intersection of...
Darek Kay
Grab browser links and titles in one click
When I copy a browser tab URL, I often want to also keep the title. Sometimes I want to use the link...
3rd Jan 2025
When I copy a browser tab URL, I often want to also keep the title. Sometimes I want to use the link as rich text (e.g., when pasting the link into OneNote or Jira). Sometimes I prefer a Markdown link. There are browser extensions to achieve this task, but I don't want to...
swyx's site RSS Feed
How to Thought Lead (2026)
I first started compiling "How To Thought Lead" in my notes 5 years ago, at first as an ironic...
14th Mar 2026
I first started compiling "How To Thought Lead" in my notes 5 years ago, at first as an ironic parody and then slowly becoming sincere, and never published it, 1) because I don't know if I ever really nailed it / have a complete picture, 2) I was somewhat worried if I published...
Alex Meub
A Look at Portland Car2Go Data
Recently I became a Car2Go member and I can’t say enough good things about the service. It’s fast,...
21st Apr 2014
Recently I became a Car2Go member and I can’t say enough good things about the service. It’s fast, cheap and ridiculously convenient; it’s a pretty incredible transportation option.
Part of what makes it so great are the apps that give you up-to-date car location and availability...
A Beautiful Site
Anchoring Software to Major Versions
In a SemVer world, major releases are those which contain incompatible API changes. We often see...
24th May 2024
In a SemVer world, major releases are those which contain incompatible API changes. We often see software projects anchor themselves to major versions for long periods of time, usually with the promise of stability.
We all know how frustrating it is to upgrade a package and run...
Tony Finch's blog
RIPE DNS Hackathon
This weekend I was in Rotterdam for the
RIPE DNS Hackathon.
About 50 people gathered with several...
22nd May 2023
This weekend I was in Rotterdam for the
RIPE DNS Hackathon.
About 50 people gathered with several ideas for potential projects: things
like easier DNSSEC provisioning, monitoring DNS activity in the network,
what is the environmental cost of the DNS, …
At the start of the weekend...
The Changelog
KDE: A Nice Tiling Envieonment and a Surprisingly Awesome DE
I recently wrote that managing an external display on Linux shouldn’t be this hard. I went down a...
7th Feb 2022
I recently wrote that managing an external display on Linux shouldn’t be this hard. I went down a path of trying out some different options before finally landing at an unexpected place: KDE. I say “unexpected” because I find tiling window managers are just about a necessity....
Jordan Eldredge's...
A Mental Model for Data in UI Applications
A technology-agnostic model of the layers that naturally arise in any reasonably sized application,...
26th Sep 2025
A technology-agnostic model of the layers that naturally arise in any reasonably sized application, and the abstract properties of each layer.
Sometimes It Works...
When deciding which framework to use a few months back for all of our new systems, there wasn’t…
When deciding which framework to use a few months back for all of our new systems, there wasn’t even...
12th Dec 2017
When deciding which framework to use a few months back for all of our new systems, there wasn’t even a mention of framework speed. The truth is in practice that it just doesn’t matter for a large proportion of use-cases and certainly not for ours (funded startup with tens of...
On Test Automation
On working and contributing to conferences abroad
This blog post is another one in the ‘writing things down to structure my thinking on where I want...
6th Feb 2025
This blog post is another one in the ‘writing things down to structure my thinking on where I want my career to go’ series. I will get back to writing technical and automation blog posts soon, but I need to finish my contract testing course first.
One of the things I like to do...
swyx's site RSS Feed
Learning Gears
> Translations welcome! (Português)
19th Apr 2019
> Translations welcome! (Português)
Posts on Nikita...
How Binary JSON Works in YDB
Feel free to join the discussion on HackerNews.
In the early 2020 I was working in the Distributed...
8th Jun 2022
Feel free to join the discussion on HackerNews.
In the early 2020 I was working in the Distributed Queries team of YDB. YDB is a Distributed SQL Database that combines high availability and scalability with strong consistency and ACID transactions. One of my key tasks there was...
tonsky.me
When You Get to Be Smart Writing a Macro
Day-to-day programming isn’t always exciting. Most of the code we write is pretty straightforward:...
1st May 2025
Day-to-day programming isn’t always exciting. Most of the code we write is pretty straightforward: open a file, apply a function, commit a transaction, send JSON. Finding a problem that can be solved not the hard way, but smart way, is quite rare. I’m really happy I found this...
A Smart Bear
Failure to face the truth
This concept recurs in different forms throughout myriad books, frameworks, and topics, across...
9th Apr 2022
This concept recurs in different forms throughout myriad books, frameworks, and topics, across decades of time. When something is so consistent, it must be wisdom.
Vladimir Klepov as a...
Making sense of TypeScript using set theory
I've been working with TypeScript for a long long time. I think I'm not too bad at it. However, to...
23rd Jan 2023
I've been working with TypeScript for a long long time. I think I'm not too bad at it. However, to my despair, some low-level behaviors still confuse me:
Why does 0 | 1 extends 0 ? true : false evaluate to false?
I'm very ashamed, but I sometimes confuse "subtype" and...
Philip I. Thomas
What I'm up to - April 2023
✨ What I've been up to Wow, it's Q2 already! I spent a couple of weeks in Paris last month,...
1st Apr 2023
✨ What I've been up to Wow, it's Q2 already! I spent a couple of weeks in Paris last month, where I worked remotely and found some amazing coffee. For Postcard - I rebuilt the post-writing ...
Epic Web Dev
Testing Fundamentals (workshop)
29th Apr 2024
The Changelog
Dead USB Drives Are Fine: Building a Reliable Sneakernet
“OK,” you’re probably thinking. “John, you talk a lot about things like Gopher and personal radios,...
2nd Sep 2022
“OK,” you’re probably thinking. “John, you talk a lot about things like Gopher and personal radios, and now you want to talk about building a reliable network out of… USB drives?” Well, yes. In fact, I’ve already done it. What is sneakernet? Normally, “sneakernet” is a sort of...
Computer Things
"Integration tests" are just vibes
New blog post! Software Friction is about how all the small issues we run into developing software...
1st May 2024
New blog post! Software Friction is about how all the small issues we run into developing software cause us to miss deadlines, and how we can address some of them. Patreon here.
"Integration tests" are just vibes
You should write more unit tests than integration tests. You should...
Tyler Cipriani: blog
Book Review: The Tombs of Atuan by Ursula K Le Guin
"Ahra", the Eaten One, the high priestess of the Tombs of Atuan
belongs to the Nameless Ones. She...
8th Oct 2016
"Ahra", the Eaten One, the high priestess of the Tombs of Atuan
belongs to the Nameless Ones. She is, herself, nameless. Her name along
with her family and future were taken from her in a ceremony on which
the novel opens. At the beginning of the novel, her 6-year-old life...
The Changelog
Live Migrating from Raspberry Pi OS bullseye to Debian bookworm
I’ve been getting annoyed with Raspberry Pi OS (Raspbian) for years now. It’s a fork of Debian, but...
3rd Jan 2024
I’ve been getting annoyed with Raspberry Pi OS (Raspbian) for years now. It’s a fork of Debian, but manages to omit some of the most useful things. So I’ve decided to migrate all of my Pis to run pure Debian. These are my reasons: Raspberry Pi OS has, for years now, specified...
Eric Bailey
Visit for a surprise
Could spoiling a joke be an accessibility issue? You better believe it.
Web Content Accessibility...
1st Sep 2022
Could spoiling a joke be an accessibility issue? You better believe it.
Web Content Accessibility Guidelines Success Criterion 2.4.4: Link Purpose (In Context) instructs us to ensure that a link’s accessible name makes sense when separated from its surrounding context. It’s why...
Ink & Switch
01 · Universal version control
We believe that simple, powerful, universal version control tools could help all kinds of creators...
13th Feb 2024
We believe that simple, powerful, universal version control tools could help all kinds of creators produce better work.
Buttondown's blog
Homepage headline test
Testing different headline variants on the index page
4th Apr 2025
Testing different headline variants on the index page
Daniel Immke
My time fighting COVID-19 as a CDC software engineer
The most stressful period of my career.
5th Sep 2020
The most stressful period of my career.
The Web Witch's Blog
The Web Witch's Grimoire // Week of 13 May 2022
15 May 2022
My life has been a bundle of joy since I moved into Seattle from Redmond in March, and I...
15th May 2022
15 May 2022
My life has been a bundle of joy since I moved into Seattle from Redmond in March, and I couldn't be happier. I've managed to get out and paddle board a few times though the weather has been largely abysmal. It's still snowing in the mountains but the snowpack is well...
TokyoDev
Marketing yourself as a developer
As a developer, I've learned that no matter how good a product I build is, for the product to...
27th Jan 2016
As a developer, I've learned that no matter how good a product I build is, for the product to succeed, it also takes good marketing. The same is true for you as a developer in the job market: while solid technical skills are necessary to land great jobs, your ability to sell...
Rc-2020 on Julia...
Day 51: Fixed my logging and made a couple of puzzles
Here are a couple of things I did yesterday!
some logging improvements
I was having a problem on my...
2nd Feb 2021
Here are a couple of things I did yesterday!
some logging improvements
I was having a problem on my server where I was logging in 3 different ways:
Rails was logging to a file called production.log
my Go proxy was logging to Docker Compose’s default log thing (whatever that...
Charles Petzold
30 Years
After all these years, I still get the dreams. ... more ...
13th Jan 2026
After all these years, I still get the dreams. ... more ...
Acko.net
Fuck It, We'll Do It Live
How the Live effect run-time is implemented
In this post I describe how the Live run-time...
24th May 2023
How the Live effect run-time is implemented
In this post I describe how the Live run-time internals are implemented, which drive Use.GPU. Some pre-existing React and FP effect knowledge is useful.
I have written about Live before, but in general terms. You may therefor have...
Epic Web Dev
The Power of Principles in Web Development Decision-Making (article)
Discover how The Epic Programming Principles can transform your web development decision-making,...
11th Mar 2025
Discover how The Epic Programming Principles can transform your web development decision-making, boost your career, and help you build better software.
Coding Horror
The Rise of the Electric Scooter
In an electric car, the (enormous) battery is a major part of the price. If electric car prices are...
12th Sep 2019
In an electric car, the (enormous) battery is a major part of the price. If electric car prices are decreasing, battery costs must be decreasing, because it's not like the cost of fabricating rubber, aluminum, glass, and steel into car shapes can decline that much, right?
On an
Ferd.ca
A Bridge Over a River Never Crossed
2023/01/01
A Bridge Over a River Never Crossed
When I first started my forever project, a peer to...
1st Jan 2023
2023/01/01
A Bridge Over a River Never Crossed
When I first started my forever project, a peer to peer file sync software using Interval Tree Clocks, I wanted to build it right.
That meant property-based testing everything, specifying the protocol fully, dealing with error...
Alex MacCaw
How to Vibe Code as a Senior Engineer
Over the past few months, I’ve rediscovered my love for building software.
Not in the traditional...
20th Jun 2025
Over the past few months, I’ve rediscovered my love for building software.
Not in the traditional way—writing line after line of code, plumbing together brittle libraries, grinding through boilerplate. Instead, I’ve been vibe coding.
Vibe coding is a new way of building software...
Acko.net
HTML is Dead, Long Live HTML
Rethinking DOM from first principles
Browsers are in a very weird place. While WebAssembly has...
5th Aug 2025
Rethinking DOM from first principles
Browsers are in a very weird place. While WebAssembly has succeeded, even on the server, the client still feels largely the same as it did 10 years ago.
Enthusiasts will tell you that accessing native web APIs via WASM is a solved...
Eric Migicovsky's...
PostHog × Vercel: feature flags, minus the plumbing
If you’re building on Vercel and using PostHog for feature flags and experiments , you’ve...
2nd Feb 2026
If you’re building on Vercel and using PostHog for feature flags and experiments , you’ve probably had some version of this setup: flags defined in…
macwright.com
Recently
Reading
Since last time, I read a few books: Sea of Tranquility, a book club book, Doppelganger, the...
3rd Sep 2024
Reading
Since last time, I read a few books: Sea of Tranquility, a book club book, Doppelganger, the new Naomi Klein, and Manywhere, a collection of short stories.
Sea of Tranquility was very digestible sci-fi. I haven’t read that much sci-fi overall, so it’s probably inaccurate...
David Gerrells
How fast is swift? Heavy Metal Edition (feat Nardi)
The challenge, confirm a friends belief that swift is real system language by simulating buckets of...
12th Jul 2025
The challenge, confirm a friends belief that swift is real system language by simulating buckets of particles, at least 100m on the cpu, hopefully beating out rust.
Ruud van Asseldonk
A float walks into a gradual type system
2nd Mar 2025
swyx's site RSS Feed
Supervised Learning: Support Vector Machines
Transforming dimensions, nearest neighbors, and boosting, all in service of "drawing the best line".
1st Feb 2019
Transforming dimensions, nearest neighbors, and boosting, all in service of "drawing the best line".
Liz Denys
ZRH
Art near the B gates: "Altocumulus Lenticularis" by Inigo Mnglano Ovalle.
22nd Aug 2012
Art near the B gates: "Altocumulus Lenticularis" by Inigo Mnglano Ovalle.
markround.com
Gig
Just looking through some old videos and found this footage of me going off on one at our gig in...
2nd Jun 2020
Just looking through some old videos and found this footage of me going off on one at our gig in February earlier this year, before the pandemic had really hit in the UK.
Feels like a lifetime ago now. I miss it.
Epic Web Dev
Implicit Assertions (article)
Have a better understanding about the explicit and implicit assertions now, and perhaps even have a...
12th Mar 2024
Have a better understanding about the explicit and implicit assertions now, and perhaps even have a test or two in mind to improve.
Boot.dev Blog
How to Structure a Golang Project
I lead a team that’s responsible for anywhere from 15-25 Go microservices at any given time. We’re...
1st Oct 2020
I lead a team that’s responsible for anywhere from 15-25 Go microservices at any given time. We’re constantly creating new services and libraries, so it’s become important to streamline the project creation process. I’m mostly writing this article for myself as a kind of...
Krzysztof Kowalczyk...
Showing UI on mouse move, in Svelte 5
In my note taking application Edna I’ve implemented unorthodox UI feature: in the editor a top left...
11th Jun 2025
In my note taking application Edna I’ve implemented unorthodox UI feature: in the editor a top left navigation element is only visible when you’re moving the mouse or when mouse is over the element.
Here’s UI hidden:
Here’s UI visible:
The thinking is: when writing, you want...
Josh Collinsworth
Five Ways to Become a Better Designer (That Aren't Design)
There’s vast world of design learning and opportunity right in front of us constantly. All we need...
4th Feb 2017
There’s vast world of design learning and opportunity right in front of us constantly. All we need to do is take the time to notice it and learn from it.
Boot.dev Blog
The Boot.dev Beat. March 2024
Pythogoras escaped this month. The community rallied against the Serpent God, and while he was...
28th Feb 2024
Pythogoras escaped this month. The community rallied against the Serpent God, and while he was wounded and beaten back, he escaped. We’ll be trying again later this month. Happy coding.
charity.wtf
Moving from WordPress to Substack
Well, shit. I wrote my first blog post in this space on December 27th, 2015 — almost exactly a...
14th Dec 2025
Well, shit. I wrote my first blog post in this space on December 27th, 2015 — almost exactly a decade ago. “Hello, world.” I had just left Facebook, hadn’t yet formally incorporated Honeycomb, and it just felt like it was time, long past time for me to put something up and start...
elementary Blog
The First Pride Was a Riot, and So Are These Updates
Questionable puns aside, it’s Pride Month and we’re excited to celebrate by bringing you these...
2nd Jun 2025
Questionable puns aside, it’s Pride Month and we’re excited to celebrate by bringing you these updates hand-made by real LGBTQIA+ community members from around the world!—and possibly some straight cis folks too. This rainbow of releases includes some important accessibility...
Maggie Appleton
The JAMStack, Gatsby & Contentful
Illustrated notes on the JAMstack, Gatsby & Contentful
1st Jun 2019
Illustrated notes on the JAMstack, Gatsby & Contentful
Vladimir Klepov as a...
The systemic decay of tech hiring
Complaining about tech interviews is the favorite pastime of software engineers. We know they're...
22nd Jun 2026
Complaining about tech interviews is the favorite pastime of software engineers. We know they're broken, we've seen exactly how they're broken, but, despite a decade of collective hand-waving, we haven't fixed them. In fact, we haven't even understood why they're broken:...
The Codist
Twitter Was An Awesome Idea But Never A Viable Business
Twitter was the best communications system ever invented, providing low-barrier-to-entry...
21st Apr 2023
Twitter was the best communications system ever invented, providing low-barrier-to-entry communications in real-time to people worldwide, creating self-organizing circles of common interests, allowing for easy discovery, and supporting an instant source of information. But, there...
Daniel Immke
Building a new personal website
Yesterday I launched a new version of this website. When finishing big projects, I always experience...
15th Feb 2021
Yesterday I launched a new version of this website. When finishing big projects, I always experience this odd phenomenon where the final…
Tyler Cipriani: blog
Reese the Cat
Reese the Cat (Jan 2018)
My good friend Reese the Cat died on the last day of May 2019. She
was 13...
5th Jun 2019
Reese the Cat (Jan 2018)
My good friend Reese the Cat died on the last day of May 2019. She
was 13 years old – still a young cat, by cat standards. She had a tumor
on her tongue and couldn’t swallow and couldn’t eat or drink. We took
her to a vet clinic within walking distance...
Dan Slimmon
No Observability Without Theory: The Talk
Last month, I had the unadulterated pleasure of presenting “No Observability Without Theory” at...
3rd Jul 2024
Last month, I had the unadulterated pleasure of presenting “No Observability Without Theory” at Monitorama 2024. If you’ve never been to Monitorama, I can’t recommend it enough. I think it’s the best tech conference, period. This talk was adapted from an old blog post of mine,...
alexwlchan
Always running
I’m trying something a bit different today – fiction. I had an idea for a short story the other...
6th Apr 2025
I’m trying something a bit different today – fiction. I had an idea for a short story the other evening, and I fleshed it out into a proper piece. I want to get better at writing fiction, and the only way to do that is with practice. I hope you like what I’ve written!
When the...
Philip I. Thomas
What I'm up to - May 2025
Here's my monthly newsletter about what I'm up to, which I send in place of social media. What I...
1st May 2025
Here's my monthly newsletter about what I'm up to, which I send in place of social media. What I did in last month - "I created a chatbot with my dog" was a presentation I gave at a meetup. (Here's t...
Making software...
Aqua UI CSS Buttons
Aqua UI CSS Buttons
2016-06-28
Though it may feel like nostalgia, the old OS design for Mac was...
28th Jun 2016
Aqua UI CSS Buttons
2016-06-28
Though it may feel like nostalgia, the old OS design for Mac was arguably better than the current iteration (as of this writing - High Sierra). I recently designed a quick Dribbble shot showcasing how the older operating system used to have so much...
Sedimental
Announcing FinFam
In my last post, I mentioned founding a startup.
It's called FinFam,
and we're building...
19th Sep 2025
In my last post, I mentioned founding a startup.
It's called FinFam,
and we're building collaborative financial planning.
The GitHub of money, if you will. Enough with the telling, time for the show!
Here's a 3-minute demo:
We launched beta this week and I couldn't be more...
Copper • A blog...
How good is Claude, really?
At the beginning of 2026, I didn’t even know what vibe coding meant.
So much has happened in the...
4th Mar 2026
At the beginning of 2026, I didn’t even know what vibe coding meant.
So much has happened in the time I was busy carving wooden spoons, that I felt it simpler to just ignore the hype.
One morning, in this seemingly never ending winter, a friend told me excitedly how his employer...
A Beautiful Site
Web standards are just "minor details"
A friend of mine recently graduated and spread his wings by venturing into the corporate world. He...
2nd Jul 2007
A friend of mine recently graduated and spread his wings by venturing into the corporate world. He obtained a position as a junior project manager for a web consulting firm in Atlanta. Their work is very professional and their designs are great, but it was immediately evident...
Max Schmitt
Redesigning the Cakedesk Website
Read the post here.
30th Dec 2025
Code Of Honor
Twenty Years of Guild Wars
So many folks have reached out to me to commemorate the 20th anniversary of the launch of Guild Wars...
30th Apr 2025
So many folks have reached out to me to commemorate the 20th anniversary of the launch of Guild Wars on April 28, 2005, that it encouraged me to write this little bitty. I was heartened to see an article about Guild Wars in GameRant, which talked about the server infrastructure...
On Test Automation
On finding clients as an independent consultant
I’ve been a freelancer / independent consultant for some 11 years now, and until recently, keeping...
27th Nov 2025
I’ve been a freelancer / independent consultant for some 11 years now, and until recently, keeping myself occupied has been fairly smooth sailing. There has always been a lot of demand for people with the technical skills that I have gathered over the years, so finding new...
Steve Klabnik
Why is Clojure so stable?
18th Dec 2018
A Beautiful Site
Reflection and Custom States in Web Components
In the Web Component world, attribute reflection is commonly used to style custom elements both...
5th Jun 2024
In the Web Component world, attribute reflection is commonly used to style custom elements both internally and as public APIs for consumers. If you're not familiar, attribute reflection occurs when an attribute in the DOM is updated due to changes in a corresponding property.
A...
Buttondown's blog
Google Reader was building the wrong future
The app that taught us to directly follow our favorite creators.
1st Jul 2026
The app that taught us to directly follow our favorite creators.
A Beautiful Site
Getting duplicate ids in an HTML document
I needed a way to identify all HTML elements with duplicate IDs. This is a seemingly simple task,...
5th Apr 2019
I needed a way to identify all HTML elements with duplicate IDs. This is a seemingly simple task, but unfortunately, I didn't find anything out there that fit the bill.
I did find a couple functions that returned the duplicates, but they didn't include the first occurrence (I...
TokyoDev
The Downside of Thanking Security Contributors
My startup is an popular event management platform within the Japan tech community. We've...
3rd Dec 2013
My startup is an popular event management platform within the Japan tech community. We've occasionally gotten reports about security issues, and although we're a two-person company, we still take security seriously, so we decided to create security and responsible disclosure...
Kevin Chen
How to create a digital Suica card in Apple Pay (2024 Update)
Suica is a smart card used to pay at train stations and convenience
stores in Japan. In 2016, Apple...
6th Nov 2017
Suica is a smart card used to pay at train stations and convenience
stores in Japan. In 2016, Apple added support for Suica to Apple Pay on iPhone 7
devices sold in Japan. In 2017, Apple added support to all iPhone 8/X and later, regardless of where they’re sold.1
Virtual Suica...
David Gerrells
offer up is the tinder of marketplaces
OfferUp is like a terrible version of Tinder but for selling on a marketplace. Boosts, promotions,...
24th Oct 2023
OfferUp is like a terrible version of Tinder but for selling on a marketplace. Boosts, promotions, and other "gameification" make it trashier than the perception most have of the venerable Craigslist.
Nelson's Weblog
Noom is exploitative
I tried out Noom, the weight loss and cognitive behavioral therapy
program. The app is more like CBT...
8th Apr 2023
I tried out Noom, the weight loss and cognitive behavioral therapy
program. The app is more like CBT for upselling customers than CBT for
weight loss. Now I’m hoping they’ll delete my sensitive medical data and
refund the $3 they tricked me out of. (They did, quickly in...
Philip I. Thomas
Sharing a project I built - Postcard
Over the last two years I've quit Instagram, Facebook, and Twitter. I replaced social media with...
19th May 2022
Over the last two years I've quit Instagram, Facebook, and Twitter. I replaced social media with newsletters and blogs as the ways I stay in touch. Not many people have blogs - so I built a bot to le...
Neil Panchal
Quantum Lorem Ipsum
I got tired of Lorem Ipsum text and created Quantum Lorem Ipsum, now with 100% more physics jargon!...
20th Apr 2021
I got tired of Lorem Ipsum text and created Quantum Lorem Ipsum, now with 100% more physics jargon!
To those who are not familiar, Lorem Ipsum is a piece of latin text, comprised of multiple paragraphs, that is used as a placeholder during the design process of building a page
A Beautiful Site
Finding the Closest Element Through Shadow Roots
A great trick to find the closest element in the DOM that matches an arbitrary selector is...
13th Sep 2021
A great trick to find the closest element in the DOM that matches an arbitrary selector is Element.closest().
// Starts at el and walks the DOM until it finds a parent element
// that matches the selector. In this case, it will return the
// <body>...
Eric Bailey
The optics of pair programming
If you are not familiar, pair programming (pairing) is the practice of collaborating directly with...
17th May 2022
If you are not familiar, pair programming (pairing) is the practice of collaborating directly with another person to work on a problem. You’ll often hear it in development contexts, but I've also encountered it with design.
In the Before Times, we paired by walking over to a...
HTMHell
#35 a perfectly structured button
button table { margin: 0; } .fa-arrow-left::before {content:"←"}
Bad code
<button type="button"...
11th Sep 2025
button table { margin: 0; } .fa-arrow-left::before {content:"←"}
Bad code
<button type="button" onclick="window.open('https://example.com/other-page')">
<table>
<tbody>
<tr>
<td>
<i class="fa fa-arrow-left" aria-hidden="true"></i>
</td>
...
Tyler Cipriani: blog
Best Thing(s) of All Time Ever.
3♠25♠2007
Steve Kerr during the 1997 NBA
Championships.
Cinema Insomnia with...
25th Mar 2007
3♠25♠2007
Steve Kerr during the 1997 NBA
Championships.
Cinema Insomnia with Mr. Lobo
Firefox’s
custom keyword searches.
SuckUK’s Villain Chair.
The Music video for This
is Hardcore by Pulp
I recovered this article from my old blog via the Internet Archive. If you found...
Maggie Appleton
Empty Pointers and Constellations of AI
On the fuzziness of calling things “artificial intelligence” and moving the goalposts
17th Dec 2022
On the fuzziness of calling things “artificial intelligence” and moving the goalposts
Paolo Amoroso's...
Representing the universe of GravityLoops
<:
Making software...
Dear Apple, Please Fix Safari's Default Dark Mode Link Color
Dear Apple, Please Fix Safari's Default Dark Mode Link Color
2022-04-18
Supporting dark mode on the...
18th Apr 2022
Dear Apple, Please Fix Safari's Default Dark Mode Link Color
2022-04-18
Supporting dark mode on the modern web falls under the realm of accessibility and should not be ignored. It is important and helps keep the visual flow of your content to match that of your users' operating...
The Web Witch's Blog
Using time-blocking to increase your productivity
So many things have my attention lately that I've been trying to figure out how to handle...
16th Feb 2023
So many things have my attention lately that I've been trying to figure out how to handle everything. I saw a product manager's tweet that showed a screenshot of what is (presumably) his calendar or an example of his and every moment of his working day was blocked off.
I sort of...
Steve Klabnik
Memory Safety is a Red Herring
21st Dec 2023
Sometimes It Works...
The 10 (ok, 15) steps to setup your first Laravel Spark app
The 10 (ok, 15) steps to setup your first Laravel Spark app
a.k.a. “The long way”
¶The 10 (ok, 15)...
16th Apr 2016
The 10 (ok, 15) steps to setup your first Laravel Spark app
a.k.a. “The long way”
¶The 10 (ok, 15) steps to setup your first Laravel Spark app
¶a.k.a. “The long way”
Edit: Since writing this, Laravel Valet has been launched. I haven’t tried it yet, but if you use a Mac it looks...
swyx's site RSS Feed
Making AWS Amplify work with Rollup
AWS Amplify assumes CommonJS, which Rollup is allergic to. I recently discovered that you can make...
2nd Jun 2020
AWS Amplify assumes CommonJS, which Rollup is allergic to. I recently discovered that you can make it work with Rollup with a few tweaks.
Engineer’s Codex
Diving into Claude Code's Source Code Leak
Engineer’s Codex is a publication about real-world software engineering.
1st Apr 2026
Engineer’s Codex is a publication about real-world software engineering.
A Smart Bear
The Elephant in the room: The myth of exponential hypergrowth
Fast-growing startups are frequently described as “exponential,” especially when the product is...
5th Mar 2022
Fast-growing startups are frequently described as “exponential,” especially when the product is “viral.” Turns out, this is incorrect, even for Facebook and Slack. If you have an incorrect model, you don’t understand growth, which means you can’t control it, nor predict it. Here...
Josh Comeau's blog
Sprites on the Web
In game development, it’s common to use spritesheets for animation, but this technique isn’t as...
23rd Feb 2026
In game development, it’s common to use spritesheets for animation, but this technique isn’t as widely used on the web. Which is a shame, because we can do some pretty cool stuff with sprites! In this post, we’ll share the niche CSS function you can use to leverage this...
bunnie's blog
The New Essential Guide to Electronics in Shenzhen
Some might remember a book I released in 2016, “The Essential Guide to Electronics in Shenzhen”. A...
16th Dec 2023
Some might remember a book I released in 2016, “The Essential Guide to Electronics in Shenzhen”. A lot has changed in the world since then, and Shenzhen is no exception. There’s a new maintainer of the guide, Naomi Wu (@realsexycyborg), and she is crowdfunding an updated, new...
Eric Migicovsky's...
What we've learned about multi-product pricing (so far)
PostHog started as a single product company. We just sold product analytics with a bunch of large...
17th Apr 2023
PostHog started as a single product company. We just sold product analytics with a bunch of large extra features thrown in – session replay, feature…
Elad Blog
Hiring Executives & Bad Advice
When your company hits strong product market fit, your company will be sucked into a vortex of...
2nd Feb 2021
When your company hits strong product market fit, your company will be sucked into a vortex of customer demand and experience a Cambrian explosion of internal org complexity simultaneously. Things will initially seem to just truck along as usual, and then suddenly everything at...
Sebastian Witowski
Checking for True or False
How do you check if something is True in Python? There are three ways:
One "bad" way: if variable ==...
1st Oct 2020
How do you check if something is True in Python? There are three ways:
One "bad" way: if variable == True:
Another "bad" way: if variable is True:
And the good way, recommended even in the Programming Recommendations of PEP8: if variable:
The "bad" ways are not only frowned upon...
Charles Chen
To Comment or Not to Comment
Ruminations on the timeless debate of comments in code.
6th Jul 2023
Ruminations on the timeless debate of comments in code.
Krzysztof Kowalczyk...
Changing font size in Windows dialog in C++
How to dynamically change font size in a Windows dialog
Windows’s win32 API is old and...
10th Apr 2024
How to dynamically change font size in a Windows dialog
Windows’s win32 API is old and crufty. Many things that are trivial to do in HTML are difficult in win32.
One of those things is changing size of font used by your native, desktop app.
I encountered this in...
alexwlchan
Tag your infrastructure-as-code resources with a link to their definitions
The aspiration of infrastructure-as-code tools is that you use them to manage everything.
You create...
18th Aug 2023
The aspiration of infrastructure-as-code tools is that you use them to manage everything.
You create all your resources by writing a file that defines them, and any time you change something, you update the definition in that file.
It’s a nice idea, but easier said than...
Hixie's Natural Log
How big is the Flutter team?
I often get asked how many people contribute to Flutter.
It's a hard question to answer because...
3rd Feb 2024
I often get asked how many people contribute to Flutter.
It's a hard question to answer because "contribute" is a very vague concept. There's tens of thousands of packages on pub.dev, all of which are written by contributors to the community. There's over 100,000 of issues...
DevOps - Bitfield...
Puppet and MySQL: create databases and users
Puppet MySQL management couldn’t be easier. Most applications use some kind
of SQL database, and...
6th Aug 2018
Puppet MySQL management couldn’t be easier. Most applications use some kind
of SQL database, and MySQL is a simple, easy to use, drop-in solution. In
this article I’ll show you how to manage your MySQL servers, users,
databases, and access permissions using Puppet.
The Web Witch's Blog
Web Witch's Grimoire: April 2025
I really haven't done a review of my months since November. I've been deep in hibernation mode,...
3rd May 2025
I really haven't done a review of my months since November. I've been deep in hibernation mode, conserving energy for what will be a busy few months. I started to write a log about what happened in March, the first March that did not drag on this year, at least for me, but now...
Eric Migicovsky's...
The best product analytics tools for startups, compared
A tale as old as time: a founding team ships their MVP, installs Google Analytics , watches...
4th Mar 2026
A tale as old as time: a founding team ships their MVP, installs Google Analytics , watches pageview numbers go up, and feels good about themselves…
Basta’s Notes
What I have been so busy with
How I built a website that lots of you will probably hate
8th Feb 2024
How I built a website that lots of you will probably hate
Joel Gascoigne
Bright & Early Podcast with Brian Rhea
I had the pleasure of being interviewed by Brian Rhea on the Bright & Early podcast. Listen above,...
19th Feb 2019
I had the pleasure of being interviewed by Brian Rhea on the Bright & Early podcast. Listen above, and see more details here.
elementary Blog
More Apps, More Features, More Cowbell!
Hot off the release of OS 8.0.2, we’ve got a great new batch of feature updates for you as we get...
6th Oct 2025
Hot off the release of OS 8.0.2, we’ve got a great new batch of feature updates for you as we get closer to the release of elementary OS 8.1!
Maps
The first stable release of elementary Maps is now available for download on any Linux OS. For now we’ve focused on some of the...
swyx's site RSS Feed
Date Me!
if you like me, and you're interested but never thought to ask, just ask!
2nd Jan 2025
if you like me, and you're interested but never thought to ask, just ask!
Jibran’s Perspective
Bootstrap with Ruby on Rails 7
If you have a brand new RoR 7 project that you created with the defaults by running rails new...
6th Aug 2022
If you have a brand new RoR 7 project that you created with the defaults by running rails new <PROJECT> then you can safely follow the following steps to get Bootstrap 5 installed in your project.
Install gems
Add the following to your Gemfile and run bundle install.
gem...
A Beautiful Site
Convert arrays to CSV with PHP
The following snippet will convert a simple PHP array into CSV (comma-separated values)...
3rd Oct 2007
The following snippet will convert a simple PHP array into CSV (comma-separated values) format.
function csv($array) {
$csv = "";
for ($i = 0; $i < count($array); $i++) {
$csv .= '"' . str_replace('"', '""', $array[$i]) . '"';
if ($i < count($array) - 1) $csv .= ",";
...
Philip I. Thomas
What I'm up to - November 2023
This is my monthly newsletter about what I'm up to, which I send in place of social media. What I...
1st Nov 2023
This is my monthly newsletter about what I'm up to, which I send in place of social media. What I did in October - Switched my daily driver Aeropress coffee recipe to this one by Jonathan Gagné. It p...
Max Schmitt
Next.js: The Easiest Way to Create an API Proxy (2023)
Read the post here.
27th Sep 2023