MurphyA/hacker-news huggingface dataset:
by dinfinity | 2025-07-22 14:26:33+00:00
> All the logic in the world can't ease my stomach after watching a conveyer belt of chicks get dumped directly into a meat grinder. It's simply not right.

Where on the evolutionary scale do you draw the line and why, though?

Remember that the feeling you experience is a very messy heuristic that exists to perform a basic evolutionary function. People have similar feelings when Boston Dynamics robots (or similar things) are kicked/'abused', even though they would never attribute any awareness or even the experience of pain to them.

A feeling should always be the starting point of a rational appreciation of the situation; things are rarely "simply not right" and feelings are often wrong.
by baq | 2025-07-22 14:26:34+00:00
> You can use git commit --fixup to record what you want to change in an earlier commit.

jj just does it correctly by default.

> rerere

jj just does it correctly by default.

> As written elsewhere: git rebase --update-refs. If you want to do it manually git rebase --onto.

jj just does it correctly by default.

defaults matter.
Show HN: SandCrab – An AWS S3 GUI for macOS
by __zayne__ | 2025-07-22 14:26:46+00:00
Hello HN. SandCrab is an app I originally had the idea for and hacked together over a couple of weekends last October. More recently, I’ve been working on adding new features to it as I use it more as my daily tool to interact with my s3 buckets. A few recent features I am excited about include the ability to search across all of your buckets using wildcards and regular expressions as well as searching and filtering by metadata (e.g. content type, file size, date created, etc). I’ve also added support for configuring and generating presigned urls directly in the app which is nice. The app can also copy, move and "rename" (which performs a copy-and-delete under the hood) objects within or across buckets. I’ve also recently added more flexible auth options, so that in addition to providing the app with security credentials stored in your keychain, the app can also support role assumption as well as simply using your local .aws profiles without the need to actually give the app credentials directly.
by robertlagrant | 2025-07-22 14:26:47+00:00
> When Hinkley point C is completed, estimated 2029 at the earliest, it will have taken 12 years and will produce as much electricity per year as the solar panels installed in Germany last year.

I agree that engineering in the UK is a mess, which explains a lot of Hinkley Point C, but just a technical point: people in these conversations often do what you've done and pick a "levelling" stat that elides all of the non-nuclear's disadvantages.

E.g. in this case maybe solar in Germany does produce all that power, but does it do it consistently? And does that cost include the batteries needed to level it out?

It's like saying you're more likely to get rained on in Johannesburg than in London because the yearly rainfall's higher there. It's an accurate stat, but in Johannesburg all that rainfall is concentrated between 3pm and 5pm in summer months, so you're much less likely to get rained on all year round.
by nowittyusername | 2025-07-22 14:27:37+00:00
The main problem is ignorance of the technology. 99.99% of people out there simply have no clue as to how this tech works, but once someone sits down with them and shows them in an easy to digest manner, the magic goes away. I did just that with one of my friends girlfriend. she was really enamored with chatGPT, talking to it as a friend, really believing this thing was conscious all that jazz.... I streamed her my Local LLM setup, and showed her what goes on under the hood, how the model responds to context, what happens when you change system prompt, the importance of said context. Within about 7 minutes all the magic was gone as she fully understood what these systems really are.
by immibis | 2025-07-22 14:28:16+00:00
We don't have to assume infinite growth. We can reach a comfortable sustainable point. We're already living in a pretty comfortable future (but it's not equally distributed). But if you do assume infinite growth and worry about the long term, then why stop at a Dyson sphere? What happens when every single human being wants more power than exists in the observable universe?

We've actually seen a decline in energy-per-utility ratios. We've got a lot more people and (apparently) a lot more utility per person, so we're still using more energy in total, but if we held those constant for the past several decades we'd actually be using a lot less energy per person and in total. It's not at all inevitable that energy/person/time only goes up. The Jevons paradox eventually maxxes out - if we could teleport anywhere instantly for free, we'd still only be making a finite number of teleportation trips each day. The crew of the Enterprise replicate a finite amount of food, and so on.

---

Possibly, nuclear could have been a better intermediate energy source for the past 50-60 years than the fossil fuels we did use. In countries that did adopt nuclear energy (like France) it did seem to work out that way.

Now, in the present, which is when we are making decisions, it's time to go all in on renewables (and long-term infrastructure, much more generally). This brings some challenges, but not insurmountable ones. We'll probably need more load shifting, more cross-border power trading, and more batteries. (Hydropower is also renewable and works at all times of day, but it's not available in all locations, which brings us back to cross-border trading).

I don't see why you'd need nuclear power for high-density areas, or "unlit areas". High-density areas are full of all sorts of stuff, including power cables which can import power from the surrounding countryside - there is absolutely no need to build a fleet of nuclear reactors in the middle of New York City. Even with the substantially-lower-than-Chernobyl risk levels assumed by nuclear proponents, I think the idea of building a fleet of them in the middle of NYC should still be concerning to them. And for "unlit areas" - I assume this means extremely rural villages or whatever - you know a medium-size solar farm, a couple of wind turbines, or even a small diesel plant, takes a shitload less maintenance than a nuclear reactor, right? You're not importing nuclear technicians to permanently work in the middle of the Sahara or the Amazon - you're either connecting them to the grid properly, or you're giving them something set-and-forget that can hum away in the corner for years on end.

Big batteries coupled to diesel generators will remain a great local backup source for critical systems for the foreseeable future - if I was world dictator, I wouldn't ban them outright. Somewhat interestingly, the opposite is already also true: battery-buffered solar power is used in remote sites where you might expect to need the reliability a diesel generator, because a small chance of the thing being down outweighs having to keep it refueled.
by griblack | 2025-07-22 14:28:25+00:00
Hello ferguess_k, you are really direct at expressing your thinking. I wonder whether people with high karma are more cautious at posting. Since HN is about promoting progress, it could be that casting light against uncontrolled progress could hurt their karma points. Because they know that posts in HN can be used for LLMs to gather a highly informative user profile and hint about their professional life.
by layer8 | 2025-07-22 14:29:43+00:00
> Something like a “Static Bundle Object” (.sbo) file, that will be closer to a Shared Object (.so) file, than to the existing Static Archive (.a) file.

Is there something missing from .so files that wouldn’t allow them to be used as a basis for static linking? Ideally, you’d only distribute one version of the library that third parties can decide to either link statically or dynamically.
by XCSme | 2025-07-22 14:29:49+00:00
A client asked me to help them import MySQL analytics data over to a DB that already had data in it.

The main problem with a direct import is that most rows in MySQL have an auto-incrementing ID, so old data will have ID conflicts with the new data.

The solution I found was to add a large value (e.g. 10 million) to the rows in the new data, before importing the old one.

Is there a better solution for such cases?
by throwanem | 2025-07-22 14:29:53+00:00
The more reliably predictive mental model is if one were to take about two-thirds of a human brain's left hemisphere, wire it to simulated cranial nerves, and then electrically stimulate Broca's and Wernicke's areas in various patterns ("prompts"), either to observe the speech produced when a novel pattern is tried, or by known patterns to cause such production for some other end.

It is a somewhat gruesome and alienating model in concept, and this is intentional, in that that aspect helps highlight the unfamiliarity and opacity of the manner in which the machine operates. It should seem a little like something off of Dr. Frankenstein's sideboard, perhaps, for now and for a while yet.
by gruez | 2025-07-22 14:30:25+00:00
But in that case even though filming isn't technically distribution, it's clearly a step to distributing copies? To take this to the extreme, suppose you ripped a blu-ray, made a thousand copies, but haven't packaged or sold them yet. If the FBI busted in, you'd probably be prosecuted for "conspiracy to commit copyright infringement" at the very least.
by Brian_K_White | 2025-07-22 14:30:38+00:00
"So if you want to statically link against a dynamic library (what a phrase!)"

Yes but like an artificially created remarkableness. "dynamic library" should just be "library", and then it's not remarkable at all.

It does seem obvious, and your Delphi example and the other comment wcc example shows, that if an executable can be assembled from .so at run time, then the same thing can also be done at any other time. All the pieces are just sitting there wondering why we're not using them.
by abxyz | 2025-07-22 14:31:00+00:00
One of OpenAI’s early investors has been caught up in this. He is convinced that ChatGPT has helped uncover a conspiracy against him by a non-governmental system. Hard to summarize, you need to read it for yourself: https://xcancel.com/GeoffLewisOrg

or watch this video: https://xcancel.com/GeoffLewisOrg/status/1945212979173097560...
by Joker_vD | 2025-07-22 14:31:22+00:00
> This is a contrived example akin to "what if I only know the name of the function at runtime and have to dlsym()"?

Well, you just do what the standard Linux loader does: iterate through the .so's in your library path, loading them one by one and doing dlsym() until it succeeds :)

Okay, the dynamic loader actually only tries the .so's whose names are explicitly mentioned as DT_NEEDED in the .dynamic section but it still is an interesting design choice that the functions being imported are not actually bound to the libraries; you just have a list of shared objects, and a list of functions that those shared objects, in totality, should provide you with.
Ask HR: LLMs can't solve basic logic problems, much less code
by xchip | 2025-07-22 14:31:28+00:00
An LLM can `leet code` because all those snippets were in its training data. It might be able to make smaller variations... but that's it.

If it was such a game changer, we would have seen a bloom of cool KISS apps all over the place. Plus many repos would use LLMs as a LINT.

So let's curb our enthusiasm a bit (unless you show me your fantastic app written in a weekend using vibe coding :P )
by TheCapeGreek | 2025-07-22 14:31:32+00:00
I had to try and argue down a "qualified IT support" person on a flight yesterday discussing ChatGPT with the middle aged technologically inept woman next to me yesterday. He was framing this thing as a global connected consciousness entity while fully acknowledging he didn't know how it worked.

Half understandings are sounding more dangerous and susceptible to ChatGPT sycophancy than ever.
by prometheus76 | 2025-07-22 14:32:00+00:00
I agree with your view completely. I see the current use cases for AI to be very similar to the practices of augury during the Roman Empire. I keep two little chicken figurines on my desk as a reference to augury[1] and its similarity to AI. The emperor brings a question to the augurs. The augurs watch the birds (source of pseudo-randomness), go through rituals, and give back an answer as to whether the emperor should go to war, for example.

[1] https://en.wikipedia.org/wiki/Augur
by adrian_b | 2025-07-22 14:32:30+00:00
I agree.

In my opinion, the most important contributions of Niklaus Wirth to programming languages have been in his early work on Euler, PL360 and ALGOL W, which introduced various features that were novel at that time.

Starting with Pascal in 1970, his programming languages remained reasonably good for teaching programming and how to implement a compiler, due to their simplicity, but all of them were seriously behind contemporaneous languages.

While Mesa of Xerox was a nice and innovative language, that cannot be said about Modula, Wirth's attempt to reimplement similar features after his sabbatical at Xerox, which was only mediocre.

On the other hand the early languages of Wirth were very innovative, e.g. Euler was one of the first 2 languages with pointers, the other being CPL. In contrast with CPL which had implicit pointer dereferencing, Euler had explicit address-of and indirection operators, but it got their syntax right, not like in C, where the indirection operator has been mistakenly defined as prefix, instead of postfix.
Show HN: Browser AI – Use Playwright Without Blowing Up Your Context Window
by chw9e | 2025-07-22 14:32:39+00:00
Hey HN! I built Browser AI after getting frustrated with the official Playwright MCP server in Claude Code. If you've used it, you know the pain:

- 20+ separate tools that Claude has to juggle (click, fill, navigate, wait_for_selector, etc.) - Context window explosions from verbose screenshot data and DOM snapshots - Constant tool selection errors where Claude picks the wrong tool or forgets parameters

Browser AI wraps Playwright MCP with a single natural language interface. Instead of Claude managing dozens of tools, you get one: browser_ai.execute. Just tell it what you want in plain English:

"Go to news.ycombinator.com and click on the first comment link" "Fill out the login form with test@example.com and submit" "Take a screenshot of the pricing table"

The magic: Browser AI uses Claude (via your Claude Code subscription) to interpret your commands and translate them into the right Playwright calls. This means:

- 80% less context usage: No more massive tool definitions or snapshot data in your conversation - Actually works: The subagent handles tool selection, so Claude doesn't have to - OAuth auth: Uses your existing Claude Code subscription, no separate API keys needed - Smart error recovery: If something fails, you get helpful feedback, not cryptic Playwright errors

Technical details:

- Built with TypeScript and the MCP SDK - Uses AI SDK - Open source (MIT)

Installation is two lines:

npx @qckfx/browser-ai --auth

claude mcp add browser-ai -- npx --yes @qckfx/browser-ai@latest

I've been using this for web scraping and E2E test writing, and it's completely changed how I work with browser automation in Claude Code. Would love to hear if this solves similar pain points for others!

GitHub: https://github.com/qckfx/browser-ai

npm: https://www.npmjs.com/package/@qckfx/browser-ai
by IAmBroom | 2025-07-22 14:32:51+00:00
Yo, personal experience. I'll be undergoing a second test soon, as a precaution, but the first showed me at "acceptable risk level but cancer is still present".

My urologist carefully assured me ahead of the test that I "do have cancer, as all men my age do", and clarified the difference between "have" and "might well die of".
by bmn__ | 2025-07-22 14:33:26+00:00
Yes, the concept is called "shut up and multiply". I estimate the content-blocking counter-measure has saved hundreds of man-years.

On the days I feel particularly nasty like Ellison's character The Ticktockman, I wish that the programmers and the product managers who are responsible for the enshittification get this time subtracted from their life.
by gigantaure | 2025-07-22 14:33:29+00:00
this is barely one year after the CSRB recommended: "...Microsoft leadership should consider directing internal Microsoft teams to deprioritize feature developments across the company’s cloud infrastructure and product suite until substantial security improvements have been made in order to preclude competition for resources. In all instances, security risks should be fully and appropriately assessed and addressed before new features are deployed."

These recommendations followed a review of MS practices following the Exchange online compromise. I highly doubt anything changed at MS since then.

source: https://www.cisa.gov/sites/default/files/2025-03/CSRBReviewO...
by immibis | 2025-07-22 14:33:40+00:00
The Internet Archive operates within the law (mostly), while archive.foo is blatantly illegal, which is why it has so many domain names, among other things. Think Anna's Archive vs Library of Congress.

The future is going to be some kind of bland corporate internet of useless corporate things (only people with a team of lawyers can afford to operate any service on this dark-forest light-network), paired with some kind of dark web full of very useful uncorporate things, which corporations are constantly trying to hunt down, which everyone will use every day.
Advising is the next step for LLMs, a change in how they answer questions
by Taikhoom10 | 2025-07-22 14:33:41+00:00
I am not some sort of AI expert but this is what I personally think is going to be the next big step for llms. For simplicity I will be using ChatGPT throughout rather than llm. (First Mover Advantage perk) The next big leap isn't agentic capabilities or search through AI. Those are more of mediums of through which AI will progress into AGI one day. I think. What I want to talk about is the way llm's answer questions. I wont talk about if there right or wrong, more of how they just answer. Rather lets say I ask ChatGPT to help me write a title for a post on a forum. It will help me do that, now one can argue it might not do a good job. But rather say it responds by saying, don't post on this said forum right now because there isn't a lot of viership at this time. Peak post times are in the early morning. And of course there can still be a option to go through with the title brainstorm thing, but that advice is crucial. Llm's are a bunch of yes men by default, they need to be advisors. And good ones that too. A king needs a advisor that actually critiques the mistakes and provides better advice, not agree with whatever the king has to say. Otherwise the king would not need a advisor. The same way the llms today need to provide advice sometimes, rather than saying yes. I know this might be counterintuitive but humans make mistakes. Like ordering overly expensive coffee, llms should help us reduce those mistakes as well.
by daveguy | 2025-07-22 14:33:57+00:00
The AI did not and cannot escape guardrails. It is an inference engine where the engine happens to sometimes trigger outside action. These things aren't intelligent or self-directed or self-motivated to "try" anything at all. There weren't any guardrails in place and that's the lesson learned. These AI systems are stupid and they will bumble all over your organization (even if in this case the organization was fictitious) if you don't have guardrails in place. Like giving it direct access to MPC-shred your production database. It doesn't "think" anything like "oops" or "muahaha" it just futzed a generated token sequence to shred the database.

The excuses and perceived deceit are just common sequences in the training corpus after someone foobars a production database. Whether its in real life or a fictional story.
by falcor84 | 2025-07-22 14:33:58+00:00
> Because a claim is just a generated clump of tokens.

And what do you think a claim by a human is? As I see it, you're either a materialist and then a claim is what we call some organization of physical material in some mediums, e.g. ink on paper or vibrations in the air or current flowing through transistors or neurotransmitters in synapses, which retains some of its "pattern" when moved across mediums. Or you're a dualist and believe in some version of an "idea space", in which case, I don't see how you can make a strong distinction between an idea/claim that is being processed by a human and an idea being processed by the weights of an LLM.
by dinfinity | 2025-07-22 14:34:30+00:00
Heat deaths are also pretty much old people close to the end of their life:

"A large analysis found that the majority of these deaths were not just among the extremely frail, but in people who likely would not have died within the next six months, and that in most cases, life was shortened by at least one year. Some cases will have less time lost, but it is rare for heat death to simply advance death by only days or weeks.

In quantitative terms, heat deaths tend to "cost" between six months and a few years of life per death on average."

You gotta die of something.
by elza_1111 | 2025-07-22 14:34:46+00:00
I would look at it from a demand-supply perspective. The demand will significantly reduce, and the supply has increased. I also love to look at it from a survival of the fittest perspective. If you are genuinely good at what you do and can drive exceptional results, you don''t have to worry. But if not, you might have to find something where you can "actually provide value" and not just be a fly on the wall.
by slightwinder | 2025-07-22 14:34:47+00:00
> Save that as script.py and you can use "uv run script.py" to run it with the specified dependencies,

Be aware that uv will create a full copy of that environment for each script by default. Depending on your number of scripts, this could become wasteful really fast. There is a flag "--link-mode symlink" which will link the dependencies from the cache. I'm not sure why this isn't the default, or which disadvantages this has, but so far it's working fine for me, and saved me several gigabytes of storage.
by immibis | 2025-07-22 14:34:52+00:00
If I post "I'm going to kill the president, at $location tomorrow at $time" and I get arrested, was I arrested for "an online post", or was I arrested for "threatening to assassinate the president"?

Both are technically correct. People who want to threaten to assassinate the president more often will call it "arrested for an online post". People who think assassination threats are bad and think it should happen less often call it "arrested for threatening assassination". The former group are currently much louder and their propaganda has worked.
by dnignzlz | 2025-07-22 14:35:10+00:00
I'm a powerlifter, personal trainer and software engineering student, building Lift Vault for the last 6 months.

Lift Vault allows you to: 1⃣ Attach Lifting Stats to the video (RPE, Load, Set, Reps and PB) 2⃣ Save storage by compressing each video (up to 90%!!!) 3⃣ Comment on your lifts using timestamps to pinpoint specific moments in the video

If you have any questions, let me know.
by 93po | 2025-07-22 14:35:35+00:00
i think what a lot of people experience is frustration around group-think along the lines of "I stubbed my toe, it's someone-i-dont-like's fault". Because thinking that many of the problems with ____ group is unique to that group means that people are going to continue to miss the fact that the people they do support are also guilty of the same thing
by Retr0id | 2025-07-22 14:36:13+00:00
Defending against falling into these sorts of thought-traps (aside from "just don't be delusional") seems to rely on knowing when you're engaging with an LLM, so you can either be more sceptical of its claims, limit your time spent with it, or both.

This worries me, since there's a growing amount of undisclosed (and increasingly hard to detect) LLM output in the infosphere.

Real-time chat is probably the worst for it, but I already see humans copy-pasting LLM output at each other in discussion forums etc.