MurphyA/hacker-news huggingface dataset:
by Kelteseth | 2025-06-04 08:21:13+00:00
It is always funny to me when Americans cry about European laws (again and again). Go EU!

> I still think that law was unnecessary — the market forces had worked, and the whole world had either already moved (like iPads did starting in 2018) or was on the cusp of moving to USB-C (like iPhones).

I don't think this is true. We still have these awful barrel plug charger if you want to buy a sub 500 euro laptop. With the law mandating USB-C for laptops in 2026.
by molochai | 2025-06-04 08:22:35+00:00
Same, thank you.

I have a friend and coworker who is currently struggling with this thing and similar "not making anything" issues from having worked a "maintenance/support" job consisting of little day-to-day make-creation. He took a leave for two months. I really don't think he's coming back.

It is a loss for people he works with and the things he touches. Not to mention a loss for me, because he was the one person I found at my current job with the "make stuff, be useful" attitude. Already people who see that writing on the wall are dropping out.

Sooner or later, me too, if that is in fact the way it goes. The only thing that really keeps me going is that I don't have anything else to turn to, and I do have some cloudy optimism about getting a lot of money and satisfaction in a couple years to help clean up or rework the garbage-deluge.

Your other comment about extroversion makes me think of Gifts Differing (not the best book in the universe, but some good bits especially around intro/extroversion). I just want to hit flow state and smash my head into a problem that costs me sleep and come out on top bloodied but happy and feeling like I've done something. And this is/was a really great career for that.

> This faculty of concentration is likely to characterize the introverts' careers. Whereas extraverts tend to broaden the sphere of their work, to present their products early (and often) to the world, to make themselves known to a wide circle, and to multiply relationships and activities, the introvert takes the opposite approach. Going more deeply into their work, introverts are reluctant to call it finished and publish it, and when they do, they tend to give only their conclusions, without the details of what they did. This impersonal brevity of communication narrows their audience and fame, but saves them from overwhelming external demands and allows them to return to another uninterrupted stretch of work. As Jung is reported to have said, the introverts' activity thereby gains in depth and their labor has lasting value.
by gary17the | 2025-06-04 08:23:00+00:00
From my experience, the "common assumption" that your brain works best only when you are in your 20s or 30s is a complete and utter nonsense. You might get a bit more burned out with time or simply become less passionate about technology in itself or professional careers in general and instead care more about your real-world life, but if you keep your body in good physical condition and keep pushing your brain, you only become more efficient and faster at programming every year, due to your accumulated experience and improved intuition. (Consider the Linus Torvalds guy.) It is only the corporate environment that actually forces you to switch to managerial responsibilities.
by chipx86 | 2025-06-04 08:23:02+00:00
Yep! We spent 20 years dealing with these problems and in those 20 years nobody really solved these pain points. So we talked to some SCM vendors, bounced ideas around, built a spec, got feedback from them, repeated off-and-on for a couple years until we got the current draft, and implemented it for our needs.

It's been a few years now, and so far so good for the purposes we built it for. And it's there for any other tool or SCM authors to use if it also happens to be useful to them.
by palata | 2025-06-04 08:23:10+00:00
For instance, you can certainly say that 381/7 is a positive number. And if I say "381/7 = 198", you can easily say that it is clearly wrong, e.g. because you immediately see that ~200 is roughly half of ~400, so it cannot be anywhere close to 1/7th.

I believe that this is an acquired skill that requires basic arithmetic. But if you need a calculator to realise that 381 is roughly twice as big as 198, then you can't do any of the reasoning above.

One may say "yeah but the point of the calculator is to not have to do the reasoning above", but I disagree. In life, we don't go around with a calculator trying to find links between stuff, like "there are 17 trees in this street, 30 cars, what happens if I do 17+30? Or 30-17? Or 30*17?". But if you have some intuition about numbers, you can often make more informed decisions ("I need to wait in one of those lines for the airport security check. This line is twice as long but is divided between three officers at the end, whereas this short line goes to only one officer. Which one is likely to be faster?").
by alwa | 2025-06-04 08:23:20+00:00
The number seems to come from Medicare’s CERT program [0]. At a hurried glance they seem to have published data right up to present, but their most recent interpretive report I could find with error margins was from 2016. That one [1] put the CIs on those fraud rates in the +/-2% range per subtype and around +/-0.9% overall. Bearing out your point.

CERT’s annual assessments do seem to involve a large-scale, rigorous analysis of an independent sample of 50,000 cases, though. And those case audits seem, at least on paper and to a layperson, to apply rather more thorough scrutiny than Medicare’s day-to-day policies and procedures.

As @patio11 says, and to your point, “the optimal amount of fraud is non-zero”… [2]

[0] https://www.cms.gov/data-research/monitoring-programs/improp...

[1] https://www.cms.gov/research-statistics-data-and-systems/mon...

[2] https://www.bitsaboutmoney.com/archive/optimal-amount-of-fra...
by beardyw | 2025-06-04 08:23:52+00:00
What "novel" means? I would say putting things together in a way which hasn't been done before. Just asked Gemini:

There are 2 wolves and 2 sheep in a field. How many sheep will there be tomorrow?

Answer: There will still be 2 sheep tomorrow.

Needs some visualisation which LLMs don't really do well.
by som | 2025-06-04 08:24:18+00:00
Great approach.

Worth noting that there is a 6 decimal precision on the coordinates of the 90kb (gz) `coord2state.min.js` ... which suggests an accuracy that may not be present in the simplified data (i.e. <1m).

Before you increase tolerance to decrease filesize, you could consider lowering this decimal precision to 5, 4 or even 3 decimals given the "country, state, or city" requirement.

I also like the idea of using a heavily cached, heavily compressed image that is perfect for the >95% of the country that isn't within a pixel of a border. With a subsequent request for another heavily cached vector tile that encompasses any lat/lng within your 1px tolerance.
by maxberdnikau | 2025-06-04 08:24:37+00:00
Hi! I am Max. I am a Full-stack Engineer with 13+ years of experience and extensive knowledge in several areas: UI Design, Software Development, Analytics. Involved in creation of several startups and have previously created my own products and tools. I have a strong mathematical background. Particularly interested in fintech, crypto, LLMs, AI, complex systems (business & technical). I'm keen on working in a startup but open to discussing any opportunities.

Location: Warsaw, Poland

Remote: Yes

Willing to relocate: Yes

Technologies: Ruby, Rails, Hotwire, JavaScript, TypeScript, React, Vue, Svelte, Nest, Next, Nuxt, Tailwind, Postgres, Docker, CI/CD (Gitlab & Github), Grafana, etc.

Résumé/CV: https://www.linkedin.com/in/maxberdnikau/

Email: maxberdnikau@gmail.com
by maxberdnikau | 2025-06-04 08:25:11+00:00
Hi! I am Max. I am a seasoned Designer & Developer with 13+ years of expertise across Product Design, UX/UI Design, Software Development, Analytics, and Management. I craft well-thought-out user-centered visually striking digital products, and implement them in code. I am involved in creation of several startups and have previously created my own products and tools. I have a strong mathematical background. Completely self-sufficient, and also lead a team that includes all essential roles: Web Software Engineer, Graphic Designer, UX/UI designer, 3D Designer, etc. If I can be of assistance, please feel free to contact me.

Location: Warsaw, Poland

Remote: Yes

Willing to relocate: Yes

Des: User Research, User Flow, UX/UI, Web, Holistic, Design System, Wireframes, Email Design, Dashboards, Mobile App Design, 3D, Illustrations, Animations, Figma, FinTech, E-commerce.

Dev: Ruby, Rails, Hotwire, JavaScript, TypeScript, React, Vue, Svelte, Nest, Next, Nuxt, Tailwind, Postgres, Docker, CI/CD (Gitlab & Github), Grafana, etc.

Email: maxberdnikau@gmail.com
by teekert | 2025-06-04 08:25:38+00:00
I agree, there are people working on "molecular barcoding" [0], which would allow for perfect separation of packaging. Combine this with some standards for easy de-lamination or something to get the different components detached (7 layers of different materials in a foil appear to be quite standard) and separated and you should make a dent in the problem.

However I heard "from the system" that manufacturers are not interested in the world knowing exactly what they produce, why, where it ends up and what their contribution to our plastic soup is (surprise surprise). It's a sick system of you ask me. The law (so us citizens) should set the incentives.

Still, people making nice things from waste is always good. But I would be a bit worried about the fumes and dusts coming from these materials though. Where I worked we didn't laser-cut poly-carbonate for example because it would produce airborne endocrine disrupting substances...

[0] https://research.qut.edu.au/cms/projects/macromolecular-barc...
by Yoric | 2025-06-04 08:26:48+00:00
> I don't see how any good-faith analysis of Go errors as specified/intended by the language and its docs, nor Go error handling as it generally exists in practice, could lead someone to this conclusion.

Let me detail my claim.

Broadly speaking, in programming, there are three kinds of errors:

1. errors that you can do nothing about except crash;

2. errors that you can do nothing about except log;

3. errors that you can do something about (e.g. retry later, stop a different subsystem depending on the error, try something else, inform the user that they have entered a bad url, convert this into a detailed HTTP error, etc.)

Case 1 is served by `panic`. Case 2 is served by `errors.New` and `fmt.Errorf`. Case 3 is served by implementing `error` (a special interface) and `Unwrap` (not an interface at all), then using `errors.As`.

Case 3 is a bit verbose/clumsy (since `Unwrap` is not an interface, you cannot statically assert against it, so you need to write the interface yourself), but you can work with it. However, if you recall, Go did not ship with `Unwrap` or `errors.As`. For the first 8 years of the language, there was simply no way to do this. So the entire ecosystem (including the stdlib) learnt not to do it.

As a consequence, take a random library (including big parts of the stdlib) and you'll find exactly that. Functions that return with `errors.New`, `fmt.Errorf` or just pass `err`, without adding any ability to handle the error. Or sometimes functions that return a custom error (good) but don't document it (bad) or keep it private (bad).

Just as bad, from a (admittedly limited) sample of Go developers I've spoken to, many seem to consider that defining custom errors is black magic. Which I find quite sad, because it's a core part of designing an API.

In comparison, I find that `if err != nil` is not a problem. Repeated patterns in code are a minor annoyance for experienced developers and often a welcome landscape feature for juniors.
by zevon | 2025-06-04 08:27:01+00:00
What is there to "believe"? Precious Plastic collects and creates some knowledge, furthers the education of many people around the world and transforms some stuff that would have otherwise gone to waste to useful things. I really do not understand the mental contortions one needs to undertake to judge such things as somehow negative. Is no project that doesn't scale enough to solve all the problems in a domain worthy of undertaking?

And how is it useful or respectful to be judgemental about what other people engage in and form communities around? Is being a Football fan, an archer, a woodworker or whatever in your spare time somehow more valuable or more useful than engaging with recycling, upcycling, tinkering with machines, doing community work and all the other activities that go into a project like PP?
by 0xEF | 2025-06-04 08:27:11+00:00
What's the best alternative?

It's easy to say "don't use PayPal" but if you're going to say it, you need to do the hard part of suggesting a viable alternative for eCommerce that has as broad a reach and acceptance as PayPal. Stripe? Almost none of the outlets I do business with use it. Venmo? Same company as PayPal. Back to using credit card numbers? The more we spread those around online, the higher the chance they get stolen and used, probably in refund scams like the one OP describes.

People need an alternative with some degree of trust and most consumers, by my reckoning anyway, would prefer a single entity that is accepted everywhere. Right now, that's unfortunately PayPal.
by jdietrich | 2025-06-04 08:27:21+00:00
As I see it, the fundamental issue is that they're trying to create some kind of hand-made artisanal solution to a problem that is already being addressed on a vast scale by industry. My plastic waste is collected at the kerbside and has been for over a decade. It's baled up and sent off to a facility with huge automated sorting machines. Why would I take my plastic waste to a workshop when the local government already collect it from my doorstep?

Precious Plastic have designed various DIY plastic processing machines for what is essentially hobby use. That's fine, whatever, but for about the same cost I can just buy a commercially-made machine. A manual injection molding machine or a benchtop filament extruder is just a thing you can buy on AliExpress. If you wanted to set up a half-serious plastics business, you could buy an old Boy or Arburg injection molding machine on eBay for close to scrap value. If you want to feed that machine on recycled plastic, reprocessed pellets and regrind are a cheap commodity product.

The problems that remain in plastic recycling are mainly really complex engineering and material science problems, because re-melting inevitably degrades the quality of polymers. Those issues are being slowly chipped away at by serious researchers in academia and industry.

I don't doubt their sincerity, but feel-good aspirations rarely solve much of anything.
by dragochat | 2025-06-04 08:28:45+00:00
I guess you could prove the conformance of a particular implementation if you'd implement separate Plan & Implement stages + a "superior" evaluator in the loop that would halt the evolution at a certain p(iq(next_version) > iq(evaluator)) as an "outer halt-switch" + many "inner halt-switches" that try to detect the arising of problematic behavior of particular interest.

Ofc it's stochastic and sooner or later such a system will "break out", but if by then sufficient "superior systems" with good behavior are deployed and can be targeted to hunt it, the chance of it overpowering all of them and avoiding detection by all would be close to zero. At cosmic scales where it stops being close to zero, you're protected by physics (speed of light + some thermodyn limits - we know they work by virtue of the anthropic principle, as if they didn't the universe would've already been eaten by some malign agent and we wouldn't be here asking the question - but then again, we're already assuming too much, maybe it has already happened and that's the Evil Demiurge we're musing about :P).
by Yoric | 2025-06-04 08:32:45+00:00
> If you define errors with Errors.New you use string comparison.

With `Errors.New`, you're expected to provide a human-readable message. By definition, this message may change. Relying on this string comparison is a recipe for later breakages. But even if it worked, this would require documenting the exact error string returned by the function. Have you _ever_ seen a function containing such information in the documentation?

As for `switch x.(type)`, it doesn't support any kind of unwrapping, which means that it's going to fail if someone in the stack just decides to add a `fmt.Errorf` along the way. So you need all the functions in the stack to promise that they're never going to add an annotation detailing what the code was doing when the error was raised. Which is a shame, because `fmt.Errorf` is often a good practice.
by myrmidon | 2025-06-04 08:32:53+00:00
This is just PR and carbon greenwashing.

The usecase of "cloud provider buys power plant to power data center" does not exist: All current power plants are completely unsuitable as single power source for a data center because uptime/reliability is way lower than what you would need; decoupling datacenters from the grid is just a losing move, which is why no credible operator is even trying.

Are we gonna see more vertical integration between power generation/datacenters operation in the future? Maybe. But I'm very confident that we're not gonna see datacenters "leave the electrical grid" to be powered directly by nuclear plants, not now and not within 30 years either.
by tallytarik | 2025-06-04 08:34:00+00:00
You can look up the AS and other info, like detected proxies or VPNs, using the form on https://iplocate.io/what-is-my-ip (disclaimer: I've run this service since 2017).

If they come from a consistent AS, you can block the AS. If they're using a proxy or VPN, you could try blocking those. If you don't expect to get traffic from hosting providers, you can block where `asn.type == 'hosting'`.
by Theodores | 2025-06-04 08:34:10+00:00
We have been here before with the waterwheels that powered the mills at the start of the Industrial Revolution, allegedly.

Allegedly this was a problem in the Cotswolds, UK, when the woollen industry was where the big money was. I only know this from school history classes, not from Google, hence my use of the word 'allegedly'. Allegedly, mills placed upstream slowed the flow to existing mills downstream, leading to disputes.

In time, mills were built with big chimneys, meaning coal. But why would you go for expensive coal that had to be transported when you had 'free' power from the river? It has been hypothesised that drought may have played a part in this, not the over use of waterwheels.
by abxyz | 2025-06-04 08:34:31+00:00
Assume that the transactions are coming from humans, it is often cheaper to instruct humans than it is to automate when there’s an expectation that you will try to mitigate the malicious behavior.

Be willing to temporarily suspend your services in order to prevent the malicious behavior. Do the manual work to allow genuine customers to keep using your service, e.g: require manual account approval. You need to treat every one of these chargeback transactions as a risk to your businesses ability to operate, each that you allow to happen increases the risk of permanent damage to your business.

Reach out to your account manager at PayPal, this is not something that should be going via frontline support. You need to be talking to a person who knows and is responsible for your account. If you don’t have one, get one. If you can’t get one, look for anti payment fraud businesses that work with PayPal, they may be able to get a direct line to PayPal on your behalf.

For the future, if you’re dependent upon a service provider you should always have someone you can reach out to directly. If a provider isn’t willing to offer that, find a different provider. Financial services especially are very risk averse and will jettison your account if they get even a whiff of something untoward, whether you tried to prevent it or not. The cost of recovering from that will dwarf the cost of any drastic mitigation you take now. Losing your PayPal account is worse than turning off purchases for a few days.
by oleganza | 2025-06-04 08:35:48+00:00
Thank you Jimmy, great article.

My 23+ year experience in computer science and programming is a zebra of black-or-white moments. For the most time, things are mostly obscure, complicated, dark and daunting. Until suddenly you stumble upon a person who can explain those in simple terms, focus on important bits. You then can put this new knowledge into a well-organized hierarchy in your head and suddenly become wiser and empowered.

"Writing documentation", "talking at conferences", "chatting at a cooler", "writing to a blog" and all the other discussions from twitter to mailing lists - are all about trying to get some ideas and understanding from one head into another, so more people can get elucidated and build further.

And oh my how hard is that. We are lucky to sometimes have enlightenment through great RTFMs.
by calgoo | 2025-06-04 08:36:20+00:00
Not OP, but Im assuming its because of immutability of the containers where you can redeploy from a prebuilt image very quickly. There is nothing that says you cant do the same with servers / VMs however the deployment methodology for docker is a lot quicker (in most cases).

Edit: Im aware its not truly immutable (read only) but you can reset your environment very easy and patching also becomes easier.
by kamaal | 2025-06-04 08:37:42+00:00
Im not sure you get the mathematics of this here. You can hire anybody, anybody, any saint for that matter.

The more area a section occupies on a pie chart, the less area other sections get.

>>Apologies, but I don’t like when people outright talk nonsense about my friends, lowering them down to numbers.

https://en.wikipedia.org/wiki/Indiana_pi_bill
by actionfromafar | 2025-06-04 08:37:56+00:00
Did not have "being jelaous of NetBSD wscons framework" on my bingo card.

How does one make a "screenshot" of a TUI program? The classic terminal APIs don't have a "framebuffer" (or "textbufffer" I guess) from what I can tell.

I could use such a mechanism to create automated screenshots of a TUI program (using Terminal.GUI in this case) for documentation generation.
by godelski | 2025-06-04 08:39:21+00:00
> The better question is: what is the acceptable threshold?

Currently we are unable to answer that question. AND THAT'S THE PROBLEM

I'd be fine if we could. Well, at least far less annoyed. I'm not sure what the threshold should be, but we should always try to minimize it. At least error bounds would do a lot of good at making this happen. But right now we have no clue and that's why this is such a big question that people keep bringing up. We don't point out specific levels of error because they are small and we don't want you looking at them, rather we don't point them out because nobody has a fucking clue.

And until someone has a clue, you shouldn't trust that they error rate is low. The burden of proof is on the one making the claim of performance, not the one asking for evidence to that claim (i.e. skeptics).

Btw, I'd be careful with percentages. Especially when numbers are very high. e.g. LLMs are being trained on trillions of tokens. 10% of 1 trillion is 100 bn. The entire work of Shakespeare is 1.2M tokens... Our 10% error rate would be big enough to spoil any dataset. The bitter truth is that as the absolute number increases, the threshold for acceptable spoilage (in terms of percentage) needs to decrease.