| ▲ | nindalf 12 hours ago |
| The CEO said > It's 3M+ lines of code across thousands of files. The rendering engine is from-scratch in Rust with HTML parsing, CSS cascade, layout, text shaping, paint, and a custom JS VM. "From scratch" sounds very impressive. "custom JS VM" is as well. So let's take a look at the dependencies [1], where we find - html5ever - cssparser - rquickjs That's just servo [2], a Rust based browser initially built by Mozilla (and now maintained by Igalia [3]) but with extra steps. So this supposed "from scratch" browser is just calling out to code written by humans. And after all that it doesn't even compile! It's just plain slop. [1] - https://github.com/wilsonzlin/fastrender/blob/main/Cargo.tom... [2] - https://github.com/servo/servo [3] - https://blogs.igalia.com/mrego/servo-2025-stats/ |
|
| ▲ | brabel 7 hours ago | parent | next [-] |
| Why would they think it's a great idea to claim they implemented CSS and JS from scratch when the first thing any programmer would do is to look at the code and immediately find out that they're just using libraries for all of that?! They can't be as dumb as thinking no one would've noticed?! I guess the answer is that most people will see the claim, read a couple of comments about "how AI can now write browsers, and probably anything else" from people who are happy to take anything at face value if it supports their view (or business) and move on without seeing any of the later comotion. This happens all the time with the news. No one bothers to check later if claims were true, they may live their whole lives believing things that later got disproved. |
| |
| ▲ | moregrist 4 hours ago | parent | next [-] | | > Why would they think it's a great idea to claim they implemented CSS and JS from scratch when the first thing any programmer would do is to look at the code and immediately find out that they're just using libraries for all of that?! Programmers were not the target audience for this announcement. I don’t 100% know who was, but you can kind of guess that it was a mix of: VC types for funding, other CEOs for clout, AI influencers to hype Cursor. Over-hyping a broken demo for funding is a tale as old as time. That there’s a bit of a fuck-you to us pleb programmers is probably a bonus. | |
| ▲ | estearum 2 hours ago | parent | prev | next [-] | | I mean... Cursor is the CEO's first non-internship job. And it was a VSCode Extension that caught fire atop the largest technological groundswell in a few decades. The default assumption should be that this is a moderately bright, very inexperienced person who has been put way out over his skis. | |
| ▲ | never_inline 2 hours ago | parent | prev | next [-] | | I don't think he intentionally lied. He just didn't know how to check that and AI wrote - [tick mark emoji] implemented CSS and JS rendering from scratch - **no dependencies**.
| |
| ▲ | bflesch 6 hours ago | parent | prev [-] | | I'm actually impressed by their ignorance. I could never sleep at night knowing my product is built on such brazen lies. Bullshitting and fleecing investors is a skill that needs to be nurtured and perfected over the years. I wonder how long this can go on. Who is the dumb money here? Are VCs fleecing "stupid" pension funds until they go under? Or is it symptom of a larger grifting economy in the US where even the president sells vaporware, and people are just emulating him trying to get a piece of the cake? |
|
|
| ▲ | f311a 11 hours ago | parent | prev | next [-] |
| Yeah, it's - Servo's HTML parser - Servo's CSS parser - QuickJS for JS - selectors for CSS selector matching - resvg for SVG rendering - egui, wgpu, and tiny-skia for rendering - tungstenite for WebSocket support And all of that has 3M of lines! |
|
| ▲ | levocardia 2 hours ago | parent | prev | next [-] |
| I'm reminded of the viral tweet along the lines of "Claude just one-shotted a 10k LOC web app from scratch, 10+ independent modules and full test coverage. None of it works, but it was beautiful nonetheless." |
|
| ▲ | nicoburns 11 hours ago | parent | prev | next [-] |
| Also selectors and taffy. It's also using weirdly old versions of some dependencies (e.g. wgpu 0.17 from June 2023 when the latest is 28 released in Decemeber 2025) |
| |
| ▲ | satvikpendem 9 hours ago | parent [-] | | That is because I've noticed the AI just edits the version management files (package.json, cargo.toml, etc) directly instead of using the build tool (npm add, cargo add), so it always hallucinates a random old version that's found in its training set. I explicitly have to tell the AI to use the build tool whenever I use AI. | | |
| ▲ | computerex 6 hours ago | parent | next [-] | | I was LITERALLY thinking the other day of a niche tool for engineers to help them discover and fix this in the future because at the rate I have seen models version lock dependencies I thought this is going to be a big problem in the future. | | |
| ▲ | ljm 5 hours ago | parent | next [-] | | You can do prompt injection through versions. The LLM would go back to GitHub in its endless attempt to people please, but dependency managers would ignore it for being invalid. | |
| ▲ | mikestorrent 5 hours ago | parent | prev | next [-] | | Bigger companies have vulnerability and version management toolsets like Snyk, Cycode, etc. to help keep things up to date at scale across lots of repos. | |
| ▲ | satvikpendem 6 hours ago | parent | prev | next [-] | | Just use Dependi or similar VSCode extensions, they'll tell you if dependencies are outdated. | |
| ▲ | 6 hours ago | parent | prev | next [-] | | [deleted] | |
| ▲ | solid_fuel 3 hours ago | parent | prev [-] | | No need to build a tool for it, engineers can avoid the whole issue by simply avoiding slop-spewing code generation tools. Hell, just never allow an LLM to modify the dependency configuration - if you want to use a library, choose and import it yourself. Like an engineer. | | |
| ▲ | callc 2 hours ago | parent [-] | | Proposal to not tarnish the good name of actual engineers: slopgineers. Maybe LLemgineers? Slopgrammers? |
|
| |
| ▲ | bn-l 8 hours ago | parent | prev [-] | | It’s interesting that they don’t even know this | | |
| ▲ | notatallshaw 6 hours ago | parent [-] | | I assume lock and dependency files are in the training data, so predicting version number tokens have high probabilities associated with them. |
|
|
|
|
| ▲ | wmf 8 hours ago | parent | prev | next [-] |
| Is it using Servo's layout code or did Cursor write its own layout? That's one of the hardest parts. |
| |
| ▲ | afishhh 5 hours ago | parent | next [-] | | It seemingly did but after I saw it define a VerticalAlign twice in different files[1][2][3] I concluded that it's probably not coherent enough to waste time on checking the correctness. Would be interesting if someone who has managed to run it tries it on some actually complicated text layout edge cases (like RTL breaking that splits a ligature necessitating re-shaping, also add some right-padding in there to spice things up). [1] https://github.com/wilsonzlin/fastrender/blob/main/src/layou... [2] https://github.com/wilsonzlin/fastrender/blob/main/src/layou... [3] Neither being the right place for defining a struct that should go into computed style imo. | |
| ▲ | nicoburns 3 hours ago | parent | prev | next [-] | | It's using layout code from my library (Taffy) for Flexbox and CSS Grid. Servo uses Taffy for CSS Grid, and another open source engine that I work on (Blitz) uses it for Flexbox, CSS Grid, Block and float layout. The older block/inline layout modes seem to be custom code that looks to me similar but not exactly the same as Servo code. But I haven't compared this closely. I would note that the AI does not seem to have matched either Servo or Blitz in terms of layout: both can layout Google.com better than the posted screenshot. | |
| ▲ | brabel 7 hours ago | parent | prev [-] | | Cursor didn't write anything, they used ChatGPT 5.2. |
|
|
| ▲ | themafia 8 hours ago | parent | prev | next [-] |
| > is just calling out to code written by humans We at least it's not outright ripping them off like it usually does. |
|
| ▲ | leerob 9 hours ago | parent | prev | next [-] |
| > The JS engine used a custom JS VM being developed in vendor/ecma-rs as part of the browser, which is a copy of my personal JS parser project vendored to make it easier to commit to. https://news.ycombinator.com/item?id=46650998 |
| |
| ▲ | singron 9 hours ago | parent [-] | | It looks like there are two JS backends: quickjs and vm-js (vendor/ecma-rs/vm-js), based on a brief skim of the code. There is some logic to select between the two. I have no idea if either or both of them work. |
|
|
| ▲ | zipy124 12 hours ago | parent | prev | next [-] |
| Honestly as soon as I saw browser in rust I assumed it had just reproduced the servo source code in part, or utilised its libraries. |
| |
| ▲ | nindalf 11 hours ago | parent | next [-] | | I thought they'd plagiarise, not import. Importing servo's code would make it obvious because it's so easy to look at their dependencies file. And yet ... they did. I really think they thought no one would check? | | |
| ▲ | satvikpendem 9 hours ago | parent | next [-] | | > And yet ... they did. I really think they thought no one would check? I doubt even they checked, given they say they just let the agents run autonomously. | | |
| ▲ | bonesss 7 hours ago | parent [-] | | Hypothetically: what if they did check, only in order to ‘check’ they asked the LLM instead of manually verifying and were told a story? Or, perhaps, they did check manually but sometime after the files were subtly changed despite no incentive or reason to do so outside of a passing test? … Humans who are bad and also bad at coding have predictable, comprehensible, failure modes. They don’t spontaneously sabotage their career and your project because Lord Markov twitched one of its many tails. They also lie for comprehensible reasons with attempts at logical manipulations of fact. They don’t spontaneously lie claiming not to having a nose, apologize for lying and promise to never do it again, then swear they have no nose in the next breath while maintaining eye contact. Semi-autonomous to autonomous is a doozy of a step. |
| |
| ▲ | 11 hours ago | parent | prev [-] | | [deleted] |
| |
| ▲ | dormento 11 hours ago | parent | prev [-] | | You know, a good test would be to tell it to write a browser using a custom programming language, or at least some language for which there are no web browsers written. | | |
| ▲ | g947o 19 minutes ago | parent | next [-] | | Sounds like it's finally the time to put my matlab license up for good use. | |
| ▲ | embedding-shape 11 hours ago | parent | prev | next [-] | | Write a browser without any access to the internet, is what I'd attempted if I was running this experiment. Just seed it with a bunch of local HTML, CSS and JS files from the various testing suites that exists. | | |
| ▲ | computerex 6 hours ago | parent | next [-] | | I think that's too restrictive; agents should be allowed to reference the internet like we do. | |
| ▲ | koolala 7 hours ago | parent | prev [-] | | You would want to download all the W3C and WHATWG specifications first. | | |
| |
| ▲ | semi-extrinsic 8 hours ago | parent | prev [-] | | Fortran 90 should fit the bill nicely. |
|
|
|
| ▲ | adamrezich 6 hours ago | parent | prev | next [-] |
| Very sad to see Paul Graham boosting this slop on X. |
|
| ▲ | avaer 10 hours ago | parent | prev [-] |
| To be fair, even if "from scratch" means "download and build Chromium", that's still nontrivial to accomplish. And with how complicated a modern browser is, you can get into Ship of Theseus philosophy pretty fast. I wouldn't particularly care what code the agents copied, the bigger indictment is the code doesn't work. So really, they failed to meet the bar of "download and build Chromium" and there's no point to talk about the code at all. |
| |
| ▲ | koolala 7 hours ago | parent [-] | | The whole point of Servo is its not impossible to use like Chromium. |
|