Archive for January 5, 2026

Monday, January 5, 2026

NetNewsWire Moves to Discourse

Brent Simmons:

We’re dropping the Slack group as the NetNewsWire forum and switching to Discourse — here’s the new forum.

Slack’s been pretty great for us, but it does have some limitations: conversations are automatically deleted and they’re not findable on the web in the first place.

It’s a shame that the Slack archives were deleted, but I think this will increase the longevity and accessibility of the information going forward.

Previously:

Python Numbers Every Programmer Should Know

Michael Kennedy (via Hacker News):

For example, how fast or slow is it to add an item to a list in Python? What about opening a file? Is that less than a millisecond? Is there something that makes that slower than you might have guessed? If you have a performance sensitive algorithm, which data structure should you use? How much memory does a floating point number use? What about a single character or the empty string? How fast is FastAPI compared to Django?

I wanted to take a moment and write down performance numbers specifically focused on Python developers. Below you will find an extensive table of such values.

Previously:

Latency Numbers Every Programmer Should Know

Jonas Bonér (based on work by Peter Norvig and Jeff Dean from 2012):

L1 cache reference                           0.5 ns
Branch mispredict                            5   ns
L2 cache reference                           7   ns                      14x L1 cache
Mutex lock/unlock                           25   ns
Main memory reference                      100   ns                      20x L2 cache, 200x L1 cache
Compress 1K bytes with Zippy             3,000   ns        3 us
Send 1K bytes over 1 Gbps network       10,000   ns       10 us
Read 4K randomly from SSD*             150,000   ns      150 us          ~1GB/sec SSD
Read 1 MB sequentially from memory     250,000   ns      250 us
Round trip within same datacenter      500,000   ns      500 us
Read 1 MB sequentially from SSD*     1,000,000   ns    1,000 us    1 ms  ~1GB/sec SSD, 4X memory
Disk seek                           10,000,000   ns   10,000 us   10 ms  20x datacenter roundtrip
Read 1 MB sequentially from disk    20,000,000   ns   20,000 us   20 ms  80x memory, 20X SSD
Send packet CA->Netherlands->CA    150,000,000   ns  150,000 us  150 ms

Colin Scott has a page that helps visualize how these types of numbers have changed over time (Hacker News).

Jon Snader:

Mohammad Zeya Ahmad has an informative post [archive] that answers that question. He has a list of how much time various common operations take. That’s interesting but what make his list stand out is that he draws conclusions from his results.

For example, SSDs are about 30 times faster than HDDs so if you have a high performance disk-based task, it makes sense to use SSDs. Of course, there are reasons to prefer HDDs but if performance is your controlling metric, SSDs are probably your best choice.

For each group of comparable metrics, Ahmad offers an actionable suggestion. Those groups range from CPU versus Cache and Memory speeds to network transfer times.

Previously:

Clearing iOS App Data

Ryan Jones:

Can anyone explain why there’s no “Clear Documents & Data” button?

Reinstalling the app just to clear it is dumb.

I can see why Apple doesn’t want to make it easier for users to accidentally delete data that they meant to keep. But I would like to at least see a standard system button for clearing an app’s caches. It’s backwards that to clear the cache you have to Delete App, which also removes its data, then reinstall it and somehow restore. You might think that Offload App would delete the app as well as the purgeable data, leaving only that which can’t be recreated automatically, but as far as I’m aware it leaves the caches in place.

Previously:

Update (2026-01-06): Craig Grannell:

I have a 130MB health app that’s so far ballooned to 1.5GB due to downloading everything each day. It keeps growing. Natch, there is no way to delete old data. (Nor can you get at the data to get the audio files – which is 99% of it – out of the thing.)