As someone who's been reading Angry Metal Guy for more than seven years, I hated the decision to use the AI-generated images in this post, too. But don't let that get in the way of the main idea: buy albums on Bandcamp if you can afford it, use Apple Music or Tidal otherwise.
HN user
Metalnem
Nemanja Mijailovic
Blog: https://mijailovic.net/
GitHub: https://github.com/metalnem
For the unaware: on Bandcamp Fridays, artists and labels get 100% of what you pay. You can see the schedule for the rest of the year here:
This is crazy value for money! I've been wanting to read Understanding Software Dynamics for some time, and that book alone costs €41 on ebooks.com.
Also, if you want to see the full list of changes in .NET 10 (not just the latest preview), you can find it here:
https://learn.microsoft.com/en-us/dotnet/core/whats-new/dotn...
It's a small price to pay for the Fyre Festival brand
Why on earth would the Fyre brand be worth anything at all?
I love his writing too! I read this post a few days ago and really liked it, so I started going through his older posts. It's no coincidence that his writing is good—he's actively working to improve it: https://evanhahn.com/economist-style-guide-book-takeaways/.
I recently re-read this article and can confirm that it's excellent—not just this specific page, but all the other sections under "Garbage Collection" as well.
If you want to dive deeper into memory performance analysis in .NET, this is another must-read: https://github.com/Maoni0/mem-doc/blob/master/doc/.NETMemory...
It was written by Maoni Stephens, the architect of .NET's garbage collection.
This is a terrible article. It doesn’t cite its sources and, even worse, invents quotes. It's basically just an ad for some Panto AI tool.
Save yourself some time and just read the official incident report: https://status.cloud.google.com/incidents/ow5i3PPK96RduMcb1S...
Or the previous Hacker News discussion: https://news.ycombinator.com/item?id=44274563
They did! It was already discussed here: https://news.ycombinator.com/item?id=44274563.
Thanks for posting this—it's super interesting! I was just curious why the author of the Reddit post didn't publish it on their own blog, since it's definitely worth preserving there.
Kudos for publishing this, but why is it on Reddit instead of the Levels.fyi blog (https://www.levels.fyi/blog/)?
Great story! Successful cloud performance investigations are always extremely satisfying. I love this conclusion:
It’s a reminder that sometimes performance bottlenecks are hard to diagnose, but with careful debugging, good data, and collaboration with providers, even cloud-level issues can be resolved.
It's sad to see Europe's influence fading, and instead of investing in innovation, politicians are focused on stripping even more freedoms from their citizens.
I've been a Kindle user for over 15 years, but I finally stopped buying Kindle books after Amazon removed the "Download & Transfer via USB" option, effectively eliminating the ability to remove DRM.
I believe that Nespresso measures the amount of caffeine in the final drink, assuming you used the correct serving size. For example, for Ispirazione Napoli (https://www.nespresso.com/tw/en/order/capsules/original/ispi...), they claim that "Per serving of Caffeine is 109mg/25ml".
This article doesn't add much beyond the official incident report, so it's better to just read that directly. Or read this analysis, which at least raises some interesting questions:
https://surfingcomplexity.blog/2025/06/14/quick-takes-on-the...
The author raised some great questions! But as he admits, they are unlikely to be answered in public, which is why I usually find public retrospectives a bit underwhelming.
Service Control did not have the appropriate randomized exponential backoff implemented to avoid this. It took up to ~2h 40 mins to fully resolve in us-central-1 as we throttled task creation to minimize the impact on the underlying infrastructure and routed traffic to multi-regional databases to reduce the load.
If nothing else, this section of the incident report reminded me of my favorite distributed systems paper: Metastable Failures in Distributed Systems. You should definitely check it out if you haven't already:
https://sigops.org/s/conferences/hotos/2021/papers/hotos21-s...
You can find over a hundred of his records on Bandcamp: https://sunramusic.bandcamp.com.
I recently wrote a tool called SharpFuzz that enables fuzzing .NET programs with AFL (https://github.com/metalnem/sharpfuzz#trophies). It has found over 70 issues so far in various libraries (including the .NET standard library). The most common ones are unexpected exceptions (for example, method that should not throw anything throws IndexOutOfRangeException or NullReferenceException), but there are also many serious ones, such as temporary/permanent hangs, stack overflows, and process crashes.
I already tried that, but was disappointed that the performance gain was only 1%, which is why I didn't include the optimization in the post.
You can’t do it with GitHub pages only (if you want to use a custom domain). I’m actually using free Cloudflare plan for terminating TLS connections.
I listen to audiobooks when I’m walking to work and back—that’s an hour a day on average. That counts for at least 2000 pages in each quarter. I also read anything between 10 and 40 pages of technical books every day, which adds up a lot after three months.
That's an interesting question. There is one thing that is unique to the Edge Magazine app on iOS, though. Zip archives of the magazine do not contain just pdf files, but also bunch of high resolution game screenshots. Those screenshots can be seen in the app by clicking the gallery button in a several places. The gallery button link is in the form media://image.jpg, which probably means that the application registered custom protocol handler and handles it by displaying image on top of the magazine itself. That's the way to recognize iOS version, but I'm not sure if Google Play Newsstand has the same feature.
Yes, certificate pinning would have blocked my initial steps. But there is a tool for disabling certificate pinning validation on jailbroken iOS devices, called iOS SSL Kill Switch https://github.com/iSECPartners/ios-ssl-kill-switch.
I thought about trying the "strings" command first, but I didn't expect that the password would be just laying there. Even if I found the "SavedPassword" string, I couldn't use it the way I did without jailbroken device, because configuration file that contained the saved password wasn't embedded in the application. The password was actually written to configuration file on the device first time it was used.
You can decompress every .ipa files and see bunch of resources and configuration files in plaintext, which can falsely lead you to believe that you have everything decrypted, but the main binary file is still encrypted, and the only way to decrypt is by running software like Clutch on the jailbroken device.
So there are more people who read Dark Horse comics and think like me :) Converting into CBZ directly was my initial idea, but then I discovered that there is direct download link to tar archive that contains all the images (I did that by following the network traffic of the iOS app). I didn't want to bother with half-baked JavaScript libraries to extract the tar archive and recompress it into zip, so I just quickly wrote a Go application to do that.