skysight-inc/HackerNews huggingface dataset:
I'd talk on HN before LinkedIn.

LinkedIn is 99%+ corporate-slime and self-promoting behavior, and that fact makes me suspect anything someone says there.

HN is far from perfect, but, for example, there's enough people posting pseudonymously, and I think a good percentage of those are saying something because they want to say it or think it should be said. Not because they're posturing for hiring or followers.
MISRA won't be OK with that.

MISRA requires that you explicitly write the default reject. So -Wswitch doesn't get it done even though I agree that if C had (which it did not) standardized this requirement that would get you what you need.

C also lacks Rust's non_exhaustive trait. If the person making a published Goose type says it's non-exhaustive then in their code nothing changes, all their code needs to account for all the values of type Goose as before - but everybody else using that type must accept that the author said it's non-exhaustive, so they cannot account for all values of this type except by writing a default handler.

So e.g if I publish an AmericanPublicHoliday type when Rust 1.0 ships in 2015, and I mark it non-exhaustive since by definition new holidays may be added, you can't write code to just handle each of the holidays separately, you must have a default handler. When I add Juneteenth to the type, your code is fine, that's a holiday you must handle with your default handler, which you were obliged to write.

On the other hand IPAddr, the IP address, is an ordinary exhaustive type, if you handle both IPv6Addr and IPv4Addr you've got a complete handling of IPAddr.
What feature do you use Kotlin for that does not exist in modern Java (21+)?
Plants must extract nutrients from the soil. An important such nutrient is phosphorus. Because arsenic is chemically similar to phosphorus, any arsenic in the soil will get extracted also, ending up in the plant. The soil in Louisiana and Arkansas, which is good for growing rice, happens to be high in (naturally-occurring) arsenic.
Text Behind Video Open Source Tech
That is the Greek tragedy that the universe has warned us about. You better get wisdom in your life somehow, and the pre-requisite is growing up. If doesn't click before you are dead, that's the tragedy they have been warning about since forever.

Like yeah, you can die on this hill. But if you really need a job one day because someone in your life is sick and needs caretaking (this is just one example, not a strawman anecdote, life is no joke, thats a causal thing that can easily happen) ... Oh you died on that stupid hill on Linkedin 5 years ago over bullshit right? Because nothing else in life could possibly be more important right?

That's just how I see it. I see children.
Nuclear would not make sense at all for long distance sea travel. Naval reactors require highly enriched fuel in order to be compact enough, so they could never be widespread on civilian ships for fear of proliferation. They're also extraordinarily expensive and require a specialized crew, and their power output is overkill for a cargo ship (but they can't really be scaled down much further).
and here I was hoping area 51 was the hidden aria
I think these are all really good points. I certainly need to improve at my article writing abilities. I have removed the parentheses from the title.
Are you talking about houses? Wouldn't insurance cover those, not taxpayers?
I got it after pandemrix vaccine as well. Sodium oxybate absolutely helps with wakefulness, turns out you feel more awake and are less prone to fall asleep if you get good sleep at night (although induced by medicine).
Show HN: A daily email that tells me how many sunsets I have left in life
Email reminder for the number of days you have left
You can "protect" all you like, but speaking publicly about your employer has repercussions and you can't wish that away.

Let's say I'm an employer filling a position. I narrow found the candidates to a handful, any one would be fine.

So I start contacting ex-bosses, references, doing Google searches etc. Hmm, one of them has disparaged their employer online. I don't know who was right, and frankly I don't care. I'm never going to think "ah, there's someone we really want - someone who goes online when they don't get what they want."

You can't "protect speech" this away.
Naomi Feil Developed a Radical Approach to Caring for Dementia Patients
most inspiring piece of content I've read in weeks and it comes from the pessimizer, thanks for that. also first time I've come across the term buttbuttinating but I like it, captures the zeitgeist.
Our company has a policy that regardless of expense and approval limits, certain things must always be done a certain way - "libraries that will end up in our software", and other things that the business "may depend on" - not saying that's the case here, but I can see it.
Any amount of lead is harmful. There is no such thing as too low.
I agree, as someone who literally just drank a chocolate flavored whey protein shake 10 minutes before reading this.
If it wasn't a problem, they wouldn't be doing this.
Thank you so much for the kind words!

AI translation is definitely on my roadmap and I'll be implementing it soon. I'll make sure to announce it here when it's ready!

Which languages would you find most useful?
Huh. Does that actually work?
https://archive.ph/2024.12.20-234550/https://www.nytimes.com...
You truly believe we’re on a timeline that involves the replacement of anaesthesiologists, emergency medicine physicians, trauma surgeons, and so on, within a 20 year timeframe? AI progress in the last few years has been astounding, but the gaps between where we are and a true all-human-labour-is-inferior scenario is almost unfathomable.
I don't think that's fair. There's a lot less blue ocean these days. C++ could expand into virgin territory where Rust (or any new language) needs to fight against momentum.
By default, strictness is opt-in with TypeScript, and many JS APIs, especially older ones, don't even have types yet.

Having a type system from the start that cannot be disabled and that forces you to always think of types instead of allowing sprinkling 'as any' when the code works but doesn't compile which is a major annoyance, is a huge benefit in my opinion.
They did an exposé on solvent use in decaf coffee and listed Peet's Coffee (a local SF brand) as having traces of methylene chloride. Yet Peet's claims to only use the Swiss Water (or similar) process to produce their decaf, possibly as of a few years ago. It's possible they changed the process after the tests were done.

The study looked dated but wasn't presented as such, and didn't caveat it with any updates. It's hard to know if Peet's changed their ways in response to the report, and if that was the case I think a disclosure is warranted.

In the end I was presented with conflicting information and didn't know who to believe. Was the data old? Was it a false positive? Did Peet's decaffeination supplier pull a fast one and was secretly using a cheaper method? (Nearly all decaffeination is outsourced.)

More info here:

https://www.usatoday.com/story/life/health-wellness/2024/05/...

The Clean Label Project, a nonprofit that fights for food labeling transparency, found that several popular coffee brands including Kirkland Signature, Kroger, Maxwell House and Peet's Coffee included traces of methylene chloride, a liquid sometimes used for paint stripping that in large doses can cause a slew of health issues. (A representative for Peet's told USA TODAY the brand switched to a different means of decaffeination more than two years ago.)
you’d normally use square braces [for this kind of thing]
The Nonprofit College That Spends More on Marketing Than Financial Aid
> any amount of heavy metals is toxic

That is not the case. Dose makes the poison. Many of the metals we actually need in trace amount to function. Even the ones we don't need, has to reach a certain concentration before they pose any risk to us.

And this reporting is pure FUD. Even the "high concentration" items were below the risk threshold
My mom took to me a place that gave out a free cookie for every A. That was pretty good motivation for me.
> Please don't argue about "but I don't need to add a flag in Rust"

Why not? It's a big issue. You say it's "on in any codebase where anyone cares", and I agree with that but in my experience most C++ developers don't care.

I regularly have to work with other people's C++ where they don't have -Wall -Werror. It's never an issue in Rust.

Also I don't buy that they couldn't fix this because it would be a breaking change. That's just an excuse for not bothering. They've made backwards incompatible changes in the past, e.g. removing checked exceptions, changing `auto`, changing the behaviour around operator==. They can just use the standard version, just like Rust uses Editions.

Of course they won't, because the C++ standards committee is still very much "we don't need seatbelts, just drive well like me".
You mean discriminating against AIs? That will not age well.
If we had the best product engineering organization, what would it look like?
Study links sugar-filled drinks to millions of heart disease and diabetes cases
How to Blow Up a Timeline (2023)
That's not really how anything works. The dose makes the poison.

This paper claims that the arsenic and cadmium levels are a bigger concern, but still not meaningful: https://pmc.ncbi.nlm.nih.gov/articles/PMC7509468/

> The EPA adult lead model (ALM) was selected to estimate adult BLLs, as the EPA recommended this model for assessments of non-residential Pb exposures that result in BLLs <25 μg/L [43]. A baseline adult BLL of 1.27 μg/dL was used, which was the calculated weighted geometric mean of BLLs in adults aged 20 years or older during the 2005–2012 NHANES survey years [40].

> Gastrointestinal absorption of Pb was conservatively assumed to be 20%.

> The calculated CDI range for heavy metals in 1–3 servings of protein powder supplements identified by Consumer Reports were: 0.2–16.9 μg/day for As, 0–5.6 μg/day for Cd, 0–1.1 μg/day for Hg, and 0–13.5 μg/day for Pb.

> The calculated CDI range for heavy metals in 1–3 servings of protein powder supplements identified by the Clean Label Project were: 0.09–10.3 μg/day for As, 0.03–39.5 μg/day for Cd, 0.04–2.92 μg/day for Hg, and 0.09–15.9 μg/day for Pb.

> None of the estimated BLLs exceeded the CDC guidance value of 5 μg/dL, for all examined exposure scenarios. The highest estimated BLLs were 2.24 (+0.97 from baseline) μg/dL and 1.50 (+0.23 from baseline) μg/dL, using data from the US Consumer Reports and Clean Label Project, respectively.

> Overall, findings from this analysis suggest that consumption of protein powder supplements containing As, Cd, Pb, and Hg is not associated with an increased risk of non-carcinogenic health effects due to heavy metal exposure.

> The amount of Pb an individual ingests via food is largely dependent on the Pb concentrations found in the soil, air, and water that the food was grown in Bolger et al. [24], Khandekar et al. [25] and Marin et al. [26]. Anthropogenic sources of Pb, such as the proximity to industries producing Pb emissions impact the levels of Pb in food. According to IARC [27], in the United States, the estimated daily dietary intake of Pb is ∼83 μg/day (based on a market basket survey) [27]. However, dietary intake of Pb can vary depending on geological location, for example, the daily dietary intake may range from 7 μg/day (in Malaysia) to 230 μg/day (in Belgium) [27]. For comparison, the mean Pb exposure from ingestion of three servings of protein powder supplements was 3.52 μg/day; the highest daily exposure potential was 13.5 μg/day (calculated based on Consumer Reports data).

> Together, this analysis indicates that relative to the average daily human exposure potential reported for As, Cd, Pb, and Hg from food and drink, ingestion of protein powder supplements contributes to only a fraction of the heavy metal body burdens for each heavy metal. Further, even in individuals that ingest three servings of protein powder supplements per day (potentially in individuals ingesting protein powder supplements as meal replacements), daily heavy metal (As, Cd, Pb, and Hg) concentrations ingested are well below the reported average daily heavy metal concentrations ingested by the general population.
> don't think it's too far off though, since we can (and, as I argued, should) tease apart the data from the assertion, to get something like `let x = 3; assert(x > 2)`; and that's equivalent to `(lambda x: assert(x > 2))(3)`

Right, but even that is an unquantified proposition.

> If I try stretching my constructive-logic argument a bit, we could implement negation `¬A` as a function `A -> Void`

There's no need for constructive logic specifically (a test presumes that it runs in some bounded time, which means we're operating on finite domains). Tests can invert both their assertions and their result, so if they were existentially quantified they could also have been universally quantified.

Indeed, tests can express (though not effectively execute) an existential quantifier (∃xP(x)) over a finite domain (though not infinite ones):

for x in Domain {
if P(x) return true // test success
}
return false // test failure

And that can easily be turned into a universal quantifier through negation:

for x in Domain {
if !P(x) then return false
}
return true

This is the exact transformation as in (∀x : P(X)) ≣ (¬∃x : ¬P(x)); the internal predicate is negated and then the entire thing.

> but test suites rely on runtime execution, which is inherently untyped

Types are a syntactic concept and they are, therefore, a property of a language; a language can be typed or untyped (types serve as part of the rules for determining whether a string is in the language or not). There are several ways to describe execution, but usually it isn't described as a language, so it is no more typed or untyped as it is yellow or not yellow.
From burden to asset: reimagining logs at scale (2024)
I haven't used emacs so I won't speak to that. But a GUI editor (be it Sublime, Notepad++, VSCode, JetBrains, whatever) does everything vim does and is far easier and more pleasant to use. I think that using vim instead of a GUI editor is kind of like using a hand saw instead of power tools - you can do it, but you're willingly giving up a better option for a worse one. Vim made sense in a day when computers were based around text terminals, but we don't live in that day any more and it doesn't make sense to use tools that are limited by that paradigm any more.

For serious work, a GUI editor (Sublime is my choice) beats the pants off vim. The only situation I use a terminal editor is when I'm editing config files on servers, and vim sucks at that too - nano is far superior for quick and dirty edits to files. I simply do not think there's a use case where vim makes sense any more.
> I enjoy Rust, but have settled on Kotlin for my language of joy.

Isn't it comparing apples and oranges? Is there any good reason to use Rust if you can live with a GC?
Insurance in very high risk areas practically cannot exist without governmental subsidies.
It's interesting to hear you've had similar experience.

I used Isaac Sim for research work a few years ago (https://github.com/qcr/benchbot) and, although its capabilities were head and shoulders above the rest, its usability was amazingly convoluted. Even simple things became week-long dives into undocumented blind digging.

Part of why I'm so interested in the experiences of people actually using these tools for something productive.
I will disagree with this list, in part. And I am thinking specifically of PHP. I am an emigrate from PHP ecosystem, I departed from PHP 11 years ago and never looked back. The number one reason that I left PHP is that #1 in your list was plainly false. There were _not_ high paying jobs in PHP, no matter how good you were or not. The whole point of using PHP is to pay as little as possible; and make developers as fungible as possible. And if a certain demographic yielded good quality developers for an even lower price point, I would certainly see whole teams being replaced to fit it. I was actually recruited, more than once, exactly for this reason.

Languages don't die, they ride into the sunset. There is enough inertia in PHP-ecosystem that you can still find jobs, but they are very often just legacy work jobs (at least in my area). No serious technical leader would pick PHP to execute on new work, except of course, if their main driver is to pay as little as possible and the language choice doesn't bubble up to investors' keyword-driven investment thesis.

VB6 and PHP are nice. I am skeptical of the affirmation that there is a lot of money in these ecosystems. The pie may be currently large, but I do not see it growing.
'it varies' b/c we do everything from an interactive analytics chat agent (loiue.ai UI) to data-intensive continuous-monitoring (louie.ai pipelines) to one-off customer assists like $B court cases

1. Common themes in our development-time loop:

* We don't do synthetic data. We do real data or anonymized data. When we lack data, we go and get some. That may mean paying people, doing it ourselves, setting up simulation environments, etc.

* We start with synthetic judges, esp for scale tasks that are simple and thus considering smaller models like gpt-4o-mini (the topic here). Before we worry about expert agreement, we worry about gpt-4o agreement, and make evals that cover concerns like sample size and class imbalance...

* ... When the task is high value, e.g., tied closely to a paying customer deliverable or core product workflow, we invest more on expert evals, making calls like on how many experts and of what caliber. Informally, we've learned multiple of our teammates, despite good at what they do, can be lousy experts, while others are known for precision, even if not data people (ex: our field staff can be great!). Likewise, we hire subject matter experts as full-timers (ex: former europol/fbi equivs!), source as contractors, and, partner with our customers here.

* After a year+ of prompt engineering with different tasks, models, data, and prompt styles, there's a lot of rote tricks & standard practices we know. Most are 'static' -- you can audit a prompt for gotchas & top examples to fill in -- and a smaller number are like in the OP's suggestion of dynamic prompts where we include elements like RAG.

On the last point, it seems incredibly automatable, so I keep trying tools. I've found automatic prompt optimizers like dspy to be disappointing in being unable to match what our prompt engineers can do here: they did not do better then prompts we wrote as experts with bare bones iteration, and leaning into the tools failed to get noticeable lift. I don't think this is inherent, just they're probably eval'ing against people we would consider trainees. Ex: I see what stanford medical fellows+phds are doing for their genai publications, and they would probably benefit from dspy if it was easier, but again, we would classify them as 'interns' wrt the quality of prompt engineering I see them doing behind-the-scenes. I'm optimistic that by 2026, tools here will be useful for skilled AI engineers too, just they're not there yet.

2. It's a lot more murky when we get into online+active learning loops for LLMs & agentic pipelines.

E.g., louie.ai works with live operational databases, where there is a lot wrt people + systems you can learn from, and issues like databases changing, differences in role & expertise, data privacy, adverserial data, and even the workflows change. Another area we deal with is data streams where the physical realities they're working with changes (questions+answers about logs, news, social, etc).

IMO these are a lot harder and one of the areas a lot of our 2025 energy is going. Conversely, 'automatic prompt engineering' seems like something PhDs can make big strides in a vacuum...
> as those so high-risk that insurers refuse coverage

Maybe in those areas the policy should be "you're on your own."
I would append to these explanations, "moral hazard". Many of the people rebuilding in these areas are being subsidized by the rest of us, particularly people with access to reimbursement from the national flood insurance program.
The trolley problem poses the question should we sacrifice the few for the benefit of the many. We reject this line of thinking as all are children of God.
In the traditional capitalist model, those are the same thing.
You used a shit example with the Woolies CEO - he was immediately absolutely reamed on every medium because of the sheer transparency of the stunt - him in his shirt with name tag in an empty shop and then chucking a wobbly when he didn’t like the questions. He blew it and he looked like a tool.

I find the obsession we have with saying we have a problem with success absolutely does not translate to my lived experience here. I see it on the national stage where the moment someone fucks up everyone piles on, but usually they’ve been on a path to being a flog for a long time anyway and they need, at the very least, a reality check.

Think how much better Elon musk’s headspace could be if one person in his circle had told him ‘you are mortal’ regularly along his journey of multiple triumphs
Distro matters a lot for kernel regressions.

I run arch and so I bump into those once in a blue moon but it's rare.

Debian runs older versions so you miss recent bug fixes but at the same time you should see minimal regressions. Pick your poison.

You might be extra sensitive to bugs. I'm that way too but at least I can fix them when I have the source.

I also only use a few apps (Firefox, eMacs, VLC, gimp) and i3 as my window manager. It's been a long time since I hit a bug that actually impacted usability.
In principle you are right, but for some reason there are people who are vocally offended/displeased by the "fuck nazis" slogan. That's weird to me, because as you say this should be uncontroversial and yet here we are having this conversation.

I think this is because this is not actually about the words itself. Similarly, everyone agrees that black lives matter[1], but that words imply a certain political alignment that the person you're talking with may not subscribe. Similarly, by saying "fuck nazis" you will get reactions from people who, in principle, don't like literal nazis too, but feel targeted by that sentence anyway.

Sorry for my rambling thoughts.

[1] as in, nobody sane would unironically agree with "black lives don't matter"
The big, open question right now is how much of the California wildfires is due to climate change and how much is due to aggressive fire suppression over the pas 50+ years.
This works in regular C as sizeof() is a constant expression, but perhaps that was your point?
Thanks for the candid feedback. Yes, this is not for people who has kindle or other ebooks reader, or on Apple's ecosystem (I hear iBook is nice).

Although I prefer audiobooks when on the move but the ability to read offline will be a nice little feature to have. I might implement offline reading in the future....
The Gulf coast is thousands of miles and hurricanes only destroy a few dozen miles of it each year. So the risk management isn't illogical.
Sure, that's possible, and from a cynical perspective seems likely to have happened. But if I was unscrupulous, there seems to be a lot easier paths to money than making a product, offering it for free, and hoping someone will offer to buy it from you to corrupt it.
There’s going to be lots of cleanup that will be paid for by city and state governments because it’s shared infrastructure and they don’t want to leave cleanup of toxic materials to homeowners that might skimp on it so it washes into the sewer system next time it rains.

It also depends on how many houses were insured by the state insurer CalFAIR. It’s over half a century old and has never been bailed out (funded entirely by premiums) but this is the most destructive fire in Calfironia history so we’ll see how well that holds up to this stress test.