MurphyA/hacker-news huggingface dataset:
by 1718627440 | 2025-09-23 16:32:57+00:00
That's really cool, but I think you still run in situation where its impossible to keep the program running, and/or you need to make decisions which are not described by the language standard.

>

Warning message If you see the following dialog box, Hot Reload is unable to apply the current edits without restarting. You can choose either to rebuild the app and apply changes (restart) or to continue editing. If you rebuild, all application state is lost. If you continue editing, it's possible that additional changes or corrections might cause Hot Reload to work again. [Screenshot of the apply changes dialog box] If you select the Always rebuild when changes can't be applied option in the dialog box, you won't see the dialog box again in the current Visual Studio session, and Visual Studio will automatically rebuild and reload instead of showing the dialog box.
by bilbo0s | 2025-09-23 16:32:57+00:00
Material point is that people are misapprehending the direction of control here.

The tenants have zero control.

The only people allowed to reside at the property, are people the landlord has allowed to do so. Those approved residents are not allowed to then decide to allow different people to reside at the property. Even new tenants sought out in an attempt to sublease, will have to be endorsed by the landlord. Not the current tenants.

People on this thread appear to believe tenants get these rights. No. Tenants get a different set of rights. They can decide who they want to live with. But they cannot decide who they want to live with in a given landlord's house. The landlord gets the right to decide who can reside at the property. Full stop. That the tenants believe X is a great guy is irrelevant to the deliberations of the vast majority of landlords. If you insist on living with X, then you'll have to find another property to rent if X is not agreeable to the landlord.

And the law backs up the landlord's dispassionate disposition on approving residents.

Basically you can choose your roommates, and you are then constrained in the places you're allowed to reside. That constraint being only those places willing to accept all of your roommates.
by hansvm | 2025-09-23 16:32:58+00:00
That's fair. It's not really a good pattern though. You get all the runtime overhead of object-soup allocation patterns, syntactic noise making it harder to read than even a primitive GC language (including one using ARC by default and implementing deterministic dropping, a pattern most languages grow out of), and the ability to easily leak [0] memory because it's not a fully garbage-collected solution.

As a rough approximation, if you're very heavy-handed with ARC then you probably shouldn't be using rust for that project.

[0] The term "leak" can be a bit hard to pin down, but here I mean something like space which is allocated and which an ordinary developer would prefer to not have allocated.
Show HN: Vault-AI – an open-source digital safe for AI secrets (v0.3.2)
by vaultaiproject | 2025-09-23 16:33:14+00:00
I built Vault-AI to solve a problem I kept running into when building AI apps: API keys and secrets end up scattered in .env files, hardcoded, or shared insecurely.

Vault-AI is a lightweight, self-hosted secrets manager — kind of like HashiCorp Vault, but simplified and aimed at AI workloads. It runs in Docker, comes with a simple CLI, and manages tenants, token-based auth, secret rotation, rollback, version history, and audit logs.

Quickstart: git clone → ./start.sh → vault-ai store/get

Repo: https://gitlab.com/vaultaiproject/vault-ai.git

Would love feedback from the HN community — what features are missing, and what would make this useful in your own AI/ML pipelines?
by BeetleB | 2025-09-23 16:33:16+00:00
I see several comments saying they use fzf instead of zoxide.

You should use both in tandem!

Several years ago, I set up a keybinding that presents me all the directories stored in the zoxide[1] DB in fzf - in rank order. With just a few keystrokes, I get where I need to be, and I'm not presented with all possible directories - just ones I've visited in the past.

This solves the problem of "I want to go to a directory that's not the most ranked one for the string I typed, and zoxide keeps putting me in the other one".

Once you have this flow, there's no going back!

[1] Actually, I use autojump, but it should work with zoxide as well.
by crmd | 2025-09-23 16:33:25+00:00
This paper perfectly demonstrates two HR axioms I have observed in a 20 year tech journey from IC system engineer to retired unicorn CTO:

1. Total compensation varies obscenely within the organization. It correlates moderately with intelligence and in no way with effort. Some of the most useless articles you work with make the most money.

2. Leadership really, really, really does not want peers sharing compensation info. I have been offered seven figure equity boosters on the condition of absolute confidentiality. This is the “efficiency” metric of the linked paper. If it is hard for leadership to distribute compensation in ways that would be seen as non-meritocratic, they lose an enormous amount of power over the management team.

Sunshine is the best disinfectant.
by potato3732842 | 2025-09-23 16:33:26+00:00
The whole race thing is a red herring. Pretty much every "racist" law outside of the former confederacy was written with the Irish in mind and last I checked they were just as white (technically whiter if you want to hair split) as the wasps who championed those laws.

Those people back then were trying use government force to make it harder for people to live in ways they didn't like in the via regulation all the same as people do here and now in 2025. They used race/nationality as a proxy for that insofar as it was an accurate proxy (which is why in the US it largely fell out of favor starting in the 1950s after the culturally flattening effect of the depression + ww2).

Of course people who want to use government to micromanage other people's decisions in shortsighted ways in the present harp on the race bit, because to take a step back and assess the fundamentals of the sort of rulemaking being advocated for would be detrimental to their cause(s).
by QQQQQQQQQQQQQM | 2025-09-23 16:33:41+00:00
This map lists Portsmouth, NH as having the zip code 00210 - 00215, which... aren't valid zip codes. It does also show Portsmouth with the correct zip of 03801 - 03804. I wonder how that happened, and if there are any other weird errors? Honestly this is exactly the outcome I had wanted when I started smacking in codes starting with 000, then 001, and 002 actually had a little blip stayed highlighted so I investigated further.
by koolba | 2025-09-23 16:33:52+00:00
> Certainly, but I'll also argue that single family zoning needs to go, and upzoning enabled anywhere reasonable. Do existing owners not like flophouses? Do they not like density? Do they not like any change at all? All of the above. Property owners are entitled to their property, they are not entitled to stop efforts around them to increase housing supply or density.

Of course they're entitled to stop efforts to change the world around them. If you moved into a neighborhood with a minimum lot size was X acres, it's a reasonable expectation that it remains as such. If someone comes along and not only wants to change that, but also build multi unit apartment complexes across the street from you, why should you not have a say? Clearly the person was not allowed to do that before changing the zoning rules so why can't I try to stop them from changing them at all?

There's nothing racist about wanting to live a quiet suburban or rural life where you can neither see nor hear the next house over.
by fwip | 2025-09-23 16:34:19+00:00
That sounds like you've already got it pretty well figured out, then. :)

If you did want to get fuzzy-matching in your workflow, I might recommend using building a small alias/function with fzf[1], rather than using zoxide.

Something like `dst=$(cat ~/myprojectlist.txt | fzf) && cd $dst && source sourceme`. You wouldn't get the list sorted by most-frequent/recent like you do with zoxide, but it sounds like that's not what you're looking for anyways.

[1] https://github.com/junegunn/fzf
by JimDabell | 2025-09-23 16:34:50+00:00
> That's the number their CEO put out, but AFAIK it is completely unverified (they did not provide any background as to how it was calculated). To believe it is an article of faith at this point.

Google also puts the median Gemini prompt at 0.24 Wh. The information available from different sources point in the same direction; you don’t have to take Sam Altman’s word for it. 0.3 Wh was the figure that was already pretty dependable before he said that.

> What is concrete and verifiable are the large deals being struck between AI model providers and energy providers - often to be supplied via fossil fuels.

Which is completely irrelevant to this discussion unless you quantify that in Wh per prompt. Vague “deals are being struck!” hand-wringing doesn’t add to the discussion at all. Why are you demanding absolute, unimpeachable rigour when vendors give specific figures, but are comfortable with hand waving when it comes to complaining about energy use?
by firefoxd | 2025-09-23 16:35:10+00:00
I read a good chunk thinking this was a case of the telegram in The Master and Margarita:

"Have just been run over by tram-car at Patriarch's Ponds funeral Friday three pm come".

She sounds like a wonderful person.

Funny enough, I died in 2015. Well, I thought I was clever, I added a sort of obituary on my blog's RSS to publish only if I don't write for a whole year. In php I used strtotime(+1 year) , but for testing I tried +1 minute. I forgot to adjust and deployed. So in 2015, the top post on my RSS was that I was probably dead and someone should check on me.
by dyingkneepad | 2025-09-23 16:35:11+00:00
Besides the arguments other people gave, delegating the 'everyday tasks' to this other person takes time. You'll have to invest some hours to save some hours. If they wanna do stuff for you, you have to give them the information and resources they'd need to do that. For a lot of stuff, it may be faster to simply do it yourself.

For example, I "delegate" tax preparation to an accountant, but the amount of time I spend giving them the information they need and answering their questions is probably 70% of the amount of time I would spent filling the tax myself. If my situation wasn't so complicated, I would deal with it myself (I hire them for the risk mitigation regarding my incompetence, not for saving time).
by protsenko | 2025-09-23 16:35:18+00:00
Hi guys, I've prepared one of my longest articles on developing IntelliJ IDEA plugins. It's a quintessence of my experience and retrospective in this field. It doesn't provide you a definitive guide on how to develop, but rather how to develop it better with portions of best practices and experience.

I hope you'll enjoy it and share your feedback.
by Mizza | 2025-09-23 16:35:50+00:00
WashPo article on this was interesting: https://www.washingtonpost.com/health/2025/09/22/leucovorin-...

Seems like it works only for a very specific type of childhood autism, but if my child had this I would be kicking down doors to get it. The article has some good insight into how honest researchers feel about their work being trumpeted by the scientifically illiterate carnival barkers in charge of things.
by CuriouslyC | 2025-09-23 16:36:02+00:00
AI 100% does currently improve productivity when used correctly. You can say that's a no true Scotsman, but you can look at my company GitHub page to see that I'm delivering.

AI delivers results when you understand its characteristics and build a workflow around it designed to play to its strengths. AI doesn't deliver huge results when you try to shoehorn it into AI unfriendly workflows. Even if you took the Stanford 95% study on its face (which you shouldn't, there are a lot of methodological issues), there are still 5% of projects that are returning value, and it's not random, it's process differences.
by articulatepang | 2025-09-23 16:36:04+00:00
> Last weekend I’ve made a simple CLI tool for myself to help me manage my notes it parses ~/.notes into a list of notes, then builds a tag index mapping strings to references into that list. Straightforward, right? Not in Rust. The borrow checker blocks you the moment you try to add a new note while also holding references to the existing ones. Mutability and borrowing collide, lifetimes show up, and suddenly you’re restructuring your code around the compiler instead of the actual problem.

I'd love to see the actual code here! When I imagine the Rust code for this, I don't really foresee complicated borrow-checker or reference issues. I imagine something like

struct Note { filename: String, // maybe: contents: String } // newtype for indices into `notes` struct NoteIdx(usize); struct Notes { notes: Vec<Note>, tag_refs: HashMap<String, Vec<NoteIdx>> }

You store indices instead of pointers. This is very unlikely to be slower: both a usize index and a pointer are most likely 64 bits on your hardware; there's arguably one extra memory deref but because `notes` will probably be in cache I'd argue it's very unlikely you'll see a real-life performance difference.

It's not magic: you can still mess up the indices as you add and remove notes.

But it's safer: if you mess up the indices, you'll get an out-of-bounds error instead of writing to an unintended location in your process's memory.

Anyway, even if you don't care about safety, it's clear and easy to think about and reason about, and arguably easier to do printf debugging with: "this tag is mentioned in notes 3, 10 and 190, oh, let's print out what those ones are". That's better than reading raw pointers.

Maybe I'm missing something? This sort of task comes up all day every while writing Rust code. It's just a pretty normal pattern in the language. You don't store raw references for ordinary logic like this. You do need it when writing allocators, async runtimes, etc. Famously, async needs self-referential structs to store stack local state between calls to `.await`, and that's why the whole business with `Pin` exists.
by atmavatar | 2025-09-23 16:36:24+00:00
Practically speaking, no amount of punishment for fascists will ensure that another set of fascists won't rise up again in the future. There's far too much to gain by taking over political power for any deterrent to work effectively.

The best solution is to improve education to help people see through the bullshit that got us here. In particular, teach people that campaigning through memes, emotional appeals, and demonization of minority groups are big neon signs that the campaigning group does not have your best interests in mind.
by FungalRaincloud | 2025-09-23 16:36:41+00:00
I'm a bit surprised that you put PHP in that list. My current workload is in it, and a relatively modern version of it, so maybe that surprise will turn around soon, but I've always felt that PHP was more obnoxious than even C to read and write.

Granted, I started out on LISP. My version of "easy to read and write" might be slightly masochistic. But I love Perl and Python and Javascript are definitely "you can jump in and get shit done if you have worked in most languages. It might not be idiomatic, but it'll work"...
by alistairSH | 2025-09-23 16:37:43+00:00
Yes, in some cases.

But, at least in one highlighted case, the woman (who sold her home) wanted to live in a specific metro area to be close to family.

Not sure about the first example given - Medford Ore is a fairly rural area, not near a big city. But, they're only staying in campgrounds periodically/sporadically - sounds like they spend substantial time boon docking (parked on federal land, no hookups, no amenities).
by tensor | 2025-09-23 16:37:47+00:00
AI will do neither of those things because curing or creating cancer requires physical experiments and trials on real people or animals, as does all science outside of computer science (which is often more math than science).

I can see AI being helpful in generating hypothesis, or potential compounds to synthesize, or helping with literature search, but science is a physical process. You don't generally do science just by sitting there and pondering, despite what the movies suggest.
by travisgriggs | 2025-09-23 16:37:48+00:00
> Rust is your lane assist. It relieves you from the burden of constant vigilance.

Interesting analogy. I love lane assist. When I love it. And hate it when it gets in the way. It can actively jerk the car in weird and surprising ways when presented with things it doesn’t cope well with. So I manage when it’s active very proactively. Rust of course has unsafe… but… to keep the analogy, that would be like driving in a peer group where everyone was always asking me if I had my lane assist on, where when I arrived at a destination, I was badgered with “did you do the whole drive with lane assist?” And if I didn’t, I’d have explained to me the routes and techniques I could have used to arrive at my destination using used lane assist the whole way.

Disclaimer, I have only dabbled a little with rust. It is the religion behind and around it that I struggle with, not the borrow checker.
by khuey | 2025-09-23 16:37:52+00:00
> `Arc`s show up all over the place specifically in async code that targets Tokio runtime running in multithreaded mode. Mostly this is because `tokio::spawn` requires `Future`s to be `Send + 'static`, and this function is a building block of most libraries and frameworks built on top of Tokio.

To some extent this is unavoidable. Non-'static lifetimes correspond (roughly) to a location on the program stack. Since a Future that suspends can't reasonably stay on the stack it can't have a lifetime other than 'static. Once it has to be 'static, it can't borrow anything (that's not itself 'static), so you either have to Copy your data or Rc/Arc it. This, btw, is why even tokio's spawn_local has a 'static bound on the Future.

It would be nice if it were ergonomic for library authors to push the decision about whether to use Rc<RefCell<T>> or Arc<Mutex<T>> (which are non-threadsafe and threadsafe variants of the same underlying concept) to the library consumer.
by JustExAWS | 2025-09-23 16:38:01+00:00
I hate this mythologizing of the good old days. I’m 51 and have been in the industry professionally for 30 years and followed it the best I could before then to the point of lying about being a big spender in a corporation to get MacWeek and PCWeek.

Most people even then were doing boring work in banks, government etc. They weren’t hanging out the shingles or on the street selling software on floppies like artists trying to make it big. It was even harder back then to market yourself.

The time to quit is when no one will pay you to exchange labor for money. That labor can be hands on keyboard, sales or something more strategic.
by mytailorisrich | 2025-09-23 16:38:08+00:00
If you are, or consider yourself, part of the top "performers" you have a self-interest incentive to favour this because you expect to be among the "winners" and don't want to share with the "losers".

I.e., unequal earnings distribution looks better and better as you climb the social ladder because you benefit more and more. On the other hand, if you are at the bottom you may strongly support more equal distibution because that can only benefit you.

Same reasoning as to why workers unions emerged from the bottom, not the top.
by hearsathought | 2025-09-23 16:38:37+00:00
> I think we should be more generous

We really shouldn't.

> given the fact that we cannot reproduce many findings in our own field (computer science)

Computer science isn't a "science". Computer science is really a branch of mathematics. For example, when you study computation theory, you prove theorems (deduction). You don't generate a hypothesis and test it.

> given the hardware to do so is limited to such few entities...

Unless you are talking about computer engineering, which isn't really science either but engineering. Computer science isn't done in "hardware". Maybe you should go learn what computer science is.
by joshuamorton | 2025-09-23 16:38:39+00:00
This is both just historically inaccurate (many of these laws were written, specifically, with black people in mind, even in northern states), and even if it were true, would still be a clear example of anti-irish racism.

> Of course people who want to use government to micromanage other people's decisions in shortsighted ways in the present harp on the race bit,

You are saying this in reply to someone who is discussing past racism while also commenting on how they want to de-regulate things, so I'm very confused. Do you somehow think that removing restrictions on unrelated tenancies is going to "micromanage other people's decisions in shortsighted ways "?
by triceratops | 2025-09-23 16:39:04+00:00
> And we don't need to use the word marriage for all of them.

But that's the only word we have for "lifetime-committed couple recognized by some authority". The meanings of words change and evolve. Tough luck.

We could use the secular "civil union" for all marriages performed outside of a church. But that would be unnecessarily clunky and pointless ("I got civil union-ed this weekend, it was great!"). And then of course people married under other religious traditions would object to the use of the word "civil" so you'd have to qualify every other union accordingly - "Jewish union", "Muslim union", "Hindu union", etc. Why?

You're basically arguing against free speech. I don't understand who it's helping. If the distinction is that important to you, just spell it out when talking about your marriage ("I was married in a church"). Leave everyone else alone.
by bluGill | 2025-09-23 16:39:25+00:00
There are a significant amount of people who care about gender such that it makes sense for landlords to discriminate by shared unit. They should have a mix of male only and female only units. (and if they want mix units). In the US not enough people care about the religion of their roommate to be worthwhile trying to find a fair solution to those who care (if you do care you can ask at your church).

It is important to ensure that when you allow such discrimination it is by unit and that landlords not be allowed to discriminate overall