frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

ASCII characters are not pixels: a deep dive into ASCII rendering

https://alexharri.com/blog/ascii-rendering
210•alexharri•3h ago•29 comments

The Dilbert Afterlife

https://www.astralcodexten.com/p/the-dilbert-afterlife
104•rendall•1d ago•46 comments

ClickHouse acquires Langfuse

https://langfuse.com/blog/joining-clickhouse
118•tin7in•5h ago•36 comments

The 600-year-old origins of the word 'hello'

https://www.bbc.com/culture/article/20260113-hello-hiya-aloha-what-our-greetings-reveal
29•1659447091•2h ago•13 comments

Map To Poster – Create Art of your favourite city

https://github.com/originalankur/maptoposter
72•originalankur•4h ago•27 comments

Architecture for Disposable Systems

https://tuananh.net/2026/01/15/architecture-for-disposable-systems/
26•tuananh•3h ago•13 comments

Sergei Fedorov's Escape from Soviet Union Helped Save Red Wings (2020)

https://www.freep.com/story/sports/nhl/red-wings/2026/01/12/sergei-fedorov-detroit-red-wings-russ...
9•rmason•4d ago•1 comments

US electricity demand surged in 2025 – solar handled 61% of it

https://electrek.co/2026/01/16/us-electricity-demand-surged-in-2025-solar-handled-61-percent/
123•doener•3h ago•91 comments

East Germany balloon escape

https://en.wikipedia.org/wiki/East_Germany_balloon_escape
573•robertvc•21h ago•232 comments

Show HN: Streaming gigabyte medical images from S3 without downloading them

https://github.com/PABannier/WSIStreamer
66•el_pa_b•5h ago•10 comments

Cloudflare acquires Astro

https://astro.build/blog/joining-cloudflare/
863•todotask2•1d ago•367 comments

The 'untouchable hacker god' behind Finland's biggest ever crime

https://www.theguardian.com/technology/2026/jan/17/vastaamo-hack-finland-therapy-notes
64•c420•6h ago•51 comments

Lies, Damned Lies and Proofs: Formal Methods Are Not Slopless

https://www.lesswrong.com/posts/rhAPh3YzhPoBNpgHg/lies-damned-lies-and-proofs-formal-methods-are-...
58•OgsyedIE•3d ago•31 comments

Italy investigates Activision Blizzard for pushing in-game purchases

https://techcrunch.com/2026/01/16/italy-investigates-activision-blizzard-for-pushing-in-game-purc...
11•7777777phil•43m ago•0 comments

After 25 years, Wikipedia has proved that news doesn't need to look like news

https://www.niemanlab.org/2026/01/after-25-years-wikipedia-has-proved-that-news-doesnt-need-to-lo...
117•giuliomagnifico•3h ago•103 comments

Cursor's latest “browser experiment” implied success without evidence

https://embedding-shapes.github.io/cursor-implied-success-without-evidence/
609•embedding-shape•23h ago•262 comments

High-Level Is the Goal

https://bvisness.me/high-level/
181•tobr•2d ago•80 comments

FLUX.2 [Klein]: Towards Interactive Visual Intelligence

https://bfl.ai/blog/flux2-klein-towards-interactive-visual-intelligence
174•GaggiX•14h ago•49 comments

6-Day and IP Address Certificates Are Generally Available

https://letsencrypt.org/2026/01/15/6day-and-ip-general-availability
435•jaas•22h ago•247 comments

PCs refuse to shut down after Microsoft patch

https://www.theregister.com/2026/01/16/patch_tuesday_secure_launch_bug_no_shutdown/
67•smurda•3h ago•89 comments

Fitdrop: Personal exploration of fashion from 1980 to 2025

https://fitdrop.cc/
14•num42•2h ago•3 comments

LLM Structured Outputs Handbook

https://nanonets.com/cookbooks/structured-llm-outputs
296•vitaelabitur•1d ago•48 comments

The Risks of AI in Schools Outweigh the Benefits, Report Says

https://www.npr.org/2026/01/14/nx-s1-5674741/ai-schools-education
19•backpackerBMW•1h ago•4 comments

Drone Hacking Part 1: Dumping Firmware and Bruteforcing ECC

https://neodyme.io/en/blog/drone_hacking_part_1/
97•tripdout•11h ago•13 comments

Releasing rainbow tables to accelerate Net-NTLMv1 protocol deprecation

https://cloud.google.com/blog/topics/threat-intelligence/net-ntlmv1-deprecation-rainbow-tables
129•linolevan•16h ago•76 comments

AV1 Image File Format Specification Gets an Upgrade with AVIF v1.2.0

https://aomedia.org/blog%20posts/AV1-Image-File-Format-Specification-Gets-an-Upgrade-with-AVIF/
32•breve•3h ago•0 comments

Post-PARA: What survived 4 years of real use

https://cortwave.github.io/posts/post-para/
14•cortwave•5d ago•0 comments

Dell UltraSharp 52 Thunderbolt Hub Monitor

https://www.dell.com/en-us/shop/dell-ultrasharp-52-thunderbolt-hub-monitor-u5226kw/apd/210-bthw/m...
247•cebert•21h ago•309 comments

What life is like in Minneapolis now

https://donmoynihan.substack.com/p/dispatch-from-the-occupation
6•_tk_•14m ago•0 comments

Ask HN: Is it still worth pursuing a software startup?

88•newbebee•11h ago•75 comments
Open in hackernews

Finding and Fixing a 50k Goroutine Leak That Nearly Killed Production

https://skoredin.pro/blog/golang/goroutine-leak-debugging
23•ibobev•5d ago

Comments

Uriopass•1h ago
> We couldn't just deploy and pray. 50,000 goroutines don't just disappear.

They do once you restart the server. Unsure what the "phase 3 monitoring" shows where the goroutines go down gradually. If you have new code to deploy you must recompile and therefore restart and those goroutines are gone anyway.

This feels like an AI made-up story but I'm not sure I understand the point of making this up.

However, goroutine leak is interesting! I hope what I learned from this post isn't hallucination. For example, how could the subscriber send messages/heartbeats to the closed goroutine without an error...

cassonmars•1h ago
I had the same confusion reading this – what kind of go-based webservice framework can you discretely deploy new handlers without restarts/redeploys? Would be a really awesome thing to have!
WJW•1h ago
TBH it sounds like it would be extremely against the whole "simplicity, even at high costs" philosophy the Golang people strive for. Deploying new handlers into a running web service seems much more like something the Erlang people would be interested in.

(and lo, the BEAM does indeed allow hot code reloads. I don't think this is commonly used in BEAM-based Erlang/Elixir web services though. Certainly the Gleam people don't seem to like hot reloads very much...)

tim-kt•1h ago
This seems like an interesting problem and an interesting fix, but there is so much code and so little explanation that I am lost after "The Code That Looked Perfectly Fine". It also reads very much like AI. And FYI the "output" code blocks are (at least for me on Firefox) a dark gray on a darker gray background, so very unreadable.
mono442•1h ago
This post seems AI generated.
LatencyKills•1h ago
As a longtime Go developer, I found the bug and its fix interesting.

If you found something wrong in the post, I'd really appreciate hearing about it.

tim-kt•1h ago
While I agree that it's not important whether or not someone uses AI to improve a blog post or create code examples, this blog post seems like the output of the prompt "Write an interesting blog post about a goroutine leak". I don't have the expertise to verify if what is written is actually correct or makes sense, but based on the other comments there seems to be some confusion if what is written is actually content or also AI generated output.
LatencyKills•53m ago
I do have expertise in Go. The bug was real, and the fix makes sense (though I couldn't verify it, of course).

I just hope HN gets over the "but it might be AI!!" crap sooner rather than later and focuses on the actual content because these types of posts are never going away.

tim-kt•42m ago
Personally, I just don't like the way this is written. As I said though, I am not an expert and so I may be outside the target group. I think that the original "this is AI" comment is an automatic response which alternatively carries the meaning "this is low-effort" and in that sense I still think that it is valid criticism.
LatencyKills•31m ago
Fair enough - I appreciate your thoughts. I'll keep the "this is low-effort" == "this is AI" equivalence in mind moving forward.
MD87•23m ago
The bug is somewhat interesting.

The entire "Gradual recovery" part of the post makes absolutely no sense, and is presumably an LLM fabrication. That's just... not how anything works. And deploying three different weird little mitigations flies in the face of the earlier "We couldn't just restart production. Too many active users."

its-kostya•46m ago
Having been plagued by Go's anti-pattern that is goroutine + channels* and having debugged far too many leaked go routines myself, I'd suggest using the pprof package that exposes the /debug/pprof endpoint for your go process. Specifically it exposes runtime profiling data over HTTP in pprof format so you can collect and inspect CPU, heap, goroutine, block, etc.

Debugging becomes, hit the debug endpoint, get a list of all goroutines and their call stack. A leaked goroutine shows up a lot with the same call stack and that's it. There is also a fancy graph you can make the visualizes allocated objects if you have a mem leak and aren't sure if it is me or goroutine.

* Anti-pattern because it is so easy to forgo good program design (like a solid state machine) and reach for a goroutine and communicate back with channels. Do that a few times and your code becomes spaghetti.

butvacuum•40m ago
I'm suprised whatever IDE got used, or some stage of the build, didn't throw a warning for leaving an object that has a dispose interface undisposed.

But, I haven't touched Go. unexciting .net dev...

assbuttbuttass•25m ago
> Writers kept sending to sub.messages. The channel grew. Memory grew.

Channels are buffered in Go, they will not grow unbounded.

> Tickers Are Not Garbage Collected

It used to be necessary in older versions to call ticker.Stop(), but in recent versions it's no longer necessary.

    // Start goroutines
    go s.pumpMessages(ctx, sub)
    go s.heartbeat(ctx, sub)
    
    // Monitor the connection
    go s.monitorConnection(ctx, sub)
The "fixed" code is still using the fire-and-forget pattern for goroutines which encourages this kind of leak. Go makes it easy to add concurrency on the caller side, so it's usually better to write blocking functions that clean up all their goroutines before returning.

In general this article screams AI with most of the conclusions being hallucinated. Goroutine leaks are real, but it's hard to trust any of the article's conclusions