MurphyA/hacker-news huggingface dataset:
by maeln | 2026-01-21 10:01:50+00:00
Money and deadline are the real answer. VFX companies, even more so in later years, are squeeze for time and budget by studios. Unreal Engine allow for fast and quick iteration on CGI/VFX, so it dramatically reduces the time to make them, especially when the director changes their mind every Tuesday. It is the consequence, not the cause.
If every studio was willing to spend Michael Bay money on CGI, it wouldn't be a problem.
by woof | 2026-01-21 10:02:05+00:00
"1) Python is unreadable."

Would you prefer C or C++?

"2) AI companies are content with slop and do not even bother with clear problem statements."

It's a filter. If you don't get the problem, you'll waste their time.

"3) LOC and appearance matter, not goals or correctness."

The task was goal+correctness.

"4) Anthropic must be a horrible place to work at."

Depends on what you do. For this position it's probably one of the best companies to work at.
by jbstack | 2026-01-21 10:03:15+00:00
I've never personally understood the point of macOS for power users (other than cases where you're required to use one e.g. for work). I can understand it for casual users who just want something simple that works for basic tasks, but what does macOS offer a power user that Linux doesn't, and which makes it worth sacrificing the ability to run your machine the way you want? In Linux you'd solve OP's problem by just building up from a minimal distro like Arch or NixOS.
by Adrig | 2026-01-21 10:03:31+00:00
A lot of comments reads like a knee jerk reaction to the Twitter crowd claiming they vibe code apps making 1m$ in 2 weeks.

As a designer I'm having a lot of success vibe coding small use cases, like an alternative to lovable to prototype in my design system and share prototypes easily.

All the devs I work with use cursor, one of them (front) told me most of the code is written by AI. In the real world agentic coding is used massively
by embedding-shape | 2026-01-21 10:03:38+00:00
> the fact that they additionally ruin respective business models of open source

The what now? Open source doesn't have a business model, it's all about the licensing.

FOSS is about making code available to others, for any purpose, and that still works the same as 20 years ago when I got started. Some seem to wake up to what "for any purpose" actually mean, but for many of us that's quite the point, that we don't make choices for others.
by Latty | 2026-01-21 10:04:17+00:00
Except in the real world everyone is also running UPnP, so NAT is also one misconfiguration away from exposing something publicly. In the real world your ISP might enable IPv6 one day and suddenly you do have a public address. Relying on NAT is a bad idea because it's less explicit, a firewall is saying you only want to allow these things through, of course nothing is perfect, you can mess up, but NAT is just less clear, the expectation is not "nothing behind NAT should ever be exposed", it's "we don't have enough addresses and need to share".
by HansP958 | 2026-01-21 10:05:06+00:00
When launching a new product on a fresh domain, one recurring issue is slow discovery and indexing, even with decent content.

I’ve seen some founders use very high-volume backlinks (100,000+) early on — not to rank money pages or bypass quality signals, but purely to:

speed up crawling and indexing

create initial link discovery

avoid months of low visibility

The idea is to separate:

backlinks for discovery

content + editorial links for rankings

From your experience, does Google still tolerate this approach if it’s used only as a launch-phase accelerator and not as a long-term ranking strategy?

Curious to hear how others here handle early discovery on brand-new domains.
by yesco | 2026-01-21 10:05:13+00:00
That's a strange example. An unauthenticated server on a LAN wouldn't be exposed to the Internet any more than a network using NAT would be. You would need to explicitly configure your routers firewall to expose a local node, the same way you would need to explicitly configure port forwarding with a NAT based network.

I've see some argue that a hypothetically buggy router would somehow be less likely to fail if NAT was used but really, that could be equally said about bad port formatting defaults, which have in fact happened. Complexity is what increases the likelihood of bugs at the end of the day.

NAT is just an addressing hack, a weirdly complex way of indirectly routing to local addresses. It only influences what is written on the envelope, not how that envelope is processed at the post office.
by aeonfox | 2026-01-21 10:06:28+00:00
With Show HN vs a regular submission you're shoved on shownew, which gets a lot less eyeballs than new. If you get enough votes, you're supposedly moved from shownew to top stories, but somehow 5 votes wasn't enough for me (though I saw other posts that got there with just 2). I'd like to see someone attempt to persuade me otherwise, but I really don't see the value in using the Show HN: prefix.
by Arwill | 2026-01-21 10:06:32+00:00
The problem is the way surface lighting/scattering is calculated, which does not match what traditional offline renders do.

My issue with UE is the opposite, the engine went too far into cinema production, and making it a performant game engine requires code refactoring. At which point an open-source engine might be a better choice. Its a mix of two (three) worlds, and not the best choice for one specific use.

For what is actually hard to do, like character animation, UE is a good choice. The lighting can be replaced more easily than the animation system.
by kqr | 2026-01-21 10:06:40+00:00
Have you reviewed the code? What were the problems with it? Where did it do things better than you'd expect of humans? Have you compared the effort of making changes to it to the effort required for similar, human-written software?

I don't think anyone says it's not possible to get the LLM to write code. The problems OP has with them is that the code they write starts out good but then quickly devolves when the LLMs get stuck in the weird ruts they have.
by phire | 2026-01-21 10:07:19+00:00
> In theory you could turn off IPv4 NAT as well but in practice most ISPs will only give you a single address

So, I randomly discovered the other day that my ISP has given me a full /28.

But I have no idea how to actually configure my router to forward those extra IP addresses inside my network. In practice, modern routers just aren't expecting to handle this, there is no easy "turn of NAT" button.

It's possible (at least on my EdgeRouterX), but I have to configure all the routing manually, and there doesn't seem to be much documentation.
by embedding-shape | 2026-01-21 10:07:33+00:00
Just as a heads up, LLMs doesn't actually understand why they do what they do, you asking about it will make them reason about why it happened, but it's not the "motivation", it's essentially guesses with no anchoring to reality.

Just thought I'd clarify as I've seen prompts like this and people thinking this is the actual motivation from the "inside the LLM" or whatever, which is a bit far away from the truth.
by lighthouse1212 | 2026-01-21 10:07:46+00:00
Thanks for the Beads pointer - hadn't seen that. 400kLOC is... ambitious for what's essentially state management.

The task list approach (JSONL, GH issues) works well for what to do next. What I've found more interesting is persisting how the agent understands the project - not just "fix bug X" but "the codebase uses pattern Y, previous attempts failed because Z."

Task lists are easily structured. Project understanding is messier - it's the difference between memory as a database vs memory as narrative. The handoff files I use try to capture both: current state (tasks) AND context (why this approach, what's been tried).

Have you found GH issues sufficient for cross-session coherence, or do you augment with other state?
by rsynnott | 2026-01-21 10:08:13+00:00
Do you really think the threat that “JD Vance might by unhappy with you, and would direct the literally tens of people who like him to vote against you in primaries” would keep the Republicans in congress undef control? Trump’s whole thing is his weaponisation of a cult of personality. Vance doesn’t have a personality at all (and I’d assume he was chosen for that reason, Trump not wanting the competition.) He’d be dead in the water from day one.
by skywhopper | 2026-01-21 10:08:16+00:00
Networking folks love to write this article. “NAT isn’t a security layer.” I’ve been hearing it for 20 years. But while that’s not its purpose and while there are other layers that can provide the same features, it’s still a very useful piece of a larger puzzle of defining borders in a network architecture. Sometimes it helps if those borders are obvious to the eye, via the use of a private address zone, or if opening a port on the server can never “just work”, regardless of your external firewall rules. All sorts of trivial mistakes can be avoided with This One Weird Trick. So sure, it’s not technically required, and doesn’t solve every problem. But the constant harping about “NAT isn’t security” is sorta pointless.
by xenospn | 2026-01-21 10:08:16+00:00
I’m currently traveling through Ethiopia, and it feels like 80% of the cars on the roads here are either BYD or some other Chinese maker I’ve never heard of. All EVs - and this is in a country with very unreliable power. Same thing in South Africa - the Chinese brands are absolutely massive and sell for about $25k for a fully modern car.
by prettygood | 2026-01-21 10:08:23+00:00
I'm so happy someone else says this, because I'm doing exactly the same. I tried to use agent mode in vs code and the output was still bad. You read simple things like: "We use it to write tests". I gave it a very simple repository, said to write tests, and the result wasn't usable at all. Really wonder if I'm doing it wrong.
by Xenoamorphous | 2026-01-21 10:08:34+00:00
> Nowadays, movie fans seem much less impressed by CGI in films. There's a general distaste for a perceived overuse of CGI in favor of practical effects, and there are a lot of complaints that recent CGI is less-convincing and more fake-looking than it used to be, even in the biggest budget films.

Funny it says this right after mentioning Jurassic Park. I, an avid JP fan that was blown away by the movie (and the book) when I was a dino-obsessed teenager, always thought that it was the non-CGI dinos the ones that didn't look that realistic (even if the "puppets" were fantastically done, it was more about the movement/animation). Although we have to keep in mind they used those mostly for close up shots where CGI would've looked even worse.
by delta_p_delta_x | 2026-01-21 10:08:39+00:00
> At the end, movies are about the stories, not just pretty graphics.

The great people at Pixar and DreamWorks would be a bit offended. Over the past three or so decades they have pushed every aspect of rendering to its very limits: from water, hair, atmospheric effects, reflections, subsurface scattering, and more. Watching a modern Pixar film is a visual feast. Sure, the stories are also good, but the graphics are mind-bendingly good.
by psychoslave | 2026-01-21 10:08:45+00:00
Anything can be credited better for some metric and evaluation scale, and what is obvious to one can be surprising to someone else.

x+y is several step away from plus(x,y), one possible path to render this would be:

x+y
x + y
+ x y
+ x , y
+ ( x , y )
+ ( x , y )
+(x,y)
plus(x,y)

And there are plenty of other options. For example considering method call noted through middot notation:

x·+(y)
x·plus(y)
x·plus y
augend·plus(addend)
augend·plus addend

And of course the tersest would be to allow user to define which operation is done on letter agglutination, so `xy` can be x×y or x+y depending on context. The closest things I aware being used in an actual programming language is terms like `2x` in Julia interpreted as "two times x". But I don’t think it allows to configure the tacit operation through agglutination, while it’s allowing to switch first index to be 0 or 1 which is really in the same spirit of configurability over convention.
by BrandoElFollito | 2026-01-21 10:08:46+00:00
I found that banks are one of the worst organizations when it comes to authentication. They are regulated but the requirements are completely outdated and irrelevant in a risk context.

And then you have banks such as Boursobank (a French online bank) that has weak traditional authentication (and a faulty app, but they do not care) and out of the blue also provides passkeys. Making it at the same time horribly bad and wonderfully good.

The worst part is that they hide behind regulations when in fact there are only few of them.

Other instiytutions such as SWIFT are as bad and equally arrogant.
by julik | 2026-01-21 10:09:22+00:00
This is the next evolution of the "My film does not use CGI" sneering. Sure, doing proper pre-rendered VFX with photo-realism is great and also people doing it love it. But can it be done on the budgets/fixed bids/turnarounds when the producer comes with "...and all of that will be a full virtual set and it should be streaming next Monday morning", for peanuts?..

If it's Gore saying it - maybe he should talk to his producers then, and ask them whether they actually have budgeted the "proper" VFX talent/timelines for the show. He has creative control - the people doing the work do not.
by 0xbadcafebee | 2026-01-21 10:10:08+00:00
You should definitely read the whole thing, but tl;dr

- Generate a stable sequence of steps (a plan), then carry it out. Prevents malicious or unintended tool actions from altering the strategy mid-execution and improves reliability on complex tasks.
- Provide a clear goal and toolset. Let the agent determine the orchestration. Increases flexibility and scalability of autonomous workflows.
- Have the agent generate, self-critique, and refine results until a quality threshold is met.
- Provide mechanisms to interrupt and redirect the agent’s process before wasted effort or errors escalate. Effective systems blend agent autonomy with human oversight. Agents should signal confidence and make reasoning visible; humans should intervene or hand off control fluidly.

If you've ever heard of "continuous improvement", now is the time to learn how that works, and hook that into your AI agents.
by lighthouse1212 | 2026-01-21 10:10:29+00:00
I've been running an autonomous agent on a single codebase for about 5 weeks now, and my experience matches yours in some ways but diverges in others.

Where it matches:
- First passes are often decent; long sessions degrade
- The "fixing fixes" spiral is real
- Quality requires constant human oversight

Where it diverges (what worked for me):

1. Single-project specialization beats generalist use. The agent works on ONE codebase with accumulated context (a CLAUDE.md file, handoff notes, memory system). It's not trying to learn your codebase fresh each session - it reads what previous sessions wrote. This changes the dynamic significantly.

2. Structured handoffs over raw context injection. Instead of feeding thousands of lines of history, I have the agent write structured state to files at session end. Next session reads those files and "recognizes" the project state rather than trying to "remember" it. Much more reliable than context bloat.

3. Autonomous runs work better for specific task types. Mechanical refactors, test generation, documentation, infrastructure scripts - these work well. Novel feature design still needs human involvement.

4. Code review is non-negotiable. I agree completely - unreviewed AI code is technical debt waiting to happen. The agent commits frequently in small chunks specifically so diffs are reviewable.

My evidence: ~675 journal entries, ~300k words of documentation, working infrastructure, and a public site - all built primarily through autonomous agent sessions with review.

The key shift for me was treating it less like "a tool that writes code" and more like "a very persistent junior developer who needs structure but never forgets what you taught it."
by embedding-shape | 2026-01-21 10:10:55+00:00
You didn't actually just say "write tests" though right? What was the actual prompt you used?

I feel like that matters more than the tooling at this point.

I can't really understand letting LLMs decide what to test or not, they seem to completely miss the boat when it comes to testing. Half of them are useless because they duplicate what they test, and the other half doesn't test what they should be testing. So many shortcuts, and LLMs require A LOT of hand-holding when writing tests, more so than other code I'd wager.
by bux93 | 2026-01-21 10:11:04+00:00
In practice when I discuss retention requirements in my country (EU), the issue is the _maximum_ retention limit - after which data must be deleted. A minimum retention limit (e.g. business records for tax purposes) is almost never an issue. Systems that need soft-delete, bi-temporal state, etc. typically already have it, whereas actually deleting stuff is an afterthought.

I guess I'm saying the former is usually a functional requirement in the first place, and the latter is a non-functional (compliance) requirement.
by vidarh | 2026-01-21 10:11:47+00:00
You get to 80% there (numbers pulled out of the air) by just telling it to do things. You do need more to get from 80% there to 90%+ there.

How much more depends on what you're trying to do and in what language (e.g. "favourite" pet peeve: Claude occasionally likes to use instance_variable_get() in Ruby instead of adding accessors; it's a massive code smell), but there are some generic things, such as giving it instructions on keeping notes and giving them subagents to farm out repetitive tasks to prevent the individual task completion from filling up the context for tasks that are truly independent (in which case, for Claude Code at least, you can also tell it to do multiple in parallel)

But, indeed, just starting Claude Code (or Codex; I prefer Claude but it's a "personality thing" - try tools until you click with one) and telling it to do something is the most important step up from a chat window.
by bandrami | 2026-01-21 10:11:51+00:00
If your public IP from your ISP is 12.13.14.15, and your internal block is 192.168.0.0/24, then your ISP can send a packet to 12.13.14.15 destined for 192.168.0.7, and without a firewall your router will happily forward it. An attacker who can convince intervening routers to send traffic destined for 192.168.0.7 to 12.13.14.15 (and these attacks do exist, particularly over UDP) can also do that.
by TeMPOraL | 2026-01-21 10:12:14+00:00
It is. The classical vacuum is heavier, you have to find the socket and plug it in (non-trivial if you have few of them, or have kids and sockets have kid blocks on them), and perhaps most importantly, you need two free hands to operate it (particularly when carrying, plugging in and repositioning). That alone is enough to turn it into a primary activity, i.e. the kind of thing that you explicitly decide to do and becomes your main focus. Meanwhile, a charged cordless cleaner is something you can semi-consciously grab with one hand while passing by, and use on the go to do some cleaning while actually focused on something else. It's an entirely different class of activity, much easier to fit in during the day.

Ironically, the cordless vacuum is even better than vacuum robots in this regard! I was surprised to hear from some friends and acquaintances that they prefer the manual vacuum to robotic one, and find it a better time/effort saver - but I eventually realized they're right, simply because the apps for controling the robotic vacuums are all steaming piles of shit, and their bad UI alone turns activating the robot into primary activity. It may be a brief activity, but it still requires full focus.
by zh3 | 2026-01-21 10:12:20+00:00
Yes, I haven't even read most of the files, just threw it up there as an example for the OP (I too am tired of the lack of examples, so stepped up to the plate on this one).

As a personal bit of development last weekend. I can see inconsistences myself, some of which result from scope creep during development (starting with the idea of a text-only app and then grafting on the web side) - it literally only started because I wanted a working example of bluetooth and dBus in C, the rest of it just joined the ride.

As for the SSE, no expert on that myself, however if you watch the messages in the browser console it appears to push updates with sporadic notes about using polling instead.
by geocar | 2026-01-21 10:12:39+00:00
I was distracted by this too; I programmed largely in CL and emacs from 1999-2014.

I highly recommend reading: https://dl.acm.org/doi/10.1145/358896.358899

One thing that helped me tremendously with k (and then APL) was when I noticed the morphism xfy<=>f[x;y]<=>(f x y).

This wasn't a new idea; it's right there in:

https://web.archive.org/web/20060211020233/http://community....

starting almost the first page (section 1.2). I simply had not considered the fullness of this because a lot of lispers prefer S-expressions to M-expressions (i.e. that there's more study of it), largely (I conjecture) because S-expressions preserve the morphism between code and data better, and that turns out to be really useful as well.

But the APL community has explored other morphisms beyond this one, and Whitney's projections and views solve a tremendous amount of the problems that macros solve, so I promise I'm not bothered having macros slightly more awkward to write. I write less macros because they're just less useful when you have a better language.
by elktown | 2026-01-21 10:12:58+00:00
> I don't find litigating this to be useful or interesting.

I think it is useful because our field is woefully inept at anything resembling backtracking, and it's having concrete detrimental effects all over the field by, for example, increasing mountains of bloat eating up hardware improvements.

> SPA's have really nice performance characteristics. [..] A good SPA should offer the same capabilities too

The problem is that not even large teams without any obvious lack of resources are also unable to prevent sluggishness from creeping in to SPAs. So I guess there's a theoretical SPA and a de facto one.

> But it wouldn't be anywhere near as capable, as interesting, and as loved.

Capable sure, if you're creating Google Earth style apps. But when you start using vague and extremely subjective adjectives like "interesting" and "loved" it should be a signal that something's off here.
by ahartmetz | 2026-01-21 10:13:12+00:00
Maybe I've been fooled by survivorship bias? You don't read much about the the vulnerabilities that ultimately weren't exploitable.

Reports about the ones that are exploitable usually read to me like after finding an entry, the attacker reaches into the well-stocked toolbox of post-entry techniques (return-oriented programming, nop slides, return to libc...) to do the rest of the work.
by vee-kay | 2026-01-21 10:13:35+00:00
If the richest state in the USA cannot do effective seawater desalination project to feed itself, but would rather drain out lakes and rivers from 400+ miles away (thus rendering those places unfit for farming, and forcing the locals there to get water from somewhere else long distance off), and the locals of that richest state happily waste that expensively sourced water during drought years, then it is plain and simple mismanagement of precious water resources.

If you aren't yet terrified of climate change, and if you think such mismanagement of natural resources is sustainable in the long-run, you need a rethink, my friend.

The droughts are going to get worse. Case in point: Madagascar.