MurphyA/hacker-news huggingface dataset:
by labcomputer | 2025-12-24 10:57:22+00:00
> What am I missing?

Not much, but consider latency: You can use the Group Execute Trigger (GET) to simultaneously trigger multiple instruments with both very low latency and very low latency dispersion. Think, easy-to-use sub-microsecond synchronization.

Ethernet and USB 4 may have orders of magnitude more bandwidth, but can’t achieve the same multi-device synchronization capability without side channel signals.

Now, sure, you can add the same capability with a programmable pulse generator connected via coax to the trigger input of all your instruments, but GBIP lets you do that with just the data connection (and you don’t always have a spare trigger channel). The only other protocols I know of with similar capabilities are PXI and PXIe, which are “PCI(express) in an incompatible form-factor, plus some extra signals for real time synchronization”.
by OneDeuxTriSeiGo | 2025-12-24 10:57:30+00:00
I'm super appreciative to see posts like this. I love NixOS and Nix in general but getting cross compile to "just work" became a lot less trivial in a post-flake world and I feel like every time I have to do it I need to relearn the entire process.

Having a clear guide like this to keep as a handy reference is massively appreciated.
by CGamesPlay | 2025-12-24 10:58:10+00:00
> Pretty sure you are a troll < OK, I'll come clean: I knew what Textualize is before I even evaluated toad, and have never to date found a Textualize app that "sparked joy" as it were. But I figured I should try Toad anyways since A) I strongly resonate with the problem statement of Toad and B) surely the creator of the library would create a best-in-class implementation using that library.

> If you don't like the keyboard control, you could always just use your mouse to click stuff. < You're reading me backwards. I like keyboard control, but feel like Textualize is a mouse-first UI library. Pressing arrow keys when launching Toad does nothing because I'm not in a "control". As a user, I am supposed to intuitively know that "Recommended" and "Coding agents" are "different controls" and so it should be obvious to me that the arrow keys would not navigate between them?

> 100x20 characters IIRC < You have 20 lines to work with and you decided to shove 4 of the main actions for the form into a modal control within the modal dialog. That's my point.

> Which is displayed prominently in the footer. < That's rich. You dedicate 3 lines to the "show in launcher" button and a "Go" button and say the one line at the bottom of the screen is "prominently". Also, that message isn't even on the opening screen of the app, presumably because I have a flawed understanding of what a "control" is.

> I don't think you were interested in fixing it, as you would have mentioned an error message.

No, the error message was perfectly clear! That's how I knew the solution. "Agent returned a failure code: 127 - /bin/sh: claude-code-acp: command not found" The solution is to run via npx.

> It does work for multi-word commands. But if your command contains a space you will need to wrap it in quotes. < You are wrong.

$ toad run "npx @zed-industries/claude-code-acp"
Not a directory: npx @zed-industries/claude-code-acp

> I imagine you don't work in the terminal much? < Please don't blame your users for uncovering bugs that your coding agent put in that you didn't catch in review.

Anyways, go take your sabbatical, relax, you need it. I do genuinely want a better CLI interface for my coding agents and what you said elsewhere that the landspace is "like building a browser for a single website" is very true. Hopefully you come back with fresh eyes and can make a compelling offering in this space.
by bitvaulty | 2025-12-24 10:58:15+00:00
Hi HN,

I’ve been experimenting with something small but surprisingly tricky: capturing tasks and reminders the moment they pop into your head, without breaking flow.

I often notice I think in voice first. “I should follow up with X next week”, “remind me to book that appointment”, “schedule a call tomorrow afternoon”. But unless I stop what I’m doing and open the right app, those thoughts tend to disappear.

Katchy is my attempt at a voice-first way to turn those thoughts into actions:

you speak naturally

the intent is extracted

it becomes a reminder, a scheduled action, or a follow-up

It’s not meant to replace calendars or task managers. The idea is simply to reduce friction between having the thought and capturing it.

This is very early, and I’m mostly trying to learn:

when voice feels genuinely faster than typing

when it feels awkward or unnecessary

what kinds of actions people would (or wouldn’t) trust voice for

Landing page: https://katchy.app

I’d love honest feedback, especially:

cases where this wouldn’t fit your workflow at all

tools you already use that solve this better

reasons you’d personally avoid voice for this kind of thing

Thanks for reading, and happy to answer questions.
by pests | 2025-12-24 10:58:46+00:00
How much solar do you have? Any battery? What rate does your power company give you?

I recently bought 30 600w panels that were used, apparently they used to be on a GM parking lot canopy but got uninstalled during covid lockdown and were in storage for ~4 years. I got a great price and I've tested ~30% and they are all in spec.

We pay ~$0.23 per kwh all in (supply, distribution, etc). Our provider (DTE) only pays ~$0.08 per kwh we supply, and its a credit and maxed out at our bill. So if we spend $200 on energy, we can only get $200 off. Which does mean free electricity, but also means no profit.
Show HN: Sensei, documentation agent for coding agents
by alizainf | 2025-12-24 11:00:13+00:00
For the last 4 months, I've been programming exclusively with AI. One of the most painful parts has been getting correct and up-to-date documentation for third-party libraries. So I made an agent to fix that.

You can add it as an MCP tool to anything.

It works because it's just focused on doing research for code. You can check out the prompts https://github.com/803/sensei/blob/main/sensei/prompts.py. I combined this with a couple specialized tools for this use-case:

- Kura - Query cache. Works even better because the prompt instructs the agent to decompose queries into sub-queries, and usually the sub-queries are more generic. Each gets cached as a reusable building block.
- Scout - Source code explorer. Let's the agent glob, grep, and tree any public repo at any tag/branch/SHA. When docs are unclear or unspecific, there's nothing better than reading what the code actually does.
- Tome - llms.txt ingestion. Super simple. Does it on-demand for any domain and then stores the results in postgres for search.

I'm not charging for this right now and it's completely open-source and you can run it yourselves with your own API keys. If things go nuts I'll have to change course.

I made it to scratch my itch, maybe it'll scratch yours as well.
by tor825gl | 2025-12-24 11:02:02+00:00
It's actually quite easy to open the pdf and see that there are several different elements per page to the document, eg the main text, an image, the footer, the title.

Randomly removing these by trial and error will usually quite easily allow you to find the watermark and nix it, with the advantage that even a sophisticated recipient will not be able to find out from the pdf file what the watermark was.
by praveensanap | 2025-12-24 11:03:38+00:00
Hey folks!
I’ve been documenting my personal learning journey on agent development and recently started weekly live streams on YouTube (every Sunday, 9–10pm SGT). If you're curious about how agent frameworks are built behind the scenes, feel free to follow along!

* More context on why I’m doing this:
https://agentengineering.dev/blog/live-streaming-agent-devel...

* YouTube channel:
https://www.youtube.com/@agentengineering_dev
by adrian_b | 2025-12-24 11:03:41+00:00
These kinds of grammatical difficulties are typical for people who are learning only their second language after their native language.

After learning 3 or more languages that are not closely related, one is usually exposed to most grammatical features that can be encountered in the majority of the languages, so usually grammar no longer poses any challenges, but only memorizing the unfamiliar words and pronouncing sounds that do not exist in the native language.
by cout | 2025-12-24 11:03:56+00:00
I remember noticing that a teacher in high school had used white-out to hide the marks for the correct multiple choice answer on final exam practice questions before copying them. Then she literally cut-and-pasted questions from the practice questions for the final. I did mediocre on the essay, but got the highest score in the class on the multiple choice questions, because I could see little black dots where the white out was used.
by arvid-lind | 2025-12-24 11:07:36+00:00
> I don't know how you know it's working.

after a while it should feel like a refreshing nap. during the meditation itself, you're just doing a simple task and going along with it without resistance, like when sleeping. eventually the idea of "non-doing" will make more sense.

another way to look at it: upon waking each morning, you start with an empty glass. from this point, everything that enters your realm of awareness accumulates in this glass and at some point it will start overflowing if you don't manage what you're accumulating. meaning you can only effectively work with a certain amount of "stuff on your mind". So you shouldn't make a habit of carrying stress from the morning commute all day into affecting your afternoon meetings, for example.

take a few deep breaths and let the morning commute pass, and your glass is empty again. allow the glass to fill up with morning work, noticing and managing points of friction so they don't linger more than necessary. if you notice yourself getting overwhelmed or stressed about everything that comes up, you're overflowing and would likely benefit from some meditation. as you meditate more, it becomes more effortless so you won't be reliant on "doing meditation" as much.

the Plum Village app has a meditation bell that rings on a schedule (default is every 15 minutes). they recommend you take a few deep breaths to re-center and state your intention(s) for the moment. I started using it earlier this year and it has a noticeable effect over time, would highly recommend trying it out all day if possible. or at least during times where you're trying to do focused work but have a tendency to get distracted.
Show HN: WatchLLM – Semantic caching to cut LLM API costs by 70%
by Kaadz | 2025-12-24 11:08:12+00:00
Hey HN! I just shipped WatchLLM - a semantic caching layer for LLM APIs that sits between your app and providers like OpenAI/Claude/Groq.

The problem: LLM API costs add up fast, especially when users ask similar questions in different ways ("how do I reset my password" vs "I forgot my password").

The solution: Semantic caching. WatchLLM vectorizes prompts, checks for similar queries (95%+ similarity), and returns cached responses instantly (50ms). If it's a miss, we forward to the actual API and cache for next time.

Built in 3 days with Node.js, TypeScript, React, Cloudflare Workers (edge deployment), D1, and Redis. Just added prompt normalization today to boost cache hit rates even further.

It's drop-in - literally just change your baseURL and keep using your existing OpenAI/Claude SDKs. No code changes needed.

Currently in beta with a generous free tier (50K requests/month). Would love feedback from anyone building LLM apps - especially on the semantic similarity threshold and normalization strategies.

Live demo on the site shows real-time cache hits and savings.
by zvr | 2025-12-24 11:08:32+00:00
> What happens when you vendor/patch/fork a dependency?

You change the supplier property (and most probably the version). This is how you distinguish between OpenSSL 3.1.4 from OpenSSL project and OpenSSL 3.5.4-1~deb13u1 from Debian project.

> What happens to vulnerabilities that are not in code paths not used by your software, or only under certain flags?

You record this information in the SBOM, using structures like "this software has this vulnerability reported, but it's not affected by it in this case" (see, for example, VexNotAffectedVulnAssessmentRelationship in SPDXv3).

I completely agree that its purpose is not to replace lockfiles.
by brnt | 2025-12-24 11:09:06+00:00
> Perhaps because disrupting things was the actual goal

It surprises me if anyone thought anything different. I mean, how could you think anything else if yo know what group of cronies there people are?

It's like Americans forgot all about what was wrong with the Rockefeller-era oligarchy. Even the MAGA slogan is just a copy from back then.
by TonyCoffman | 2025-12-24 11:10:07+00:00
The Route53 control plane is in us-east-1, with an optional temporary auto-failover to us-west-2 during outages. The data plane for public zones is globally distributed and highly resilient, with a 100% SLA. It continues to serve DNS records during regular control plane outages in us-east-1, but access to make changes is lost during outages.

CloudFront CDN has a similar setup. The SSL certificate and key have to be hosted in us-east-1 for control plane operations but once deployed, the public data plane is globally or regionally dispersed. There is no auto failover for the cert dependency yet. The SLA is only three 9s. Also depends on Route53.

The elephant in the room for hyperscalers is the potential for rogue employees or a cyber attack on a control plane. Considering the high stakes and economic criticality of these platforms, both are inevitable and both have likely already happened.
by mlrtime | 2025-12-24 11:10:27+00:00
Right but those Mandarin tones are pretty easy for an native english speaker to learn to say, they roll off the mouth easily.

Likewise, learning to speak the tone is just another grammar dimension, memorization.

Listening for tone is the hard part, but once you know enough grammar AND know the context of the sentence, it falls into place.

YMMV, also Cantonese is more difficult here (IMO).
by Yizahi | 2025-12-24 11:10:56+00:00
She's saying that Ruzzian history and culture doesn't deserve neither recognition nor effort to learn them, at this period of time. It's fine if a person is already partially or fully embedded in those, you can't "unlearn" stuff. But I'm personally baffled at the people on reddit book subs who are clearly westerners and writing that they are actively trying to learn Ruzzian to read some Tolstoevsky. Yeah, I'm impressed, twice, both at the spectacularly low reward/effort ratio and the sheer tone deafness of it all. In 2025. Or 2024. Or 2023. Etc.
by block_hacks | 2025-12-24 11:11:06+00:00
To be clear, I’m not claiming this is some universal or inevitable failure mode, or that everyone running Next.js is compromised.

Every system has strengths and weaknesses. This is just one area where the tradeoffs aren’t always modeled correctly.

I don’t know what your setup looks like, how you deploy, or what your threat model is. You might already be accounting for this, or it might not matter for your use case. That’s fine.

The only point I’m making is that in modern SSR frameworks, execution can happen earlier than many teams expect — during deserialization, hydration, or framework setup — and when failures occur there, the signals look very different:

generic 500

no route handler invoked

no app logs

no auth context

That’s meaningfully different from traditional request-handling bugs that fail inside application control flow and leave traces people are used to seeing.

I’m not trying to persuade anyone or sell a solution. If you don’t find this relevant, you can safely ignore it.

But if you do run SSR in a security-sensitive environment, it doesn’t hurt to double-check where you believe the trust boundary actually starts — because in some cases it starts earlier than the app code.
by Doches | 2025-12-24 11:11:10+00:00
This should have a (2022) in the title, which begs the question: is this still a relevant tool for de-shittifying Windows 11, or is it limited to 10?

(Asking as I don't have a Windows box of any kind around to test, as I'm not a masochist and therefore all of my machines run Linux or macOS)
by jaapz | 2025-12-24 11:11:10+00:00
Air-to-water heatpumps are the norm here in the Netherlands. We just put a unit outside, with either refrigerant lines or simply the heated water lines running from the outside unit to an inside unit.

Probably helps that we are in a pretty moderate climate here. And thanks to global warming it's been a while since it got really far below zero degrees celsius.

When the outside unit really can't keep up with demand, it may switch to a gas heater (hybrid) or an electrical heating element (all-electric)
by tgsovlerkhgsel | 2025-12-24 11:11:20+00:00
There is a classic pattern with incident reports that's worth paying attention to: The companies with the best practices will look the worst. Imagine you see two incident reports from different factories:

1. An operator made a mistake and opened the wrong valve during a routine operation. 15000 liters of hydrochloric acid flooded the factory. As the flood started from the side with the emergency exits, it trapped the workers, 20 people died horribly.

2. At a chemical factory, the automated system that handles tank transfers was out of order. A worker was operating a manual override and attempted to open the wrong valve. A safety interlock prevented this. Violating procedure, the worker opened the safety interlock, causing 15000 liters of hydrochloric acid to flood the facility. As the main exit was blocked, workers scrambled towards an additional emergency exit hatch that had been installed, but couldn't open the door because a pallet of cement had been improperly stored next to it, blocking it. 20 people died horribly.

If you look at them in isolation, the first looks like just one mistake was made, while the second looks like one grossly negligent fuckup after another, making the second report look much worse. What you don't notice at first glance is that the first facility didn't have an automated system that reduced risk for most operations in the first place, didn't have the safety interlock on the valve, and didn't have the extra exit.

So, when you read an incident report, pay attention to this: If it doesn't look like multiple controls failed, often in embarrassing/bad/negligent/criminal ways, that's potentially worse, because the controls that should have existed didn't. "Human error took down production" is worse than "A human making a wrong decision overrode a safety system because they thought they knew better, and the presubmit that was supposed to catch the mistake had a typo". The latter is holes in the several layers of Swiss Cheese lining up, the former is only having one layer in the first place.
by port11 | 2025-12-24 11:11:27+00:00
This is a classical, charming take on software developers, but we don't judge most professions that way.

“It bothers me that so many cashiers don't care about the craft of service and payment point connection.”

“It bothers me that so many butchers don't care about the craft of choosing meat cuts and selling meat tailored to the customer.”

We expect of developers craft, passion, after-work commitment, life-long learning, and so on, and so on. Many other professions are free of or lighter on such expectations.

I agree that it's alienating to see sloppy, automated code crop up simply because people want to get paid. Code used to be this cool domain… But I'm not shocked, since our society evolved towards commoditising absolutely everything.

Even thoughtful messages to loved ones are now available through LLM-hallucinated apps. We're done here, pack up your expectation of humanity staying, ahm, human? Disheartening.
by zeristor | 2025-12-24 11:11:29+00:00
“ The wrecks in the Royal Port were discovered through a new high-resolution sonar survey of the seabed. This produced enormous quantities of data that was fed into a machine learning algorithm trained to recognise the “signatures” of shipwrecks. The initial results were promising, with excavations on targets generated by the algorithm revealing a small boat and a 30m-long merchant ship. “

Any tips on how machine learning can be used to find hints of sunken ships from sonar images?
by etchalon | 2025-12-24 11:12:18+00:00
While this list is accurate enough, I assume the developer doesn't have to support older Android phones, because ... yeah. That's hell.

But it is interesting that most of the listed issues that are genuine bugs are fairly minor, while the show-stoppers are largely Apple trying to protect user's from bad actors.

Which, as a developer, I hate. But as a user, I appreciate.

Surfing the web on my Android devices is absolute madness in certain segments of the web.
by lelanthran | 2025-12-24 11:12:30+00:00
> If you don't want to take that seriously, thank you for your honesty, I will ensure that I never have an account on any service you work on.

That's fine; you already have multiple accounts on various providers that can be trivially massaged by a client into providing proof of life of an email address.

Microsoft, OpenAI, Anthropic, Oracle, Amazon; I tried them all now, and they let you enumerate emails trivially by clicking "signup" and then informing you if you choose an email that is already registered.

> Jesus no.

You haven't really has thought this through as thoroughly as you think you have - email enumeration is still, at the tail end of 2025, possible across all major sites, providers, etc.
by spwa4 | 2025-12-24 11:12:49+00:00
This is so weird. If you're using this library

1) your serverless and edge runtime needs to have internet access, so it can contact anyone

2) you're obviously not going to be able to efficiently write to S3 while providing guarantees, so it'll be expensive

3) you're writing in rust, so you really care about correctness and efficiency

This seems like a contradiction. Why would you do this as opposed to hosting a redundant postgres on 2 Hetzner/OVH/... servers and writing to that?
by Ayanonymous | 2025-12-24 11:13:18+00:00
This is a reproducible technical report on how ChatGPT’s UI may hide backend model details via CSS. The DOM includes model strings like GPT-5-2, but CSS properties like `clip-path`, `opacity:0`, and `user-select:none` prevent users from seeing or selecting them.
This may be unintentional UX design—or a systematic obfuscation. Either way, I believe it deserves public discussion.
by NotGMan | 2025-12-24 11:13:37+00:00
At some point you need to draw a hard line in sand when it comes to people trying to actively supress freedom of expression.

Otherwise they just keep trying and trying. A bully won't stop until he gets punched in the face, and this is what the USA did to the EU bully bureaucrats pushing their will everywhere.

Shame that so few of us Europeans do the same.
by block_hacks | 2025-12-24 11:14:56+00:00
Just to address the “AI-generated” point directly:

This isn’t something you can realistically get out of an LLM by prompting it....

If you ask an AI to write about Next.js RCE, it will stay abstract, high-level, and defensive by default. It will avoid concrete execution paths, real integration details, or examples that could be interpreted as enabling exploitation — because that crosses into dual-use content.

This article deliberately goes further than that line: it includes real execution ordering, concrete framework behaviors, code-level examples, deployment patterns, and operational comparisons drawn from incident analysis. That’s exactly the kind of specificity automated filters tend to suppress or generalize away.

It’s still non-procedural on purpose — no payloads or step-by-step exploitation - but it’s not “AI vague” either. The detail is there so defenders can reason about where execution and observability actually break down.

Whether that level of detail is useful is subjective, but the reason it reads differently is because it’s grounded in real systems and real failure modes, not generated summaries.