MurphyA/hacker-news huggingface dataset:
by claytongulick | 2025-07-09 12:59:16+00:00
So, you're holding a strong opinion about something that you're completed uneducated about and have no experience with?

ANY software change in a non-hobby business goes through a change process.

One as significant as an entirely new account cancelation flow requires extensive planning, design and testing.

What if you have equipment like a set top box? What if a shipping label needs to be mailed out? What if there are state-by-state regulations that must be complied with? What if you have to issue prorated returns of prepaid subscription fees? What if different accounts have different cancelation terms because of bulk pricing? And a million other things that you have to think about, design for and test.

Of course you can solve all this. But it's certainly not "BS" that it'll take more than 24 hours.

The FTC knew this. They cheated their process to ram through a rule. But you like the rule they tried to cheat to implement, so it's ok then, I guess.
by singleshot_ | 2025-07-09 12:59:20+00:00
> There should be a law passed on this point

Right; there was. We’d refer to that as the “enabling act” by which Congress delegates regulatory lawmaking authority to the FTC.

> The FTC isn’t supposed to create laws

You have deeply misunderstood US federal regulatory law.

> Or FTC can sue based on existing law

Yes; that’s the idea. Regulations are law.
by vildoran | 2025-07-09 12:59:41+00:00
We have an in-game application process that can be used, though typically we are targeting players that already have knowledge of the game and how certain systems work.

You are correct that the source code isn't public. There are two levels of source code, the in-game code (quests, regions, etc., written in LPC in our case) and the MUD driver code (C). The in-game code has been leaked a few times by some of the developers, and so many of the people that want it have it by this point.

The MUD driver we started with (TMI-2 1.1.1 on MudOS v22pre8 if you want to look it up) is heavily modified now, but the original source is out there.
by layer8 | 2025-07-09 13:01:34+00:00
It may mean something, but Roy Fielding went out of his way, over many years, to not talk about the actual use cases he had in mind. It would have been easy for him to clarify that he was only talking about interactive browser applications. But he didn’t. And the people who came up with HATEOAS didn’t think he was. Nor did any of the blog articles that are espousing the alleged virtues of RESTfulness. So it’s not surprising that the term “REST” was appropriated for something else. In any case, it’s much too late to change that, it’s water down the bridge.

I’m only mildly interested in discussing hypothetical hypermedia browsers, for which Roy Fielding’s conception might be well and good (but also fairly incomplete, IMO). What developers care about is how to design HTTP-based APIs for programmatic use.
by PeterStuer | 2025-07-09 13:01:59+00:00
Given that the existence of a reference is fairly trivial to check, I'd wager the authors would not care enough to pay for this. As for 'fit', this is very much in the eye of the beholder and a paper can be cited for the most trivial part. Overcitation is usually not seen as a problem. Omitting citations the reviewer considers 'essential', often from their own lab or circles, is seen as non-negotiability.

So the better 'idea' would be to produce a CYA citation assistant that for a given paper adds all the remotely plausible references for all the known potential reviewers of a journal or conference. I honestly think this is not a hard problem, but doubt even that can be commercialized beyond Google Ads monetization.
by fao_ | 2025-07-09 13:03:03+00:00
> Zorin boasting about you being able to play "an enormous library of your favorite games" or boasting about the vast software library feels like asking for trouble. It won't be long before users run into rough edges.

Out of the top 1000 games on steam: https://www.protondb.com/dashboard

29 are "borked" (unplayable)

26 are "bronze" (issues playing like "might crash")

82 are "silver" ("runs with minor issues but is playable")

823 are "gold"/"platinum" (works perfectly with tweaks, and works perfectly ootb)

> TBH in the current environment I still think the best OS for "revive an old computer for a not very tech savvy person" is ChromeOS.

Only 52 games are listed as "certified" for proton on Chrome OS.
by pilaf | 2025-07-09 13:03:06+00:00
Spanish uses the long scale, but lately I've been noticing people mistakenly using the short scale in Spanish more and more, likely due to the influence of English and the internet, sometimes even in news articles and other "professional" publications. You may see someone speaking of "un trillón de dólares" (a trillion dollars), which while it makes sense in English when speaking of federal budgets or the market cap of FAANG, in long scale that's more than the world's entire money supply.

It's especially annoying because it creates ambiguity and renders the *illón-words fairly useless.
by 3rchuss | 2025-07-09 13:03:08+00:00
Hi HN,

I recently published my first npm package: [`react-canvas-masker`](https://www.npmjs.com/package/react-canvas-masker). It’s a small utility that allows users to draw freehand masks over an image in a canvas, and extract those masked regions (as image blobs/base64) — useful when working with generative AI workflows or in-browser image editing.

### Why I built it

I needed a tool for an AI project where users could select a part of an image, describe changes via prompt, and send it to a generative model (e.g., DALL·E or Stable Diffusion). I found a repo that had some of the core logic but it was abandoned and unmaintained.

So I forked it, cleaned the codebase, improved usability, modernized some parts, and decided to publish it as an npm module so others could benefit from it too.

### What it does

- Displays an image in a canvas - Lets the user draw a mask over it (freehand with the mouse) - Allows extraction of the masked area as a cropped image

It doesn’t do the AI part — just focuses on the UI and extraction flow. Think of it as a helper component for browser-based tools that need selective image manipulation.

### Use cases

- Generative AI editors (mask + prompt) - Browser-based design tools - Selective region editing (e.g. blurring faces, cropping objects, etc.)

### npm

→ [https://www.npmjs.com/package/react-canvas-masker](https://www.npmjs.com/package/react-canvas-masker)

The code is open and simple. If anyone’s building something similar, happy to hear thoughts or improvements.

Thanks for reading!
by atmavatar | 2025-07-09 13:03:55+00:00
I wouldn't call it blind loyalty.

I've used Steam almost since its inception, and by and large, it stays out of my way while playing, lets me install any game I've purchased historically without any trouble, and provides download speeds that approach my fiber's max limit when I do install a game. For me, it just works™. I've yet to have a bad experience with it.

Sure, I also use GoG semi-regularly, particularly because it's also been relatively painless to use but also because the often overlapping sales on both frequently result in games I'm interested showing up cheaper on one store than the other (but not always the same one). However, it started off pretty niche, and CD Projekt Red publishes their really big games to other stores (much to their credit), so I won't fault someone for not having used GoG yet.

I've also dipped my toes a little in the EA store, but only because there have been a few games I've wanted which required it. It struck me as an inferior experience to Steam and GoG, and I admit a particular distaste in the handful of cases where games bought on Steam/GoG still ultimately require launching the EA store before the games themselves load. If this is someone's first experience outside Steam, I totally understand retreating back to familiar territory.

I won't dispute if someone else claims having a bad experience with Steam - I just haven't shared it. However, I do find hate because "they want to make money" puzzling. Every store does.
by hombre_fatal | 2025-07-09 13:04:10+00:00
It also means they made some effort to use appropriate http verbs instead of GET/POST for everything, and they made an effort to organize their urls into patterns like `/things/:id/child/:child_id`.

It was probably an organic response to the complexity of SOAP/WSDL at the time, so people harping on how it's not HATEOAS kinda miss the historical context; people didn't want another WSDL.
by ImPostingOnHN | 2025-07-09 13:04:44+00:00
"agent", to me, is shorthand for "an LLM acting in a role of an agent".

"agent code" means, to me, the code of the LLM acting in a role of an agent.

Are we instead talking about non-agent code? As in deterministic code outside of the probabilistic LLM which is acting as an agent?
OpenAI Codex Is Generating 10% of Public GitHub PRs
by cmuertz | 2025-07-09 13:04:57+00:00
On July 5th, autonomous code agents (primarily Codex) authored around 15% of all public GitHub pull requests — and most of these changes were non-trivial. Wild times.

Does anyone know of any fully autonomous open-source agents that not only generate code on request, but also identify issues and open PRs in OSS projects without human prompting? That feels like a worthy experiment.

If benchmarks like SWE-Bench are accurate, these agents should already be able to resolve many issues in major Python packages — fully autonomously.

Data: https://insights.logicstar.ai/
by lompad | 2025-07-09 13:05:37+00:00
>misusing it just decreases clarity and hinders communication

There is no such thing as "misusing language". Language changes. It always does.

Maybe you grew up in an area of the world where it's really consistent everywhere, but in my experience I'm going to have a harder time understanding people even two to three villages away.

Because language always changes.

Words mean a particular thing at a point in time and space. At another one, they might mean something completely different. And that's fine.

You can like it or dislike it, that's up to you. However, I'd say every little bit of negative thoughts in that area only serve to make yourself miserable, since humanity and language at large just aren't consistent.

And that's ok. Be it REST, literally or even a normal word such as 'nice', which used to mean something like 'foolish'.

Again, language is inconsistent by default and meanings never stay the same for long - the more a terminus technicus gets adapted by the wider population, the more its meaning gets widened and/or changed.

One solution for this is to just say "REST in its original meaning" when referring to what is now the exception instead of the norm.
by throwaway984393 | 2025-07-09 13:06:11+00:00
"A software development kit (SDK) is provided royalty-free,[13][14] though the ability to commission a finished product into a Matter network in the field mandates certification and membership fees,[15][16] entailing both one-time, recurring, and per-product costs.[17] This is enforced using a public key infrastructure (PKI) and so-called device attestation certificates.[15]"

So it's a closed ecosystem that makes money for a cabal of corporations
by akulkarni | 2025-07-09 13:06:15+00:00
That's interesting. Personally I did not find it vague and ambiguous.

ClickHouse was fast but required a lot of extra pieces for it to work:

Writing data to Clickhouse Your service must generate logs in a clear format, using Cap'n Proto or Protocol Buffers. Logs should be written to a socket for logfwdr to transport to PDX, then to a Kafka topic. Use a Concept:Inserter to read from Kafka, batching data to achieve a write rate of less than one batch per second. Oh. That’s a lot. Including ClickHouse and the WARP client, we’re looking at five boxes to be added to the system diagram. So it became clear that ClickHouse is a sports car and to get value out of it we had to bring it to a race track, shift into high gear, and drive it at top speed. But we didn’t need a race car — we needed a daily driver for short trips to a grocery store. For our initial launch, we didn’t need millions of inserts per second. We needed something easy to set up, reliable, familiar, and good enough to get us to market. A colleague suggested we just use PostgreSQL, quoting “it can be cranked up” to handle the load we were expecting. So, we took the leap!

PostgreSQL with TimescaleDB did the job. Why overcomplicate things?
by mschaef | 2025-07-09 13:06:39+00:00
> The core problem it addresses is client-server coupling. There are probably countless projects where a small change in a server’s URI structure required a coordinated (and often painful) deployment of multiple client applications. A HATEOAS-driven approach directly solves this by decoupling the client from the server’s namespace. This addresses the quality of evolvability.

Not sure I agree with this. All it does is move the coupling problem around. A client that doesn't understand where to find a URL in a document (or even which URL's are available for what purpose within that document) is just as bad as a client that assumes the wrong URL structure.

At some point, the client of an API needs to understand the semantics of what that API provides and how/where it provides those semantics. Moving it from a URL hierarchy to a document structure doesn't provide a huge amount of added value. (Particularly in a world where essentially all of the server API's are defined in terms of URL patterns routing to handlers. This is explicit hardcoded encouragement to think in a style in opposition to the HATEOAS philosophy.)

I also tend to think that the widespread migration of data formats from XML to JSON has worked against "Pure" REST/HATEOAS. XML had/has the benefit of a far richer type structure when compared to JSON. While JSON is easier to parse on a superficial level, doing things like identifying times, hyperlinks, etc. is more difficult due to the general lack of standardization of these things. JSON doesn't provide enough native and widespread representations of basic concepts needed for hypertext.

(This is one of those times I'd love some counterexamples. Aside from the original "present hypertext documents to humans via a browser" use case, I'd love to read more about examples of successful programmatic API's written in a purely HATEOAS style.)
by immibis | 2025-07-09 13:06:50+00:00
Linux had many similar restrictions in its lifetime; it just has a different compatibility philosophy that allowed it to break all the relevant ABIs. Most recently, dual-socket 192-core Ampere systems were running into a hardcoded 256-processor limit. https://www.tomshardware.com/pc-components/cpus/yes-you-can-...
by layer8 | 2025-07-09 13:06:51+00:00
Line breaks are considered whitespace, hence CR is considered whitespace. It is also a control character. This is similar to TAB, or indeed LF.

See here for example: https://en.cppreference.com/w/c/string/byte/isspace

Or here for Unicode: https://en.wikipedia.org/wiki/Whitespace_character#Unicode
by sgarland | 2025-07-09 13:06:52+00:00
Sure, or you make a natural key. Depending on your RDBMS (MySQL and SQL Server cluster rows around the PK) and query patterns, this may be quite a bit faster, to boot. For example, if you have a table with customer orders, you could have a PK like (user_id, order_id), where both are INTEGER (this assumes that you have a centralized service assigning user ids, which isn’t that big of an ask IMO). Even if you used BIGINT for both - which is almost certainly not required for 99% of businesses for this example - that’s still 16 bytes, or the same as a binary-encoded UUID. Since most queries for this kind of thing will involve a user id, with a clustering index like MySQL / InnoDB, all of the user’s records will be physically co-located. Even for Postgres, which stores tuples in a heap, you’re not going to take a performance hit, and it’s a lot easier to read two ints than two UUIDs.

The problem is these performance boosts / hits don’t make themselves painfully obvious until you’re at the hundreds of millions of rows scale, at which point if you didn’t do it properly, fixing it is much more difficult.
by claytongulick | 2025-07-09 13:07:19+00:00
Libpostal is great and was a lifesaver for me, but anyone who is interested in using it should be aware that it it NOT lightweight.

IIRC it takes gigs of storage space and has significant runtime requirements.

Also, while it's implemented in C there are language binding for most major languages [1].

It's one of those things where it's most likely best deployed as an independent service on a dedicated machine.

[1] https://github.com/openvenues/libpostal?tab=readme-ov-file#b...
by jeroenhd | 2025-07-09 13:07:24+00:00
The advantage of Zorin is that it comes with some level of Wine integration. If it detects that there's a Linux version of a Windows installer, it'll guide the user towards the Linux version instead, but opening .EXEs works quite well out of the box as well.

Getting a recent version of Wine on anything but Arch-based distros without some kind of confusing intermediary is quite tricky, so making Wine somewhat usable goes a long way for non-tech-savvy users.

I've seen Zorin on computers sold for cheap in several second-hand stores. All PCs that have no hope of running Windows 11 (and probably struggled to run Windows 10 before getting a RAM+SSD upgrade). For reusing old tech, it's not a bad solution, though some users might have someone install Windows 10 later anyway.
Show HN: Pattern recognition engine, buying signals from unstructured web data
by aleksam | 2025-07-09 13:08:42+00:00
I’ve been working on Dealmayker, a pattern recognition engine that turns raw, unstructured web data into real-time buying signals for B2B sales teams.

Most tools rely on static firmographic data. But in practice, the strongest indicators of intent are buried in job postings, company websites, press releases, and social media activity.

Dealmayker analyzes multiple sources simultaneously and looks for implicit signals like hiring velocity, tech stack shifts, leadership changes, and growth momentum. The goal is to help reps understand not just who a company is, but what it's becoming - in seconds, not hours.

Would love feedback on the engine, the signal quality, or ideas on other data sources that might be valuable.

Aleksa
by maxtaco | 2025-07-09 13:09:05+00:00
It's not as seamless. You need to first make a team, then invite (or add) that user into the team, and then use `foks kv put --team <your-team>`. One key difference is that in Keybase, all user's profiles were essentially world-readable. FOKS aims for more privacy by default, so in order to add Bob to your team, Bob has to first allow you view his sigchain, so you can learn his public keys.

The add vs invite distinction referred to above is because servers can choose different visibility policies. You can set up a server at foks.yourdomain.cc, and set it to "open-viewership", which means that any user can see any other user by default. If you and Bob are both on that host, you can add him to your team without his permission. But other hosts, like foks.app, do not work this way, and Bob has to authorize you to view him.
by funkydata | 2025-07-09 13:09:17+00:00
So, actually, on the museum's ticketing site they say that the internet tickets are sold out, but if you actually get there, there's a limited amount of tickets that are sold each day (because not everyone uses the internet) : "Merci de noter que des places pour la visite le jour même sont en vente chaque jour directement à l'accueil de l'exposition, dans la limite des places disponibles.".
by crowbahr | 2025-07-09 13:10:29+00:00
> I don't think it particularly moral to start heading down a path wherein we are essentially aiming to create enslaved cloned vat brains. I know that's not what they have, and that they're nowhere near that, but if they succeed in these early stages, more and more complex systems will follow in time. I don't think it a particularly healthy direction to explore.

Immoral by slippery slope is not a reasonable or rational argument. You're acting like nobody would have any qualms with it being a full sized human brain instead of a thousand neurons on a tiny plate.

It's an emotional reaction to an impression of these scientists that strips them of human decency or agency. There's nothing inevitable about this abusive idea you've concocted, and the only inevitability would come if each of the hundreds of scientists involved were some sort of psychopathic sadists with no regard for _any_ human life.

There's nothing immoral about cells in a petri dish, and there's absolutely no reason to assume that it directly leads to a fully enslaved in-vitro human.
by bluGill | 2025-07-09 13:10:32+00:00
That is easy to say. However I don't think you can define "correct direction" in a useful way that also gets at what you mean. Every definition you can come up with someone will find a loop hole that fits the letter of your definition, while it is against what you mean.

By putting process in place for rules we give us time to notice bad rule proposals and give us a process to stop them.
by bthallplz | 2025-07-09 13:10:34+00:00
For others curious to see how it works/is used:

- Its manual (text and graphics): https://users.notam02.no/~kjetism/radium/documentation/

- A video tutorial (unofficial source): https://youtu.be/9-ttkNfVqgk?si=Xz0D_nV3Jt6fVUKO
by jeroenhd | 2025-07-09 13:10:37+00:00
Proton isn't Wine. The version of Wine that Zorin ships won't run games quite so well.

Installing Steam and running games through Steam will fix that, but it won't help with users downloading the Epic Game Store or GOG or the Rockstar Launcher.

Having helped a few users get acclimated with Linux, I've found that there are always a few rough edges around games. Zorin seems to hide them very well out of the box, though, much better than any of the other distros I've tried.
by sidewndr46 | 2025-07-09 13:10:46+00:00
If you're expecting a "mobile first" or similar GUI where most of the screen is dedicated to whitespace, basic features involves 7 or more mouse clicks and for some reason it all gets changed every ~6 months then yes the 7zip GUI is terrible.

Desktop software usability peaked sometime in the late 90s, early 2000s. There's a reason why 7zip still looks like ~2004
by muzani | 2025-07-09 13:10:56+00:00
I'm not sure what you mean by dev/depl log, but there's architectural decision records in there. There's spike docs, which look into how long something would take - some have useful decision research, but they're generally not scrubbed out when done. Old stuff is swept into some "Archives" folder.

Search is the real value though. I never remember where a certain doc is stored. But if I can remember who wrote it or some snippet from it, I can find it. They link to each other well. Another pointer is from Slack; maybe it needs this kind of combo to work well together?
by LoganDark | 2025-07-09 13:11:00+00:00
> It also means they made some effort to use appropriate http verbs instead of GET/POST for everything, and they made an effort to organize their urls into patterns like `/things/:id`.

No not really. A lot of people don't understand REST to be anything other than JSON over HTTP. Sometimes, the HTTP verbs thing is done as part of CRUD but actually CRUD doesn't necessarily have to do with the HTTP verbs at all and there can just be different endpoints for each operation. It's a whole mess.
by immibis | 2025-07-09 13:11:15+00:00
No, the GUI. 7-zip integrates well with the shell: select a group of files, right click -> make zip file, and so on. Or right-click a zip file and select extract. If you're accustomed to Linux you might not know what they're talking about.

TortoiseGit (and TortoiseSVN) are similarly convenient. Right click a folder with an SVN repo checked out, and select "SVN update". Right-click an empty space, and select "SVN checkout". SVN was the main distribution method for some modding communities before things like Steam Workshop and Github, specifically because TortoiseSVN made it so convenient. Checkout into your addons folder, and periodically update. What could be simpler?