MurphyA/hacker-news huggingface dataset:
by duped | 2025-07-20 16:08:59+00:00
That requires you use a Vec or similar data structure which may not be appropriate/forces you to reinvent garbage collection or deal with tombstoning/generations/etc for unused slots.

And I pointed out you can use interior mutability. Still sucks because the code is guaranteed sound, the compiler just can't prove it. IMO the correct choice is UnsafeCell and unsafe {}.
by WarOnPrivacy | 2025-07-20 16:09:11+00:00
> Women screech about how dangerous and hard the world is for them

I haven't come across any screeching women.

I have come across an ever-growing number of women who've been significantly hurt by men, many of them profoundly so.

Many I know personally and in a few cases I also know the perpetrator (and the perp's history).

There's an emotional cost for revealing this kind of harm and I respect them for paying it.
by swax | 2025-07-20 16:09:11+00:00
Sure, so you tell the model, here's a command prompt, what do you type next? Ideally, it types commands, but a lesser model may just type what it's thinking which is invalid. You can give it an out with a 'comment' command, but some models will forget about that. The next biggest problem is fake output; it types not just 'cat file.txt' but the following command prompt and fake output for the file.

The biggest mark of intelligence is can it continue a project long-term over multiple contexts and sessions. Like, 'build me a whole website to do x', many AIs are very good at one-shotting something, but not continually working on the same thing, maintenance, and improvement. Basically, after that good one shot, the AI starts regressing, the project gets continually broken by changes, and the architecture becomes convoluted.

My plan is not to change NAISYS that much; I'm not going to continually add crutches and scaffolding to handhold the AI; it's the AI that needs to get better, and the AI has improved significantly since I mostly finished the project last year.
by sureglymop | 2025-07-20 16:09:18+00:00
At least with restic that is not an issue. See my other comment here: https://news.ycombinator.com/item?id=44626515

Backups are append only and each host gets its own key, the keys can be individually revoked.

Edit: I have to correct myself. After further research, it seems that append-only != write-only. Thus you are correct in that a single host could possibly access/read data backed up by another host. I suppose it depends on use-case whether that is a problem.
by II2II | 2025-07-20 16:09:39+00:00
Two points:

The hype accomplished something that would be otherwise impossible: it established Java as a language in what was likely record time. Consider another popular language: Python. It was created about 5 years earlier, yet it rose to prominence about a decade later. Or consider Rust. It is, in many respects, as significant as Java. While major developers were shipping significant applications written in Java within 5 years, Rust is only creeping into important software a decade after its introduction.

The second point is its easy to underestimate the dominance of Microsoft in those days. You think that Microsoft is dominant today, well, that's nothing compared to the late 1990's. Microsoft's market share was closer to 95% for the PC market. The workstation market was starting to crumble due to competition from Microsoft and Intel. About the only thing that was safe were mainframes, and that was highly dependent upon one's definition of safe. Nearly everyone who was competing against Microsoft wanted to see a chunk taken out of them, which meant pretty much everyone since Microsoft had its fingers in so many markets. And, as it turns out, nearly everything did have to be rewritten. Sometimes it was to deliver SaaS over the Internet and sometimes it was to target mobile devices.
by nemothekid | 2025-07-20 16:10:19+00:00
>It starts from a marketing position of "Safety With No Compromises" on runtime metrics like performance or whatever, then when things get hairy it's always "Well, here's a very reasonable compromise".

Well, yes. The other compromise is the one Java gives you: write a state of the art garbage collector and include it in your program.

This complaint is very annoying because it assumes a garbage collector is "free" and Rust decided to just not give you one. If you want memory safe trees your options are

* A slow, simple, reference counted garbage collector

* A fast, complex, garbage collector

both are compromises! You are just ignoring the second one.
by buzer | 2025-07-20 16:10:20+00:00
If US army truly needs to hire some foreigners I don't think they would have issues either modifying H1B rules so they are exempt or getting their own visa category for their own needs. I don't think either party would truly be against that even if Congress needed to pass the law since DOD is asking it.

Of course they could also just hire them with higher wage and tell Congress that they have option to make a small dent in the defense budget by passing that law.
Show HN: Use local LLMs to organize your files
by hyperfield | 2025-07-20 16:10:35+00:00
Hi everyone,

Just wanted to share a use case where local LLMs are genuinely helpful for daily workflows: file organization.

I've been working on a C++ desktop app called AI File Sorter – it uses local LLMs via `llama.cpp` to help organize messy folders like `Downloads` or `Desktop`. Not sort files into folders solely based on extension or filename patterns, but based on what each file actually is supposed to do or does. Basically: what would normally take me a great deal of time for dragging and sorting can now be done in a few.

It's cross-platform (Windows/macOS/Linux), and fully open-source.

[GitHub repo](https://github.com/hyperfield/ai-file-sorter)

[Screenshot 1](https://i.imgur.com/HlEer13.png) - LLM selection and download

[Screenshot 2](https://i.imgur.com/KCxk6Io.png) - Select a folder to scan

[Screenshot 3](https://i.imgur.com/QTUG5KB.png) - Review, edit and confirm or continue later

You can download the installer for Windows in [Releases](https://github.com/hyperfield/ai-file-sorter/releases) or the Standalone ZIP from the [app's website](https://filesorter.app/download/).

Installers for Linux and macOS are coming up. You can, however, easily [build the app from source](https://github.com/hyperfield/ai-file-sorter/blob/main/READM...) for Linux or macOS.

---

### How it works

1. You choose which model you want the app to interface with. The app will download the model for you. You can switch models later on.

2. You point the app at a folder, and it feeds a prompt to the model.

3. It then suggests folder categories like `Operating Systems / Linux distributions`, `Programming / Scripts`, `Images / Logos`, etc.

You can review and approve before anything is moved, and you can continue the same sorting session later from where you left off.

Models tested: - LLaMa 3 (3B) - Mistral (7B) - With CUDA / OpenCL / OpenBLAS support - Other GPU back-ends can also be enabled on `llama.cpp` compile

--- ### Try it out

* Windows: [SourceForge](https://sourceforge.net/projects/ai-file-sorter/) or [GitHub Releases](https://github.com/hyperfield/ai-file-sorter/releases) * Linux/macOS: build from source (instructions in the [README](https://github.com/hyperfield/ai-file-sorter/blob/main/READM...))

---

I’d love feedback from others using local models, especially around: - Speed and accuracy in categorizing files - Model suggestions that might be more efficient than Mistral/LLaMa - Any totally different way to approach this problem? - Is this local LLM use case actually useful to you or people like you, or should the app shift its focus?

Thanks for reading!
by jasode | 2025-07-20 16:10:57+00:00
>Sure, Java was slow and clunky but at least it was free of the memory unsafety that plagued C/C++. What was the mainstream "safe" alternative? There was no Rust back then,

Before Sun Java in 1995, companies built enterprise CRUD apps with "safe" memory languages using MS Visual Basic, PowerBuilder, and xBase languages like dBASE and FoxPro. This allowed them to develop line-of-business apps without manually managing memory in C/C++.
by giantrobot | 2025-07-20 16:11:06+00:00
I was excited about ApplixWare Anyware Office[0] around 1999-2000. I'm pretty sure I got a copy bundled in a boxed copy of SuSE or RedHat. It was the first time I'd really seen a real productivity application written as an applet. It was an interesting idea that was eventually delivered by JavaScript.

[0] https://www.applix.com/applixware/anywareoffice.html
by simonw | 2025-07-20 16:11:15+00:00
The models I can run locally aren't as good yet, and are way more expensive to operate.

Once it becomes economical to run a Claude 4 class model locally you'll see a lot more people doing that.

The closest you can get right now might be Kimi K2 on a pair of 512GB Mac Studios, at a cost of about $20,000.
by anonym29 | 2025-07-20 16:11:23+00:00
Your assumption in this deep hypothetical may be right, but even if it is, given the options of pre-emptively resigning in defeat or choosing to have a (perhaps pathological) degree of optimism about an alternative where we try to normalize more people exercising more empathy, which course is more productive? Which course has more positive side effects even if the entire basis for the hypothetical is wrong?
by zozbot234 | 2025-07-20 16:11:35+00:00
> Java is still the only go-to language for almost all of the fortune 100 (or 500) companies other than perhaps .Net

One factor in that choice is that Java can run seamlessly and with official support on mainframe and midrange compute platforms that are still quite popular among Fortune 100 and 500 companies. (Many of them are building "private clouds" as a replacement but it's a slow transition.) While you might be able to get other languages to run, sticking to Java is a broadly sensible choice.
by hashmash | 2025-07-20 16:11:53+00:00
The problem with having unsigned integer types is that it introduces new type conversion issues. If you call a method that returns an unsigned int, how do you safely pass it to a method that accepts an int? Or vice versa? A smaller set of primitive types is preferred, since it has fewer conversion issues.

Unsigned integer types are only really necessary when dealing with low-level bit manipulation, but most programs don't do this. The lack of unsigned integers makes low-level stuff a bit more difficult, but it makes the language as a whole much easier. It's a good tradeoff.
by triceratops | 2025-07-20 16:12:16+00:00
Do tell...

I see half-empty city buses running all the time and no one says boo about "inefficiencies" then. And even then city buses outside of dense metros run no more frequently than every 15 minutes, but only during rush hour, and only on popular routes. That's no way to get everyone loving public transport.

I want to take public transport. I don't want to spend hours waiting for the bus. I don't want to wait 20 years for a subway to be built either. What do I do?

The only answer is more frequent, smaller buses. But drivers are expensive. So then self-driving buses. And if the buses drive themselves, you really want to them to be completely full, all the time. What kind of "bus" is always completely full? A single-seater golf cart.
by avidiax | 2025-07-20 16:12:17+00:00
Having worked at Uber, I can tell you that most people vastly overestimate how many Uber drivers are working at any one time. A medium sized city like Seattle might have a few hundred at peak hours.

There is a limited scale to any taxi service, at least until it becomes cheap enough that the company can afford to have lots of cars sitting parked and idle for much of the day. Otherwise, the rush hour peaks will be less convenient and affordable than having a private car.
by yoz-y | 2025-07-20 16:12:24+00:00
There were shorter queues for a while. Now they aren’t.

When they started most shops (I live in France) had both standard and automatic checkout. And about three people to deal with stuck machines (mostly scale issues, anti theft tag removal, and damaged barcodes).

Now most smaller supermarkets only have the automatic queue and one person dealing with the trouble. This means that all people who really can’t use the automatic machines (kids, elderly, people doing large groceries) have to use them and the queue is constantly clogged.

It was better for a little while, now it’s strictly worse.
by jaybrendansmith | 2025-07-20 16:12:34+00:00
I would encourage you to research the amazing difference between Republican and Democratic administrations when it comes to economic performance in general. Democratic administrations economic performance is always massively better. The differences are stark, where Democratic policies encourage both GDP and wage growth. They hold true across all major economic indicators, such as gross domestic product, employment, incomes, productivity, even stock prices. It’s true if you examine only the precise period when a president is in office, or instead assume that a president’s policies affect the economy only after a lag and don’t start his economic clock until months after he takes office. The gap “holds almost regardless of how you define success,” two economics professors at Princeton, Alan Blinder and Mark Watson, write. They describe it as “startlingly large.” The reason is very simple. Republicans have spent years wedded to austerity economics while Democrats are explicitly dedicated to job growth for the middle class and high taxes on the rich. Republicans continue their austerity policies as well as adopting policies aimed at making life easier for corporations and the wealthy. Democrats, by contrast, continue to focus on the poor and the working class.
by baq | 2025-07-20 16:12:38+00:00
They cope just fine. If you’re thinking about stubborn ‘AI is just a statical parrot’ folks, IME it takes just one interaction where it clicks and nothing is the same afterwards. Perhaps we need GPT-5 or Gemini 3 for some of those people, but that’s what, a year out? Or a month?

Juniors need experience to know if the machine is going in the right direction or guide it. That experience is now nigh impossible to get, nobody has the time for apprentices now. It’ll take some brave management to pave a way forward, we don’t know what it’ll be exactly yet.
by ryandamm | 2025-07-20 16:12:49+00:00
Genuine questions for AI engineers, or self driving car people: is the Tesla approach of only using cameras inherently flawed? I've read that the AI is directly hooked up to the cameras, with no explicit intermediate 3D representation... everything is done in latent space. If true, this seems inherently hard to improve; throw more data at it, sure, but you can't necessarily understand how and why it fails when it does. That seems... non-optimal for safety-critical systems like self-driving cars.
by bugbuddy | 2025-07-20 16:12:50+00:00
It’s not just because of being afraid of losing H1B. Even the Indian developers in India behave the exact same way. They are extremely envious of their foreign counterparts and often sabotage the project through passive aggressive ways. They are even more envious of other Indians that have better jobs in India. They will often try to overcompensate by astronautic architecture designs.
by murukesh_s | 2025-07-20 16:13:09+00:00
I am also building an agent framework and also used chat coding (not vibe coding) to generate work - I was easily able to save 50% of my time just by asking GPT.

But it generates mistakes like say 1 in 10 times and I do not see it getting fixed unless we drastically change the LLM architecture. In future I am sure we will have much more robust systems if the current hype cycle doesn't ruin its trust with devs.

But the hit is real, I mean I would hire a lot less If i were to hire now as I can clearly see the dev productivity boost.. Learning curve for most of the topics are also drastically reduced as the loss in Google search result quality is now supplemented by LLMs.

But thing I can vouch for is automation and more streamlined workflows. I mean having normal human tasks being augmented by an LLM in a workflow orchestration framework. The LLM can return its confidence % along with the task results and for anything less than ideal confidence % the workflow framework can fall back on a human. But if done correctly with proper testing, guardrails and all, I can see LLM is going to replace human agents in several non-critical tasks within such workflows.

The point is not replacing humans but automating most of the work so the team size would reduce. For e.g. large e-commerce firms have 100s of employees manually verifying product description, images etc, scanning for anything from typos to image mismatch to name a few. I can see LLMs going to do their job in future.
by hash872 | 2025-07-20 16:13:27+00:00
But most H1-Bs are brand new grads, so their salary is just not very high. You'd be kicking out every 22 year old graduate of Stanford, Harvard etc. if you enforced a pay scale. The US has had a public policy since the 60s of making it easy for foreign grads of our elite colleges to stay here, I wouldn't mess with that
by DennisP | 2025-07-20 16:13:37+00:00
The question isn't whether it can be done eventually, but whether it would get safer faster with extra sensors.

Back in the day, Elon's specific objection to lidar was that it was too hard to code the sensor fusion part. With end-to-end there's no coding to deal with.

And it's not like they've replicated the visual cortex. It's the same neural net technology everybody else is using. It can deal with any sort of sensors just fine.
by al_borland | 2025-07-20 16:13:44+00:00
Stop chasing trends and changing for the sake of change. At my job, management is constantly forcing us to reinvent the wheel. The systems we used 15 years ago would still work fine, and be very robust and mature by now. Instead, with each re-write new gaps and bugs come to the surface. For some reason we choose to live in Groundhog Day, instead of making the choice to prioritize cheap, boring stability. Each new solution feels more fragile than the last. When we know someone will tell us to throw it all out in 2 years, there is little incentive to prioritize durability.
by zbentley | 2025-07-20 16:13:44+00:00
I used to take this approach (didn’t worry about late interpolation for debug logs unless in a tight loop), but I was wrong and got bitten several times. Now I very strongly tend to favor lazy interpolation for logging.

The reason is that focusing on formatting CPU performance misses a bigger issue: memory thrashing.

There are a surprisingly large number of places in the average log-happy program where the arguments to the logger format string can be unexpectedly large in uncommon-but-not-astronomically-improbable situations.

When the amount of memory needed to construct the string to feed down into the logger (even if nothing is done with it due to log levels) is an order of magnitude or two bigger than the usual less-than-1kb log line, the performance cost of allocating and freeing that memory can be surprising—surprising enough to go from “only tight number crunching loops will notice overhead from logger formatting” to “a 5krps fast webhook HTTP handler that calls logger.debug a few times with the request payload just got 50% slower due to malloc thrashing”.
by findthewords | 2025-07-20 16:13:54+00:00
They are complementary sensors. It's a much easier engineering feat to combine two (cheap) sensors that are good at different things and fusing this information than creating one perfect sensor that does everything.

Private moon landers (the Japanese being most recent one) keep crashing because they rely on a single high-quality altimeter and expect it to work perfectly, all the time. If they had a complementary low-quality backup altimeter that operated independently, they would have had a less failure prone distance estimation system.
by Mountain_Skies | 2025-07-20 16:14:21+00:00
A while back electroboom did a test with his Tesla's self driving and in most cases had to slam on the brakes himself when it didn't recognize obstacles he had set up for it. Also have seen videos of Tesla's navigation screen having a difficult time with freight trains. It stopped for the trains but was very confused about what it was, showing it as various oddly shaped cars and trucks that often morphed into other oddly stretched vehicles.
by schmorptron | 2025-07-20 16:14:25+00:00
I understand this, and also partially feel this way as in it's garbo that they won't allow the artists to own their work and are able to strongarm this due to the size of Minecraft. On the other hand, I like a lot of the new tracks they've added as well and Lena Raine and the others have done a great job capturing the vibe while not just ripping off C418.
by johnfn | 2025-07-20 16:14:35+00:00
Have you used busses or the metro recently? My girlfriend refuses to ride them because they are dirty, uncomfortable, and most crucially, unsafe. And although I am an ardent supporter of public transportation, I tend to understand her side quite well when I see fare hoppers, people blasting loud music, shouting incoherently or doing drugs - and I probably see one of those every time I ride.

I use public transportation frequently. But I feel that 50 years of work on public transportation has created a system that fails a large percentage of the population. Perhaps another solution is needed.
by stouset | 2025-07-20 16:14:43+00:00
You can 100% use it with that workflow, and there is no problem in doing that. You could use other workflows but those are things you can pick up as you gain more familiarity.

What I would focus on is what it enables you to do that’s hard in git: editing and revising commits that you’re iterating on, extracting out a large block of work into smaller commits, or splitting unrelated work out into a separate branch without needing to do a bunch of stashing, jumping around between branches, rebasing, etc.

Hell, even just being able to switch branches without having to do a wip commit or mess around with the stash is worth the price of admission to me. And having all of my work tracked during a long rewrite even if I don’t think to make checkpoint commits along the way.

But yeah, I’d 100% focus on what new superpowers you can add to your existing workflow before trying to actually change your workflow.
by bitwize | 2025-07-20 16:15:25+00:00
The AS/400 (now IBM i) platform has a neat feature: all application software is compiled into a sort of bytecode called TIMI, for Technology Independent Machine Interface. The use of TIMI is completely transparent to developers and is implemented at an OS level; you as a programmer do not get access to the underlying instruction set. When a program is run, if the OS does not detect a native-code "shadow" binary for the program, it will AOT-compile it from the program's TIMI code before running it. Among other things, this allowed IBM to convert their systems from AS/400 CISC to 64-bit POWER-architecture in one swift yank of the tablecloth, with all application software running 100% backward-compatibly on the new architecture.

But that's not the reason why TIMI was implemented. TIMI was implemented to fulfill an antitrust consent decree, under which IBM agreed to unbundle IBM hardware from software. But they still wanted to ship an OS with each system! So they declared that the OS was "firmware" and "microcode", hence part of the hardware, despite being loaded and booted from disk like any other OS. Anything considered "software" for the platform was written in TIMI.

So here we indeed have a bright-line distinction between OS and application code; between platform and business logic. Such a sharp definition is pretty rare in the industry.