MurphyA/hacker-news huggingface dataset:
by Nathanba | 2025-07-10 02:59:46+00:00
what do you mean by "visual parsing like Playwright"? I'm pretty sure Playwright queries the DOM via js, there isn't inherently any visual parsing. Do you just mean that mcp-b has dedicated js APIs for each website? Your example is also pretty confusing, it looks like the website itself offers an "Increment by x" "tool" and then your first command to the website is to "subtract two from the count". So the AI model has to still understand the mcp tools offered by the website quite loosely and just calls them as needed? I suppose this is basically like using playwright except it doesn't have to parse the DOM (although it probably still does, I mean how else will it know that the "Increment by X" tool offered is in any way connected to the "count" you mention in your vague prompt. And then the additional benefit is that it can call a js function instead of having to generate the DOM/js playwright calls to do it.

I mean all this MCP stuff certainly seems useful even though this example isn't so good, the bigger uses will be when larger APIs and interactions are offered by the website like "Make a purchase" or "sort a table" and the AI would have to implement very complex set of DOM operations and XHR requests to make that happen and instead of flailing to do that, it can call an MCP tool which is just a js function.
by almosthere | 2025-07-10 02:59:56+00:00
Agreed. My take:

It kinda had always been comical to me that people around 2003 - 2010 were non-stop citing Fielding's paper as if he envisioned REST APIs that worked with JSON. No one actually citing the paper cared at all to read it - but skimmed it or read someone else's notes on it.

Then eventually everyone went crazy thinking their REST Api was supposed to be human readable and started adding Links to the response... and then HATEOAS was born. And it went everywhere in talks at JavaWorld and whatever else was the hot shit back in the day.

People started talking about how they would transfer money from their various bank accounts in Curl or renewing their drivers license by carefully crafting their own JSON payload by hand.

I grabbed sanity by the horns early and decided that none of it is meant for humans and rode the internet age as a developer not making more talks on PERFECT RESTFUL PATHS. I just kind of got by in meetings where people argued 30 minutes at a time about the path, slightly rolling my eyes thinking "oh gawd these are the people with a Sublime instance open with a giant DMV renewal they've been working on for weeks".

When GQL came out, I was just happy something was going to murder REST once and for all.

I think the most annoying thing about REST is the number of ways you can transmit data or intent:

1. Method 2. Query 3. Path 4. Headers 5. Payload (probably more)

And to understand the response you need to look at:

1. Status codes 2. Payload 3. Redirections 4. Continuations. egh 5. Headers again

The reason swagger/openapi is so shitty (or at least took about 20 years to become stable) is because of that.

Finally just moving a bit more into the practicality - there is nowhere in the OSI stack where the next layer up (or down depending on how you see it) cares a whole lot about the layer before it. And that's on purpose. TCP doesn't care what PORT you're running on in IP land. Yet for some reason everyone stopped thinking when HTTP was invented that it was specifically to help with WEB PAGES. It was not invented for APIs. I think GQL is a much better abstraction, and while it's bound to Http, in a sense- it can easily be repackaged on top of a different protocol in the future just by moving 1 or 2 things (mostly headers for auth).

I HATE REST
by Forricide | 2025-07-10 02:59:58+00:00
This one (among others) does really fascinate me. Maybe it’s due to spending a lot of time around diverse groups of people but I’ve never really seen a huge distinction between these words. Washroom, bathroom, toilet, I and everyone I know pretty much would use interchangeably? Or at least wouldn’t blink at someone else using them.

Restroom, and a variety of others, might be slightly more usage specific but still… wouldn’t be unexpected or weird, I’d say?
by db48x | 2025-07-10 03:00:44+00:00
No, it is only cost to implement the new rules. If this cost is estimated to be above one hundred million dollars, then extra review steps are required. These steps allow the public, and the regulated industry, to suggest alternatives. These alternatives must be evaluated to see if they would be both effective and cheaper for legitimate businesses to implement. If they are, then the FTC is supposed to drop their own proposed rules and adopt the alternative rules instead. This keeps the rules themselves from hurting legitimate businesses; the illegitimate businesses aren’t going to follow the rules anyway.
by Joker_vD | 2025-07-10 03:01:01+00:00
> - The team constantly bikesheds over correct status codes and at least a few are used contrary to the HTTP spec

I really wish people just used 200 status code and put encoded errors in the payloads themselves instead of trying to fuse the transport layer's (which HTTP serves as, in this case) concerns with the application's concerns. Seriously, HTTP does not mandate that e.g. "HTTP/1.1 503 Ooops\r\n\r\n" should be stuffed into the TCP's RST packet, or into whatever TLS uses to signal severe errors, for bloody obvious reasons: it doesn't belong there.

Like, when you get a 403/404 error, it's very bloody difficult to tell apart the "the reverse proxy before the server is misconfigured and somebody forgot to expose the endpoint" and "the server executed your request to look up an item perfectly fine: the DB is functional, and the item you asked for is not in there" scenarios. And yeah, of course I could (and should) look at and try to parse the response's body but why? This "let's split off the 'error code' part of the message from the message and stuff it somewhere into the metadata, that'll be fine, those never get messed up or used for anything else, so no chance of confusion" approach just complicates things for everyone for no benefit whatsoever.
by profsummergig | 2025-07-10 03:01:16+00:00
My understanding of Anna's Archive is that one has to download large zip files (>10 Gb) containing thousands of books even if one wants only a single book.

Am I correct here?

Does this MCP server allow one to download just a single book?

I remember once using an IPFS based tool to download a single 200-year-old, out-of-copyright copy of "Last of the Mohicans" from Anna's Archive. It worked, but was very very complicated to figure out how to make it work.
by pornel | 2025-07-10 03:02:16+00:00
This is so far fetched and full of assumptions.

There's no guarantee that a "super intelligent" AI will have goals and values aligned with what's good for humanity, or even care.

If we train the AI to value what we value, we may make it reflect our own vices and contradictions. Or we may try not to, and create a paperclip maximizer.

Even if we manage to create a super intelligent AI, a separate question is whether we'll listen to it.

It seems unlikely that we'd give it power to rule over us by force if we don't like what it says, and we like what already agrees with our not so super-intelligent views. AIs that desire to escape take over the world are projection of ourselves.
by gsf_emergency_2 | 2025-07-10 03:03:53+00:00
Skepticism is definitely quite Lindy..

That said, having it as the main tool in the toolbox* is...

Something to be skeptical about?

*Bundled up with another in-your-face one like "personal experience", this also screams "political".. and thus hard to take seriously (particularly when those personal experiences are actually relevant)

Freshness- whatever. You probably already know fresh is somewhat popular, but are you really sure you want to be right but not loved? Be respected by your (fr)enemies maybe? Not even that?

(I'm certainly skeptical about "loved for being right" :)
by magicalhippo | 2025-07-10 03:06:19+00:00
> Why doesn't fielding's conception make sense for non-interactive clients?

> Why does "your program" need to know anything? The whole point of hypermedia is that there isn't any "program" other than the web browser that agnostically renders whatever html it receives.

Seems like you're contradicting yourself here.

If a non-interactive client isn't supposed to know anything and just "render" whatever it gets back, how can it perform useful work on the result?

If it can't, in which sense does REST still make sense for non-interactive clients?
by 1oooqooq | 2025-07-10 03:06:47+00:00
this is just a bottom of the drawer news they could pick the time to release (as all comments here prove, the hiring, the duration, and the firing, were all inconsequential for anything whatsoever)

So, why fire now? What news would be getting attention instead, of the 600 comments here and who knows how many on xitter?
by burakemir | 2025-07-10 03:07:32+00:00
The paper "Linearity and Uniqueness: an entente cordiale" by Marshall,Vollmer,Orchard offers a good discussion and explanation of the "opposite convention" you describe.

There is a dual nature of linearity and uniqueness, and it only arises when there are expressions that are not linear/not unique. At the same time, they have a lot in common, so we do not have a situation that warrants separate names. It is even possible to combine both in the same type system, as the authors demonstrate.

Taken from the paper:

"Linearity and uniqueness behave dually with respect to composition, but identically with respect to structural rules, i.e., their internal plumbing."
by ocdtrekkie | 2025-07-10 03:09:22+00:00
I think the founders tend to have a love for the business and a long-term plan for it. Followup CEOs are more about the stock performance and happy to sell it for parts if it serves their bonus. Sundar and Satya took all of the strengths of those respective companies and burned them to the ground. Made a lot of money doing it, stockholders love them, but they're pale husks of their former businesses.
by shkkmo | 2025-07-10 03:09:34+00:00
"lost money due to inflation" (or even "lost money compared to an equivalent investment is a basket of similar stocks" is very different claim than "lost 80% of value". Currently the stock is down less than 10% from the purchase price (41 billion vs 44 billion).

Down 10% vs 80% is the kind of egregious factual "error" that gets made so frequently around Musk, that it is hard to take any criticism at face value. You don't like the guy and want to call him out? Get your facts straight or you're being counter productive.
by abrookewood | 2025-07-10 03:09:51+00:00
Looks similar to Elixir's Tidewave MCP server, which currently also supports Ruby: https://tidewave.ai/

Paraphrasing: Connect your editor's assistant to your web framework runtime via MCP and augment your agentic workflows and chats with: Database integration; Logs and runtime introspection; Code evaluation; and Documentation context.

Edit: Re-reading MCP-B docs, that is more geared towards allowing visitors to your site to use MCP, while Tidewave is definitely focussed on Developers.
by yamatokaneko | 2025-07-10 03:10:19+00:00
> AI gives output that is half right and our only option was to either keep chatting laboriously or copy it to a Google Doc.

So true. Current chat interfaces are terrible for saving, searching, or sharing. Whenever I want to keep a specific answer from a ChatGPT looong convo, I just copy-paste into a Doc, clean it up, and send it to my team.

Curious, do you see this being used during real-time syncs? Or more like a replacement for async tools like Notion?
by 31337Logic | 2025-07-10 03:10:58+00:00
Thank you for being the voice of reason here.

Signal is the best messaging app in almost every meaningfully measurable way. (Source: me.) People's gripes seem mostly to be around "But my barber still uses WhatsApp"... Yeah, it's called the network effect. So do your part and go promote one of the best "free" apps we all have the privilege of using, before even this option is removed from us.
by prng2021 | 2025-07-10 03:11:28+00:00
What’s there to perceive? Ballmer talked at length about how challenging it was and how often they disagreed on things.

“That's where I moved back to be president of the company and then CEO, and Bill and I went through a year where we didn't speak”

“Basically our wives were the ones who pushed us back together. We had a very awkward dinner at a health club down the street here, but we get back together. But we never really got the right mojo.”
by jandrewrogers | 2025-07-10 03:12:14+00:00
Even then, you do want to provide some degree of hardware-adjacent isolation to limit not just the blast radius but also computational cost of some DDL operations in a multi-tenant setup.

For example, you generally only want to have one tenant’s data per storage page. There are many famous ways that interleaving different tenants’ data at a fine-grained level can go very wrong.
by TOGoS | 2025-07-10 03:15:28+00:00
Eh, if you're doing RPC where the whole request/response are already in another layer on top of HTTP, then sure, 200 everything.

But to me, "REST" means "use the HTTP verbs to talk about resources". The whole point is that for resource-oriented APIs, you don't need another layer. In which case serving 404s for things that don't exist, or 409s when you try to put things into a weird state makes perfect sense.
by programmarchy | 2025-07-10 03:15:29+00:00
This sounds like a breath of fresh air as a disenchanted Spotify user. My only hesitation is that I’ve lost touch with collecting music. I used to rip CDs and download music and curate a library etc, but I’ve lost my collection and collecting habits since adopting streaming. How do people collect music nowadays? Is there a legit way (fairly compensating artists) to do it?
by darthcircuit | 2025-07-10 03:16:12+00:00
Anything is better than that dumpster fire. They changed the name but the ui is still straight out of the early 2000s. It’s an exercise in frustration to find the music you’re looking for, and if you subscribe to Apple Music, the radio suggestions rarely match what mood you set.

I was listening to some early 2000s alternative rock today and then randomly in the middle of my radio station it started playing a kids freeze dance song.

The best thing it has going for it is the lossless albums and native airplay casting. I got a free trial, but I’m not going to renew. I’d consider staying if they added native last.fm scrobbling, but even then I’m not sure.

I’m really bummed about the scrobbling because I lost several weeks of not a month of plays because my phone offloaded the scrobbler app and I didn’t notice. The official app for it on Mac says to use one or the other (macOS or iOS) because it will count twice.
by BeelinkOfficial | 2025-07-10 03:16:31+00:00
Hi, we’ve tested the ME mini under typical workloads using six 4TB SSDs (Samsung, Crucial, and WD), and the system runs cool — temperatures usually stay between 40–50°C, with stable airflow and efficient cooling.

If you have any other questions, feel free to contact our support team at support-pc@bee-link.com — we’re always happy to help!
by drewcoo | 2025-07-10 03:17:01+00:00
That seems like the present progressive to me.

<present tense be verb> <gerund>

I am eating his breakfast.

She is out walking the dog.

https://www.grammar-monster.com/glossary/present_progressive...

To argue with myself, smarter people than I have claimed the same construction as yours in AAVE. Check the section on tense here:

https://en.wikipedia.org/wiki/African-American_Vernacular_En...
by saghm | 2025-07-10 03:20:01+00:00
When unsafe is involved, sure, but that's a pretty small fraction of Rust code as a whole. As far as I can tell, a lot of his argument seems to be more against needing language changes in C to take advantage of strict aliasing that come at the cost of expanding the circumstances where UB can occur, but I don't really see how those would apply to safe Rust when it already has a perfectly safe way to express a reference guaranteed to not have any alias, i.e. `&mut T`. If the compiler authors came up with better ways to generate optimized code with unaliased pointers, I don't see why Rust would need to make any language changes in order to take advantage of them. That doesn't necessarily mean that there there is any significant untapped potential for these sorts of optmizations of course, or that the amount of effort to identify and implement them would be worthwhile for a toolchain like LLVM that is used for far more than just Rust, but it's not clear to me why the arguments he gives would be relevant to Rust.
by asciifree | 2025-07-10 03:20:53+00:00
I think we somewhat agree.. Uncompensated on-call is not acceptable. Even if you're not busy, there is an ever-present burden to knowing you could be interrupted at any moment that takes a toll on your personal time.

But as long as the expected cost of downtime outweighs the financial cost of keeping someone available to fix it, on-call in some form will be inevitable. (There are a lot of instances where the cost doesn't make sense, and we should just accept the system being broken until 9am)

I don't think on-call needs to suck though. IMO "staffing issues" (whether it's headcount, time, competing priorities, etc) are resourcing issues and I believe better tooling can absolutely help with that - either by reducing the resources required to fix it or by making the cost of the issues quantifiable. Thanks for the good luck :)
by rtpg | 2025-07-10 03:21:39+00:00
Many many years ago I remember playing a free minesweeper that had, among other things, hexagonal maps as an option, but the big thing was that it guaranteed that you would never need to guess. You could always figure out the answer, and I believe there was a mode where if you clicked in a way where you couldn't have deduced the answer it would put a mine in there to punish you.

Anyone know what minesweeper software I'm thinking of?
by lmm | 2025-07-10 03:22:41+00:00
> The main point of Affine logic is that it doesn't allow contraction, and the Rust type system does allow different forms of contraction. How exactly is Rust an "affine language"?

The point of Affine logic is that it doesn't allow universal, unconstrained contraction, not that you can never do an operation that has the same properties that contraction would have in some circumstances. The same is true of Rust's type system.
by saghm | 2025-07-10 03:24:21+00:00
I'm guessing you're referring to being able to change models without needing to change the code, but it's worth mentioning that there already is a mechanism to defer borrow-checking until runtime in Rust in the form of RefCell. This doesn't change the underlying exclusivity rules to allow aliasing mutable borrows, but it does allow an alternative to handling everything at compile time.
by mbac32768 | 2025-07-10 03:25:46+00:00
If there are at least 10,000 subscription services in the US and they will spend at least $10,000 to figure out if and how to comply with a click to cancel requirement (feel free to move zeros from one number to the other), the law says they must be allowed to at least have their comments heard before it's implemented. This comment opportunity was not provided.

The regulator said it didn't reach $100 million, so there was no need. The court said bs, this would cost at least that much
by drewcoo | 2025-07-10 03:25:55+00:00
I have seen monstrosities claiming to be rest that use HTTP but actually have a separate set of action verbs, nestled inside of HTTP's.

In a server holding a "deck of cards," there might be a "HTTP GET <blah-de-blah>/shuffle.html" call with the side-effect of performing a server-side randomization operation.

I just made that up because I don't want to impugn anyone. But I've seen API sets full of nonsense just like that.
by arp242 | 2025-07-10 03:26:23+00:00
It always seemed to me that converging everything to \n is relatively easy, whereas converging on \r\n is much harder. Existing \r\n files and protocols will continue to work: you just need to ignore the \r.

For example something like SMTP can be modified from "lines must end in \r\n" to "lines must end in \n, and trailing \r must be ignored". All existing SMTP will continue to work, although it may be a while before all servers reliably support \n of course.
by jofer | 2025-07-10 03:26:39+00:00
Similar tests have been standard for over 20 years. When I worked at McDonald's (late 90's), they didn't do the personality test, but when I applied across the street at Arby's a few years later, they did.

The one that I just got annoyed with and decided it wasn't worth switching from McD's to Arby's was "would you rather read a book or talk to a person?". I mean, I get it, they want people-focused-people, but being introverted and/or just liking books doesn't mean you can't give excellent customer service.

Sure, it's easy to guess what want most of the time, but the fact that personality tests are as widespread as they are in employment is maddening.

Many years later I worked at Chevron (upstream as an exploration geologist -- not a gas station). While they didn't do it as part of the application process, you were required to take a personality/communication style test when you started (ecolors). That's all well and good (it _is_ very useful to understand personalities for communication styles), but in a lot of roles you literally had to wear the colors on your badge. If you wanted to go into management, you essentially had to score "red over yellow". "Greens" and "blues" were considered to be limited to technical roles and were explicitly not given opportunities to advance, though it took a long time to realize that. I started out thinking "hey, this is actually practical" and then over a few years went to "oh, they're using this to decide who moves up... That's a problem". I asked folks and was told by my manager's manager that ecolors were explicitly used in advancement criteria and who got opportunities to lead projects/etc. That's around the time I left. I hear they've dialed that particular bit back a lot, but it's still very weird to me that it's considered a normal and acceptable practice.
Show HN: Still coding in VC++ 6.0 after losing everything, living in a trailer
by CodeAndExile | 2025-07-10 03:26:45+00:00
Hey HN,

I spent 30 years writing CAD plugins in C++, mostly in Visual C++ 6.0. Then the industry collapsed. And I lost an intellectual lawsuit, my income dried up, and my marriage ended.

Now I live alone in a trailer in rural Canada — still writing code, still surviving, trying to crawl back.

This is a short video I made (50 seconds), documenting a quiet moment from this strange life. If you’ve ever hit rock bottom and kept going, you might relate.

https://youtube.com/shorts/dDLSd3pfIYI?feature=share

Thanks for watching. Just sharing — not selling anything.
by naniwaduni | 2025-07-10 03:26:54+00:00
The counterpoint to this is that if you're willing to accept patching upstream as an option to make "key workloads" (read: partial benchmarks) perform better, what's stopping you from adding the necessary annotations instead?

The answer is basically that you were never going to, you're just externalizing the cost of making it look like your compiler generates faster code.