MurphyA/hacker-news huggingface dataset:
by Factual7418 | 2026-02-16 15:14:27+00:00
Hi HN,

I built ConvertSuite Pro after repeatedly running into the same problem in internal and client environments: teams needed to convert or normalize files, but the available options were always awkward.

The usual workflow looked like some combination of:

throwaway Python scripts

one-off command line tools

spreadsheets

or people pasting sensitive data into random online converters

None of that felt great, especially in environments where data handling rules are strict or machines are air-gapped.

So I built a tool that centralizes this into a single system that can run completely offline.

What it is

ConvertSuite Pro is a self-hosted conversion engine packaged as a Docker container.
It exposes a unified /api/convert endpoint and also provides an internal UI for manual work.

Everything runs locally, in memory.

No cloud calls, no external services, no telemetry.

What it supports

Right now there are ~20 conversion profiles covering common structured, semi-structured, markup and binary formats (CSV, JSON, Excel, YAML, XML, Parquet, PDF, images, Base64, Markdown, HTML, etc.).

The emphasis is on deterministic, repeatable outputs rather than clever heuristics.

Who it’s for

The target users are security teams, internal IT, and data/platform engineers who need a controlled and reproducible way to run transformations without everyone reinventing scripts.

Design choices

I intentionally chose:

containerized deployment

stateless backend

in-memory processing

because many of the places I’ve worked in care more about predictability and containment than feature richness.

Why not just script it?

In many cases you absolutely can.
But in practice that leads to drift, duplication, and knowledge living in individual notebooks and repos.

The goal here is to provide a shared internal utility.

Status

It’s production usable, but still early.
I’m mainly looking for feedback from people who work in constrained or regulated environments.

I’d love to hear:

what formats you wish were supported

whether the API design makes sense

what would make this viable in your workplace

Happy to answer any technical questions.
by thephyber | 2026-02-16 15:14:28+00:00
> Users are going to have to pay that back at some point.

That’s not how VC investments work. Just because something costs a lot to build doesn’t mean that anyone will pay for it. I’m pretty sure I haven’t worked for any startup that ever returned a profit to its investors.

I suspect you are right in that inference costs currently seem underpriced so users will get nickel-and-dinked of a while until the providers leverage a better margin per user.

Some of the players are aiming for AGI. If they hit that goal, the cost is easily worth it. The remaining players are trying to capture market share and build a moat where none currently exists.
by jjk166 | 2026-02-16 15:14:56+00:00
> Free to ingest and make someones crimes a permanent part of AI datasets resulting in forever-convictions?

You're conflating two distinct issues - access to information, and making bad decisions based on that information. Blocking access to the information is the wrong way to deal with this problem.

> a teenager shouldn't have their permanent AI profile become "shoplifter" because they did a crime at 15 yo that would otherwise have been expunged after a few years.

This would be a perfect example of something which should be made open after a delay. If the information is expunged before the delay, there's nothing to make open.
by moltonel | 2026-02-16 15:15:12+00:00
It's not hard to make a case against gettext, despite its maturity and large ecosystem.

IMHO pluralization is a prime example, with an API that only cleanly handles the English case, requires the developer to be aware of translation gotchas, and honnestly confusing documentation and format. Compare that to MessageFormat's pluralization example (https://github.com/unicode-org/message-format-wg/blob/main/s...) which is very easy to understand and fully in the translator's hands.
by TheSilva | 2026-02-16 15:15:27+00:00
Tangential, sort of: in the early days of mobile phones for the masses, when there was no WiFi/3G in the underground, I will often enable Bluetooth in my phone, look for nearby devices and try to match names and looks.

That was before everyone had their "John's IPhone" or "Samsung A55" boring names everywhere and some of us cared to personalise our device's name.

Anyone else played this game?
Show HN: Maths, CS and AI Compendium
by HenryNdubuaku | 2026-02-16 15:15:50+00:00
Hey HN, I don’t know who else has the same issue, but:

Textbooks often bury good ideas in dense notation, skip the intuition, assume you already know half the material, and get outdated in fast-moving fields like AI.

Over the past 7 years of my AI/ML experience, I filled notebooks with intuition-first, real-world context, no hand-waving explanations of maths, computing and AI concepts.

In 2024, a few friends used these notes to prep for interviews at DeepMind, OpenAI, Nvidia etc. They all got in and currently perform well in their roles. So I'm sharing.

This is an open & unconventional textbook covering maths, computing, and artificial intelligence from the ground up. For curious practitioners seeking deeper understanding, not just survive an exam/interview.

To ambitious students, an early careers or experts in adjacent fields looking to become cracked AI research engineers or progress to PhD, dig in and let me know your thoughts.
by microtonal | 2026-02-16 15:16:10+00:00
Yeah, it is probably a test account, but a test account that is somewhat plausible. I don't find 5 or 6 messaging apps unlikely and I see people with a lot of them, because there is little perceived cost of installing more and it improves reachability.

Like, I have Threema installed, even though none of my contacts use it. But if one does happen to use it in the future, I'm reachable if necessary.
by JadeNB | 2026-02-16 15:16:20+00:00
> Why are we protecting criminals, just because they are minors? Protect victims, not criminals.

Protect victims and criminals. Protect victims from the harm done to them by criminals, but also protect criminals from excessive, or, as one might say, cruel and unusual punishment. Just because someone has a criminal record doesn't mean that anything that is done to them is fair game. Society can, and should, decide on an appropriate extent of punishment, and not exceed that.
by CuriouslyC | 2026-02-16 15:16:23+00:00
I wrote this because the SOTA tools for prompt injection detection/mitigation are too coarse and compute intensive for broad application. Clean is designed to be transparent from a performance and usability standpoint. It performs span level redaction/tagging rather than binary classification, and can work with structured data.

It's important to note that there are many types of prompt injection, and many ways to make them hard to detect, so it's an impossible problem to fully solve just at this level. Clean and other prompt injection detectors should be viewed akin to an email filter to reduce the number of phishing attempts that make it to end users, rather than the entire basis of your security.
by Taek | 2026-02-16 15:16:23+00:00
2015 stockfish is quite a different beast from 2026 stockfish. Stockfish didn't even add NNUE until 2020.

Based on what data I can find, it's estimated that the difference between the 2025 stockfish (stockfish 6) and today's stockfish (stockfish 18) is nearly 400 points.

That's the difference between Magnus Carlson at his peak and someone who doesn't even have enough rating to qualify for the grandmaster title.

So yes, the fact that you beat stockfish in 2015 doesn't sound extraordinary, because AI today is vastly stronger than it was when you achieved those results. What sounds extraordinary to people is your belief that you could repeat those results against today's top chess engines.
by panarky | 2026-02-16 15:16:45+00:00
> we can assume similar issues arise in more complex cases

I would assume similar issues are more rare in longer, more complex prompts.

This prompt is ambiguous about the position of the car because it's so short. If it were longer and more complex, there could be more signals about the position of the car and what you're trying to do.

I must confess the prompt confuses me too, because it's obvious you take the car to the car wash, so why are you even asking?

Maybe the dirty car is already at the car wash but you aren't for some reason, and you're asking if you should drive another car there?

If the prompt was longer with more detail, I could infer what you're really trying to do, why you're even asking, and give a better answer.

I find LLMs generally do better on real-world problems if I prompt with multiple paragraphs instead of an ambiguous sentence fragment.

LLMs can help build the prompt before answering it.

And my mind works the same way.
by dathinab | 2026-02-16 15:16:54+00:00
They are non-propagated/effectively hidden.

If you don't "know about them from another source" you can't effectively find/access the information and you might not even know that there is something you really should know about.

The service bridged the gap by providing a feed about what is potentially relevant for you depending on your filters etc.

This mean with the change:

- a lot of research/statistics are impossible to do/create

- journalists are prone to only learning about potentially very relevant cases happening, when it's they are already over and no one was there to cover it
by reliabilityguy | 2026-02-16 15:17:03+00:00
> Crimes are committed by individuals. "Immigrants" is a group.

Great. How does it change the substance of my comment?

Perhaps, instead of arguing about whether “immigrants” is always a group as a collective, or a certain number of individuals acting together, you would focus on the high level implications of government’s action or inaction?

What do Epstein files have to do with anything right now? Stop shifting the goal posts.
by gruez | 2026-02-16 15:17:31+00:00
>where the Brits and the US can dodge their own laws while developing their own [...]

Source that a large proportion of founders/employees are actually American/British? The more believable claim is that such Israeli startups are US/UK backed, but that's not as damning as it sounds, because US/UK is the finance hub, so thats where you expect funding to come from, rather than "colonialism foreign base" or whatever.
by q3k | 2026-02-16 15:17:36+00:00
IDA is the better tool if you're being paid to work with architectures that IDA supports well (ARM(64), x86(_64), etc). This usually means 'mainstream' security/malware research. It's not worth the price for hobbyists. Before Hex-Rays was sold to private equity, it could make sense for rich hobbyists to pay for a private license once and use it for a few years without software updates, with the cloud offering now it pretty much makes no sense.

Ghidra is the better tool if you're dealing with exotic architectures, even ones that you need to implement support for yourself. That's because any architecture that you have a full SLEIGH definition for will get decompilation output for free. It might not be the best decompiler out there, sure, but for some architectures it's the only decompiler available.

Both are generally shit UX wise and take time to learn. I've mostly switched from IDA to Ghidra a while back which felt like pulling teeth. Now when I sometimes go back to IDA it feels like pulling teeth.
by k310 | 2026-02-16 15:17:40+00:00
I thought about creating great tech solutions to real problems that people face. In my explorations, I found that the biggest problem people face is the absolute tyranny of tech in the hands of sociopaths and would-be Big Brothers.

I now feel the same about AI. While there are possible liberating uses, I suspect that the BIG problem to solve will be to undo the damage AI is causing and will cause in the hands of sociopaths and would-be Big Brothers.

Heck, the administration wants to prevent the EU from liberating itself from the grip of U.S. tech giants, which have all bent the knee to our would-be Big Brothel.
by londons_explore | 2026-02-16 15:17:43+00:00
> If you prohibit the punishment of minors, you create an incentive for criminals to exploit minors.

This - nearly all drug deliveries in my town are done by 15 years olds on overpowered electric bikes. Same with most shoplifting. The real criminals just recruit the schoolchildren to do the work because they know schoolchildren rarely get punishment.
by gen220 | 2026-02-16 15:17:46+00:00
I totally agree! Interacting with LLMs at work for the past 8 months has really shaped how I communicate with them (and people! in a weird way).

The solution I've found for "un-loading" questions is similar to the one that works for people: build out more context where it's missing. Wax about specifically where the feature will sit and how it'll work, force it to enumerate and research specific libraries and put these explorations into distinct documents. Synthesize and analyze those documents. Fill in any still-extant knowledge gaps. Only then make a judgement call.

As human engineers, we all had to do this at some point in our careers (building up context, memory, points of reference and experience) so we can now mostly rely on instinct. The models don't have the same kind of advantage, so you have to help them simulate that growth in a single context window.

Their snap/low-context judgements are really variable, generalizing, and often poor. But their "concretely-informed" (even when that concrete information is obtained by prompting) judgements are actually impressively-solid. Sometimes I'll ask an inversely-loaded question after loading up all the concrete evidence just to pressure-test their reasoning, and it will usually push back and defend the "right" solution, which is pretty impressive!
by Ginsabo | 2026-02-16 15:17:48+00:00
That's a great example — the "Product A + Product B pricing merge"
is exactly the kind of structurally valid but impossible composition
I was trying to isolate.

I really like the "Temporal Merging" framing.
You're right: roadmap + release notes = syntactically consistent,
entity-valid, but chronologically impossible.

I haven't explicitly modeled temporal integrity yet,
but that seems like a natural extension of the cross-domain tests.

Regarding RAG:
So far the focus has been on model-internal structural logic gaps.
I haven't built retrieval-aware tests yet.

That said, I suspect many RAG failures are just amplified
cross-document merging errors, so a temporal integrity layer
might actually generalize well there.

If you have examples from brand monitoring contexts,
I'd love to add them as new regression cases.
by 19h | 2026-02-16 15:18:26+00:00
Well, Ghidra's strength is batch processing at scale (which is why P-Code is less accurate than IDA's but still good enough) while allowing a massive amount of modules to execute. That allows huge distributed fleets of Ghidra. IDA has idalib now, and hcli will soon allow batch fleets, but IDA's focus is very much highly accurate analysis (for now), which makes it a lot less scalable performance wise (for now).
by short_sells_poo | 2026-02-16 15:18:30+00:00
I'd absolutely want to review every single line of code made by a junior dev because their code quality is going to be atrocious. Just like with AI output.

Sure, you can go ahead and just stick your head in the sand and pretend all that detail doesn't exist, look only at the tests and the very high level structure. But, 2 years later you have an absolutely unmaintainable mess where the only solution is to nuke it from orbit and start from scratch, because not even AI models are able to untangle it.

I feel like there are really two camps of AI users: those who don't care about code quality and implementation, only intent. And those who care about both. And for the former camp, it's usually not because they are particularly pedantic personalities, but because they have to care about it. "Move fast and break things" webapps can easily be vibe coded without too much worry, but there are many systems which cannot. If you are personally responsible, in monetary and/or legal aspects, you cannot blame the AI for landing you in trouble, just as much as a carpenter cannot blame his hammer for doing a shit job.
by doctorleff | 2026-02-16 15:18:32+00:00
In the 1990s, I taught GUI programming with the following two books (not necessarily those editions). Is this post the tool chain to do that program
creation from the command line for these? Now that I am retired
from a third of a century as a computer science faculty member, I would like
to resurrect those notes for a comprehensive learning module on GUI programming.
(At the turn of the century, my University had me teach GUI programming
with Java Swing.)
In my opinion, all are wonderful as is old-fashioned x-Windows GUI programming and Visual Basic form development, both of
which I briefly introduced to my students.

Programming Windows with MFC, Second Edition Subsequent Edition
by Jeff Prosise (Author)

Programming Windows®, Fifth Edition (Microsoft Programming Series) Subsequent Edition
by Charles Petzold (Author)
by bluGill | 2026-02-16 15:18:42+00:00
That only works out if there are enough investors willing to pay for those futures. If the new factory can make a billion drives but they only have 2 of those futures contracts sold (that is 200k drives) they don't build the factory. Remember too if they sell those contacts they are on the hook to deliver - if it is just investors they will accept the street value of 100k drives in 2028 but some of the people might be buyers demanding physical goods.

Every year a few farmers realize they are contracted to deliver more grain than they have in their bins and so have to buy some grain from someone else (often at a loss) just to deliver it. This isn't a common problem but it happens (most often the farmer is using their insurance payout to buy the grain - snip a very large essay on the complexities of this)
by gib444 | 2026-02-16 15:18:51+00:00
Oh, it's "nothing to see here" bingo time?:

- Policing language to distract from the topic.

- Trying to claim things are just a series of isolated incidents with absolutely nothing in common

- Claiming there are wider problems (that should be addressed in a manner that would take years and isn't even defined well enough to claim measure as being "better")
by tim333 | 2026-02-16 15:19:01+00:00
What's happening with AGI depends on what you mean by AGI so "can't even be bothered discussing what the definition" means you can't say what's happening.

My usual way of thinking about it is AGI means can do all the stuff humans do which means you'd probably after a while look out the window and see robots building houses and the like. I don't think that's happening for a while yet.
by wongarsu | 2026-02-16 15:19:11+00:00
The claude logo is a 12-pointed star (or a clock). Gemini is a four-pointed star, or a stylized rhombus. ChatGPT is a knot that from really far away might resemble a six-sided star. Grok is a black hole, or maybe the letter ø. If we are very charitable that's a two-pointed star.

I can absolutely see how the logos are all vaguely star-shaped if you squint hard enough, but none of them are 8 pointed.
by fourthrigbt | 2026-02-16 15:19:14+00:00
If you’re using claude code/cursor, you should be using plan mode.

There are 3 major steps:

(Plan mode)

1. assuming this is an existing codebase, load the relevant docs/existing code into context (usually by typing @<PATH>

2. Ask it to make a plan for the feature you want to implement. Assuming you’ve already put some thought into this, be as specific and detailed as you can. Ask it to build a plan that’s divided into individually variable steps. Read the plan file that it spits out, correct and bad assumptions it made, ask it questions if you’re unclear one what it’s saying, refine, etc.

(agent mode)
Ask it to build the plan, one step at a time. After it builds each step verify that it’s correct, or have it help you verify it’s correct in a way you can observe.

I have been following this basic process mostly with Opus 4.5 in a mixture of claude code and cursor working on a pretty niche image processing pipeline (also some advanced networking stuff on the side) and have hand-written basically zero code.

People say - “your method sounds like a lot of work too” and that’s true, it is still work, but designing at a high level how I want some CUDA kernel to work and how it fits into the wider codebase and then describing it in a few sentences is still much faster than doing all of the above anyway and then hand writing 100 lines of CUDA (which I don’t know that well).

I’d conservatively estimate that i’ve made 2x the progress in the same amount of time as if I had been doing this without LLM tools.
Show HN: API authentication assumes the caller decides – agents break that
by theaniketgiri | 2026-02-16 15:19:19+00:00
I realized something uncomfortable while running agents in production:

APIs authenticate the process making a request.

But with LLM agents, the process no longer decides the request — the model does.

So when an agent is prompt-injected or misaligned, authentication still succeeds.
The system verifies who executed the call, not who chose it.

Rotating keys or adding revocation checks doesn’t fix this.
You’re still trusting the wrapper while the decision lives inside the model.

The missing primitive isn’t stronger identity — it’s verifying the action itself.

In a typical backend system:

service → calls API
auth verifies which process made the call

This works because the process contains the decision logic.

With agents:

model decides the action → process just executes it

So authentication still proves who called
but no longer proves who decided

If an agent is compromised (prompt injection, tool misuse, leaked context), rotating API keys or checking revocation lists doesn’t actually solve the problem — the system still trusts the process identity while the decision authority lives inside the model.

What we needed was verification of the action itself.

I built a small protocol where every side-effect requires a signed “intent”.

Each agent has a keypair.
Every tool call carries a signature over:

action

parameters

timestamp

nonce (replay protection)

declared capabilities

Verification is local (Ed25519, <1ms).
Services don’t call an auth server — they verify the intent.

Revocation is async: services subscribe to key invalidation events, but verification still works offline.

Example:

from aip_protocol import shield

@shield(actions=["read_db","send_email"])
class SupportAgent:
def handle_ticket(self, ticket_id):
...

If the agent attempts an undeclared action, the call is rejected before execution.

Tradeoffs:

more complex than API keys (key management)

doesn’t stop prompt injection, only limits consequences

requires thinking in capabilities instead of identities

I’m trying to figure out if this is actually a missing primitive for agent systems or unnecessary complexity.

Repo:
https://github.com/theaniketgiri/aip

Spec:
https://github.com/theaniketgiri/aip/blob/master/RFC-001.md

Would especially like feedback from people running agents beyond demos.
by copper4eva | 2026-02-16 15:19:22+00:00
I think that pretty much ruins the whole point of Fischer Random. The point is to not be able to open prep at all, and have to deal with a wide variety of opening possibilities. Too many to reasonable predict and prepare for past the first few moves.

With being able to place your own pieces, you can much easily dictate your opening beforehand. And I have little to no doubt top players would converge towards certain optimal placements. And then you'd be back to playing the same positions over and over, just like standard chess. Which is what Fischer Random attempts to stray from.

Also, on a more subjective note, quite the crazy opinion to call this format "boring". I haven't looked at these games yet, but the 2022 World Championship had some absolute crazy games. With crazy openings and positions that you just never get in standard chess.