frontpage.
newsnewestaskshowjobs

Made with ♥ by @iamnishanth

Open Source @Github

fp.

Start all of your commands with a comma (2009)

https://rhodesmill.org/brandon/2009/commands-with-comma/
233•theblazehen•2d ago•68 comments

OpenCiv3: Open-source, cross-platform reimagining of Civilization III

https://openciv3.org/
694•klaussilveira•15h ago•206 comments

Hoot: Scheme on WebAssembly

https://www.spritely.institute/hoot/
6•AlexeyBrin•1h ago•0 comments

The Waymo World Model

https://waymo.com/blog/2026/02/the-waymo-world-model-a-new-frontier-for-autonomous-driving-simula...
962•xnx•20h ago•555 comments

How we made geo joins 400× faster with H3 indexes

https://floedb.ai/blog/how-we-made-geo-joins-400-faster-with-h3-indexes
130•matheusalmeida•2d ago•35 comments

Unseen Footage of Atari Battlezone Arcade Cabinet Production

https://arcadeblogger.com/2026/02/02/unseen-footage-of-atari-battlezone-cabinet-production/
67•videotopia•4d ago•6 comments

Vocal Guide – belt sing without killing yourself

https://jesperordrup.github.io/vocal-guide/
54•jesperordrup•5h ago•24 comments

Jeffrey Snover: "Welcome to the Room"

https://www.jsnover.com/blog/2026/02/01/welcome-to-the-room/
37•kaonwarb•3d ago•27 comments

ga68, the GNU Algol 68 Compiler – FOSDEM 2026 [video]

https://fosdem.org/2026/schedule/event/PEXRTN-ga68-intro/
10•matt_d•3d ago•2 comments

Show HN: Look Ma, No Linux: Shell, App Installer, Vi, Cc on ESP32-S3 / BreezyBox

https://github.com/valdanylchuk/breezydemo
236•isitcontent•15h ago•26 comments

Monty: A minimal, secure Python interpreter written in Rust for use by AI

https://github.com/pydantic/monty
233•dmpetrov•16h ago•125 comments

Where did all the starships go?

https://www.datawrapper.de/blog/science-fiction-decline
32•speckx•3d ago•21 comments

UK infants ill after drinking contaminated baby formula of Nestle and Danone

https://www.bbc.com/news/articles/c931rxnwn3lo
11•__natty__•3h ago•0 comments

Show HN: I spent 4 years building a UI design tool with only the features I use

https://vecti.com
335•vecti•17h ago•147 comments

Hackers (1995) Animated Experience

https://hackers-1995.vercel.app/
502•todsacerdoti•23h ago•244 comments

Sheldon Brown's Bicycle Technical Info

https://www.sheldonbrown.com/
386•ostacke•21h ago•97 comments

Show HN: If you lose your memory, how to regain access to your computer?

https://eljojo.github.io/rememory/
300•eljojo•18h ago•186 comments

Microsoft open-sources LiteBox, a security-focused library OS

https://github.com/microsoft/litebox
361•aktau•22h ago•185 comments

An Update on Heroku

https://www.heroku.com/blog/an-update-on-heroku/
425•lstoll•21h ago•282 comments

PC Floppy Copy Protection: Vault Prolok

https://martypc.blogspot.com/2024/09/pc-floppy-copy-protection-vault-prolok.html
68•kmm•5d ago•10 comments

Dark Alley Mathematics

https://blog.szczepan.org/blog/three-points/
96•quibono•4d ago•22 comments

Was Benoit Mandelbrot a hedgehog or a fox?

https://arxiv.org/abs/2602.01122
21•bikenaga•3d ago•11 comments

The AI boom is causing shortages everywhere else

https://www.washingtonpost.com/technology/2026/02/07/ai-spending-economy-shortages/
19•1vuio0pswjnm7•1h ago•5 comments

How to effectively write quality code with AI

https://heidenstedt.org/posts/2026/how-to-effectively-write-quality-code-with-ai/
265•i5heu•18h ago•216 comments

Delimited Continuations vs. Lwt for Threads

https://mirageos.org/blog/delimcc-vs-lwt
33•romes•4d ago•3 comments

Introducing the Developer Knowledge API and MCP Server

https://developers.googleblog.com/introducing-the-developer-knowledge-api-and-mcp-server/
64•gfortaine•13h ago•28 comments

I now assume that all ads on Apple news are scams

https://kirkville.com/i-now-assume-that-all-ads-on-apple-news-are-scams/
1076•cdrnsf•1d ago•460 comments

Female Asian Elephant Calf Born at the Smithsonian National Zoo

https://www.si.edu/newsdesk/releases/female-asian-elephant-calf-born-smithsonians-national-zoo-an...
39•gmays•10h ago•13 comments

Understanding Neural Network, Visually

https://visualrambling.space/neural-network/
298•surprisetalk•3d ago•44 comments

I spent 5 years in DevOps – Solutions engineering gave me what I was missing

https://infisical.com/blog/devops-to-solutions-engineering
154•vmatsiiako•20h ago•72 comments
Open in hackernews

Severe performance penalty found in VSCode rendering loop

https://github.com/microsoft/vscode/issues/272155
63•anticensor•3mo ago

Comments

nawgz•3mo ago
A bit sloppy but easily resolved - surprised it took so long to notice, or maybe it was new?
minitech•3mo ago
It’s been around since the root commit in 2015: https://github.com/microsoft/vscode/blob/8f35cc4768393b25468...
anticensor•3mo ago
Yeah, it was a bit surprising to me as well.
muglug•3mo ago
Given that the issue already gives a before-and-after metric it's extremely odd there's no POC PR attached.

This just seems like an AI slop GitHub issue from beginning to end.

And I'd be very surprised if VS Code performance could be boosted that much by a supposedly trivial fix.

duskwuff•3mo ago
Even if it is a real performance issue, the reasonable fix would be to move the sort call out of the loop - implementing a new data structure in JS is absolutely not the way to fix this.
muglug•3mo ago
Right, and also this would show up in the profiler if it were a time sink — and I'm 100% certain this code has been profiled in the 10 years it's been in the codebase.
oe•3mo ago
Adding a new data structure just for this feels like such an AI thing. I've added to our agents.md a rule to prefer using existing libraries and types, otherwise Gemini will just happily generate things like this.
nneonneo•3mo ago
There’s clearly functionality to push more work to the current window’s queue, so I would not be surprised if the data structure needs to be continually kept sorted.

(Somewhere in the pile of VSCode dependencies you’d think there’d be a generic heap data structure though)

gigatexal•3mo ago
I’ve already moved from VSCode to Zed. It’s native. Faster. Has most of the functionality I had before. I’m a huge fan.
sillythrowawy9•3mo ago
OP’s account also seems automated. This certainly feel like automated post to social media for PR clout
anticensor•3mo ago
Not really, I read HN more than I post to it, but I found this one interesting.
ollin•3mo ago
Yeah the issue reads as if someone asked Claude Code "find the most serious performance issue in the VSCode rendering loop" and then copied the response directly into GitHub (without profiling or testing anything).
a-dub•3mo ago
i see emojis in the comments.

also no discussion of measured runtimes for the rendering code. (if it saves ~1.3ms that sounds cool, but how many ms is that from going over the supposed 16ms budget.)

hyperhello•3mo ago
> Real-world impact: With 50+ view parts (text, cursors, minimap, scrollbar, widgets, decorations, etc.), this wastes 1-2ms per frame

Good thing to find...

blharr•3mo ago
How does it possibly take 1-2ms to sort... 50 items? I'd expect that to happen in an order of microseconds
klodolph•3mo ago
It’s being sorted not once per frame, but once per item.

If you have 50 items in the list, then the list gets sorted 50 times. If you have 200 items in the list, the list is sorted 200 times.

This is unnecessary. The obvious alternative is a binary heap… which is what the fix does. Although it would also be obvious to reuse an existing binary heap implementation, rather than inventing your own.

duskwuff•3mo ago
> It’s being sorted not once per frame, but once per item.

Even if that were the case, sorting a list that's already sorted is basically free. Any reasonable sort method (like the builtin one in a JS runtime) will check for that before doing anything to the list.

> The obvious alternative is a binary heap… which is what the fix does.

The overhead of creating a heap structure out of JS objects will dwarf any possible benefit of avoiding a couple of calls to Array.sort().

minitech•3mo ago
> Even if that were the case, sorting a list that's already sorted is basically free. Any reasonable sort method (like the builtin one in a JS runtime) will check for that before doing anything to the list.

That’s n−1 pairs of elements that have to be compared with a a JS callback each time. (JavaScript’s combined language misfeatures that allow the array to be modified in many odd/indirect ways while it’s being sorted might add unusually high overhead to all sorting too – I’m not sure how much of a fast path there is.) Anyway, the code in question does include functionality to add new elements to the priority queue while it’s being processed.

> The overhead of creating a heap structure out of JS objects will dwarf any possible benefit of avoiding a couple of calls to Array.sort().

Not true even in general and with an unoptimized heap implementation, and in this case, there’s an array of JS objects involved either way. In fact, there’s no number of elements small enough for sorting to be faster in this benchmark in my environment (I have no idea whether it reflects realistic conditions in VS Code, but it addresses the point): https://gist.github.com/minitech/7ff89dbf0c6394ce4861903a232...

anticensor•3mo ago
> Although it would also be obvious to reuse an existing binary heap implementation, rather than inventing your own.

Yes, that's indeed the approach I'd take.

hdjfjkremmr•3mo ago
it's sorting 50 times a list going from 50 to 0 items.
blharr•3mo ago
49 of those times, it's hitting the best case of sorting an already sorted list, so I still can't imagine that huge of a performance penalty
hyperhello•3mo ago
There are sort algorithms that don’t do any work except scanning if the list is unsorted, but there are more efficient ones to use if they are.
retsibsi•3mo ago
The issue seems to be a direct copy-paste from an LLM response, so I suspect "this wastes 1-2ms per frame" is estimated/made up.
webprofusion•3mo ago
Looks interesting.

I see they also contributed a fix to the OnlyFans notification robot. Clearly doing the important work that the internet needs.

brokencode•3mo ago
This is what I want to do when I retire. Maybe not OnlyFans fixes specifically, but just go around fixing random stuff.

Like if Batman turned out to be bad at fighting criminals so had to fight null pointer exceptions instead.

gnarlouse•3mo ago
bugman
OrderlyTiamat•3mo ago
"Fear not the bugs citizen! For in my utility belt, I have REGEX and VIM!"
nurettin•3mo ago
Maybe hack into facilities, optimize their scripts and deployment, then leave without a trace confusing the IT department.
anticensor•3mo ago
That notification robot codebase is actually generic, Zara Darcy just used OnlyFans branding to boost her follower base.
adwn•3mo ago
I'm confused: Does top.execute() modify currentQueue in some way, like pushing new elements to it? If it doesn't, then why not simply move the sort out of the loop? This is simpler and faster than maintaining a binary heap.
adwn•3mo ago
One more thing: Nowadays sort() functions ary usually heavily optimized and recognize already sorted subsequences. If currentQueue isn't modified during the loop, then the sort() call should run in O(n) after the first iteration, instead of O(n * log n). Still worse than not having it inside the loop at all, of course.
nateb2022•3mo ago
> If it doesn't, then why not simply move the sort out of the loop?

Yup, they should definitely move the sort outside of the loop. Shifting is O(N) so overall complexity would be O(N^2) but they could avoid shifting by reverse-sorting outside the loop and then iterating backwards using pop()

jgoldshlag•3mo ago
This seems like a nonsense issue. Sorting 50 things takes 1-2 ms? What sort of potato was that timed on.
tylerhou•3mo ago
No, sorting 50/2ish things 50 times allegedly takes 1-2ms. Which is only slightly more believable.
jojobas•3mo ago
The penalty is called "Electron".
geokon•3mo ago
I feel with Valgrind (in C++land) or VisualVM (JVMland) stuff like this is very easy to zero in on.

I don't work in JS-land.. but are Electron apps difficult to do performance profiling on?

nateb2022•3mo ago
https://www.electronjs.org/docs/latest/tutorial/performance
nawgz•3mo ago
No. Browser dev tools are available, and make it pretty easy to do performance profiling, and get a flamegraph etc..

Just seems like the reality of things is that the number of extensions or widgets or whatever has remained low enough that this extra sorting isn't actually that punitive in most real-world use cases. As a long-time developer working mainly in VSCode, I notice no difference between performance/snappiness in VSCode compared to JetBrains Rider, which is the main other IDE I have meaningful experience with these days.

rockorager•3mo ago
If you work with LLM agents, you will immediately be able to tell this issue is written by one. The time cost of this sort is almost certainly not real, as others have pointed out.

I’ve had agents find similar “performance bottlenecks” that are indeed BS.

znpy•3mo ago
as one of the commenters to the issue wrote, arguing whether the text is ai-generated or not is essentially useless.

the important question is: is this an actual performance bug?

cgriswald•3mo ago
The question is whether credence, and therefore time, should be given to the claim that the performance bug exists.
ec109685•3mo ago
I hate ai sometimes — an AI generated pull request (really some rando found a way of shaving 12% off the run loop?) responded to by an ai comment bot:

> This feature request is now a candidate for our backlog. The community has 60 days to upvote the issue. If it receives 20 upvotes we will move it to our backlog. If not, we will close it. To learn more about how we handle feature requests, please see our documentation.

dkdcio•3mo ago
reasonably confident that’s just an automated response bot, not AI…

also it’s an issue, not a PR

ec109685•3mo ago
Even worse (issue part).
flowerthoughts•3mo ago
I would have expected V8 sort() to be optimized for runs of presorted input, like other implementations nowadays. So O(n²) seems more likely than O(n² log n). Not that it matters much.

But then again, probably AI slop with "performance gain" numbers taken out of thin air. Who knows if the number 50 and 1-2ms are based on fantasy novels or not.

Like when I used Claude to build a door video intercom sytem, and first asked it to create a plan. It inserted how many weeks each milestone would take, and it was an order of magnitude off. But I guess milestone documents have time estimates, so that's how it's supposed to look, information accuracy be damned.