Full Width [alt+shift+f] Shortcuts [alt+shift+k]
Sign Up [alt+shift+s] Log In [alt+shift+l]
Top Categories > programming
#all #startups #life #history #science #programming #technology #AI #literature #architecture #travel #design #comics #creative #finance #cartography #indiehacker Muted Categories [alt+←][alt+→]
The Best Resources for Entrepreneurial Developers My background is as a developer, but I've been running my own business since 2008. For advice about...
10th Apr 2014
40

The Best Resources for Entrepreneurial Developers

from TokyoDev [alt+shift+b] in programming

10th Apr 2014
My background is as a developer, but I've been running my own business since 2008. For advice about business, I've always found other entrepreneurial developers are the best source, as they tend to have faced similar challenges to my own. If you're a developer starting your own...
Hilariously Fast Volume Computation with the Divergence Theorem (No, there won’t be jokes.) The following presents a fast algorithm for volume computation of...
16th Feb 2018
1

Hilariously Fast Volume Computation with the Divergence Theorem

from Alyssa Rosenzweig [alt+shift+b] in programming

16th Feb 2018
(No, there won’t be jokes.) The following presents a fast algorithm for volume computation of a simple, closed, triangulated 3D mesh. This assumption is a consequence of the divergence theorem. Further extensions may generalise to other meshes as well, although that is presently...
My Cheapskate Commenting System My Cheapskate Commenting System 2022-02-03 My blog now has comments! Well, kind of... I went down a...
3rd Feb 2022
45

My Cheapskate Commenting System

from Making software better without sacrificing user experience. [alt+shift+b] in programming

3rd Feb 2022
My Cheapskate Commenting System 2022-02-03 My blog now has comments! Well, kind of... I went down a two day long rabbit-hole trying to find the best solution for implementing comments on my static website (generated via Jekyll FYI). There are a ton of options out there and many...
Prevent data loss on page refresh It can be frustrating to fill out a web form, only to accidentally refresh the page (or click...
1st Oct 2024
106

Prevent data loss on page refresh

from Darek Kay [alt+shift+b] in programming

1st Oct 2024
It can be frustrating to fill out a web form, only to accidentally refresh the page (or click "back") and lose all the hard work. In this blog post, I present a method to retain form data when the page is reloaded, which improves the user experience. Browser behavior Most...
OpenClaw is my new coworker What happens when you give AI its own laptop
2nd Feb 2026
1

OpenClaw is my new coworker

from Contraption Co. [alt+shift+b] in programming

2nd Feb 2026
What happens when you give AI its own laptop
Philip Glass Piano Works by Víkingur Ólafsson Sharing an album I’ve been obsessed with this year
12th Jan 2025
1

Philip Glass Piano Works by Víkingur Ólafsson

from Jordan Eldredge's Blog [alt+shift+b] in programming

12th Jan 2025
Sharing an album I’ve been obsessed with this year
No, Wall Street, DeepSeek is not "far superior" I mean, it is! But the whole story about the stock market reacting to the news about DeepSeek V3...
30th Oct 2024
37

No, Wall Street, DeepSeek is not "far superior"

from Founder's blog [alt+shift+b] in programming

30th Oct 2024
I mean, it is! But the whole story about the stock market reacting to the news about DeepSeek V3 and R1 is a fine example of the knee-jerk nature of mass consciousness in the era of clickbait economics. Briefly, by points: No, DeepSeek isn’t “head and shoulders...
The Office Bell Ringer At my company, it’s a tradition to say “ring the bell” when we sign a new customer, release a new...
19th Feb 2020
47

The Office Bell Ringer

from Alex Meub [alt+shift+b] in programming

19th Feb 2020
At my company, it’s a tradition to say “ring the bell” when we sign a new customer, release a new feature or receive other positive news, big or small. When we hear the large bell ring in the center of the office, we know that something good just happened. It’s been a great way...
Why We Force You to Learn Multiple Programming Languages I’ve been building Boot.dev as a side-project for the last couple of years, and have recently had...
13th Jun 2022
1

Why We Force You to Learn Multiple Programming Languages

from Boot.dev Blog [alt+shift+b] in programming

13th Jun 2022
I’ve been building Boot.dev as a side-project for the last couple of years, and have recently had many new students ask the same question:
Proper UI Hierarchy Proper UI Hierarchy 2019-02-05 I often feel like an old man when I complain about flat design and...
5th Feb 2019
56

Proper UI Hierarchy

from Making software better without sacrificing user experience. [alt+shift+b] in programming

5th Feb 2019
Proper UI Hierarchy 2019-02-05 I often feel like an old man when I complain about flat design and how designers these days have lost (or willfully forgotten) the skill to create accessible UIs with proper visual hierarchy. A skill which at it's core seems so simple - yet is...
Generative AI is not going to build your engineering team for you Originally posted on the Stack Overflow blog on June 10th, 2024 When I was 19 years old, I dropped...
10th Jun 2024
38

Generative AI is not going to build your engineering team for you

from charity.wtf [alt+shift+b] in programming

10th Jun 2024
Originally posted on the Stack Overflow blog on June 10th, 2024 When I was 19 years old, I dropped out of college and moved to San Francisco. I had a job offer in hand to be a Unix sysadmin for Taos Consulting. However, before my first day of work I was lured away to a […]
Handling State & User Interactions In UI Applications An early thinking about handling your app or component state can help you to avoid many bugs even...
5th Feb 2021
44

Handling State & User Interactions In UI Applications

from Mahmoud Felfel's Blog RSS Feed [alt+shift+b] in programming

5th Feb 2021
An early thinking about handling your app or component state can help you to avoid many bugs even before starting to write code.
Czech localization Czech localization
1st Oct 2025
1

Czech localization

from Buttondown's blog [alt+shift+b] in programming

1st Oct 2025
Czech localization
Networking Essentials: Switching Discussing why we need Switches in a network and how they work
4th Sep 2018
57

Networking Essentials: Switching

from swyx's site RSS Feed [alt+shift+b] in programming

4th Sep 2018
Discussing why we need Switches in a network and how they work
Visit for a surprise Could spoiling a joke be an accessibility issue? You better believe it. Web Content Accessibility...
1st Sep 2022
26

Visit for a surprise

from Eric Bailey [alt+shift+b] in programming

1st Sep 2022
Could spoiling a joke be an accessibility issue? You better believe it. Web Content Accessibility Guidelines Success Criterion 2.4.4: Link Purpose (In Context) instructs us to ensure that a link’s accessible name makes sense when separated from its surrounding context. It’s why...
Is It JavaScript? OH: It’s just JavaScript, right? I know JavaScript. My coworker who will inevitably spend the rest...
2nd Jun 2025
37

Is It JavaScript?

from Jim Nielsen’s Blog [alt+shift+b] in programming

2nd Jun 2025
OH: It’s just JavaScript, right? I know JavaScript. My coworker who will inevitably spend the rest of the day debugging an electron issue — @jonkuperman.com on BlueSky “It’s Just JavaScript!” is probably a phrase you’ve heard before. I’ve used it myself a number of times. It...
Lecture: Queueing theory on a cocktail napkin Queues are everywhere, and they follow mathematical rules. Learn a few of those rules! It'll go a...
25th Jun 2025
50

Lecture: Queueing theory on a cocktail napkin

from Dan Slimmon [alt+shift+b] in programming

25th Jun 2025
Queues are everywhere, and they follow mathematical rules. Learn a few of those rules! It'll go a long way to making you a stronger SRE.
The Gap Through Which We Praise the Machine In this post I’ll expose my current theory of agentic programming: people are amazing at adapting...
9th Jun 2025
1

The Gap Through Which We Praise the Machine

from Ferd.ca [alt+shift+b] in programming

9th Jun 2025
In this post I’ll expose my current theory of agentic programming: people are amazing at adapting the tools they’re given and totally underestimate the extent to which they do it, and the amount of skill we build doing that is an incidental consequence of how badly the tools are...
Kagi Translate - We speak your language Your browser does not support the video tag.
7th Nov 2024
148

Kagi Translate - We speak your language

from Kagi Blog [alt+shift+b] in programming

7th Nov 2024
Your browser does not support the video tag.
First Strike Internalize this graph, we post it on this blog a lot. If trends continue, China will have 10x the...
2 days ago
1

First Strike

from the singularity is nearer [alt+shift+b] in programming

2 days ago
Internalize this graph, we post it on this blog a lot. If trends continue, China will have 10x the electricity of the US in 10 years. Whenever you think about geopolitical strategy, always keep it in mind, because whatever your plans are must consider this. Here’s a strategy...
Launching the Coding Career Handbook! I'm launching my career advice book today!
1st Jul 2020
1

Launching the Coding Career Handbook!

from swyx's site RSS Feed [alt+shift+b] in programming

1st Jul 2020
I'm launching my career advice book today!
10 · Beyond prose We experiment with bringing lightweight branching, diffs, and a chat-like history to diagramming and...
3rd Apr 2024
104

10 · Beyond prose

from Ink & Switch [alt+shift+b] in programming

3rd Apr 2024
We experiment with bringing lightweight branching, diffs, and a chat-like history to diagramming and spreadsheet tools.
What I want to do at Recurse Center Projects I want to work on at RC
24th Oct 2021
32

What I want to do at Recurse Center

from blag [alt+shift+b] in programming

24th Oct 2021
Projects I want to work on at RC
Making noisy SVGs Addendum Dec 7, 2023 One of my ongoing fixations with the web is how improvements in technology...
30th Nov 2023
48

Making noisy SVGs

from Daniel Immke [alt+shift+b] in programming

30th Nov 2023
Addendum Dec 7, 2023 One of my ongoing fixations with the web is how improvements in technology inform web design. In an earlier post this…
Lexxy 1.0 is here Today we are releasing the version 1.0 of Lexxy. Lexxy is a rich text editor for Rails built on...
28th Sep 2026
1

Lexxy 1.0 is here

from 37signals Dev [alt+shift+b] in programming

28th Sep 2026
Today we are releasing the version 1.0 of Lexxy. Lexxy is a rich text editor for Rails built on Lexical. It already powers Basecamp, Fizzy and many others, and it will become the default editor in Rails. I recently presented it in Rails World (slides, video coming soon). This is...
Crafting a support network Sometime in late 2018, the concept of having a support network clicked for me.
3rd Jan 2021
67

Crafting a support network

from Joel Gascoigne [alt+shift+b] in programming

3rd Jan 2021
Sometime in late 2018, the concept of having a support network clicked for me.
Archives on custom domains unreachable Our public postmortem for the incident on October 20th, 2026.
a week ago
1

Archives on custom domains unreachable

from Buttondown's blog [alt+shift+b] in programming

a week ago
Our public postmortem for the incident on October 20th, 2026.
The $100b Bull Case for Temporal Why Temporal is worth >$1b now, why it will be worth >$10b, and how it could be worth $100b
7th Mar 2022
1

The $100b Bull Case for Temporal

from swyx's site RSS Feed [alt+shift+b] in programming

7th Mar 2022
Why Temporal is worth >$1b now, why it will be worth >$10b, and how it could be worth $100b
?? "" is a Code Smell Defaulting to empty string is a lie we tell our type checker.
12th Apr 2022
1

?? "" is a Code Smell

from Jordan Eldredge's Blog [alt+shift+b] in programming

12th Apr 2022
Defaulting to empty string is a lie we tell our type checker.
Nefasta's Box, a low entropy song Seeded from low entropy to become roughly 8 minutes long. "For possibilities." Apologies for the...
29th Nov 2013
41

Nefasta's Box, a low entropy song

from Liz Denys [alt+shift+b] in programming

29th Nov 2013
Seeded from low entropy to become roughly 8 minutes long. "For possibilities." Apologies for the clefs, but it was the least nasty way to span the piano. You can grab a full copy of the score.
12th Dec 2017
Analyse and run simulations on your energy usage I’ve been using the Irish energy provider Energia for 5 years or so (as of writing, 2026) and they...
11th Mar 2026
1

Analyse and run simulations on your energy usage

from SOS [alt+shift+b] in programming

11th Mar 2026
I’ve been using the Irish energy provider Energia for 5 years or so (as of writing, 2026) and they used to have a useful insights dashboard that let me analyse my power usage. Well, they seem to have removed it so I built a handy dashboard that anyone can use. It’s at...
Reminding folks to confirm their subscription Now you can gently remind your subscribers to confirm their address.
4th Nov 2019
1

Reminding folks to confirm their subscription

from Buttondown's blog [alt+shift+b] in programming

4th Nov 2019
Now you can gently remind your subscribers to confirm their address.
Goodbye WordPress, Hello Jekyll (Again) Goodbye WordPress, Hello Jekyll (Again) 2020-08-13 For the past four months this blog has been...
13th Aug 2020
34

Goodbye WordPress, Hello Jekyll (Again)

from bt RSS Feed [alt+shift+b] in programming

13th Aug 2020
Goodbye WordPress, Hello Jekyll (Again) 2020-08-13 For the past four months this blog has been running on WordPress - but that ended today. I’ve officially switched back over to Jekyll. I’m not going to spend too much time delving into why I made the transition back, but I’ll...
I'm hopeful but wary of "empathic" AI A couple of months ago, one of my friends told me about a startup called Hume. I was primed to be...
6th May 2024
2

I'm hopeful but wary of "empathic" AI

from ntietz.com blog - technically a blog [alt+shift+b] in programming

6th May 2024
A couple of months ago, one of my friends told me about a startup called Hume. I was primed to be skeptical, except that I trust this friend to have a somewhat balanced perspective on this topic. He'd talked to some people there and read their site and generally felt a good vibe...
About the Apple Captive Network Assistant Heads up! This post is no longer current. Check out the WBA’s Captive Network Portal Behavior site...
10th Apr 2017
52

About the Apple Captive Network Assistant

from Alex Meub [alt+shift+b] in programming

10th Apr 2017
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...
8 Proven Strategies for Making Every Candidate Fall in Love with Your Company Hi there! I am Luke Wilson, a veteran Tech Recruiter with over 15 years of experience in the Japan...
5th Sep 2023
34
5th Sep 2023
Hi there! I am Luke Wilson, a veteran Tech Recruiter with over 15 years of experience in the Japan market. My recruitment career has taken me across both agency and in-house roles, with the most recent one being at [Indeed](https://www.tokyodev.com/companies/indeed) (a proud...
Preserving Winamp skins for posterity at the Internet Archive The story of how the Internet Archive came to preserve over 100k Winamp skins and include Webamp as...
5th Apr 2025
1

Preserving Winamp skins for posterity at the Internet Archive

from Jordan Eldredge's Blog [alt+shift+b] in programming

5th Apr 2025
The story of how the Internet Archive came to preserve over 100k Winamp skins and include Webamp as one of their embedded media players
Playground Playground
1st Jun 2025
1

Playground

from Buttondown's blog [alt+shift+b] in programming

1st Jun 2025
Playground
partitioning ambiguous edges in guile Today, some more words on memory management, on the practicalities of a system with...
25th Apr 2025
30

partitioning ambiguous edges in guile

from wingolog [alt+shift+b] in programming

25th Apr 2025
Today, some more words on memory management, on the practicalities of a system with conservatively-traced references. The context is that I have finally started banging into , initially in a configuration that continues to use the conservative Boehm-Demers-Weiser (BDW)...
Understanding easing and cubic-bezier curves in CSS The easing curve can make or break any animation on the web. Let's look at the science of CSS...
22nd Feb 2023
150

Understanding easing and cubic-bezier curves in CSS

from Josh Collinsworth [alt+shift+b] in programming

22nd Feb 2023
The easing curve can make or break any animation on the web. Let's look at the science of CSS cubic-bezier curves, and the art of using them to make the best web animations possible.
Publish Your Drafts When does something become valuable to someone else? I've struggled with this question, hesitating...
2nd Mar 2023
70

Publish Your Drafts

from Max Countryman [alt+shift+b] in programming

2nd Mar 2023
When does something become valuable to someone else? I've struggled with this question, hesitating at times to share unfinished work because it hasn't reached a level of polish that satisfies me. But the truth is, our unpublished work has no value to anyone.
My experience as a remote worker I've spent half of my career working remotely. This post chronicles those experiences, giving a...
2nd Dec 2019
38

My experience as a remote worker

from Josh Comeau's blog [alt+shift+b] in programming

2nd Dec 2019
I've spent half of my career working remotely. This post chronicles those experiences, giving a real-world window into what it's like to work fully-remote as a software engineer.
Announcing Stack Overflow for Teams New product: Stack Overflow for Teams lets you direct questions to members of your own team,...
3rd May 2018
61

Announcing Stack Overflow for Teams

from Joel on Software [alt+shift+b] in programming

3rd May 2018
New product: Stack Overflow for Teams lets you direct questions to members of your own team, company, or organization. Read more "Announcing Stack Overflow for Teams"
Why learn about the golden-section search An interactive demo of bisection search and golden ratio search algorithms. There is also a...
29th Jun 2025
51

Why learn about the golden-section search

from Words and Buttons Online [alt+shift+b] in programming

29th Jun 2025
An interactive demo of bisection search and golden ratio search algorithms. There is also a motivation to learn them both. Spoiler alert! One converges better, and the other has a better computational cost.
The English Paradox: Four Decades of Life and Language in Japan For more than forty years, I have been trying to understand the role of English in Japan. Over my...
7th Nov 2024
42

The English Paradox: Four Decades of Life and Language in Japan

from TokyoDev [alt+shift+b] in programming

7th Nov 2024
For more than forty years, I have been trying to understand the role of English in Japan. Over my first two decades in this country, I went from one extreme to the other: from seeing English as important here, to regarding it as a niche, inessential aspect of Japanese life. My...
Achieving scale by doing things that don't scale * Tweet [https://twitter.com/share] * * Buffer [http://bufferapp.com/add] * Over the past...
14th Nov 2011
36

Achieving scale by doing things that don't scale

from Joel Gascoigne [alt+shift+b] in programming

14th Nov 2011
* Tweet [https://twitter.com/share] * * Buffer [http://bufferapp.com/add] * Over the past few years of my journey with building startups, I’ve made a conscious effort to absorb as much of the fascinating insights and learnings of those more experienced than me. Startups...
did u ever read so hard u accidentally wrote? Owning a production Postgres database is never boring. The other day, I’m looking for trouble (as I...
14th Mar 2025
58

did u ever read so hard u accidentally wrote?

from Dan Slimmon [alt+shift+b] in programming

14th Mar 2025
Owning a production Postgres database is never boring. The other day, I’m looking for trouble (as I am wont to do), and I notice this weird curve in the production database metrics: So we’ve got these spikes in WALWrite: the number of processes waiting to write to the write-ahead...
Winner, Name that Ware March 2026 The Ware for March 2026 is a Elecom DST C30SV 6 in 1 USB “docking station”. I’ll give the prize to...
29th Apr 2026
1

Winner, Name that Ware March 2026

from bunnie's blog [alt+shift+b] in programming

29th Apr 2026
The Ware for March 2026 is a Elecom DST C30SV 6 in 1 USB “docking station”. I’ll give the prize to tayken – the ware itself wasn’t terribly hard to guess on its own, so this month I’m just going with the first interesting response. Congrats, email me for your prize! As other...
The Unreasonable Fight for Municipal Broadband I love Longmont’s municipal broadband, but we had to fight Comcast every step of the way to get...
20th Apr 2022
1

The Unreasonable Fight for Municipal Broadband

from Tyler Cipriani: blog [alt+shift+b] in programming

20th Apr 2022
I love Longmont’s municipal broadband, but we had to fight Comcast every step of the way to get it. NextLight—Longmont’s Broadband As a gracious person, I’ll dutifully pretend that the problem might be on my side of the Zoom call. But the problem is never me—my internet is just...
Managing Python Ecosystems You know that old quote: The wider the net you cast, the wider the variety you catch. Was it a wise...
24th May 2016
1

Managing Python Ecosystems

from Sedimental [alt+shift+b] in programming

24th May 2016
You know that old quote: The wider the net you cast, the wider the variety you catch. Was it a wise old fisherman? Or a dogged Python programmer? Either way, words don't come much truer than those. Few, if any, programming languages have embodied the description "general-purpose"...
How to add Tailwind 3 to Docusaurus 2 in 2022 We use Docusaurus at work, and while it shipped v2 this year it still has (as of v2.3) not shipped...
1st Nov 2022
1

How to add Tailwind 3 to Docusaurus 2 in 2022

from swyx's site RSS Feed [alt+shift+b] in programming

1st Nov 2022
We use Docusaurus at work, and while it shipped v2 this year it still has (as of v2.3) not shipped with any Tailwind support at all. Googled and found this post which was almost everything I needed, but required some stuff in the comments for it to work.
Is ops a bullshit job? I recently had the pleasure of reading anthropologist David Graeber’s 2018 book, Bullshit Jobs: A...
11th Feb 2025
97

Is ops a bullshit job?

from Dan Slimmon [alt+shift+b] in programming

11th Feb 2025
I recently had the pleasure of reading anthropologist David Graeber’s 2018 book, Bullshit Jobs: A Theory. Graeber defines a bullshit job as, a form of paid employment that is so completely pointless, unnecessary, or pernicious that even the employee cannot justify its existence...
TikTok and the Sorting Hat I often describe myself as a cultural determinist, more as a way to differentiate myself from people...
4th Aug 2020
47

TikTok and the Sorting Hat

from Remains of the Day [alt+shift+b] in programming

4th Aug 2020
I often describe myself as a cultural determinist, more as a way to differentiate myself from people with other dominant worldviews, though I am not a strict adherent. It’s more that in many situations when people ascribe causal power to something other than culture, I’m...
Docker Deployment Best Practices Given: There’s a CI system that automatically builds docker images from your VCS (e.g. git), we use...
1st Aug 2024
42

Docker Deployment Best Practices

from home automation - Tinker, Tamper, Alter, Fry [alt+shift+b] in programming

1st Aug 2024
Given: There’s a CI system that automatically builds docker images from your VCS (e.g. git), we use self-hosted gitlab.Goal: Both initial and subsequent automated deployments to different environments (staging and production). Rejected ApproachesMost existing blog articles and...
Visas for Software Engineers in Japan Obtaining a working visa that lets you [work as software engineer in...
2nd Mar 2020
66

Visas for Software Engineers in Japan

from TokyoDev [alt+shift+b] in programming

2nd Mar 2020
Obtaining a working visa that lets you [work as software engineer in Japan](/articles/first-job-programmer-japan) is relatively easy compared to other countries. It costs a company almost nothing to sponsor your visa, there aren't any quotas on the number of visas issued, and the...
7th May 2015
23

2015-05-07

from David Crawshaw [alt+shift+b] in programming

7th May 2015
Turning Everyday Gadgets into Bombs is a Bad Idea I think turning everyday gadgets into bombs is a bad idea. However, recent news coverage has been...
19th Sep 2024
106

Turning Everyday Gadgets into Bombs is a Bad Idea

from bunnie's blog [alt+shift+b] in programming

19th Sep 2024
I think turning everyday gadgets into bombs is a bad idea. However, recent news coverage has been framing the weaponization of pagers and radios in the Middle East as something we do not need to concern ourselves with because “we” are safe. I respectfully disagree. Our militaries...
A website for everyone In the earliest days of the web, Derek Powazek set out to create a website meant for sharing. The...
18th Aug 2026
2

A website for everyone

from The History of the Web [alt+shift+b] in programming

18th Aug 2026
In the earliest days of the web, Derek Powazek set out to create a website meant for sharing. The post A website for everyone appeared first on The History of the Web.
Windows NT vs. Unix: A design comparison NT is often touted as a "very advanced" operating system. Why is that? What made NT better than...
9th Sep 2024
112

Windows NT vs. Unix: A design comparison

from Blog System/5 [alt+shift+b] in programming

9th Sep 2024
NT is often touted as a "very advanced" operating system. Why is that? What made NT better than Unix, if anything? And is that still the case?
28th Sep 2015
2nd Jan 2025
A Programming Career By The Numbers As I continue to recover from some health issues that kept me from writing, I thought it might be...
11th Jan 2024
55

A Programming Career By The Numbers

from The Codist [alt+shift+b] in programming

11th Jan 2024
As I continue to recover from some health issues that kept me from writing, I thought it might be interesting to describe my long career with numbers. If you wind up working for four decades, your experience may vary. Years Active: 1981-2021, totaling 39.5 years. Irrespective of...
Fine-grained provenance, Automerge updates Some explorations of new editor interactions for writing science papers, and a trio of projects...
17th Oct 2024
83

Fine-grained provenance, Automerge updates

from Ink & Switch [alt+shift+b] in programming

17th Oct 2024
Some explorations of new editor interactions for writing science papers, and a trio of projects advancing the future of Automerge.
CSS reset with box-sizing fix For ultra lightweight projects where a framework is overkill, I tend to use Eric Meyers' CSS reset....
14th Oct 2014
43

CSS reset with box-sizing fix

from A Beautiful Site [alt+shift+b] in programming

14th Oct 2014
For ultra lightweight projects where a framework is overkill, I tend to use Eric Meyers' CSS reset. And since I'm not a glutton for punishment, I also throw in the tried and tested box-sizing fix popularized by Paul Irish. Instead of searching for and combining these...
Instant Supercompute: Launching Wolfram Compute Services To immediately enable Wolfram Compute Services in Version 14.3 Wolfram Desktop systems,...
2nd Dec 2025
1

Instant Supercompute: Launching Wolfram Compute Services

from Stephen Wolfram Writings [alt+shift+b] in programming

2nd Dec 2025
To immediately enable Wolfram Compute Services in Version 14.3 Wolfram Desktop systems, run RemoteBatchSubmissionEnvironment["WolframBatch"]. (The functionality is automatically available in the Wolfram Cloud.) Scaling Up Your Computations Let’s say you’ve done a computation in...
The imminent risk of vibe coding Negative feedback loops caused by vibe coded change sets
30th Jan 2026
1

The imminent risk of vibe coding

from Basta’s Notes [alt+shift+b] in programming

30th Jan 2026
Negative feedback loops caused by vibe coded change sets
Array 1.8.0 What's box-fresh in PostHog? Cumulative graphs, better paths, and an upgrade to our actions. If...
3rd Jun 2020
32

Array 1.8.0

from Eric Migicovsky's Blog RSS Feed [alt+shift+b] in programming

3rd Jun 2020
What's box-fresh in PostHog? Cumulative graphs, better paths, and an upgrade to our actions. If you're self hosting and want these features - update…
Achieving overnight success: Kevin Systrom * Tweet [https://twitter.com/share] * * Buffer [http://bufferapp.com/add] * Frequently...
5th May 2012
51

Achieving overnight success: Kevin Systrom

from Joel Gascoigne [alt+shift+b] in programming

5th May 2012
* Tweet [https://twitter.com/share] * * Buffer [http://bufferapp.com/add] * Frequently startups pop up and take over the press, framed as an “overnight success” taking just a year or two to reach some incredible milestone. For some time I’ve had a slight intuition that...
How Oxide Cuts Data Center Power Consumption in Half Here’s a sobering thought: today, data centers already consume 1-2% of the world’s power, and that...
8th Nov 2024
95

How Oxide Cuts Data Center Power Consumption in Half

from Oxide Computer Company Blog [alt+shift+b] in programming

8th Nov 2024
Here’s a sobering thought: today, data centers already consume 1-2% of the world’s power, and that percentage will likely rise to 3-4% by the end of the decade. According to Goldman Sachs research, that rise will include a doubling in data center carbon dioxide emissions. As the...
Hello world... 8 July 2019 Hello world! I've been blogging for what seems like a very very very long time. However,...
8th Jul 2019
1

Hello world...

from The Web Witch's Blog [alt+shift+b] in programming

8th Jul 2019
8 July 2019 Hello world! I've been blogging for what seems like a very very very long time. However, all that blogging over the years has been focused on fashion, lifestyle and travel over on another URL and lately, I've been wanting to dig into more design and front-end focused...
You fail to learn if you don't learn to fail If all your time is spent watching output tokens, where do your input tokens come from? Letting an...
12th Jul 2026
1

You fail to learn if you don't learn to fail

from seated.ro [alt+shift+b] in programming

12th Jul 2026
If all your time is spent watching output tokens, where do your input tokens come from? Letting an agent rip on full auto is basically doom scrolling. Even worse if you're doom scrolling while the agent runs. We humans love frying our dopamine receptors. This feels great until...
What is a product engineer (and why they're awesome) Startups see their path to success as building a product many people want and pay for. Out of this...
1st Dec 2022
81

What is a product engineer (and why they're awesome)

from Eric Migicovsky's Blog RSS Feed [alt+shift+b] in programming

1st Dec 2022
Startups see their path to success as building a product many people want and pay for. Out of this need came the role of product engineer. They are a…
Digital Ghosts, Wisdom, and Tennis Matchmaking Digital Ghosts My mom recently had a free consultation from her electric company to assess replacing...
16th Jun 2025
53

Digital Ghosts, Wisdom, and Tennis Matchmaking

from Dan Quach Blog [alt+shift+b] in programming

16th Jun 2025
Digital Ghosts My mom recently had a free consultation from her electric company to assess replacing her propane water heater with an electric water pump heater.  She forwarded the assessment report to me, and I spent some time reviewing and researching the program. Despite...
What I'm up to - November 2024 Here's my monthly newsletter about what I'm up to, which I send in place of social media. What I...
1st Nov 2024
1

What I'm up to - November 2024

from Philip Ilic Thomas [alt+shift+b] in programming

1st Nov 2024
Here's my monthly newsletter about what I'm up to, which I send in place of social media. What I did in September - Visited San Francisco and rode in my first Waymo - Launched Find AI on Clay.com, ou...
More Topics on Store-And-Forward (Possibly Airgapped) ZFS and Non-ZFS Backups with NNCP Note: this is another article in my series on asynchronous communication in Linux with UUCP and...
4th Jan 2021
29
4th Jan 2021
Note: this is another article in my series on asynchronous communication in Linux with UUCP and NNCP. In my previous post, I introduced a way to use ZFS backups over NNCP. In this post, I’ll expand on that and also explore non-ZFS backups. Use of nncp-file instead of nncp-exec...
Company Values: A Resentful Odyssey I have a very cynical reaction to the word “values”, especially in the context of corporate...
6th Feb 2018
1

Company Values: A Resentful Odyssey

from charity.wtf [alt+shift+b] in programming

6th Feb 2018
I have a very cynical reaction to the word “values”, especially in the context of corporate entities. At best it’s a disingenuous marketing campaign, usually it’s more like a red blaring light shining on their degenerate hypocrisies and weakest aspirations. But we’ve been doing a...
1st Jun 2010
'First' thoughts on git I suppose it's more than a slight bit incorrect to state that these are my first thoughts on git;...
5th Apr 2010
43

'First' thoughts on git

from Liz Denys [alt+shift+b] in programming

5th Apr 2010
I suppose it's more than a slight bit incorrect to state that these are my first thoughts on git; I've certainly already been exposed to git in a variety of ways. I'd always been told that my love of graph theory would convert me over to this different type of version control. I...
How Cursor Indexes Codebases Fast Merkle Trees in the real world
10th May 2025
89

How Cursor Indexes Codebases Fast

from Engineer’s Codex [alt+shift+b] in programming

10th May 2025
Merkle Trees in the real world
End user programming – my experience building an iOS app Update: Sticky was approved on the App Store, you can download it here. The void between users and...
22nd Nov 2024
36

End user programming – my experience building an iOS app

from Marc Astbury [alt+shift+b] in programming

22nd Nov 2024
Update: Sticky was approved on the App Store, you can download it here. The void between users and builders of software is seldom considered. A software builder sits in San Francisco and hopefully talks to and observes user needs and behaviors in order to build a product that has...
Tearing down the Rewind app Rewind is a Mac app that records your computer’s screen and audio, allowing the user to scroll...
25th Dec 2022
37

Tearing down the Rewind app

from Kevin Chen [alt+shift+b] in programming

25th Dec 2022
Rewind is a Mac app that records your computer’s screen and audio, allowing the user to scroll through a timeline of past screen recordings. Rewind also recognizes text, including text in videos and Zoom calls, allowing the user to perform full-text search on anything that has...
Questionable Advice: Is there a path back from CTO to engineer? I received this question in the comments section of my piece on The Twin Anxieties of the...
29th Jul 2022
1

Questionable Advice: Is there a path back from CTO to engineer?

from charity.wtf [alt+shift+b] in programming

29th Jul 2022
I received this question in the comments section of my piece on The Twin Anxieties of the Engineer/Manager Pendulum, and figured I might as well answer it. It definitely isn’t a question I’ve spent a lot of time thinking about or anything. 🥰 As a former CTO coming off a...
FaceTime video/audio broken by Private Internet Access VPN client on Mac I recently diagnosed that the cause of FaceTime being broken on my Mac was the Private Internet...
24th Aug 2026
1

FaceTime video/audio broken by Private Internet Access VPN client on Mac

from Jordan Eldredge's Blog [alt+shift+b] in programming

24th Aug 2026
I recently diagnosed that the cause of FaceTime being broken on my Mac was the Private Internet Access VPN client
Integrating git with your existing website Better git it in your soul*. Git has a lot of great tutorials for getting started. There are also a...
21st Oct 2012
1

Integrating git with your existing website

from Tyler Cipriani: blog [alt+shift+b] in programming

21st Oct 2012
Better git it in your soul*. Git has a lot of great tutorials for getting started. There are also a number of great articles on how to use git and github for your workflow. What I haven’t seen is an article on how to integrate git with your current site without storing any code...
No No ¶No Hi, We are looking for a Sponsored post written by you to match your website...
6th Jan 2016
17

No

from Sometimes It Works :: simonhamp.me [alt+shift+b] in programming

6th Jan 2016
No ¶No Hi, We are looking for a Sponsored post written by you to match your website builtwithbootstrap.com. The post would need to contain a minimum of 2 paragraphs relating to online casinos and a link to one of our client’s websites. We can pay directly into your paypal account...
Recently Hello! Only a day late this time. October was another busy month but it didn’t yield much content. I...
2nd Nov 2025
1

Recently

from Tom MacWright [alt+shift+b] in programming

2nd Nov 2025
Hello! Only a day late this time. October was another busy month but it didn’t yield much content. I ran a second half-marathon, this time with much less training, but only finished a few minutes slower than I did earlier this year. Next year I’m thinking about training at a...
How To Podcast Through my 4 (!) podcasts I obviously have built up a lot of opinions on podcasting over the years....
7th Dec 2025
1

How To Podcast

from swyx's site RSS Feed [alt+shift+b] in programming

7th Dec 2025
Through my 4 (!) podcasts I obviously have built up a lot of opinions on podcasting over the years. Here's some of them. The two outlier podcasts of our time are Dwarkesh and TBPN, and I will explain my mental model of them in a separate post - basically the McClusky Curve...
The Hiker's Dilemma How to take care of your tribe The other day I read: "If you're hiking and you stop to let other...
1st Mar 2022
19

The Hiker's Dilemma

from Acko.net [alt+shift+b] in programming

1st Mar 2022
How to take care of your tribe The other day I read: "If you're hiking and you stop to let other people catch up, don't start walking immediately when they arrive. Because that means you got a rest and they didn't. I think about this a lot." I want to dissect this sentiment...
Automatically Reload Modules with %autoreload Writing my first module in Python was a confusing experience. As it usually happens, when I was...
1st Oct 2019
1

Automatically Reload Modules with %autoreload

from Sebastian Witowski [alt+shift+b] in programming

1st Oct 2019
Writing my first module in Python was a confusing experience. As it usually happens, when I was testing it in the interactive Python REPL, the first version turned out to have some bugs (the second and third ones also did 😉). That's fine - I thought - I will just fix the module...
Chickadee 0.10.0 released I'm happy to announce that Chickadee 0.10.0 has been released! Chickadee is a game development...
24th May 2023
1

Chickadee 0.10.0 released

from dthompson [alt+shift+b] in programming

24th May 2023
I'm happy to announce that Chickadee 0.10.0 has been released! Chickadee is a game development toolkit for Guile. Chickadee aims to provide all the features that parenthetically inclined game developers need to make 2D and 3D games in Scheme. This release is on the smaller side...
Why I Still Prefer to Prototype Using Code There are several design apps available at a product designers disposal, and I’ve used several of...
16th Apr 2024
112

Why I Still Prefer to Prototype Using Code

from Daniel Marino [alt+shift+b] in programming

16th Apr 2024
There are several design apps available at a product designers disposal, and I’ve used several of them over the years. I think these days, most everyone is using Figma, but whatever app you’re using—most of them typically have some sort of prototyping feature. Typically they have...
Profit is Not a Value Any executive or business owner will say their company values integrity, and virtually every company...
5th Aug 2015
37

Profit is Not a Value

from Josh Collinsworth [alt+shift+b] in programming

5th Aug 2015
Any executive or business owner will say their company values integrity, and virtually every company claims that they reward and value their employees exhibiting their brand values. But is that really accurate?
The five types of people who produce inaccessible code There are roughly five types of people you’ll meet doing accessibility development work. They...
16th Jun 2023
26

The five types of people who produce inaccessible code

from Eric Bailey [alt+shift+b] in programming

16th Jun 2023
There are roughly five types of people you’ll meet doing accessibility development work. They are: People who create inaccessible code, but do not realize they are doing so. People who create inaccessible code and realize they are doing so, but do not know how to fix it. People...
Parsing a JSON string results in an 'Invalid Label' error Whenever I work with AJAX, jQuery is my preferred JavaScript library and PHP is my preferred...
17th Jul 2008
52

Parsing a JSON string results in an 'Invalid Label' error

from A Beautiful Site [alt+shift+b] in programming

17th Jul 2008
Whenever I work with AJAX, jQuery is my preferred JavaScript library and PHP is my preferred server-side language. I use JSON whenever I can to pass data between JavaScript and PHP. After all, $.get and $.post both process JSON easily, so it's my data type of choice. Sometimes,...
What I'm up to - September 2024 Here's my monthly newsletter about what I'm up to, which I send in place of social media. What I...
1st Sep 2024
1

What I'm up to - September 2024

from Philip I. Thomas [alt+shift+b] in programming

1st Sep 2024
Here's my monthly newsletter about what I'm up to, which I send in place of social media. What I did in August Hello from a train somewhere in the French countryside. I just finished spending a few d...
Behind the syntax: let and const variables There is a lot more going under the hood than simple syntax changes.
11th Jul 2018
1

Behind the syntax: let and const variables

from Daniel Immke [alt+shift+b] in programming

11th Jul 2018
There is a lot more going under the hood than simple syntax changes.
Concurrent locks and MultiXacts in Postgres Pretty recently, I was troubleshooting a performance issue in a production Rails app backed by...
11th Dec 2023
43

Concurrent locks and MultiXacts in Postgres

from Dan Slimmon [alt+shift+b] in programming

11th Dec 2023
Pretty recently, I was troubleshooting a performance issue in a production Rails app backed by Postgres. There was this one class of query that would get slower and slower over the course of about an hour. The exact pathology is a tale for another time, but the investigation led...
The siren call of wrong-way dependencies Dependencies that point in the wrong direction are one of the easiest and most costly design...
21st Sep 2024
3

The siren call of wrong-way dependencies

from Writing - Andreas Fragner [alt+shift+b] in programming

21st Sep 2024
Dependencies that point in the wrong direction are one of the easiest and most costly design mistakes one can make.
Friday Deploy Freezes Are Exactly Like Murdering Puppies VOICEOVER: “Previously, on twitter …” Happy Friday | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| Don't push to production...
1st May 2019
1

Friday Deploy Freezes Are Exactly Like Murdering Puppies

from charity.wtf [alt+shift+b] in programming

1st May 2019
VOICEOVER: “Previously, on twitter …” Happy Friday | ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄| Don't push to production |___________| (___/) || (⌾ㅅ⌾) || /   づ — Kelly Vaughn (@kvlly) April 12, 2019 So, that happened. I hadn’t seen anyone say something like this in quite a while.  I remember saying things like...
Managing Python Ecosystems You know that old quote: The wider the net you cast, the wider the variety you catch. Was it a wise...
24th May 2016
1

Managing Python Ecosystems

from Sedimental [alt+shift+b] in programming

24th May 2016
You know that old quote: The wider the net you cast, the wider the variety you catch. Was it a wise old fisherman? Or a dogged Python programmer? Either way, words don't come much truer than those. Few, if any, programming languages have embodied the description "general-purpose"...
Happy Leap Day! 29 February is causing problems in software systems across the globe. It’s a good reminder on how...
29th Feb 2024
63

Happy Leap Day!

from The Pragmatic Engineer [alt+shift+b] in programming

29th Feb 2024
29 February is causing problems in software systems across the globe. It’s a good reminder on how few assumptions we should make about dates – and why to use a date library when you can.
Every Man his own API A sociotechnological trend
9th Nov 2024
23

Every Man his own API

from Grant Slatton [alt+shift+b] in programming

9th Nov 2024
A sociotechnological trend
How to publish your Godot game on Mac Since 2019, Apple has required all MacOS software to be signed and notarized. This is meant to...
12th Sep 2024
124

How to publish your Godot game on Mac

from Alice GG [alt+shift+b] in programming

12th Sep 2024
Since 2019, Apple has required all MacOS software to be signed and notarized. This is meant to prevent naive users from installing malware while running software from unknown sources. Since this process is convoluted, it stops many indie game developers from releasing their Godot...
Expanding Access: The History of Ecommerce Part 1 The earliest work with selling things online was all about reaching a shopping public ready to log...
4th Mar 2025
65

Expanding Access: The History of Ecommerce Part 1

from The History of the Web [alt+shift+b] in programming

4th Mar 2025
The earliest work with selling things online was all about reaching a shopping public ready to log on and start. But along the way, they found a whole new audience for shopping, which changed the way we think about commerce on the web.. The post Expanding Access: The History of...
How I Handletter When I first got into hand-lettering, I had a hard time finding people who shared their full...
19th Sep 2025
1

How I Handletter

from Daniel Marino [alt+shift+b] in programming

19th Sep 2025
When I first got into hand-lettering, I had a hard time finding people who shared their full process—especially the digitizing phase. So here’s a look at how I typically work. Everyone’s process is different, and a lot depends on your style and how you plan to present the piece....
Visualizing Ship Movements with AIS Data Explore the beautiful, intricate paths of ships over a year—tracked from America's busiest ports to...
17th Sep 2024
117

Visualizing Ship Movements with AIS Data

from Beautiful Public Data [alt+shift+b] in programming

17th Sep 2024
Explore the beautiful, intricate paths of ships over a year—tracked from America's busiest ports to the open ocean via AIS marine tracking data.
Strategic choices: When both options are good Real strategy means choosing between two good options and accepting all the consequences--even the...
22nd Feb 2026
1

Strategic choices: When both options are good

from A Smart Bear [alt+shift+b] in programming

22nd Feb 2026
Real strategy means choosing between two good options and accepting all the consequences--even the painful ones you don't like.
Itsy Bitsy Data Structures Sharing this repository which teaches data structures through charmingly commented JavaScript...
2nd Aug 2024
1

Itsy Bitsy Data Structures

from Jordan Eldredge's Blog [alt+shift+b] in programming

2nd Aug 2024
Sharing this repository which teaches data structures through charmingly commented JavaScript implementations
The paper computer Now that we have actually good AI, I have this vision of a form of computing that doesn’t involve me...
9th Apr 2026
1

The paper computer

from the jsomers.net blog [alt+shift+b] in programming

9th Apr 2026
Now that we have actually good AI, I have this vision of a form of computing that doesn’t involve me using a computer so much. Imagine you had the day’s emails to go through. It would be nice if the ones that required a simple decision could be dispatched with a few pen-strokes:...
Trippy polynomials in arctangent scale This shows the global properties of polynomials, their derivatives, and explains how the Maclaurine...
10th Jan 2021
39

Trippy polynomials in arctangent scale

from Words and Buttons Online [alt+shift+b] in programming

10th Jan 2021
This shows the global properties of polynomials, their derivatives, and explains how the Maclaurine and Taylor series work all with animated plots in arctangent scale.
What Are the Career Options in Computer Science? The future is bright for career options in computer science with remote work opening up doors that...
1st Aug 2022
1

What Are the Career Options in Computer Science?

from Boot.dev Blog [alt+shift+b] in programming

1st Aug 2022
The future is bright for career options in computer science with remote work opening up doors that weren’t present before. Trying to navigate through computer science career options can be overwhelming what with all the options at your disposal. While we won’t go through every...
How to Not Write "Garbage Code" (by Linus Torvalds) Linus Torvalds, Creator of Git and Linux, on reducing cognitive load
12th Sep 2025
48

How to Not Write "Garbage Code" (by Linus Torvalds)

from Engineer’s Codex [alt+shift+b] in programming

12th Sep 2025
Linus Torvalds, Creator of Git and Linux, on reducing cognitive load
Hello world “Start a blog” has been on my todo list for so long, it’s going to leave a gaping void in my life...
27th Dec 2015
1

Hello world

from charity.wtf [alt+shift+b] in programming

27th Dec 2015
“Start a blog” has been on my todo list for so long, it’s going to leave a gaping void in my life when I check it off. There are some things I have been wanting to talk about for a while now, in a way that’s less ephemeral than twitter. Like how the tech industry […]
27th Aug 2013
1

carvr

from Matt Keeter [alt+shift+b] in programming

27th Aug 2013
[e-book] So You Think You Know C? And TenMore Short Essays on Programming Languages Can’t say that running away from complexity was a smart thing to do. It was definitely not the most...
21st Apr 2020
39

[e-book] So You Think You Know C? And TenMore Short Essays on Programming Languages

from Words and Buttons Online [alt+shift+b] in programming

21st Apr 2020
Can’t say that running away from complexity was a smart thing to do. It was definitely not the most productive way to create software. The journey, however, has taught me a few things so it was not a complete waste of time either. This book is a reflection of these lessons. It...
Naming Variables the Right Way I’ve noticed that bugs introduced into an existing code base are often due to poor variable naming...
1st Apr 2021
1

Naming Variables the Right Way

from Boot.dev Blog [alt+shift+b] in programming

1st Apr 2021
I’ve noticed that bugs introduced into an existing code base are often due to poor variable naming more than one might suspect. For example, a developer uses a rateLimit variable expecting it to be denominated in seconds while it represents minutes, resulting in a 6x slower...
US Government UFO (UAP) Footage For decades, the public suspected that the US Government was hiding secret intelligence about UFOs —...
10th Feb 2025
72

US Government UFO (UAP) Footage

from Beautiful Public Data [alt+shift+b] in programming

10th Feb 2025
For decades, the public suspected that the US Government was hiding secret intelligence about UFOs — (now known as UAPs). Turns out…it kind of was.
27th Mar 2023
The Post-Developer Era When OpenAI released GPT-4 back in March 2023, they kickstarted the AI revolution. The consensus...
14th Apr 2025
62

The Post-Developer Era

from Josh Comeau's blog [alt+shift+b] in programming

14th Apr 2025
When OpenAI released GPT-4 back in March 2023, they kickstarted the AI revolution. The consensus online was that front-end development jobs would be totally eliminated within a year or two.Well, it’s been more than two years since then, and I thought it was worth revisiting some...
Switching to Pelican Until today, my website was fragmented across a number of static pages and two WordPress instances....
27th Mar 2017
39

Switching to Pelican

from Liz Denys [alt+shift+b] in programming

27th Mar 2017
Until today, my website was fragmented across a number of static pages and two WordPress instances. To simplify my life, I decided to unify them into one content management system instead of keeping that somewhat unwieldly mess around. I had never really put a lot of thought into...
Optimizing iWittr.com to reduce Google Cloud & Vercel costs Last month I decided to do a quick fun project as an excuse to try out AI coding tools, called...
25th Mar 2025
1

Optimizing iWittr.com to reduce Google Cloud & Vercel costs

from SOS [alt+shift+b] in programming

25th Mar 2025
Last month I decided to do a quick fun project as an excuse to try out AI coding tools, called iWittr.com. It’s a fan site for the Kermode & Mayo podcast, which I’ve been listening to for over 10 years. I might do another post about that experience, but this one is about reducing...
The Great CEO Within It's been a long time coming, but Matt Mochary's book The Great CEO Within is out. I feel very...
18th Mar 2021
47

The Great CEO Within

from Alex MacCaw [alt+shift+b] in programming

18th Mar 2021
It's been a long time coming, but Matt Mochary's book The Great CEO Within is out. I feel very fortunate to be involved in this project. This is the best book I've read on making the journey from founder to CEO.
9th Jul 2017
45

On benchmarking

from Ruud van Asseldonk [alt+shift+b] in programming

9th Jul 2017
How Tailscale tracked down a 16-year-old SQLite bug → I wrote a post for the Tailscale blog about a long-running series of corruption incidents, and how...
13th Aug 2026
2

How Tailscale tracked down a 16-year-old SQLite bug →

from alexwlchan [alt+shift+b] in programming

13th Aug 2026
I wrote a post for the Tailscale blog about a long-running series of corruption incidents, and how they eventually led us to find an SQLite bug that predates my entire programming career. I’m incredibly proud of this, both the work and the blog post. Before Tailscale, I was...
Color Shifting in CSS A little while ago, I was trying to animate an element’s background color, so that it cycled through...
8th Sep 2025
1

Color Shifting in CSS

from Josh Comeau's blog [alt+shift+b] in programming

8th Sep 2025
A little while ago, I was trying to animate an element’s background color, so that it cycled through the rainbow. Seems easy, but it turns out, browsers have a surprisingly big limitation when it comes to color processing! In this tutorial, we’ll dig into the issue, and I’ll...
Converting My X201 ThinkPad into a Slabtop Converting My X201 ThinkPad into a Slabtop 2023-05-01 I recently wrote about physically disabling...
1st May 2023
32

Converting My X201 ThinkPad into a Slabtop

from bt RSS Feed [alt+shift+b] in programming

1st May 2023
Converting My X201 ThinkPad into a Slabtop 2023-05-01 I recently wrote about physically disabling the WiFi toggle switch on my X201 which was a fun “hack” to an annoying issue I was running into. Since then, the laptop has been running flawlessly. The only other minor issue I had...
Introducing FRCTNL With the recent tech downturn, there's been a clear shift. Instead of the previous...
7th Sep 2023
1

Introducing FRCTNL

from Contraption Co. [alt+shift+b] in programming

7th Sep 2023
With the recent tech downturn, there's been a clear shift. Instead of the previous "growth-at-all-costs" model, companies are now emphasizing efficiency. This is evident in hiring, as firms now seek experienced contributors who can hit the ground running with minimal management...
Real Unfair Advantages It's not a question of if someone copies your business idea, it's when.
19th Jul 2010
16

Real Unfair Advantages

from A Smart Bear [alt+shift+b] in programming

19th Jul 2010
It's not a question of if someone copies your business idea, it's when.
Feature detection for CSS transitions via jQuery $.support When working with CSS transitions, the need to detect whether or not the browser supports them may...
9th Dec 2012
48

Feature detection for CSS transitions via jQuery $.support

from A Beautiful Site [alt+shift+b] in programming

9th Dec 2012
When working with CSS transitions, the need to detect whether or not the browser supports them may arise.  It can be of particular use when working with the transitionend event, which won't fire in unsupportive browsers. After finding a number of questionable solutions, I came...
Burning & Playing PS2 Games without a Modded Console Burning & Playing PS2 Games without a Modded Console 2024-09-02 Important: I do not support pirating...
2nd Sep 2024
96

Burning & Playing PS2 Games without a Modded Console

from bt RSS Feed [alt+shift+b] in programming

2nd Sep 2024
Burning & Playing PS2 Games without a Modded Console 2024-09-02 Important: I do not support pirating or obtaining illegal copies of video games. This process should only be used to copy your existing PS2 games for backup, in case of accidental damage to the original...
A Beginner's Guide to Continuous Integration in Python Imagine this: you're working on a Python project, and you're annoyed that each time you create a new...
23rd Dec 2023
1

A Beginner's Guide to Continuous Integration in Python

from Sebastian Witowski [alt+shift+b] in programming

23rd Dec 2023
Imagine this: you're working on a Python project, and you're annoyed that each time you create a new merge (or pull) request, you must remember to run tests. Or maybe you configured your code editor to run black each time you save a file, but your colleagues didn't. Every time...
Writing Javascript without a build system Hello! I’ve been writing some Javascript this week, and as always when I start a new frontend...
16th Feb 2023
36

Writing Javascript without a build system

from Julia Evans [alt+shift+b] in programming

16th Feb 2023
Hello! I’ve been writing some Javascript this week, and as always when I start a new frontend project, I was faced with the question: should I use a build system? I want to talk about what’s appealing to me about build systems, why I (usually) still don’t use them, and why I find...
Thanks, 201X! Thought I'd take a Sunday afternoon to reflect on, oh I don't know, a decade. Been a long ten...
2nd Dec 2019
1

Thanks, 201X!

from Sedimental [alt+shift+b] in programming

2nd Dec 2019
Thought I'd take a Sunday afternoon to reflect on, oh I don't know, a decade. Been a long ten years, but it's flown past. This particular decade happens to coincide with my first years of full-time professional software engineering. The Quantity I can't possibly summarize it...
Finding active GitHub forks from the command line I maintain SumatraPDF on GitHub. People fork it and make their own changes. I want to know which...
18th Jun 2026
1

Finding active GitHub forks from the command line

from Krzysztof Kowalczyk blog [alt+shift+b] in programming

18th Jun 2026
I maintain SumatraPDF on GitHub. People fork it and make their own changes. I want to know which forks are active and what they’re working on. GitHub has a Network tab for this. I find it lousy. It’s hard to see active forks at a glance. Panning and zooming the UI is slow and...
10th Feb 2014
The Review Is the Action Item 2024/05/30 The Review Is the Action Item I like to consider running an incident review to be its own...
30th May 2024
125

The Review Is the Action Item

from Ferd.ca [alt+shift+b] in programming

30th May 2024
2024/05/30 The Review Is the Action Item I like to consider running an incident review to be its own action item. Other follow-ups emerging from it are a plus, but the point is to learn from incidents, and the review gives room for that to happen. This is not surprising advice if...
How to Properly Use Defer in Golang What is the “defer” keyword in Go? 🔗 In the Go programming language, defer is a keyword that allows...
1st Jun 2021
1

How to Properly Use Defer in Golang

from Boot.dev Blog [alt+shift+b] in programming

1st Jun 2021
What is the “defer” keyword in Go? 🔗 In the Go programming language, defer is a keyword that allows developers to delay the execution of a function until the current function returns. What throws some people off is that the deferred function’s arguments are evaluated...
Catbird: An experimental game engine for Scheme programmers I've been participating in the Lisp Game Jam for several years now, and the next one is starting...
25th Oct 2022
1

Catbird: An experimental game engine for Scheme programmers

from dthompson [alt+shift+b] in programming

25th Oct 2022
I've been participating in the Lisp Game Jam for several years now, and the next one is starting on 10/28, and with each attempt I've been accumulating code that forms something resembling a game engine. I'm now attempting to solidify some of the concepts I've been exploring in...
Access pages without the php extension using .htaccess There are a number of ways to make "clean URLs" work on your site, but this one is pretty straight...
3rd Feb 2012
53

Access pages without the php extension using .htaccess

from A Beautiful Site [alt+shift+b] in programming

3rd Feb 2012
There are a number of ways to make "clean URLs" work on your site, but this one is pretty straight forward.  It allows you to access /any-page.php by simply going to /any-page.  Just place the following into your .htaccess file (and make sure that mod_rewrite is...
What I'm up to - December 2025 Here is my monthly newsletter about what I'm up to, which I send in place of social media. What I...
1st Dec 2025
1

What I'm up to - December 2025

from Philip I. Thomas [alt+shift+b] in programming

1st Dec 2025
Here is my monthly newsletter about what I'm up to, which I send in place of social media. What I did in November - Just got back from a holiday in Tokyo and Hakone. I explored Ametora, noodles (tsuk...
Third Stage Engineering The real performance of any computer hardware in production is the result of the hardware, software,...
16th Nov 2025
1

Third Stage Engineering

from Brendan Gregg's Blog [alt+shift+b] in programming

16th Nov 2025
The real performance of any computer hardware in production is the result of the hardware, software, and tuning; the investment and sequence of these efforts can be pictured as a three-stage rocket: I recently presented this embarrassingly simple diagram to Intel's executive...
AI Regulation There have been multiple call to regulate AI. It is too early to do so.
18th Sep 2023
50

AI Regulation

from Elad Blog [alt+shift+b] in programming

18th Sep 2023
There have been multiple call to regulate AI. It is too early to do so.
For the First Time In Years, I’m Excited By My Computer Purchase Some decades back, when I’d buy a new PC, it would unlock new capabilities. Maybe AGP video, or a...
11th Sep 2023
35

For the First Time In Years, I’m Excited By My Computer Purchase

from The Changelog [alt+shift+b] in programming

11th Sep 2023
Some decades back, when I’d buy a new PC, it would unlock new capabilities. Maybe AGP video, or a PCMCIA slot, or, heck, sound. Nowadays, mostly new hardware means things get a bit faster or less crashy, or I have some more space for files. It’s good and useful, but sorta… meh....
Four-Course Python Data Structures and Algorithms Track Released We recently took a look at our course curriculum and felt that our current Learn Algorithms course,...
4th Oct 2021
1

Four-Course Python Data Structures and Algorithms Track Released

from Boot.dev Blog [alt+shift+b] in programming

4th Oct 2021
We recently took a look at our course curriculum and felt that our current Learn Algorithms course, written in Go, would be better served if it covered Python instead. After much deliberation, we decided to rewrite the course, and we’re super excited to have now released the...
Hearts, stars, and trumpets: the things I 'favorite' but don't 'like' Twitter recently changed "favorites" to "likes". We want to make Twitter easier and more rewarding...
5th Nov 2015
40

Hearts, stars, and trumpets: the things I 'favorite' but don't 'like'

from Liz Denys [alt+shift+b] in programming

5th Nov 2015
Twitter recently changed "favorites" to "likes". We want to make Twitter easier and more rewarding to use, and we know that at times the star could be confusing, especially to newcomers. You might like a lot of things, but not everything can be your favorite. It's true - not...
Because web development used to be **FUN!** I still remember the exact moment when I discovered **jQuery**. It was a revelation: Can I suddenly...
18th Sep 2023
1

Because web development used to be **FUN!**

from Nue developer blog [alt+shift+b] in programming

18th Sep 2023
I still remember the exact moment when I discovered **jQuery**. It was a revelation: Can I suddenly add logic to my pages in the same way I add styling? I surely can — this must be huge!
ViHN: Vim for Hacker News tl;dr: I made ViHN to read Hacker News without having to move my hands away from the keyboard. It’s...
24th Feb 2024
34

ViHN: Vim for Hacker News

from Quentin Santos [alt+shift+b] in programming

24th Feb 2024
tl;dr: I made ViHN to read Hacker News without having to move my hands away from the keyboard. It’s freely available on Firefox and Chrome. This is about yet another Hacker News extension. But other people with my obsession for killing the mouse might enjoy it. Most of the...
A Mental Model for Data in UI Applications A technology-agnostic model of the layers that naturally arise in any reasonably sized application,...
26th Sep 2025
1

A Mental Model for Data in UI Applications

from Jordan Eldredge's Blog [alt+shift+b] in programming

26th Sep 2025
A technology-agnostic model of the layers that naturally arise in any reasonably sized application, and the abstract properties of each layer.
Jitbit Helpdesk Mobile v10.4: A Major Update for Power Users We're excited to announce Jitbit Helpdesk Mobile v10.4, one of our biggest updates yet! This release...
23rd Oct 2025
1

Jitbit Helpdesk Mobile v10.4: A Major Update for Power Users

from Founder's blog [alt+shift+b] in programming

23rd Oct 2025
We're excited to announce Jitbit Helpdesk Mobile v10.4, one of our biggest updates yet! This release brings powerful new features that make managing support tickets on the go faster and more efficient than ever. Edit Tickets Without Leaving the App One of our most requested...
New year, new calendar We’ve spent the last year tackling the number one request for our email service HEY.com: Adding a...
2nd Jan 2024
31

New year, new calendar

from David Heinemeier Hansson [alt+shift+b] in programming

2nd Jan 2024
We’ve spent the last year tackling the number one request for our email service HEY.com: Adding a calendar! And now, in celebration of the new year, it’s finally ready, and we’re rolling it out to the first customers starting today 🎉 See, it turns out that lots of people would...
Oxide Computer Company: Initial boot sequence We have started a computer company! If you haven’t yet, read Jess’s account of us being born in a...
1st Dec 2019
52

Oxide Computer Company: Initial boot sequence

from Oxide Computer Company Blog [alt+shift+b] in programming

1st Dec 2019
We have started a computer company! If you haven’t yet, read Jess’s account of us being born in a garage and Bryan’s on the soul of our new computer company. Also, see the perspectives of some of our founding engineers: Robert Mustacchi on joining Oxide, Joshua Clulow on the need...
The S&P 500 is largely a historical artifact I see the S&P 500 referenced pretty frequently as an vanilla index for people investing. This isn’t...
2nd Apr 2024
112

The S&P 500 is largely a historical artifact

from macwright.com [alt+shift+b] in programming

2nd Apr 2024
I see the S&P 500 referenced pretty frequently as an vanilla index for people investing. This isn’t totally wrong, which is why this post is short. But, if you have the goal of just “investing in the market,” there’s a better option for doing that: a total market index. For...
So you want to make a public comment! mini-zine I've been testifying at local public meetings for safer streets and more housing and affordable...
28th Jun 2025
1

So you want to make a public comment! mini-zine

from Liz Denys [alt+shift+b] in programming

28th Jun 2025
I've been testifying at local public meetings for safer streets and more housing and affordable housing, and sometimes people ask me how they can do the same and what to expect. I decided to make a mini-zine that tries to demystify speaking up at public meetings: All text in the...
Passing data from PHP to JavaScript Have you ever needed to send a PHP variable, array, or object to JavaScript? It can get complicated...
5th Mar 2015
50

Passing data from PHP to JavaScript

from A Beautiful Site [alt+shift+b] in programming

5th Mar 2015
Have you ever needed to send a PHP variable, array, or object to JavaScript? It can get complicated trying to escape the output properly. Here's a way that always works—no escaping necessary. Let's say we have the following variable in PHP: $name = 'Bob Marley'; And we want to...
Querying through shadow roots Let's say I have a web component with an open shadow root, like this one from...
4th Aug 2021
53

Querying through shadow roots

from A Beautiful Site [alt+shift+b] in programming

4th Aug 2021
Let's say I have a web component with an open shadow root, like this one from Shoelace. <sl-button>Click me</sl-button> Inside the shadow root is a <button> that I want to target with JavaScript.* Alas, Element.querySelector() doesn't offer a shortcut for traversing shadow roots...
Announcing posetree.py: Wrangling Timestamps and Transforms for Robots A python library for doing pose math for fun and profit. (Although I open sourced it for free so, no...
10th Jul 2023
49

Announcing posetree.py: Wrangling Timestamps and Transforms for Robots

from General Robots [alt+shift+b] in programming

10th Jul 2023
A python library for doing pose math for fun and profit. (Although I open sourced it for free so, no profit for me I guess). Check it out!
Material Rewards for Motivation Setting material rewards for myself has helped me stay motivated and focused on important long-term...
13th Jul 2015
46

Material Rewards for Motivation

from Alex Meub [alt+shift+b] in programming

13th Jul 2015
Setting material rewards for myself has helped me stay motivated and focused on important long-term goals. This isn’t a new idea but I’ve found it to be really helpful in keeping me on track and giving me that extra push to follow through on my goals. Set SMART Goals In order to...
Optimize for not breaking up with your co-founder Last week we had an offsite in the beautiful Portuguese countryside, an hour's bus journey from...
10th Sep 2021
35

Optimize for not breaking up with your co-founder

from Eric Migicovsky's Blog RSS Feed [alt+shift+b] in programming

10th Sep 2021
Last week we had an offsite in the beautiful Portuguese countryside, an hour's bus journey from Porto. We uploaded a highlight reel of the retreat to…
Hacking window titles to help OBS This write-up is meant to present the rationale and technical details behind a tiny project I wrote...
6th Jun 2023
111

Hacking window titles to help OBS

from A small freedom area RSS [alt+shift+b] in programming

6th Jun 2023
This write-up is meant to present the rationale and technical details behind a tiny project I wrote the other day, WTH, or WindowTitleHack, which is meant to force a constant window name for apps that keep changing it (I'm looking specifically at Firefox and Krita, but there are...
Getting in shape for summer This month we have mostly minor maintenance updates as we gear up for a feature-filled future...
2nd Jun 2023
34

Getting in shape for summer

from elementary Blog [alt+shift+b] in programming

2nd Jun 2023
This month we have mostly minor maintenance updates as we gear up for a feature-filled future release. Enjoy a mild May because this summer is going to get hot! Calculator Calculator now follows keyboard shortcuts for copy and paste, even when the main text entry isn’t focused,...
Vibe Code is Legacy Code Vibe code is legacy code by Steve Krouse
2nd Aug 2025
1

Vibe Code is Legacy Code

from Maggie Appleton [alt+shift+b] in programming

2nd Aug 2025
Vibe code is legacy code by Steve Krouse
How to write exceptional documentation Writing high-quality developer documentation is a challenging task. This is my personal approach to...
4th Mar 2025
61

How to write exceptional documentation

from Chris Nicholas [alt+shift+b] in programming

4th Mar 2025
Writing high-quality developer documentation is a challenging task. This is my personal approach to crafting holistic, comprehensive documentation.
4th Jul 2024
what is a favicon? I must confess. There is this pet peeve I have. Whenever I come across a project, website, or app...
11th Nov 2025
1

what is a favicon?

from David Gerrells [alt+shift+b] in programming

11th Nov 2025
I must confess. There is this pet peeve I have. Whenever I come across a project, website, or app which sports the default favicon (favorite icon) of whatever framework, tool, or library used to make said project, website, or app, I cannot help but be disappointed. Nay, more than...
Why you should continue working on your bad idea * Tweet [https://twitter.com/share] * * Buffer [http://bufferapp.com/add] * > "The brick...
1st Sep 2012
41

Why you should continue working on your bad idea

from Joel Gascoigne [alt+shift+b] in programming

1st Sep 2012
* Tweet [https://twitter.com/share] * * Buffer [http://bufferapp.com/add] * > "The brick walls are there for a reason. The brick walls are not there to keep us out; the brick walls are there to give us a chance to show how badly we want something. The brick walls are...
Announcing Go-TinyTime, Go-TinyDate's Sister Package time.Time is the perfect choice for handling times in Go in most cases, it even comes in the...
2nd Apr 2020
1

Announcing Go-TinyTime, Go-TinyDate's Sister Package

from Boot.dev Blog [alt+shift+b] in programming

2nd Apr 2020
time.Time is the perfect choice for handling times in Go in most cases, it even comes in the standard library! The problem is that the time.Time{} struct uses more than 24 bytes of memory under most conditions. Go-TinyTime solves this problem by restricting the available dates to...
My first year since coming back to Linux <![CDATA[It has been a year since I set up my System76 Merkaat with Linux Mint. In July of 2024 I...
6th Jul 2025
42

My first year since coming back to Linux

from Paolo Amoroso's Journal [alt+shift+b] in programming

6th Jul 2025
<![CDATA[It has been a year since I set up my System76 Merkaat with Linux Mint. In July of 2024 I migrated from ChromeOS and the Merkaat has been my daily driver on the desktop. A year later I have nothing major to report, which is the point. Despite the occasional unplanned...
Steam nerfed popular upcoming. So what? In the latest Steam client update, Valve unveiled major changes to its store’s home page. One of the...
12th Jun 2026
2

Steam nerfed popular upcoming. So what?

from Alice GG [alt+shift+b] in programming

12th Jun 2026
In the latest Steam client update, Valve unveiled major changes to its store’s home page. One of the main difference is that the “Popular Upcoming” section, which shows upcoming games now shows a lot fewer games. This seems to worry indie developers who relied on this section as...
Naked Emperors in Tech Some things we often repeat as truth just aren't. We should call bullshit more often.
6th Nov 2020
39

Naked Emperors in Tech

from swyx's site RSS Feed [alt+shift+b] in programming

6th Nov 2020
Some things we often repeat as truth just aren't. We should call bullshit more often.
Questionable Advice: “How can I drive change and influence teams…without power?” Last month I got to attend GOTO Chicago and give a talk about continuous deployment and...
5th Jun 2023
39
5th Jun 2023
Last month I got to attend GOTO Chicago and give a talk about continuous deployment and high-performing teams. Honestly I did a terrible job, and I’m not being modest. I had just rolled off a delayed redeye flight; I realized partway through that I had the wrong slides loaded,...
Topologies of Remote Teams When you're building or scaling a software engineering team, you naturally run into a choice at some...
23rd Aug 2018
2

Topologies of Remote Teams

from ntietz.com blog - technically a blog [alt+shift+b] in programming

23rd Aug 2018
When you're building or scaling a software engineering team, you naturally run into a choice at some point: will we all be in the same office, or will we do this "remote work" thing? There are a lot of factors that go into whether or not remote work will work for your team, like...
What I'm up to - August 2025 Here is my monthly newsletter about what I'm up to, which I send in place of social media. What I...
1st Aug 2025
1

What I'm up to - August 2025

from Philip I. Thomas [alt+shift+b] in programming

1st Aug 2025
Here is my monthly newsletter about what I'm up to, which I send in place of social media. What I did in last month - Back to eating solid foods after my jaw surgery. - Playing with gpt-oss on my com...
Power dynamics in web specifications My involvement in web standards started with the CSS working group. One of the things that we...
19th Apr 2024
48

Power dynamics in web specifications

from Hixie's Natural Log [alt+shift+b] in programming

19th Apr 2024
My involvement in web standards started with the CSS working group. One of the things that we struggled with as a working group was that we would specify how the technology should work, but the browser vendors' implementations weren't exactly what we intended, and web authors...
Who runs Engineering processes? Uber ran a tech spec review process called the DUCK Review. “DUCK” didn’t stand for anything–it was...
3rd Apr 2023
105

Who runs Engineering processes?

from Irrational Exuberance [alt+shift+b] in programming

3rd Apr 2023
Uber ran a tech spec review process called the DUCK Review. “DUCK” didn’t stand for anything–it was created as a deliberate non-acronym–but was otherwise a fairly typical review process. When I first joined, we’d review one or two specs each week. The volume of requested reviews...
Colophon Most blogs, like this one, are reverse-chronological, causing the first post to appear last in the...
1st May 2015
1

Colophon

from Sedimental [alt+shift+b] in programming

1st May 2015
Most blogs, like this one, are reverse-chronological, causing the first post to appear last in the archive. This convention makes a colophon the King's Pawn Game of web authorship; there's no better place to showcase certain implementation details than the first post of a...
My friend, JT I’ve had a cat for almost a third of my life.
22nd Feb 2025
1

My friend, JT

from Basta’s Notes [alt+shift+b] in programming

22nd Feb 2025
I’ve had a cat for almost a third of my life.
Create a Performance-Focused WordPress Blog Create a Performance-Focused WordPress Blog 2021-09-08 With my recent switch back to WordPress, and...
8th Sep 2021
30

Create a Performance-Focused WordPress Blog

from bt RSS Feed [alt+shift+b] in programming

8th Sep 2021
Create a Performance-Focused WordPress Blog 2021-09-08 With my recent switch back to WordPress, and having read Kev Quirk’s latest post about Core Web Vitals, I wanted to make sure my blog still prioritized speed and performance above all else. I’m happy to say that I have...
Revisiting FOUCE It's been awhile since I wrote about FOUCE and I've since come up with an improved solution that I...
23rd Dec 2024
101

Revisiting FOUCE

from A Beautiful Site [alt+shift+b] in programming

23rd Dec 2024
It's been awhile since I wrote about FOUCE and I've since come up with an improved solution that I think is worth a post. This approach is similar to hiding the page content and then fading it in, but I've noticed it's far less distracting without the fade. It also adds a two...
The Boot.dev Beat. February 2026 A new year and another record broken! In January a combined 4,016,641 lessons and challenges were...
11th Feb 2026
1

The Boot.dev Beat. February 2026

from Boot.dev Blog [alt+shift+b] in programming

11th Feb 2026
A new year and another record broken! In January a combined 4,016,641 lessons and challenges were completed by you, dear pupils! And to top it off, we’re now releasing the much anticipated Power BI Course by none other than Alex the Analyst! I hope you enjoy it.
Rudimentary 3D on the 2D HTML Canvas I’ve been working on a graphical web project that requires an interactive roll of a pair of dice....
29th Sep 2024
1

Rudimentary 3D on the 2D HTML Canvas

from Charles Petzold [alt+shift+b] in programming

29th Sep 2024
I’ve been working on a graphical web project that requires an interactive roll of a pair of dice. Dice are cubes and would be most convincingly rendered with 3D graphics. But because these dice are only a tiny part of this project, I was reluctant to call out the big guns. I...
Introduction to javascript iterables, iterators, and generators A quick intro to javascript newly introduced generators and iterators concepts and how they work...
9th Aug 2016
29

Introduction to javascript iterables, iterators, and generators

from Mahmoud Felfel's Blog RSS Feed [alt+shift+b] in programming

9th Aug 2016
A quick intro to javascript newly introduced generators and iterators concepts and how they work with other javascript features.
Git/Github fork-pull request-update cycle When contributing to Open Source Projects, new contributors often run into problems of having...
19th Feb 2016
28

Git/Github fork-pull request-update cycle

from blag [alt+shift+b] in programming

19th Feb 2016
When contributing to Open Source Projects, new contributors often run into problems of having multiple merge commits and issues with keeping the forked repo in sync. This post addresses solutions for some of the problems.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20

We love reading as much as you do!
Every week we share the top 5 articles we enjoyed reading. Subscribe to get them in your inbox.

Subscribe

📚 BoredReading

You seem to be enjoying this.

Join free to unlock everything.

Create free account

Already have an account? Sign in