MurphyA/hacker-news huggingface dataset:
by rstuart4133 | 2025-07-17 22:01:14+00:00
> So I do not quite see how this does not limit refactoring?

Yes it limits refactoring. But all languages provide syntactic and semantic constraints you must operate within. You can't just add line noise to a C program and expect it to compile.

So your complaint isn't that there are limits, it's that there is less of them in C, so it's easier to make changes in C without putting too much thought into it. That is absolutely correct. It's also true that's is far easier to introduce a bug in C code when you refactor than it is in Rust, and that's so because it's harder to write buggy code in Rust that gets past the compiler.

Perhaps an example. Consider:

inline char foo(uint8_t i, char a[]) { return *(a + 1); }

What does this code do? In C or C++, it's impossible to answer. If i overflows, it's UB. If you go past the end of the array, it's UB. Since it's inlined, there is no way to know if either could happen. If compiler can prove some particular instance is UB, it can do whatever it damned well pleases, without informing the poor programmer. There are lots of worse examples, particularly in C++.

In Rust, it's entirely predictable what happens for any given input, as Rust forbids UB in safe code. But in order to pull that off, Rust forces you to re-write the above function, perhaps into something like this:

fn foo(i: u8, a: &[u8]) -> u8 { a[(i + 1) as usize] }

or:

fn foo(i: u8, a: &str) -> char { a.chars().skip((i as usize) + 1).next().unwrap() }

or many other variations depending what you actually need to do. Notice for example you where forced to say whether you're happy with incrementing 255 to 256. If you weren't, you would write it as (i + 1) as usize.

Yes, it's more mental effort. In return, you don't get your arse handed to you on a platter because you recompiled with a newer, smarter version of the compiler that noticed you violated some language rule only a language lawyer would know, and took advantage of it.
Ask HN: Is HN Pro-Fascist?
by sundaeofshock | 2025-07-17 22:01:55+00:00
It sure seems like many articles that are critical of the Trump Administration or of certain people in the tech world (eg Musk) are flagged in under an hour. It does not matter if it a tech focused article or pure politics, it will just be flagged.

What do people think: is HN pro-fascist?
by eyelidlessness | 2025-07-17 22:02:00+00:00
Completely picking nits: Node doesn’t understand types at all, the distinction is between what TypeScript now calls “erasable syntax”[1] versus syntax excluded by that. The exclusion of enum isn’t likely to affect many projects (because enum has long been panned by most users). Same with namespace. By far the most likely incompatibility is “parameter properties”, ie class fields assigned in the constructor signature.

1: https://www.typescriptlang.org/tsconfig/#erasableSyntaxOnly
by throw0101d | 2025-07-17 22:02:01+00:00
Will what was on display:

* reduce infant or child mortality?

* reduce maternal mortality?

* increase average life spans (by, say, double-digit percentages)?

* increase health or quality of life such that people at the end of their lives are more mobile, and perhaps have less onerous medical conditions?

* produce more food in the same amount of land?

* produce more food with fewer inputs (energy, labour, fertilizer, water)?

* produce more manufactured things with fewer inputs (energy, labour, metals)?

* allow for faster transportation with more efficiency?

It's all very well to invent something, but in what ways does it improve people's lives:

> Fortunately Gordon indicates that it is not an end to innovation, but a decline in the usefulness of future inventions that is taking place. Documenting the impressive rise in standards of living between 1920 and 1970, with rising TFP, he claimed that it will be more difficult than before to replicate such improvements in advanced countries like the United States. In the earlier period, the American standard of living doubled every 35 years; in the future this doubling (for most people) may take a century or more. Moreover, the newer innovations do not seem to be benefitting all segments of society, which in turn reflects rising inequality in the advanced countries.

> Gordon’s thesis raises many questions: Is he correct in saying that the era of rising labor productivity associated with innovation and technological change over? Will the digital economy imply a new rise in the standard of living? From a development perspective, what implications does his thesis have for middle- and low-income countries?

* https://blogs.worldbank.org/en/developmenttalk/declining-pac...
by npinsker | 2025-07-17 22:02:02+00:00
As with all of these tools, it's easy to create things from scratch. Claude can write a C# script that does everything here. The video gives the game away a bit by asking you to pass in "references", but ideally AI should be able to find those references for you.

For any sort of value proposition, I would need to see actual two-way information exchange between the editor and scripting: something that can understand and build off what's already there -- e.g. "add a button at the bottom-left [with the same look and feel as the other buttons]". (JetBrains' Rider already does this a little bit.) But that might be a bit too far for a wrapper app.
by netbioserror | 2025-07-17 22:02:22+00:00
>Do you think person's voting power should be directly proportional to how much they pay in taxes?

Not quite, because that would grant power and influence to the rich that is already quite heavy on account of their wealth and ability to employ constituents. Qualifying voting power by way of being an active payer is, however, absolutely sensible.

>A 16 year old has a much bigger stake in the future of their country than a 70 year old.

They also have nothing to lose. With the least invested in a system's continuation, history is rich with young teenage raiders, conquerors, mutineers, revolutionaries, and rioters. They are the primary demographic with the lowest stake, and have the least concern for any Chesterton's fences. They are also the poorest equipped to make decisions concerning material resources, since utopian idealism is common at that age. They haven't yet suffered or built much at all, and it's easy for them to dismiss the sheer volume of accumulated knowledge, material, and labor that sustains civilization.
by DamnInteresting | 2025-07-17 22:03:23+00:00
I dislike the manufactured overcomplexity of web app development nowadays, especially in corporate environments. Maybe I'm just curmudgeonly, but all of that command-line building crap with frameworks and dependencies and auto-reloading browsers--I feel it adds a lot of work for little reward, and introduces a lot more opportunities for problems to arise. All I need is a good text editor and a browser with dev tools, thank you very much. Grumblescoff.
by magicalhippo | 2025-07-17 22:04:06+00:00
This looks like AI slop, I can tell from the em dash and from seeing quite a lot of AI slop in my time

I mean, not a very surprising result? At work I can almost always immediately see who wrote which lines of code, since we don't enforce code formatting. From what I can gather most authors do have a distinctive writing style as well, which can be detected. Why would LLMs be different?
by gerdesj | 2025-07-17 22:04:27+00:00
The devil is in the details.

I recently gave the "Veeam Intelligence" a spin.

Veeam is a backup system spanning quite a lot of IT systems with a lot of options - it is quite complicated but it is also a bounded domain - the app does as the app does. It is very mature and has extremely good technical documentation and a massive amount of technical information docs (TIDs) and a vibrant and very well informed set of web forums, staffed by ... staff and even the likes of Anton Gostev - https://www.veeam.com/company/management-team.html

Surely they have close to the perfect data set to train on?

I asked a question about moving existing VMware replicas from one datastore to another and how to keep my replication jobs working correctly. In this field, you may not be familiar with my particular requirements but this is not a niche issue.

The "VI" came up with a reasonable sounding answer involving a wizard. I hunted around the GUI looking for it (I had actually used that wizard a while back). So I asked where it was and was given directions. It wasn't there. The wizard was genuine but its usage here was a hallucination.

A human might have done the same thing with some half remembered knowledge but would soon fix that with the docs or the app itself.

I will stick to reading the docs. They are really well written and I am reasonably proficient in this field so actually - a decent index is all I need to get a job done. I might get some of my staff to play with this thing when given a few tasks that they are unfamiliar with and see what it comes up with.

I am sure that domain specific LLMs are where it is at but we need some sort of efficient "fact checker" system.
by Nasrudith | 2025-07-17 22:04:48+00:00
How is 'exploitatively' defined? I have seen it used as 'literally anything that makes a profit is exploitation by definition' crap used unironically often enough that 'exploitation' itself has become a major red flag (no pun intended). Those users of such definitions just love those sorts of tautologies disguised as logic as it makes for a nice and orderly world view to be able to make baseless and frankly, batshit insane assumptions. Like 12% returns being only possible through net harm to society. It is perfectly normal for a successful small business to have a ROI of 25% to 40%.
by Implicated | 2025-07-17 22:05:04+00:00
Comments like this remind me that there's a whole host of people out there who have _no idea_ what these tools are capable of doing to ones productivity or skill set in general.

> It's not that hard to write boilerplate and standard llm auto-predict was 95% of the way to Claude Code, Continue, Aider, Cursor, etc without the extra headaches.

Uh, no. To start - yea, boilerplate is easy. But like a sibling comment to this one said - it's also tedious and annoying, let the LLM do it. Beyond that, though, is that if you apply some curiosity and that "anyone that already knows what they are doing" level prior knowledge you can use these tools to _learn_ a great deal.

You might think your way of doing things is perfect, and the only way to do them - but I'm more of the mindset that there's a lot of ways to skins most of these cats. I'm always open to better ways to do things - patterns or approaches I know nothing about that might just be _perfect_ for what I'm trying to do. And given that I do, in general, know what I'm asking it to do, I'm able to judge whether it's approach is any good. Sometimes it's not, no big deal. Sometimes it opens my mind to something I wasn't aware of, or didn't understand or know would apply to the given scenario. Sometimes it leads me into rabbit holes of "omg, that means I could do this ... over there" and it turns into a whole ass refactor.

Claude code has broadened my capabilities, professionally, tremendously. The way it makes available "try it out and see how it works" in terms of trying multiple approaches/libraries/databases/patterns/languages and how those have many times led me to learning something new - honestly, priceless.

I can see how these tools would scare the 9-5 sit in the office and bang out boilerplate stuff, or to those who are building things that have never been done before (but even then, there's caveats, IMO, to how effective it would/could be in these cases)... but to people writing software or building things (software or otherwise) because they enjoy it or because they're financial or professional lives depend on what they're building - absolutely astonishing to me anyone who isn't embracing these tools with open arms.

With all that said. I keep the MCP servers limited to only if I need it in that session and generally if I'm needing an MCP server in an on-going basis I'm better off building a tool or custom documentation around that thing. And idk about all that agent stuff - I got lucky and held out for Claude Code, dabbled a bit with others and they're leagues behind. If I need an agent I'ma just tap on CC, for now.

Context and the ability to express what you want in a way that a human would understand is all you need. If you screw either of those up, you're gonna have a bad time.
by freeone3000 | 2025-07-17 22:05:48+00:00
It may not be a provable take, but it’s also not absurd. This is the concept behind modern TDD (as seen in frameworks like cucumber):

Someone with product knowledge writes the tests in a DSL

Someone skilled writes the verbs to make the DSL function correctly

And from there, any amount of skill is irrelevant: either the tests pass, or they fail. One could hook up a markov chain to a javascript sourcebook and eventually get working code out.
by khurs | 2025-07-17 22:06:06+00:00
No. Anyone can register a LLC in any of these places. They have minimal filing requirements going forward too.

You may be required to have a local agent, and they will add their address and names as the nominee shareholders so you remain anonymous. Then with an LLC, the company can open bank accounts and you can move money. Any money made offshore is non-taxed locally.

No different to Delaware.
Show HN: Claude Memory Visualizer
by srijanshukla18 | 2025-07-17 22:06:28+00:00
I had been using Knowledge Graph Memory Server.(https://github.com/modelcontextprotocol/servers/tree/main/sr...) And ofcourse, I wanted to see the memory visually.

Works for any Claude user's memory.json with zero config. Shows entities and relationships as an interactive graph with physics simulation. You can filter by type, search observations, and click nodes for details. Works with the standard Claude Memory MCP format (NDJSON).

GitHub: (https://github.com/srijanshukla18/claude-memory-viz) The visualization in the README is from my actual Claude memory - 72 entities, 93 relationships. Pretty cool to see how the AI organizes knowledge.

This is 100% vibe coded.

Also, my friends are using it to try and build something cool that gets on the same idea of wanting to see your stuff visually, get on the list if you are interested - https://tally.so/r/w7Ork9
by cosmicgadget | 2025-07-17 22:06:38+00:00
Can we just stop at the "yes the Russian regime (and oligarchy and substantial popular support) is awful" part? Because that is really all you need to reasonably boycott Yandex. Is it good to be ideologically consistent? Absolutely! Is it required? Not if you're aiming to reduce the amount of evil in the world.

Redirecting discussion about Russia's shittiness to a criticism of the US is a dumb propaganda tactic that a lot of people here are engaging in. And many others are swallowing. I'm happy to talk about the US or NATO or Israel, just not with the partisans who for some reason assume I fully support any of the above.
by mikece | 2025-07-17 22:06:47+00:00
You think HN is pro-Trump? Quite the opposite from what I can tell! But I have also noticed that any story mentioning Trump gets flagged. I don't see this as fascist so much as it seems like there less than zero desire to see the name of Trump regardless of whether the story is positive or negative about him.

And yes, there are some things that are coming out of legislation which would usually be of big interest to HN (or at least I would think so) but I don't bother submitting stories if one or two particular people have their names prominent in the story. It is what it is.

EDIT: That said, the one I posted today didn't get flagged (yet): https://news.ycombinator.com/item?id=44594622

EDIT 2: Something else that will get a story flagged seems to be anything about XLibre (for or against). I'm guessing that has to do with who is running that project which is kind of a shame since I'm curious why there's so much reflexive and visceral animosity for those suggesting we slow the roll on forcing all distros and desktop environments to move to Wayland.
by ieie3366 | 2025-07-17 22:06:56+00:00
LLMs are bruteforce reverse engineered human brains. Think about it. Any written text out there is written by human brains. The ”function” to output this is whatever happens inside the brain, insanely complex.

LLM ”training” is just brute forcing the same function into existence. ”Human brain output X, llm output Y, mutate it times billion until X and Y start matching”
by neuroelectron | 2025-07-17 22:07:09+00:00
I have yet to see LLMs solve any new problems. I think it's pretty clear a lot of the bouncing ball programming demos are specifically trained on to be demoed at a marketing/advertising thing. Asking AI the most basic logical question about a random video game like, what element synergies with ice spike shield in Dragon Cave Masters and it will make up some nonsense despite it being something you can look up on gamefaqs.org. Now I know it knows the game I'm talking about but in the latent space it's just another set of dimensions that flavor likely next token patterns.

Sure, if you train an LLM enough on gamefaqs.org, it will be able to answer my question as accurately as an SQL query, and there's a lot of jobs that are just looking up answers that already exist, but these systems are never going to replace engineering teams. Now, I definitely have seen some novel ideas come out of LLMs, especially in earlier models like GPT-3, where hallucinations were more common and prompts weren't normalized into templates, but now we have "mixtures" of "experts" that really keep LLMs from being general intelligences.
by empath75 | 2025-07-17 22:07:11+00:00
I basically had a grab bag of shell, python and ruby stuff that I learned how to do over my first 5 or 6 years in the industry and then saw an article about Haskell, tried to learn it and realized, I don't actually know _what programming is_, and then spent 10 years teaching myself all the computer science stuff that I missed from not having a degree.

I still don't know Haskell, but it was a valuable learning experience anyway.
by floundy | 2025-07-17 22:07:49+00:00
I installed KOReader following these instructions: https://github.com/koreader/koreader/wiki/Installation-on-Ko...

Wallabag plugin is built into KOReader. Launch KOReader by clicking the icon it puts in your Kobo library, then in the menus you will find Wallabag config. I added a "Wallabag Articles" folder for it to sync to.

Note if you use a password manager, my password had a double quote which I believe messed with the .lua config password string, so I was getting connection errors.

It took 80-90 mins to download 1200 unread articles to my Kobo. I haven't played with the auto sync function yet, so far I just manual sync before/after a reading session.
by beala | 2025-07-17 22:07:54+00:00
I'd love to do that, but I'm split between different browsers on different platforms. I'd also love to consolidate browsers so this isn't an issue, but iOS hobbles anything that's not Safari. Idk part of me thinks maybe I should just save links to obsidian or email them to myself, but I'd really like saving a link to be a single click.
by globular-toast | 2025-07-17 22:08:01+00:00
This is what really makes me sceptical of these tools. I've tried Claude Code and it does save some time even if I find the process boring and unappealing. But as much as I hate typing, my keyboard is mine and isn't just going to disappear one day, have its price hiked or refuse to work after 1000 lines. I would hate to get used to these tools then find I don't have them any more. I'm all for cutting down on typing but I'll wait until I can run things entirely locally.
by pron | 2025-07-17 22:08:04+00:00
> How'd we go from manual memory management languages to Haskell and Go

Because that's what's discussed in the article, which discusses Go and Haskell specifically.

> In other words, had the Rust program been designed with the same insane memory allowance in mind as the Java program, it'd wipe the floor with it.

No, it wouldn't (I've worked with C and C++ for almost 30 years - including on embedded and safety-critical hard realtime software - with Java for over 20, and I work on the HotSpot VM). That's because tracing GCs convert memory to speed, but that's not the case for other memory management techniques. To see why, look at a highly simplified view of tracing collectors (modern collectors don't quite work like that, but the idea generalises): When the heap is exhausted, live objects are traced and compacted to the "top" of the heap. I.e. the cost of each collection is only dependent on the working set, i.e. the size of objects that are still live. Because the working set is more-or-less a constant for a given program under a given workload, the larger the heap the less frequent the collections (each of a constant cost), and so the cost of memory management with a tracing collector goes to zero as the heap size grows. There are details in the actual implementations that are worse and others that are better than this idealised description, but the point is that tracing garbage collection is a mechanism that is very effectively converts RAM to speed as its cost scales with the ratio working-set/heap-size. This is not the case for manual memory management or for primitive ref-counting GCs.

Of course, even when memory management is zero, there are still computational costs, but Java compiles to the same machine instructions as C with that kind of work (with some important caveats in certain situations that will soon be gone). It is true that even outside those specific areas, you can, with significant additional effort, get a C program (or a program in any other low-level language) to be faster than a Java program but that's due to the availability of micro-optimisations (that we don't want to offer in Java as to not to complicate the language or make it too dependent on a particular hardware/OS architecture), but that effect isn't large.
by JadeNB | 2025-07-17 22:08:32+00:00
> Feels like a bad default, it teaches user to ignore and say yes.

I believe that, broadly speaking, from all but the most scrupulous app developers' point of view, it is a good thing for users to blindly agree to permissions. This is obviously true if they are doing something nefarious, but even true if not, since every user who denies a permission to your app is a user who might be writing a nasty review about such-and-such an advertised feature that doesn't work. I hope very much that my OS will make it easy for me to behave in a security-conscious way—a hope that is almost always disappointed!—but I do not even bother to have such a hope for all but my most beloved apps, which are often beloved for exactly that reason.
by naikrovek | 2025-07-17 22:09:50+00:00
These metal implementations are constructs, and they are constructed differently for no good reason. Is there any benefit to anyone with all these proprietary implementations? Maybe, but if so, the beneficiary isn’t the consumer and it isn’t the game developer.

So who is the graphics hardware built for? Again, not the consumer and not the game developer.

It is in the interests of these hardware manufacturers to make performance as easy as possible but none of them do. They write their own drivers which implement DirectX 12 or Vulcan or Metal or OpenGL.

So now as a game developer, if I want my game to perform on all platforms, I have to write my shaders natively for Metal, Vulcan, and DirectX 12, at least. Cross-compilers exist but they don’t do their job as well as a human can, so they’re simply not options for some.

All of this is harder for no good reason. And no one cares. No one wants to see things improve. They just make excuses for the hardware manufacturers and kill conversations which explain how things currently suck for a lot of people.