MurphyA/hacker-news huggingface dataset:
by defrost | 2025-04-02 08:54:53+00:00
The majority of the worlds miners work above ground - they still run the risk of stope (wall) collapse, but they're unlikely to find themselves under half a mile of rock.

In Australia, open-cut mining dominates coal production, accounting for over 80% of the total, while underground mining's share has decreased to around 15%. Open-cut mining is generally more efficient and cost-effective, allowing for higher recovery rates and larger-scale operations.

and

It has been estimated that more than two-thirds of the world’s yearly mineral production is extracted by surface mining. There are several types of surface mining, but the three most common are open-pit mining, strip mining, and quarrying. These differ from one another in the mine geometries created, the techniques used, and the minerals produced.

( https://www.britannica.com/technology/mining/Surface-mining )

Like anybody else in the modern world, it's hard to pry smart phones away from mine workers ...

Miners warned to limit smartphones in the pit (2013) - https://www.itnews.com.au/news/miners-warned-to-limit-smartp...
by shortiddev | 2025-04-02 08:55:54+00:00
Hey devs

I got tired of constantly switching tabs just to copy ticket titles or open cards, so I built this tiny CLI tool: *ShortID.dev*

It lets you: - Pull ticket title, status, assignee from your terminal - Open tickets with `shortid open ENG-123` - Create aliases like `shortid alias ENG-101 login-bug` - Auto-create Git branches with `shortid branch ENG-101` - Works with Jira, Linear, Asana

I’d love your honest feedback
by ArnoVW | 2025-04-02 08:56:49+00:00
Generally the pollution comes together with other indesirable effects. Stench, noise, etc.

The rich don't need to understand that roads or ships generate deadly air pollution. They don't like living next to a highway or a container terminal, full stop. They do however love living next to a park or a lake.

In fact, so do poor people. But they can't afford it.
by theGeatZhopa | 2025-04-02 08:56:57+00:00
you can publish anonymously. no one hinders you. But in case it is illegal, prosecuters have evidence - which isn't malicious or bad per c'est. And, knowing which printer has been used for the illegal thing, doesn't mean the location of the printzer is known, too. So, no probs or conflict with that from my side.

If you really afraid, just overlay your PDFs with noise of yellow dots before printing. Or apply a digimarc pattern onto that with gibberish. That will mitigate recognition unless the digimarc pattern is recognized and removed, which is kind of difficult if unknown (https://www.digimarc.com/). There are possibilities.
by getvelocitydev | 2025-04-02 08:56:59+00:00
Thanks for the feedback, I too thought about the moat here and there's technically none. But on the flip side, there's mostly no moat now a days for any product/tool imho. Correct me if I'm wrong.

Definitely I understand this is easily doable for an AI-native IDE like Cursor and they already have the distribution. I'm collecting more feedback as we speak and fingers crossed.
by gf000 | 2025-04-02 08:57:21+00:00
I would rather say that generations are a further improvement upon a moving collector, improving space usage and decreasing the length of the "mark" phase.

And which GC is fully concurrent? I don't think that's possible (though I will preface that I am no expert, only read into the topic on a hobby level) - I believe the most concurrent GC out there is ZGC, which does read barriers and some pointer tricks to make the stop-the-world time independent of the heap size.
by justlikereddit | 2025-04-02 08:57:38+00:00
Instead of overpaid and incompetent Consultant-people making choices on the payroll of politicians using taxpayers money, to implement costly and enshittified project recommendations. That the actual end-user that was never asked anything about. We can now replace the cuntsultants with an incompetent AI making the same faulty recommendations at ten times the speed and same cost, but ten times wider profit margin.

Splendid.
by saghm | 2025-04-02 08:57:45+00:00
Typically, "static typing" refers types being checked at compile time rather than runtime; in other words, the analysis can happen before the program is run, which gives you some degree of confidence in what the behavior will be when actually running it. The opposite of this is "dynamic typing", which means that the type-checking happens while the program is running, so you don't have the up-front guarantee that you won't end up having an error due to the wrong type being used somewhere. In practice, this isn't a strict binary where a language has to be 100% static or 100% dynamic. For example, Java is mostly statically typed, but there are some cases where things are a bit more dynamic (e.g the compiler allowing certain casts that might not end up being successful at runtime, at which point they throw an exception). On the other hand, Python traditionally has been a dynamically typed language, but in recent years there have various efforts to allow type annotations that allow checking some things in advance, which moves it a bit in the static direction (I'm not familiar enough with the current state of things in the ecosystem to have any insight into how much this has moved the needle).

On the other hand, "strong typing" isn't as quite as standardized in type systems terminology, but broadly speaking, it tends to be used to describe things like how "sound" a type system is (which is a well-defined concept in type systems theory), whether or not implicit type coercions can occur in the language, or other things that roughly translate to whether or not its possible for things to get misused as the wrong type without an explicit error occurring. Two examples that are commonly cited are JavaScript[0], with its sometimes confusion implicit conversions to allow things like adding an empty object and an empty array and getting the number 0 as the result (but not if added in the other order!) and C, with it being possible to interpret a value as whatever the equivalent underlying bytes would represent in an arbitrary type depending on the context its used.

[0]: I normally don't like to link to videos, but this famous comedic talk demonstrating a few of these JavaScript quirks is so thoroughly entertaining to watch again every few years that I feel like it's worth it so that those who haven't seen it before get a chance: https://www.destroyallsoftware.com/talks/wat
by wim | 2025-04-02 08:57:51+00:00
Looks impressive! Using the VFS is such a fun "hack" :)

We developed our own sync engine for an offline-first IDE for notes/tasks [1] we're building, where the data structure is a tree (or graph actually) to support outlining operations. Conflict resolution is always the challenge, and especially with trees multiple offline players can optimistically commit local changes which would result in an invalid tree state once globally merged.

The way we handle this is by rolling back tree inserts when a client comes online and receives other tree insert deltas. From what I understand from the description of SQLSync, the best way to handle this would be to pull in a latest snapshot and then replay. Pulling in a full snapshot sounds rather expensive though. We have some sort of heuristic where we can do this if the number of incoming deltas would be very large, but for most offline syncing we never need it. Just curious how SQLSync defines these snapshots? Sticking with the note-taking example, in our case we can't really have a snapshot of a single "note" because of graph features like transclusions. Does SQLSync have some clever way to avoid having to send all state in order to "reset and replay"?

[1] https://thymer.com
by liendolucas | 2025-04-02 08:58:36+00:00
A cooking web app 35k LoC? Wow, the author might be surprised to know that an entire OS kernel can be programmed at a fraction of that count. I can safely say that the days where we compained about JS bloat can be put aside, this is a whole new league by itself.

Sane advice: learn to program, put the AI hype/drug aside and do yourself a favor. It's an invaluable lifetime skill knowing to program from scratch and perhaps unassisted coding will be a looked-after skill in the years to come.
by raxxorraxor | 2025-04-02 08:59:12+00:00
Especially golden because these operating systems are so good at doing GPIO. This could probably be replaced by a 0.1$ µC by a hobbyist, where the boot time is reduced by 99.999% while being much more robust as well.

Well, perhaps multitasking systems would even be worse at IO than DOS. Not entirely sure here...
by frizlab | 2025-04-02 09:00:03+00:00
I was talking about the specific rules that are in place for title capitalization. As you can see in my example the uppercase letters seem randomly placed for a title, but they are indeed correct. For German too there are issues where capitalization has a meaning on the word itself. That kind of things.

It looks like your library does not support it, which is understandable, it is a huge problem to tackle, but I just wanted to be sure.
by dragonwriter | 2025-04-02 09:01:21+00:00
Correct, nationality and citizenship are not precisely coextensive, but they are close enough in practice and citizenship sufficiently more commonly encountered of a concept that I wasn't going to try to get overly specific about nationality in a conversation where refugee status and statelessness were being confused. Perhaps a hypercorrection to my tendency to go into excessive detail... In any case, yes, there are some countries [0], where some nationals are not full citizens, and statelessness is precisely the absence of nationality, not citizenship.

[0] the United States among them. https://travel.state.gov/content/travel/en/legal/travel-lega...
by autumnstwilight | 2025-04-02 09:01:24+00:00
I am surprised by his situation as I know of the Zainichi Koreans here (Korean citizens who were born and raised in Japan and live here as an ethnic minority). My understanding of the situation is that they legally are able to naturalize and a significant minority of them do so, but many don't as they would have to renounce Korean citizenship.

I do find it quite unusual that he would not be allowed to naturalize after living all his life here and being married to a Japanese citizen, so perhaps there are other exceptional circumstances. Or perhaps his statelessness isn't something he is actively trying to resolve, having found ways to work around it when he needs to travel and do other things.
by jgord | 2025-04-02 09:01:47+00:00
fair enough .. how do we fund the next generation of tech development ?

Governments giving money as science grants ?

Are you against all VC investment in startups ?

Philanthropy donations ?

or.. would millionaires be the people starting new startups and doing science research to scratch their own itch ?

I guess the history of science and tech has examples of all of the above.
by zemvpferreira | 2025-04-02 09:02:06+00:00
You make a good point but I think adding QALYs to this discussion is unnecessary complication, for one reason: like most public health menaces, pollution will impact lifespan and healthspan proportionatly, ie you’ll die sooner and also live worse years if you’re exposed. There is a proportionately better chance of ageing well and dieing later if you avoid it.

QALYs really shine when measuring a one-off risk, such as an operation or cancer treatment that might add lifespan but decrease healthspan. If QALY data exists for pollution that’s great, but I think we can easily extrapolate the impact in healthspan from the toll in lifespan.
by jorisnoo | 2025-04-02 09:02:37+00:00
Love it! I went to fix an easy sandwich and ended up building my own recipe app:

https://www.recipeninja.ai/recipe/r_iEyaSAKCQlzl4Q/vibes-and...

But then, as with most llm tools, the fun wore off after a few minutes of playing with it.
by Lutger | 2025-04-02 09:03:08+00:00
Exactly. The rich don't actively avoid air pollution, not really.

A very significant and underestimated source of pollution is burning of wood. BBQ, fireplaces and stove, even expensive modern 'ecodesign' heating solutions that burn wood: these all cause massive and dangerous air pollution. And it is often, in my country at least, somewhat of a luxury thing. As soon as you get out of the poorest of area's, you smell the burning of wood which can cause more than 50 percent of total pollution locally, even rivaling the effects of smoking.
by sdesol | 2025-04-02 09:03:16+00:00
Full Disclosure: I'm building a LLM chat app for software developers and domain experts

> I struggle to find much utility in terms of actually writing code.

I personally feel you need to give up some control and just let the LLM do its thing if you want to use it to help you build. It honestly does a lot of things in a more verbose way and I've come to the conclusion that it is an LLM writing code for another LLM. As long as I can debug it, I'm okay with the code, as I can develop at a pace that is truly unreal.

I finished my "Recent" contexts feature in a half a day, today. Without the LLM, this would have taken me a week I think. I would say 98% of my code in the past few months has been AI generated. You can see a real life work flow here:

https://app.gitsense.com/?chat=eece40e2-6064-46d2-9bf1-d868c...

I truly believe if you provide a LLM with the right context, it can meet your functional specs 90% of the time. Note the emphasis on functional and not necessary style. And if *YOU* architecture your code properly, it should be 100% maintainable.

I do want to make it clear that what I am doing right now is not novel, but I believe most problems are not. If the problem is not well understood, it can be a challenge like my my chat bridge feature. This feature allows you import Git repos for chatting but I will probably need to rewrite 50% of the LLM code since the solution it built is not scalable.
by throwaway81523 | 2025-04-02 09:03:46+00:00
That is nice! It's 35cm which is fine for casual games, though online tends to be speed chess and bigger pieces help there. Smaller pieces are fiddlier and easier to fumble if you move too quickly. It would be nice if the Pegasus at least had LEDs at each square to tell you the opponent's move, instead of presumably making you read notation from the screen to transfer the move. But it's a start, and it's fairly affordable.

I do think almost all online competitive players don't use anything like that. They play on screen using a full sized screen and a mouse.
by DoingIsLearning | 2025-04-02 09:07:37+00:00
Not really high tech but worth mentioning that some shortwave portable radios (a world radio receiver is an item you should have in your earthquake emergency supplies) have a portable blare out alarm horn function to signal your presence to first responders.

Although it has the obvious limitation that you would have to be within arm's reach of it before you were to be trapped in a collapsing building, and sound can travel sufficiently under rumble.
by throwaway2037 | 2025-04-02 09:07:46+00:00
> I'm completely convinced that F# (along with Scala, Haskell, and OCaml) adoption has stalled due to having ridiculously bad build systems.

Scala? I am not trolling here: Are you joking? Scala is part of the Java ecosystem. Sure, Maven gets lots of hate on HN, but it is very mature and has excellent integration with IDEs and CI/CD systems (TeamCity, Jenkins, etc.). In the last 10 years, many Java developers have moved to Gradle, which has equally good integration.

> Hell, 80% of the reason I choose Rust over C++ for embedded work is because of the build system.

What is wrong with CMake for C++?
by reify | 2025-04-02 09:07:51+00:00
yet those professionals who have sworn the Hippocratic Oath to protect us

continue to over prescribe the most dangerous drugs to us

First it was young people killing themselves, so there was a warning put on the back of the packet and they were not to be prescribed to those under 25 years old.

yet, no one considered, maybe they did but profits were involved, the fact that those poeple over 25 years old were still killing themselves.

Even in the early days, the late 1980's and early 1990's, patients, male and female, were complaining about sexual dysfunction, denied for over 20 years. Now we have post ssri sexual dysfunction (PSSD) recognised in the DSM5.

why are our protectors still prescribing this dangerous shit?

Now we have Antidepressant medication linked to increase in risk of sudden cardiac death.

I expect a new warning to be added to the massive side effects list on the back of the packets
by dist-epoch | 2025-04-02 09:07:53+00:00
> A bank bailout is when resources are dedicated to a struggling entity to prevent collapse, preceding bank failure.

> Silicon Valley Bank and Signature Bank remain two of the largest bank bailouts in American history, with the U.S. government covering all taxpayer deposits but not supporting investors in the bank will not be protected.

https://www.bankrate.com/banking/what-is-a-bank-bailout/
Solution for AI Scrapers?
by EVa5I7bHFq9mnYK | 2025-04-02 09:09:16+00:00
Why not display next to every captcha a button "Mine bitcoins instead"? For those who would rather let their computer sweat for 1 second, than clicking fire hydrants?

Anyway I am paying (in bitcoins!) for an extension that solves captchas for me. It doesn't work too well.
by spacebanana7 | 2025-04-02 09:10:19+00:00
> In comparison a book with a limited niche will need to sell at a way higher price to be profitable.

The internet brings a huge amount of people to even the smallest niches.

In porn, niche fetish content is pretty much the same price as vanilla stuff on onlyfans, clips4sale etc. There are a couple of exceptions, but when I think about it, they generally correlate to production cost rather than niche size.
by alterom | 2025-04-02 09:10:50+00:00
>There's a certain irony in your outrage at his failure to control his emotions, even as your own rage leads you to dream of hurting his family.

Wow, what bad take.

Are you willfully misinterpreting the parent commenter, or would you need some help understanding it?

Assuming it's the latter, here it is.

First, there's no outrage or rage. That's something you ascribe to the parent comment, and that's unwarranted.

Second, there's no dreaming of hurting [the teacher's] family.

The message was: it is important that this person should be relieved of teaching duties, with the full understanding of the gravity of such an action, as being fired from one's job in the US puts the livelihood of the person being fired at risk.

See, the person you're responding to is empathetic, because they consider the impact of what they wish — the teacher being fired — on the teacher as well as others (the teacher's family), and don't take wishing something like that lightly.

Most people would stop at "bad job, fire him", without contemplating what it means for that person.

The parent commentor did, and is saying that, as grave as the consequences are for the teacher (and, potentially, his family, if the teacher is the sole breadwinner), it is still necessary to remove them from teaching because harm to children and violating the trust we put in instructors is unacceptable, and the damage they do in their position is far greater than the damage that would be done by firing them.

This is a compassionate and composed consideration.

Oh, and there'd be no irony about the parent's response even if they were raging, as they were not talking about the teacher's failure to control their emotions.

The issue is hurting children, which isn't something the parent commentor is decidedly NOT doing.

Hope this helps.
by myrmidon | 2025-04-02 09:11:24+00:00
I agree with almost all your points, except two:

The US estate tax specifically got basically bigger exemptions every time it was touched (even adjusting for inflation), and returns have been falling precipitously for basically the last 25 years. If you own less than $13M at death, it does not affect you at all right now.

> The simple fact that if the US just seized all the wealth of 800+ billionaires today - it would only be worth 6.2 trillion dollars

Sure-- but I think this is a bit of a strawman. To me, and a lot of people that argue in favor of wealth/estate taxation, the purpose is not to substitute income taxes (like what Trump wants to achieve with tariffs)-- the goal is to get wealth inequality back under control, not to balance the government budget with those tax returns.

Another perspective on wealth distribution is that the top 1% own a third of the country. In my opinion, if you have enough wealth (and liquid enough wealth) to outright buy an average home at sticker price, then you are part of the problem;

I absolutely don't want to compete with people like that on the housing market, and I don't want them to extract excessive rents from people like me (i.e. not-1%ers) either, but thats exactly what happens right now.

> But there is certainly a spending problem too.

I don't really agree with this. I think (expected) government responsibilities have grown tremendously over the last century (mainly for good reason).

I'm confident in saying the the American-favored approach to healthcare ("everyone takes care of it on their own, and negotiates/pays for it by himself") has completely failed for IMO very clear reasons (demand for healthcare is inelastic and only government can force pricing transparency, prevent collusion and a generally fair provider-market in the first place-- obviously).

I'm also confident that shifting back more pension responsibilities onto citizens themselves is also a bad idea, because it creates extremely bad potential outcomes in case of an economic crash. Government providing a survivable social security baseline is just a very clearly good idea to me.

Those two points (healthcare + social security) account for the vast majority of government budget, I think they are basically a good idea, and cutting costs with foreign aid, research funding, environmental regulation/enforcement etc. has IMO neither the potential to save significantly in the first place, nor is it beneficial to do so by itself (I'd even go so far and call the whole doge initiative a thinly veiled propaganda department for the current administration).
by OgsyedIE | 2025-04-02 09:11:49+00:00
Sorry if this sounds a bit dry, but I think the reason it's so popular is because it has a much more open-ended play space than almost all other child-friendly games, giving them the opportunities to set their own goals and practice structuring their own time without the finality of having an outside party set the win conditions (such as trophies/achievements). Sure, there are some of those things in the background, but it's an opportunity for kids to exercise executive creativity.
by tugadot | 2025-04-02 09:12:34+00:00
I built BloodTrack.au after years of manually logging my blood test results into Excel sheets while on TRT. It worked at first, but it quickly became messy and hard to interpret over time.

BloodTrack lets users upload their lab reports (PDF or image), then uses AI to extract key markers like testosterone, cholesterol, glucose, etc. The platform tracks trends, visualizes everything in a clean dashboard, and provides insights based on historical changes.

There’s a free plan if you’re curious — and I’d love feedback from the HN community on the product, UX, or even technical stack decisions.
by 9rx | 2025-04-02 09:12:40+00:00
> Ggp is not talking about structural typing,

Okay... but the reply was to the parent who questioned if the typing is static. It is by way of structural typing. The compiler enforces that the ducks, so to speak, are compatible. But as an empty interface has no constraints, all types are compatible. Whatever some other comment was talking about is irrelevant.

> but about sync.Pool type erasing

The type isn't erased...?

p := sync.Pool{New: func() interface{} { return 1 }} fmt.Printf("%T", p.Get()) // Prints: int

> So you can put (and will retrieve) random garbage from it.

And you think that makes it dynamically typed? It does not.