MurphyA/hacker-news huggingface dataset:
by jacobr1 | 2025-04-14 14:43:31+00:00
If you give it access to the internet ... it can basically do anything, exfil all your code, receive malicious instructions. The blast radius (presuming it doesn't get out of your sandbox) is limited to loss of whatever your put in (source code) and theft of resources (running a coinminer, host phishing attacks, etc ...). As you say, you can limit things to trusted websites which helps .. but even then, if you trust, say github, anyone can host malicious instructions. The risk tradeoffs (likelihood of of hitting malicious instruction, vs productivity benefit) might nevertheless be worth it ... not to much targetted maliciousness in wild yet. And just a bit more gaurdrailing and logging can go a long way.
by hiatus | 2025-04-14 14:43:41+00:00
> Meaning, if the company's stock went up 2x after year 1, your salary has effectively doubled for years 2-4. If the stock went down -50% however, you just leave and get market salary somewhere else.

If you get 25k shares worth <$1.00 and, you won't double your salary even if the share price doubles. Not to mention that only 1/4 would be able to be exercised, and you have no liquidity to realize the gain.
by grayhatter | 2025-04-14 14:43:56+00:00
This is true for the kind of programmin most people do. Linked Lists make no sense in JS, Python, Rust, etc. But they are without a doubt still an incredibly useful pattern with unmatched performance characteristics. Especially if you're trying to be memory efficient. It's a systems programming pattern, rarely useful if you're just a web developer.

But then again... I never thought I'd need to know music waveform theory while I was watching the magic school bus as a kid... Turns out that was incredibly useful when I needed to implement a music note generator for a VoIP client... You never know when something might actually be really useful.
by philistine | 2025-04-14 14:44:33+00:00
Those 2019 Mac Pros are never going to go down that low.

- They're forever going to be the fastest Intel Macs, which makes them highly desirable.

- The Mac Pro simply does not sell at volume anymore, unlike the Power Mac G4 which did sell quite well to regular consumers. So they're quite rare.

- Everybody in the market for a Mac Pro knew the Apple Silicon transition was right around the corner, so they probably sold even less than we think. Even rarer.

- The iMac Pro had been out for a little while when those came out. Most people who needed Pro hardware had probably bought an iMac Pro. Even rarer still.

No joke, I wouldn't be surprised if Apple sold less than half a million of those 2019 Intel Mac Pros.
by kordlessagain | 2025-04-14 14:44:48+00:00
MCP is built on JSON-RPC 2.0. JSON-RPC 2.0 is a super lightweight, stateless protocol that lets a client and a server talk to each other using plain old JSON. It’s not tied to HTTP, but it often rides on it. It’s like the chill cousin of REST: no verbs, no URL gymnastics—just methods and parameters, passed as structured JSON.

MCP calls itself a “protocol,” but let’s be honest—it’s a framework description wrapped in protocol cosplay. Real protocols define message formats and transmission semantics across transport layers. JSON-RPC, for example, is dead simple, dead portable, and works no matter who implements it. MCP, on the other hand, bundles prompt templates, session logic, SDK-specific behaviors, and application conventions—all under the same umbrella.

As an example, I evidently need to install something called "uv", using a piped script pulled in from the Internet, to "run" the tool, which is done by putting this into a config file for Claude Desktop (which then completely hosed my Claude Desktop):

{ "mcpServers": { "weather": { "command": "uv", "args": [ "run", "--with", "fastmcp", "fastmcp", "run", "C:\\Users\\kord\\Code\\mcptest\\weather.py" ] } } }

They (the exuberant authors) do mention transport—stdio and HTTP with SSE—but that just highlights the confusion here we are seeing. A real protocol doesn’t care how it’s transported, or it defines the transport clearly. MCP tries to do both and ends up muddying the boundaries. And the auth situation? It waves toward OAuth2.1, but offers almost zero clarity on implementation, trust delegation, or actual enforcement. It’s a rats nest waiting to unravel once people start pushing for real-world deployments that involve state, identity, or external APIs with rate limits and abuse vectors.

This feels like yet another centralized spec written for one ecosystem (TypeScript AI crap), claiming universality without earning it.

And let’s talk about streaming vs formatting while we’re at it. MCP handwaves over the reality that content coming in from a stream (like SSE) has totally different requirements than a local response. When you’re streaming partials from a model and interleaving tool calls, you need a very well-defined contract for how to chunk, format, and parse responses—especially when tools return mid-stream or you’re trying to do anything interactive.

Right now, only a few clients are actually supported (Anthropic’s Claude, Copilot, OpenAI, and a couple local LLM projects). But that’s not a bug—it’s the feature. The clients are where the value capture is. If you can enforce that tools, prompts, and context management only work smoothly inside your shell, you keep devs and users corralled inside your experience. This isn’t open protocol territory; it’s marketing. Dev marketing dressed up as protocol design. Give them a “standard” so they don’t ask questions, then upsell them on hosted toolchains, orchestrators, and AI-native IDEs later. The LLM is the bait. The client is the business.

And yes, Claude helped write this, but it's exactly what I would say if I had an hour to type it out clearly.
by FirmwareBurner | 2025-04-14 14:45:00+00:00
Last time I checked gas pipelines went form Russia to Germany, not to the US, and gas money was flowing from EU to Russia not from the US. And Vladimir Putin attended weddings of Austrian politicians, not American ones. And Austrian and German politicians, not American politicians, received high ranking jobs in Russian oil & gas companies at the end of their political mandates.

So who's the one doing the Russian appreciation here, in practice I mean, not in virtue signaling?
by Y_Y | 2025-04-14 14:45:42+00:00
I appreciate your points, and you correctly assume that I'm not treating naturality as an intrinsic good.

You may already appreciate this point, but I think that even without having a modern example of a truly equal society we can reason about what it might be like. Specifically I believe that it's been well argued (though I don't have a reference to hand) that wealth equality is an unstable equilibrium. It should follow from the tendency of inequality exacerbate itself, as you mention.

Of course you can make a the equilibrium stable with a sufficient restoring force, but I haven't been convinced that such a thing is possible. I would be glad to hear ideas on that though (maybe income/wealth tax with negative rates below the average and then a sharp increase?).
by jzb | 2025-04-14 14:46:28+00:00
I can't speak to what audiences find boring now -- I know that I watched it as a kid when my attention span was not at its peak, and I found the pacing to be just fine. (I did see the much-panned version with the narration first.)

I've re-watched it quite a few times and find new things to enjoy each time. The aesthetic is hugely influential, but it also has a fantastic cast and superb acting. The soundtrack is also perfect.

The love story between Deckard and Rachel is ham-fisted, I will grant that, and if I were giving notes I'd say we need to see more of the backstory for the replicants. But IMO it succeeds far better than the book.
by bradleyy | 2025-04-14 14:46:30+00:00
WRT GPC, yes. We treat GPC as a "essential only" choice, and don't show you a banner. We treat DNT (Do Not Track) the same way, but its legal standing seems a lot less clear, especially due to the hijinks Microsoft did.

And GPC is not experimental: if you don't respect it, you're in violation of California's CCPA/CPRA law [1]. It's likely that other states will fall in line here as well.

[1] https://oag.ca.gov/privacy/ccpa/gpc
by Cthulhu_ | 2025-04-14 14:47:28+00:00
I don't even trust myself, why would anyone trust a tool? This is important because not trusting myself means I will set up loads of static tools - including security scanners, which Microsoft and Github are also actively promoting people use - that should also scan AI generated code for vulnerabilities.

These tools should definitely flag up the non-explicit use of hidden characters, amongst other things.
by gaganyatri | 2025-04-14 14:47:29+00:00
Got my role terminated when I was taking care of my father in India.

Worked a research institute in Germany, used my vacation days and kept writing code to improve the project. I was the sole developer.

For a month, I worked remotely , then i get 3 notices for not coming to office. In a week, I was terminated for not showing up in office, though i was working remotely.

In a shock, accepted the mutual termination agreement. No severance, access cut to email/chat.
Show HN: Street View My Cross-Country Bike Ride
by benjbrooks | 2025-04-14 14:47:33+00:00
After shutting down my startup in summer 2024, I was burned out and unsure what to work on next. Before jumping into another startup, I decided to bicycle across the country. I built an interactive map so everyone could follow along my journey!

For those interested in learning more about the experience, I've also published a blog post on the experience: https://brooks.team/posts/how-to-bike-across-the-country
by Geenkaas | 2025-04-14 14:47:51+00:00
I am listening to a podcast Adam Argyle is talking in, listening to what he is passionate about and then getting axed by Google is painful to hear as now it is clear that Google is not passionate about those things (anymore). It is also painful personally because it is what I am passionate about (and my job). Link: https://dev.to/whiskey-web-and-whatnot/leveraging-css-web-de...
by woile | 2025-04-14 14:48:19+00:00
The app looks beautiful, though I don't have apple systems.

On a related note, I built a kindle notes parser, which splits the highlights and transforms them into markdown.

My workflow is to dump my highlights into obsidian and build flashcards on top of that.

The app is open source:

https://github.com/woile/kindle-notes-parser

edit: I still don't like that I have to plug the kindle, to extract the highlights, it's a bummer, but in the end, it's just simple and works for me.
by mathgeek | 2025-04-14 14:48:51+00:00
Sorry, but I simply don't agree. You're overgeneralizing again with "everyone thinks..." but no, you will trivially find folks who believe that someone (as an example) who murders or facilitates the murder of innocent people does not deserve sympathy when they suffer the consequences of their actions.

It is not true that all rational people believe that all people deserve sympathy for all causes of suffering.
by Kerollmops | 2025-04-14 14:48:54+00:00
Meilisearch has been production-ready since v1.0. I made it in Rust to ensure it stays production-ready for years and years. Memory-safe languages are here to replace unsafe ones like C++ and reduce the number of breaches you expose in production.

Here is an article by Google showing the benefits of using memory-safe languages in production rather than others. It is explicitly rotating around Rust [1].

[1]: https://www.chromium.org/Home/chromium-security/memory-safet...
by dogline | 2025-04-14 14:48:55+00:00
This made me think: what if my little utility assistant program that I have, similar to your Stevens, had access to a mailbox?

I've got a little utility program that I can tell to get the weather or run common commands unique to my system. It's handy, and I can even cron it to run things regularly, if I'd like.

If it had its own email box, I can send it information, it could use AI to parse that info, and possibly send email back, or a new message. Now, I've got something really useful. It would parse the email, add it to whatever internal store it has, and delete the message, without screwing up my own email box.

Thanks for the insight.
by erikerikson | 2025-04-14 14:49:09+00:00
It is an update rule:

Wij = f(Wij, xi, xj)

The weight of the connection between nodes i and j is modified by a function over the activations or inputs of node i and j.

The are many variants of back propagation too.

Regardless, yes it would be used within a network model such as a Hopfield network.
by amit9gupta | 2025-04-14 14:49:21+00:00
He did not steal anything. He beat the fund (Indexed Finance) at their own game.

He has not stolen anybody's password, has not modified DeFI code - simply executed a set of financial transactions according to the rules (expressed as DeFI smart contracts) and profited from it.

Indexed Finance is an unlicensed investment firm. The promoters knew the risk ( decentralized finance) and now they want to blame someone who outsmarted them at their own game.
by Aurornis | 2025-04-14 14:50:15+00:00
> After the announcement, the laid off employees were given a few days in the company to allow them to say good byes.

I was at a company that did this. I thought it was very nice at first.

It didn’t take long to see why most companies don’t do this. It became common to have a couple people who turned their last days into a mission to poison the well and go on angry tirades. Those days became tense and messy as people trying to do work felt necessary to move it to private messages to avoid triggering anyone.

It gets really ugly when IT starts checking logs and sees outgoing employees doing things like accessing code they weren’t even working on or downloading files in volume.

This was at a company with generous severance, too, so that wasn’t the cause. A small number of people get irrationally vengeful upon being laid off. At Big Tech scale it’s virtually guaranteed that at least one of the people you lay off is going to make some bad decisions.
by jacobr1 | 2025-04-14 14:50:43+00:00
If computer use gets good enough (it isn't just yet ... but it is getting better _fast_) then it doesn't matter, you'll be able to browse the sites the same way a human does to bypass whatever shit they want to toss in your way. This makes their business models much more precarious. Also it makes removing the aggregator easier - you could search for the hotels, query their sites directly. Hotels and airlines have been trying to cut out middlemen for years, they just can't afford to lose the inbound traffic/sales it gives them. But the dynamic shifts every 5-10 years in small ways. Maybe this will be a big shift.

That said, even if the equilibrium changes from today (and I think it will) I still share your cynicism that enshittification will ensue in some form. One example right now is the increasing inability to trust any reviews from any service.
by Cthulhu_ | 2025-04-14 14:51:00+00:00
Here's a Github Action / workflow that says it'll do something similar: https://tech.michaelaltfield.net/2021/11/22/bidi-unicode-git...

I'd say it's good practice to configure github or whatever tool you use to scan for hidden unicode files, ideally they are rendered very visibly in the diff tool.
by bsnnkv | 2025-04-14 14:51:08+00:00
Been a happy user of MS in production for https://notado.app for many years, and someone from MS even reached out to me a few years ago thanking me for my write-up of syncing Postgres records to MS[1], saying they used it as a reference for something they later shipped.

I haven't kept up with the latest updates, all these new AI references don't inspire confidence at all, but the older version I'm running is chugging along and doing a great job.

[1]: https://notado.substack.com/p/how-notado-syncs-data-from-pos...
by _huayra_ | 2025-04-14 14:52:39+00:00
At least in C++ land, that is not quite what is referred to as intrusive lists. It's basically the opposite / inside-out of what you wrote:

```C++ struct MyType : Node<MyType> { Node<MyType> next, prev; // rest of data }; ```

I usually reach for Boost.Intrusive when I need this [0].

[0] https://www.boost.org/doc/libs/1_88_0/doc/html/intrusive/usa...
by abc-1 | 2025-04-14 14:52:42+00:00
> Pure, unadulterated, revolting whining from a spoiled tech child.

As opposed to you, the perfect human?

> blue collar jobs would take much longer to recover

So what are you saying? We should treat everyone like shit so everyone is equal? Or that only blue collar people have the right to complain?

How about we focus on raising the quality of living for everyone.
by Sonnigeszeug | 2025-04-14 14:53:01+00:00
Thats just not true.

You don't sound like a big company ceo. If you have a good reason, even as a small company, and revenue / affordability is one, you can fire people.

You just need to be able to pay them for min. 3 month if thats your contract length and as a business owner you should know how to calculate.
by gifmaster | 2025-04-14 14:53:05+00:00
This is really nice (I feel the pain handling the Amazon clippings), we also tried making an app dedicated to exporting kindle highlights, we managed to make it work with an extension and it works in any chromium browser. Honestly Amazon is just a huge bulk of work (to say it nicely), to remotely make sth usable out of there highlights.

The one issue we could not figure out, is how to import books/pdfs (side loaded is the term I think) that are on a kindle device but are not 'bought' books through Amazon. We might just add sth later to allow adding ebooks and pdfs, non Amazon related in our webapp.

If you'd like to give it a try, it's called DeepRead (deepread.com), we're just a few peeps trying to create sth fun and useful ^^

Ps. Sorry for the little self promotion, but I'm happy to see this issue popping up still nowadays.

Pss. We were also thinking of building something that allows an easier export to Obsidian or other apps (we have an export functionality built in already which creates a markdown of the chapters and highlights). Let us know if that is remotely interesting.
by Y_Y | 2025-04-14 14:53:16+00:00
Fair enough. I do think that "equality is good" is the claim that would need to be justified if this were a formal debate, but I can give some more details on what I think.

Roughly, my feeling is that perfect equality is unstable, or at least enforcing it would cost a lot more than allowing for (limited) inequality. I don't think that perfectly free markets are desirable (or efficient) but I think that how do distribute resources in a way that maintains equality while also keeping the median wellbeing high (relative to other systems) is a huge ask.
by rachofsunshine | 2025-04-14 14:53:29+00:00
> Yet I’m sure you understand “it has never happened to me” isn’t synonymous with “it never happens”.

No, but it's a relevant data point that allows you to counterbalance possible sampling bias.

If everyone tells you people are poisoning halloween candy all the time, but no one within your direct experience encounters it, you should investigate possible sampling bias. Perhaps you are in a privileged context that avoids poison halloween candy, so the sampling bias is in your local environment. Or perhaps such stories easily go viral, so the sampling bias is in people's tendency to share sensational stories. Either way, you have something to watch for.

Relying on multiple weakly-correlated information channels is a good way to hedge yourself against dysfunction in any one of those channels.
by simiones | 2025-04-14 14:54:00+00:00
Lula's convictions were all overturned by the Supreme Court, so no, we shouldn't believe that he did the things he is accused of. Note that Bolsanaro was already in power when this happened, so there is little reason to suspect him of wielding power over the courts or anything like that.

And just because you're opposing a far right extremist like Bolsanaro doesn't make you a far left politician. For example, Le Pen is a far right extremist politician, but Macron is definitely not far left (though Jean-Luc Melanchon, the third place in the previous election, could rightly be called a far left candidate).
by karaterobot | 2025-04-14 14:54:22+00:00
Offboarding is when any illusion of your non-cog relationship to a company is belied. You're suddenly a virus that the immune response is trying to destroy. Your presence is a threat to the host that must be eliminated. On the one hand you wish companies would be a little more human about it: it's me, I'm not a criminal! On the other hand, they've got security controls that almost mandate a swift and pitiless execution.
by crazygringo | 2025-04-14 14:54:31+00:00
It does, but if you've removed the damage they can do, then to the company it's preferable to have more people angry who can't do damage, than less people angry but some of them will do damage.

It's a sad reality. For some people a "dignified exit" won't do a single thing to lessen the rage they feel that they were wronged. It's a sad situation all around.
by cherryteastain | 2025-04-14 14:55:22+00:00
My personal belief is that this was not fraud and "Code is Law" works. Yet, this guy is a perfect example of how intelligence and wisdom are not the same. He was clearly smart and dedicated enough to pull off this sort of trade successfully multiple times in a row, and probably all he had to do to get away with it was keeping his mouth shut. Or at the very least not get convicted by default on contempt of court charges by ignoring a court summons.
by pgt | 2025-04-14 14:55:25+00:00
MCP is just a transport + wire format with request/response lifecycle and most importantly: tool-level authorization.

The essay misses the biggest problem with MCP:

1. it does not enable AI agents to functionally compose tools. 2. MCP should not exist in the first place.

LLMs already know how to talk to every API that documents itself with OpenAPI specs, but the missing piece is authorization. Why not just let the AI make HTTP requests but apply authorization to endpoints? And indeed, people are wrapping existing APIs with thin MCP tools.

Personally, the most annoying part of MCP is the lack of support for streaming tool call results. Tool calls have a single request/response pair, which means long-running tool calls can't emit data as it becomes available – the client has to repeat a tool call multiple times to paginate. IMO, MCP could have used gRPC which is designed for streaming. Need an onComplete trigger.

I'm the author of Modex[^1], a Clojure MCP library, which is used by Datomic MCP[^2].

[^1]: Modex: Clojure MCP Library – https://github.com/theronic/modex

[^2]: Datomic MCP: Datomic MCP Server – https://github.com/theronic/datomic-mcp/
by 9rx | 2025-04-14 14:55:35+00:00
> The only things I can think of which Go did that seemed blatantly wrong in that era would be the lack of generics and proper enums.

Typescript added "improper" enums several years later. Which is especially interesting as it is the one feature in Typescript that doesn't map directly to Javascript. I'm not sure even that one was the settled science back then.

Generics were well established at that time, but that one didn't escape the Go authors. From day one it was explicitly called out as a feature Go should have, but that they hadn't figured out how to integrate it. https://youtu.be/rKnDgT73v8s?t=3257 Despite Taylor's admirably insistent efforts to find a solution (with 8+ proposals to his name, dating back to before Go was released to the public!), it ultimately required convincing an outside expert to lend a hand.

> I know others find the type system lacking

It may be lacking by today's standards where types are all the rage, but at the time we should also remember that it was the case that types simply weren't cool. People had grown tired of "doing XML sit-ups" and had fully embraced dynamic languages in reaction to that. Go was built in that time, for that time, explicitly intending to be a language that felt like a dynamic language but with the performance advantages of a static language. https://youtu.be/rKnDgT73v8s?t=471