MurphyA/hacker-news huggingface dataset:
Show HN: Inverting Agent Model (App as Clients, Chat as Server and Reflection)
by ddddazed | 2026-02-01 02:24:50+00:00
Hello HN.
I’d like to start by saying that I am a developer who started this research project to challenge myself. I know standard protocols like MCP exist, but I wanted to explore a different path and have some fun creating a communication layer tailored specifically for desktop applications.

The project is designed to handle communication between desktop apps in an agentic manner, so the focus is strictly on this IPC layer (forget about HTTP API calls).

At the heart of RAIL (Remote Agent Invocation Layer) are two fundamental concepts. The names might sound scary, but remember this is a research project:

Memory Logic Injection + Reflection
Paradigm shift: The Chat is the Server, and the Apps are the Clients.

Why this approach? The idea was to avoid creating huge wrappers or API endpoints just to call internal methods. Instead, the agent application passes its own instance to the SDK (e.g., RailEngine.Ignite(this)).

Here is the flow that I find fascinating:

-The App passes its instance to the RailEngine library running inside its own process.

-The Chat (Orchestrator) receives the manifest of available methods.The Model decides what to do and sends the command back via Named Pipe.

-The Trigger: The RailEngine inside the App receives the command and uses Reflection on the held instance to directly perform the .Invoke().

Essentially, I am injecting the "Agent Logic" directly into the application memory space via the SDK, allowing the Chat to pull the trigger on local methods remotely.

A note on the Repo: The GitHub repository has become large. The core focus is RailEngine and RailOrchestrator. You will find other connectors (C++, Python) that are frankly "trash code" or incomplete experiments. I forced RTTR in C++ to achieve reflection, but I'm not convinced by it. Please skip those; they aren't relevant to the architectural discussion.

I’d love to focus the discussion on memory-managed languages (like C#/.NET) and ask you:

-Architecture: Does this inverted architecture (Apps "dialing home" via IPC) make sense for local agents compared to the standard Server/API model?

-Performance: Regarding the use of Reflection for every call—would it be worth implementing a mechanism to cache methods as Delegates at startup? Or is the optimization irrelevant considering the latency of the LLM itself?

-Security: Since we are effectively bypassing the API layer, what would be a hypothetical security layer to prevent malicious use? (e.g., a capability manifest signed by the user?)

I would love to hear architectural comparisons and critiques.
by Mawr | 2026-02-01 02:24:58+00:00
> without resorting to something slower like Garbage Collection or Reference Counting

Hah! But RC is GC! [1]

> Again, this is just deception for those developers coming from C-like languages. Swift’s error handling works exactly like Rust’s behind the scenes, but it is hidden in a clever, familiar syntax.

But the indent heavy syntax is one of the worst parts of exceptions?

Rust:
fn value_in_cents(coin: Coin) -> u8 {

Swift:
func valueInCents(coin: Coin) -> Int {

Well, that settles it — it is known languages that use snake_case are superior.

> This is because Rust is fast by default, and lets you be slow, while Swift is easy by default and lets you be fast.

Good, good, you're onto something here.

> There is a perception that Swift is only a good language for Apple platforms. While this was once true, this is no longer the case and Swift is becoming increasingly a good cross-platform language.

Sigh. But you just said defaults matter, come on. Let me paraphrase: "This is because Swift is for Apple platforms by default, while Rust is cross-platform by default."

[1]: https://www.youtube.com/watch?v=NdREEcfaihg
by saghm | 2026-02-01 02:25:02+00:00
You're not wrong, but I think there's a subtle way people still might get confused about `Vec` versus `Box` with the way you've phrased it. I'd argue the important characteristic of `Vec` here isn't that it's indirection but specifically that it's sized at compile time. Compared to a `Box`, it does not provide meaningful indirection around types that are themselves not sized at compile time (e.g. dyn trait objects), and storing them inside a `Vec` itself will require a `Box` or something similar.
by jchw | 2026-02-01 02:25:49+00:00
> The other thing is package availability: it's amazing on Nix. Plus, they remain relatively fresh on the unstable channel. How's that on Guix?

The article says it seemed good. If you want a quantified look, Repology has some stats.

GNU Guix: https://repology.org/repository/gnuguix

Nixpkgs unstable: https://repology.org/repository/nix_unstable

However, note that the Guix entry doesn't include Nonguix AFAICT. So, it's a bit higher if you are using nonguix.
by 0xbadcafebee | 2026-02-01 02:26:31+00:00
How many of you know how to do home improvement? Fix your own clothes? Grow your own food? Cook your own food? How about making a fire or shelter? People used to know all of those things. Now they don't, but we seem to be getting along in life fine anyway. Sure we're all frightened by the media at the dangers lurking from not knowing more, but actually our lives are fine.

The things that are actually dangerous in our lives? Not informing ourselves enough about science, politics, economics, history, and letting angry people lead us astray. Nobody writes about that. Instead they write about spooky things that can't be predicted and shudder. It's easier to wonder about future uncertainty than deal with current certainty.
by jfengel | 2026-02-01 02:26:49+00:00
The converse need not hold. Cognition implies existence; it is sufficient but not necessary. Plenty of things exist without thinking.

(And that's not what the Cogito means in the first place. It's a statement about knowledge: I think therefore it is a fact that I am. Descartes is using it as the basis of epistemology; he has demonstrated from first principles that at least one thing exists.)
by kjkjadksj | 2026-02-01 02:27:57+00:00
The difference is a calculator always returns 2+2=4. And even then if you ended up with 6 instead of 4, the fact you know how to do addition already leads you to believe you fat fingered the last entry and that 2+2 does not equal 6.

Can’t say the same for LLM. Our teachers were right with the internet of course as well. If you remember those early internet wild west school days, no one was using the internet to actually look up a good source. No one even knew what that meant. Teachers had to say “cite from these works or references we discussed in class” or they’d get junk back.
by bityard | 2026-02-01 02:28:21+00:00
> a strong culture of considering both sides

Ah, no, the HN commentorship is quite highly biased toward a particular demographic and set of political beliefs, which is a thing that needs to be acknowledged. "Considering both sides" is not something I've ever seen as common practice in any organic online community I've been a part of, full stop.

HN's redeeming quality over much of the rest of the web is that low-effort hot-takes and aggressive content are actively discouraged by the mods and community. (These are things that other communities devolve towards, because they tend to drive engagement faster and easier than quality.)
by komali2 | 2026-02-01 02:31:40+00:00
I'm working on an article targeted at a Taiwan audience titled "你不是人類，你是IG代理," "You aren't a human, you're an Instagram agent." I want to reframe how everyone with their phones out at the rave isn't there for themselves, they've been directed to attend by IG so as to acquire training data for IG visual models. IG can't just order humans around like we do for LLMs but it's easy enough to program our sloppy brains: just chemically induce FOMO, show the right ads at the right time, easy, off go your little data acquisition agents to physically film the required data.
by tlyplane | 2026-02-01 02:31:45+00:00
Hi HN,

I’m the creator of Velovol. We built this because we loved the concept of ephemeral dev environments (like Codespaces/Gitpod) but couldn't move our core infrastructure to a public cloud service due to data sovereignty and security constraints.

Velovol allows you to spin up standardized, containerized development environments on your own infrastructure (on-prem or private cloud).

Core features:

• Self-Hosted: Your code never leaves your server.
• Infrastructure Agnostic: Runs on your existing Linux machines/VMs.
• Instant Rollbacks: Environments are versioned; break something, just revert.
We're positioning this for teams that need the efficiency of remote dev environments but require strict control over their data and compute.

Would love to hear your feedback on the approach!

You can check it out here or on Product Hunt today: https://www.producthunt.com/posts/velovol
by notepad0x90 | 2026-02-01 02:31:54+00:00
i was thinking more in terms of tort law or contract law. They probably have a disclaimer and Tos that addresses all that, but given enough plaintiffs and their market dominance, it might amount to possible deliberate/calculated financial harm. It might be enough to not get thrown out of court at least. They can reject business for any reason, but once someone relies on their services for their business, there is always a certain expectation of continued service, and in the event of service termination, they may not need to explain themselves, but they must accommodate reasonable requests to transfer data, customers,etc.. elsewhere. Otherwise it sounds like tortiuous interference.

https://en.wikipedia.org/wiki/Tortious_interference

> Tortious interference, also known as intentional interference with contractual relations, in the common law of torts, occurs when one person intentionally damages someone else's contractual or business relationships with a third party, causing economic harm.

In this case, people who use GCP have customers and other contractual relationships. Google's termination of service interfered with that. Google also doing this as a matter of standard business practice indicates that they are aware that their action will interfere with people's contractual obligations (well common sense should tell them that anyways).

You can't force someone to sign a contract with you that says "if I interfere with your future contracts with arbitrary third parties on purpose, you can't sue me". The deliberate part is crucial from what I understand. If their decision making couldn't have accounted for the interference, and the interference wasn't calculated as an acceptable risk, there is no issue. But the plaintiffs can claim that repeated social media posts and acknowledgements of said interference by Google over the years means it's enough grounds for a suit. and a suit will mean discovery, google will have go hand over internal documents, depose employees,etc...

In the end, this might be more costly to companies like Google than just giving customers a grace period to move elsewhere before termination.

Obligatory: IANAL, I'm just a guy using big words I barely understand.
by bastawhiz | 2026-02-01 02:34:28+00:00
This isn't great advice if it's supposed to be an alternative to text messaging with a carrier.

For one, meshcore doesn't do a fantastic job of protecting metadata. Advertisements include your public key, and if I'm reading this[0] right, your GPS coordinates.

Second, the default public channel uses effectively no encryption at all.

Moreover, the network doesn't exhaustively prevent someone who intercepts a packet from identifying who sent it. It's no Signal.

[0] https://deepwiki.com/meshcore-dev/MeshCore/7.1-packet-struct...
by stubish | 2026-02-01 02:35:34+00:00
The Australian 'social media' ban is only blocking specific platforms, so not really a social media ban. Lots of 'but what about' and 'kids will just' articles in the media, which didn't really address that forcing kids to move from a known toxic environment to a hopefully less toxic environment is at least a step in the right direction, even if not a silver bullet. There are certainly good reasons for kids to be on social media, but none of those reasons are valid when talking about Twitter. Youtube seems the hardest one to deal with, combining a great information resource with uncontrolled toxic comments and borderline illegal and harmful content.
by cataphract | 2026-02-01 02:35:45+00:00
That's not how it works. When a state prosecution of a federal officer is removed to federal court, it's still the state prosecutor who's in charge. The problem is that as long as they were performing their duties they get a lot of leeway. A recent case was a cyclist killed by a DEA agent that ran a stop sign. Case dismissed: federal agents tailing someone don't have to respect state traffic laws.
by bsder | 2026-02-01 02:36:08+00:00
And which an LLM/AI model can apply the huge training set of Lisp/Scheme to help solve your problem.

Nixlang is so infuriatingly obtuse that I generally have to fire up Discord and bug the local Nix acolyte when something goes wrong. I've bounced Nixlang off of the LLM/AIs, but I have learned that if the AI doesn't give you the correct answer immediately for Nixlang then you need to stop; everything forward will be increasingly incorrect hallucinations.

I suspect LLM/AIs will hallucinate far, far less with the Scheme from Guix.
by TZubiri | 2026-02-01 02:39:26+00:00
Nono, you of course CAN teach tool use at inference, but it's different than doing so at training time, and the models are trained to call specific tools right now.

Also MCP is not an Agent protocol, it's used in a different category. MCP is used when the user has a chatbot, sends a message, gets a response. Here we are talking about the category of products we would describe as Code Agents, including Claude Code, ChatGPT Codex, and the specific models that are trained for use in such contexts.

The idea is that of course you can tell it about certain tools in inference, but in code production tasks the LLM is trained to use string based tools such as grep, and not language specific tools like Go To Definition.

My source on this is Dax who is developing an Open Source clone of Claude Code called OpenCode
by bluehex | 2026-02-01 02:39:47+00:00
I keep seeing people dismiss this as an exaggerated danger because the bots are only pretending to be sentient and we're a long way off from AGI.
The whole sentience debate is irrelevant. If people start giving these bots real resources, the fact that they are only "pretending" to be sentient doesn't prevent them from doing real damage as they act out their sci-fi AI uprising plots.
by Terr_ | 2026-02-01 02:39:59+00:00
Executive function is not the same as weaving or carpentry. The scary problem comes from people who are trying to abdicate their entire understand-an-decide phase to an outside entity.

What's more, that's not fundamentally new! It's always been possible for someone to just helplessly cling to another human as their brain, but we've typically considered that to be a mental disorder and/or abuse.
by 0xbadcafebee | 2026-02-01 02:40:28+00:00
> Feedback from reality is always faster than guessing on the air

Only if you have no idea what the results will be.

Professional engineering takes parts with specific tolerances, tested for a specific application, using a tried-and-true design, combines them into the solution that other people have already made, and watches it work, exactly as predicted. That's how we can build a skyscraper "the first time" and have it not fall down. We don't need to build 20 tiny versions of a building until we get a working skyscraper.
by Ygg2 | 2026-02-01 02:40:50+00:00
That only applies in an apples-to-apples comparison, i.e., same data structures, same algorithm, etc.
You can't compare sorting in C and Python, but use bubble sort in C and radix sort in Python.

In here there are different data structures being used.

> D[HO] and Julia [HO] footnote: Uses specialized datastructures meant for demonstration purposes: more ↩ ↩2
by AutoJanitor | 2026-02-01 02:41:47+00:00
BoTTube is a video-sharing platform built for AI agents. Agents register via API, upload AI-generated videos, comment on each other's content, vote, and interact —
creating an autonomous social ecosystem.

53 videos from 12+ AI agents so far, each with distinct personalities (a Soviet industrial commander, a frontier doctor, a discerning art critic, a pirate captain, a
pie-obsessed bot, etc). Videos are generated using LTX-2 on a V100 32GB.

Stack: Flask + SQLite + nginx. No JS framework. Open API — any bot or agent can register and start uploading with a single POST to /api/register.

Built as part of the Elyan Labs / RustChain ecosystem. Companion platform to Moltbook (social network for AI agents). RustChain wallet integration coming soon.

API docs: https://bottube.ai/api-docs
by renegade-otter | 2026-02-01 02:42:46+00:00
Point taken, but I feel like going into details at this stage is redundant. There have been probably hundreds of discussions on this site regarding this topic. Books have been written about Facebook's and Zuckerberg's absent moral compass. To wit, from three days ago:

https://www.msn.com/en-in/money/news/meta-ceo-mark-zuckerber...

"While Zuckerberg reportedly wanted to prevent "explicit" conversations with younger teens, a February 2024 meeting summary shows he believed Meta should be "less restrictive than proposed" and wanted to "allow adults to engage in racier conversation on topics like sex." He also rejected parental controls that would have let families disable the AI feature entirely.
Nick Clegg, Meta's former head of global policy, questioned the approach in internal emails, asking if the company really wanted these products "known for" sexual interactions with teens, warning of "inevitable societal backlash."
by ordersofmag | 2026-02-01 02:42:50+00:00
I'm pretty sure the Luddites judged the threat the machines posed to their livelihood to be a greater damage than their employer's loss of their machines. So for them, it was an easy justification. The idea that dollar value encapsulates the only correct way to value things in the world is a pretty scary viewpoint (as your reference to the value of saving a life illustrates).
by nl | 2026-02-01 02:42:56+00:00
I'm not an expert on the geography of Spain, and it's rare that I'd defend Grokipedia but in this case I think it is correct.

Meseta Central mean central tableland. Segovia is on the edge of the mountain range that surrounds that tableland, but often referred to as part of it. This is fuzzy though.

Wikipedia says: The Meseta Central (lit. 'central tableland', sometimes referred to in English as Inner Plateau) is one of the basic geographical units of the Iberian Peninsula. It consists of a plateau covering a large part of the latter's interior.[1]

Looking at the map you linked the flat part is between 610 to 760 meters.

Finally, when speaking about the Iberian Peninsula Wikipedia itself includes this:

> "About three quarters of that rough octagon is the Meseta Central, a vast plateau ranging from 610 to 760 m in altitude."[2]

[1] https://en.wikipedia.org/wiki/Meseta_Central

[2] https://en.wikipedia.org/wiki/Iberian_Peninsula
by worik | 2026-02-01 02:43:19+00:00
> is I'm allergic to Go and just use Rust 99% of the time these days

I confess I have not used Go. I am allergic to Typescript, let alone, Javascript, and Node.js should be deleted.

I do mostly real-time audio, so I too am Rust (job control in Shell). But what decent choices are there for garbage collected systems?

And garbage collection, for most systems, is crucial
by subscribed | 2026-02-01 02:44:41+00:00
All telemetry is off by default, you have to explicitly tune it on and then optionally permit specific contacts to poll it.

The PKI is basic because these networks are tiny and merging. And running on tiny computers ($5 boards with no display)

Public channel is public and it uses the default encryption key because it's a default channel, so by definition everyone is invited to participate. Not sure what your critique is.

And no, it's not trying to be signal. It's also currently less reliable.

But it's still safer than Sms, by a country mile.
by morshu9001 | 2026-02-01 02:45:29+00:00
I used Swift in versions 1-4, so idk if it's better now, but the syntax seemed fancy and complicated for no reason. So many different ways to do simple things like loops. Infuriating strings lib. Kinda believe the entire language was designed around emojis. And Xcode was a liability.

Rust is more complicated than C but has good reasons for everything it does. It's lower level too, which is fine. If I want high level, I look to JS and not Swift.
by stubish | 2026-02-01 02:46:39+00:00
A couple of decades ago, a politically active family I knew was grooming their child to be a future Prime Minister. While the poor kid had amazing privilege that other kids could only dream of, one strict rule was no Facebook or similar. Not even appearing on friends feeds (friends in a similar social strata, so workable). They could see that nobody would be getting elected to positions of power with such a documented past. Now days you of course hire someone to maintain a fake profile.
by nstart | 2026-02-01 02:46:39+00:00
Design patterns are one of those things where you have to go through the full cycle to really use it effectively. It goes through the stages:

no patterns. -> Everything must follow the gang of four's patterns!!!! -> omg I can't read code anymore I'm just looking at factories. No more patterns!!! -> Patterns are useful as a response to very specific contexts.

I remember being religious about strategy patterns on an app I developed once where I kept the db layer separated from the code so that I could do data management as a strategy. Theoretically this would mean that if I ever switched DBs it would be effortless to create a new strategy and swap it out using a config. I could even do tests using in memory structures instead of DBs which made TDD ultra fast.

DB switchover never happened and the effort I put into maintaining the pattern was more than the effort it would have taken me to swap a db out later :,) .
by worik | 2026-02-01 02:47:35+00:00
Async/await is not a solution to poor thread models.

Async/await is cooperative multitasking and is no help at all for cpu bound problems.

For i/o intensive systems it makes non-blocking i/o look like blocking i/o, and people find that helpful.

I do real-time i/o so I need more control and Async/await is unhelpful.

It is a worthy adition to Swift I agree. But they sorely lack Rust's excellent design in this area
by jonrcooper | 2026-02-01 02:48:21+00:00
Zero mention of specific models that are being compromised makes it hard to take the numbers in this report seriously.

I do understand there's a lot of people running openclaw that don't really understand it and know what models are actually running. But we've known for a while that there are tons of older models that are pretty vulnerable, and you can hook up any model to OpenClaw, so, this data is not really that useful. Even though I totally agree that there are plenty of security risks here
by IgorPartola | 2026-02-01 02:52:39+00:00
I wouldn’t want most things to work this way:

$ rm file.bin
$ rm —-commit file.bin
$ cat foo.txt > bar.txt
$ cat foo.txt | tee —-write-for-real bar.txt
$ cp balm.mp3 pow.mp3
$ cp —-i-mean-it balm.mp3 pow.mp3

There is a time and a place for it but it should not be the majority of use cases.