HNHacker News
TopNewBestAskShowJobs

Radim

3,776 karma · joined November 4, 2010

<3 C64

Creator of Gensim open source. Founder at rare-technologies.com. CTO at https://pii-tools.com.

https://github.com/piskvorky/

https://twitter.com/RadimRehurek

submissionscomments
Radim··on Lingua-Go, the most accurate language detection for Go
My experience is the opposite: character ngram models work "OK" on academic tasks and clean corpora. Not so much when unleashed on real data.

By "real", I mean texts in a mix of multiple languages (super common on the web); short texts; texts in a different (unknown) language where ngrams don't know how to say "I don't know" and return rubbish instead; texts in close languages; etc.

Going "deep learning" is not the only alternative. Even simpler methods can work significantly better, while being fully interpretable:

https://link.springer.com/chapter/10.1007/978-3-642-00382-0_...

Radim··on 15 of 23 Monkeys with Elon Musk’s Neuralink Brain Chips Reportedly Died
> ethics in science

You forgot about politics.

From the same article:

> Sanders took this information to General Douglas MacArthur, who was the Supreme Commander of the Allied Powers responsible for rebuilding Japan during the Allied occupations. MacArthur struck a deal with Japanese informants: He secretly granted immunity to the physicians of Unit 731, including their leader, in exchange for providing America, but not the other wartime allies, with their research on biological warfare and data from human experimentation.

Reminds me of present-day Yemen. How many are disgusted by that genocide now, the same way future generations will be by Unit 731?

The "right" political deals were struck.

Radim··on Linear O(N) sorting with Radix Sort (2000)
That article's discussion on HN (6 years ago!) was also quite interesting:

https://news.ycombinator.com/item?id=12383012

Radim··on Linear O(N) sorting with Radix Sort (2000)
There's C++ code included – great! But no actual timings :(

I'd be curious to see a deeper discussion of practical run-times, in actual seconds, relative to other popular sorting algorithms. Especially if driven by a real task with well-motivated problem constraints. (As opposed to "1000 random integers!" micro-benchmarks, or "N goes to infinity" theoretical big-Ohs.)

I personally find practical benchmarks the most exciting. They also help me identify different niches for different algos (caching, locality, array sizes, parallelization…).

Radim··on Royal Society cautions against censorship of scientific misinformation online
Yes, but there is still hope. Not in the current academia (IMO rotten beyond repair) but in human nature.

Because have you noticed how when something "real" hits the science shelves, any honest research grounded in reality and careful thought, it goes like hot cakes? The research doesn't even have to be revolutionary: anything repeatable, or at least sanely executed. The bar is incredibly low.

Everyone is starved for real ideas… or at least real implementations. Anything authentic, in the sea of marketing BS.

Which I find a hopeful sign! As long as that human instinct persists, the truth bubbles up. People still "feel" wrong when lying, which is great. When that stops (a question of culture?), we're in real trouble.

Funny aside: The front page of today's national news: an elected university rector had to step down. Reason? Academic fraud!

https://www.novinky.cz/domaci/clanek/vojtech-adam-rezignoval...

Radim··on Hoare’s Rebuttal and Bubble Sort’s Comeback
Your assertion is contradicted by the article itself, which explains this point clearly. I.e., you're wrong.

Isn't it curious how often people with the most strongly voiced opinions ("bullshit post") are bullshitters themselves? There's some interesting dynamic going on, psychologically.

Radim··on Hoare’s Rebuttal and Bubble Sort’s Comeback
Pierre Terdiman's "Radix sort revisited" for O(N) sorting (linear worst case!), from the same era:

http://www.codercorner.com/RadixSortRevisited.htm

> In every decent programmer’s toolbox lies a strange weapon called a Radix Sort. Where does it come from ? Who invented it ? I don’t know. As far as I can remember it was there, fast, easy, effective. Really effective. So unbelievably useful I’ve never really understood why people would want to use something else. The reasons ? Most of the time, they tell me about floats, negative values, and why their new quick-sort code rocks.

> Enough, I’m tired. Although the standard Radix Sort doesn’t work very well with floating point values, this is something actually very easy to fix. In this little article I will review the standard Radix Sort algorithm, and enhance it.

Radim··on Last living signer of Canadian constitutional charter sues gvt over Covid bans
Here Mr. Peckford discusses his motivation for the lawsuit, as well as its ramifications for the Canadian parliamentary process, in long form:

https://www.youtube.com/watch?v=EdhFuMDLBDM

Radim··on Get to Know the New Topics API for Privacy Sandbox
The noyb guys are simply amazing.

They've also recently challenged Ireland’s Data Protection Commission (!!) for its bribery/corruption [0] in dealing with Facebook's privacy shenanigans [1].

Noyb is tiny but really walks the walk, even against these giants. You can donate to their cause here, they need it: https://noyb.eu/en

[0] https://techcrunch.com/2021/11/22/facebooks-lead-eu-privacy-...

[1] https://techcrunch.com/2021/12/20/facebook-transfers-impact-...

Radim··on Unvaccinated workers who lose jobs ineligible for unemployment benefits (Canada)
> By "way over the top" I meant that your analogy was excessive and distracting.

Nope, it wasn't. See my sibling response to random314.

Just because others cried wolf before, doesn't mean you shouldn't cry wolf when you see one. Indeed you must, given the parent post (detached now, context lost). I didn't draw that analogy out of nowhere – it's apt, and driven by both hard data and curiosity.

Choosing to ignore your "this should not be hard to understand" and "everyone knows" snarks.

Radim··on Unvaccinated workers who lose jobs ineligible for unemployment benefits (Canada)
What can I say. It's your site, your rules.

But I disagree strongly with your "way over the top" Daniel – that's just rude.

Mine was an on-topic factual response, substantiated with relevant links, articulated in a perfectly civil manner. Along with my sibling responses.

I bet you many people were not aware of these facts, or the broader historical context. All perfectly appropriate given the thread topic. I'm kinda sad this information (it really took effort to compile) is now invisible :(

Radim··on Is It Even Worth Working on FOSS Anymore?
But I haven't stated my preference, one way or another :-)

The "bottom" judgement in "race to the bottom" was quoted from the OP.

For what it's worth, I personally contribute or have contributed to open source in all three forms that I identified. And exactly for the incentives listed.

Radim··on Unvaccinated workers who lose jobs ineligible for unemployment benefits (Canada)
Do you contest the timeline I posted? Or the sources about Nazi propaganda methods?

Please do so directly and concretely. If you post in good faith, I'll be happy to engage.

Your glib one-liner adds nothing, throw0101a. It's just a non-sequitur, to score shallow points by a "former speech writer of Bush43".

For others reading along, feeling "But surely this is different!" in their gut like maybe you are, an honest question:

At what point would you go "I'm not OK with actively doing this to a group of fellow humans, no matter how much of a vermin / plague / waste of resources for the society I feel they are"?

If the end of my timeline (Dec 21, 1938) doesn't do it for you – which of the ensuing WW2 years would? What's the line in the sand you would not cross? I realize vaccine passports may not be it for you, that's fine with many – but which of the next (inevitable) steps will be too much?

(Please answer internally, no need to respond to me)

Radim··on Unvaccinated workers who lose jobs ineligible for unemployment benefits (Canada)
It's pretty short-sighted, too.

I was born and lived under one rule of tyranny (communist Czechoslovakia), and the legal & judicial professions suffered tremendously there. In fact, they were among the first to go, replaced by something truly heinous.

Like, what do these judges and lawyers who keep silent expect will happen, once basic civil liberties & human rights are disbanded? (no matter whether disbanded directly or through some bullshit round-about "we didn't kill you, we just hired mercenaries / didn't let you live / work / travel; if you don't like it why didn't you emigrate?")

Radim··on Is It Even Worth Working on FOSS Anymore?
Right, you cut to the heart of things. There is a licensing "race to the bottom" happening. Which makes sense from the demand side (of course people want free). But where does the supply side come from?

Why does the floor keep constantly dropping? Who are these developers, always willing to do more for less?

In my experience:

* Some of it: people who open source their hobby projects. The personal upside of investing resources into open source is fun & practice.

* A lot of it: academia. Universities have an infinite supply of indentured labour in students and postgrads. The personal upside is grades and graduation. The institutional upside is publishing and grant money.

* Lately: large enterprises. These have the resources to throw high quality engineering behind their open source projects (unlike the universities, where quality has always been a struggle, due to tremendous "developer" churn and different incentives). The personal upside is salary; the business upside is $$$ via "commoditize your complements". Added bonus: open source serves as an HR tactic too.

Put together, the demand for the "race to the bottom" is there and so is the supply. And so it happens. The machinery behind "If you don't do it (with a permissive license), someone else will".

Radim··on Ask HN: How can a non-techie mom regain access to her FB account?
Seconded on NOYB. These guys are amazing!

They punch way above their weight in protecting citizens and suing bad actors [0] (actual lawyers)

Did you know NOYB stands for "none-of-your-business"?

[0] https://techcrunch.com/2021/11/22/facebooks-lead-eu-privacy-...

Radim··on Incorrectly deleted from Facebook? Getting back on might take connections
Yes, that'd be me, too.

But how I use Facebook doesn't change my fascination with how others handle (what I'd consider) outright abuse by Instagram. Your implied "sucks to not be able to use it" must be strong indeed for them – way past anything I'd describe as nonchalantly as you did.

Radim··on Incorrectly deleted from Facebook? Getting back on might take connections
I assure you life goes one whether you are on instagram or not.

In fact, many report the quality of their life improved upon leaving (even in this very HN thread).

Regarding top-down regulation: not nearly as effective as aligning incentives bottom-up. People waking up and taking care of themselves, both physically and mentally. Which is the part I found so fascinating in lelandfe's ordeal – I'd have flipped out after the first instance of such abuse. Never mind coming back for more, 8+5 times. The individual self seems dissolved, domesticated. "Why does the shepherd hate me?"

Radim··on Incorrectly deleted from Facebook? Getting back on might take connections
And yet you keep coming back? Fascinating.

Of course I don't know your motivation, but your description sounds like some variant of the Stockholm Syndrome – an extreme form of domestication, an unwholesome dependency. Are these social sites that much a part of your identity?

Radim··on Ask HN: My client want an agent on my laptop. Is this the new normal?
Because people need money to pay bills. And it's a sad fact that companies who do shady shit tend to have more money. Simply because they outcompete companies who don't, all else being equal.

Tugging against this evolutionary pressure is really hard, not only for individuals but also on the society level.

"Just quit LOL!" is a commendable act of grassroots activism, but not everyone is able (or willing) to afford such luxury.

Radim··on Faiss: Facebook's open source vector search library
Sounds about right.

I like how you tested "query multiple vectors at once". Super useful when documents can be batched, for increased throughput. If I'm reading your benchmark correctly, Faiss brute-force can do a batch query of 10,000 vectors in ~19 seconds => 1.9 ms per vector.

That's pretty cool – and more than 130x faster than querying those 10,000 vectors individually, one by one.

Radim··on Google says employees flouting vaccination rules will eventually be fired
> Note that public health system is for free.

In my country (also EU) the public health system is most definitely not "free". It is paid for by a universal tax called (insidiously and inaccurately) "health insurance".

> There's lately though talk about unvaccinated COVID patients bearing the cost nonetheless.

Calls for true insurance (individualized, based on actual health and habits) are completely infeasible for political reasons.

What I can see happening is the existing mandatory health tax PLUS extra payments for non-grata groups. Some constitutional changes may be needed, but since all the right people would profit (extra $$$), that's just a technical detail in this day and age.

Radim··on Google says employees flouting vaccination rules will eventually be fired
Isn't this the same argument as "The government is not allowed to censor free speech – but nothing stops it from colluding with / coercing private companies to do its dirty job"?

It is puzzling that such "bypass of privacy / speech rights" was ferociously resisted by the some of same people who now applaud the "bypass of medical / physical integrity rights". Hey look, it's not us doing the violence and suspending basic human rights – it's the private companies!

I guess people need to see how this ugly pattern plays out in full, again. I anticipate a lot of future "How could they let this happen?" and "Nobody could have foreseen this!" as well as the sad classic, "Is there no one left to stand up for me?".

Radim··on Faiss: Facebook's open source vector search library
I've built a few vector search engines too, so this was an immediate red flag: "Brute force takes 12 seconds / query on 1 million vectors of 768 dim".

No, a sane brute-force search (via BLAS) that size should be a ~200ms / query. I.e. SIXTY TIMES faster!

If they (Faiss?) got this wrong, what else did they get wrong?

I understand researchers want to showcase their "best and fastest" approach, so they fudge the baselines. Approximate search can be genuinely useful – orders of magnitude faster than (even non-fudged) brute force, and using less RAM too.

But as a user, tech stack complexity is also a consideration. Because the trade-off is not only "speed vs accuracy". Brute force is a trivial algorithm, easy to implement and maintain with no corner cases. It has completely predictable data access patterns (linear, sequential, fixed response time, 100% accuracy). It supports operations (update, range, dynamic k-NN) that complex indexes struggle with.

So if your dataset is tiny – and anything under 1 million counts as tiny – do you really need to maintain an external dependency of fancy data structures and approximate algorithms?

Radim··on You Can't Buy Integration
Yes, but you can buy repeated interactions. What's the actual difference then?

IMO it's down to arguing semantics about how "tight" is the causal chain between the cause and effect.

Do you perceive the cause (repeat buying) and its inevitable effect (caring) as sufficiently distinct in time and space? Then I guess you didn't buy the caring, you "built it through repeated interactions".

I personally see that boundary as mostly linguistic, and tend to not draw the distinction.

Radim··on You Can't Buy Integration
This is true prima facie, as a snapshot of "caring".

But prolonged exposition and mutual relationships (even ones kickstarted by selfish, careless objectives such as "Pay me!" or "Go to war for me!") necessarily lead to intertwining of identities. And once you consider something (or someone) a part / extension of yourself, caring follows.

In other words, given enough time and substantial interaction, the lines between "you" and "me" blur. That's just a biological (physical?) observation; cf. parasites and symbionts, nation building, product marketing, leadership…

Of course it's a scale, not a binary care / don't care. A doctor may care very little about a celebrity he knows he'll be interacting with for a year or two, max. But family doctors still exist, too.

Radim··on Django 4.0
Yes, I do. But it turns out that their issue is pretty much always only tangentially related to Gensim (or any other open source library / technology). They're solving a business problem. That's what brings them money, with which they pay me, and I acknowledge that.

This leaves me with two choices:

1. Help narrowly, with the Gensim part only. Pros: easy for me. Cons: doesn't truly help the customer; feels dirty.

2. Help solve their actual business problem. Even if it means not using ML at all (a very common outcome), or suggesting a different architecture.

In my experience, most companies are so lost as to what to expect from ML, or how to get there, that I didn't feel comfortable with the "narrow" help. Lipstick on a pig.

So I went the full consulting route for a few years. But that felt too draining so I dropped it and created a product instead.

Radim··on Django 4.0
I sometimes get these almost angry emails about Gensim, my open source library. How come I'm not responding faster, merging PRs, fixing issues? For this critical popular project??!

Meanwhile, sponsorships are at 13% of the (not terribly ambitious) goal of $6k/month [0].

Yeah, that's why.

[0] https://github.com/sponsors/piskvorky

Radim··on Facebook’s lead EU privacy supervisor hit with corruption complaint
The Irish DPC seems truly out of line. Highlights:

> noyb is making the complaint under Austrian law — reporting the Irish regulator to the Austrian Office for the Prosecution of Corruption after the DPC sought to use what noyb terms “procedural blackmail” to try to gag it and prevent it from publishing documents related to GDPR complaints against Facebook.

> The regulator has also demanded noyb remove documents it has previously made public — related to the DPC’s draft decision of a GDPR complaint against Facebook — again without clarifying what legal basis it has to make such a demand.

Or just business as usual?

> noyb has previously accused the DPC of holding secret meetings with Facebook around the time it came up with the claimed consent bypass and just as the GDPR was about come into application — implying the regulator was seeking to support Facebook in finding a workaround for EU law.

> The not-for-profit also warned last month that if Facebook’s relabelling “trick” (i.e., switching a claim of “consent” to a claim of “contract”) were to be accepted by EU regulators it would undermine the whole of the GDPR — making the much lauded data protection regime trivially easy for data-mining giants to bypass.

By the way, NOYB are a non-profit. You can support them here: https://noyb.eu/en

Radim··on Accepted and ghosted: interviewing for a leadership position at Stripe
What you do and whether you "run away" or "close business" is up to you. But likewise, what other people do is up to them – how would you impose your choices and preferences onto others?

You're able to do that only to the degree that you hold power over them. That is what "power" is.

Which is precisely what is being discussed here. Not the personal preferences and animosities of human X (Radim, repomies69, whoever), but how social interactions evolve over aeons. It is a pretty complex dynamic system with feedback loops that span individual interactions (the repeated prisonner's dilemma from my OP), generations and even civilizations.

Let me try another way: You can be perfectly happy with your strategy Y and die content you did what you thought was best. In fact, it's probably the best anyone can hope for. Alea iacta est.

But if you're the last person believing Y, that strategy dies with you. It is not a personal attack on you to observe that there are people who do not follow Y, and evaluate relative merits of strategy Y vs Z. You can wish everyone followed Y (was more like you), and still do that.

Interestingly, lashing out at people who observe other strategies than Y even exist is a strategy in itself. Proselytizing, ostracizing and zealotry are a form of social pressure, and humans evolved to be quite susceptible to that.

On a technical note, "if A then B" is an implication, a form of logical reasoning. An implication doesn't mean that A is true, or that the person proposing the implication believes A (or B). For example, you could say "if everyone is dead, money will be worthless". An implication is an observation about relationships, trying to make sense of the world.

← PreviousPage 4 of 29Next →