MurphyA/hacker-news huggingface dataset:
by notepad0x90 | 2025-09-25 11:24:43+00:00
My position is that every country should do what Monaco is doing, except if a citizen want the foreigner treatment, they can abandon whatever social benefits that would be harmed by gambling and be allowed to gamble or partake in activities that harms themselves only.

Many developed countries are struggling with birth rates for example. Should that be regulated? It is harming countries much more than gambling could ever have. The whole right-wing resurgence happening across western democracies is a direct consequence of lower birth rates demanding offshoring and immigration.
by bonoboTP | 2025-09-25 11:24:53+00:00
And they have a constant barrage of notifications, and they tap "Allow" on everything. It can be mind boggling if you spend your life in a developer-minded bubble. They watch ads. They sometimes like the ads and smile at them and don't skip them immediately.

Nothing much has changed since the times when you had to "fix" your aunt's computer in 2003 because it's "slow" and found a zillion toolbars and cleanup/speedup utilities.
by jvanderbot | 2025-09-25 11:25:03+00:00
PR review is probably at least a little performative.

But I trust my colleagues to do good reviews when I ask them to, and to ignore my PRs when I don't. That's kind of the way we all want it.

I regularly ask for a review of specific changes by tagging them in a comment on the lines in question, with a description of the implications and a direct question that they can answer.

This, "throw the code at the wall for interpretation" style PR just seems like it's doomed to become lower priority for busy folks. You can add a fancy narrative to the comments if you like, but the root problem is that presenting a change block as-is and asking for a boolean blanket approval of the whole thing is an expensive request.

There's no substitute for shared understanding of the context and intent, and that should come out-of-band of the code in question.
by naikrovek | 2025-09-25 11:25:16+00:00
I am pretty confident that a language with syntax that allows you to feel that freedom that C gives you AND is safe to write software with (without garbage collection) is possible, we just need to come up with a reasonable syntax that has both of those features. It won't look like C or Go or any of that, I don't think.

I am not a computer scientist (I have no degree in CS) but it sure seems like it would be possible to determine statically if a reference could be misused in code as written without requiring that you be the Rust Borrow Checker, if the language was designed with those kinds of things from the beginning.
by protocolture | 2025-09-25 11:25:22+00:00
He had a particular niche that had few requirements on complex networking, and a business plan that was so brain dead simple it could be achieved easily.

But yeah, really nice guy but unable to expand beyond that paradigm.

I once helped him deal with a fibre ring, where there were 5 sites in the ring, but only 2 internet services. So sites 3, 4 and 5 had to communicate via sites 1 and 2.

His team had put a sophos firewall, with NAT, and no routing, on every fibre connection and called me when it didnt work.
by troupo | 2025-09-25 11:25:39+00:00
Anytime you see someone on HN lamenting that Safari is the new IE because it doesn't implement something, 99.9% of the time it's Chrome-only non-standards.

- All of hardware standards. WebHID's timeline is especially egregious https://github.com/mozilla/standards-positions/issues/459#is...

- Most of standards advertised on web.dev as "new exciting opportunities you can try now". E.g. WebTransport https://developer.chrome.com/docs/capabilities/web-apis/webt.... The status of that spec is "scribbled on a napkin", but somehow already released in Chrome.

- Other "standards" and "specs" here and there like web share target https://w3c.github.io/web-share-target/

Can I Use had to create a special UNOFF tag for all the web APIs that Chrome (mostly Chrome) ships. If you go to MDN and look at all APIs marked as "experimental", you'll find that most of them are already shipped in Chrome: https://developer.mozilla.org/en-US/docs/Web/API
by smueller1234 | 2025-09-25 11:26:57+00:00
I realize you're making a general point about space/IO ratios and the below is orthogonal, no contradiction.

It's actually a lot less user-facing per disk IO capacity that you will be able to "sell" in a large distributed storage system. There's constant maintenance churn to keep data available: - local hardware failure - planned larger scale maintenance - transient, unplanned larger scale failures (etc)

In general, you can fall back to using reconstruction from the erasure codes for serving during degradation. But that's a) enormously expensive in IO and CPU and b) you carry higher availability and/or durability risk because you lost redundancy.

Additionally, it may make sense to rebalance where data lives for optimal read throughput (and other performance reasons).

So in practice, there's constant rebalancing going on in a sophisticated distributed storage system that takes a good chunk of your HDD IOPS.

This + garbage collection also makes tape really unattractive for all but very static archives.
by dakiol | 2025-09-25 11:27:06+00:00
There’s a fine difference between a) splitting a big feature in parts that interact with each other via well defined interfaces, and b) splitting a big feature in parts that are suitable for PRs

You can split a big feature in N MRs and that doesn’t necessarily mean the N MRs are easier to understand (and so to review) than a single big MR. Taking into account the skills of the average software engineer, I prefer to review a single big MR than N different and not very well connected MRs (the classic example is that MR number N looks good and innocent, but then MR number N+1 looks awful… but since MR number N was already approved and merged the incentives are not there to redo the work)
by bayarearefugee | 2025-09-25 11:27:24+00:00
> but maybe international outsourcing is the way to go in some areas

Seems like a lot of people forget there was a fairly massive push for this back in the early to mid aughts (for example, google "tech outsourcing 2004", as iirc 2004 was around the peak of the mania) and it generally didn't work out so great, with most companies who tried it pulling back away from it a year or two later.

Maybe it'll work better now, but I haven't seen evidence that much has changed that would modify the outcomes.
by myrmidon | 2025-09-25 11:27:43+00:00
> As for the middle class, most of the reason for the decline is people moving into the upper class.

Thats not what I get from the source you provided.

It shows that middle (and lower class) are massively losing income share: Ine 1971, you have 88% of population in middle class or below, with 72% of total income.

81% of population remain in that bracket, but now they only get 51% of total income. That is massive, and also bad for the economy as a trend because rich people spend less of their income.

The conclusion I draw from this is that middle-class (and below) is in decline because the rich "upper-class" is soaking up much of their income.
by mdnahas | 2025-09-25 11:27:48+00:00
We have done a lot to reduce risk, which has lowered the need for trust. We have national paper money, credit cards, insurance, flood-prevention infrastructure, FEMA (or did), etc.. We have less need for safety brought by connections with our neighbors.

And, with shipping being cheaper and the internet, you can stay at home and get food delivered, homegoods delivered, entertainment delivered, etc. and live without even interacting with your neighbors or seeing them at the local store.
by Eisenstein | 2025-09-25 11:27:53+00:00
I am not criticizing your historical explanation or your comment, but I would like to make a footnote:

Sometimes narratives like these which lay out a simple cause-and-effect between political decisions and modern outcomes can make people think that reverting the situation is a solution to modern outcomes, but that is rarely the case.

Everything evolves, and the solution to modern problems is to find a solution that works within modern constraints.
Show HN: Phishcan, Canada's first open and free threat intelligence platform
by ripernverse | 2025-09-25 11:28:10+00:00
Phishcan provides crucial threat intelligence, and it currently tracks phishing domains for:

• Scotiabank, Desjardins, RBC, Interac…

• Telecom providers, provincial power and health services...

• Federal & provincial services, CRA, Canada Post, Service Canada, Revenue Québec...

How Phishcan works:

• Parsing millions of domains: Continuously scanning and analyzing vast numbers of domains to detect suspicious patterns and potential phishing sites.

• Monitoring threat actors : close watch on cyber‑criminal infrastructures and their new domain registrations.

• Data enrichment : adding contextual insights and connections to improve the information

• Feeds are updated every 12 hours.

• You can use the API freely at: https://phishcan.com/api-docs

Data is also available on: https://github.com/Phishcan/phishcan-data

I plan to improve the whole platform with more data during my free time!
by Balinares | 2025-09-25 11:28:36+00:00
Strong disagreement -- your point sounds more weasely to me, to be honest. The situation as described is zero-sum; a talented youth leaving place A in favor of place B leaves the same amount of talented youth in the overall picture. If their departure is detrimental to place A, then the value that goes missing in that place does not vanish, it ends up in place B.

So, the point stands. If talented youth left the USA in significant numbers, would that be detrimental or beneficial to the USA? And you can feel either way about the answer there; however, you then can't have it different for talented youth leaving their own current home to bring their talent to the USA. Not in good faith anyway.
by nenenejej | 2025-09-25 11:29:10+00:00
300 LOC in 10 minutes. Or 2 sec per loc. Or for average 30 char line, 600wpm reading speed.

OK.

There is little you can review properly in 10 minutes unless you were already pairing on it. You might have time to look for really bad production-breaking red flags maybe.

Remember the underlying reasons for PR. Balance between get shit done and operational, quality and tech debt concerns. Depending on what your team needs you can choose anything from no review at all to 3x time reviewing than coding. What is right depends on your situation. PR is a tool.
by simon_he | 2025-09-25 11:29:12+00:00
Repository: https://github.com/Simon-He95/vue-markdown-render

A lightweight, TypeScript-first Vue 3 component library for rendering Markdown at scale. It’s built for documentation sites and editors that need to render very large documents or continuously-updating previews without jank.

Why this exists

Most Markdown renderers work fine for small pages, but struggle when pages grow huge or when you need live previews and rich features (Mermaid, math, diffs). This project focuses on real-world performance: progressive Mermaid rendering, streaming diff code blocks, and incremental rendering to keep UI responsive. Highlights

Progressive Mermaid: render diagrams lazily and progressively so big docs don’t block the main thread. Streaming diff code blocks: supports streaming updates for diffs so editors can show incremental patches smoothly. Fast real-time preview: optimized rendering pipeline for large documents and frequent updates. Built on Vue 3 + TypeScript; integrates with KaTeX, markdown-it plugins, and optional peers (Mermaid, vue-i18n, etc). Small bundle, tree-shakable components, and a demo playground for quick testing. Quick start

Install: Basic usage (Vue 3): Try the demo locally

Clone and run the playground: Notes for integrators

Peer deps: Vue 3, KaTeX, optional Mermaid and others—see the repo for details. Designed to be drop-in for docs sites or editor previews; API focuses on per-node components so you can customize rendering. What I’m looking for

Feedback on performance bottlenecks, API ergonomics, and integration with doc generators. Real-world use cases or benchmarks (happy to guide integration into your site). Bug reports, PRs, or ideas for features (e.g., server-side rendering support, additional progressive renderers). License: MIT Repo: https://github.com/Simon-He95/vue-markdown-render
by bluecalm | 2025-09-25 11:29:27+00:00
It doesn't matter if it's a game or skill it not. It's still gambling and it's still terrible. You can even argue that games of skill for money are worse than pure chance game because there is one more mechanism for people to get addicted: delusion of having an edge.

If DFS is legal roulette should be legal as well because it has fewer negative consequences for society.

I know it's popular narrative among pro gamblers that games of skill deserve a different (better) treatment but it's just self serving nonsense in my view (I've spent most of my adult life in a gambling world as both a pro player and software developer).
by lapcat | 2025-09-25 11:29:33+00:00
> This is a more detailed, informative critique of the Tahoe change than is in the post

Correct. The post was not intended to be an informative critique. Some people seem to be completely misinterpreting the purpose of the post and then claiming I'm some kind of idiot for failing to do what they mistakenly believe I was doing rather than what I was actually doing, merely raising awareness of the change among my followers (who are already sympathetic to my views).
by burnt-resistor | 2025-09-25 11:31:26+00:00
Tangentially (un)related, I recently had to implement a arbitrary bit vector Rust type backed by bytes 0-padded on the MSB side. It also offers an AsRef<[bool]> trait and iterator. Probably going to add serde as a feature and crate it at some point. The hardest part was removing bit(s). push() and append() were cake.
by noirscape | 2025-09-25 11:33:16+00:00
Keep in mind that Apple's choices to postpone features for the EU as a punishment for the DMA aren't always related to the actual contents of the law, and reek more of trying to find any excuse to block a flagship feature if compliance would take any effort whatsoever.

Take for instance iPhone Mirroring; on paper it's not a technology affected by the DMA at all (in fact, I can literally use my Android phone and adb/scrcpy to cast my phone screen and audio to desktop right now, screen casting isn't some super sacred tech), but Apple has claimed it does for the DMA. Their argument for claiming this is pretty floppy (the way I understand this is that Apple wants to use their own proprietary protocol and doesn't want to provide the protocol specs/cross-platform ways to use that protocol, which is what the DMA asks of them since they're that big of a player - Apple publicly says it'd compromise security, but it should be noted that Apple trots out security as the reason for almost every consumer hostile thing they've ever done in recent memory), but making a big show out of how the EU is evil helps them more, rather than the reality just being wilful noncompliance.

Apple has been bad faith on the DMAs contents from day one, and basically all of their complaints come from that bad faith attempt to comply with it. Junk fees like the CTF/CTC, requiring one million dollars in the bank for app stores and still trying to gatekeep non-app store apps, withholding random features because making them compliant takes a bit of effort: they are all examples of Apple thinking that if they're just obstinate enough about non-compliance with the DMA, that the CJEU or the EC will make the law magically go away by giving them an inch. That may work in the US, but so far it's not exactly been doing wonders in the EU, which tends to just get more pissed off.
by epage | 2025-09-25 11:33:17+00:00
Agree with the overall sentiment but disagree with

> A good rule of thumb is 300 lines of code changes - once you get above 500 lines, you're entering unreviewable territory.

I've found LoC doesn't matter when you split up commits like they suggest. What does matter is how controversial a change is. A PR should ideally have one part at most that generates a lot of discussion. The PR that does this should ideally also have the minimal number of commits (just what dossn't make sense standalone). Granted this take experience generally and experience with your reviewers which is where metrics like LoC counts can come in handy.
by cluckindan | 2025-09-25 11:34:15+00:00
You could ask an LLM to provide categorizarions for nouns and verbs, and store those. For ”I don’t like cappuccino”, you’d get back ”self”, ”human”, etc. for ”I”; ”negation” etc. for ”don’t”; ”preference”, ”trait” etc. for ”like”; ”coffee”, ”hot”, ”drink”, ”beverage” etc. for ”cappuccino”.

It would become unwieldy real fast, though. Easier to get an embedding for the sentence.
by gruez | 2025-09-25 11:34:33+00:00
>It might be more informative to see how many men actually use their sports betting accounts.

A sibling poster posted a link to Siena survey that has related betting statistics. For males the percentage that "have accounts" vs those who "had accounts" is 30% and 6% respectively. You see similar ratios in the age breakdowns. Therefore it's safe to say that around 40% of males below 50 "have" betting accounts.
by whywhywhywhy | 2025-09-25 11:35:35+00:00
Honestly the time is now to start building a P2P mirror on top of yt-dlp so the videos only need to be scraped a few times, within 4 years it's obvious ads will be burned into the video file or yt-dlp will no longer function at all and then it will be too late to mirror YouTube and the content will be locked up and eventually lost.
by btreecat | 2025-09-25 11:35:49+00:00
My guide to good PRs:

- Keep PR messages short and to the point. - use as many commits as you need, it's all the same branch. Squash if you want, I think it hides valuable meta. - put the ticket in the branch name. Non negotiable. - Update your ticket with progres. Put as much details as you can, as if you were writing to someone who's picking up the task after you. - add links to your ticket. Docs, readme, o11y graphs, etc. - Link ticket in PR for easy access to additional info - Admit if you don't understand what your looking at. Better to pair and keep moving forward. - if you request changes, stay available for conversation and approval for the next few hours. - punt the review if you don't feel like you can legitimately engage with the content right now. Make sure you communicate it though. - Avoid nits. This causes a loss in momentum and v rarely is worth changing.
by lmm | 2025-09-25 11:35:50+00:00
> Sure, if you forget about C, Java, TypeScript, SQL, and many others.

C has had multiple implementations from multiple implementors for decades. Java wasn't really tied into Sun's ecosystem, and had an enormous marketing blitz. TypeScript was even less of a Microsoft "company language" - and I think it's interesting that Dart felt a lot more tied into everything Google was doing, but ultimately lost out.
by ekidd | 2025-09-25 11:36:17+00:00
A lot depends on your goals for your code reviews. And your goals might even be different for different parts of the code base.

- Are you trying to make sure that more than one human has seen the code? Then simply reading through a PR in 10 minutes and replying with either a LGTM or a polite version of WTF can be fine. This works if you have a team with good taste and a lot of cleanly isolated modules implementing clear APIs. The worst damage is that one module might occasionally be a bit marginal, but that can be an acceptable tradeoff in large projects.

- Does every single change need to be thoroughly discussed? Then you may want up-front design discussions, pairing, illustrated design docs, and extremely close reviews (not just of the diffs, but also re-reviewing the entire module with the changes in context). You may even want the PR author to present their code and walk throuh it with one or more people. This can be appropriate for the key system "core" that shapes everything else in the system.

- Is half your code written by an AI that doesn't understand the big picture, that doesn't really understand large-scale maintainability, and that cuts corners and _knowingly_ violates your written policy and best practices? Then honestly you're probably headed for tech debt hell on the express train unless your team is willing to watch the AI like hawks. Even one clueless person allowing the AI to spew subtlety broken code could create a mess that no number of reviewers could easily undo. In which case, uh, maybe keep everything under 5,000 lines and burn it all down regularly, or something?
by Propelloni | 2025-09-25 11:36:25+00:00
Look, you could have said "I don't know what you mean. Explain it to me." And I would have tried and we would have had a civilised discussion why we think what we think.

But you, by resorting to sarcasm, inappropriate quotational use of a term, and distorting my sentences, demonstrate that you understood what I said and what I meant. This, in turn, tells me you think it is okay to deny people liberty, equality and justice, as long as the product is swell. In fact, I think you think that's OK even if there is no product.

I could argue some more, but this is the internet. So I leave it be and remind myself of the well-known saying "all evil needs to triumph is that good men do nothing."
by Phemist | 2025-09-25 11:36:50+00:00
In these cases one should apply the cybernetic principle. The purpose of the system is what it does.

The intention of the mathematician friends of yours may be to prevent money laundering and match fixing from being profitable (and thereby providing a public good). However, so many genuine sharp and/or plain lucky bettors are caught in these AML & Match Fixing cross-fires, it would be very naive to assume these are all just unfortunate false positives.

Sportsbooks are however legally hamstrung in what they can admit to of course. By doing so they would also admit to completely ignoring and even violating one of the core duties imposed on legal sportsbooks: the duty of care (in EU countries at least this is supposedly an important aspect of the legalisation).

By kicking someone off your platform, you definitely no longer have any way to nudge their behaviour into something less self-destructive. Some players might quit, but for those that do not: Illegal sportsbooks will try to take even more advantage of their players, and now you have also indirectly caused the financing of all kinds of other activities that AML regulation is specifically designed to prevent.

My hot take: your mathematician friends looking at suspicious betting patterns are a way for sportsbooks to greenwash and "legalize" their exploitative practices.
by Tangokat | 2025-09-25 11:37:07+00:00
The big asian bookies don't ban you if you win, they use your sharp bets to improve their price accuracy. Not legal to bet on them if you're from the US though (land of the free??). The biggest betting syndicates use platforms like Punterplay to place bets (often via API) at multiple bookies (Pinnacle, Singbet, SBObet, Betfair, Matchbook, 3ET, VX etc) at the same time.

In a somewhat ironic turn of events the more regulation you have, the worse it is for the customer. Big regulatory burdens require the bookies to extract more from the users, making the offerings more predatory. This is also why the likes of Kalshi can provide a better product to customers at the moment - because they ignore all the regulation.
by deskamess | 2025-09-25 11:38:23+00:00
I use FF... but they are financially tied to Google and even technically they are waiting on Google to implement JPEG-XL instead of moving forward themselves. Why not do some work/spend some money to borrow Safari's implementation or audit and augment a third party library? Instead of waiting on Google... esp on this matter where you could be waiting for a long time.