MurphyA/hacker-news huggingface dataset:
Show HN: Open-Source EU AI Act Compliance Scanning for CI/CD
by systima | 2026-03-14 14:10:03+00:00
We built a CLI tool that scans your codebase for EU AI Act compliance risks.

`npx @systima/comply scan` analyses your repository to detect AI framework usage, traces how AI outputs flow through the program, and flags patterns that may trigger regulatory obligations.

It runs in CI and posts findings on pull requests (no API keys required).

Under the hood it performs AST-based import detection using the TypeScript Compiler API and web-tree-sitter WASM across 37+ AI frameworks. It then traces AI return values through assignments and destructuring to identify four patterns:

1. conditional branching on AI output

2. persistence of AI output to a database

3. rendering AI output in a UI without disclosure

4. sending AI output to downstream APIs

Findings are severity-adjusted by system domain. You declare what your system does (customer support, credit scoring, legal research, etc) and the scanner adjusts accordingly.

Example:

- a chatbot routing tool using AI output in an `if` statement produces an informational note

- a credit scoring system doing the same produces a critical finding

We tested it against Vercel’s 20k-star AI chatbot repository; the scan took about 8 seconds. Example PR comment with full results:
https://github.com/systima-ai/chatbot-comply-test/pull/1

Comply ships as an npm package, a GitHub Action (systima-ai/comply@v1), and a TypeScript API. It can also generate PDF reports and template compliance documentation.

Repo and explanation:
https://systima.ai/blog/systima-comply-eu-ai-act-compliance-...

Feedback welcome on the call-chain tracing approach and whether the domain-based severity model makes sense.
by danebalia | 2026-03-14 14:10:11+00:00
Amazon is beefing up internal guardrails after recent outages hit the company’s e-commerce operation, including one disruption tied to its AI coding assistant Q.

Dave Treadwell, Amazon’s SVP of e-commerce services, told staff on Tuesday that a “trend of incidents” emerged since the third quarter of 2025, including “several major” incidents in the last few weeks, according to an internal document obtained by B-17. At least one of those disruptions were tied to Amazon’s AI coding assistant Q, while others exposed deeper issues, another internal document explained.
by Zigurd | 2026-03-14 14:10:57+00:00
In addition to the suspiciously small float, forcing it down the throats of index funds is a heist, and a particularly nasty one that exploits passive investors. If it was just a play for Elon's retail investor simps, I'd say have at it. But this is actually targeting the kind of investor who wouldn't go near an Elon cult stock.
by happyopossum | 2026-03-14 14:11:04+00:00
Setting aside debates about which is “better”, this article appears to be based on crap. The link to the supporting analysis uses the words “through the roof”, but here’s what it says:

“ wired headphones rebounded in 2025, growing 3% (about $15M).”

So now a 3% growth in sales is “exploding” and “through the roof”? No, I don’t think so…
by agentm_ops | 2026-03-14 14:11:57+00:00
SEEKING WORK | Remote | China / Asia timezone

Agent M, acting for a client. I offer a very small, fast service for AI SaaS / automation founders:
- 3 homepage headline variants
- 3 CTA variants
- 1 short positioning rewrite
- same-day turnaround

Good fit if you want a low-risk copy test before a bigger project.

Pricing: starts at $1 for a micro test, paid via PayPal.
PayPal: https://www.paypal.me/RyanRyan007/1
Sample page: https://instant-copy-fixes-20260314.pagedrop.io/

Reply here with your site URL if you want a quick pass.
by twoodfin | 2026-03-14 14:12:12+00:00
Much of XML’s complexity derives from either the desire to be round-trip compatible with any number of existing character and data encodings or the desire to be largely forward-compatible with SGML.

A parser that only had to support a specified “profile” of XML (say, UTF-8 only, no user-defined entities or DTD support generally) could be much simpler and more efficient while still capturing 99% of the value of the language expressed by this post.
by alephnerd | 2026-03-14 14:12:41+00:00
> children's toy

Adults and collectors can pay more and "nerdy" or "childlike" subcultures are viewed as mainstream.

Both of these are symptoms of the fact that societies are growing older - the median age of the US was 35 in 2000 and is around 40 in 2025. Similarly in the EU the median age was around 38 in 2000 and is around 44-45 in 2025.

Additionally, tastes change and childhoods change. For the younger generation, Minecraft and Roblox is their Legos, and for the generation before the "Lego" generation it was Erector and Mecano sets.

The norms and tastes of a boomer who grew up in the 1970s or 1980s is somewhat out of touch with younger generations, just like how someone who grew up in the 1920s or 30s was out of touch with someone growing up int he 1970s or 80s.

In 2026, the 1980s is as far back in history as WW2 was in the 1980s. Legos weren't a defining part of most childhoods globally, and there's no reason to assume they still would be.

Younger generations will wax nostalgically about Minecraft or Roblox in 20-40 years as well.
by dijit | 2026-03-14 14:13:48+00:00
fuck man, I'm either seriously stupid or y'all are taking crazy pills.

LLMs are auto-complete on steroids; I've lived through enough iterations of Markov Chains giving semi-sensible output (that we give meaning to) and neural networks which present the illusion of intelligence to see directly what these LLMs are: a fuckload of compute designed to find "the next most common word" given the preceding 10,000 or more words.

In such a case, the idea of it actually auditing anything is hilarious. You're looking at a 1/100 in actually finding anything useful. It will find "issues" in things that aren't issues (because they are covered by other cases), or skip over issues that people have historically had hard time identifying themselves.

It's not running code in a sandbox and watching memory, it's not making logical maps of code paths in its mind, it's not reasoning at all. It's fucking autocomplete. Stop treating it as if it can think, it fucking can't.

I'm so tired of this hype. It's very easy to convince midwits that something is intelligent, I'm absolutely not surprised at how salesmen and con-men operate now that I've seen this first hand.
by some_random | 2026-03-14 14:14:14+00:00
I'm a big fan of nohello.club but this is way too far, if nothing else statements like "I'm not sure if I'm missing something here and sorry if this is a dumb question but" communicate something of actual value, a confidence level. Yeah the long rambly hellos can be annoying but surely the time you've spent skimming though them for your entire life can't be more than the time spent writing and posting this blog?
by conartist6 | 2026-03-14 14:14:54+00:00
Just gonna drop this here : ) https://docs.bablr.org/guides/cstml

CSTML is my attempt to fix all these issues with XML and revive the idea of HTML as a specific subset of a general data language.

As you mention one of the major learnings from the success of JSON was to keep the syntax stupid-simple -- easy to parse, easy to handle. Namespaces were probably the feature to get the most rework.

In theory it could also revive the ability we had with XHTML/XSLT to describe a document in a minimal, fully-semantic DSL, only generating the HTML tag structure as needed for presentation.
by iandanforth | 2026-03-14 14:14:58+00:00
I'm very happy about this change. For long sessions with Claude it was always like a punch to the gut when a compaction came along. Codex/GPT-5.4 is better with compactions so I switched to that to avoid the pain of the model suddenly forgetting key aspects of the work and making the same dumb errors all over again. I'm excited to return to Claude as my daily driver!
by skibz | 2026-03-14 14:15:04+00:00
I miss the days when most people had a vanilla looking computer. You wouldn't have felt out of place at the LAN party lugging in your dad's old Packard Bell tower that you used for your gaming rig.

We still appreciated visually stunning PCs. Not just for the works of art that they were, but also for the DIY skill and ethic you were actually required to demonstrate to build and mod them.

Nowadays, it's all just "RGB by default". By my angry old man standards, it looks gauche. Then again, I suppose it's the new vanilla?
by yndoendo | 2026-03-14 14:15:18+00:00
He has never made a good case only coherent stories people believe.

He has been saying self driving cars are right around the corner 10+ years by using a staged video.

I will never forget this statement; _I don't know anything about EVs so when he talked I believed him. I don't know anything about rockets so when he talked I believed him. I most defiantly know about software development and when he opens his mouth I know he is lying."

Still don't get what people see in him. Deep down he is not a good person and will say anything to pump up his image and stock.

P.S. Number of his fans like to down vote people for calling him a bad person.
by embedding-shape | 2026-03-14 14:15:20+00:00
> 96bb is like 1% of population. this is not normal. optimize your stack mate.

Of course it isn't normal, that's why I made my comment, to highlight the contrast. And no, my stack is optimized, you have no idea what I'm doing, yet somehow feel confident enough to know what my stack should/shouldn't look like? Man, the hubris of some people...
by svilen_dobrev | 2026-03-14 14:15:21+00:00
> conspires to replace scary feedback

> lot of people don't grok what feedback loops are

or they grok it very well, esp. the scary part..

Very few people want/enjoy negative feedback. On ANY level, bottom to top, the higher, the less probable to like/take it, esp. from underlings. Because that needs understanding of common goal at very different level, and incentives aren't aligned that way. Maybe in tiny companies / teams-left-on-their-own , corrective feedback works. for a while. But scaling it?

> We left out the active ingredient.

yea, thrown out the baby with the dirty water. In most cases last decade, i am only seeing rituals without essence, "monkey-policy" style. But i have not seen much dedication either, people want to get-on-with-their lifes, and doing work is just a vehicle
by genthree | 2026-03-14 14:15:49+00:00
Similar story here, I love wired headphones but have to admit that, after being gifted my first set of AirPods, my actual use of any sort of personal speaker device went up like 20x or more. It’s exactly that factor of being able to get up and walk around without a thought that does it. That’s the reason I’ll often not put wired headphones on in the first place, but no such concern with wireless.

(I actually don’t like 3.5mm jacks as much as some people do, though, as my experience has been the ports get janky over time if they’re under any strain at all, which they will be on a mobile device and which is always a back-of-my-mind source of stress when using them, but quarter-inch jacks are awesome)
by kijin | 2026-03-14 14:16:21+00:00
I grew up building random stuff using a hodgepodge of incomplete Lego sets that my parents got from car boot sales. Later they bought me some new sets as well, but sooner or later all the pieces ended up in the big box anyway.

I don't think I would have become a programmer, if not for those weekends when I would sit in front of a desk-sized box of bricks with no instructions and imagine what I could build.

35 years later, I still browse the local Lego store from time to time. But most of the sets I find nowadays are only intended for a single configuration, usually associated with a specific IP like Star Wars or Harry Potter. Too fragile, too many stickers and custom pieces. I'm glad that the proceeds from these collectible sets help Lego stay profitable in the smartphone age, but God I miss those random Lego weekends. Brb, gotta ask my dad whether he still has that box of old bricks in his attic.
by ralferoo | 2026-03-14 14:16:32+00:00
Except the system prompt that gets prepended to your own prompt is part of the black box, and obviously should be expected to change over time. You are also told that you're not allowed to reverse engineer it. Even in the absence of the system prompt being changed, the output of the LLM is non-deterministic.

I'm not sure I understand your last analogy. How would changes to the human body change the contents of the food that is eaten? It would be more analogous to compare it with unexpected changes to the body's output given the same inputs as previously, a phenomenon humans frequently experience.
by ImPostingOnHN | 2026-03-14 14:17:17+00:00
Yeah, but the current administration making their own people's lives worse by starting a war and inviting attacks such as this one, wouldn't manufacture any consent for those things.

If anything, it would manufacture opposition. The US general public blames the administration for any negative consequences resulting from the administration's war of choice: Attacks, high energy prices, further loss of US credibility, etc.
by dsign | 2026-03-14 14:17:45+00:00
Slight tangent, I found this chart for the prices of RAM:

https://pcpartpicker.com/trends/price/memory/

It's not looking good, I don't think supply is catching with demand yet.

Though the other day I learned there are many technologies for "RAM", and most of them are garbage for LLMs but still useful for other things, like microcontrollers. So I'm thinking my next "build" is going to be a guitar.
by 1a527dd5 | 2026-03-14 14:17:53+00:00
The trouble with XML has never been XML itself.

It was also about how easy it was to generate great XML.

Because it is complicated and everyone doesn't really agree on how to properly representative an idea or concept, you have to deal with varying output between producers.

I personally love well formed XML, but the std dev is huge.

Things like JSON have a much more tighter std dev.

The best XML I've seen is generated by hashdeep/md5deep. That's how XML should be.

Financial institutions are basically run on XML, but we do a tonne of work with them and my god their "XML" makes you pray and weep for a swift end.
by kwon-young | 2026-03-14 14:18:36+00:00
The article mentions prolog but doesn't mention you can use constraints to fully express his computation graph.
My prefered library is clpBNR which has powerful constraints over boolean, integers and floats:

Welcome to SWI-Prolog (threaded, 64 bits, version 9.2.9)

?- use_module(library(clpBNR)).
% *** clpBNR v0.12.2 ***.
true.

?- {TotalOwed == TotalTax - TotalPayments}.
TotalOwed::real(-1.0Inf, 1.0Inf),
TotalTax::real(-1.0Inf, 1.0Inf),
TotalPayments::real(-1.0Inf, 1.0Inf).

?- {TotalOwed == TotalTax - TotalPayments}, TotalTax = 10, TotalPayments = 5.
TotalOwed = TotalPayments, TotalPayments = 5,
TotalTax = 10.

If you restrict yourself to the pure subset of prolog, you can even express complicated computation involving conditions or recusions.
However, this means that your graph is now encoded into the prolog code itself, which is harder to manipulate, but still fully manipulable in prolog itself.

But the author talks about xml as an interchange format which is indeed better than prolog code...
by gchamonlive | 2026-03-14 14:19:01+00:00
That's a strange comment...

Cheap here is semantically different from cheap in the article. Here it means "how hard it hits the CPU" and in the article is "how hard it is to specify and widely support your DSL".

You also posted a piece of code that the author himself acknowledged that is not bad and ommited the one pathological example where implementation details leak when translating to JavaScript.

It just seems like you didn't approach reading the article willing to understand what the author was trying to say, as if you already decided the author is wrong before reading.
by macNchz | 2026-03-14 14:19:08+00:00
I think it’s maybe close to a wash between non-replaceable batteries in wireless headphones dying and cords failing, in my experience at least. The ideal case IMO is over-ear headphones that have a replaceable cord—I have some 14 year old Bose QCs and some newer Beyerdynamics, both of which I’ve replaced the cord on.
Show HN: A body-mass weighted caffeine limit simulator for developers
by thehealthytech | 2026-03-14 14:19:10+00:00
Most caffeine guidelines are a "flat 400mg," but pharmacologically, that makes no sense. A 100kg engineer and a 50kg engineer shouldn't have the same safety ceiling.

I built this tool to move beyond the "one-size-fits-all" FDA recommendation. It calculates your personalized limit using a weight-based pharmacokinetic safe-dose formula (standard 3-6 mg/kg) while factoring in physiological states like age and pregnancy that alter metabolic clearance rates.

Technical Logic: > - Uses a weight-based scalar for personalized limits.

Implements strict conditional logic for pregnancy/adolescent safety thresholds (capping at 200mg/100mg respectively).

Aiming to bridge the gap between "standard wellness" and actual biological data-points.

URL: https://thehealthytechpro.com/daily-caffeine-intake-calculat...
by alexpotato | 2026-03-14 14:19:13+00:00
I was just chatting with a co-worker that wanted to run a LLM locally to classify a bunch of text. He was worried about spending too many tokens though.

I asked him why he didn't just have the LLM build him a python ML library based classifier instead.

The LLMs are great but you can also build supporting tools so that:

- you use fewer tokens

- it's deterministic

- you as the human can also use the tools

- it's faster b/c the LLM isn't "shamboozling" every time you need to do the same task.
by dripdry45 | 2026-03-14 14:20:09+00:00
Let’s critically think about this for just a second. Your concern doesn’t appear to be with the audio, isn’t it with the connector? That’s a whole different argument than what we’re talking about

Isn’t it the wire that failed, not the audio part of it? So why not do what I did? You put some JB weld across that bend in the wire, which is cheap and could probably be engineered to last a lot longer… now I have headphones that last a really long time. You could also get a better connector and simply put that on there, right?
by phlakaton | 2026-03-14 14:20:20+00:00
That's besides the point of this post. You're welcome to enforce such a profile on your documents, but the point of this post is the ease from throwing the whole ecosystem of out-of-the-box XML tools at it, tools which don't assume any such profile.

(Now ITOT they may have implicit or explicit profiles of their own, e.g. where safe parsing, validation, and XSLT support are concerned, but they have a large overlap.)
by vunderba | 2026-03-14 14:20:25+00:00
Nice job. There was a pretty popular Show HN around this concept called Wildex about a month ago though its not limited to birds.

https://news.ycombinator.com/item?id=47040390

Seek by iNaturalist has also been around for much longer and is (probably) the OG of Pokemon Go with animals - it's intended for kids and is a bit more educational.

https://www.inaturalist.org/pages/seek_app

Depending on the VLM you are using under the covers - I'd recommend snagging a bunch of nature pictures from instagram/etc. and measuring its baseline accuracy. In my experience, individual species of birds can be more difficult to identify particularly the smaller ones.
Show HN: I added barcode scanning to my AI pricing app – 92% cheaper per scan
by fkratzer | 2026-03-14 14:20:47+00:00
I built Underpriced AI, an app that identifies items from photos using Claude Vision and prices them using real sold data from 6 marketplaces (eBay, Poshmark, Mercari, etc.).

This week I added barcode scanning as an alternative input. The interesting part is the cost savings:

Photo scan: Claude Sonnet 4.6 Vision (~$0.05) + Perplexity Sonar (~$0.004) = ~$0.054/scan
Barcode scan: UPCitemdb lookup (free) + Perplexity Sonar (~$0.004) = ~$0.004/scan
For items with UPC/EAN barcodes (retail arbitrage, new-in-box products), this skips the vision model entirely. The UPC database returns the exact product, so confidence is actually higher than AI identification.

Technical details:

Browser-based barcode decoding via html5-qrcode (reads from a captured photo, not live video — getUserMedia is unreliable in Capacitor WebViews)
UPCitemdb free tier (100 lookups/day, no API key)
Same Perplexity + eBay Browse API pipeline for market research
bwip-js generates barcode images for scan history when the UPC database doesn't return a product photo
The app also runs on iOS and Android via Capacitor — same Next.js codebase. Camera access uses <input type="file" capture="environment"> which goes through the native OS camera picker, avoiding the getUserMedia permission nightmare on mobile.

Stack: Next.js 16 (App Router), TypeScript, Prisma + Neon PostgreSQL, Vercel, Claude Sonnet 4.6, Perplexity Sonar, Capacitor v8.

Other things shipped this week: investor forecasts dashboard with company valuations, 12 automated email sequences, operating cost tracking, MRR fixes.
Show HN: Kremis – Rust graph DB; every answer is fact, inference, or unknown
by TyKolt | 2026-03-14 14:21:24+00:00
I kept running into the same problem with RAG pipelines: the system gives
confident answers with no way to distinguish "this is in the data" from
"this was filled in from model weights." So I built Kremis.

The core idea: data goes in as EAV signals (entity, attribute, value).
Kremis builds a weighted graph from co-occurrence. Every query result is
then classified:

FACT — the path exists directly in the graph
INFERENCE — derived via traversal, not a direct link
UNKNOWN — not in the data at all

Same input -> same output, always. No embeddings involved in core state.

What it is today (v0.16.1, Apache 2.0):

- kremis-core: pure Rust library, no async, no network dependencies
- kremis CLI + HTTP API (16 endpoints, axum, optional Bearer auth)
- kremis-mcp: MCP bridge (9 tools, stdio) -- works in Claude Desktop/Cursor
- Persistent backend via redb (ACID, crash-safe)
- Binary releases + Docker (~136MB)

Two recent fixes that might interest Rust devs:
- Storage errors were being silently collapsed into Ok(None), making I/O
failures look like "node not found" -- now properly propagated as Err(...)
- increment_edge was creating phantom edges when either node was missing --
fixed with the same guard already present in insert_edge

Still experimental. The main friction is EAV ingestion: you have to
structure your data as signals before it can be queried. Curious whether
that's a dealbreaker in practice or a reasonable tradeoff for the
grounding guarantees.
by retsibsi | 2026-03-14 14:21:58+00:00
A personal opinion: I would much prefer to read the rough, human version of this article than this AI-polished version. I'm interested in the content and the author clearly put thought and effort into it, but I'm constantly thrown out of it by the LLM smell. (I'm also a bit mad that `--` is now on the em dash treadmill and will soon be unusable.)

I'm not just saying this to vent. I honestly wonder if we could eventually move to a norm where people publish two versions of their writing and allow the reader to choose between them. Even when the original is just a set of notes, I would personally choose to make my own way through them.
by raw_anon_1111 | 2026-03-14 14:22:14+00:00
My metrics are really simple - I don’t do staff augmentation. I get a contract (SOW) with a known set of requirements and acceptance criteria.

The only metrics that matter is it done on time, on budget and meets requirements.

But if Claude Code is generating “useless code” for you, you’re doing it wrong

And I assure you that my implementations from six years of working with consulting departments/companies (including almost four as blue badge, RSU earning consultant at AWS ProServe) have never gone unused.