MurphyA/hacker-news huggingface dataset:
by zdragnar | 2025-06-28 04:58:15+00:00
The supreme court didn't rule on the legal merits of the three lawsuits, the ruled on the scope of the authority of the judges of the lower courts.

As for interpretation: of course it is subjective. That's literally what they do in cases of federal and constitutional law: statutory interpretation. There's even named schools of thought for how it should be done, purposivism and textualism. https://www.law.cornell.edu/wex/statutory_interpretation
by ethagnawl | 2025-06-28 04:59:02+00:00
This is why I just spent weeks tracking down a modern device that I could vendor unlock and install LineageOS on. It's no longer possible on recent OnePlus devices and many people selling other brands on Swappa and Amazon claim their devices are vendor unlockable when they're actually just carrier unlockable. I don't want any vendor's crapware running on my device. I hate that I "have to" use Google Play to function in the modern world but Lineage and MindTheGapps is at least a less bad way to go.

I should sit down and try something like postmarketOS or Mobian as a portable Linux machine is what I really want ...
by motorest | 2025-06-28 05:03:41+00:00
> In safe rust you cannot read uninitialized memory or variables, you cannot dereference a null or freed pointer, you can't concurrently mutate the same variable from multiple threads without locking primitives, you can't accidentally modify a variable after it has been moved out of scope - all of these things are enforced at compile time. If your code compiles, you are safe from all of these classes of bugs (outside the use of unsafe code).

Aren't most of these issues caught in C++ code by static code analysis tools, and even just flipping switches on C++ compilers? I mean, check out tools like cppcheck and address sanitizer. They exist for ages.

Your blend of comments makes it sound like no one knew or cared about these issues other than Rust fanboys.
by bschwindHN | 2025-06-28 05:03:41+00:00
I used to live in a wooden construction apartment, with neighbors above me. They themselves stomped a lot, both late at night and early in the morning, somehow.

Then they had a kid, which grew up and of course would run around the house at any hour. I was getting terrible sleep and it was driving me crazy.

All I could really do was move, and I made sure the next building was reinforced concrete, and that I would be on the top floor. The unit also ended up being on one end so only one wall shared with a neighbor.

It was instant relief and absolutely worth the move. It sucks though because obviously not everyone can live on the top floor of a building. If you're a heavy sleeper then I guess this is less of a problem, so I hope we have enough heavy sleepers in society so there's less competition for top floors. Probably wishful thinking though because the top floor is desired for other reasons unrelated to sleep.
by xeonmc | 2025-06-28 05:03:57+00:00
> When the Lehi militant group were discussing ways to assassinate General Evelyn Barker, the British Army commander in Mandatory Palestine, a young woman volunteered to do the assassination as a suicide bombing. She said "Let my soul die with the Philistines" as a reference to the Samson story in the Hebrew Bible.

Reportedly to be carried out with a belt-load of explosive Samsung phones[0]

[0] https://i.imgur.com/fqrc5GD.jpeg
by bschwindHN | 2025-06-28 05:06:19+00:00
> Ironically, I don't use white noise but brown noise, which is slightly more soothing to me

In case you or others didn't know, iOS has a built in noise generator with different presets under the accessibility options. Sometimes I use it with AirPods and active noise cancellation and it pretty much guarantees I can get a solid block of sleep, at least as long as the batteries last in one go.

The feature is called "Background Sounds"
by seec | 2025-06-28 05:07:29+00:00
Even so called "emotional intelligence" has been shown to been closely linked to general intelligence. Turns out being smarter makes you better at reading people's emotions from stimuli details. This kind of bullshit has been "invented" because there is a belief that intelligent people are "bad" socially when in fact they just don't care or are bored/annoyed when hanging around "regular" people. This study shows one of the reasons: it is difficult to communicate and reason with other people when their prediction/description of stuff is systematically very wrong.

Plenty of people are working very hard to redefine "intelligence" because reality hurts their egos. There is still nonsensical debate about being able to measure it and whatnot even though the research has constantly shown the truth for quite a while now.

I guess that at the start of formalized measures like the meter there were plenty of people to contest how "stupid" it was because it made them shorter than they liked to pretend.
by gblargg | 2025-06-28 05:09:52+00:00
That was confusing as hell. I had the mystery color at the top, just the hex characters, and it looked like it would be a light green. I tap on the light green and the mystery color box at the top turns dark green, yet it shows the same hex code as the light green one I tapped on. I can't tell if I got it right, wrong, or what. I tried another and it was equally confusing, so I left.
by hayst4ck | 2025-06-28 05:10:40+00:00
Did this centralize power or distribute power?

Is the constitution more protected or less protected?

Will trump have a harder time breaking the law or an easier time?

Many in this thread arguing about the legal minutiae of a system that only became problematic in the context of an anti-constitution anti-law president... and I just don't understand. I don't understand what reality you're living in where this is something to defend.
by keizo | 2025-06-28 05:11:39+00:00
I've been working on a roam research replacement for myself for almost 3 years now. And initially, my main thought with self-organizing notes was to tag things automatically. And use ai for retrieval. Generally I avoid ai from 'touching' your notes. But 'breaking apart' a single note with ai is something i think about doing. But haven't done yet. Either way, i always want human in the loop. Given this is hn i'm sure you're working on your own solution, but feel free to check out my project! :) https://grugnotes.com
by kristopolous | 2025-06-28 05:14:16+00:00
There was an article I saw about how long it would take the fastest spacecraft built with "non-speculative" physics - phenomena that has actually been observed in labs or in nature, ignoring any manufacturing and budget infeasibility (as in no handwaving sci-fi) and we're still talking like an entire lifetime to the next star.

In a way we're kind of still like an ancient village who can only travel by boats made of reeds
by wat10000 | 2025-06-28 05:15:35+00:00
People are not going to understand it that way. You know it, I know it, and Facebook knows it. Don’t excuse them for hiding what they’re doing on the basis that people don’t know what it means anyway. I’m pretty sure the average moron can understand “training AI,” considering that both “training” and “AI” are pretty common concepts. Sure, they won’t be able to explain gradient descent and whatever, but “training AI” is something people will recognize as using your data to improve their stuff.
by jcranmer | 2025-06-28 05:16:44+00:00
Rust is interesting because it's the first language to really try to compete in the same space as C and C++ in quite a long time. Part of being a newer language is that it doesn't have to work around the baggage of horribly bad past decisions (e.g., null-terminated strings, or implicit integer promotion). Part of it is also that it can adopt newer language features (e.g., structured binding or pattern matching) and have it mesh well with the language rather than having some weird workarounds.

For many people, the most interesting aspect of Rust is that it builds into its type system a set of rules that makes it much more practical to avoid memory safety issues or concurrency issues--lifetimes and Send/Sync are an absolute godsend for such programming, especially because it means you get the compiler to kick you in the face when you screw it up. Rather famously, Mozilla attempted a couple of parallel layout engines in C++ but their attempts all failed, because it just wasn't feasible to shake out all of the concurrency issues; their first attempt at doing so in Rust had none of those issues. It's not that the rules are complicated or hard to follow, it's that in large codebases, the invariants you need to uphold are described only in comments and can be easy to forget.
by Timwi | 2025-06-28 05:17:01+00:00
I considered whether to mention C# in this thread but initially decided against it because it doesn't actually have a bottom type. You can't assign a throw expression to an implicitly-typed variable, or anywhere else where it is needed to infer a type. You can only use it in places where a type is already known so the throw expression can be coerced to it.

In fact, I recently ran into the finding that you can't use it with logical operators either: `return myBool && throw...` doesn't work. I assume that's because && can be used with many types even if the first operand is a bool, but the compiler error message doesn't explain that, it just says throw is an invalid token here, and if you parenthesize it, it says a throw expression can't be used in this context. I was very surprised by this seemingly arbitrary limitation.
by palmfacehn | 2025-06-28 05:17:10+00:00
>They don't. That's why they have you submit a proposal.

Proposals which are identified as either worthy of funding or rejected.

If anything NPR's selective reporting is misleading. Obviously the overall cost would be much higher than the materials cost of $1k. More over, the treadmill wouldn't exist without the study itself. I don't have a problem with a source like having an NPR editorial or ideological agenda, but the way they twist things is highly misleading. If their case is good, it deserves a better supporting argument.

>It's the best way of funding basic (i.e. not immediately profitable) research.

It isn't difficult to imagine a world where a fisheries association or another large seafood concern voluntarily funded a relevant university study. Whether this would include treadmills for prawns, I cannot say.

Appeals to the status quo of state funded research as the only or best way to achieve outcomes requires a better argument. At best, I think you might offer arguments via pragmatism. It would be reasonable to expect that purely voluntarily funded research would produce different outcomes. As these pursuits would generally be directed towards creating positive economic outcomes, rather than political or ideological ones, we might also expect that these outcomes would be better along the metric of economic value. Politically funded research could reasonably be expected to better at achieving political or ideological outcomes.

However, these are arguments from principle. We would need to test it empirically for those caught in the Scientismic paradigm to accept the results. Under this model of argument, the existence of state funded research tampers with the results. We wouldn't know how a voluntarily funded research regime would function when competing state funds are polluting the pool. Researchers may find it easier to pursue state backed projects than pursue projects which would appeal to the value creation process. This is just one of the flaws in the argumentum ad antiquitatem approach.

>"It's the best way of funding..."
by scott_w | 2025-06-28 05:17:32+00:00
> Even the most novice Rust programmer who stays in the guardrails

I think this part answers your question. A novice could produce reasonably safe Rust code by just reading a book. I’ve no experience with either language and I can safely say I’d have no idea which switches to “just flip” in the compiler and what tools I should look up to write safe C++ code.

I do know that “Learn Language X” books do not include this information so as to not overwhelm the novice.
by motorest | 2025-06-28 05:17:51+00:00
> The duplicated code that needs updating in 50 places every time a bug or new feature comes in? Yes, I'm sure.

If you're talking about duplicate code showing up in 50 places then your problem is not code duplication but incompetent developers not being able to maintain a project.

If instead you're talking about code with a passing resemblance showing up in 2 or 3 places then odds are you're actually looking at more maintainable code straight in the eye and you're not able to understand how that makes the project more maintainable.
by tayo42 | 2025-06-28 05:19:03+00:00
Rust has more and nicer language features compared to c++ that you can use to make the code readable.

I wish rust had overloading and specialization though.

> I personally invested a lot of time and effort into learning C/C++ and the only new language with enough difference to come along that was worth learning was Python imho. Not sure what significant differences Rust brings that warrant throwing all that knowledge away and starting again.

Ive written a little c++ professionally along with rust. I really don't think rust is that hard to learn. Especially compared to c++, I'd be embarrassed to tell people i "know" c++ despite using it a bit. there's so much to writing c++.

I think you would be a competent rust programmer in a couple weeks, have a pretty good grasp on the language and be able to pretty much contribute to any in progress project.

You could spend a weekend going through the rust book and have a good idea of the language. I dont think I could say that to anyone about any c++ book lol
by nialv7 | 2025-06-28 05:19:55+00:00
I recently realized (by playing with Lean) that coercing of "!" is because of the principle of explosion [1]. Basically propositions are types in Lean, and proofs are instances of those types. A proposition that is false doesn't have any instances, so they are like "!". Principle of explosion says ∀ P, False -> P, which is exactly the type signature for "!" coercing.

[1]: https://leanprover-community.github.io/mathlib4_docs/Init/Pr...
by runarberg | 2025-06-28 05:20:17+00:00
Unlikely. There are both economical and moral reasons to never build a self replicating robotic fleet of probes. I think a sufficiently advanced civilization will always prefer telescopes over probes for anything more distant then the nearest couple of solar systems.

Just to ring the point home, we are technically (but not yet economically) capable of creating small telescopes which use our sun as a gravitational lens, which would be able to take photographs of exoplanets. In the far future we could potentially build very large telescopes which can do the same and see very distant objects with a fine resolution. That would be a much better investment then to send out self replicating robotic probes.
by motorest | 2025-06-28 05:21:44+00:00
> I think this part answers your question. A novice could produce reasonably safe Rust code by just reading a book.

That blend of comments is at best grasping at straws. How long do you think a developer stays a "novice"? Does Rust have any problem that prevents developers from learning and improving their skills as fast as any other developers do? Are all Rust projects maintained by novice and junior devs where no one at all can claim to have any senior level skills?

If that's the best argument, that's not an argument at all.
by dafelst | 2025-06-28 05:22:31+00:00
> Your blend of comments makes it sound like no one knew or cared about these issues other than Rust fanboys.

That is a strange takeaway from my post. Of course people care, but the difference is that one language and its toolchain was designed and built specifically to avoid these bugs and one wasn't.

I have been writing C++ professionally since around 2000-2001, and have been working with Rust for about 18 months. For single threaded code, the code I write in both is about equivalent in terms of robustness and stability, but for anything multithreaded, I trust my Rust code's correctness substantially more, even with all the checkers and sanitizers enabled on my C++ codebase.

Would I choose Rust for everything? Hell no, for evolutionary and fast moving code bases like in games, C++ is plenty good enough.

For anything systems related that requires parallelism and robustness, I will 100% stick with Rust.
by JimDabell | 2025-06-28 05:24:36+00:00
> yes we do now know what good syntax for templating is, it's basically jsx (and I'm saying this as someone who's really not a fan of React). It took the whole web by storm, it's been adapted for all kinds of frameworks, and it's undeniable that all js templating systems converged towards common attributes: templates-as-expressions, composition via nesting and control flow with just javascript (instead of specific template syntax).

This is not true. For instance:

Vue uses markup-based templates like this:

<ul> <li v-for="item in items"> {{ item.message }} </li> </ul>

Svelte uses text-based templates like this:

<ul> {#each items as item} <li>{item.message}</li> {/each} </ul>

Angular uses markup-based templates like this:

<ul> <li *ngFor="let item of items"> {{ item.message }} </li> </ul>

And let’s not forget that the world doesn’t begin and end with JavaScript. Most other templating systems are either markup-based or text-based. For instance, Jinja2 is text-based:

<ul> {% for item in items %} <li>{{ item.message }}</li> {% endfor %} </ul>

JSX really isn’t that great. Sometimes it feels like most React devs don’t know how to write a for loop or if statement because they mostly use map(), ternaries, and short-circuiting, which are not very ergonomic compared with markup-based approaches.
by ThatPlayer | 2025-06-28 05:24:42+00:00
The RK3588 is a bit interesting because of its NPU. You can find models that have been converted to take advantage of that on HuggingFace: https://huggingface.co/models?search=rk3588 .

No clue how performance compares. Not sure it's worth dealing with the lesser software support compared to getting an AMD mini PC and using Vulkan on llama.cpp for standard GGUF models.
by ImPostingOnHN | 2025-06-28 05:25:46+00:00
Yes, that is working as designed. It is the design chosen because it is better than the alternative of hundreds of conflicting orders leaving innocent people unprotected.

This will obviously increase the number conflicting orders by several orders of magnitude, but either way: the conflicting orders are what we want to happen, because it errs on the side of caution.

The fact that some courts disagreed didn't negatively affect me at all. Where was all the "chaos" caused by courts disagreeing? "Policy whiplash"? lol. Might as well go full ridiculous and call it "policy murderdeathkill" or something, that sounds much scarier.
by ringeryless | 2025-06-28 05:29:20+00:00
first of all, stop being an outsider and calling it "spanish guitar" and start listening to decades of recordings made available via the internet.

do you want to learn flamenco techniques? there are a zillion youtube tutorials on rasgueados, on alzapua, on picado, etc.

i find that you can watch the legends and masters directly playing their music, and watch their fingers.

song forms, chords, all can be learned if you know what it is you seek to learn.

i taught myself flamenco guitar to quite a high level of competency during the pandemic, and i can promise you that with a few hours practice a day, and some passion for listening to and discovery of new music, you too can achieve what normal mortals consider to be extremely developed skills, because, truth be told, it's like any human endeavor: you can get competent quickly, but it will take a lifetime to master.

playing a musical instrument is a different modality than verbal wankage and supposition about this or that, aka it's the opposite of an online comment, IMO
by absurdo | 2025-06-28 05:29:33+00:00
I’d like to see a proper study on this that can be replicated before I jump on this train. And I’m a supporter of Jonathan “the kids are not alright” Haidt but let’s not kid ourselves his work is questionable throughout.

It’s easy to dogpile. I’d like to see more proof, that’s all. “It’s obvious” doesn’t cut it for me. For one, we have major societal problems that are being exposed through these platforms, and the mere knowledge of the problem has a negative impact on the individual. Do we shut the platform down because it’s showing us things we don’t want to see, or do we fix the societal problem? And many others.
by jraph | 2025-06-28 05:31:23+00:00
I'm not advocating complicated, I'm advocating lightweight. We should not be importing libraries left and right for our convenience to the detriment of the user.

If you are going to use many features of jQuery, then it makes sense to use it, but if it's only a matter of writing one or a with wrappers, then jQuery is overkill.

I don't have a strong opinion on the proposal described in the article.
by wat10000 | 2025-06-28 05:32:43+00:00
Better communication and mobility does a lot. Maintaining the home country’s language in the second generation these days is hard. I know some kids who speak their parent’s native tongue poorly and some not at all. When they speak it well, it’s because of constant effort by the parent. Maintaining it in the third generation is extremely difficult and often doesn’t happen.

It’s similar for other aspects of culture. No matter where you’re from, I bet your grandchildren if not your children are going to celebrate Christmas in some capacity.
by valenterry | 2025-06-28 05:33:00+00:00
Scala and Haskell are there and I think they inspired this in Kotlin and Rust. In Haskell it's "bottom" and in Scala it's "Nothing".

In Scala no one uses "return" (mostly because we don't care about performance in the same way), but if you do, the way it is internally implemented is by throwing exceptions, so in a sense it suffers from the same problems as Rust.

It's actually very important to have that type in a language that uses immutable collections. Imagine this pseudocode:

// List() creates an immutable list let emptyList = List() let listWithAnInteger = emptyList.add(42) let listWithAString = emptyList.add("foo")

This works in Scala. But how can the compiler know that `emptyList.add(42)` is allowed? After all, you can only add things to a list where the added element matches the type of the other elements right?

The reason this works is because the type of emptyList will be List<Nothing> and since Nothing a subtype of every other type, the type of listWithAnInteger will become List<Integer>. You can annotate these types explicitly if you want.

Every language without such a bottom type has a failed type-system in my opinion. (looking at you Golang and many others)
by schobi | 2025-06-28 05:34:35+00:00
How far off are we still for doing this with visual light?

Let's say you build single photon detectors and ultra precise time stamping. Would that get us near? Today, maybe we don't have femtosecond time stamping and detectors yet. But that is something I can imagine being built! Timing reference distribution within fs over 100s of km? Up to now, nobody needed that I guess.
by ringeryless | 2025-06-28 05:34:38+00:00
i can promise you that classical theory is not how 99% of flamenco players learned what is essentially an oral tradition folk art.

OTOH, classical guitar, if that is what you are after, is exclusively a repertoire music, you learn it by playing songs. here, get some guitar sheet music and start playing. they include numbers for fret positions above the staff of notes, sometimes, and they often indicate which finger to pluck with on the right hand. you literally can just follow the directions on the box