Welcome! BoredReading is a fresh way to read high quality articles (updated every hour). Our goal is to curate (with your help) Michelin star quality articles (stuff that's really worth reading). We currently have 32,858 articles in 16 categories from architecture, history, design, technology, and more. Grab a cup of freshly brewed coffee and start reading. This is the best way to increase your attention span, grow as a person, and get a better understanding of the world (or atleast that's why we built it).
I recently had the pleasure of reading anthropologist David Graeber’s 2018 book, Bullshit Jobs: A Theory. Graeber defines a bullshit job as, a form of paid employment that is so completely pointless, unnecessary, or pernicious that even the employee cannot justify its existence...
TokyoDev
Why Do Japanese Companies Hire International Developers?TokyoDev has already reported that Japan really needs international developers. But the more...
TokyoDev has already reported that Japan really needs international developers. But the more Japanese companies we’ve interviewed, the more we’ve realized that a talent shortage is not the only reason for Japanese companies to hire from overseas. There are a host of other...
Liz Denys
The night sky and finding hope in the darkI found inspiration for this pitcher's glaze design in the night sky.
Whenever I feel lost, I know...
I found inspiration for this pitcher's glaze design in the night sky.
Whenever I feel lost, I know I can always look up and be under the same night sky, no matter where I am. Whenever I feel alone, I know I can always look up and feel connected to humanity, everyone else looking...
The History of the...
What happens to what we’ve already created?When we think about AI, we can't only think of what it has generated. We need to think about what it...
When we think about AI, we can't only think of what it has generated. We need to think about what it does to what the world has already created.
The post What happens to what we’ve already created? appeared first on The History of the Web.
wingolog
whippet at fosdemHey all, the video of my is up:FOSDEM talk on Whippet
Slides ,
if that’s your thing.here
I ended...
Hey all, the video of my is up:FOSDEM talk on Whippet
Slides ,
if that’s your thing.here
I ended the talk with some puzzling results around generational
collection, which prompted .
I don’t have a firm answer yet. Or rather, perhaps for the splay
benchmark, it is to be expected...
charity.wtf
Corporate “DEI” is an imperfect vehicle for deeply meaningful idealsI have not thought or said much about DEI (Diversity, Equity and Inclusion) over the years. Not...
I have not thought or said much about DEI (Diversity, Equity and Inclusion) over the years. Not because I don’t care about the espoused ideals — I suppose I do, rather a lot — but because corporate DEI efforts have always struck me as ineffective and bland; bolted on at best, if...
Confessions of a...
Recording: How Modern CPUs Execute Your Code: A Deep Dive into Performance Watch now | We concluded the latest live session yesterday.
These are a mix of stories from Norway, Croatia, and Slovenia from some past trips. Make Serbia Great Again Our first stop is the city of Dubrovnik in Croatia, which has become well known being the primary filming location for Game of Thrones seasons 2 – 8. I watched the series,...
On Test Automation
Improving the tests for RestAssured.Net with mutation testing and Stryker.NETWhen I build and release new features or bug fixes for RestAssured.Net, I rely heavily on the...
When I build and release new features or bug fixes for RestAssured.Net, I rely heavily on the acceptance tests that I wrote over time. Next to serving as living documentation for the library, I run these tests both locally and on every push to GitHub to see if I didn’t...
ntietz.com blog -...
What's in a ring buffer? And using them in RustWorking on my cursed MIDI project, I needed a way to store the most recent messages without risking...
Working on my cursed MIDI project, I needed a way to store the most recent messages without risking an unbounded amount of memory usage.
I turned to the trusty ring buffer for this!
I started by writing a very simple one myself in Rust, then I looked and what do you know, of...
wingolog
baffled by generational garbage collectionUsually in this space I like to share interesting things that I find
out; you might call it a...
Usually in this space I like to share interesting things that I find
out; you might call it a research-epistle-publish loop. Today, though,
I come not with answers, but with questions, or rather one question, but
with fractal surface area: what is the value proposition...
A Smart Bear
Our unhealthy fixation with emulating #1Being "undefeated" or "#1" might be more luck than you know.
In my previous post, there was a first for this site: I embedded a post from Mastodon.
Like many social media services, Mastodon has built-in support for embedding posts.
If you’re looking at a public post, you can get a snippet of HTML and JavaScript to show that post in another...
David Heinemeier...
Serving the countryIn 1940, President Roosevelt tapped William S. Knudsen to run the government's production of...
In 1940, President Roosevelt tapped William S. Knudsen to run the government's production of military equipment. Knudsen had spent a pivotal decade at Ford during the mass-production revolution, and was president of General Motors, when he was drafted as a civilian into service...
alexwlchan
Unexpected errors in the BagIt areaLast week, James Truitt asked a question on Mastodon:
James Truitt (he/him)
...
Last week, James Truitt asked a question on Mastodon:
James Truitt (he/him)
@linguistory@code4lib.social
Mastodon
#digipres folks happen to have a handy repo of small invalid bags for testing purposes?
I'm trying to...
Marc Astbury
The Exodus CurveThe concept of Product-Market Fit (PMF) collapse has gained renewed attention with the rise of large...
The concept of Product-Market Fit (PMF) collapse has gained renewed attention with the rise of large language models (LLMs), as highlighted in a recent Reforge article. The article argues we’re witnessing unprecedented market disruption, in this post, I propose we’re experiencing...
David Heinemeier...
Servers can last a long timeWe bought sixty-one servers for the launch of Basecamp 3 back in 2015. Dell R430s and R630s, packing...
We bought sixty-one servers for the launch of Basecamp 3 back in 2015. Dell R430s and R630s, packing thousands of cores and terabytes of RAM. Enough to fill all the app, job, cache, and database duties we needed. The entire outlay for this fleet was about half a million dollars,...
Irrational...
How should we control access to user data?At some point in a startup’s lifecycle, they decide that they
need to be ready to go public in 18...
At some point in a startup’s lifecycle, they decide that they
need to be ready to go public in 18 months, and a flurry of IPO-readiness
activity kicks off.
This strategy focuses on a company working on IPO readiness,
which has identified a gap in their internal controls for...
Alex MacCaw
AGI, agents, and timelinesAGI is coming—whether we’re ready or not. I’ve been convinced of this trajectory since GPT-3’s...
AGI is coming—whether we’re ready or not. I’ve been convinced of this trajectory since GPT-3’s release, but recent developments have significantly accelerated my timelines.
The first major shift was OpenAI’s breakthrough in test-time compute and its newly demonstrated scaling...
Dan Quach Blog
State of Data Engineering 2025 Q1AI Updates There is a lot of chatter about 2025 being the year of agentic frameworks. To me, this...
AI Updates There is a lot of chatter about 2025 being the year of agentic frameworks. To me, this means a system in which a subset can allow AI models to take independent actions based on their environment, typically interacting with external APIs or interfaces. The terminology...
On Test Automation
On working and contributing to conferences abroadThis blog post is another one in the ‘writing things down to structure my thinking on where I want...
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...
Elad Blog
Leaving DelawareThis post covers why companies are considering reincorporating from Delaware to Nevada & Texas
A few weeks ago I ran a terminal survey (you can read the results here) and at the end I asked:
What’s the most frustrating thing about using the terminal for you?
1600 people answered, and I decided to spend a few days categorizing all the
responses. Along the way I learned that...
Ink & Switch
Thinking with ink, spreadsheets for exploring scenarios, and a local-first key agreement protocolA project from our programmable ink track, a spreadsheet for exploring scenarios, and a new...
AI slop is everywhere. But what even is slop and is AI really to blame?
The Codist
Giving Junior Engineers Control Of A Six Trillion Dollar System Is NutsFor some purpose, the DOGE people are burrowing their way into all US Federal Systems. Their...
For some purpose, the DOGE people are burrowing their way into all US Federal Systems. Their complete control over the Treasury Department is entirely insane.
Unless you intend to destroy everything, making arbitrary changes to complex computer systems will result in destruction,...
Liz Denys
Rising sea levels, eroding beaches, melting ice capsWhen I was glazing this v60-style cone, I was thinking of rising sea levels, eroding beaches, and...
When I was glazing this v60-style cone, I was thinking of rising sea levels, eroding beaches, and melting ice caps.
Trying to tackle large challenges like climate change is overwhelming in the best of times, and these are not the best of times. There are many things we can...
Irrational...
Our own agents with their own tools.Entering 2025, I decided to spend some time exploring the topic of agents.
I started reading...
Entering 2025, I decided to spend some time exploring the topic of agents.
I started reading Anthropic’s Building effective agents,
followed by Chip Huyen’s AI Engineering.
I kicked off a major workstream at work on using agents, and I also decided to do a personal experiment of...
alexwlchan
Making inventory spreadsheets for my LEGO setsOne of my recent home organisation projects has been sorting out my LEGO collection.
I have a bunch...
One of my recent home organisation projects has been sorting out my LEGO collection.
I have a bunch of sets which are mixed together in one messy box, and I’m trying to separate bricks back into distinct sets.
My collection is nowhere near large enough to be worth sorting by...
Eric Bailey
Stanislav PetrovA lieutenant colonel in the Soviet Air Defense Forces prevented the end of human civilization on...
A lieutenant colonel in the Soviet Air Defense Forces prevented the end of human civilization on September 26th, 1983. His name was Stanislav Petrov.
Protocol dictated that the Soviet Union would retaliate against any nuclear strikes sent by the United States. This was a policy...
Ink & Switch
01 · A spreadsheet for exploring scenariosIn our *Ambsheets* project, we are exploring a small extension to the familiar spreadsheet: **what...
In our *Ambsheets* project, we are exploring a small extension to the familiar spreadsheet: **what if a single spreadsheet cell could hold multiple values at once**?
macwright.com
RecentlyI am not going to repeat the news. But man, things are really,
really bad and getting worse in...
I am not going to repeat the news. But man, things are really,
really bad and getting worse in America. It’s all so unendingly
stupid and evil. The tech industry is being horrible, too. Wishing strength to the people who
are much more exposed to the chaos than I am.
Reading
A...
ntietz.com blog -...
Summarizing our recommendations for software documentationLast year, my coworker Suzanne and I got a case study accepted into an ethnography conference!
She's...
Last year, my coworker Suzanne and I got a case study accepted into an ethnography conference!
She's an anthropologist by training, and I'm a software engineer.
How'd we wind up there?
The short version is I asked her what I thought was an interesting question, and she thought it...
A Smart Bear
The Startup Drake EquationWhy do smart, driven founders fail, despite having great ideas and execution? This model offers an...
Why do smart, driven founders fail, despite having great ideas and execution? This model offers an answer, and a path to increase the chance of success.
orlp.net - Blog...
Why Bad AI Is Here to StayIt seems that in 2025 a lot of people fall into one of two camps when it comes
to AI: skeptic or...
It seems that in 2025 a lot of people fall into one of two camps when it comes
to AI: skeptic or fanatic. The skeptic thinks AI sucks, that it’s overhyped, it
only ever parrots nonsense and it will all blow over soon. The fanatic thinks
general human-level intelligence is just...
alexwlchan
Adding auto-generated cover images to EPUBs downloaded from AO3I was chatting with a friend recently, and she mentioned an annoyance when reading fanfiction on her...
I was chatting with a friend recently, and she mentioned an annoyance when reading fanfiction on her iPad.
She downloads fic from AO3 as EPUB files, and reads it in the Kindle app – but the files don’t have a cover image, and so the preview thumbnails aren’t very readable:
...
Nelson's Weblog
Non-alcoholic apéritifsI’ve been doing Dry January this year. One thing I missed was
something for apéro hour, a beverage...
I’ve been doing Dry January this year. One thing I missed was
something for apéro hour, a beverage to mark the start of the evening.
Something complex and maybe bitter, not like a drink you’d have with
lunch. I found some good options.
Ghia sodas are my favorite. Ghia
is an NA...
David Heinemeier...
It burnsThe first time we had to evacuate Malibu this season was during the Franklin fire in early December....
The first time we had to evacuate Malibu this season was during the Franklin fire in early December. We went to bed with our bags packed, thinking they'd probably get it under control. But by 2am, the roaring blades of fire choppers shaking the house got us up. As we sped down...
Blog - Bitfield...
Slow, flaky, and failingThou shalt not suffer a flaky test to live, because it’s annoying,
counterproductive, and...
Thou shalt not suffer a flaky test to live, because it’s annoying,
counterproductive, and dangerous: one day it might fail for real, and you
won’t notice. Here’s what to do.
bunnie's blog
Name that Ware, January 2025The ware for January 2025 is shown below. Thanks to brimdavis for contributing this ware! …back in...
The ware for January 2025 is shown below. Thanks to brimdavis for contributing this ware! …back in the day when you would get wares that had “blue wires” in them… One thing I wonder about this ware is…where are the ROMs? Perhaps I’ll find out soon! Happy year of the snake!
Irrational...
Is engineering strategy useful?While I frequently hear engineers bemoan a missing strategy,
they rarely complete the thought by...
While I frequently hear engineers bemoan a missing strategy,
they rarely complete the thought by articulating why the missing strategy matters.
Instead, it serves as more of a truism: the economy used to be better,
children used to respect their parents,
and engineering...
Computer Things
What hard thing does your tech make easy?I occasionally receive emails asking me to look at the writer's new language/library/tool. Sometimes...
I occasionally receive emails asking me to look at the writer's new language/library/tool. Sometimes it's in an area I know well, like formal methods. Other times, I'm a complete stranger to the field. Regardless, I'm generally happy to check it out.
When starting out, this is...
Dan Slimmon
Incident SEV scales are a waste of timeAsk an engineering leader about their incident response protocol and they’ll tell you about their...
Ask an engineering leader about their incident response protocol and they’ll tell you about their severity scale. “The first thing we do is we assign a severity to the incident,” they’ll say, “so the right people will get notified.” And this is sensible. In order to figure out...
Epic Web Dev
Why I Won’t Use JSDOM (article)Explore how JSDOM's browser simulation works, and learn front-end testing approaches using Vitest...
Explore how JSDOM's browser simulation works, and learn front-end testing approaches using Vitest Browser Mode for direct browser testing and native APIs
The History of the...
Would the internet exist today if the printing press didn’t come before it?The breakthroughs of the web are often compared to the printing press. But could the former exist...
The breakthroughs of the web are often compared to the printing press. But could the former exist without the latter?
The post Would the internet exist today if the printing press didn’t come before it? appeared first on The History of the Web.
Confessions of a...
A Software Engineer's Guide to Reading Research PapersMy personal framework for reading research papers
Container queries expand the universe of designs that can be implemented, giving us whole new superpowers. Now that container queries are broadly available, I think it’s time we start exploring this potential! In this post, I’ll share the “killer pattern” I can’t stop using in my...
Charles Chen
The Inverted Reactivity Model of ReactA quick take on the 'inverted' reactivity model of React compared to vanilla JS, Vue, and other...
It's kind of dark times right now.
And I'm definitely only talking about the days being short.
It's pretty dark out right now, since it's the winter in the northern hemisphere.
Every year, I start to realize somewhere around January that I'm tired, really tired, and don't want to...
Josh Collinsworth
Goodbye, Griff. You were a good boy.A tribute to the member of our family we lost this weekend.
Modern software development has created a paradox: we build increasingly complex systems, yet fewer engineers understand how these systems work under the hood.
The Codist
What I Miss And Don't From Working As A ProgrammerI retired almost four years ago after nearly 40 years as a programmer. While I still write code...
I retired almost four years ago after nearly 40 years as a programmer. While I still write code daily, I do so to support my generative art rather than get paid for it.
Most of my career was spent building new applications, and no matter what my title was, I
Daniel Marino
What I’m Using in 2025I’ve always been fascinated to see what other apps or workflows others are using in their day-to-day...
I’ve always been fascinated to see what other apps or workflows others are using in their day-to-day lives. Every now and then I learn about a new app or some cool trick I didn’t previously know. I doubt anyone seriously cares about what I’m using, but figured I’d list them out...
Josh Collinsworth
Rare words in common phrases, and how to avoid getting them wrongA running list of uncommon, strange, and/or archaic words embedded in common idioms, to help you...
A running list of uncommon, strange, and/or archaic words embedded in common idioms, to help you type them correctly next time you use them.
Irrational...
"We're a product engineering company!" -- Engineering strategy at Calm.In my career, the majority of the strategy work I’ve done has been in non-executive roles,
things...
In my career, the majority of the strategy work I’ve done has been in non-executive roles,
things like Uber’s service migration.
Joining Calm was my first executive role, where I was able to not just propose, but also mandate, strategy.
Like almost all startups, the engineering...
dthompson
Guile-websocket 0.2.0 releasedI'm happy to announce that guile-websocket 0.2.0 has been released!
Guile-websocket is an...
I'm happy to announce that guile-websocket 0.2.0 has been released!
Guile-websocket is an implementation of the WebSocket
protocol, both the
client and server sides, for Guile Scheme.
This release introduces breaking changes that overhaul the client and
server implementations in...
Computer Things
The Juggler's CurseI'm making a more focused effort to juggle this year. Mostly boxes, but also classic balls too.1...
I'm making a more focused effort to juggle this year. Mostly boxes, but also classic balls too.1 I've gotten to the point where I can almost consistently do a five-ball cascade, which I thought was the cutoff to being a "good juggler". "Thought" because I now know a "good...
the singularity is...
Death of the VisceralPulled up at a stop light
Imagine flying an x-wing down a corridor, having to turn the plane...
Pulled up at a stop light
Imagine flying an x-wing down a corridor, having to turn the plane sideways to fit, a missile on your tail and closing, hitting the turbo, feeling the g force, coming up on the end of the corridor, pulling back hard on the stick the second the corridor...
wingolog
here we go againGood evening, fey readers. Tonight, a note on human rights and human
wrongs.
I am in my...
Good evening, fey readers. Tonight, a note on human rights and human
wrongs.
I am in my mid-fourties, and so I have seen some garbage governments in
my time; one of the worst was Trump’s election in 2016. My heart ached in
so many ways, but most of all for immigrants in the US....
David Heinemeier...
Waiting on redAmericans often laugh when they see how often Danes will patiently, obediently wait on the little...
Americans often laugh when they see how often Danes will patiently, obediently wait on the little red man to turn green before crossing an empty intersection, in the rain, even at night. Nobody is coming! Why don't you just cross?! It seems silly, but the underlying philosophy is...
alexwlchan
Looking at images in a spreadsheetI’ve had a couple of projects recently where I needed to work with a list that involved images.
For...
I’ve had a couple of projects recently where I needed to work with a list that involved images.
For example, choosing a series of photos to print, or making an inventory of Lego parts.
I could write a simple text list, but it’s really helpful to be able to see the images as part...
Ink & Switch
02 · Group Key Agreement with BeeKEMHow Beehive groups can agree on keys over time
Trump is back at the helm of the United States, and the majority of Americans are optimistic about the prospect. Especially the young. In a poll by CBS News, it's the 18-29 demographic that's most excited, with a whopping two-thirds answering in the affirmative to being...
swyx's site RSS Feed
Home Assistant Voice Preview is an unusable mess.I just got a Home Assistant Voice recently. I was so excited to try it out as a programmable Alexa.
My writing process, and how I keep it sustainableRecently, a reader wrote to me and asked about my writing process and burnout.
They had an image in...
Recently, a reader wrote to me and asked about my writing process and burnout.
They had an image in their head that I could sit down at a computer and type up a full post on a given topic, but were unsure if that's the right approach when they start blogging.
And they were...
Basta’s Notes
I'm going to run for presidentAnd I want you to be angry, too
As is the case every year, 2025 is starting off relatively slowly. There’s not a lot of training courses to run yet, and since a few of the projects I worked on wrapped up in December, I find myself with a little bit of extra time and headspace on my hands. I actually enjoy these...
A Smart Bear
"Stealth mode" and other f'ing brilliant strategiesOh you secretive devil! The last thing you need is anyone finding out about your startup. Like...
Wasm GC is a wonderful thing that is now available in all major web
browsers since slowpoke Safari/WebKit finally shipped it in December.
It provides a hierarchy of heap allocated reference types and a set of
instructions to operate on them. Wasm GC enables managed...
Blog System/5
Hands-on graphics without X11A crash course on direct framebuffer and keyboard access via NetBSD’s wscons
Watch now (22 mins) | Is the TLB really flushed during context switches?
alexwlchan
randline: get a random selection of lines in a file using reservoir samplingI’ve posted another command-line tool on GitHub: randline, which gives you a random selection of...
I’ve posted another command-line tool on GitHub: randline, which gives you a random selection of lines in a file:
$ randline < /usr/share/dict/words
ultraluxurious
$ randline 3 < /usr/share/dict/words
unexceptionably
baselessness
salinity
There are lots of tools that solve...
Irrational...
Bridging theory and practice in engineering strategy.Some people I’ve worked with have lost hope that engineering strategy
actually exists within any...
Some people I’ve worked with have lost hope that engineering strategy
actually exists within any engineering organizations.
I imagine that they, reading through the
steps to build engineering strategy,
or the strategy for navigating private equity ownership,
are not impressed....
Computer Things
What are the Rosettas of formal specification?First of all, I just released version 0.6 of Logic for Programmers! You can get it here. Release...
First of all, I just released version 0.6 of Logic for Programmers! You can get it here. Release notes in the footnote.1
I've been thinking about my next project after the book's done. One idea is to do a survey of new formal specification languages. There's been a lot of new...
James Vaughan's blog
A surprising scam email that evaded Gmail's spam filter
Live Session: How Modern CPUs Execute Your Code: A Deep Dive into PerformanceI hope you enjoyed the recent article on how Unix spell was designed to lookup a 250kB dictionary on...
You have a dependency that provides a CLI tool, how do you use it?
Even though you did npm i from your project root, if you run <tool> <command> it won’t work because that tool is not in your global path.
You could install <tool> globally, but then if you have <tool> in multiple...
Blog - Bitfield...
How to know when it's time to goLeaving a job is never easy, and it’s a consequential decision. But when
it’s time, it’s time....
Leaving a job is never easy, and it’s a consequential decision. But when
it’s time, it’s time. Here’s how to escape the comfort trap, and take the
next step in your career.
wingolog
an annoying failure mode of copying nurseriesI just found a funny failure mode in the
garbage collector and
thought readers might be...
I just found a funny failure mode in the
garbage collector and
thought readers might be amused.Whippet
Say you have a semi-space nursery and a semi-space old generation. Both
are block-structured. You are allocating live data, say, a long linked
list. Allocation fills the...
Basta’s Notes
The ghosts that lives in my garageSome thoughts about machine learning
A project I'm working on (which is definitely not my SIGBOVIK submission for this year, and definitely not about computer ergonomics) requires me to use MIDI.
And to do custom handling of it.
So I need something that receives those MIDI events and handles them.
But... I'm going...
Maggie Appleton
Common Misconceptions in AICommon Misconceptions About the Complexity in Robotics vs AI by Dan Ogawa
How do you fit a dictionary in 64kb RAM? Unix engineers solved it with clever data structures and compression tricks. Here's the fascinating story behind it.
A Smart Bear
The Important Thing -- powerful enough to override all your deficienciesThis is the reason that startups succeed despite their many weaknesses. And it's a reason to build a...
A real-world test of artificial intelligence infiltration of a university examinations system: A “Turing Test” case study by Peter Scarfe, Kelly Watcham, Alasdair Clarke, Etienne Roesch
Julia Evans
What's involved in getting a "modern" terminal setup?Hello! Recently I ran a terminal survey and I asked people what frustrated
them. One person...
Hello! Recently I ran a terminal survey and I asked people what frustrated
them. One person commented:
There are so many pieces to having a modern terminal experience. I wish it
all came out of the box.
My immediate reaction was “oh, getting a modern terminal experience isn’t...
I was just enjoying Simon Willison’s predictions and, heck, why not.
1: The web becomes adversarial to AI
The history of search engines is sort of an arms race between
websites and search engines. Back in the early 2000s, juicing your
ranking on search engines was pretty easy -...
Blog System/5
Self-documenting MakefilesMake, as arcane as a build tool can be, may still be a good first fit for certain scenarios. Let's...
Make, as arcane as a build tool can be, may still be a good first fit for certain scenarios. Let's see how to make a build more palatable in this day and age if you choose this tool.
Jim Nielsen’s Blog
Don’t Miss the Product for the ArtifactsEver hear that idiom, “Don’t miss the forest for the trees”? The idea being, you miss the bigger...
Ever hear that idiom, “Don’t miss the forest for the trees”? The idea being, you miss the bigger picture because you’re focused on the minutia?
Feels like the tech equivalent is: Don’t miss the product for the artifacts.
Here’s Ryan Rendle in a recent piece on design...
Irrational...
Uber's service migration strategy circa 2014.In early 2014, I joined as an engineering manager for Uber’s Infrastructure team.
We were...
In early 2014, I joined as an engineering manager for Uber’s Infrastructure team.
We were responsible for a wide number of things, including provisioning new services.
While the overall team I led grew significantly over time,
the subset working on service provisioning never
grew...
wingolog
ephemerons vs generations in whippetHappy new year, hackfolk! Today, a note about
. I thought I was
done with them, but it seems they...
Happy new year, hackfolk! Today, a note about
. I thought I was
done with them, but it seems they are not done with me. The question at hand is, how do we
efficiently and correctly implement ephemerons in a generational
collector? ‘s answer turns out to be simple but...
swyx's site RSS Feed
Designing a LogoI recently kicked off a 99designs contest for a new logo:...
I recently kicked off a 99designs contest for a new logo: https://99designs.com/logo-design/contests/logo-brand-ai-engineering-podcast-help-define-industry-1307842/
The Changelog
Censorship Is Complicated: What Internet History Says about Meta/FacebookIn light of this week’s announcement by Meta (Facebook, Instagram, Threads, etc), I have been...
In light of this week’s announcement by Meta (Facebook, Instagram, Threads, etc), I have been pondering this question: Why am I, a person that has long been a staunch advocate of free speech and encryption, leery of sites that talk about being free speech-oriented? And, more to...
Testing Accessibility with Screen Readers (article)Dive into the world of screen reader testing and discover why relying on a single tool isn't enough....
Dive into the world of screen reader testing and discover why relying on a single tool isn't enough. Create genuinely accessible web apps that work for everyone
alexwlchan
How I test Rust command-line apps with `assert_cmd`Rust has become my go-to language for my personal toolbox – small, standalone utilities like...
Rust has become my go-to language for my personal toolbox – small, standalone utilities like create_thumbnail, emptydir, and dominant_colours.
There’s no place for Rust in my day job, so having some self-contained hobby projects means I can still have fun playing with it.
I’ve...
Computer Things
"Logic for Programmers" Project UpdateHappy new year everyone!
I released the first Logic for Programmers alpha six months ago. There's...
Happy new year everyone!
I released the first Logic for Programmers alpha six months ago. There's since been four new versions since then, with the November release putting us in beta. Between work and holidays I didn't make much progress in December, but there will be a 0.6...
David Heinemeier...
The social media censorship era is over (for now)Mark Zuckerberg just announced a stunning pivot for Meta's approach to social media censorship....
Mark Zuckerberg just announced a stunning pivot for Meta's approach to social media censorship. Here's what he's going to do:
Replace third-party fact checkers with community notes ala X.
Allow free discussion on immigration, gender, and other topics that were heavily censored...
The History of the...
Progressive enhancement brings everyone inEarly computers faced unexpected failures, and that gave us graceful degradation. But on the web, we...
Early computers faced unexpected failures, and that gave us graceful degradation. But on the web, we needed something different. We needed progressive enhancement.
The post Progressive enhancement brings everyone in appeared first on The History of the Web.
Maggie Appleton
How to Import Academic Papers from Zotero into TanaHow to use Zotero's translator and Tana Paste formatting to easily import papers into Tana
Jim Carey once said that he hoped everyone could "...get rich and famous and do everything they dreamed of so they can see that it is not the answer". And while I sorta agree, I think the opposite position also has its appeal: That believing in a material fix to the problem of...
swyx's site RSS Feed
Actually Structured Journaling (Jan 2025)I was very excited when I saw Cal Newport's episode on Structured Journaling come up, but I was...
2024 has come and gone, and it’s time for my annual post. What a year for startups—like squeezing five regular years into one. Do you remember the Apple Vision Pro, the DMA regulation, founder mode, or the o1 launch? All of that happened in just the last twelve months.
It’s also...
ntietz.com blog -...
Great things about Rust that aren't just performanceNearly every line of code I write for fun is in Rust.
It's not because I need great performance,...
Nearly every line of code I write for fun is in Rust.
It's not because I need great performance, though that's a nice benefit.
I write a lot of Rust because it's a joy to write code in.
There is so much else to love about Rust beyond going fast without segfaults.
Here are a few...
David Crawshaw
How I program with LLMsHow I program with LLMs
2025-01-06
This document is a summary of my personal experiences using...
How I program with LLMs
2025-01-06
This document is a summary of my personal experiences using generative models while programming over the past year. It has not been a passive process. I have intentionally sought ways to use LLMs while programming to learn about them. The result...
dthompson
Guile-Bstructs 0.1.0 releasedI'm pleased to announce that the very first release of guile-bstructs,
version 0.1.0, has been...
I'm pleased to announce that the very first release of guile-bstructs,
version 0.1.0, has been released! This is a library I've been working
on for quite some time and after more than one rewrite and many
smaller refactors I think it's finally ready to release publicly.
Let's...
A Smart Bear
Explore vs ExecuteThe two main business modalities are more different than you expect. When you hit PMF, it's a...
Last year I was grateful to write my review whilst sitting outside a cafe in Dali, embracing the cool 15 degree climate. This year, I’m in freezing cold Sapporo drinking a carton of the delicious local milk. For simplicity, I’m largely sticking to the format from my 2023 annual...
alexwlchan
How I use the notes field in my password managerI use 1Password to store the passwords for my online accounts, and I’ve been reviewing it as a new...
I use 1Password to store the passwords for my online accounts, and I’ve been reviewing it as a new year cleanup task.
I’ve been deleting unused accounts, changing old passwords which were weak, and making sure I’ve enabled multi-factor authentication for key accounts.
Each...
Maggie Appleton
Growing a Human: The First 30 WeeksReflections on the strange experience of growing a human from scratch, without any conscious...
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...
Blog - Bitfield...
The magic functionHow do you design user-friendly APIs in Rust? The answer is simple: you use
them! Let’s build a...
How do you design user-friendly APIs in Rust? The answer is simple: you use
them! Let’s build a simple Rust CLI tool using what I call the “magic
function” approach.
Irrational...
Refining strategy with Wardley Mapping.The first time I heard about Wardley Mapping was
from Charity Majors discussing it on Twitter.
Of...
The first time I heard about Wardley Mapping was
from Charity Majors discussing it on Twitter.
Of the three core strategy refinement techniques,
this is the technique that I’ve personally used the least.
Despite that, I decided to include it in this book because it
highlights how...
swyx's site RSS Feed
Date meif you like me, and you're interested but never thought to ask, just ask!
As the final part of our move out of the cloud, we are working on moving 10 petabytes of data out of AWS Simple Storage Service (S3). After exploring different alternatives, we decided to go with Pure Storage FlashBlade solution.
We store different kinds of information on S3,...
Ralph Ammer
Xunzi vs. Mengzi – Are People (No) Good?About 2300 years ago, the great Chinese thinker Xunzi 荀⼦ wrote: “Human nature is bad“. But he wasn’t...
About 2300 years ago, the great Chinese thinker Xunzi 荀⼦ wrote: “Human nature is bad“. But he wasn’t just having a bad day. The question—Are humans fundamentally good or bad?—is a major fork in the road. How you answer this question profoundly impacts your morals and how you live...
Quentin Santos
Rust Gotcha: last() on DoubleEndedIteratortl;dr: don’t call last() on a DoubleEndedIterator How do you efficiently get the last part of a...
tl;dr: don’t call last() on a DoubleEndedIterator How do you efficiently get the last part of a space-separated string in Rust? It will be obvious to some, but the obvious answer of s.split(' ').last() is wrong. The mistake is easy to make; I encountered it in a recent MR I...
Happy New Year: Diffusion Model image generator in about 700 lines of pure SQLRegular readers of my blog will be aware that SQL is an excellent tool for graphics. You can use it...
Regular readers of my blog will be aware that SQL is an excellent tool for graphics. You can use it to draw snowflakes, fractals, ray-traced 3D pictures, and many other things. SQL art is beautiful, albeit slow to generate. These days they say AI is taking over, and human-made...
Ognjen Regoje •...
A review of the blog in 2024I didn’t write much this year.
The projects that I worked on (at work) used up most of my creative...
I didn’t write much this year.
The projects that I worked on (at work) used up most of my creative mental capacity leaving little for writing.
The backlog is brimming, however.
Targets for 2024
❌ Publish at least 40 posts
11
❌ Reach at least 200k readers
Don’t have an...
bunnie's blog
Name that Ware, December 2024The ware for December 2024 is shown below. This one should be a cakewalk, and I’m mostly sharing it...
The ware for December 2024 is shown below. This one should be a cakewalk, and I’m mostly sharing it because I had trouble searching for a recent example at an image quality sufficient to make out most of the part numbers. Maybe this can help someone else in a similar fix! Warm...
ByteofDev
My 2025 JavaScript WishlistJavaScript has a lot of room for improvement. These five things are especially important.
The International Obfuscated C Code Contest has a newly
revamped web site, and the Judges have announced the 28th contest, to
coincide with its 40th anniversary. (Or 41st?)
The Judges have also updated the archive of past winners so
that as many of them as possible work on modern...
alexwlchan
My favourite books from 2024I read 58 books this year – slightly down on last year, but I’m still happy with that number.
I...
I read 58 books this year – slightly down on last year, but I’m still happy with that number.
I spent a lot of time this on my own writing and crafting, and I had less time for books.
I returned to a couple of favourite authors and their latest releases – including Toshikazu...
Jim Nielsen’s Blog
Podcast Notes: Vlad Prelovac on “The Talk Show”Vlad Prelovac is the CEO of Kagi: a search engine you have to pay for.
He’s on episode 416 of John...
Vlad Prelovac is the CEO of Kagi: a search engine you have to pay for.
He’s on episode 416 of John Gruber’s The Talk Show to discuss why he thinks we should be paying for search.
Hearing his point of view is compelling. I quite enjoyed the entire podcast. So much, in fact, that I...
blag
Collection of insane and fun facts about SQLiteSome of the interesting and insane facts I learned about SQLite
If you do things a few times, they're a tradition.
This is the third time I'm writing one of these, so I guess it's an annual tradition now!
This is where I reflect on the year that's been, and talk some about my hopes and goals for the next year.
Reflecting on 2024
This year has...
Confessions of a...
Linux Context Switching Internals: Part 1 - Process State and MemoryHow does the Linux kernel represent processes and their state: A breakdown of task_struct and...
by Alexis Degryse
I think we all know the <datalist> element (and if you don’t, it’s ok). It holds a list of <option> elements, offering suggested choices for its associated input field.
It’s not an alternative for the <select> element. A field associated to a <datalist> can...
Irrational...
How to effectively refine engineering strategy.In Jim Collins’ Great by Choice,
he develops the concept of Fire Bullets, Then Cannonballs.
His...
In Jim Collins’ Great by Choice,
he develops the concept of Fire Bullets, Then Cannonballs.
His premise is that you should cheaply test new ideas before fully committing to them.
Your organization can only afford firing a small number of cannonballs, but it can bankroll far more...
Blog System/5
Revisiting the NetBSD build systemI recently picked up an embedded project in which I needed to build a highly customized full system...
I recently picked up an embedded project in which I needed to build a highly customized full system image with minimal boot times and NetBSD was the best choice for it. Let's look at why its build system helps.
HTMHell
Boost website speed with prefetching and the Speculation Rules APIby Schepp
Everybody loves fast websites, and everyone despises slow ones even more. Site speed...
by Schepp
Everybody loves fast websites, and everyone despises slow ones even more. Site speed significantly contributes to the overall user experience (UX), determining whether it feels positive or negative. To ensure the fastest possible page load times, it’s crucial to design...
TokyoDev
TokyoDev’s 2024 Recap: Challenges, Milestones, and the Road AheadIn 2023, I scaled TokyoDev from a one-man operation to a team. The idea was to get some tasks off my...
In 2023, I scaled TokyoDev from a one-man operation to a team. The idea was to get some tasks off my plate, but while I’ve succeeded at passing off responsibilities to others, I somehow didn’t gain any more free time. This is because working with new people also created new ideas...
HTMHell
Misleading Icons: Icon-Only-Buttons and Their Impact on Screen Readersby Alexander Muzenhardt
Introduction
Imagine you’re tasked with building a cool new feature for a...
by Alexander Muzenhardt
Introduction
Imagine you’re tasked with building a cool new feature for a product. You dive into the work with full energy, and just before the deadline, you manage to finish it. Everyone loves your work, and the feature is set to go live the next...
alexwlchan
I deleted all my tweetsI had a complicated relationship with Twitter (now X).
I wasted a lot of time there, got into some...
I had a complicated relationship with Twitter (now X).
I wasted a lot of time there, got into some embarrassing arguments, and wrote things I now regret.
But it’s also where I met friends and partners, started my career in cultural heritage, and began my queer awakening.
Maybe...
Marc Astbury
The Continuum of DesignWhere do we go from here? User centricity helped us build software, but what comes next? The past:...
Where do we go from here? User centricity helped us build software, but what comes next? The past: the genius designer design through ideology Vignelli, Da Vinci, Le Corbusier etc. master designer will intuit problems and find solutions, a moment of genius designing with atoms...
HTMHell
The underrated <dl> elementby David Luhr
The Description List (<dl>) element is useful for many common visual design patterns,...
by David Luhr
The Description List (<dl>) element is useful for many common visual design patterns, but is unfortunately underutilized.
It was originally intended to group terms with their definitions, but it's also a great fit for other content that has a key/value structure,...
Irrational...
Wardley mapping the LLM ecosystem.In How should you adopt LLMs?, we explore how a theoretical ride sharing company,
Theoretical Ride...
In How should you adopt LLMs?, we explore how a theoretical ride sharing company,
Theoretical Ride Sharing, should adopt Large Language Models (LLMs).
Part of that strategy’s diagnosis depends on understanding the expected evolution of
the LLM ecosystem, which we’ve build a...
TokyoDev
So You Want to Be a Game Dev in JapanGiven how many of us grew up playing classic Japanese games, it’s no surprise that people are keen...
Given how many of us grew up playing classic Japanese games, it’s no surprise that people are keen to work on games in Japan.
But what’s the reality on the ground? What skills do you need to succeed in the Japanese game industry, and what challenges can you expect to...
HTMHell
The search input: They almost got it rightby Steve Frenzel
This example is a classic - in a bad way - and can cause quite some confusion for...
by Steve Frenzel
This example is a classic - in a bad way - and can cause quite some confusion for users of assistive technology (AT). But it's also very easy to fix! It's the <input> element missing its dear friend, the <label>... 😭
Bad code
<input placeholder="Search" />
It's...
Josh Collinsworth
Things I enjoyed in 2024Things I watched, read, played, got into, enjoyed, or did and would do again, in 2024.
Gitlab is an integrated developer productivity, infrastructure operations, and security platform.
This Wardley map explores the evolution of Gitlab’s users’ needs,
as one component in understanding the company’s strategy.
In particular, we look at how Gitlab’s strategy of a...
HTMHell
The devil is in the <details>by J. Pedro Ribeiro
Not too long ago, building an accordion component would require you to use a...
by J. Pedro Ribeiro
Not too long ago, building an accordion component would require you to use a combination of JavaScript and CSS. If you've been around for as long as I have, you might have used a library like jQuery or Mootools.
"vanilla", your code would look something like...
ntietz.com blog -...
Feel, don't thinkI started playing clarinet in fourth grade, and dabbled in other instruments..
I never stopped...
I started playing clarinet in fourth grade, and dabbled in other instruments..
I never stopped entirely, but I took years-long breaks from playing music.
Earlier this year, I picked up a new instrument while I was very sick.
I got a wind synth, the Roland AE-20.
It was a somewhat...
Ink & Switch
Reflecting on 2024, Droste's Lair, Version control for game devA year-end note from our director; a recap of a recent unconf; Droste's Lair; a sneak preview of...
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...
blag
How bloom filters made SQLite 10x fasterThis is the fascinating story of how researchers used Bloom filters cleverly to make SQLite 10x...
This is the fascinating story of how researchers used Bloom filters cleverly to make SQLite 10x faster for analytical queries. These are my five-minute notes on the paper SQLite: Past, Present, and Future
A Smart Bear
When you have nothing: How to find potential customers to interviewHow do you find potential customers to interview before you have a product, a website, or even a...
by Daniela Kubesch
It's almost 2025, so it's time to stop using the title attribute everywhere. Images, text, buttons, ... you name it, devs really like to put it on any element in sight. Most of the time, people actually want to create a tooltip. You know, that little bubble of...
charity.wtf
On Versioning Observabilities (1.0, 2.0, 3.0…10.0?!?)Hazel Weakly, you little troublemaker. As I whined to Hazel over text, after she sweetly sent me a...
Hazel Weakly, you little troublemaker. As I whined to Hazel over text, after she sweetly sent me a preview draft of her post: “PLEASE don’t post this! I feel like I spend all my time trying to help bring clarity and context to what’s happening in the market, and this is NOT...
HTMHell
My favourite colour is Chuck Norris redby Declan Chidlow
Setting the colour of text on a webpage is usually a simple affair involving...
by Declan Chidlow
Setting the colour of text on a webpage is usually a simple affair involving whipping it out the good ol' CSS color property. But this is HTMHell, dammit. None of that wishy-washy CSS nonsense here. No siree. We use HTML as the good lord intended and shalln't...
GitHub’s updated Commits page and the interactive list componentGitHub has updated the page template used to list Commits on a repository. Central to this...
GitHub has updated the page template used to list Commits on a repository. Central to this experience is an interactive list component that I was responsible for architecting. This work was done alongside input from James Scholes, whose guidance was instrumental to the effort’s...
HTMHell
Getting Oriented with HTML Videoby Scott Jehl
A couple years back, I was in a window seat on a flight from Amsterdam to New York....
by Scott Jehl
A couple years back, I was in a window seat on a flight from Amsterdam to New York. The weather was gray and drizzly as the plane took off, but as it punched through the clouds a very different scene revealed itself. Out my window, it looked like a Maxfield Parrish...
The Codist
How Many Hours Can You Code?How many hours a day can you write code, and at what point does the quality of your work go down?...
How many hours a day can you write code, and at what point does the quality of your work go down? Even more important is how many weeks and months of that max effort you can still be effective.
In my life, there have only been three periods where I
Computer Things
Formally modeling dreidel, the sequelChannukah's next week and that means my favorite pastime, complaining about how Dreidel is a bad...
Channukah's next week and that means my favorite pastime, complaining about how Dreidel is a bad game. Last year I formally modeled it in PRISM to prove the game's not fun. But because I limited the model to only a small case, I couldn't prove the game was truly bad.
It's time...
Confessions of a...
Reflections on 2024 and Exciting Plans for 2025Looking back at what we accomplished in 2024, and plans for 2025
Startups are a sequence of nested bets. Like poker, you’ve got a limited bankroll and imperfect information. The Market Bet Your foundational bet isn’t just picking a market, it’s betting that you understand how that market will evolve. This bet shapes everything downstream: If...
Blog - Bitfield...
Why you can't meditateYou can't clear your mind, or achieve bliss by sitting on a special
cushion. But you can start to...
You can't clear your mind, or achieve bliss by sitting on a special
cushion. But you can start to gently train your brain to stop craving
distraction and overstimulation. In this excerpt from Monk Mode, we'll see
how.
HTMHell
Microdata for booksby Alan Dalton
Dive into marking up books
Books are the best Christmas presents, especially for us...
by Alan Dalton
Dive into marking up books
Books are the best Christmas presents, especially for us web geeks. (I hope you’ll find a Web Accessibility Cookbook in your Christmas stocking, gentle reader.) Unfortunately, A Book Apart closed this year. Fortunately, the authors...
On Test Automation
RestAssured .NET in 2024 - a reviewAs a (sort of) follow-up post to my yearly review for 2024, in this post, I would like to go over...
As a (sort of) follow-up post to my yearly review for 2024, in this post, I would like to go over the changes, bug fixes and new features that have been introduced in RestAssured .NET in 2024. This year, I released 7 new versions of the library, and while none of the versions...
37signals Dev
Announcing Hotwire Spark: live reloading for Rails applicationsToday, we are releasing Hotwire Spark, a live-reloading system for Rails Applications.
Reloading the...
Today, we are releasing Hotwire Spark, a live-reloading system for Rails Applications.
Reloading the browser automatically on source changes is a problem that has been well-solved for a long time. Here, we wanted to put an accent on smoothness. If the reload operation is very...
swyx's site RSS Feed
swyx in 2024 End of Year wrapsi was involved in 3 end of year-ish recaps today:
I’ve never been good at “hot takes”. Anyone who knows anything about marketing can tell you that the best time to share your opinion about something is when everyone is all worked up about it. Hot topics drive clicks and eyeballs and attention en masse. Unfortunately, my internal...
Posts on Nikita...
RustLab 2024I had the chance to speak at RustLab 2024! I will be honest, this was the point I realised that 4...
I had the chance to speak at RustLab 2024! I will be honest, this was the point I realised that 4 conferences in one year was a bad idea. I was exhausted and overwhelmed, but I still had a blast meeting new people and answering the questions after the talk. It had the following...
Alex Meub
The Magic of Solving Problems with 3D Printing3D Printing has allowed me to be creative in ways I never thought possible. It has allowed me to...
3D Printing has allowed me to be creative in ways I never thought possible. It has allowed me to create products that provide real value, products that didn’t exist before I designed them. On top of that, it’s satisfied my desire to ship products, even if the end-user is just...
HTMHell
An HTML structure for a tab componentby Marco Bretschneider
Can you remember the day you first learnt about ARIA? Maybe the first fact...
by Marco Bretschneider
Can you remember the day you first learnt about ARIA? Maybe the first fact you learnt about ARIA was the first rule “Don't use ARIA, use native HTML instead“ - and so did I.
As someone who has been able to speak native HTML for many years, I always thought...
David Heinemeier...
The premise trapThe hardest part for me about collaborating with junior programmers, whether it's in open source or...
The hardest part for me about collaborating with junior programmers, whether it's in open source or at work, is avoiding the premise trap. That's where the fundamental assumptions baked into the first draft of the code aren't questioned until you've already spent far too long...
by Maureen Holland
Don’t get me wrong. You can keep it if you like it. But you don’t need it.
A class selector can allow us to visually show or hide content for disclosure widgets, like a custom select component or dropdown navigation menu. But a disclosure widget is made of two...
ntietz.com blog -...
Estimating projects sells them short (and that's okay)Recently, I read a blog post about doing software project estimates.
It's a reasonable post with a...
Recently, I read a blog post about doing software project estimates.
It's a reasonable post with a reasonable method.
But it does what all estimates do: it sells projects short.
I don't mean in the sense of underestimating a young promising project's potential, relegating it to...
Well, I guess it’s true: time does fly when you’re having fun! 2024 is coming towards an end soon, and since I’m deliberately slowing down this week and will be away from work for two weeks after that, this to me is a great time to look back on 2024 and what it has brought me...
Confessions of a...
Recording: Live Coding a Bytecode Compiler for PythonYesterday we concluded the live session on live coding a bytecode compiler and interpreter (VM) for...
Yesterday we concluded the live session on live coding a bytecode compiler and interpreter (VM) for a tiny subset of Python in Python. Even though I said I will not be sharing the recording, I think the session went quite smooth so I am sharing it here.
A Smart Bear
Solving the Low-Budget Online Marketing DilemmaLow on cash but need marketing results? Here are four specific things you can do to grow on a...
Happy end-of-2024! It’s been a pretty good year overall. I’m thankful. There’s no way that I’ll be able to remember and carve out the time around New Years to write this, so here’s some end-of-year roundup, ahead of schedule!
Running
This was my biggest year for running on...
HTMHell
The Gift You Do NOT Want: A Div in a Button's Clothingby Corina Murg
With the right CSS makeup and a click event, almost anything can pretend to be a...
by Corina Murg
With the right CSS makeup and a click event, almost anything can pretend to be a button. In accessibility work, we spot these fakes and fix them, but teaching others why and how to do it is just as important. It’s not just about correcting a single mistake; it’s...
blag
In search of a faster SQLiteResearchers at the University of Helsinki and Cambridge attempted to build a faster SQLite using...
Researchers at the University of Helsinki and Cambridge attempted to build a faster SQLite using modern programming paradigms like io_uring and disaggregated storage. They demonstrate up to a 100x reduction in tail latency. These are my notes.
Irrational...
2024 in review.A lot happened for me this year.
I continued learning the details of fund accounting at Carta,
which...
A lot happened for me this year.
I continued learning the details of fund accounting at Carta,
which is likely the most complex product domain I’ve worked in.
My third book was published, and I did a small speaking tour to support it.
We started the unironically daunting San...
HTMHell
Page by Page: How Pagination Makes the Web Accessibleby Kristin Rohleder
Imagine you’re reading a book that seems perfect for cozy winter evenings. But...
by Kristin Rohleder
Imagine you’re reading a book that seems perfect for cozy winter evenings. But as soon as you turn the page, you suddenly find yourself somewhere else, rather than on the next page of the story. Now, you have to painstakingly search through the book to find...
Blog System/5
Synology DS923+ vs. FreeBSD w/ZFSA comparison of a home-built FreeBSD NAS with ZFS against the DS923+ storage appliance from...
A comparison of a home-built FreeBSD NAS with ZFS against the DS923+ storage appliance from Synology.
HTMHell
Improving User Experience for Multilingual Web Browsingby Anastasiia Batarei
Today, I’d like to talk about the experience of browsing websites where...
by Anastasiia Batarei
Today, I’d like to talk about the experience of browsing websites where content is fully or partially in a language different from the user’s native one. This situation is common for users navigating government portals or local service providers in a country...
elementary Blog
Happy Holidays! We Come Bringing Gifts!It’s only been a little over 2 weeks since we released elementary OS 8, but we’re already back with...
It’s only been a little over 2 weeks since we released elementary OS 8, but we’re already back with updates just in time for the holidays!
Terminal
The headliner this month is Terminal which comes with a bunch of fixes and new features thanks to Jeremy. It now uses the more...
Jim Nielsen’s Blog
Making o(m)g:image Part I: Design IterationsI blogged about my recent project omgimg.jim-nielsen.com and I figured I’d write more details about...
I blogged about my recent project omgimg.jim-nielsen.com and I figured I’d write more details about my process behind making it.
When the idea first struck, I jumped into Figma and started working out the idea. I had a pretty good idea of what I wanted: a quiz-like website that...
Confessions of a...
Context Switching and Performance: What Every Developer Should KnowUnderstand how context switching affects CPU registers, caches, TLB, and pipeline performance, and...
Recently I’ve been thinking about how everything that happens in the terminal
is some combination of:
Your operating system’s job
Your shell’s job
Your terminal emulator’s job
The job of whatever program you happen to be running (like top or vim or cat)
The first three (your...
HTMHell
HTML and CSS I didn't even know about before I started creating content in Japaneseby Julia Undeutsch
Since I started to create content in Japanese, I also wanted to learn about...
by Julia Undeutsch
Since I started to create content in Japanese, I also wanted to learn about traditional setups, like having Japanese text flow from top to bottom, right to left, like you’d see in newspapers or novels. That's when I discovered CSS properties like writing-mode:...
37signals Dev
A vanilla Rails stack is plentyIf you have the luxury of starting a new Rails app today, here’s our recommendation: go...
If you have the luxury of starting a new Rails app today, here’s our recommendation: go vanilla.
Fight hard before adding Ruby dependencies. Keep that Gemfile that Rails generates as close to the original one as possible.
Fight even harder before adding Javascript dependencies....
Computer Things
Stroustrop's RuleJust finished two weeks of workshops and am exhausted, so this one will be light.
Hanuka Sale
Logic...
Just finished two weeks of workshops and am exhausted, so this one will be light.
Hanuka Sale
Logic for Programmers is on sale until the end of Chanukah! That's Jan 2nd if you're not Jewish. Get it for 40% off here.
Stroustrop's Rule
I first encountered Stroustrop's Rule on this...
HTMHell
Makeshift hot reloadby Evan Hahn
In short: put <meta http-equiv="refresh" content="1"> in your <head> element to refresh...
by Evan Hahn
In short: put <meta http-equiv="refresh" content="1"> in your <head> element to refresh your page every second. This is a makeshift "hot reload" for development. It's not perfect, but it can be a quick solution!
Hot reloading automatically reloads parts of your page...
On Test Automation
The test automation quadrant, or a different way to look at your testsLike many others working in software testing, and more specifically in automation, I have been...
Like many others working in software testing, and more specifically in automation, I have been introduced to the concept of the test automation pyramid early on in my career. While this model has received its share of criticism in the testing community over the years, I still use...
The History of the...
Where did mainstream media come from?The term mainstream media is so common these days, we can forget where it came from. But it has an...
The term mainstream media is so common these days, we can forget where it came from. But it has an interesting connection with the web.
The post Where did mainstream media come from? appeared first on The History of the Web.
HTMHell
Submit to the Quirks of HTMLby Felix Hessenberger
It was on a cold February evening. I had been working on a client project,...
by Felix Hessenberger
It was on a cold February evening. I had been working on a client project, building an order item list—nothing out of the ordinary. To adjust an item’s quantity, the user would open a popup form with a single input field, type a number, and hit...
Quentin Santos
Rust Strings for C ProgrammersThis article will quickly explain the Rust types [T; N], &[T; N], &[T], Vec<T>, &Vec<T> with C code,...
This article will quickly explain the Rust types [T; N], &[T; N], &[T], Vec<T>, &Vec<T> with C code, and what the str, &str, String, OsString and CString add. Arrays and Slices Rust C [T; N] (array)Example: [i32; 100]Allocated on the stack T[N]Example: int[100]Allocated on the...
HTMHell
Native HTML light and dark color scheme switchingby Vadim Makeev
It’s getting dark early in Berlin in the winter. It’s not even close to evening, but...
by Vadim Makeev
It’s getting dark early in Berlin in the winter. It’s not even close to evening, but my OS and all apps have already switched to dark mode. Well, not all of them, unfortunately. And that’s the thing: dark mode has become a quality-of-life feature for many users,...
ntietz.com blog -...
Parsing MIDI messages in RustI'm working on a terrible idea of a project, and this project uses MIDI.
That means I need a MIDI...
I'm working on a terrible idea of a project, and this project uses MIDI.
That means I need a MIDI implementation!
I chose to use an existing library, midir, to connect to devices and receive messages.
But the reason I was interested in this not-yet-announced project is because I...
Irrational...
Measuring developer experience, benchmarks, and providing a theory of improvement.Back in 2020, I wrote a piece called
My skepticism towards current developer meta-productivity...
Back in 2020, I wrote a piece called
My skepticism towards current developer meta-productivity tools,
which laid out my three core problems with developer productivity measurement tools of the time:
Using productivity measures to evaluate rather than learn
Instrumenting metrics...
Blog - Bitfield...
Suite smells: undertesting and overtestingTests are great, provided they actually test something. But are your tests
too optimistic...
Tests are great, provided they actually test something. But are your tests
too optimistic (assuming the code already works), or too persnickety
(testing the irrelevant)?
A Smart Bear
Brittle Points: How to make companies robustBrittleness is when the company fails because just one component breaks. Learn some strategies for...
by Jens Oliver Meiert
Consider the following HTML document:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 1996-01//EN">
<html>
<head>
<title></title>
</head>
<body>
<p class="Author">
<h1></h1>
<P>
<P>
<H2></H2>
<P>
<UL>
<LI>
<LI>
...
Posts on Nikita...
2024 ReflectionHoly shit, what a year that was. It was absolutely bonkers overwhelming. A lot of interesting stuff...
Holy shit, what a year that was. It was absolutely bonkers overwhelming. A lot of interesting stuff happened, but at the same time I took on so much more than I could handle.
Conferences Speaking at RustLab 2024
During late 2023 and early 2024 I applied to a bunch of conferences....
blag
Galloping SearchI recently learned about Galloping Search while building a distributed log called s3-log. It’s used...
I recently learned about Galloping Search while building a distributed log called s3-log. It’s used to search sorted items when the upper bound is unknown. In this short post, I will share my notes and other alternatives I discovered for searching over unbounded items
HTMHell
HTMHAILby Léonie Watson
Almost, but not quite, entirely unlike...
Can you give me the HTML for an...
by Léonie Watson
Almost, but not quite, entirely unlike...
Can you give me the HTML for an accessible button please?
It was a simple enough question. Or it would have been, had I been asking another person. As it was, I was asking ChatGPT, and so of course there was nothing...
the singularity is...
The Elon Swing VoterI’m getting on a plane back to America tonight, been away for over 3 months. It sort of fills me...
I’m getting on a plane back to America tonight, been away for over 3 months. It sort of fills me with dread and anxiety. I remember going to the Apple store before I was leaving, the uhhhhhhh from the sales people was awful. 0 pride. Nobody cares. So different from the sales...
HTMHell
aria-labelledby = selfby Weston Thayer
An accessible name is how UI components are identified to assistive tech. Having a...
by Weston Thayer
An accessible name is how UI components are identified to assistive tech. Having a good accessible name is important. If not, negative effects may include screen reader users missing out on vital information, voice control users struggling to interact, and any...
macwright.com
Bandcamp wrappedI still use Bandcamp almost exclusively to buy music, and keep a big library of MP3s.
The downside...
I still use Bandcamp almost exclusively to buy music, and keep a big library of MP3s.
The downside is that this marks me as a weirdo, but otherwise it’s
great and has been working well for me.
Since I last wrote about it, Bandcamp was acquired by Epic games
(?) and then acquired...
Tony Finch's blog
nsnotifyd-2.3 releasedD’oh, I lost track of a bug report that should have been fixed in
nsnotifyd-2.2. Thus, hot on the...
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...
Oxide Computer...
dtrace.conf(24)Sometime in late 2007, we had the idea of a DTrace conference.
Or really, more of a meetup; from the...
Sometime in late 2007, we had the idea of a DTrace conference.
Or really, more of a meetup; from the primordial e-mail I sent:
The goal here, by the way, is not a DTrace user group, but more of a
face-to-face meeting with people actively involved in DTrace — either by
porting...
TokyoDev
Remote Worker Rights In JapanAre you working remotely for a Japanese company? What happens if your company suddenly issues a...
Are you working remotely for a Japanese company? What happens if your company suddenly issues a return-to-office mandate?
Will you have to move back to Tokyo? What if remote work is in your contract—do you have the right to refuse to return to the office? What standing do you...
To satisfy the growing demand for our services in work environments, we are launching Kagi for Teams ( https://kagi.com/teams ) - bringing our unmatched quality, privacy-focused search and AI tools to businesses worldwide.
On Test Automation
On ditching hourly and productizing my servicesIn the last couple of weeks, I’ve spent much more time commuting than normal. I mostly work remotely...
In the last couple of weeks, I’ve spent much more time commuting than normal. I mostly work remotely these days, for clients both in the Netherlands and abroad. And I like it that way. Don’t get me wrong, I like to drive, but commuting takes up a lot of time, time I would rather...
Quentin Santos
You can move !UnpinAlthough I am now mostly comfortable with Rust, some concepts still elude me. One of them is the...
Although I am now mostly comfortable with Rust, some concepts still elude me. One of them is the exact meaning of Unpin. The documentation says: The documentation of Unpin says: Types that do not require any pinning guarantees. Where pinning is described as: From this, you could...
Charles Chen
Lessons Learned from Working at StartupsSelf-note on some lessons learned from working at a variety of startups over my career
Self-note on some lessons learned from working at a variety of startups over my career
HTMHell
Control the Viewport Resize Behavior on mobile with `interactive-widget`by Bramus
figcaption {
font-size: 0.8em;
text-align: center;
}
Viewports units on...
by Bramus
figcaption {
font-size: 0.8em;
text-align: center;
}
Viewports units on mobile have been a problem for a long time. Using 100vh is most likely not exactly what you initially expected it to be. To fix this, the CSS Working Group came up with more units over...
37signals Dev
Mission Control — Jobs 1.0 releasedWe’ve just released Mission Control — Jobs v1.0.0, the dashboard and set of extensions to operate...
We’ve just released Mission Control — Jobs v1.0.0, the dashboard and set of extensions to operate background jobs that we introduced earlier this year. This new version is the result of 92 pull requests, 67 issues and the help of 35 different contributors. It includes many...
TokyoDev
TokyoDev supports the legalization of same-sex marriage in JapanJapan’s lack of recognition for same-sex marriage doesn’t affect me personally, but it does affect...
Japan’s lack of recognition for same-sex marriage doesn’t affect me personally, but it does affect people I care about. So when I saw Business for Marriage Equality, a campaign that highlights 500+ companies and organizations that support legalization of same-sex marriage, I...
HTMHell
Smooth Multi-Page Experiences with Just a Few Lines of CSSby John Allsopp
A single line of CSS can enable slick multi-page transitions for web applications...
by John Allsopp
A single line of CSS can enable slick multi-page transitions for web applications (and web sites for those who maintain there's a difference), opening up new possibilities for web app architectures, and website experiences. So let’s take a look at View...
Coding Horror
The Great Filter Comes For Us AllWith a 13 billion year head start on evolution, why haven't any other forms of life in the universe...
With a 13 billion year head start on evolution, why haven't any other forms of life in the universe contacted us by now?
teaching the aliens how to exit Vim
(Arrival is a fantastic movie. Watch it, but don't stop there - read the Story of
Josh Comeau's blog
Next-level frosted glass with backdrop-filterGlassy headers have become a core part of the “slick startup” UI toolkit, but they’re all missing...
Glassy headers have become a core part of the “slick startup” UI toolkit, but they’re all missing that final 10% that really makes it shine. In this tutorial, you’ll learn how to create the most realistic lush frosted glass anywhere on the internet.
HTMHell
Starting off right: Where autofocus shinesby Kilian Valkhof
Focus is where the user is on your website. It's what makes it possible to...
by Kilian Valkhof
Focus is where the user is on your website. It's what makes it possible to navigate your site with the keyboard or other assistive technologies, and it's how a browser knows which form element you're typing in. It's vital to get right if you want to build good...
ntietz.com blog -...
Evolving my ergonomic setup (or, my laptop with extra steps)My computer setup attracts attention when I'm out and about.
This has two effects: engineers1 ask me...
My computer setup attracts attention when I'm out and about.
This has two effects: engineers1 ask me about it, and everyone else ignores me.
These effects are not undesirable, but further testing is required.
The main reason I have such an unusual setup, though, is more...
Confessions of a...
Live Session: Live Coding a Bytecode Interpreter for PythonI will be redoing this session because the previous one had to be cancelled.
Our emotional baggage and experience make us unique, but also serve as blinders.
HTMHell
A link on a logo in the header, what should the alt-text be?by Rian Rietveld
It's a common pattern to use a logo in the header as a link to the homepage.
Fun...
by Rian Rietveld
It's a common pattern to use a logo in the header as a link to the homepage.
Fun fact: the alt text of the image inside a link, will be added to the link text.
The problem with linking a logo is that it serves 2 purposes:
a logo, that tells you which site you are...