iHateReading — software development blogs

iHateReading is a software development learning platform that breaks programming topics into step-by-step threads, roadmaps, templates, and curated developer resources. The homepage lists practical tutorials for React, Next.js, Node.js, JavaScript, TypeScript, AI tooling, and product engineering. Each thread is a short, structured walkthrough you can skim, bookmark, and reuse while building. Use iHateReading when you need a concrete implementation path rather than a long essay: how to add auth, ship a SaaS starter, submit a product to directories, follow a frontend or backend roadmap, or scan GitHub trending repositories. Start from the article index at /blog, or the machine-readable list at /articles.json. Continue to Explore for curated blogs, the Magazine for a monthly developer digest, Roadmaps for skill paths, Store for website templates, Jobs for developer roles, and SaaS Directories for launch lists. Machine-readable index: https://ihatereading.in/llms.txt. Latest articles JSON: https://ihatereading.in/articles.json. RSS: https://ihatereading.in/rss.xml (also /feed.xml). Topics: https://ihatereading.in/topics (e.g. /topics/react). Search: https://ihatereading.in/search?q={query}. Blog sitemap: https://ihatereading.in/sitemap-blogs.xml. Sitemap index: https://ihatereading.in/sitemap_index.xml. About: https://ihatereading.in/about.

Machine-readable index: https://ihatereading.in/llms.txt. XML sitemap: https://ihatereading.in/sitemap.xml. Agent instructions: https://ihatereading.in/agent-instructions.md.

Tags

Explore developer blogs

Explore is iHateReading's feed of curated posts from developer blogs and RSS feeds, organized so you can find what to read next. Original iHateReading threads live on /blog.

Good reads from the internet

120 posts · updated 8/10/2026, 11:24:26 PM

Caller-specific coverage
Web Development

Caller-specific coverage

I’ve had an idea rattling around to get more detail from coverage measurement. Can we measure the coverage in a function separately for each caller of the function? Here’s why I want it: in Acidica , my toy BASIC interpreter, I had code to implement the built-in functions that looked something like this: ma

Ned Batchelder

2026-08-09T13:56:25-04:00

Read
View Transitions: Careful Not To Make Stuff Unclickable
Web Development

View Transitions: Careful Not To Make Stuff Unclickable

Just a little Public Service Announcement here. Let’s say you’re doing a View Transition in the form of using the .startViewTransition() method. Maybe you’re showing an image bigger or sorting a table or moving some list items around or something. If you don’t deal with it specifically, it&#8217

Learn JavaScript, React, and TypeScript to Node.js, Fullstack, and Backend | Frontend Masters

07 Aug 2026

Read
Random Post Button Followup
Web Development

Random Post Button Followup

I had fun with the post about making a link to a random post in just HTML/CSS the other day. But I was almost certainly over-thinking it on the original . Using random() was kind of the point, so we can stick with that. One alternative is to think uni-directionally . Making it both rows and columns isn’t necessar

Learn JavaScript, React, and TypeScript to Node.js, Fullstack, and Backend | Frontend Masters

06 Aug 2026

Read
5 CSS Properties You Should Know for Better Text Designs
Web Development

5 CSS Properties You Should Know for Better Text Designs

Like the graphic design of a physical poster, sometimes we need some eye-catching text on the web too. Picking the right font is just the beginning. Text weight, style, spacing, and decoration can go a long way, but sometimes we need more to make the text stand out. Here are five properties that can help make words loo

Learn JavaScript, React, and TypeScript to Node.js, Fullstack, and Backend | Frontend Masters

05 Aug 2026

Read
This Week in Rust 663
Learning

This Week in Rust 663

Hello and welcome to another issue of This Week in Rust ! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at <a href="https://bsky.app

This Week in Rust

05 Aug 2026

Read
Web Platform Status Notification Emails
AI

Web Platform Status Notification Emails

I’m just learning that the Web Platform Status website offers email alerts when features of your choosing change in support. For instance, I just signed up to hear exactly when Customizable becomes Baseline Newly Available.

Learn JavaScript, React, and TypeScript to Node.js, Fullstack, and Backend | Frontend Masters

04 Aug 2026

Read
Make unique UI with agents
AI

Make unique UI with agents

When the agent is in charge of creative direction, it will generate the same exact UI for everyone. Now that all websites are looking similar, how can we make a unique UI?

daisyUI

03 Aug 2026

Read
This Week in Rust 662
Learning

This Week in Rust 662

Hello and welcome to another issue of This Week in Rust ! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at <a href="https://bsky.app

This Week in Rust

29 Jul 2026

Read
Ned Batchelder
Web Development

Acidica

My latest fun project is a BASIC interpreter called Acidica . Classic BASIC is an old-school language first developed in 1964 that saw an explosion of implementations on microcomputers in the ‘70s and ‘80s. It’s much more primitive than the Visual Basic that you might be familiar with. A simple BASIC

Ned Batchelder

2026-07-26T10:54:28-04:00

Read
PEP 842: Module Exports
Web Development

PEP 842: Module Exports

This PEP proposes an export statement that modules can use to express intent about the visibility of variables from outside the module.

Welcome to Python.org

25 Jul 2026

Read
This Week in Rust 661
Learning

This Week in Rust 661

Hello and welcome to another issue of This Week in Rust ! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at <a href="https://bsky.app

This Week in Rust

22 Jul 2026

Read
PEP 841: Adding Frozen Syntax to Optimize Immutable Types
Web Development

PEP 841: Adding Frozen Syntax to Optimize Immutable Types

This PEP proposes frozen display syntax: f{1, 2, 3} evaluates to a frozenset, and f{'a': 1} evaluates to a frozendict. Because immutability is guaranteed by the syntax itself rather than inferred from usage, the compiler can treat frozen displays as first-class citizens of its optimization pipeline: constant displays a

Welcome to Python.org

20 Jul 2026

Read
This Week in Rust 660
Learning

This Week in Rust 660

Hello and welcome to another issue of This Week in Rust ! Rust is a programming language empowering everyone to build reliable and efficient software. This is a weekly summary of its progress and community. Want something mentioned? Tag us at <a href="https://bsky.app

This Week in Rust

15 Jul 2026

Read
PEP 840: Name Resolution in Class Namespaces
Web Development

PEP 840: Name Resolution in Class Namespaces

There is a long-standing inconsistency in the way variable names are resolved in classes. Several alternatives to resolve this inconsistency are discussed.

Welcome to Python.org

15 Jul 2026

Read
PEP 838: Adding python-version to pyvenv.cfg
Web Development

PEP 838: Adding python-version to pyvenv.cfg

This PEP proposes adding a python-version field to pyvenv.cfg which records the Python interpreter used by a virtual environment. It records only the major and minor version to be resilient to patch version updates.

Welcome to Python.org

15 Jul 2026

Read
A place of certainty
AI

A place of certainty

My mother is 86, and she is declining. Things that used to be easy for her now seem completely foreign. She was a programmer, writing software before I could read, so it is very strange to see her like this. She no longer uses a computer. If I mention some photos I found online, she asks if there’s any way she ca

Ned Batchelder

2026-07-14T06:21:24-04:00

Read
daisyUI 5.6
AI

daisyUI 5.6

daisyUI 5.6 is here with 3 new components, new ways to use existing components, and many small improvements across the library.

daisyUI

25 Jun 2026

Read
Dodecahedron with stars
Web Development

Dodecahedron with stars

I saw this dodecahedron with an Islamic-inspired pattern designed by Taj Ragoo . As soon as I saw it, I knew I had to make one. I studied the pattern, wrote some Python, and made myself a PDF. I cut it out, folded it, glued it together, and now I have one of my own: I love that this elegantly combines two pure geometri

Ned Batchelder

2026-06-18T06:15:20-04:00

Read