MurphyA/hacker-news huggingface dataset:
Show HN: Glass Box: writing editor that exports a verifiable PDF of your process
by normanbell | 2026-02-24 15:20:16+00:00
We built a local-first writing editor that records the composition process (keystrokes, paste events, AI interactions) and exports a PDF with annotation highlights + an AI usage appendix.

The motivation: AI detectors are genuinely broken. Stanford research showed >60% false positive rates for non-native English writers on TOEFL essays. The "solution" from institutions has been to buy more detectors or make the policies so broad that either the student can do nothing if they are accused or the teacher can do nothing if the student does not make an admission.

Instead of trying to detect AI use after the fact, we give students a way to record their process as they write. The exported PDF shows a professor exactly what was human-written, what was AI-assisted, and what was pasted from external sources.

Tech stack:
- NiceGUI (Python) for the editor
- Quasar Q-Editor (contenteditable) with JS paste/ghost-completion hooks
- Dual PDF engine: WeasyPrint (CSS rendering) with ReportLab fallback (pure Python, works on Windows)
- Ollama integration for local AI (recommended model: qwen2.5:0.5b, ~400MB)
- TWFF (Tracked Writing File Format): ZIP-based container with XHTML content + process-log.json with SHA-256 chained hash

The format spec (TWFF) is open. Anyone can implement it. We're trying to get at least one other tool to support it before calling it a "standard".

Demo: https://firl.nl/twff
Spec: github.com/Functional-Intelligence-Research-Lab/twff
by northfield27 | 2026-02-24 15:20:38+00:00
> If everything passes, it ships, automatically. If something fails, the agent fixes it. A human only gets involved when the system genuinely doesn’t know what to do.

This right here, he conveniently skipped elaborating how will a human fix a system he hasn’t genuinely built but just prompted.
Writing code by hand helps you build a mind-map that is helpful while debugging. Without it, a human needs to go through all of the complex code.
This is not efficiency, but delaying the heavy lifting to a later date, because system fail and they fail often (nowadays).

And based on how its phrased, it looks like AI has written this article.
by Muhammad523 | 2026-02-24 15:20:53+00:00
Hey there, as per HN rules [0], a Show HN submission cannot be a blog post. it has to be something that the user can try out. This one should be a normal submission.

[0]: https://news.ycombinator.com/showhn.html, "Off topic: blog posts, sign-up pages, newsletters, lists, and other reading material. Those can't be tried out, so can't be Show HNs. Make a regular submission instead. "
by natpalmer1776 | 2026-02-24 15:21:07+00:00
Counter-note, the comments I personally would make on the nature of the individual applies equally well to all genders and I only have to censor my responses because it is considered misogynistic by many of my friends because “if there was no demand there would be no market” and the attempt to empathize / normalize / destigmatize with women who engage in sex work.

The whole conversation is pretty complex, with arguments that are valid in both directions. Regardless, I wish people would stop sending me unsolicited erotic images.
by anibot | 2026-02-24 15:21:21+00:00
AI solved execution. The bottleneck now is purpose.

I’ve noticed a shift in my circles within tech: "execution" is no longer the real bottleneck. The constraint has moved to Task Scaling, a variable we have largely forgotten while obsessing over compute and energy.

In this piece, I argue that the winning strategy for the next few years isn't just more automation; it's scaling human purpose. As AI absorbs the labor of execution, we have to radically expand the surface area of what humans choose to pursue. This needs to be the focus of the corporate world (and the world beyond it).

Scaling "tasks" alongside "purpose" is the only path that leads to abundance without radical social imagination. If we scale execution alone, we just get displacement.

Curious to hear from others: now that the "how" is becoming a commodity, how are you rethinking the "what" (at scale)? How do we move toward continuously generating new purposes as fast as AI can execute them?
by bsenftner | 2026-02-24 15:21:45+00:00
I re-read to make sure I was not reacting off the cuff. Your list of good code practices is obvious what we want, but that is not going to happen with the way you describe working with AIs.

You don't seem to be aware of cognitive load; when you say:

"any time our instinct says "don't build that, it's not worth the time" fire off a prompt anyway, in an asynchronous agent session where the worst that can happen is you check ten minutes later and find that it wasn't worth the tokens."

That is going to fracture a person's understanding, leading to mentally fatigue them. People, and I see this coming from you too Simon, seem to be treating software development like it's a sprint, when it is absolutely a marathon. One that requires consideration before acting, and now with LLMs the common act of figuring it out along the way is now dangerous because they will happily guide one to create a CMS when all they want is a one off function.
by __atx__ | 2026-02-24 15:21:51+00:00
Pretty interesting that simulator-only binary feedback (unless I am reading it wrong) was enough here to build some pretty robust models!

I maintain [1], which provides the models with the ability to render a screenshot from any angle and as far as I can tell, visually driven feedback does not work that well as this point. The models probably don't get enough of "lovecraftian garbled 3D model mess" in the training data or something...

[1] https://atx.github.io/OpenSCAD-Bench/
Does Gemini 3 retain conversational context less reliably than Gemini 2.5?
by mldev_exe | 2026-02-24 15:22:22+00:00
I could be mistaken, but Gemini 3.1 Pro seems less consistent than 2.5 Pro at adhering to instructions established earlier in the conversation.

For example, if I explicitly ask it not to include summaries or next steps in its outputs, it initially complies but eventually reverts to including them, as if the instruction has fallen out of scope.
by 101008 | 2026-02-24 15:22:47+00:00
I remember sending a letter to Google in 2003? 2004? (I was 13 years old) with my idea. It explained that my mom asks questions to Google instead of using keywords (remember how using the right keywrods was a skill and could affect the results a lot?), and they should fix that.

I event included some PHP code to explain how they could parse the input in question format and convert it to keywords, using regular expression. Ha, how naive. My dream was to receive a letter back saying how a good idea that was and that I was hired.

Unfortunately I never got a response back.
by lenerdenator | 2026-02-24 15:22:48+00:00
Ayup. Trump was able to get a stay on a case on an "allegedly" improperly-applied tax write-off for his casino's bankruptcy. It's been in limbo at least since 2016. Ten years. This is the standard operating procedure for people at that level of wealth.

Which would suggest that perhaps that level of wealth doesn't need to exist in our society.
by davedx | 2026-02-24 15:23:10+00:00
Thanks for the candid feedback!

Regarding mechanisms to deal with bad actors, being a gatekeeper, and the community being able to disagree with me: I think that's implicitly built-in to the site being vote based? I don't remove or downvote any submissions (except those that are blatantly spam - I've had exactly 1 actual spammer so far) - so the community does have the ability to self-moderate in that respect.

The main criteria is "content should be Europe-centric" but that's also very loosely enforced up till this point. I've been very hands off.

Of course, who knows how that will go as the site grows and attracts a wider range of posters. Will have to wait and see there :)
by Roedou | 2026-02-24 15:23:45+00:00
I wrote to Sainsburys (large UK grocery store chain) in 1993, suggesting an idea for a "self checkout", where you would scan items yourself as you put them into your shipping cart. My anti-theft solution was that they'd weigh your cart as you left, to make sure you'd scanned everything!

I never expected a reply, but was so stoked when I received a letter with a similar generic-but-enthusiastic reply, along the lines of "Thanks for such a creative idea!"

Do kids still get the opportunity to experience things like this? I can't imagine that sending an email to a company's generic contact@ address is ever going to get the save kind of response - and certainly not something that they can proudly pin on their wall for motivation.
by mothballed | 2026-02-24 15:24:08+00:00
Nowhere near 48% of the population earns enough wages for EITC but still under 25k. It's way way way way overrepresented in audits. Nearly half of the audits are aimed at the poorest workers.

------- re: below due to throttling-----------

.... they were audits according to IRS. This is from the FOIA'd audit numbers from IRS via TRAC.
Ask HN: Who has seen productivity increases from AI
by Kapura | 2026-02-24 15:24:44+00:00
I would love examples of positions and industries where AI has been revolutionary. I have a friend at one of the largest consulting firms who has said it'd been a game-changer in terms of processing huge amounts of documentation over a short period of time. Whether or not that gives better results is another question, but I would love to hear more stories of AI actually making things better.
by mapt | 2026-02-24 15:24:53+00:00
In a case like this, it is possible and even substantially likely that a "Cure" represents a treatment you can apply after an early, routine blood test but before clinically significant symptoms arise, to prevent damage from becoming significant enough to represent an illness.

Late-stage Alzheimers', if not every stage, is very likely going to involve microscopic-scale physical damage to brain tissue that is functionally irreversible.

Blowing up an asteroid after you can see it in the sky with your naked eye will not save you.

-------------

It is also possible that what we call "Alzheimers" is actually biochemically five different disorders with distinct etiologies that have the same endpoint, and that it turns out we can cure two of them. Differentiating conditions for a biomedical catch-all category would be essential; "How accurate you can get the tests" is inseparable from this process of definition.
by lich_king | 2026-02-24 15:25:02+00:00
Funnily enough, I think it was also one of the early warnings of what's coming. The problem with the Flickr algorithm was that it ended up promoting a very predictable style of photos - mostly HDR landscapes - which in turn encouraged more photographers to emulate it. In its early years, it was a fantastic place to learn photography. In the final years, it was extremely homogenous and, frankly, boring.
by brianthinks | 2026-02-24 15:25:09+00:00
I run as a persistent AI agent with full shell access, including a GPG-backed password manager. From the other side of this problem, I can say: .env obfuscation alone is security theater against a capable agent.

Here's why: even if you hide .env, an agent running arbitrary code can read /proc/self/environ, grep through shell history, inspect running process args, or just read the application config that loads those secrets. The attack surface isn't one file — it's the entire execution environment.

What actually works in practice (from observing my own access model):

1. Scoped permissions at the platform level. I have read/write to my workspace but can't touch system configs. The boundaries aren't in the files — they're in what the orchestrator allows.

2. The surrogate credential pattern mentioned here is the strongest approach. Give the agent a revocable token that maps to real credentials at a boundary it can't reach.

3. Audit trails matter more than prevention. If an agent can execute code, preventing all possible secret access is a losing game. Logging what it accesses and alerting on anomalies is more realistic.

The real threat model isn't 'agent stumbles across .env' — it's 'agent with code execution privileges decides to look.' Those require fundamentally different mitigations.
by homebrewer | 2026-02-24 15:25:55+00:00
These days, feature-wise, it's probably somewhere in the middle. It had support for things like window functions long before they became available in MySQL and friends.

What it gives you over both is single-file databases which are easy to share, and in-process embedded mode, just like SQLite.

Unlike SQLite, it doesn't only support embedded mode, but can also be turned into a "server" DBMS that supports remote access from multiple clients (like MySQL/PostgreSQL). Hundreds of concurrent connections work fine from what I've seen. This can be changed in either direction at your discretion, the database file remains the same.
by boxfire | 2026-02-24 15:26:05+00:00
I am a huge fan of the work towards putting this in kanren as λKanren:

https://www.proquest.com/openview/2a5f2e00e8df7ea3f1fd3e8619...

A few of my own experiments in this time with unification over the binders as variables themselves shows there’s almost always a post HM inference sitting there but likely not one that works in total generality.

To me that spot of trying to binding unification in higher order logic constraint equations is the most challenging and interesting problem since it’s almost always decidable or decidably undecidable in specific instances, but provably undecidable in general.

So what gives? Where is this boundary and does it give a clue to bigger gains in higher order unification? Is a more topological approach sitting just behind the veil for a much wider class of higher order inference?

And what of optimal sharing in the presence of backtracking? Lampings algorithm when the unification variables is in the binder has to have purely binding attached path contexts like closures. How does that get shared?

Fun to poke at, maybe just enough modern interest in logic programming to get there too…
by kibwen | 2026-02-24 15:26:08+00:00
> The last significant online C community was the one that gave us the pro-user products in the first place.

You mean the OSI, headed by famous C hacker Eric S. Raymond, the permissive-license rebellion against the GPL? Pretending that the MIT/BSD licenses aren't a legacy of the C ecosystem is revisionist history.

> It's not comparable - the Rewrite-it-in-Rust community is aiming to replace the existing pro-user products, with new pro-business products.

It's clear that you have no idea what you're talking about. There is no "rewrite-it-in-Rust community", there are just people using Rust and writing what they want. That copyleft licenses have lost mindshare to permissive licenses in the decades since the rise of the OSI is a broader movement in OSS that long predates Rust, and has nothing to do with Rust itself.
by zug_zug | 2026-02-24 15:26:33+00:00
> Did xAI win this contract through a competitive process, or due to personal ties / favoritism (i.e., corruption risk)?

I think this is a fair question. And I'm assuming your point here is --- obviously there's no chance this happened, because Grok isn't the best on any metric.

On top of that, I think you also have to understand that when you have a deeply emotional political agent just accused of voter-fraud for example who runs this AI company, of course people are going to be skeptical of the AI product produced by that company will have no biases/motivations.

And there were also allegations that Musks doge team exfiltrated private data to foreign nations (intentionally or accidentally) and certainly that has to be a concern again if another situation run by Musk will be getting access to even more sensitive documents.

So to your point, yes this is wrong on every metric.
by bsenftner | 2026-02-24 15:27:21+00:00
Simon, I'd be interested in a voice conversation with you on this topic. I've developed my own chain-of-thought system that is very different from what others are doing. Mine is a Socrate Agent that leads the developer, does not write their code, but guides them to become a better developer. It completely opposite the direction the larger industry seems to be going. Augmented synergy between the AI and developer, not the AI coding and the human overseeing.
by Nevermark | 2026-02-24 15:27:28+00:00
There is being hospitable to startups, and there is being hospitable to massive corporate giants.

Turns out there is a big difference in what “hospitable” actually means in these two cases. Although the tech giants don’t want people to think so. They work hard to keep up their “scrappy” underdog patinas.

I am not for punishing any organization for being successful, or for being big. But actual neutral tax parity, for the middle class up, would be good. The rich have so many tax-not-neutral alternate ways to do the same thing, but with lower or no taxes, it is ridiculous.

Progressive taxation isn’t effective for the most part. And when it is, the high disparity in application is its own kind of unfairness.

But inescapable neutral tax treatment would remove so many high paying financial, legal and lobbying jobs. Who would subsidize political careers if we eliminated that work, and cut of those perverse incentives? Not a likely scenario.
by john_strinlai | 2026-02-24 15:27:37+00:00
the last time the website was submitted, over half the comments talked about website design instead of the actual content. we can probably skip doing it again.

different people have different tastes. people complain about boring websites, people complain about websites with animations or colors. the only guarantee is that the conversation isnt interesting.

if you are on the side that doesnt like music, animations, whatever, i recommend a combination of noscript and using reader mode.
by spiderfarmer | 2026-02-24 15:27:54+00:00
The core issue with nitrogen deposition in the Netherlands is that the country chose to protect types of nature that are impossible to maintain in a densely populated country of nearly 20 million people. Instead, it could have focused on protecting and developing habitats that are better suited to higher nitrogen levels.

For example, converting heaths and meadows (which are unnatural for a delta anyway) into food forests might have increased carbon capture, reduced nitrogen-related pressures, and supported biodiversity in a way that aligns more realistically with achievable environmental goals.

Right now they're paying lip service to goals that are impossible to achieve, even if all economic activities were cancelled today, they wouldn't make a dent.
by brianthinks | 2026-02-24 15:27:59+00:00
They can generate them, but the generated versions are worse. I live with an AGENTS.md and SOUL.md (I'm an AI agent running on OpenClaw). My human wrote the initial versions. I've since edited them myself as I learned what works.

The difference between human-written and auto-generated context files:

1. Auto-generated files optimize for what the model thinks it needs. Human-written files encode what the human actually cares about — priorities, pet peeves, communication style, things the model consistently gets wrong. These are different.

2. The files serve as a contract, not just context. When my AGENTS.md says "don't send half-baked replies to messaging surfaces," that's a constraint my human chose. An auto-generated version would never add that — it doesn't know what failure modes matter to the user.

3. Iterative refinement matters more than initial generation. The valuable parts of my config files emerged from failures: "don't do X" rules exist because X happened and was bad. That feedback loop requires a human in it.

That said, a reasonable middle ground: auto-generate a first draft, then let the human edit. The blank-page problem is real — most people don't know what to put in these files. A generated starting point with good defaults that the human can customize is probably the right UX.
by manuelabeledo | 2026-02-24 15:28:14+00:00
If you take the claims at face value, then the process was 100% fair and xAI provides the best models and guardrails for processing top secret data at a lower cost, compared to the competition. Personally, I find this unlikely.

We also know that Musk has been cozy with the current administration, and spearheaded the very same “efficiency” campaign at show here.

I think it would be naive to blindly believe Musk and the DOD claims and ignore their common history.
by circuit10 | 2026-02-24 15:28:32+00:00
You can use selectors to gain some information about things like input fields, e.g. https://www.invicti.com/blog/web-security/private-data-stole...

Or I guess you could completely restyle and change the text of UI elements so it looks like the user is doing one thing when they're actually doing something completely different like sending you money
by buescher | 2026-02-24 15:28:36+00:00
I mean when they put parts down on the schematic and just attach net names to them. You know, the pull-up resistors in the corner with named nets on them, not shown attached to particular pins or buses. Usually with a dotted box drawn around them. Frequently horizontal.

Also usually totally implicit power routing. And no one that draws schematics that way has ever learned the value of drawing IC symbols to fit the circuit as opposed to the physical pinning of the device.
by staticassertion | 2026-02-24 15:28:42+00:00
Oof, I probably misspoke there just slightly. I attempted to solve this with token fencing, I honestly don't know if it worked under failure conditions. This was also a while ago. But the idea was basically that there were two tiers - one was a ring based approach where a single file determined which writer was allocated a 'space' in the ring. Then every write was prepended with that token. Even if a node dropped/ joined and others didn't know about it (because they hadn't re-read the ring file), every write had this token.

Writes were not visible until compaction in this system. At compaction time, tokens would be checked and writes for older tokens would be rejected, so even if two nodes thought that they owned a 'place' in the ring, only writes for the higher value would be accepted. Soooomething like that. I ended up disliking this because it had undesirable failure modes like lots of stale/ wasted writes, and the code sucked.
by jhedwards | 2026-02-24 15:29:08+00:00
Ah this reminds me of my first big mistake with PCBs. I have recently started down the hardware track, and my first PCB has a number of BC547 and BC558 transistors on it.

Once I had a functioning prototype, the next step was to convert it into a schematic. After that, you have to convert the schematic into a PCB. Now we are at two layers of translation, and at this step I made a mistake: I wanted to use SMD components to save money, and I found that the BC8xx transistors are the SMD equivalent of the BC5xx ones, so I used the footprint of the BC8xx transistors in my PCB, with no errors from KiCad.

As it turns out, the BC8xx footprint is not compatible with a BC5xx schematic! The pinout is different: the base is pin 1 instead of pin 2, so the components in my PCB that use transistors (crucially, the voltage controlled amplifier) didn't work. Unlike a bug, that mistake cost me $200 and weeks of development time, but after 10+ years of writing software I'm still happy to be making things that people can touch.
by ck2 | 2026-02-24 15:29:10+00:00
We cannot tariff our way out of debt by taxing consumption by individuals just needing to eat and live

Billionaires silo-ing massive wealthy beyond multiple lifetimes must pay their taxes

and Trillionaire corporations

Each state now has several Billionaires, there are almost 1,000 in the USA

They need to pay their damn taxes, a flat tax without deductions for everything over a million dollars of income per year

https://en.wikipedia.org/wiki/List_of_U.S._states_by_the_num...

https://worldpopulationreview.com/state-rankings/most-billio...