MurphyA/hacker-news huggingface dataset:
by jacquesm | 2025-09-07 20:05:38+00:00
No, indeed I don't like Wilders and his ridiculous approach to immigration, which is utterly unrealistic and has caused the downfall of several of our governments. And every time someone actually wants to really do something that might just work Wilders is of course against it because if that were to happen his whole reason for his continued employment would fall away.

> Maybe the problem is you?

You mean: because I hold a minority opinion I'm the one that is wrong? No, that's not how it works, not here and not in the general case. The fact that someone holds an opinion and whether or not a larger group of individuals holds a different opinion is not how you determine where the problem lies or who is wrong.

You do that by careful analysis of the underlying facts. And for NL those facts are quite complex, far more complex than Mr. Wilders and his merry band of incompetents makes it out to be. But that doesn't matter for him, in that sense Trump and Wilders are one and the same: push the fear button, as hard as you can and there will be plenty of people that vote for you.

To assume that populism is automatically right is a fairly big error and history is rife with examples of proof of that so I take it you won't be asking for citations.
by ptero | 2025-09-07 20:06:27+00:00
IMO it is better to keep the barriers to entry as low as possible for prototyping. Letting domain experts build what they have in mind themselves, on a shoestring, is a powerful ability.

Most such prototypes get tossed because of a flaw in the idea, not because they lacked professional software help. If something clicks the prototype can get rebuilt properly. Raising the barriers to entry means significantly fewer things get tried. My 2c.
by danlitt | 2025-09-07 20:06:31+00:00
> Why? Because perhaps in 2030 Russia has taken over Dnipro and moved it from Europe/Kyiv to Europe/Moscow.

I think in this case Europe/Kyiv would actually change its UTC offset to match Europe/Moscow, which I'm pretty sure the TZ database would handle just fine.

> Our meeting time has obviously not changed, but its exact instant on the universal timeline has changed.

I think a sentence like this should jump out in big red letters. At face value it is not meaningful - how can our meeting time have not changed if the exact instant it occurs has changed?

If you chase this thought to its logical conclusion then it is not as obvious as you suggest. For instance, the number of hours between now and your proposed meeting has changed. Two meetings that happened to be simultaneous before now are no longer simultaneous because their relative UTC offsets changed. Is that a bug? What if your future physical event is the arrival of a train?

The choice in front of you is to pick a completely precise specification on which everyone agrees (the "instant of time") with an incomplete specification which you admit yourself may change in the future. My vote is to at least encode something unambiguous, and then to adjust it if my vague notion (local time) changes.
by aengelke | 2025-09-07 20:07:06+00:00
> but typically a change to the preprocessed output implies a change to the IR (e.g., it's a functional change and not just a variable name change or something). Otherwise, why would I recompile it?

For C++, this could happen more often, e.g. when changing the implementation of an inline function or a non-instantiated template in a header that is not used in the compilation unit.
by andyjohnson0 | 2025-09-07 20:07:08+00:00
I mostly learned the subset that I need for my everyday work. I'm sceptical about whether I'm smart enough to learn the rest. Frankly the complexity and unfriendliness of the tooling scares me a little, and I've been doing this software dev thing for over thirty years.

SCCS, RCS, SourceSafe, Vault, TFS, git. Use the gui if you can.
by oneshtein | 2025-09-07 20:07:25+00:00
2^128*52 is 6656 bits, or 30x more than 2^226, so it will work IF those bits are independent. If CSPRNG is used, such as AES128, it will use 2^128 seed, which is not enough to cover all 2^226 permutations. If PRNG sequence is reused to generate more shuffles, then the next shuffle can be predicted from the previous one.

CSPRNG AES256 with 2^256 random seed is safe.

CSPRNG AES128 with 2^128 (or less) random seed is not safe.
by bmm6o | 2025-09-07 20:07:38+00:00
This is a community that values a high signal to noise ratio and generally eschews small talk, a la nohello.org. Congratulating someone for learning something does not advance the conversation.

It also has a low tolerance of what it perceives as reddit- style in-group signaling via repetition of a common meme (xkcd, in this case). Again noise vs signal but also suspicion of karma farming.
by gf000 | 2025-09-07 20:07:46+00:00
Doing something a bit vs almost completely can have a significant difference in practice - having a way to maybe avoid nulls doesn't solve the million dollar problem, but making non-nullability the default arguably has (see Rust, Kotlin, etc).

An even better example would be Rust's memory safety. Sure, there is still unsafe, but it being used very sparingly has reached its goal.

So I think a new language where 'pure' is the default (with a few, locally scoped escape hatches), and effects are "mandatory" would actually be pretty effective at reaching its stated goals.
by Doxin | 2025-09-07 20:07:50+00:00
Oh yeah on a human scale there's plenty of VERY hard plastics.

It's still pretty soft and gummy when compared to a LOT of materials. It's all relative and whatnot. You'll often find machinists using descriptors like "chewing gum consistency" for stuff like copper. On that scale plastic is pretty soft and squishy.
by thaumasiotes | 2025-09-07 20:08:29+00:00
I would take issue with

>> When the Japanese imported it, they used the characters much more phonetically.

Japanese kanji are much less phonetic than Chinese hanzi. For hanzi, you can ask "how is this character read?", and it's a simple question with a simple answer, because that question is the basis of the writing system. Kanji are assigned all kinds of different readings on the theory that what really counts is the semantics.

For example...

>> They used the whole word when that worked

Not even in the oldest Chinese writings do you see one character representing a multisyllabic word. Identifying characters with words rather than syllables is an innovation on the part of the Japanese.

Tangentially, you mentioned that the vast majority of characters are phono-semantic compounds. I've been watching some youtube videos in which Japanese people are presented with kanji of varying levels of obscurity and asked to speculate on their pronunciation. Without fail, when they don't know the answer, the interviewees speculate that the two major components of the character both contribute to its meaning.

And that always surprises me because a two-meaningful-components construction is so rare in the character system. Almost all characters aren't constructed from two meaningful elements, and I would have thought the Japanese would be familiar with that fact even though they can't understand the phonetic hints. Do you think this is more of a case of them not knowing how characters are formed ("ignorance"), or more of a case of them speculating on the meaning of each component purely because they don't have the ability to speculate about the phonetics ("searching under the lamppost")?

[Particularly where the obscure kanji are part of an obscure phrase borrowed from Chinese, speculating about the phonetics would be helpful to the problem, but I'm assuming most Japanese just plain don't know what kinds of sounds a Chinese phonetic component might be hinting at.]
by Guvante | 2025-09-07 20:09:47+00:00
Providing a discount to insurance companies is not fundamentally bad or nefarious.

Medicare/Medicaid tend to pay less than private insurance, however lots of places accept it because that gives them access to a bunch of potential clients.

Leveraging your user base to get a discount from a provider is normal and expected.

The problem is when insurance companies demand a particular discount and providers given them that discount by raising their prices.

Certainly a 70% discount is a sign of a bad price (assuming it isn't part of a cost normalization scheme where some services get deep discounts and others are paid with little or no discount aka "I get 70% off dangerous surgeries but I will pay 110% of simple ones")

However if instead the normal price was $200 and they accepted $150 to get access to the network that is normal.
by alanfranz | 2025-09-07 20:09:48+00:00
> So my only advice would be to make closer to 50% actually skin cancer.

If I were to code this for "real training" of a dermatologist, I'd make this closer to "real world" training rate. As a dermatologist, I'll imagine that probably just 1 out of 100 (or something like that) skin lesions that people could imagine are cancerous, actually are so.

With the current dataset, there're just too many cancerous images. This makes it kind of easy to just flag something as "cancerous" and still retain a good "score" - but the point is moot, if as a dermatologist you send _too many_ people without cancer to do further exams, then you're negating the usefulness of what you're doing.
by notrealyme123 | 2025-09-07 20:10:01+00:00
Must be really nice people there which don't want any money. Really warms my heart.

ofc. When things go viral they say "yes". But i would really love to get some number how many students and hobbiests got a 1k-2k bill and just paid it for the problem to go away.

Amazon is a publicly traded company. If they wave fees every time something goes wrong, investors would tell them something.
by margalabargala | 2025-09-07 20:10:05+00:00
Totally disagree. The left has absolutely moved further right.

Firstly, the example above with healthcare.

Secondly, deregulating things like zoning are rather popular with the modern left, and generally free-market approaches to housing. Dems are less friendly to unions than they were, lip service aside.

I don't think there's much that wouldn't be recognizable to a Clinton dem. The identity politics around trans rights etc are the same civil rights the left has been supporting for a century. Abortion is the same debate we've been having since the 60s.

The left has either not changed stance, or moved right, on all issues.
by 12_throw_away | 2025-09-07 20:10:12+00:00
Well, if you want to collect errors, then you need to have a way to store the transformed input in a form that allows you to check the invariants, which can be arbitrarily complex. So naturally there must be some intermediate representations that allow illegal states. And there must be functions that take these IRs that return either domain objects or lists of errors.

So, having used this thread to rubber-duck about how the principle of "parse-don't-validate" works with the principle of "provide good error messages", I'm arriving at these rules, which are really more about encapsulation than parsing:

1. Encapsulate both parsing and validation in a single function: `parse(RawInput) -> Result<ValidDomainObject,ListOfErrors>`

2. Ideally, `parse` is implemented by a robust parsing/validation library for the type of input that you're dealing with. It will create some intermediate representations that you need not concern yourself with.

3. If there isn't a good parser library for your use case, your implementation of `parse` will necessarily contain intermediate representations of potentially illegal state. This is both fine and unavoidable, just don't let them leak out of your parser.
by ajross | 2025-09-07 20:11:36+00:00
You are exhausting.

Here you're conflating "law" (the rule supposed to be followed) with "policy" (the mechanism used to enforce that rule). One can be broadly in favor of controls on aggregate immigration and still horrified at the means[1] chosen.

You really don't see how reasonable people might disagree with you?

[1] In this case[2] rounding up working engineers doing a job we all agree we want done via means that have been the norm since the 50's.

[2] The literally masked secret police force and salvadoran gulag things are sore points too.
by adityaathalye | 2025-09-07 20:11:55+00:00
Yeah, absent automatic TCO, we have to do it all, explicitly, by hand... `recur` and `trampoline`.

recur: https://clojuredocs.org/clojure.core/recur

> Evaluates the exprs in order, then, in parallel, rebinds the bindings of

the recursion point to the values of the exprs.

(def factorial (fn [n] (loop [cnt n acc 1] (if (zero? cnt) acc (recur (dec cnt) (* acc cnt)) ; in loop cnt will take the value (dec cnt) ; and acc will take the value (* acc cnt) ))))

trampoline: https://clojuredocs.org/clojure.core/trampoline

> trampoline can be used to convert algorithms requiring mutual recursion without stack consumption.

i.e. these emulate TCO, with similar stack consumption properties (they don't implement real TCO).

(edit: formatting)
by naasking | 2025-09-07 20:12:07+00:00
> One can, of course, also build an actual table indexed on operation and type as a data structure in just about any language and use it, and in a language like C++ the result may well be quite a bit nicer than using a class hierarchy.

This requires unsafe casting and thus doesn't actually solve the expression problem, which is about how to do this without compromising safety. Your approach is what the solution to the expression problem in Haskell effectively does at runtime though, via type classes and the dictionary-passing translation that they undergo during compilation, but it's all type safe.
by gf000 | 2025-09-07 20:13:19+00:00
One important thing that languages with algebraic types can usually do and most others can't is being generic in this "colorness" - precisely because this is the color problem they are solving.

So they can e.g. have a `map` function that can take a pure lambda, or an effectful one, and based on that itself will become pure or the given effect. Colors will stop being "infectious" without limits, you can now better barrier their reach.
by dang | 2025-09-07 20:13:31+00:00
What country the commenter belongs to isn't relevant because the issue is how readers will react. Most won't react, but somewhere down the long tail there's a segment of readers who will become provoked and rush to the comments to attack back. Then we end up in flamewar hell. The only solution is not to go down that spiral in the first place, much as the only way to avoid a black hole is to steer clear of it.

Being right isn't relevant either, for two reasons: first, it's a category error to call pejorative language (e.g. "insane $country obsession", "bizarre and absurd") right or wrong, because it's emotional language, not propositional language. Second, again, the issue is the effect on the threads. Even if a pejorative provocation is 100% right in propositional content, not everyone will agree with it—indeed everyone feels it is they who are right—so rightness doesn't change the flamewar dynamic I described in the first paragraph. If anything, it makes it worse.

For avoiding flamewars, the issue isn't whether you're right or not, it's how you express your rightness and whether it's a good moment to make that point. If you're introducing or fueling a classic flamewar topic that's tangential to the topic at hand, it's probably best just not to, no matter how right you are or feel you are.

All of that is what's behind this site guideline: "Eschew flamebait. Avoid generic tangents." - https://news.ycombinator.com/newsguidelines.html
by godelski | 2025-09-07 20:13:32+00:00
> Are you suggesting you don't believe you can't make a prompt that successfully encodes 6 trivial state transitions?

Please show it instead of doubling down. It's trivial, right? So it is easier than responding to me. That'll end the conversation right here and now.

Do I think you can modify an LLM to be a Turing Machine, yeah. Of course. But at this point it doesn't seem like we're actually dealing with an LLM anymore. In other comments you're making comparisons to humans, are you suggesting humans are deterministic? If not, well I see a flaw with your proof.
by johnnyanmac | 2025-09-07 20:13:34+00:00
>Wait 4 weeks before the election and then go to one of the many websites that track candidates' quotes

So just hear carefully curated words and not see the actions they did? Yeah, that's pretty much how my country got into this situation.

There's plenty of fluff, but lets not pretend that there isn't actual reporting out there for stuff that does or will affect your daily life. 1000x so with local policy where it is so excruciatingly difficult to find any real information on. Just

1) be honest about when you want either the dryest, direct report, or you want a show to go with it. I'm definitely in the middle myself, slightly skewed towards dry.

2) Understand the balance of relevance, impact, importance, and fun to your life. We can be honest and admit there some important news out there that simply isn't a fight you want to participate nor follow closely.

Likewise, we're on a tech forum right now and I'm sure while many of us would read about a distributed GPU runtime that we also all know it's not necessarily the most important thing in life right now (unless that is indeed your career right now).

Awareness can do a lot to drive behavior by itself. We just first need to be honest about it.
by bigyabai | 2025-09-07 20:14:15+00:00
With respect to the IP protected under the Constitution of the United States, unquestionably and absolutely. The past 50 years of macroeconomic activity is basically a warning sign that says "your IP is basically worthless" in big red flashing letters. China mass-manufactures ARM chips and turbojet engines using unlicensed stolen schematics - Russia endlessly pirates foreign entertainment with impunity. These are entire nations of people who benefit from American financial assets without paying us a dime for them.

In case you missed it, the other day China showed off their F-35 clone for the PRC military parade. Your constitution can say pigs fly for all George Washington cares, trusting absolutely in IP protection is a game for butthurt chumps.
by dataflow | 2025-09-07 20:14:28+00:00
As far as run-time exposure prevention goes, I feel like in-band signaling might work better than out-of-band for this problem. Along the lines of the taint checking technique mentioned, you can insert some magic string (say, some recognizable prefix + a randomly generated UUID) into your sensitive strings at the source, that you then strip out at the sink. (Or wrap your secrets in a pair of such magic strings.) Then block or mask any strings containing that magic string from making it into any persisted data, including logs. And it will be easy to identify the points of exposure, since they will be wherever you call your respective seal()/unseal() function or such.
by d-sky | 2025-09-07 20:15:55+00:00
I have a 2 year old Amazfit GTR 4. I just disabled wifi & cellular data on my phone, opened the Zepp app, pulled down to sync and it happily downloaded my today's activity to the app. And oh, compared to Apple, I only need to charge it once per two weeks (with almost everything enabled, except always on display).
by nirava | 2025-09-07 20:16:37+00:00
True, which is why I am somewhat conflicted.

So after sacking the wildly (and deservingly) popular Chairman of the National Electricity Authority, after allowing ministers to set arbitrary and uncapped salaries for themselves and their workers, after obstructing and undermining the wildly (and deservingly) popular mayor of the Capital, and after doing like 15 of these really major, objectively anti-nation things, and getting called out for it in Social Media by the commoners, the 73 year old Prime Minister (in many ways a Trump-like figure; immune to shame or criticism) moves to ban social media in the country. Obviously a bad thing.

At the same time, a 2 year old law that still hasn't convinced the companies with valuations higher than my countries GDP to throw like $10k to set up an office here and maintain it with less than $5k a month to keep their services running. It doesn't feel right to fight to keep them around either.

PS: The previous paragraphs might have portrayed the current government in a (deservingly) negative light. I wonder if I'll have to start browsing hackernews with a VPN in the future.
by naasking | 2025-09-07 20:17:25+00:00
> Traits have methods. How is that not adding new functions?

If you add a method to a trait, every implementation of that trait has to be modified in the original source code. The point of the expression problem is that you want to be able to add new operations in a way that is type safe and checked for completeness, even if you don't have access to the original source code.

Rust can probably do this, because its traits are equivalent to Haskell type classes and those have a solution to the expression problem, but it's not trivial. See the link in the article.
by password54321 | 2025-09-07 20:17:59+00:00
These platforms themselves don't support free speech. On top of that everything is now heavily algorithmically driven. Everyone is pushed to consume the same type of content while thinking they have free will in their choice not realising they are being subtly manipulated right below their ability to recognise it.

At this point, YouTube probably has a better idea what you will consume next than you yourself do.
by TacticalCoder | 2025-09-07 20:18:28+00:00
> So much of this should never have been acquired.

I fully agree. My mother was a compulsive buyer and holder.

My brothers and I literally had to sort, evaluate, sell, recycle thousands of items. I found stuff like a knife to cut a birthday cake with a button so that it plays the "happy birthday to you" song. Fake candles, with an electrical wire: she'd buy five identical boxes of those. Never saw them used once.

This served as a lesson to me: I'm not perfect but I'm working on it. Having lived in four different countries helped me understand minimalism too.

And, much more importantly, I definitely don't want my stuff to be a drain on my daughter. The first thing I told her: have zero regret, zero hesitation, about throwing out stuff that belonged to me. Anything that doesn't talk to you: throw it, sell it, give it. I don't care and you shouldn't either.

Pro tip: if one wants to collect stuff, at least collect things that are going to last. For example instead of collecting Labubu dolls, collect gold coins instead. Gold doesn't rust. And at least you'll pass down something valuable to your kid(s). Focus your compulsive hoarding tendencies on something that'll teach you something (gold coins are very good at teaching history). Gold has value since, literally, thousands of years. Can't afford a 1 oz coin? Save and buy a 1/10th oz instead.

I still have too much stuff. For example a real vintage arcade cab: this thing still works. Movers do actually swear when they have to move it. But at least I still play once in a while a game on it. And so does my daughter. This one is probably my worst offender but, well, it still brings me some joy so there's that.

You don't need all these items: don't be a wandering hyper-consumerist soul.