MurphyA/hacker-news huggingface dataset:
by jesse__ | 2025-04-22 21:37:50+00:00
> And this cannot be silenced with #pragma since it's a macro, so the warning occurs at the location where the macro is invoked.

I seem to remember there's actually a solution for this .. at least on clang and I think MSVC .. you can programmatically turn warnings on/on with the _Pragma() macro. I don't remember exactly what you put in it, but it's designed specifically for this kind of macro nonsense
by rfwhyte | 2025-04-22 21:37:52+00:00
Damn some of the comments here are really depressing. I'd formerly thought HN was one of the last bastions of critical thought on internet, but I guess I was wrong judging by some of these comments. Way too much regurgitation of long-since debunked pseudo-scientific nonsense.

Atlantis was never real and anyone who thinks it was is a moron.

If there were truly some sort of globe-spanning advanced civilization existing ~11KYA we'd have found at least one single piece of their material culture by now, but we haven't. We have however found innumerable pieces of archaeological evidence of contemporary hunter-gatherer neolithic societies in and around all of the places Atlantis was supposed to have "Conquered" and yet not once have we found a single Atlantean trade good, pot sherd, metal working, etc. Atlantis supposedly had a bronze-age or greater level of technology and a globe-spanning empire, and we literally haven't found a single shred of physical evidence to support its existence, despite having literal mountains of physical evidence for pretty much every other major empire that's existed throughout history.

Nor have we found any genetic evidence in people or crops that there was any kind of "Empire" connecting parts of Europe or Africa as we find time and time again with real empires that actually existed in prehistory. Real empires have people and crops that move around within the empire and leave genetic evidence of the mixing of populations and breeding of crops, yet we find nothing, not even the faintest echo of Atlantis. Again, we have mountains of hard physical evidence that shows how empires like the Summerians in the fertile crescent or the Norte Chico in meso-america spread through genetic evidence in current local populations and crops, yet we find absolutely no genetic evidence to support the existence of Atlantis.

Let alone the fact the bloody story of Atlantis references how the Atlanteans went to war with Athens some 9000 years before the Athenian city-state was even founded. Just utter, complete brain-dead nonsense.

Honestly, belief in Atlantis has become something a litmus-test for critical thinking and research ability these days, as anyone that believes in Atlantis despite the overwhelming volume of evidence that firmly proves it never existed is basically saying "I'm too lazy to do my own research (Based on peer-reviewed primary sources) and / or too stupid to understand actual science."

Also f*ck Graham Hancock (And Joe Rogan via extension). MFer is the worst kind of charlatan and is broadly responsible for how many Americans believe in Atlantis.
by ddingus | 2025-04-22 21:38:30+00:00
I saw that and was quite pleased with the idea of it all working nicely in say,80x50 text mode, that I proceeded to write a similar set of subroutines.

I ended up with a pretty nice subset.

Could draw a window with fields, pop a number of them up on top of that window, if desired.

Used that to write a small pile of DOS programs which computed various manufacturing related values used in sheet metal work.
by ashishb | 2025-04-22 21:38:50+00:00
Congrats on the launch.

Here are my two cents, as I am very familiar with this space[1][2]

The problem of trying to position your product as "an easy way to deploy on over GCP" or "an easier way to do K8s" is that your product is always limited by the potential of what the underlying platform directly offers. I know multiple K8s management startups (in the pre-LLM era) that failed because of this.

You are not required to, but will be seduced to build 1:1 mapping to the concepts of the underlying systems. So, anyone using your product has to learn both the underlying platform (E.g., GCP) and your system. And the problem is that all of those concepts have been derived either directly or indirectly from AWS or K8s, both have a focus on SREs much more than software engineers.

The second problem is that there are now two interfaces to change something - one is infra.new, and another is the underlying platform directly. Your system will have to catch the drift in deployment when someone goes and changes the underlying platform.

The only major way to win is to have your deployment system, e.g., an alternative to vercel.com, Render.com, or https://railway.com.

- Vercel - a deployment system for frontend engineers (that's my perception) - Render/Railway - a deployment system for backend software engineers (that's my perception)

This approach is not guaranteed to succeed, but you are no longer limited to using the underlying platform's concepts.

1. - https://github.com/ashishb/gabo 2. - https://ashishb.net/programming/how-to-deploy-side-projects-as-web-services-for-free/
by yieldcrv | 2025-04-22 21:39:04+00:00
I don't think its bad enough

Even us entrepreneurially minded technical devs cut corners on our personal projects that we just want to through a Stripe integration or Solana Wallet connect on

And large companies with FTC and DOJ involved data breaches just wind up offering credits to users as compensation

so for non-technical creators to get into the mix, this just expands how many projects there are that get big enough to need dedicated UX and engineers
by blooalien | 2025-04-22 21:40:26+00:00
> "Some people forget that their religious affiliations/foundational beliefs are not universal."

They also forget this one little story their "savior" (the son of god, the one true king; if you believe all that ancient religious gobbledygook) supposedly told (written in the very same book); "The parable of the trusted steward." "Dominion" does not equal neglect and destruction.
by extensityhn | 2025-04-22 21:41:56+00:00
Will have to look deeper into this later, but on a superficial level, this seems a lot like OOP with extra steps, those being cryptographical verification of each node("objects") and making polymorphism/type erasure implicit(instead of passing an interface to a constructor which then gets used by the object, the object just shouts events into the void hoping someone will answer). Also it's stringly typed because this is JavaScript, and it's triggering flashbacks of misspelling field/function names and wondering why everything breaks.

Am I missing the bigger picture here?
by Calwestjobs | 2025-04-22 21:42:21+00:00
yeah i had mac and had to clone disk over tb one time.

but mac recovery is magical, wifi password is written in NVRAM and if you erased/replaced whole disk, "recovery agent" started and downloaded macos image over wifi and installed it ! it was on intel mac, im not sure if it still works same way in arm. it took 2 hours XD

apples firewire and tb had problems with security, it was possible to do DMA reads from your ram over those. from external device.
by JacksonAllan | 2025-04-22 21:43:55+00:00
I use something similar in a container library to warn the user if he or she supplies an argument with potential side effects to a macro that evaluates it multiple times:

https://github.com/JacksonAllan/CC/blob/42a7d810274a698dff87...

Specifically, if (arg)==(arg) is not a constant expression, then it could have side effects.

However, this mechanism does generate some annoying false positives, as shown below:

// Create a map with int keys and values that are vectors of floats: map( int, vec( float ) ) our_map; init( &our_map ); // Create a vector of floats: vec( float ) our_vec; init( &our_vec ); push( &our_vec, 1.23f ); // Insert the vector into the map. insert( &our_map, 456, our_vec ); // Generates a warning because get checks its first argument for side // effects and the compiler can't tell that the first argument of the // outermost get has none: printf( "%f", *get( get( &our_map, 456 ), 0 ) ); // The "proper", albeit cumbersome, way to achieve the same thing without a // warning: vec( float ) *itr = get( &our_map, 456 ); printf( "%f", *get( itr, 0 ) );
by AngryData | 2025-04-22 21:44:47+00:00
Well harm has to be defined because different people use it in different ways. Would I say it cannot cause mental changes that can be negative? Of course not, plenty of people don't smoke just because of the anxiety they get from it or other things. But classifying people who smoke as stupid or brain damaged is an entirely different thing and there is very little evidence for that. Social and ideological changes that hallucinogens can cause in general are not simply good versus bad. And there is no link anywhere that makes hallucinating itself cause brain damage, there are tons of ways for people to hallucinate that don't cause brain damage so I don't know why you would automatically assume any hallucinogen is assuredly doing damage.
by dredmorbius | 2025-04-22 21:45:15+00:00
As one who shares your frustrations: working with the HN system, and pushing back where you feel it's appropriate, are both productive.

Dang (and earlier pg and sctb, and now I suspect tomhow) often express frustrations with the HN community's collective behaviour (a recent example: <https://news.ycombinator.com/item?id=43477305>). A key consideration is the fragility of the community and service itself (socially, not technically), as evidenced by, say, <https://news.ycombinator.com/item?id=23047709>, and even more revealingly here: <https://news.ycombinator.com/item?id=22805993>.

Your argument is likely not with their beliefs or preferences, but the embodied practices of HN moderation. Which can themselves be problematic as they have a strong status quo bias, as I've pointed out repeatedly:

<https://hn.algolia.com/?dateRange=all&page=0&prefix=false&qu...>.

Which often manifests as tone policing, as again I've commented (some overlap with above search):

<https://hn.algolia.com/?dateRange=all&page=0&prefix=true&que...>

Consider reversing that bias a hacking challenge.
by Jhsto | 2025-04-22 21:45:26+00:00
Maybe it's still a honeymoon thing for me but I've been trying out keto diet for few weeks and, anecdotally, now whenever I eat carbs I get a weird high. If you told me that people started farming to do it consistently, I'd believe you. Similarly, if I avoid carbs at all cost even for a day, by night I feel so bad that I must have some. Point is that as far as I can tell eating carbs is a habit/addiction as well, but much good has come from maintaining it.
by bsder | 2025-04-22 21:45:30+00:00
The breakpoint was molecular biology around 1986 with the introduction of PCR. Once that happened, biology went from being alchemy to being science.

I loathed biology as taught prior to that. Once I got a molecular biology course, I thought biology was amazing and wondered "Why the hell did we teach all that other crap?"

Well, that was because the tools we had for biology sucked prior to PCR. My problem was that I recognized that even as a child.
by shadowgovt | 2025-04-22 21:45:42+00:00
Agreed. The problem with reproducing Jupyter runbooks in academia is that someone thought a Jupyter runbook is a way to convey information from one person to another. Those are an awful model for that.

As an on-the-fly debugging tool, they're great: you get a REPL that isn't actively painful to use, a history (roughly, since the state is live and every cell is not run every time) of commands run, and visualization at key points in the program to check as you go your assumptions are sound.
by ellieh | 2025-04-22 21:45:56+00:00
Thanks! We're using Tauri (https://v2.tauri.app/) on the client, and Elixir + Phoenix (with a little bit of Rust via Rustler) on the server

Tauri means we can reuse a lot of the Rust we already have, easily do the systems stuff we need, and have something light + fast. Elixir has been awesome and makes a realtime sync backend easier

Not currently open source while it's under heavy early development, we will be opening up the desktop app later on
by bhouston | 2025-04-22 21:45:58+00:00
> My understanding is that there's no standard way to update a torrent file; you re-roll a new file with the changes.

You should only re-distribute the original file that was downloaded and thus one can just advertise the original torrent that was downloaded.

But as you said earlier, brew is a point in time command and this BitTorrent solution would only really work if brew switched to an always-on service. And I am not sure that many people want to do that, although I am sure some would.
by owendlamb | 2025-04-22 21:46:02+00:00
But we do have record that the cross' title was written in Hebrew, Latin, and Greek.

God certainly had a special plan for these languages: the language of God's Law, the language of human power, and the language of human wisdom. The presence of His name in all three languages left the situation unambiguous to whoever might have been in the area to read it. Jesus of Nazareth, King of the Jews, hung on that cross. When pressed about it, Pilate would not amend those words.

In this way, though maybe unnecessary thanks to the Gift of Tongues the Holy Spirit later gave to His apostles, the sign stood as a kind of Rosetta Stone, which no one could misunderstand. It shows that history itself, along with all human matters, belong completely to Him, and at the same time it made those languages new by virtue of that single title, grounding them firmly in the Truth Himself.

Latin and Greek, themselves originally vernaculars, continue to hold a special place in their respective churches, both Catholic and Orthodox. Syriac, a dialect of Aramaic, continues to be used in many Eastern churches as well, again Catholic and Orthodox both. All three constitute especially venerable traditions—and to this we may add Coptic, since Jesus spent his early years in Egypt; Slavonic, for its very writing system's role in the conversion of the Slavs; and a handful of others I am more or less ignorant of. With each one, by entering into the language, you enter the mind of those first converts, who themselves entered the Mind of Christ.

In the Latin Catholic Church (that is, the Latin Rite of the Roman Catholic Church, or however you want to name it) we call the Latin language a "sacramental"—the same sort of thing as holy water, something which conveys grace to those who use it with an openness to those graces.

Demons hate it because of its legal precision, by which, in the name of the same Christ named in Latin on the cross, they are driven out of people, things, and places, fulfilling Christ's own prediction that His followers would cast out demons.

By forming one's faith life around one of these languages, one can more clearly ask those basic human questions that Christ is the answer to, without having to deal with the centuries of semantic drift and overloading that are scattered about the minefields of our modern vernaculars. The vernacular, of course, is no impediment to personal prayer, but as more and more people are gathered in one place the confusion of Babel threatens to set in.

On the other hand, every little Latin grammatical lesson, every new piece of vocabulary learned, reveals new wonders and opens the door to the great body of literature that was composed in the single Mind of Christ.

But we had this, and in the 20th century we let it slip through our fingers, not knowing what we'd been given. The problem is not that we don't know Latin. The problem is that, in broad cultural strokes, even when we did, we didn't care.
by Adityav369 | 2025-04-22 21:46:18+00:00
For ingesting graphs, you can define a filter, or certain document ids. When updating, we look at if any other docs are added with that filer (or you can specify new doc ids). We then do entity and relationship extraction again, and do entity resolution with the existing graph to merge the two.

Creating graphs and entity resolution are both tunable with overrides, you can specify domain specific prompts and overrides (will add a pharma example!) (https://docs.morphik.ai/python-sdk/create_graph#parameters). I tried to add code, but was formatting badly, sorry for the redirect.
by _sbrk | 2025-04-22 21:47:08+00:00
gcc will not let you actually define a negatively-sized array. Check it with some simple code -- I did. Even with -Wall -Wextra -O1 -std=c11 -Wpedantic, if I actually try to create foo[-1], on the stack or in BSS, I get the proper error: error: size of array 'foo' is negative
by sandworm101 | 2025-04-22 21:47:12+00:00
Yes but if you are covered in electrolyte and standing atop a well-grounded drain pipe, you may just be that path.

Also, lighting is not simple mathematical electricity. It is subject to innumerable, even quantum, fluctuations at the precise moment it chooses to move. Lighting also partially creates its own path as it ionizes air/water into plasma. That's why bolts are jagged and not smooth beams between cloud and ground. It may or may not choose to go through or around you. It is best to avoid needing to ask such questions.

https://youtube.com/shorts/dvVW1e_trW0
by aerostable_slug | 2025-04-22 21:47:52+00:00
> We found nearly 40% of the drivers charged with vehicular manslaughter since 2019 have a valid license.

> Even when the DMV does take away motorists’ driving privileges, state officials, law enforcement and the courts are often unable or unwilling to keep them off the road. We found cases where drivers racked up numerous tickets while driving on a suspended license and faced little more than fines before eventually causing a fatal crash, even though authorities could have sent them to jail.

It seems clear the main problem isn't people who retain their licenses, and further taking licenses away doesn't adequately deter dangerous drivers from getting behind the wheel.

Is the solution imprisoning those who are caught with invalid driving credentials? How would that jibe with the progressive goal of lowering incarceration, especially for (directly) nonviolent offenses such as driving on a suspended license? Or do we look to technology for a solution (this being HN after all)?
by Maxatar | 2025-04-22 21:47:54+00:00
There is no singular "it". I am responding to someone else who came to understand Hawking radiation through a thought experiment that Hawking himself described for pedagogical purposes.

A brief description of that thought experiment involving negative energy can be found here along with the appropriate citation coming from Hawking's "A Brief History of Time":

https://en.wikipedia.org/wiki/Negative_energy#Hawking_radiat...

>Virtual particles can exist for a short period. When a pair of such particles appears next to a black hole's event horizon, one of them may get drawn in. This rotates its Killing vector so that its energy becomes negative and the pair have no net energy. This allows them to become real and the positive particle escapes as Hawking radiation, while the negative-energy particle reduces the black hole's net energy. Thus, a black hole may slowly evaporate.
by andix | 2025-04-22 21:49:17+00:00
The ESL milk with 20 days shelf life? I think it tastes very dull, since it's nearly everywhere and good old milk is hard to get, I just switched mostly to UHT milk, which stays fresh for about a year without cooling. It doesn't taste much worse than the 20 day ESL milk, and the unopened boxes don't take any space in the fridge.
by simonedev_ | 2025-04-22 21:49:32+00:00
Reactylon is a React-based framework designed to make it easier to build interactive 3D experiences and XR apps using Babylon.js.

Babylon.js is incredibly powerful but working with it directly can get very verbose and imperative. Reactylon abstracts away much of that low-level complexity by letting you define 3D scenes using JSX and React-style components. It covers the basics of Babylon.js and takes care of a lot of the tedious stuff you’d usually have to do manually:

- object creation and disposal

- scene injection

- managing parent-child relationships in the scene graph

- and more...

The documentation includes over 100 interactive sandboxes - you can tweak the code and see the results instantly.

Feedback and contributions are more than welcome!

GitHub: https://github.com/simonedevit/reactylon
by 00N8 | 2025-04-22 21:50:48+00:00
I found this bit at the start surprising: "Lightning is one of the leading causes of climate-related deaths worldwide. In recent decades, there has been a considerable increase in lightning due to worsening global warming [1], [2]."

Increased lightning makes sense, but I'd still have expected most climate-related deaths to be caused by flooding, heat waves, disease & crop failures, with lightning being a much smaller factor. Do they just mean it's in the top 5 or 10 climate-driven causes, or is lightning really killing people on the same (or greater) scale as these other things?
by kelseyfrog | 2025-04-22 21:50:59+00:00
> To be monitored is to be categorised which is to see yourself in an imperfect and distorting mirror.

To be observed is to be put into a taxonomy - a cracked fun­house mirror that never reflects the real you. Typifications aren’t a bug in the system; they’re the mind main feature. If the glare of categorization freaks you out, therapy is cheap and plentiful. And let’s be clear: the Noumenal - the unfiltered Real - is forever barred from our awareness. Everything we think and feel must pass through the sieve of perception. If that bothers you, congratulations. Welcome to being human. The only escape is non-being.
by kbolino | 2025-04-22 21:51:04+00:00
If compaction (= defragmentation) runs continuously or near-continuously, it results in write amplification of 2x or more. For a home/small-office NAS (the topic at hand) that's also lightly used with a read-heavy workload, it should be fine to rely on compaction to keep things running smoothly, since you won't need it to run that often and you have cycles and IOPS to spare.

If, under those conditions, 100 GB has proven to be enough for a lot of users, then it might make sense to add more flexible alarms. However, this workload is not universal, and setting such a low limit (0.5% of 20 TB) in general will not reflect the diverse demands that different people put on their storage.
by mvdtnz | 2025-04-22 21:52:03+00:00
> What I dislike the most on modern UI, and maybe absolutely hate, are all those super slow animations.

I get it, and I agree. But what I personally hate the most on modern UIs is hiding things. Why aren't my scroll bars visible when I'm not interacting with them (and even when visible, are ridiculously small and low-contrast)? Why does IntelliJ hide the buttons for interacting with tool windows until I mouse over where they should be? Why does MacOS hide my application launcher bar by default? Stop hiding things!
by 0xbadcafebee | 2025-04-22 21:52:26+00:00
If it's local-first then it's already subject to rot. Unless they're running it all in containers? In which case local doesn't matter.

If you want to record a runbook, then record a runbook. You can do that a million ways. Text file, confluence doc, screen recording, shell script, etc. People already don't do that; they're not gonna suddenly start doing it more because your UI is fancier.

Personally, I don't want to sit around all day writing code (or docs) to try to get the system to be like X state. I want to manually make it have X state, and then run a tool to dump the state, and later re-run the tool to create (or enforce) that state again. I do not want to write code to try to tell the computer how to get to that state. Nor do I want to write "declarative configuration", which is just more code with a different name. I want to do the thing manually, then snapshot it, then replay it. And I want this to work on any system, anywhere, without dependence on monitoring a Bash shell for commands or something. Just dump state and later reapply state.