HNHacker News
TopNewBestAskShowJobs

jackling

143 karma · joined May 31, 2021

submissionscomments
jackling··on Advanced soft-bodies for games with the Rapier physics engine
It genuinely breaks my brain how productive Sébastien is. Does he research and build these solutions by himself? Bevy has an extremely impressive voxel collision system, and now from what I can gather, maybe the most impressive real time soft body simulation. It really distinguishes itself as simulator, not just being a N+1 sim, but genuinely ground breaking in a lot of aspects. Amazing work! I wish I was as talented.

I hope they take a look at using a penalty based solver in the future, especially for their GPU sim, could really contend with MuJoCo/Genesis as the robotics sim engine.

jackling··on Why do we need human mathematicians anymore?
My theory is that people run into the inevitable difficulty of math and rather than look inwards and come to the conclusion they aren't as smart, or special as they once thought, they blame "the system". It can't be that they haven't tried hard enough or aren't smart enough, it's the gated community who hides behind esoteric jargon that stops them from being successful in their mathematical studies.

They believe this despite the fact that there are a million different textbooks, all explaining the same concepts in different ways, or different branches that specify the same structures with unique methods. It's really strange when I read threads like this. I'm not the greatest at math either, but that's because it's a hard thing to be good at.

To learn math is an exercise in humility. You must struggle hard, do hundreds of problems, spend years refining your understanding, redoing proofs, finding counter examples, just to be at a good undergraduate level. Much harder than pretty much all CS classes, except maybe Theory of Computation, which is pretty much math.

jackling··on Why do we need human mathematicians anymore?
I've never met someone who believed this who was actually able to solve simple math or physics questions given to them. Attitudes like this always feel like cope to me.
jackling··on Canada welcomes EU proposal to become 'associate member'
Read your original comment and disagreed, but you have changed my mind. Trump is tackling climate change response more than any other president, he's just doing it in the most psychotic way possible. Threatening sovereign nations, antagonizing Asia, etc.

I agree that Canada and the EU should've been more responsible for their own defense. Hope going forward they are and cut out the USA as much as possible.

jackling··on Canada welcomes EU proposal to become 'associate member'
> "work, study and live where they want on either side of the Atlantic"

Will the Canadian job market improve or suffer here? Does anyone know of any research that will determine if this would be beneficial for Canadians? Naively, I think it'll be harder to compete with Europeans for jobs.

jackling··on The Waymo effect: how AI is quietly making research less collaborative
Plenty of people use Oxford commas though, can't really use it as a reliable signal, too much noise.
jackling··on My friends all hate AI; I just joined an AI startup
> I'm finding the challenge of getting AI-generated code to be robust, maintainable and better quality than if I'd typed it out myself to be deeply intellectually stimulating.

Yea that's why I started my comment with "it depends on the person", in response to you asking what's not fun about having AIs do what you tell them. For many, coercing a tool to do something you can likely do yourself better isn't ideal, and at least for me, is just inefficient use of time (in the long run) and a headache. It also zaps the fun out of any task since now you move from searching for a good solution using your priors, to now validating that the LLM has a solution that works, even if it's not optimal. The searching for a good solution is for some, the fun part, which is eliminated by agentic coding, since that search inherently relies on you writing code and seeing what works IMO. The coding is an essential part of the thinking here. An analogy would be doing a math problem by hand versus reading the solution in a textbook. I can give concrete examples if you'd like.

For your SVG examples, I have used AI for a similar use case, the construction of 3D scenes for robotics via a text prompt and an asset catalog. I wish I could get the same richness as your SVG examples, the LLMs fail too hard on all 3D tasks given, even after spending a high amount of engineering effort on a suitable harness + tools. Also like your SVG example, it often doesn't give a realistic, or even nice output, and coercing it to do so, likely takes longer than just creating the image/3D scene yourself.

jackling··on My friends all hate AI; I just joined an AI startup
> What's not fun about that?

Depends on the person, I never really had fun telling someone else what I wanted built or drawn. I've always enjoyed the process more than just the results, and having the results without the intellectual activity is boring.

For software, the increase usage of AI code makes my team move much faster, but our software isn't robust anymore and I fear that our longterm mission is being compromised by the endless slop. Favoring quick implementations that AI can make versus good implementations, and lazily relying on AI makes my teammates not develop a deep understanding of the work, which ultimately limits the solutions they can develop. YMMV.

Also, I don't understand what's funny about your image? Is it that it's bad?

jackling··on US hires over 2k video gamers as air traffic controllers
But wouldn't that be a case where regardless of human or machine, the outcome wouldn't change since there was no tracking information?
jackling··on I’m leaving OpenAI to build telepathy
Right, I forgot the initial context in my replies. My bad!
jackling··on I’m leaving OpenAI to build telepathy
Right but if someone was given a task, internal monologue or not, there will be some brainwave pattern to map thoughts to typing, right? Otherwise, how is the person typing? For a sufficiently complex task, I don't think you can rely on reflexes alone. If I understand the data collection method they're using, they will sit someone in front of a keyboard, give them some task, and collect both what they type out and the associated collected brainwaves.
jackling··on I’m leaving OpenAI to build telepathy
Isn't that just for data collection though? I imagine the fully trained model they're expecting to have will be able to map thoughts -> text. The data collection will naturally need to have the 2 sets in order to do self-supervised training.
jackling··on I’m leaving OpenAI to build telepathy
> But non-invasive methods are getting much better. The hardware is improving and getting cheaper, though I apologize for being vague about the particularities of our hardware.

The statement implies that the company has some secret hardware that can, or at least, is close to doing that. That would blow my mind, but the author seems to believe it.

As an aside, I believe the author is a she.

jackling··on Zed DeltaDB
I don't understand, what do you mean by this?
jackling··on Zed DeltaDB
I really do like Zed, it's snappier than VS code and with pretty good vim emulation. Even through SSH, the native UI allows for no network latency, compared to something like vim+terminal. Like many other posters, I do feel like the core editor is getting worse.

Some issues I've encountered recently at work:

- Routinely encounter bugs with the python language server, it's particularly slow when compared to using VSCode. All that snappiest disappears when finding symbols after the '.' is considerably slower than my typing speed.

- I found similar issues with C++ code bases.

- It's also so hard to debug when something goes wrong. I was trying to find out why pyright keep spinning on startup, but the "LSP logs" never show anything.

- Connecting via SSH always opens the repo in restricted mode, even though I check the "Trust all projects in" checkbox. Never happened before.

- Debugger UI is a mess. Make a run, stop the run, edit the task.json, try running again, and 2 tasks show up. One for the old and one for the new.

--

I stuck with it because I really do like the UI, the performance, and initially it seemed to be an improvement from VS Code for my workflows, but lately I've been moving back to code as it seems more stable. I don't really use agent features, so I don't think I'm the target customer for this or other priority Zed features.

I do see the usefulness of something like this, I'm interested to see if the new agentic style of programming will result in the "code" part of editors becoming second class (for the better) and will allow for more rapid development. Although I'm not looking forward to read my coworker's "threads" of how a feature was made, I have a feeling that it will be more difficult to read than the raw code, as from my experience, LLMs don't really employ terse and effective communication (might not be entirely fair, I found ChatGPT /study mode pretty good.)

--

Anyone know of a good replacement editor that might meet my usecase? I'm really a batteries included type of developer.

jackling··on "Clean" Code, Horrible Performance (2023)
I just don't see how this is a strawman. It's not a logical fallacy to take an argument that X is good, and say it has Y flaw that wasn't considered. If you want to talk about how steak and eggs are good for building muscle, it wouldn't be a strawman for me to argue that its bad for your heart, and there are better methods.

If the author was purposely mischaracterizing what clean code was advocating for, arguing against the weakest version of what Martin was saying was clean code, I can see that being an issue. But he took a section of the code that Martin claimed was clean code, and arguing against the provided example being good code despite it fitting Martin's idea of clean.

The book says to pick the best version, and maybe it was improper for the author to omit the other version, but even the other version has issues that the article addresses. You can use the more performant switch case version and see how omitting other principles of clean code cause gains from even that version.

Again, the claim in the article was not purely vTables vs Switch statements, there several other claims that have nothing to do with that, for example the reliance on not using internal details of a class, or DRY which appear in both the OO and procedural versions of Martin's code IIRC.

The book actually makes a stronger claim than the author's IMO. The books claim is that there are principles that make clean code, and a person should follow in order to make their code clean. The implication being that not following these rules makes your code unclean (but Martin doesn't explicitly say this iirc, so this may be too strong of a statement). Martin doesn't really provide useful metrics to back up this claim either, so its hard to tell what parts of it to take as sage advice, and what really doesn't work. The author of the article at least provides empirical data to back up the thesis, which is that this "Clean Code" has terrible performance. It doesn't matter if Martin doesn't argue that it is performant, the fact (as proven by the data shown) that the code has worse performance than other methods is enough to prove the author's claim, and is not a strawman.

jackling··on "Clean" Code, Horrible Performance (2023)
An article proving its thesis that clean code can cause bad performance isn't a strawman. He wasn't intentionally using a weaker argument of Bob Martin just to find flaws. He was taking an example from the book to show where it failed.

He also could have showed the if-statement version, and it wouldn't have some of the performance impacts, but there's a big chunk of the article that's independent of that. There would still be performance benefits, since the article isn't purely switch statements vs vtables. It went through a series of clean-code tenets that were shown to cause performance problems. That's the authors point, performance deteriorates when following those principles. Even in real world examples this will happen, are you claiming otherwise?

I feel like everyone is just talking over the article, unless you disagree with the actual thesis, that the clean code tenets listed cause bad performance, then you don't really disagree with the author here right? You can argue in spite of the performance decrease, the clean code method is better for real systems, which is fine and I have no issues with that, but that's a separate claim you should prove, and state clearly to who ever is working on the code you're writing.

> but it was not meant as an example of high-performance code

That's part of the point, the clean-code version can't be high-performance. The tenets of it contradict how the hardware works, and causes slows down (not necessarily all the time, but it does typically.)

jackling··on "Clean" Code, Horrible Performance (2023)
Sure, but I don't see what this has to do with what I said? I was arguing against the parents assertion that the author's example was a strawman.

For your point, what part of the design shows claims that shapes are to be added/removed by outsiders? You should design for what you know and can reasonably predict. Nothing in the article seems to claim that this problem is situated on outsiders adding their own shapes?

Let's ground the example. Suppose I was writing some 2D collision checking library where these operations we're useful. Now I did Triangles, Rectangles and Circles. If I predict that arbitrary shapes should be added, how should I go about it?

The vtable way could work, but as the author showed, you're likely going to get hit with a fairly significant performance impact. Now if you can reason about your use case and see that its not in a hot loop, then the vtable way should be good to go. But if it was called a lot, then you want that to be performant and find a different method.

Some thinking can lead you to the fact that you don't need a new class at all, you just need a general Polygon object, and use the switch method. Or going by the article, you can precompute the information you need that is constant, area, # of points and add those to a dynamically allocated array (or large enough statically allocated one), and have the best of both worlds.

My point is, you can't really say which one is better until you actually know what your use case and the constraints on your system/users. We need to know how the code is used. People complain about this being a simple example, but its an example that was in the "Clean Code" book. What's important is to realize that the Clean Code version might not be worse in terms of hard to measure things, like maintainability or eligibility, but it is empirically worse for performance, and that trade off matters for many use cases.

jackling··on "Clean" Code, Horrible Performance (2023)
He states at the start of the article the tenets of clean code he's arguing against, not just the general OOP of it. Shows how ignoring a certain tenet leads to increase performance, that's the thrust of the article. He routinely in the article goes back to the tenets he's arguing against.
jackling··on "Clean" Code, Horrible Performance (2023)
> stupid conversation about performance

The article is titled "'Clean' Code, Horrible Performance", that's the argument being made. Why is it a stupid conversation? If you think the trade-offs are necessary, then fine, argue that. But that doesn't change the objective measures that the author did to demonstrate the thesis of article.

jackling··on "Clean" Code, Horrible Performance (2023)
It's a problem chosen by the author of Clean Code. How is it a strawman? The author of the article is directly refuting the style of the problem/solution that the original author chose, and arguably demonstrated a better approach. That is not a strawman.
jackling··on Google fixed more Chrome bugs in June than over the past two years, thanks to AI
Incredibly dismissive of the parent comment. They made a comment explaining their usecase, and issues with the tool, which you just labeled as whining. Is this not a discussion board to talk about things? Is expressing issues with a use case you found now just considered whining on HN?

The parent commenter was trying to learn how to use the tool. Perhaps he could've used it better, but like you said, what may have worked was not necessarily the intuitive approach.

The parent comment also changed his approach, and AI worked for him to test out changes. That's not expecting the tool to do all the work, he's actually agreeing with you that "expecting the tool to do all the work" is a misstep.

jackling··on Google fixed more Chrome bugs in June than over the past two years, thanks to AI
Not really a rebuttal. There's a lot of low hanging fruit in code bases were you can read code and see what's making things slow. Like the parent comment stated, you can visually tell if there's a lot of allocations in a certain part, and easily see if those allocs are present in a loop and often reason simply how many times that loop can be called.

I can see in the code when data layouts aren't optimal, and fix that.

There's a lot of optimizations that need more of a deep dive, but you can get a lot of gains by just reading and reasoning about your code/data.

EDIT: To add, there are cases were you specifically can't read code and understand performance issue, but you should first ask, is that because you just don't understand the APIs/Libs/tools you're using, or is it fundamentally difficult. For example, often at work I see people complain about their torch code being slow and needing to bust out a profiler, but often those people just don't understand how tensor operations work internally so of course they can't reason about the code and see the way they're using the lib is suboptimal.

jackling··on Why is programming so captivating, yet so agonizing?
Yea solving hard problems can be quite enjoyable, but can easily become a burden on your mind/body over time. When you're clearly making progress, then everything feels wonderful even if it's challenging. But when you're stuck, when your code/model isn't working as designed, if there is a clear gap between your current state of understanding and the amount required to solve the problem effectively, then you can fall quickly into despair. It's made worse when you see others doing similar work to what you do, but being far more successful at it. And made even worse, when you tie parts of your identity to the problem you're trying to solve, and the code you write. But that's the nature of what you're trying to do, so it isn't all bad.
jackling··on Box3D, an open source 3D physics engine
Glad to see the release, Box2D has some of the best code I've ever read.

It's interesting to see that Box3D was originally a fork of a physics engine made by Dirk. Dirk is one of the best presenters in GDC, and so influential in Physics Engine space, nice to see how he's continuing to push the latest and greatest forward.

jackling··on The Doom Justifies the Valuation
Can't speak to his technical skill, but going through this post, and several of his other posts, this man doesn't seem all that bright.

His takes lack nuance, there's no analysis in his writing, just what appears to be fuming at vague issues he sees in society.

This post is confusing to me. From the blog's name, in addition to these other blog posts [1] and [2], you would think he's contributing to the doomerism that he's lamenting here. If the singularity is near, and the big companies control capital, then the doomerism is correct, no?

To add to that, his lack of critical thought shows up in other posts as well [3]. He does not really understand the nuance of fiat currency or entitlement programs. Like the blog post above, he also seems to like "offending" people for the sake of offending them. In [3], he seems to think insulting Christianity, despite being a Christian himself but not believing in the core of the religion, is somehow getting back at "wokists."

[1] https://geohot.github.io/blog/jekyll/update/2026/01/17/three...

[2] https://geohot.github.io/blog/jekyll/update/2026/02/13/i-tol...

[3] https://geohot.github.io/blog/jekyll/update/2026/04/18/five-...

jackling··on Canada losing top talent as workers head to the U.S.
I'm a visible minority who went from the GTA to Boston, everything is fine. People with this attitude are mostly fear mongering. No one I know has been harassed by ICE. Not saying they aren't doing terrible stuff, but the average tech worker is just fine in the US.
jackling··on Gemini Omni
Would be similar to the typical simulations of humanoids. If you need to model the deformations of the human body, or get a proper model of tendons that make up humans, it'll be more difficult, but possible.

Proper simulators for those exist, you essentially need an engine with a compliant contact model. MuJoCo is the goto here, see:

https://mujoco.readthedocs.io/en/stable/modeling.html#muscle... https://mujoco.readthedocs.io/en/stable/computation/fluid.ht...

These explicitly model biological muscles. IIRC it was originally created to model human hands (I could be misremembering though).

Really depends on the fidelity you want.

Edit: I also work in rigid body simulation for robotics.

jackling··on I’ve joined Anthropic
It's incredibly hard to do good, novel work in 2 years for engineering. You'll likely not learn much either.
jackling··on Anthropic acquires Stainless
No? This is only true if you assume that Newton’s only notable achievement was the creation of calculus. Newton did far more for physics and classical mechanics than Leibniz. Did Leibniz also discover the universal law of gravitation? Did he match Newton’s prism experiments in some way? In what sense can Newton be replaced by Leibniz?
Page 1 of 6Next →