skysight-inc/HackerNews huggingface dataset:
> Naive Bayes is also surprisingly powerful for deduplication of large datasets

Thanks for this! I implemented Entity Resolution from scratch 2 years back and was mostly able to do deterministic linkages using identifiers or using TF-IDF on names as a suggestion for human intervention. Will be writing about my learnings in upcoming months [1].

Was mostly looking at research papers before but will take a look at your project - your documentation looks good!

[1] https://www.sheshbabu.com/posts/entity-resolution-challenges...
I have noticed it in both but have been working with json output before function calling was introduced so I have more evidence on that side. The times I have tried to implement it in a function call I was equally unimpressed with it.
They would have. In 2014 when React was new, the obvious safe choices were Underscore or Angular. Maybe Ember if you were clever. React would have been new and required a lot of justification.

Likewise Svelte is mature and well understood enough that like React, enough nobody could get fired for choosing it either.
Ask HN: Effective Learning Strategies?
I know some people who write a question or reminder somewhere and try to answer it the next day, others who use spaced repetition. Even though I don't know if and how effective they are and we should see the output to judge.
Modern diesel engines are often equipped with a particulate filter to catch particles of soot in the exhaust gases. These filters have a self-cleaning regeneration cycle, using the late injection of fuel to pyrolyse the captured soot. This works fine for typical driving patterns with a mix of highway and city use, but if the vehicle is only used for short low-speed journeys, the engine will never get hot enough for long enough to run a regeneration cycle and the filter will clog.
Isn’t the irony of this that LLMs will only have enough training data to generate meaningful code for popular frameworks?

Less popular platforms will get more isolated rather than less as the wave of generated code that “works out the box” only works with stuff like react…
the problem is that every framework comes with only three of the wheels you need, but in each framework the missing wheel is different, so you will always end up "reinventing" a wheel that another framework already has, because if you switch to that other framework, you'll have to reinvent a different wheel instead.

if you don't want to reinvent a feature that another framework has a solution for, then i'll ask you to show that this other framework solves more problems than the current one, and it's worth the cost of switching (or switching back).

but, like you, i don't like to switch to a new framework just because it promises to be better.

i prefer to avoid switching frameworks as long as i can. i'll only switch in a project when i run into a problem that the current framework can't solve at all.
I always remember Scott Alexander's piece about left-wing vs right-wing attitudes, and what seems to define the split:

"My hypothesis is that rightism is what happens when you’re optimizing for surviving an unsafe environment, leftism is what happens when you’re optimized for thriving in a safe environment."

https://slatestarcodex.com/2013/03/04/a-thrivesurvive-theory...

If you're trying to push as many people as possible to a "survive" mentality, I assume a divided and polarised community helps. Others are coming for your stuff! For your jobs, for your neighbourhood, for your status quo, etc. Make out that your opposition is some ultimate evil.

A more diverse political field and different voting system would likely help. Might stop single issues dominating the playing field? Bring back some nuance.

I think it's too simple to say "the media wants sensationalism" because we all collectively favour sensational content. It suits for-profit publishers, it suits politically active people, etc. But we're making it work for them. We can pretend we're above it, but if @dang let through all the Musk threads on HN, many here would turn full-time arguing in them.
It is called the Tail Call Optimization for a reason. /s
Claims that hooks are the baseline and then proceed to explain how they don't understand the dependency array in useEffect huh?

It's fine admitting that hooks are a bit too complex. (don't get stockholm syndromed)
> The root cause of suffering, which is a lack of true knowledge of self and the nature of reality.

It's hard for me to think of any reasonable definitions of "suffering" and "root cause" where this isn't obviously wrong.

> Anything deemed a “conspiracy theory”.

Conspiracy theories have largely merged into a horrible tangle that is legitimately harmful, not just to society but to the people that believe them.

Your implication that they shouldn't be called conspiracy theories is... strange.
i also miss the 90s, particularly the phrack49 era unleashed by aleph1's smashing the stack for fun and profit

maybe with lora and riscv this time will come back

open computers that can talk to each other, jump to an address and execute code

hack the planet
roff was a descendent of TYPESET and RUNOFF; both preceded Unix.

https://en.wikipedia.org/wiki/TYPSET_and_RUNOFF

I would not be surprised if some version / implementation of roff ran on PDP-10 under some OS.
That's a cool project! Are there any performance measurement results?
My Final Take on Gradle (vs. Maven)
Ehhh...it's not like Lenin was much better. As soon as he was in power, he pretty rapidly got to "actually we should do some purges".

The history of Russia is one of an endless parade of terrible leadership which invariably decides that a quick round of death squads will solve all the problems.

Their biggest effect was external: most welfare systems were started in the West in response to the observation that it was a bad look for capitalism if people were starving in the streets, whereas ultimately the USSR liked to pretend they fixed that while just doing it to the Ukrainians, Polish and other Baltic states.
I have to admit I like these meetings. Yes, today I work on an autoscaling runner but tomorrow I'll be working on CI pipelines so it's (mildly) interesting to hear what is going on and specifically what kind of problems my colleagues are dealing with. And, last but not least, usually I can cover a few miles on my stationary bike before the meeting ends.
So about the same time, in college in NZ we wrote a 6800 compiler for an algol like language (fit in 2k, written in assembler), to do bringup (on the university mainframe) we wrote a 6800 interpreter, it wasn't big ~1000 lines (cards), basically just a big case statement - it's not really a major feat, fom memory it took a few days. We called our company uSoft (with a mu), in retrospect it was a stupidly obvious name. Later on we discovered there was a US company using the same name, and they had an interpreter (how lame, we had a compiler).

In retrospect they had a giant market and we were kids at the end of the world, they did a little better than us. Always wished we'd trademarked the name, it would have been worth something
Just got my first advisory...must say looks promising. Good job @spirovskib.
Unrelated AI-generated images make me close a tab so fast.
1. At the time, Orwell was a socialist, not a communist, and perhaps even more importantly, he was fighting against fascism, rather than for communism. You really should distinguish your 2nd and 3rd Internationals.

2. The USSR was definitely founded by Bolsheviks, the leaders of the 3rd "Communist" International. They even went so far as to put the word "communist" in the party's name, and kill dissidents.

3. Anarchism leads to a lawless society in which the strongest will rule. It leads to Dark Ages, as it has done before. It may be moneyless, but it will have very clear class and ownership concepts.

4. "It wasn't true communism". Just like China, North-Korea, the GDR, etc. Sure. If it wasn't true communism, you can draw the historical dialectic conclusion that we cannot reach true communism.
Every dark pattern everywhere was dreamed up by someone with few if any scruples and implemented by someone just following orders, because if they don't collect the paycheck someone else will.
Including Rust folks, if they want rustc to keep going.

Naturally they are free to make Cranelift as good as LLVM, and fully bootstrap Rust instead.
tipping isn’t important in order to get a smile, it’s important because it’s a critical part of their wage. And yeah, if they do their job decently and you take that away, they’ll be upset (as you would too).

It’s a terrible custom in most ways but I don’t think you got a good explanation.
The best trick the devil ever played...
> Java was always conservative on the language front, but much more experimental/state-of-the-art on the runtime one

These two things might not be unrelated; a state-of-the art runtime might be necessary to compensate for weaknesses of the language.

> and that is still true today (e.g. GC-wise no other language is even close to Java’s, and basically every research is against that)

For instance, a language which generates less garbage on the heap (instead of boxing nearly everything) would have less need for an advanced GC.
I don’t know if you actually read the article or not but just to be clear that was not the argument that was made.

It’s not just “not new” it’s considered to be actively worse than all of its peers in terms of things like performance and complexity, it’s actively a very questionable choice in a greenfield project in 2023.
I'm on two instances: the largest one and a specialist energy-related one, and neither has much nastiness going on, at least that I see.

There is some politics, but from people that I have chosen to follow. So if I get bored of the (mainly US) stuff, I can just unfollow or mute.

I've blocked about 2 accounts so far. And even those weren't too bad.
"His" doing a lot of lifting in this comment.

And I strongly disagree with the premise we should let our capitalist and genetic lottery winners solely determine what problems society needs solving.
Ah yes if only they had a survey to ignore instead of loud employee complaints in Slack telling them this would be the outcome. But nah, that’s just the troublemakers. The silent majority of employees love 2h commutes to reset for the work day.
What has tribalism got to do with sexual equality?

Tribalism is a vague term, that describes societies that live in tribe like structures. Modern or ancient. But does not say much about how that tribe is structured.

Also about consensus: I think allmost all states and societies claim they try to find a consensus.
Lit.dev has been nothing but great for me. Strong recommendation.
Best practice in general is not to use either of those hooks unless you notice performance issues, or have a good reason to, React is optimized pretty well and unless there are serious numbers of rerenders happening they aren't noticeable.

Josh Comeau has a nice overview of useMemo and useCallback, one of my favourites: https://www.joshwcomeau.com/react/usememo-and-usecallback/#w...
Nobody said there would be one leader. That's a pretty communist thing to assume.
At least, I find it similar to(or slightly tolerable with images disabled) the previous emoji packed sentence trend.
Canadian government consulting on generative-AI code of conduct
Hooks are a step in the right direction, I just have a feeling that having to wrap in useCallback and useMemo and having to add dependencies manually can't be the final step of web app development. I look into the author's suggestions for the next generation of hook api in other libraries. However, I still don't want to rely on those libraries in large long living projects.
Clarence Avant is featured in the Searching for Sugar Man documentary about Rodriguez, who passed away last week: https://en.wikipedia.org/wiki/Searching_for_Sugar_Man

Netflix link: https://www.netflix.com/za/title/70229213
> The way they can decouple business logic from view logic is absolutely fantastic.

It’s a great idea to decouple business logic from view logic, but then hooks are the wrong place to start. Last time I checked, you couldn’t use them at all outside of a React component. That’s just a terrible place to put your business logic if you want it to be isolated from the specifics of your view.

I’ve mostly moved away from React, so maybe this has changed recently, but it seems difficult considering the fundamentals of their design.
They may have included the effect of black hole evaporation here? Small black holes evaporates much quicker and won't survive.
A well put together article.

I still remember the day when angularjs was a new thing(around 2015 perhaps) and as a newcomer I was sucked into it. Just loved the thing. A year later, there were news about Observable JavaScript objects. So objects could send a notification about themselves having been changed. And when do so, do DOM changes could be done accordingly, without having to implement a render algorithm and having to compare shadow nodes with new render results to see what changed every time any data change occurs.
I don't think we are past that with React, and as the author mentioned there should be absolutely no reason for a developer to worry about rendering performance (the amount you have to use react, with for example useMemo, useCallback) and is something to be looked after and questioned.

Another argument of mine[0] would be the definitions that have been introduced by react. Component, state, hooks. It seems like we have forgotten about what they are actually called, and its function is in the context of programming (functions, variables, events, etc.). And so people become solely a React developer and can't really see a way out. (from the article: "And maybe—just maybe— your current satisfaction comes, at least a little bit, from simply not knowing what you’re missing.")

[0] - https://medium.com/@ngergo/describing-how-react-works-in-com...
If that were the case, I would expect to see an explicit reference to the CGPT version in the introduction, and an explanation as to why the authors chose it for the study.

Instead, the only version information appears to be buried in section 3.1.2 ("ChatGPT 3.5 Turbo API is used").
The point is that the US system, by itself, has no really-strong guarantees against tyrannical rule. The overall political culture of US voters is what produced the results they got, not the system by itself.

This is true in reverse too: for example, Italians have been tinkering with their electoral system for 30 years now, but one way or the other they continue to change their rulers almost every year. Systems can make some mechanisms more or less awkward, but in the end it's the shared political norms that make the real difference.
But that's just replacing one system in the consideration for another. An organization isn't a person, much like a government is. While it might have persistence, it's a gestalt of the individuals fulfilling different functions within it.

The idea that an organization can corrupt a government is just expressing the same issue: the system gets exploited to the extent that exploitation is possible.
Which instance? None of the ones I'm trying are working. Maybe it's regional
Merit? -- maybe. Engineering? -- definitely no. This is why I used this word in the first place.

I mean, I understand this is an attempt at being a snarky remark, but it gets really annoying as a joke that a lot of people repeat to the point they start believing it's true.
The current specifications explicitly avoid calling Virtual Threads fibers exactly to avoid confusion with older implementations of the idea.
I can't believe you all fell for the whataboutism.
I really like the idea! I'm going to sign up for it.
At work, whatever the FE team decides upon, React/Nextjs, Angular and Vue are the only relevant ones.

Privately, I always go with vanilajs.
These businesses that are not unique, not patentable only have scale as their moat. So you want the widest, deepest moat and fill it with customers.

This is the early 2000s and deindustrialization is in full effect. If you want a cheap warehouse near a top tier city they weren’t hard to find. So it’s quite possible a competitor could surprise you and do a 10 city expansion overnight.

Everyone during this time was trying to ape the Amazon model. Which at this point still wasn’t profitable. No one was interested in going slow. Because there were irrational investors just looking to spend money on the next unicorn. If you weren’t taking it your competition would and you would be another dead company on a list.

Trust me, there is nothing rational about how money works. Even the experts who were expecting recession any day now have decided to shut up about it.

In retrospect it’s easy to see why a company failed: no viable plan, burn rate, expensive, etc. But a lot of it is just gambling and luck. We can could have worked. Cosmo could have worked. Yahoo could have bought Google. We’ll never know.
It's always the same. Off with the old. Let's use the new. Or new-ish.

I thought we, as in the community, learned a while ago that was a bad path to go down.

That's why there's a resurgence of old-school (yeah, I know...) frameworks like Rails. Or why things like Laravel and the PHP world keep thriving.

Well, React is old now. We know. It's the Rails of the JS world. And it's plenty good enough.

If you know JS/TS and are comfy in that, just use React. Don't feel bad for not using whatever shiny new thing is trendy now. Who cares.

No one ever got fired for choosing react, as some other commenter said.
> I have a confession to make: I’m still not exactly sure what the difference between useMemo and useCallback is—or when you should and shouldn’t use them—even though I literally read multiple articles on that exact topic earlier today. (No joke.)

> I have a second confession: it’s still not intuitive to me what should and shouldn’t go into the useEffect dependency array, or why...

Come on, this isn't that complicated, I find it hard to take the criticisms seriously when the author hasn't groked React properly.
The problem is that they don't work to fix performance issues unless they're implemented all the way up the tree. So if you have a perf-sensitive view, then you'd better hope that your "application frame" components (or anything higher than the perf-sensitive component in the tree) are optimised to avoid re-renders. And it's a massive pain to retrofit this in later if you haven't been strict with it from the start.
Really? I call. There has to at least be a shade even though I think he was incorrect.

Because otherwise all bosses would be equally shitty and you would not be able to foresee with uttermost certainty how bad people will become shitty bosses when promoted to power.

It is equally obvious in the military how you know who will turn out to be really bad people once promoted to sergeants.
What are the economics of AI?
Well there are some pretty good desktop options that aren't gnome. Maybe without ibm/red-hats finger on the scale well see some other, better, options get more attention.
One at the top is usually fine. Ten or so is a bit excessive.
I found this a frustrating and misleading post:

1. Starts talking about empiricism, does not actually deliver on it

2. Talks a lot about how React-things are old-actually, and then talks about signals and two-way data-binding as if there wasn't a time before React where these things were also pushed. React's non-adoption is not an accident I think, and these kind of posts would be more interesting if they would leave the surface-attacks and actually engage with the philosophy behind React's approach[1].

3. Quoting Alex Russel suggests you are more interested in heat than light (which is what he is known for where I'm from)

4. Distorted guitars are good actually.

[1]: https://gist.github.com/sebmarkbage/a5ef436427437a9840867210...
https://ai.eecs.umich.edu/people/conway/Retrospective2.html#...
has a more technical description of her work on (ie, invention of) out-of-order execution, including a link to this very readable paper:
https://ai.eecs.umich.edu/people/conway/ACS/DIS/DIS.pdf
China Cuts Rate by Most Since 2020 as Economic Woes Deepen
If I thought I could deliver a better product and faster with Haskell, I'd use it.
> Developer experience (DX) shouldn’t ever supersede user experience (UX).

That's a business decision, and not a given
In the rare case that you're interpolating a variable, you'd need to audit it in review. This is similar to carefully auditing the rare use cases of raw SQL expression when using an ORM.
https://archive.is/9zHBu
https://www.youtube.com/watch?v=oMGOm9E-HakThePlanet
It's pretty hard to use Kotlin without co-routines these days. Most modern Kotlin frameworks tend to use them. And they work outside the JVM as well.

Mostly we're talking about Java projects focusing on doing things the Java way that may or may not be using Kotlin for that. Kotlin mobile is unaffected; it won't get Loom any time soon (as far as I know) and things just don't work the same way there. Kotlin (and coroutines) are the go to solution there. I don't see that changing.

And from having used coroutines with Spring extensively, I kind of like it. Works great. Makes everything easier. Especially the unholy mess that is web flux.

There aren't a lot of things that loom does that Kotlin doesn't do already. Green threads. Check. Structured concurrency. Check. At best it will do them a little faster with loom in place, which isn't a bad thing of course. But it doesn't really fix a problem I have. Being able to use threaded and blocking IO things in a non blocking way with no threads is going to be nice. Great if you are stuck with a lot of legacy stuff.

Roman Elizarov addressed a few things regarding Loom at the last KConf: https://www.youtube.com/watch?v=zluKcazgkV4
Dolphin doesn’t aim for cycle accuracy, but it does aim to be as accurate as possible without making performance extremely bad. This philosophy has brought the emulator very far, as relying on game specific hacks means it will be forever limited to a small subset of the game library. The Dolphin devs always try to hardware-verify behaviours when possible. This extends to removing hacks that previously made games playable because it’s much better for code and emulation quality in the long term. If you disagree then you can make your own emulator I guess but it won’t get far
Sure, but not Red hat. Especially now. Maybe pop os?
Microsoft Discloses Codesys Flaws Allowing Shutdown of Industrial Operations
I was under the impression that Google simply latched onto the project? Doesn't Google still use borg to this day?
I did, and the fixation on React’s age struck me. Was it the core premise? No. Was it a central theme? Yes.
On the off chance this is a genuine misunderstanding (which, given you indicated that you understood I was referencing slogans, that cannibalism is a nonsequiter to a discussion of HN's political bias, that my initial response to you contained further clarification I was referencing a political slogan, and that you then peppered me with insults and attempted to bait me into an argument, I don't believe to be the case, but I've been wrong before), here is the misunderstanding:

https://en.wikipedia.org/wiki/Eat_the_rich

> "Eat the rich" is a political slogan associated with anti-capitalism and left-wing politics. It may variously be used as a metaphor for class conflict, a demand for wealth redistribution, or a literal call to violence. The phrase is commonly attributed to political philosopher Jean-Jacques Rousseau, from a quote first popularized during the French Revolution: "When the people shall have nothing more to eat, they will eat the rich".
**m **ad ** **rks **r **u **d **esn't **furiate **u. **r **curity, **ease **ll **e **ssing **aracters ** **ur **nvenience.
I wonder... It's absolutely clear that many hate their long commute. Do they, at some point, start to wonder what went so wrong that many (most?) have such an awfully long commute?