Vladimir Klepov as a...
How I made banditypes, the smallest TS validation library
I open-sourced banditypes — the smallest runtime validation library for TS / JS. It manages to fit...
a year ago
I open-sourced banditypes — the smallest runtime validation library for TS / JS. It manages to fit all the basic functionality into an astounding 400 bytes. For reference, the popular zod and yup libraries are around 11KB, superstruct measures 1.8KB for the same set of...
Blog System/5
Synology DS923+ vs. FreeBSD w/ZFS
A comparison of a home-built FreeBSD NAS with ZFS against the DS923+ storage appliance from...
2 weeks ago
A comparison of a home-built FreeBSD NAS with ZFS against the DS923+ storage appliance from Synology.
Joel Gascoigne
Are you interested?
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
> "You can make...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
> "You can make more friends in two months by becoming interested in other people
than you can in two years by trying to get other people interested in you." -
Dale Carnegie
Earlier this week I...
Making software...
Publishing Simple Books With Jekyll
Publishing Simple Books With Jekyll
2019-06-20
When thinking about writing, designing and ultimately...
over a year ago
Publishing Simple Books With Jekyll
2019-06-20
When thinking about writing, designing and ultimately publishing an ebook, most people don't think of using a static site generator. Having products like Amazon Publishing, LaTeX or even Microsoft Word available, why should you use...
The Changelog
Asynchronous Email: Exim over NNCP (or UUCP)
Following up to yesterday’s article about how NNCP rehabilitates asynchronous communication with...
over a year ago
Following up to yesterday’s article about how NNCP rehabilitates asynchronous communication with modern encryption and onion routing, here is the first of my posts showing how to put it into action. Email is a natural fit for async; in fact, much of early email was carried by...
Tony Finch's blog
Slower DNS name decompression
In a previous entry, I wrote about making DNS name decompression
faster by moving work left on this...
over a year ago
In a previous entry, I wrote about making DNS name decompression
faster by moving work left on this diagram so that we do
less of it:
names < pointers < labels < bytes
Last week I had a bright idea about that leftmost step, moving
per-pointer work to per-name, using some...
ᕕ( ᐛ )ᕗ Herman's...
Why Pictures
For a brief period circa 2016 I wrote and published a weekly webcomic. I wanted to run a successful...
10 months ago
For a brief period circa 2016 I wrote and published a weekly webcomic. I wanted to run a successful webcomic along the lines of Poorly Drawn Lines, Oglaf, or The Oatmeal. I love reading these and am always thrilled when one pops up on my RSS feed.
Prior to this experiment I...
blag
Recurse Center Day 13: Why 'Raft'?
I started re-reading Raft and I learned why it is called so!
over a year ago
I started re-reading Raft and I learned why it is called so!
Tinloof - Blog
Tinloof design principles
Tinloof focuses on key principles to consistently create pleasant and practical designs.
We're not...
a year ago
Tinloof focuses on key principles to consistently create pleasant and practical designs.
We're not tied to any specific style - Swiss, Linear-like, neobrutalism, a certain typography or color palette.
Instead, we stick to basics that make our process smooth, please our users,...
Tinloof - Blog
How to create microfrontends with Web Components in React
We often hear about microfrontends, this happens when your company plans to have multiple teams...
over a year ago
We often hear about microfrontends, this happens when your company plans to have multiple teams build a big new web project. The company does not want teams to fight over a single monstrous SPA.
It decides to break the project down into several mini-apps hosted by a parent app....
PostHog's RSS Feed
Array 1.24.0
Welcome to The PostHog Array 1.24.0! Quite a lot has changed since we last talked... Community MVP...
over a year ago
Welcome to The PostHog Array 1.24.0! Quite a lot has changed since we last talked... Community MVP 🏆 This release cycle's Community MVP goes to…
samwho.dev
The dos and don'ts of large, online communities
One of the ways I spend my spare time is moderating the Programming Discussions Discord server. It's...
over a year ago
One of the ways I spend my spare time is moderating the Programming Discussions Discord server. It's an online community of almost 20,000 people, focussed around helping people with their programming problems through real-time chat.
A frequent mistake I see people make in the...
the singularity is...
The Soul
ugh the deep state didn’t come for me I just realized that what gets engagement is so boring. you...
a month ago
ugh the deep state didn’t come for me I just realized that what gets engagement is so boring. you wish there was a deep state that came for me. then at least there would be some adults in the room.
I used to fantasize about being or kissing Skrillex
the whole album is bangers...
EXPLAIN EXTENDED
Happy New Year: the Sultan’s Riddle in SQL
Here is a riddle I read a long time ago in Nauka i Zhizn, a popular Russian science magazine. The...
over a year ago
Here is a riddle I read a long time ago in Nauka i Zhizn, a popular Russian science magazine. The Sultan's Riddle Once upon a time there was a Sultan who was looking for a vizier to help him rule his country. It became known to him that among the multitudes of his loyal subjects...
37signals Dev
Introducing Solid Queue
We’ve just open-sourced Solid Queue, a new backend for Active Job that we use in HEY to run about...
a year ago
We’ve just open-sourced Solid Queue, a new backend for Active Job that we use in HEY to run about 1/3 of our roughly 18 million jobs per day. We’ll be moving more jobs in the coming days until we run HEY exclusively using Solid Queue. Besides regular job enqueuing and processing,...
Vladimir Klepov as a...
useLayoutEffect is a bad place for deriving state
Today we'll talk about updating state inside useLayoutEffect in reaction to prop changes. Will it...
over a year ago
Today we'll talk about updating state inside useLayoutEffect in reaction to prop changes. Will it work? Is it safe? Are there better ways to implement such state changes? TLDR: it works, but leaves you with an extra DOM update that may break stuff.
As we all know, useLayoutEffect...
Max Countryman
Anatomy of the Update Email
Crafting effective update emails to a wide audience can be challenging, but by examining the...
a year ago
Crafting effective update emails to a wide audience can be challenging, but by examining the components of a well-structured email, we can bridge the gap and ensure effective communication.
Julia Evans
New zine: How Git Works!
Hello! I’ve been writing about git on here nonstop for months, and the git zine
is FINALLY done! It...
7 months ago
Hello! I’ve been writing about git on here nonstop for months, and the git zine
is FINALLY done! It came out on Friday!
You can get it for $12 here:
https://wizardzines.com/zines/git, or get
an 14-pack of all my zines here.
Here’s the cover:
the table of contents
Here’s the table...
Epic Web Dev
What is a Superset (in programming?) (article)
Supersets like TypeScript enhance languages with benefits like error detection, code consistency,...
9 months ago
Supersets like TypeScript enhance languages with benefits like error detection, code consistency, scalability, and improved tooling for devs.
A Smart Bear
Moats: Durable competitive advantage
Industries commoditize over time, delivering similar products at similar prices resulting in low...
over a year ago
Industries commoditize over time, delivering similar products at similar prices resulting in low profit. Like entropy, this is the inevitable fate of a company, unless it exerts intentional force to the contrary. Moats are this force, and your strategy must identify how to create...
swyx's site RSS Feed
Why Tailwind CSS
Why I changed my mind on Tailwind CSS, and why I now consider it the Goldilocks Styling Solution
over a year ago
Why I changed my mind on Tailwind CSS, and why I now consider it the Goldilocks Styling Solution
TokyoDev
Living with a disability in Japan
This article is informed primarily by my experiences as a deaf American living in Japan for the last...
a year ago
This article is informed primarily by my experiences as a deaf American living in Japan for the last 16 years. Even though I do not have a mobility disability, I have also included notes about mobility accessibility because I also have some awareness of those through relatives. I...
On Test Automation
The test automation quadrant, or a different way to look at your tests
Like many others working in software testing, and more specifically in automation, I have been...
3 weeks ago
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...
Paolo Amoroso's...
NoteCards visited a website for the first time
<![CDATA[Success!
My WebCard prototype made NoteCards visit a site on the World-Wide Web for the...
2 months ago
<![CDATA[Success!
My WebCard prototype made NoteCards visit a site on the World-Wide Web for the first time. Think of it as a wormhole that connects the old world of hypertext with the new world of the modern web. WebCard, a NoteCards extension for visiting websites, is my...
Irrational...
Building personal and organizational prestige
Most months I get at least one email from an engineering leader who believes they’d be a candidate...
a year ago
Most months I get at least one email from an engineering leader who believes they’d be a candidate for significantly more desirable roles if their personal brand were just better known. Similarly, when funding is readily available during periods of tech industry expansion, many...
HTMHell
#10 <section> is no replacement for <div>
Bad code
<section id="page-top">
<section data-section-id="page-top" style="display:...
over a year ago
Bad code
<section id="page-top">
<section data-section-id="page-top" style="display: none;"></section>
</section>
<main>
<section id="main-content">
<header id="main-header">
<h1>...</h1>
<section class="container-fluid">
<section class="row">
...
swyx's site RSS Feed
Launching the Coding Career Handbook!
I'm launching my career advice book today!
over a year ago
I'm launching my career advice book today!
Charles Chen
Interviews in the Age of AI: Ditch Leetcode - Try Code Reviews Instead
In the emerging age of AI generated code, is leetcode really the best way to evaluate technical...
a year ago
In the emerging age of AI generated code, is leetcode really the best way to evaluate technical candidates (was it ever)?
bunnie's blog
Winner, Name that Ware November 2022
The ware for November 2022 is a Keithley 2110-240. I’ll give Rodrigo F. the win, but I’m curious how...
over a year ago
The ware for November 2022 is a Keithley 2110-240. I’ll give Rodrigo F. the win, but I’m curious how he knew it was the -240 version; I did not expect someone to discern the line voltage rating from the photos! Also, thank you Ian Mason for the lucid explanation of the exposed...
ntietz.com blog
Rust needs a web framework for lazy developers
I like to make silly things, and I also like to put in minimal effort for those silly things.
I also...
3 months ago
I like to make silly things, and I also like to put in minimal effort for those silly things.
I also like to make things in Rust, mostly for the web, and this is where we run into a problem.
See, if I want to make something for the web, I could use Django but I don't want that.
I...
Nelson's Weblog
Phanpy, a Mastodon client
Phanpy is good software for reading
Mastodon or other Fediverse posts. Astonishingly it’s an open...
7 months ago
Phanpy is good software for reading
Mastodon or other Fediverse posts. Astonishingly it’s an open source
passion project from a single developer, Chee
Aun. Its quality is extraordinary, better than most commercial social
media software.
There’s so many good things about Phanpy...
A Beautiful Site
Custom Event Names and the Bubbling Problem
The topic of custom element event names comes up every now and then, especially from Shoelace users...
over a year ago
The topic of custom element event names comes up every now and then, especially from Shoelace users who get confused when events of the same name are emitted from different components.
Take <sl-details>, <sl-dialog>, and <sl-dropdown>, for example. They all emit sl-show and...
David Heinemeier...
You're not guaranteed a spot on the team
I've always hated the saying "we're like family here" when it comes to work. Because it's obviously...
8 months ago
I've always hated the saying "we're like family here" when it comes to work. Because it's obviously not true, and it's usually cynically invoked by management to entice an undue obligation of sacrifice. Implying that you should give it all to The Company -- constantly working...
Jim Nielsen’s Blog
Date and Time with a Static Site Generator
Do you have a static site generator?
If so, how do you handle the date and time for when your posts...
a year ago
Do you have a static site generator?
If so, how do you handle the date and time for when your posts are published?
For me, I record the publish date once: in the filename (e.g. 2023-05-16-my-slug.md). That YYYY-MM-DD string in the filename is the canonical location for my posts’...
A Beautiful Site
Flushing DNS cache on macOS
Here's the best way to flush DNS cache on macOS:
sudo dscacheutil -flushcache; sudo killall -HUP...
over a year ago
Here's the best way to flush DNS cache on macOS:
sudo dscacheutil -flushcache; sudo killall -HUP mDNSResponder; say cache flushed
Notice that last part — that's why this is the best method. You get an audible "cache flushed" almost instantaneously, and the whole process becomes...
tonsky.me
Local, first, forever
So I was at the Local-First Conf the other day, listening to Martin Kleppmann, and this slide caught...
6 months ago
So I was at the Local-First Conf the other day, listening to Martin Kleppmann, and this slide caught my attention:
Specifically, this part:
But first, some context.
What is local-first?
For the long version, go to Ink & Switch, who coined the term. Or listen for Peter van...
ntietz.com blog
Paper review: The Gamma Database Project
Last week, I read "The Gamma Database Project" for a Red Book reading group. Unlike the last paper...
over a year ago
Last week, I read "The Gamma Database Project" for a Red Book reading group. Unlike the last paper for this group, this one was a lot more approachable in length: 19 pages.
I'm putting up some of my notes here from reading the paper.
If you read through to the end, there's...
ᕕ( ᐛ )ᕗ Herman's...
Teaching tax in school
On becoming an adult, one thing has stuck out to me as a huge oversight in the high school system is...
a year ago
On becoming an adult, one thing has stuck out to me as a huge oversight in the high school system is that we never learnt about tax.
I'm constantly shocked by the lack of tax literacy in the broader population. I'm not even talking about the logistics of filing tax returns, but...
PostHog's RSS Feed
Group Analytics is now available in PostHog
Today, we’re excited to announce that PostHog has launched Group Analytics for both PostHog Scale /...
over a year ago
Today, we’re excited to announce that PostHog has launched Group Analytics for both PostHog Scale / Enterprise users and those on PostHog Cloud…
Renegade Otter
AI - SkyNet Is Not Coming to Kill You
.highlight pre {
background-color: #efecec;
border-color:...
8 months ago
.highlight pre {
background-color: #efecec;
border-color: var(--theme-secondary-background-color);
border-radius: 10px;
}
The firehose of data is turned on
In the beginning, the Internet was a small, cozy place. Most people weren’t online, and most businesses...
PostHog's RSS Feed
How to seed, grow, and scale Developer Relations (and how we're doing it at PostHog)
Developer Relations exists and is executed in different ways at almost every company. Our Developer...
over a year ago
Developer Relations exists and is executed in different ways at almost every company. Our Developer Relations journey at PostHog has just begun, and…
Paolo Amoroso's...
I mothballed Free Python Books
<![CDATA[I shut down Free Python Books, the list of Python books that are free to read online or...
9 months ago
<![CDATA[I shut down Free Python Books, the list of Python books that are free to read online or download I had been maintaining since 2019.
I archived the project's GitHub repo, which is now read-only and no longer accepts contributions. If you're interested you're welcome to...
Steve Klabnik
The next iteration of my blog
over a year ago
Neil Panchal
Berkeley Mono Font Variant Popularity
Berkeley Mono Typeface
Absolutely thrilled by the response after Hacker News launch of Berkeley...
over a year ago
Berkeley Mono Typeface
Absolutely thrilled by the response after Hacker News launch of Berkeley Mono Typeface. I am truly humbled by the feedback, interest and people that have keen interest in typography.
Berkeley Mono Font Variants
Quick update on people asking what's the...
macwright.com
Recently
I saw Tim Hecker at Pioneer Works, and was astounded by the opener, Mizu.
Bought the album as soon...
a year ago
I saw Tim Hecker at Pioneer Works, and was astounded by the opener, Mizu.
Bought the album as soon as I got home. It is, crudely explained, like if
Zoë Keating dialed up the synths and pedals and rhythm, and it was also a
remarkable live show.
Distant Intervals by MIZU
Reading
I...
Patrick Kayongo
Software Developers vs ChatGPT & Friends
The machines are coming to steal our jobs. It took the jobs of the farm labourers and the factory...
a year ago
The machines are coming to steal our jobs. It took the jobs of the farm labourers and the factory workers, and in a twist of irony, it’s now taking the jobs of those who developed its predecessors – the software developers. At least that’s what many alarmist headlines are saying...
Elad Blog
Video & transcript: Apoorva Metha, founder & former CEO, Instacart
Full video & transcript from Fireside chat with Apoorva Metha
a year ago
Full video & transcript from Fireside chat with Apoorva Metha
HTMHell
#8 anchor tag used as button
Bad code
<a href="#" onclick="modal.open()">Login</a>
Issues and how to fix them
If the a element...
over a year ago
Bad code
<a href="#" onclick="modal.open()">Login</a>
Issues and how to fix them
If the a element has an href attribute, it represents a link to another resource like a page or a PDF document.
The purpose of the element in this example is to trigger an action on the same page...
alexwlchan
The new Flickr Commons Explorer →
One of the things I’ve been working on at the Flickr Foundation is a new “Commons Explorer”, a way...
9 months ago
One of the things I’ve been working on at the Flickr Foundation is a new “Commons Explorer”, a way to browse the photos in the Flickr Commons.
Flickr Commons is a collection of historical photography from cultural institutions from all around the world, all with no known...
HTMHell
#20 HTMHell special: close buttons
This first HTMHell special inspects one of the most complicated and most controversial patterns in...
over a year ago
This first HTMHell special inspects one of the most complicated and most controversial patterns in front-end development:
🔥 the close button. 🔥
In modals, ads, and other overlays you often find a button with a close symbol that allows users, or at least some of them, to close...
Liz Denys
Liz rides the subway on May 31, 2016: 'innocent until proven guilty' gives cover to abusers
Liz rides the subway is a series containing thoughts I have on the subway, mostly as an experiment...
over a year ago
Liz rides the subway is a series containing thoughts I have on the subway, mostly as an experiment to get me to write more. The ride home after yet another day hearing someone famous has been abusing a woman in his life:
Content warning: abuse, rape
Johnny Depp has allegedly been...
bt RSS Feed
My Robotic Mower Woes
My Robotic Mower Woes
2023-05-19
A Brief Background
I’m no stranger to robotic lawnmowers. When my...
a year ago
My Robotic Mower Woes
2023-05-19
A Brief Background
I’m no stranger to robotic lawnmowers. When my wife and I moved into our rural home just over five years ago, we picked up the Husqvarna 450X Automower since I was far too lazy to manually mow my property and the cost was equal...
A Smart Bear
When should a decision be fast, or slow?
Decisions should usually be made quickly, to accelerate action and learning. But sometimes it really...
a year ago
Decisions should usually be made quickly, to accelerate action and learning. But sometimes it really is smarter to take your time. Here's how to decide.
ᕕ( ᐛ )ᕗ Herman's...
Upcoming changes to the discovery feed
Bear's discovery feed improvements and a call for feedback
5 months ago
Bear's discovery feed improvements and a call for feedback
Making software...
My Static Blog Publishing Setup and an Apology to RSS Subscribers
My Static Blog Publishing Setup and an Apology to RSS Subscribers
2022-03-21
In case you missed it,...
over a year ago
My Static Blog Publishing Setup and an Apology to RSS Subscribers
2022-03-21
In case you missed it, this website is now generated with pure HTML & CSS. Although, generated isn't the proper way to describe it anymore. Written is a better description.
No more Markdown files. No...
Making software...
The Lazy Developer's Dark Mode
The Lazy Developer's Dark Mode
2021-04-12
After recently jumping back to Jekyll for my personal...
over a year ago
The Lazy Developer's Dark Mode
2021-04-12
After recently jumping back to Jekyll for my personal blog, I decided to take a closer look at how I was supporting dark mode for my visitors. I was using the proper CSS query to target those who had system-wide dark mode enabled, but I...
ntietz.com blog
[Review] "The Circle" by Dave Eggers
Surveillance has gotten a lot of media attention lately (and a bit of attention on this very blog),...
over a year ago
Surveillance has gotten a lot of media attention lately (and a bit of attention on this very blog), and for good reason. So, it should be no surprise that it's also turning up in our dystopian novels!
"The Circle" is a dystopian novel by Dave Eggers. While fiction, it is set in a...
A Smart Bear
Fermi ROI: Fixing the ROI rubric
“Maximum value in minimum time.” Sounds good in theory, but traditional rubrics surreptitiously fail...
over a year ago
“Maximum value in minimum time.” Sounds good in theory, but traditional rubrics surreptitiously fail to produce the best answers, and fail to create explanations that help others understand why they’re the best answers. This system works.
A Beautiful Site
Component Machines
Components are like little machines. You build them once. Use them whenever you need them.
Every now...
4 months ago
Components are like little machines. You build them once. Use them whenever you need them.
Every now and then you open them up to oil them or replace a part, then you send them back to work.
And work, they do.
Little component machines just chugging along so you never have to...
Josh Comeau's blog
Building a Magical 3D Button
Every action we take on the web starts with a button click, and yet most buttons are ho-hum and...
over a year ago
Every action we take on the web starts with a button click, and yet most buttons are ho-hum and uninspired. In this tutorial, we'll build an animated 3D button with HTML and CSS that sparks joy.
The Changelog
Facebook Is Censoring People For Mentioning Open-Source Social Network Mastodon
Update: Facebook has reversed itself over this censorship, but I maintain that whether the...
over a year ago
Update: Facebook has reversed itself over this censorship, but I maintain that whether the censorship was algorithmic or human, it was intentional either way. Details in my new post. Last November, I made a brief post to Facebook about Mastodon. Mastodon is an open-source and...
The Changelog
Using dar for Data Archiving
This is the third post in a series about data archiving to removable media (optical discs and hard...
a year ago
This is the third post in a series about data archiving to removable media (optical discs and hard drives). In the first, I explained the difference between backing up and archiving, established goals for the project, and said I’d evaluate git-annex and dar. The second post...
PostHog's RSS Feed
Building an all-remote company from scratch
Many companies are currently having to adjust to remote work, but what about the ones that started...
over a year ago
Many companies are currently having to adjust to remote work, but what about the ones that started this way from scratch? PostHog has a team of 12, 1…
The Pragmatic...
Did Automattic commit open source theft?
The maker of WordPress took 2M customers from its biggest rival: has a red line been crossed?
2 months ago
The maker of WordPress took 2M customers from its biggest rival: has a red line been crossed?
ntietz.com blog
Too much of a good thing: the trade-off we make with tests
I've worked places where we aspired to (but did not reach) 100% code coverage.
We used tools like a...
11 months ago
I've worked places where we aspired to (but did not reach) 100% code coverage.
We used tools like a code coverage ratchet to ensure that the test coverage always went up and never down.
This had a few effects.
One of them was the intended effect: we wrote more tests.
Another was...
Dan Slimmon
Platform teams don’t need to act like companies
Lately you see a lot of software company R&D teams organized around internal products. The Search...
a year ago
Lately you see a lot of software company R&D teams organized around internal products. The Search Team provides a Search service and its “customers” are the teams whose code consumes that service. The Developer Productivity Team’s product is a suite of tools for managing local...
swyx's site RSS Feed
The Law of Conservation of Risk
Risk cannot be created or destroyed, it can only be redistributed
over a year ago
Risk cannot be created or destroyed, it can only be redistributed
Jim Nielsen’s Blog
Creating Some Noise on Behalf of Silence
How do you write about the value of silence?
It’s kind of absurd when you think about it. Do you use...
5 months ago
How do you write about the value of silence?
It’s kind of absurd when you think about it. Do you use words to extol the value of something whose essence is the very absence of words?
It’s like making a painting of the invisible. Do you use visible means to depict something that...
Steve Klabnik
You can't "turn off the borrow checker" in Rust
over a year ago
Josh Collinsworth
Impressions of the ZSA Moonlander at one month
My thoughts, experience, and advice after using the Moonlander as my main keyboard for both personal...
a year ago
My thoughts, experience, and advice after using the Moonlander as my main keyboard for both personal and work projects for a full month
swyx's site RSS Feed
Instant GraphQL with OneGraph
Here's a recorded screenshare chat I had with Sean Grove (https://twitter.com/sgrove), Cofounder of...
over a year ago
Here's a recorded screenshare chat I had with Sean Grove (https://twitter.com/sgrove), Cofounder of OneGraph! We swapped out the Next.js API Routes that I manually set up in my livestreaming, to the premade GraphQL integration that OneGraph has with Dev.to. As a bonus, this takes...
The Codist
I Am Happy Not To Be A Web Developer Anymore
I wrote my first single-page web app in Javascript in 2005, right after learning about...
a year ago
I wrote my first single-page web app in Javascript in 2005, right after learning about XMLHttpRequest and before any serious frameworks existed. I left professional web development behind around 2009 (I started in 1997 with WebObjects) and spent the final decade of my career...
PostHog's RSS Feed
Using Gatsby and Puppeteer to create dynamic Open Graph images
The image preview you see when sharing a link is a great opportunity to get your brand’s message in...
over a year ago
The image preview you see when sharing a link is a great opportunity to get your brand’s message in front of people without them even clicking through to your website. Most sites just opt to display a logo and some brand elements.
Tyler Cipriani: blog
The Pull Request
A brief and biased history.
Oh yeah, there’s pull requests now
– GitHub blog, Sat,
23 Feb 2008
When...
4 months ago
A brief and biased history.
Oh yeah, there’s pull requests now
– GitHub blog, Sat,
23 Feb 2008
When GitHub launched, it had no code review.
Three
years after launch, in 2011, GitHub user rtomayko
became the first person to make a real code comment, which read, in
full:...
swyx's site RSS Feed
How to change custom domain on Substack
Since September, I've been running my AI newsletter on https://lspace.swyx.io
a year ago
Since September, I've been running my AI newsletter on https://lspace.swyx.io
Vadim Kravcenko
I’m finishing university, scared about future career prospects
Question:
Hey, my name's Kalesh, I'm 22 and about to finish my bachelor's in August. Planning to be...
9 months ago
Question:
Hey, my name's Kalesh, I'm 22 and about to finish my bachelor's in August. Planning to be a software engineer. But, I keep hearing the job market's tough. Been reading online that lots of devs are struggling to find steady gigs. Is your company looking for any devs?...
HTMHell
#19 heading in the wrong direction
Context: A simple page that displays the availability of a product.
Bad code
<h1>Product...
over a year ago
Context: A simple page that displays the availability of a product.
Bad code
<h1>Product Status</h1>
<h2>Is the product available?</h2>
<div>
<h3>
<div>
<div>
<i>
<h3 class="message is-success">
It‘s <a>available</a>.
</h3>
...
Dan Quach Blog
Data Engineering Low Code Tools
In the data engineering space we have seen quite a few low code and no code tools pass through our...
a year ago
In the data engineering space we have seen quite a few low code and no code tools pass through our radar. Low code tools have their own nuances as you will get to operationalize quicker, but the minute you need to customize something outside of the toolbox, you may run into...
swyx's site RSS Feed
Scaling Coding Communities
People who can scale coding communities are 🔥 🔥 🔥
over a year ago
People who can scale coding communities are 🔥 🔥 🔥
Marco.org
Overcast 4.1 now available
Overcast 4.1 is now in the App Store with some small but nice new features.
Smart Resume is actually...
over a year ago
Overcast 4.1 is now in the App Store with some small but nice new features.
Smart Resume is actually two features:
It jumps back by up to a few seconds after having been paused to help remind you of the conversation.
It slightly adjusts resumes and seeks to fall in the silences...
Code Of Honor
Stay Awhile and Listen
Developing games is a full-time occupation, so it is no surprise that I’ve had less time for...
over a year ago
Developing games is a full-time occupation, so it is no surprise that I’ve had less time for blogging as I’ve started creating a new game. After a two-year stint helping other folks publish their games I’m back to coding and game design full-time and having a wonderful time. But...
TokyoDev
Working as an Indonesian Software Engineer in Japan
Even though I love Japan, I had never planned to work there. Like many Indonesian children, my first...
a year ago
Even though I love Japan, I had never planned to work there. Like many Indonesian children, my first exposure to Japanese culture was through anime on Sunday morning TV broadcasts. At that time, I didn't even know it was called anime, let alone that it came from Japan since it...
On Test Automation
First things first - automate the execution of your tests
“Well, it works on my machine”
I’m sure we’ve all heard a developer say that to us at some point in...
2 months ago
“Well, it works on my machine”
I’m sure we’ve all heard a developer say that to us at some point in our career, and we all roll our eyes at them in response. It clearly doesn’t work on your machine…
We would do well to apply that exact same philosophy of ‘it shouldn’t just run on...
Joel Gascoigne
The different ways of traveling
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
One of the...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
One of the incredible side-effects of doing retreats 3 times a year with my
startup
[https://joel.is/post/79092725144/why-we-go-on-international-retreats-3-times-a-year-with]
is that I get the...
macwright.com
Recently: Cycling and Autumn
I haven’t been posting much to the ‘main blog’ recently, but I have been keeping the micro blog...
2 months ago
I haven’t been posting much to the ‘main blog’ recently, but I have been keeping the micro blog updates humming. If you want more content in your RSS reader, you can subscribe to those posts, which are shorter, more scattered, and even less copyedited. It feels bad to have...
David Heinemeier...
The early bird sees the sunrise
I’ve found that you eventually get bored or at least used to every form of material trapping you can...
a year ago
I’ve found that you eventually get bored or at least used to every form of material trapping you can buy. Cars, watches, cameras, computers, whatever. It’s not that fancy stuff stops being nice, but it does stop being wow. That’s the essence of the hedonic treadmill. But do you...
Irrational...
Modeling driving onboarding.
The How should you adopt LLMs? strategy explores how Theoretical Ride Sharing
might adopt LLMs. It...
2 months ago
The How should you adopt LLMs? strategy explores how Theoretical Ride Sharing
might adopt LLMs. It builds on several models, the first is about LLMs impact on Developer Experience.
The second model, documented here, looks at whether LLMs might improve a core product and business...
TokyoDev
Why I sold Doorkeeper
この記事は[日本語でも](/articles/why-i-sold-doorkeeper-ja)お読みいただけます。
I can pinpoint the exact time when I...
over a year ago
この記事は[日本語でも](/articles/why-i-sold-doorkeeper-ja)お読みいただけます。
I can pinpoint the exact time when I decided to sell [Doorkeeper](https://www.doorkeeper.jp), the event management platform I helped launch in 2010, incorporated in 2013, and made profitable in 2016. It was a Friday...
Vladimir Klepov as a...
How useRef turned out to be useMemo's father
It's no secret that react's useCallback is just sugar on top of useMemo that saves the children from...
over a year ago
It's no secret that react's useCallback is just sugar on top of useMemo that saves the children from having to see an arrow chain. As the docs go:
useCallback((e) => onChange(id, e.target.value), [onChange, id]);
// is equivalent to
useMemo(() => (e) => onChange(id,...
ntietz.com blog
Paper review: Concurrency Control Performance Modeling
Another week, another paper!
This week for our Red Book reading group, I read "Concurrency Control...
over a year ago
Another week, another paper!
This week for our Red Book reading group, I read "Concurrency Control Performance Modeling" by Rakesh Agrawal, Michael J. Carey, and Miron Livny.
It was 46 pages, and I had a little trouble finding the whole paper—many of the Google Scholar links had...
Tony Finch's blog
Purple PCBs for Keybird69
I’m a beginner at PCB design, or rather, I haven’t made a PCB since I
was at school 30 years ago,...
a year ago
I’m a beginner at PCB design, or rather, I haven’t made a PCB since I
was at school 30 years ago, and a lot has changed since then! So my
aim for Keybird69’s PCB was to learn my way around the design,
manufacturing, and assembly process.
microcontroller
other components
key...
Ink & Switch
OS of the future and universal version control
In this dispatch we're spotlighting Alexander Obenauer's work on the future of personal computing...
10 months ago
In this dispatch we're spotlighting Alexander Obenauer's work on the future of personal computing and introducing our new research project.
somenice
Procedural “Trees” using Blender Geometry Nodes
I’ve been having a lot of fun playing with Blender Geometry and Shader Nodes.Specifically here using...
over a year ago
I’ve been having a lot of fun playing with Blender Geometry and Shader Nodes.Specifically here using Instances on Points. I started with a 60 x 60 grid of curves, made into spirals and animated with a Noise texture. This ended up creating 8.3 Million faces and took 12 hours to...
The Changelog
This Is How Tyrants Go: Alone
I remember reading an essay a month or so ago — sadly I forget where — talking about how things end...
over a year ago
I remember reading an essay a month or so ago — sadly I forget where — talking about how things end for tyrants. If I were to sum it up, it would be with the word “alone.” Their power fading, they find that they had few true friends or believers; just others that were greedy …...
David Heinemeier...
Developers are on edge
It's a double whammy of anxiety for developers at the moment. On the one hand, the layoffs are...
9 months ago
It's a double whammy of anxiety for developers at the moment. On the one hand, the layoffs are dragging on. The industry has shed more jobs in a shorter period than any time since the dot-com bust over twenty years ago. Seasoned veterans who used to have recruiters banging on...
swyx's site RSS Feed
Ranking #1 on HN in Mid April
I last wrote about Ranking #1 on HN in December, and wanted to offer an update from my mild hit...
a year ago
I last wrote about Ranking #1 on HN in December, and wanted to offer an update from my mild hit today. I am now taking Latent Space (the new name enabled by the previous owner of that domain selling it to me in my first P2P domain purchase) a lot more seriously with the support...
Joel Gascoigne
The evolution of culture at a startup
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
It’s now 2 years...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
It’s now 2 years since I launched Buffer [http://bufferapp.com], and the company
has grown from just myself (working from my bedroom) to a team of 7. In the last
few months, I’ve been thinking a...
PostHog's RSS Feed
The 6 best free and open-source A/B testing tools
Also known as split testing or multivariate testing, A/B testing is the practice of splitting your...
a year ago
Also known as split testing or multivariate testing, A/B testing is the practice of splitting your audience to test variations of a product design…
alexwlchan
Fare-Wellcome Collection
I still remember the first time I visited Wellcome Collection – just over seven years ago.
I was...
a year ago
I still remember the first time I visited Wellcome Collection – just over seven years ago.
I was living and working in the Cambridge at the time, and I’d come into London for the day to hang out with a friend who lived near King’s Cross.
We wandered up the Euston Road, popped...
swyx's site RSS Feed
Compile Svelte in Your Head by Tan Li Hau
Linking to a blogpost I was too lazy to do
over a year ago
Linking to a blogpost I was too lazy to do
HTMHell
Smooth Multi-Page Experiences with Just a Few Lines of CSS
by John Allsopp
A single line of CSS can enable slick multi-page transitions for web applications...
a month ago
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...
Seldo.com
Biographies of every US president as audiobooks
over a year ago
TokyoDev
Working as a Female Software Developer in Japan
For some people, [working as a software developer in Japan](/articles/first-job-programmer-japan)...
a year ago
For some people, [working as a software developer in Japan](/articles/first-job-programmer-japan) would be a dream come true. As an Australian software developer who has been in Japan for 6 months, I’m one of those dreamers.
If you’ve been looking to work in Japan for a while,...
Joel Gascoigne
Thoughts on dropping out to do a startup
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
In the past...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
In the past couple of years, I’ve been through a number of interesting
experiences through building Buffer [http://bufferapp.com]. One of the things
I’ve ended up thinking about a lot is the...
ntietz.com blog
Using search as a primary datastore since the docs said not to
Look, I'm sorry, but if the docs say not to do something that's like catnip.
Then I just have to do...
4 months ago
Look, I'm sorry, but if the docs say not to do something that's like catnip.
Then I just have to do it.
So when I saw that the Typesense docs say not to use it as a primary datastore?
Well well well, that's what we'll have to do.
I spent a little bit of time figuring out what a...
Jim Nielsen’s Blog
AI & The Science of Creativity
In an effort to better understand how all this AI stuff works, I’ve been chipping away at Stephen...
a year ago
In an effort to better understand how all this AI stuff works, I’ve been chipping away at Stephen Wolfram’s meticulous piece, “What Is ChatGPT Doing … and Why Does It Work?”.
As you likely know, ChatGPT works by guessing at the next word. Here’s Stephen:
when ChatGPT does...
alexwlchan
Parsing CloudFront logs with Python
I’ve been doing work recently to analyse some CloudFront access logs.
There are lots of ways to do...
a year ago
I’ve been doing work recently to analyse some CloudFront access logs.
There are lots of ways to do this, and I normally reach for Python inside a Jupyter Notebook because those are tools I’m very familiar with.
I’ve done this a few times now, so I thought it’d be worth pulling...
swyx's site RSS Feed
You Should Have A Virtual Mailbox
If you fit one of these criteria:
11 months ago
If you fit one of these criteria:
swyx's site RSS Feed
Good Enough
In general, you move faster and feel a lot less stress once you realize - You don't need "the best",...
over a year ago
In general, you move faster and feel a lot less stress once you realize - You don't need "the best", you just need "good enough".
Charles Chen
React is the New IBM
You’ll never get fired for picking it, but it’s going to be expensive, bloated, difficult to get...
a year ago
You’ll never get fired for picking it, but it’s going to be expensive, bloated, difficult to get right, and joyless every step of the way.
Steve Klabnik
Looking back at Rust in 2018
over a year ago
A Smart Bear
Building in public forces true competitive advantage
“Building in public” is increasingly popular. It’s fun to have strangers cheering you on, and it...
over a year ago
“Building in public” is increasingly popular. It’s fun to have strangers cheering you on, and it creates a self-imposed accountability. But doesn’t it ruin competitive advantage when your competitors can steal your source code and know the salaries of your employees and whether...
Vadim Kravcenko
How to stop thinking as an engineer and start thinking like a business man?
Uff, this is a tough one. I can say for sure — it’s possible, everything can be learned. I do...
a year ago
Uff, this is a tough one. I can say for sure — it’s possible, everything can be learned. I do […]
The post How to stop thinking as an engineer and start thinking like a business man? appeared first on Vadim Kravcenko.
A Beautiful Site
Tips for the aspiring web developer
So you want to be a web developer...excellent choice! It's a very rewarding position that can be a...
over a year ago
So you want to be a web developer...excellent choice! It's a very rewarding position that can be a lot more fun than most other programming jobs. However, before you take the plunge into a career in web development, there are a few things you should probably consider.
A different...
bt RSS Feed
Building openring with Jekyll Build
Building openring with Jekyll Build
2022-12-02
I think it’s great when bloggers post their own...
over a year ago
Building openring with Jekyll Build
2022-12-02
I think it’s great when bloggers post their own personal “reading list” of blogs they themselves follow. Whether this is a customized Blogroll page or footnotes in their individual articles, I find it really helpful to find more...
bt RSS Feed
Shiny, Animated CSS Buttons
Shiny, Animated CSS Buttons
2021-04-27
Everyone can appreciate fancy, animated buttons - but often...
over a year ago
Shiny, Animated CSS Buttons
2021-04-27
Everyone can appreciate fancy, animated buttons - but often times they come with a performance cost: JavaScript. Luckily for us, we can create our very own shiny, animated buttons with pure CSS.
The Demo
Live CodePen Example
The...
On Test Automation
On ditching hourly and productizing my services
In the last couple of weeks, I’ve spent much more time commuting than normal. I mostly work remotely...
4 weeks ago
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...
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...
over a year ago
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...
Liz Denys
Route: annoying insurance upsell or online shopping data aggregator?
I've been increasingly seeing an item for Route Package Protection automatically added to my cart...
over a year ago
I've been increasingly seeing an item for Route Package Protection automatically added to my cart when I purchase things online:
I went partially through the checkout flow of a shop that uses Route with a $278 item I have no interest in purchasing to illustrate this...
Joel Gascoigne's...
The significance of Bluesky and decentralized social media
The significance of Bluesky and decentralized social media
I'm delighted to share that we have...
5 months ago
The significance of Bluesky and decentralized social media
I'm delighted to share that we have introduced support for Bluesky in Buffer. This is an important moment for us as a company, and there are a number of reasons that adding Bluesky is personally meaningful for me. With...
Confessions of a...
Recording of Live Session on CPython Virtual Machine Internals
Yesterday we concluded the live session on the internals of the CPython virtual machine (VM) or the...
8 months ago
Yesterday we concluded the live session on the internals of the CPython virtual machine (VM) or the bytecode interpreter implementation.
Darek Kay
Migrating a Create React App project to Vite
Create React App (CRA) provides an all-in-one development toolchain for your React applications. It...
over a year ago
Create React App (CRA) provides an all-in-one development toolchain for your React applications. It is great for beginners, as you don't need to care about configuring your toolset. However, I've encountered more and more limitations without "ejecting", mostly due to the...
swyx's site RSS Feed
How To Google Your Errors
---
over a year ago
alexwlchan
Documenting my DNS records
I had to change some of my DNS records recently, a phrase which strikes fear into the heart of...
7 months ago
I had to change some of my DNS records recently, a phrase which strikes fear into the heart of sysadmins everywhere.
It all went fine, but I definitely felt like I was playing with fire.
My current domain registrar is Hover, and the only way I can manage my domains is through a...
Steve Klabnik
Mixins: a refactoring anti-pattern
over a year ago
David Heinemeier...
I could have been happy with Windows
After more than twenty years on the mac, it was always going to be difficult for me to leave Apple....
8 months ago
After more than twenty years on the mac, it was always going to be difficult for me to leave Apple. I've simply not been in the market for another computing platform in decades. Sure, I've dabbled a bit here and there, but never with true commitment. It wasn't until Cupertino...
PostHog's RSS Feed
Array 1.17.0
Having launched major features in our previous release such as Session Recording and apps ,...
over a year ago
Having launched major features in our previous release such as Session Recording and apps , over the past two weeks we worked extremely hard to…
swyx's site RSS Feed
How to Create Luck
Your entire worldview changes when you realize you can *create luck*.
over a year ago
Your entire worldview changes when you realize you can *create luck*.
elementary Blog
The System Settings Redesign Has Landed
This month the biggest story is System Settings, but we also have some great progress on the new...
9 months ago
This month the biggest story is System Settings, but we also have some great progress on the new Dock and Wayland. Plus a small change to default keyboard shortcuts that you might appreciate. Read ahead to find out the new developments you have to look forward to in the upcoming...
swyx's site RSS Feed
How to Download Twitter Spaces That Aren't Yours
Grabbing the audio
over a year ago
swyx's site RSS Feed
API Design: Modifying Defaults
> This is a quick note on a API Design. I hope to make this an ongoing series.
over a year ago
> This is a quick note on a API Design. I hope to make this an ongoing series.
wingolog
on taking advantage of ragged stops
Many years ago I read one of those Cliff Click “here’s
what I learned” articles in which he was...
3 months ago
Many years ago I read one of those Cliff Click “here’s
what I learned” articles in which he was giving advice about garbage
collector design, and one of the recommendations was that at a GC pause,
running mutator threads should cooperate with the collector by identifying roots...
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...
over a year ago
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
A Beautiful Site
The next version of PHP may very well be 7
We've been hearing about PHP 6 since 2005, but nothing has been brought to fruition yet. In fact,...
over a year ago
We've been hearing about PHP 6 since 2005, but nothing has been brought to fruition yet. In fact, the project was so plagued with problems that in 2010, it was abandoned. It almost felt like PHP would be perpetually stuck at version 5.
Except now there's talk about another major...
swyx's site RSS Feed
Why I Won't Choose To Be A Manager
I recently decided that I will not _choose_ to be a manager. This is how I arrived at that...
over a year ago
I recently decided that I will not _choose_ to be a manager. This is how I arrived at that conclusion.
ᕕ( ᐛ )ᕗ Herman's...
How I stay motivated as a solo-creator
Working solo has its difficulties. For one, my income is somewhat tied to my productivity, and my...
a year ago
Working solo has its difficulties. For one, my income is somewhat tied to my productivity, and my productivity highly correlates to my state of mind. This is combined with a lack of co-workers. Comrades in the trenches, if you will. And finally there's the ability to not do...
swyx's site RSS Feed
A Walkthrough of *that* React Suspense Demo
Annotated commentary on the code behind the Movie search demo featuring React Suspense
over a year ago
Annotated commentary on the code behind the Movie search demo featuring React Suspense
the jsomers.net blog
Most book clubs are doing it wrong
The standard way to run a book club is to have everybody finish the book before meeting to talk...
over a year ago
The standard way to run a book club is to have everybody finish the book before meeting to talk about it. You have one meeting per book. The discussion goes on for one or two hours before it runs out of gas, and then the group picks the next book, and you agree to meet […]
Steve Klabnik
The hardest decision I've ever made
over a year ago
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,...
over a year ago
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...
Krzysztof Kowalczyk...
Porting a medium-sized Vue application to Svelte 5
Porting a medium-sized Vue application to Svelte 5
The short version: porting from Vue...
6 months ago
Porting a medium-sized Vue application to Svelte 5
The short version: porting from Vue to Svelte is pretty straightforward and Svelte 5 is nice upgrade to Svelte 4.
Why port?
I’m working on Edna, a note taking application for developers.
It started as a...
Joel Gascoigne
Buffer's investor update on COVID-19 impact and approach
Note: this was originally posted on the Buffer blog.
Ever since the world got turned upside down by...
over a year ago
Note: this was originally posted on the Buffer blog.
Ever since the world got turned upside down by COVID-19, it’s been “business as unusual” for everyone – Buffer included.
I sent this update out to Buffer’s investors one week ago. I hesitated on whether
Epic Web Dev
Use Zod for All Form Validation (tip)
Learn how to use Zod and Conform to validate and transform form data into sessions
a year ago
Learn how to use Zod and Conform to validate and transform form data into sessions
A Smart Bear
Ignoring the Wisdom of Crowds
Discover how to leverage the wisdom of the crowds, but also when to avoid it, as it can easily lead...
3 months ago
Discover how to leverage the wisdom of the crowds, but also when to avoid it, as it can easily lead you astray.
A small freedom area...
Exploring intricate execution mysteries by reversing a crackme
It's been a very long time since I've done some actual reverse engineering
work. Going through a...
over a year ago
It's been a very long time since I've done some actual reverse engineering
work. Going through a difficult period currently, I needed to take a break from
the graphics world and go back to the roots: understanding obscure or
elementary tech stuff. One may argue that it was most...
macwright.com
patch-package can bail you out of some bad situations by
Let’s say you’re running some web application and suddenly you hit a bug in one of your...
a year ago
Let’s say you’re running some web application and suddenly you hit a bug in one of your dependencies. It’s all deployed, lots of people are seeing the downtime, but you can’t just push an update because the bug is in something you’ve installed from npm.
Remember patch-package....
Steve Klabnik
"C is not how the computer works" can lead to inefficient code
over a year ago
Tinloof - Blog
How to build a stopwatch with HTML, CSS, and plain JavaScript (Part 1)
This series of articles is made out of two parts:
In this first part, we build the stopwatch's user...
over a year ago
This series of articles is made out of two parts:
In this first part, we build the stopwatch's user interface with HTML and CSS.
In the second part, we'll make the user interface functional with JavaScript (the stopwatch works).
Liz Denys
Shirred eggs
Ramekins aren't just for advanced culinary creations like soufflés and crème brûlées. But as with...
over a year ago
Ramekins aren't just for advanced culinary creations like soufflés and crème brûlées. But as with mathematical proofs, some of the most elegant foods you can prepare in a ramekin are the simplest.
Enter the shirred egg. Don't be intimidated by the word "shirred"; it's just the...
bt RSS Feed
Transferring Media from macOS to a Jellyfin Server (Raspberry Pi 4)
Transferring Media from macOS to a Jellyfin Server (Raspberry Pi 4)
2022-03-12
I run a personal...
over a year ago
Transferring Media from macOS to a Jellyfin Server (Raspberry Pi 4)
2022-03-12
I run a personal media server using Jellyfin on a Raspberry Pi 4 in my home. It’s pretty great and works well across most devices - Google TV, iOS and Android devices, Chromebooks, etc.
The only small...
A Beautiful Site
A free HTML, CSS, and JavaScript beautifier
Ten years ago, I launched DirtyMarkup to clean up dirty code. It was a fun little tool, but its best...
over a year ago
Ten years ago, I launched DirtyMarkup to clean up dirty code. It was a fun little tool, but its best feature was that it was easy to use and didn't have intrusive advertisements.
I sold DirtyMarkup a couple years ago, and since then the new owners slapped on a header that makes...
Making software...
Plain Text Emails, Please
Plain Text Emails, Please
2019-09-09
When it comes to website / product design and development most...
over a year ago
Plain Text Emails, Please
2019-09-09
When it comes to website / product design and development most devs should try to keep things simple. By only using as much code as absolutely necessary, projects avoid growing out of scope or becoming bloated. So, why isn't this same approach...
macwright.com
What editors do things use?
Apps that use CodeMirror
Obsidian
Repl.it
Val Town
…more on the CodeMirror site
Apps that use...
11 months ago
Apps that use CodeMirror
Obsidian
Repl.it
Val Town
…more on the CodeMirror site
Apps that use Monaco
StackBlitz
CodeSandbox
Deno Deploy
Cloudflare Workers
swyx's site RSS Feed
Svelte Zen Garden
reigniting the Zen Garden era with modern technology
over a year ago
reigniting the Zen Garden era with modern technology
Jim Nielsen’s Blog
Thoughts from “Meet Safari for Spatial Computing”
I just watched Apple’s “Meet Safari for Spatial Computing” where they talk about how Safari works on...
a year ago
I just watched Apple’s “Meet Safari for Spatial Computing” where they talk about how Safari works on the new visionOS and what you can do to make your web pages look great on Apple’s new device.
tl;dr just keeping doing what responsive web design and accessibility experts have...
Liz Denys
Intent! It's eldritch magic! or: house rules for warlocks who mean well
As we all know, intent is an ancient eldritch power! Dungeons & Dragons 5e warlocks enter into pacts...
over a year ago
As we all know, intent is an ancient eldritch power! Dungeons & Dragons 5e warlocks enter into pacts with otherworldly patrons who grant them such ancient magics in the form of pact boons.
From page 107 of the Player's Handbook (5e, 2014):
At 3rd level, your otherworldly patron...
swyx's site RSS Feed
Temporal - the iPhone of System Design
Temporal ties Orchestration, Event Sourcing, and Workflows-as-Code in one distributed system and it...
over a year ago
Temporal ties Orchestration, Event Sourcing, and Workflows-as-Code in one distributed system and it is eating the world.
Vadim Kravcenko
How to promote your SaaS without being an ass?
There’s several things to remember when promoting your SaaS without coming off as an ass: Always...
over a year ago
There’s several things to remember when promoting your SaaS without coming off as an ass: Always provide value when promoting. […]
The post How to promote your SaaS without being an ass? appeared first on Vadim Kravcenko.
Jim Nielsen’s Blog
I Don’t Like The Term “IC” Either
I really liked Robin’s piece, “Stop calling yourself an IC”.
I still remember the way I felt the...
5 months ago
I really liked Robin’s piece, “Stop calling yourself an IC”.
I still remember the way I felt the first time I heard that term. It was used in a way where its connotations conveyed a kind of laziness via lack of ambition. And I thought, “But wait, I am an individual contributor —...
Chris Nicholas
Integrate Twitter newsletters with API Routes
Last week newsletters started popping up on Twitter profiles, using their recently purchased...
over a year ago
Last week newsletters started popping up on Twitter profiles, using their recently purchased service, Revue.
alexwlchan
flapi.sh: a tiny command-line tool for exploring the Flickr API →
I use the Flickr API pretty much every day in my day job.
Within the first week, I bashed together a...
8 months ago
I use the Flickr API pretty much every day in my day job.
Within the first week, I bashed together a couple of command-line tools to make a simple tool for exploring the API.
They’re not meant for building “proper” apps, more for quick experiments and seeing what API responses...
bt RSS Feed
My Static Blog Publishing Setup and an Apology to RSS Subscribers
My Static Blog Publishing Setup and an Apology to RSS Subscribers
2022-03-21
In case you missed it,...
over a year ago
My Static Blog Publishing Setup and an Apology to RSS Subscribers
2022-03-21
In case you missed it, this website is now generated with pure HTML & CSS. Although, generated isn’t the proper way to describe it anymore. Written is a better description.
No more Markdown files. No...
ntietz.com blog
RC Week 5: Wrapping up projects and starting a new one
Another week of my RC batch wraps up.
I'm done with five weeks, and seven weeks are left!
Time is...
over a year ago
Another week of my RC batch wraps up.
I'm done with five weeks, and seven weeks are left!
Time is still flying by, and I've hit an inflection point.
I have gotten what I want out of the two projects I've worked on so far, so I'm going to wrap them up and move on to one new...
Engineer’s Codex
How Pinterest scaled to 11 million users with only 6 engineers
Pinterest's tech stack explained simply (5 minute read)
a year ago
Pinterest's tech stack explained simply (5 minute read)
swyx's site RSS Feed
Blogpost Annealing
Letting my writing improve under the heat of feedback
over a year ago
Letting my writing improve under the heat of feedback
Confessions of a...
Video: Architecture of Groq's LPU & Why is it so Fast?
This last Sunday we did a live session on Groq’s LPU and after that many people reached out to me...
9 months ago
This last Sunday we did a live session on Groq’s LPU and after that many people reached out to me for the recording of the session.
ntietz.com blog
Load testing is hard, and the tools are... not great. But why?
If you're building an application that needs to scale—and we all tell ourselves that we are—then at...
over a year ago
If you're building an application that needs to scale—and we all tell ourselves that we are—then at some point you have to figure out if it does or not. This is where load testing comes in: if you want to see whether or not your application can handle scale, just generate scale...
Making software...
Click to Load Website Images
Click to Load Website Images
2021-03-25
In my previous post about switching my Jekyll blog over to...
over a year ago
Click to Load Website Images
2021-03-25
In my previous post about switching my Jekyll blog over to PHPetite, I briefly mentioned how I only loaded in article images if the user clicked or tapped the empty file element.
In this post, I'm going to quickly breakdown the update I've...
A Beautiful Site
A Web Components Primer
On the eve of February, I was inspired to tweet about web components. What started as a simple...
over a year ago
On the eve of February, I was inspired to tweet about web components. What started as a simple thought quickly turned into a series of tweets that folks seem to find useful. I've adapted the thread and I'm posting it here for prosperity.
Overview #
Shadow DOM? Light DOM? Slots?...
Tinloof - Blog
How to build a waitlist with Supabase and Next.js
Let's build a simple app where:
1. Users sign up and join a waitlist.
2. Upon admin approval,...
11 months ago
Let's build a simple app where:
1. Users sign up and join a waitlist.
2. Upon admin approval, users get a notification email and can use the app.
Alex Meub
A Craigslist Early Notification Exploit
I wrote this post on November 23rd, 2020 when I reported the issue via Craigslist’s vulnerability...
over a year ago
I wrote this post on November 23rd, 2020 when I reported the issue via Craigslist’s vulnerability disclosure process. I didn’t want to publish it until I confirmed the issue was fixed, but it appears to have been fixed on February 28th, 2021 so I am posting it...
Making software...
Setup Jekyll from Scratch on a New Linux System
Setup Jekyll from Scratch on a New Linux System
2022-09-19
Special Note: Credit needs to be given to...
over a year ago
Setup Jekyll from Scratch on a New Linux System
2022-09-19
Special Note: Credit needs to be given to user Achraf JEDAY for putting these instructions together on Stack Overflow (although his comments were targeting an older version of Ruby). This post is more for my own personal...
PostHog's RSS Feed
In-depth: ClickHouse vs BigQuery
Both BigQuery and ClickHouse are databases designed to handle lots of data (like loads of data),...
a year ago
Both BigQuery and ClickHouse are databases designed to handle lots of data (like loads of data), but they have distinct philosophies and use cases…
Dan Slimmon
Don’t fix it just because it’s technical debt.
Why should we only spend part of our time doing work that maximizes value, and the rest of our time...
a year ago
Why should we only spend part of our time doing work that maximizes value, and the rest of our time doing other, less optimal work?
alexwlchan
Using static websites for tiny archives
In my previous post, I talked about how I’m trying to be more intentional and deliberate with my...
2 months ago
In my previous post, I talked about how I’m trying to be more intentional and deliberate with my digital data.
I don’t just want to keep everything – I want to keep stuff that I’m actually going to look at again.
As part of that process, I’m trying to be better about organising...
swyx's site RSS Feed
How to use Web Components with Next.js and TypeScript
In [my livestream today](https://dev.to/swyx/make-your-own-dev-to-cms-livestream-part-4-6em) I had...
over a year ago
In [my livestream today](https://dev.to/swyx/make-your-own-dev-to-cms-livestream-part-4-6em) I had the need to bring in a spinner component to show work in progress in my app. However found that existing React spinners were too heavy. That's when I had the idea to use web...
bt RSS Feed
Using a New Domain and Switching Static Hosts
Using a New Domain and Switching Static Hosts
2021-11-25
As you can most likely tell by looking at...
over a year ago
Using a New Domain and Switching Static Hosts
2021-11-25
As you can most likely tell by looking at your browser’s URL - I’ve swapped over to a new domain for my personal website: tdarb.org. I’m a fickle person and this is a random change - but it is one I’ve been planning to do...
Vladimir Klepov as a...
Are many useStates better than useState(object)?
Lately I've converted a lot of class components to functional. One question left me curious every...
over a year ago
Lately I've converted a lot of class components to functional. One question left me curious every time — why do I feel like splitting the old class state into so many useState(atom) — one for each state key? Is there any real benefit in it? Should I just leave a single...
Max Countryman
Your Hiring Funnel Is Broken and How to Fix It
Hiring is hard and your broken pipeline is making it harder. But with this simple framework, you can...
over a year ago
Hiring is hard and your broken pipeline is making it harder. But with this simple framework, you can dramatically improve your odds of hiring exceptional software engineers.
bt RSS Feed
Working with `git` Patches in Apple Mail
Working with git Patches in Apple Mail
2023-05-11
Before we begin: You could likely automate this...
a year ago
Working with git Patches in Apple Mail
2023-05-11
Before we begin: You could likely automate this process in a more streamlined way, but for most use cases this workflow should be fine.
I recently covered how to work with git email patches in Evolution on Linux, so I thought it...
swyx's site RSS Feed
Developer's Guide to Tech Strategy
This is a _very_ high level overview of tech strategy; that is, the _business of software_ rather...
over a year ago
This is a _very_ high level overview of tech strategy; that is, the _business of software_ rather than the art and science of creating software itself.
alexwlchan
emptydir: look for (nearly) empty directories and delete them
I’ve posted a new command-line tool on GitHub: emptydir, which looks for directories which are empty...
6 months ago
I’ve posted a new command-line tool on GitHub: emptydir, which looks for directories which are empty or nearly empty, and deletes them.
This isn’t a completely trivial problem, because emptiness is deceptive.
Consider the following folder.
Finder tells us it has 0 items, so it...
Tyler Cipriani: blog
Paper Review: “Did you miss my comments or what?” Toxicity in Open Source Discussions
On entitlement, toxicity, and burnout in Open Source.
[Toxicity is] rude, disrespectful, or...
a year ago
On entitlement, toxicity, and burnout in Open Source.
[Toxicity is] rude, disrespectful, or unreasonable language that is
likely to make someone leave a discussion.
– Google, Project
Jigsaw
Thu, 19 Aug 2021 @EmilyKager & @wardellbagby@androiddev.social
I didn’t expect to learn...
Alex Meub
A Great Bumper Sticker
I’m not really a fan of bumper stickers in general, but I saw this one on the freeway a few days ago...
over a year ago
I’m not really a fan of bumper stickers in general, but I saw this one on the freeway a few days ago and I couldn’t stop laughing:
It’s of course making fun of the Earth Stickers that are so common everywhere (especially in Portland):
If you’re curious, the original sticker was...
Confessions of a...
(Live Session) Performance Thinking: Six Key Lessons from 1BRC
Over the past year as I’ve dived deep into systems programming, I’ve developed a strong appreciation...
4 months ago
Over the past year as I’ve dived deep into systems programming, I’ve developed a strong appreciation for the finer details that drive performance optimization—something I truly enjoy discussing.
Tony Finch's blog
LEGO Technic beam sandwich keyboard case
My Keybird69 uses LEGO in its enclosure, in an unconventional way.
story time
Two years ago I...
a year ago
My Keybird69 uses LEGO in its enclosure, in an unconventional way.
story time
Two years ago I planned to make a typical
acrylic sandwich case
for HHKBeeb, in the style of the BBC Micro’s black and yellowish beige
case. But that never happened because it was too hard to choose...
James Vaughan's blog
How I Take Notes With Vim, Markdown, and Pandoc
over a year ago
Steve Klabnik
Resque 1.25.0 has been released
over a year ago
A Smart Bear
Distributed Logical Time
Properly ordering events in time is notoriously difficult in distributed systems. This algorithm is...
over a year ago
Properly ordering events in time is notoriously difficult in distributed systems. This algorithm is a simple, decentralized, scalable, constant-memory mechanism for independent replicas to record events in time, such that “happened-before” is preserved in almost all cases.
David Heinemeier...
Too much therapy at work
Many years ago, Jason and I hired a COO at 37signals, but ended up letting them go after just a year...
a month ago
Many years ago, Jason and I hired a COO at 37signals, but ended up letting them go after just a year (many reasons, another story). This happened not long before one of our company meet-ups, so we thought it fitting to discuss the matter in-person. What a mistake. The session...
Oxide Computer...
Moore's Scofflaws
Years ago, Jeff Bezos famously quipped that "your margin is my opportunity."
This was of course...
10 months ago
Years ago, Jeff Bezos famously quipped that "your margin is my opportunity."
This was of course aimed not at Amazon’s customers, but rather its
competitors, and it was deadly serious: customers of AWS in those bygone years
will fondly remember that every re:Invent brought with it...
bt RSS Feed
Simplifying the Craigslist Gallery
Simplifying the Craigslist Gallery
2022-10-03
This article was updated on October 11, 2022
I’m a big...
over a year ago
Simplifying the Craigslist Gallery
2022-10-03
This article was updated on October 11, 2022
I’m a big fan of craigslist.org and the overall UX used throughout their application. My own website is an ever-changing example of “brutalist” or minimalist design, so I’m always inspired...
Irrational...
Getting a job as an engineering executive.
I started my first executive job search when I was 25.
Eventually, I got an offer to lead...
a year ago
I started my first executive job search when I was 25.
Eventually, I got an offer to lead engineering at a startup with four engineers,
which I turned down to join Uber.
It wasn’t until a decade later that I joined Calm and started my first executive role.
If you start...
Josh Collinsworth
New Site, New Theme for 2018
Building a WordPress theme (and a new brand) from scratch.
over a year ago
Building a WordPress theme (and a new brand) from scratch.
Irrational...
Modeling impact of LLMs on Developer Experience.
In How should you adopt Large Language Models? (LLMs), we considered how
LLMs might impact a...
2 months ago
In How should you adopt Large Language Models? (LLMs), we considered how
LLMs might impact a company’s developer experience. To support that exploration, I’ve developed a system model of
the developing software at the company.
In this chapter, we’ll work through:
Summary results...
Ink & Switch
10 · Beyond prose
We experiment with bringing lightweight branching, diffs, and a chat-like history to diagramming and...
9 months ago
We experiment with bringing lightweight branching, diffs, and a chat-like history to diagramming and spreadsheet tools.
bunnie's blog
Winner, Name that Ware August 2024
Last month’s Ware was a peak programming meter driver board made by JC Broadcast, taken from an...
3 months ago
Last month’s Ware was a peak programming meter driver board made by JC Broadcast, taken from an Audix broadcast console. Thanks again to Howie M for contributing the ware! Howie hypothesized that the four mounting holes would be a dead give-away, in his words: The meters, typical...
A Beautiful Site
JavaScript functions for basename and dirname
Here are two JavaScript functions that mimic their PHP cousins.
basename() #
function basename(path)...
over a year ago
Here are two JavaScript functions that mimic their PHP cousins.
basename() #
function basename(path) {
return path.replace(/.*\//, '');
}
dirname() #
function dirname(path) {
return path.match(/.*\//);
}
Unlike their PHP cousins, these functions do not support paths...
Alex Meub
About the Apple Captive Network Assistant
Heads up! This post is no longer current. Check out the WBA’s Captive Network Portal Behavior site...
over a year ago
Heads up! This post is no longer current. Check out the WBA’s Captive Network Portal Behavior site for a better resource on the Captive Network Assistant.
If you’re a mac user, you likely have seen a strange popup window appear on your computer when you try to connect to the...
Daniel Marino
Free Radon album released
A little over a year ago, I composed a handful of songs. If I had to fit them into a genre, I’d go...
a year ago
A little over a year ago, I composed a handful of songs. If I had to fit them into a genre, I’d go with Lofi or Chillvibes. Or maybe Not-Rock-n-Roll. I don’t know—I’m so bad at classifying music.
I wasn’t sure what to do with the songs. I was experiencing some intense emotions...
Stephen Wolfram...
LLM Tech and a Lot More: Version 13.3 of Wolfram Language and Mathematica
The Leading Edge of 2023 Technology … and Beyond Today we’re launching Version 13.3 of Wolfram...
a year ago
The Leading Edge of 2023 Technology … and Beyond Today we’re launching Version 13.3 of Wolfram Language and Mathematica—both available immediately on desktop and cloud. It’s only been 196 days since we released Version 13.2, but there’s a lot that’s new, not least a whole...
Alex MacCaw
The Stars
Technology's ability to improve lives and alleviate suffering is undeniable. It has swept through...
a year ago
Technology's ability to improve lives and alleviate suffering is undeniable. It has swept through our lives like a tidal wave, lifting us from the depths of ignorance and suffering. It continues to reshape the world and grants us access to tools and knowledge previously...
Steve Klabnik
A Declaration of the Independence of Cyberspace
over a year ago
Making software...
Enabling Safari Extensions with the macOS Catalina Patcher
Enabling Safari Extensions with the macOS Catalina Patcher
2021-09-23
I have an old 2011 MacBook Air...
over a year ago
Enabling Safari Extensions with the macOS Catalina Patcher
2021-09-23
I have an old 2011 MacBook Air that is running the latest version of macOS Catalina thanks to the very wonderful Catalina Patcher by dosdude1. This project has made it possible for me to run and test some of...
TokyoDev
Tech Meetups in Tokyo
Now that you’re in Tokyo looking to start or further your IT career, you might want to look into...
a year ago
Now that you’re in Tokyo looking to start or further your IT career, you might want to look into attending tech meetups.
Tech meetups are events held online and offline, and attending them is a great way to form connections and establish yourself in the tech community. It...
Blog - Bitfield...
Rust and Go vs everything else
Alex Pliutau and I discuss what Go programmers should know about Rust, and
why the two languages...
a month ago
Alex Pliutau and I discuss what Go programmers should know about Rust, and
why the two languages make perfect partners.
Dan Cowell
Software engineers hate code.
This is the best-kept secret of the software engineering profession: engineers hate code. Especially...
a year ago
This is the best-kept secret of the software engineering profession: engineers hate code. Especially code written by other people. It's why they love working on greenfield projects so much. No code, no maintenance, no headaches!
Ever wondered why microservices took off in teams...
Making software...
Billing for One CSS Change
Billing for One CSS Change
2019-11-29
Every second you spend working as a designer should be billed...
over a year ago
Billing for One CSS Change
2019-11-29
Every second you spend working as a designer should be billed back to the client. A simple button color change? Bill them. Additional links added to an existing menu? Send that invoice over. Some basic typeface changes? Don't do it for...
macwright.com
Recently
The weather is starting to get better.
Listening
Gift from the Trees by Mammal Hands
I am still...
a year ago
The weather is starting to get better.
Listening
Gift from the Trees by Mammal Hands
I am still really loving the constellation of bands around
Mammal Hands. They just released
a new album, “Gift from the Trees”, and it’s really excellent.
RETURN by tAKX
Their guitarist,...
bt RSS Feed
My Text Edtior is Not Open Source
My Text Edtior is Not Open Source
2024-01-02
I’ve been using Sublime Text on and off for longer than...
a year ago
My Text Edtior is Not Open Source
2024-01-02
I’ve been using Sublime Text on and off for longer than I can remember. I think Sublime has been around since the start of my “real” career over 10 years ago, but I could be mistaken1. It certainly feels that long. And in that time I...
Julia Evans
Reasons to use your shell's job control
Hello! Today someone on Mastodon asked about job control (fg, bg, Ctrl+z,
wait, etc). It made me...
6 months ago
Hello! Today someone on Mastodon asked about job control (fg, bg, Ctrl+z,
wait, etc). It made me think about how I don’t use my shell’s job
control interactively very often: usually I prefer to just open a new terminal
tab if I want to run multiple terminal programs, or use tmux...
Marco.org
The 2018 iPad Pro
Watch my video review of the new iPad Pro in both sizes.
Rather than try to be comprehensive, I...
over a year ago
Watch my video review of the new iPad Pro in both sizes.
Rather than try to be comprehensive, I focused on what matters most to me: size choice between the 11” and 12.9”, the Smart Keyboard Folio from my perspective as a frequent 10.5” Smart Keyboard user, the new Pencil, and why...
Making software...
Create a Mac App Icon with Pure HTML and CSS
Create a Mac App Icon with Pure HTML and CSS
2021-04-13
I have always been a huge fan of Bogdan's...
over a year ago
Create a Mac App Icon with Pure HTML and CSS
2021-04-13
I have always been a huge fan of Bogdan's work on Dribbble and was recently inspired to see if I could replicate one of his awesome icon designs with only HTML & CSS. What was the outcome? I think it's a half-way decent copy...
Epic Web Dev
What Is A Test Boundary? (article)
Learn automated testing essentials: prepare code, execute actions, verify outcomes. Discover the...
6 months ago
Learn automated testing essentials: prepare code, execute actions, verify outcomes. Discover the importance of mocking and setting proper test boundaries.
Josh Comeau's blog
How To Learn Stuff Quickly
As software developers, we're always learning new things; it's practically the whole gig! If we can...
over a year ago
As software developers, we're always learning new things; it's practically the whole gig! If we can learn to quickly pick up new languages/frameworks/tools, we'll become so much more effective at our job. It's sort of a superpower.
PostHog's RSS Feed
In-depth: PostHog vs Mixpanel
Want to know how PostHog and Mixpanel are different? If you remember nothing else, remember these...
over a year ago
Want to know how PostHog and Mixpanel are different? If you remember nothing else, remember these two points: Mixpanel is a product analytics tool…
bunnie's blog
Name that Ware, May 2024
The Ware for May 2024 is shown below. This is a guest ware, but I’ll reveal the contributor when I...
7 months ago
The Ware for May 2024 is shown below. This is a guest ware, but I’ll reveal the contributor when I reveal the ware next month, as the name and link would also lead to the solution.
David Heinemeier...
Tesla wins
When we first got our Tesla Model X four years ago, I wasn't the biggest fan. Build quality was...
a year ago
When we first got our Tesla Model X four years ago, I wasn't the biggest fan. Build quality was spotty, brakes didn't match the performance, and handling was at best so-so. But it could carry seven, including luggage, was electric, and the dual-motor acceleration was a hoot. So...
Joel Gascoigne
Taking time to reflect
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
It’s been a...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
It’s been a while since my last blog post, and I’ve recently been pondering why
that may be.
It’s not that I’ve been doing less than when I was regularly blogging, it’s in
fact quite
the singularity is...
The World’s Computer
This was the tagline of Ethereum, and it’s really smart. Sadly, I feel they have lost their way with...
10 months ago
This was the tagline of Ethereum, and it’s really smart. Sadly, I feel they have lost their way with Proof of Stake, and wish they would go back to focusing on building a reasonable world computer.
In 2024, it’s still painfully annoying to stand up a database. This is the only...
Liz Denys
Starlit sky coffee pitcher, 2024
Starlit sky on a clear night / the milky way / eternity / clarity / raindrops sticking to window...
8 months ago
Starlit sky on a clear night / the milky way / eternity / clarity / raindrops sticking to window glass
Dan Slimmon
Dead air on the incident call
Silence can mean different things to different people in different situations. In this post, I'll...
9 months ago
Silence can mean different things to different people in different situations. In this post, I'll present a few incident scenarios and explore the role of the incident commander in breaking (or simply abiding in) dead air.
macwright.com
Recently 2024
Happy end-of-2024! It’s been a pretty good year overall. I’m thankful. There’s no way that I’ll be...
2 weeks ago
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...
macwright.com
The module pattern really isn't needed anymore by
I wrote about this pattern years ago, and wrote an update, and then Classes became broadly available...
a year ago
I wrote about this pattern years ago, and wrote an update, and then Classes became broadly available in JavaScript. I was kind of skeptical of class syntax when it came out, but now there really isn’t any reason to use any other kind of “class” style than the ES6 syntax. The...
Paolo Amoroso's...
Designing a WebCard bitmap the hard way
<![CDATA[NoteCards link icons leading to cards of a certain type can and typically do have a custom...
2 months ago
<![CDATA[NoteCards link icons leading to cards of a certain type can and typically do have a custom bitmap associated with the type.
WebCard cards of type Web initially inherited the bitmap of the parent type Text, a stylized NoteCards blank card frame. To visually differentiate...
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...
a year ago
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...
Alex Meub
A Quick Look at Portland Parking Ticket Data
I work in downtown Portland and see a lot of people getting parking tickets every day (parking is...
over a year ago
I work in downtown Portland and see a lot of people getting parking tickets every day (parking is one of the reasons I ride my bike to work). I was curious to learn more about it.
Thanks to the Freedom of Information Act, Portland parking ticket data is available to anyone who...
David Heinemeier...
We’ve resubmitted the HEY Calendar app to Apple
Apple waited until end of business on Friday to send us the formal rejection of the HEY Calendar...
12 months ago
Apple waited until end of business on Friday to send us the formal rejection of the HEY Calendar app. It seems they love to play these little games to try to drown any controversy with the cover of a weekend. But we don’t roll over that easy, so the team worked through the...
bt RSS Feed
Hosting with Codeberg Pages
Hosting with Codeberg Pages
2022-07-29
I recently switched the pblog project repo over from...
over a year ago
Hosting with Codeberg Pages
2022-07-29
I recently switched the pblog project repo over from Sourcehut to Codeberg (mostly for UX reasons) and it got me looking into Codeberg Pages. It seemed like a cleaner approach to host my personal blog on the same platform I planned to also...
swyx's site RSS Feed
Make your own Dev.to CMS livestream - Part 1
Livecoding my own Dev.to CMS with Next.js + Preact + TypeScript + Tailwind UI
over a year ago
Livecoding my own Dev.to CMS with Next.js + Preact + TypeScript + Tailwind UI
Irrational...
Mailbag: What should you do if you report to an underperforming executive?
Recently, an email came in asking what to do when you report into a mediocre or underperforming...
a year ago
Recently, an email came in asking what to do when you report into a mediocre or underperforming executive.
I’ve gotten variants of this question a number of times over the years, and it’s worth digging into a bit:
Have you written anything about working in middle management where...
The Pragmatic...
Google Domains to shut down
The world’s 3rd most popular domain registrar has been sold to Squarespace – but Google didn’t...
a year ago
The world’s 3rd most popular domain registrar has been sold to Squarespace – but Google didn’t notify customers just yet. When could this happen, and why is Google silent?
David Heinemeier...
Kamal 2: Thou need not PaaS
Kamal was our ticket out of the cloud. A simple tool for deploying containerized applications onto...
3 months ago
Kamal was our ticket out of the cloud. A simple tool for deploying containerized applications onto our own hardware, without the need for the complexity of something like Kubernetes. Kamal 2 is a huge leap forward for that tool, and it has just shipped.
Now you can deploy...
A Smart Bear
Double your productivity without more work or stress
People love to say that getting "1% better per day" makes you 37x better after a year, but this...
5 months ago
People love to say that getting "1% better per day" makes you 37x better after a year, but this obviously makes no sense. But 2x better is possible.
Blog - Bitfield...
Will write for food
In the final sizzling chapter of my career exposé, we’ll learn how I went
from self-unemployment...
6 months ago
In the final sizzling chapter of my career exposé, we’ll learn how I went
from self-unemployment to founding the world’s tiniest publishing empire.
bunnie's blog
Name that Ware, August 2024
The Ware for August 2024 is shown below. Thanks to Howie M for contributing this ware!
4 months ago
The Ware for August 2024 is shown below. Thanks to Howie M for contributing this ware!
Ink & Switch
09 · Version history as chat
This prototype mixes a history timeline with a chat-like interface. The result is useful for...
9 months ago
This prototype mixes a history timeline with a chat-like interface. The result is useful for understanding changes and discussing a work-in-progress document.
Oxide Computer...
A Gap in the TrustZone preset settings for the LPC55S69
We’re very excited to have announced
the general availability of our cloud computer. As part of this...
a year ago
We’re very excited to have announced
the general availability of our cloud computer. As part of this work, we
continue to build on top of the LPC55S69 from NXP as our Root of Trust. We’ve
discovered some gaps when using TrustZone preset settings on the LPC55S69 that
can allow for...
Basta’s Notes
What have I been up to lately?
Just a little update, because I've been quiet
a year ago
Just a little update, because I've been quiet
Computer Things
What Mob Programming is Bad At
Pairing is two people working together to write code, while mobbing is three or more. Pairing has...
9 months ago
Pairing is two people working together to write code, while mobbing is three or more. Pairing has been part of the programming milleau since at least the 90's (with extreme programming), while mobbing is more of a 10's thing. I'm going to use them interchangeably from here on out...
Josh Comeau's blog
Understanding the JavaScript Modulo Operator
One of the most commonly-misunderstood operators is Modulo (%). In this tutorial, we'll unpack...
a year ago
One of the most commonly-misunderstood operators is Modulo (%). In this tutorial, we'll unpack exactly what this little bugger does, and learn how it can help us solve practical problems.
The Pragmatic...
A senior engineer/EM job search story
avidson Fellipe, a software engineer with 15 years’ experience, based in New York, was recently let...
a year ago
avidson Fellipe, a software engineer with 15 years’ experience, based in New York, was recently let go. After 350 applications and 85 first-round interviews in 4 months, he secured 3 offers, and has now started his new job. He shares first-hand learnings about navigating the jobs...
Tony Finch's blog
nsnotifyd-2.1 released
I have made
a new release of nsnotifyd,
a tiny DNS server that just listens for NOTIFY messages
and...
6 months ago
I have made
a new release of nsnotifyd,
a tiny DNS server that just listens for NOTIFY messages
and runs a script when one of your zones changes.
This nsnotifyd-2.1 release includes a few bugfixes:
more lenient handling of trailing . in domain names on the command line
avoid...
alexwlchan
Preserving pixels in Paris
Last month, I was in Paris for the IIPC Web Archiving Conference, a two-day event to discuss the...
7 months ago
Last month, I was in Paris for the IIPC Web Archiving Conference, a two-day event to discuss the preservation of websites and social media.
It was my first time attending, and I was there with both a professional and a personal interest.
This post has some thoughts and photos...
Ferd.ca
A Distributed Systems Reading List
2024/02/07
A Distributed Systems Reading List
This document contains various resources and quick...
11 months ago
2024/02/07
A Distributed Systems Reading List
This document contains various resources and quick definition of a lot of background information behind distributed systems. It is not complete, even though it is kinda sorta detailed. I had written it some time in 2019 when coworkers...
David Heinemeier...
As we forgive those who trespass against us
Google's announcement that they're done discussing politics at work widely echoed the policy changes...
8 months ago
Google's announcement that they're done discussing politics at work widely echoed the policy changes Coinbase and we at 37signals did a few years back. So yesterday, I did two separate interviews with media outlets on the topic. And we spoke in part about those early weeks of...
TokyoDev
Heroku + Travis CI: Tokyo Rubyist Meetup Report
While I was initially a bit aprehensive at the classroom like setting for the last [Tokyo Rubyist...
over a year ago
While I was initially a bit aprehensive at the classroom like setting for the last [Tokyo Rubyist Meetup](https://trbmeetup.doorkeeper.jp), thanks to all the great people who attended, we were able to turn it into a lively event. Anchoring the night were presentations about...
Josh Comeau's blog
Let's Bring Spacer GIFs Back!
The 90s web gave us many delightful things: web rings, guestbooks, “under construction” animations,...
over a year ago
The 90s web gave us many delightful things: web rings, guestbooks, “under construction” animations, and spacer GIFs. In this article, we'll see how I use a Spacer component to solve common layout problems, and why it's often a great tool for the job in the modern web.
Josh Comeau's blog
Next-level frosted glass with backdrop-filter
Glassy headers have become a core part of the “slick startup” UI toolkit, but they’re all missing...
a month ago
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.
swyx's site RSS Feed
Why TurboRepo Will Be The First Big Trend of 2022
TurboRepo is a big deal for the JS community because it addresses the monorepo problem head on,...
over a year ago
TurboRepo is a big deal for the JS community because it addresses the monorepo problem head on, bringing 85% faster build speeds and great architecture/docs/marketing.
Engineer’s Codex
5 Non-LLM Software Trends To Be Excited About
Innovations outside the AI spotlight
a month ago
Innovations outside the AI spotlight
Julia Evans
New zine: How Integers and Floats Work
Hello! On Wednesday, we released a new zine: How Integers and Floats Work!
You can get it for $12...
a year ago
Hello! On Wednesday, we released a new zine: How Integers and Floats Work!
You can get it for $12 here:
https://wizardzines.com/zines/integers-floats, or get
an 13-pack of all my zines here.
Here’s the cover:
the table of contents
Here’s the table of contents!
Now let’s...
Paolo Amoroso's...
Raspberry Pi 400: first impressions
<![CDATA[I bought a lovely little computer, a Raspberry Pi 400, and two accessories, a 64 GB Samsung...
a year ago
<![CDATA[I bought a lovely little computer, a Raspberry Pi 400, and two accessories, a 64 GB Samsung Pro Endurance microSD card to hold the file system and a very cheap Full HD webcam for video calls.
Raspberry Pi 400, Samsung Pro Endurance 64 GB microSD card, and Full HD webcam...
A Beautiful Site
Rebuilding your Spotlight index in macOS
I use Spotlight more than I like to admit, usually for launching apps. Recently, some of my apps and...
over a year ago
I use Spotlight more than I like to admit, usually for launching apps. Recently, some of my apps and files stopped appearing — even ones I access frequently.
After sifting through numerous posts online, I finally discovered one that seems to work. Running this command in the...
Joel Gascoigne
Avoid the 50/50 co-founder model - here's why
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
I recently...
over a year ago
* Tweet [https://twitter.com/share]
*
* Buffer [http://bufferapp.com/add]
*
I recently received an email asking some advice about co-founders, specifically
about whether a 50/50 ownership split makes sense for a startup.
This is certainly a topic which has had heated...
Steve Klabnik
WebAssembly is more than just the web
over a year ago
Julia Evans
Terminal colours are tricky
Yesterday I was thinking about how long it took me to get a colorscheme in my
terminal that I was...
3 months ago
Yesterday I was thinking about how long it took me to get a colorscheme in my
terminal that I was mostly happy with (SO MANY YEARS), and it made me wonder
what about terminal colours made it so hard.
So I asked people on Mastodon what problems
they’ve run into with colours in the...
David Heinemeier...
Automattic is doing open source dirty
Automattic demanding 8% of WP Engine's revenues because they're not "giving back enough" to...
2 months ago
Automattic demanding 8% of WP Engine's revenues because they're not "giving back enough" to WordPress is a wanton violation of general open source ideals and the specifics of the GPL license. Automattic is completely out of line, and the potential damage to the open source world...
Charles Chen
To Comment or Not to Comment
Ruminations on the timeless debate of comments in code.
a year ago
Ruminations on the timeless debate of comments in code.
bt RSS Feed
Dual Booting OpenBSD and Alpine Linux on a X220 ThinkPad
Dual Booting OpenBSD and Alpine Linux on a X220 ThinkPad
2024-07-10
I’ve always found it useful to...
5 months ago
Dual Booting OpenBSD and Alpine Linux on a X220 ThinkPad
2024-07-10
I’ve always found it useful to run both OpenBSD and some form of Linux variation on my personal machines. Most times, I would default to running one OS on bare metal, while the other would simply live in a VM....
Patrick Kayongo
The Fruitfulness of Grunt Work
I had an interesting software development problem the other day. I was working on a NodeJS...
8 months ago
I had an interesting software development problem the other day. I was working on a NodeJS application, doing general maintenance work, which led me down an interesting rabbit hole. I could’ve used an online knowledge tool such as the various LLM-based tools available now. But...
ntietz.com blog
Automating my backups with restic and anacron
I've been running my backups by hand1 every week on my laptop for as long as they've been set...
11 months ago
I've been running my backups by hand1 every week on my laptop for as long as they've been set up.
Automating them was something important but was on the back burner, because, well, it never felt very important.
Then I lost a few days of work when my SSD died, and it felt more...
the singularity is...
Dangerous Misinformation
When I Google myself, I get this infobox:
As you can see below, George Hotz’s height is 5’10”, not...
4 months ago
When I Google myself, I get this infobox:
As you can see below, George Hotz’s height is 5’10”, not 5’4”
Google, please take this misinformation seriously before you end up in a very large libel suit. This is not on a site you are linking to, this is first party misinformation...
Steve Klabnik
Is WebAssembly the return of Java Applets & Flash?
over a year ago
The Pragmatic...
Why my new audiobook “The Software Engineer's Guidebook” is everywhere except on Audible
Currently, Audible’s position is hurting audiobook authors. My audiobook isn’t on Audible due to a...
3 weeks ago
Currently, Audible’s position is hurting audiobook authors. My audiobook isn’t on Audible due to a mix of their monopolistic pricing practices, and the company’s own complacency in how long they take to approve new titles.
Ralph Ammer
The Creative Switch
This secret to creativity will help you come up with many ideas.
The post The Creative Switch...
over a year ago
This secret to creativity will help you come up with many ideas.
The post The Creative Switch appeared first on Ralph Ammer.
Ognjen Regoje •...
Don't thank Chat GPT
In fact, not only is thanking useless, and borderline harmful, but any kind of pleasantries are.
Not...
a year ago
In fact, not only is thanking useless, and borderline harmful, but any kind of pleasantries are.
Not only is there no logical reason to add pleasantries to your chat with GPT, but it also takes tokens for it to remove them and get to the point of your message.
Don't thank Chat...
Liz Denys
Gogo Yubari's meteor hammer as a purse
So I made a purse shaped like the Gogo Yubari's meteor hammer for a Kill Bill themed party...
The...
over a year ago
So I made a purse shaped like the Gogo Yubari's meteor hammer for a Kill Bill themed party...
The spherical shape comes from quilt batting stuffed between the beach ball style outside and a stiff dodecahedron lining. The body is hand-painted, punched out vinyl over black...
Steve Klabnik
Returning to Free Software, a guide
over a year ago
The Pragmatic...
The Pragmatic Engineer in 2024
The last 12 months, The Pragmatic Engineer covered a variety of deepdives, revealing previously...
a month ago
The last 12 months, The Pragmatic Engineer covered a variety of deepdives, revealing previously unshared details like what Stripe's engineering culture is like, The architecture evolution of Bluesky, How the ChatGPT scaled to meet demand, How Anthropic builds products, How and...
Charles Chen
5 Engineering Lessons from Early Stage Startups
Lessons learned from working at startups ranging from seed stage to series-B/C funding over the last...
a year ago
Lessons learned from working at startups ranging from seed stage to series-B/C funding over the last 3 years.
HTMHell
Starting off right: Where autofocus shines
by Kilian Valkhof
Focus is where the user is on your website. It's what makes it possible to...
a month ago
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...
David Gerrells
how to save $13.27 on your sAAs bill
Vercel has a decent entry level analytics product which I cannot afford so I am going to build my...
5 months ago
Vercel has a decent entry level analytics product which I cannot afford so I am going to build my own.
Jim Nielsen’s Blog
Stealth Airplanes & Best Practices
I recently finished reading (actually listening to as it was an audiobook) Skunk Works: A Personal...
a year ago
I recently finished reading (actually listening to as it was an audiobook) Skunk Works: A Personal Memoir of My Years of Lockheed by Ben Rich.
tldr; I quite enjoyed the (audio)book. It’s a fascinating look at how a collective group of people can find innovative solutions at the...
Jim Nielsen’s Blog
The Allure of Local-First Sync Engines
On the localfirst.fm podcast episode with Kyle Matthews they drew a parallel: jQuery was to React...
9 months ago
On the localfirst.fm podcast episode with Kyle Matthews they drew a parallel: jQuery was to React what REST APIs are to local-first sync engines.
jQuery was manual DOM manipulation. You were in charge of writing the instructions to create, read, update, and delete DOM...
bt RSS Feed
Designers Need Thicker Skin
Designers Need Thicker Skin
2017-07-10
I’m not normally one to comment or even really care about...
over a year ago
Designers Need Thicker Skin
2017-07-10
I’m not normally one to comment or even really care about “drama” within our design industry. Opinions are just that and should just be consumed at face value. But this week I was moderately annoyed with a subset of designers in...
Krzysztof Kowalczyk...
@levelsio and survivorship bias
Pieter Levels is a prolific maker of software.
He’s also very successful maker of software: he’s...
over a year ago
Pieter Levels is a prolific maker of software.
He’s also very successful maker of software: he’s close to making $1.5 million a year from his business, almost all of it profit.
Almost all of it is his profit since for most of the time he was a sole developer / marketer / copy...
Josh Collinsworth
Ten tips for better CSS transitions and animations
Creating high-quality, polished web animations is both a science and an art. This post covers the...
a year ago
Creating high-quality, polished web animations is both a science and an art. This post covers the best things I've learned over the last decade of crafting web UIs.
Vladimir Klepov as a...
Build better libraries, use dev warnings
Suppose you're making a cool library that sums numbers in an array. You add a new option, inital,...
over a year ago
Suppose you're making a cool library that sums numbers in an array. You add a new option, inital, that lets users specify an initial value for the summation:
sum([1, 1, 1], { inital: 10 }) // 13
Oh no! You made a typo — of course you meant initial, not inital. What's done is...
A Beautiful Site
Shoelace 2.0: a forward-thinking library of web components
I've been having a lot of fun with Stencil and web components lately. Back in January, I decided to...
over a year ago
I've been having a lot of fun with Stencil and web components lately. Back in January, I decided to use it to completely redesign Shoelace, an open source project I created a few years ago.
I recently published Shoelace 2.0 — a collection of professionally-designed, accessible...
A Beautiful Site
Finding the active element in a shadow root
You can get the focused element with document.activeElement but, if it's inside a shadow root, this...
over a year ago
You can get the focused element with document.activeElement but, if it's inside a shadow root, this will be the host element. This happens because of retargeting, but sometimes you might need access to the internal element that actually has focus.
Here's a recursive function that...
ntietz.com blog
Starting a New Chapter
At the end of this week, I am starting a new chapter of my life: entrepreneurship. This is my last...
over a year ago
At the end of this week, I am starting a new chapter of my life: entrepreneurship. This is my last week at CrossChx, and then I begin splitting my time between contract work and developing some of my own ideas.
I only spent about three quarters of a year at CrossChx, but in that...
Words and Buttons...
[Renovated] Interactive explanation of marching cubes and dual contouring
Marching cubes and dual contouring are often used for mesh generation. This explanation shows how...
over a year ago
Marching cubes and dual contouring are often used for mesh generation. This explanation shows how they work, what are their differences, similarities, and limitations.
bt RSS Feed
"This Key is Useless Now. Discard?"
“This Key is Useless Now. Discard?”
2024-08-28
The title of this article probably triggers nostalgic...
4 months ago
“This Key is Useless Now. Discard?”
2024-08-28
The title of this article probably triggers nostalgic memories for old school Resident Evil veterans like myself. My personal favourite in the series (not that anyone asked) was the original, 1998 version of Resident Evil 2 (RE2). I...
wingolog
whippet progress update: funding, features, future
Greets greets! Today, an update on recent progress in
, including sponsorship, a
new collector, and...
5 months ago
Greets greets! Today, an update on recent progress in
, including sponsorship, a
new collector, and a new feature.Whippet
But first, a reminder of what the haps: Whippet is a garbage collector
library. The target audience is language run-time authors, particularly
“small”...
Josh Collinsworth
Announcing Quina (My First App)!
The story of building Quina, a word game Progressive Web App built with Nuxt, and launched on the...
over a year ago
The story of building Quina, a word game Progressive Web App built with Nuxt, and launched on the Google Play Store.
David Heinemeier...
Workfeed goes to America
During my three years in Denmark, I invested in five local startups. All on the premise that we'd...
a year ago
During my three years in Denmark, I invested in five local startups. All on the premise that we'd work towards becoming profitable, remaining in the country, and avoiding the VC timebomb. The one that has already fulfilled all the objectives is Workfeed, and now they're ready to...
Josh Collinsworth
I worry our Copilot is leaving some passengers behind
Why I worry about the effect GitHub Copilot is having and will continue to have on the accessibility...
10 months ago
Why I worry about the effect GitHub Copilot is having and will continue to have on the accessibility of the web at scale.
The Changelog
Remote Directory Tree Comparison, Optionally Asynchronous and Airgapped
Note: this is another article in my series on asynchronous communication in Linux with UUCP and...
over a year ago
Note: this is another article in my series on asynchronous communication in Linux with UUCP and NNCP. In the previous installment on store-and-forward backups, I mentioned how easy it is to do with ZFS, and some of the tools that can be used to do it without ZFS. A lot of those...
37signals Dev
Mission Control — Jobs 1.0 released
We’ve just released Mission Control — Jobs v1.0.0, the dashboard and set of extensions to operate...
a month ago
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...
blag
Staying Ahead of Amazon, in Amazon Treasure Hunt Contest
With a simple Man In The Middle (MITM) attack, I tried to cheat(?) one of Amazon India’s contest.
over a year ago
With a simple Man In The Middle (MITM) attack, I tried to cheat(?) one of Amazon India’s contest.
HTMHell
Reading the meter
The <meter> element is a little known and rarely used semantic element. It's a non-interactive form...
over a year ago
The <meter> element is a little known and rarely used semantic element. It's a non-interactive form element that renders as a partially filled horizontal bar. Browsers provide user-agent styles, but the <meter> element can also be styled.
<meter min="10" max="200"...
37signals Dev
My adventures hunting down a Ruby memory leak 🎢
In this article, I tell the story of a memory leak we had in our HEY app, the cool tools I could use...
10 months ago
In this article, I tell the story of a memory leak we had in our HEY app, the cool tools I could use to investigate and how I finally figured out the root cause.
Memory leaks can be tricky to diagnose and having the right set of tools makes a huge difference.
I hope my adventures...