I've spent a lot of time wrapping my head around monads; whenever I thought I "got it," I would come across some exotic monad that completely blew my mind. The best way to understand them is not to rely on analogies but just follow the rules—everybody says that, but it took me a while to truly realize it.
I tried understanding the rules but actually using it helped me to get it. Especially when I was using a parser combinator to parse a programming language.
In a lot of these there could logically be someone sitting across from them making them laugh, but the woman with the cherry tomato in her fingers is just smiling for the love of the salad.
That can be automated quite easily these days. Just make your bot/scraper scan for anything that blames something or otherwise fits narratives that can be used as a vehicle of your own promotion, and hit that.
P.S. Not necessarily implying that the grandparent resorted to that.
I absolutely adore it when stumbling occasionally upon great musicians who have laughable numbers of listens on various platforms, dunno if that's mere chance or the algorithm trying to balance things out, but that surely brings some hope for the pure art.
You wish. It is becoming harder every day to find genuine comments or technical insights at the top of HN sections instead of blind love/hate for trendy topics.
Even among the "genuine" comments most of them are just people spewing things because the monkey brain has determined that it likes it when the number in the top right goes up and has figured out what kind of things to spew to make it go up (dare I say encouraging this state of affairs is the reason some platforms choose to keep score in such a manner).
Does it really matter whether you're reading something written by an AI shill, a human shill or a human (or AI) who's repeating the shillery? You're being shilled at all the same.
I'm pretty sure it's based off of the configuration in the green gear in the top right of the iframe. You can inspect the ways it's calculated from karma, comments, etc etc
If you look at the config it's based on karma, comments, submission rate, comment rate (optional), and account age (that is, if you trust it actually uses the config how it says)
There are some high karma accounts which make a great contribution, and others which ... don't. I'm doubtful whether karma or account age has a significant signal beyond anti-spam.
But it would be useful to know if I had up/down voted them significantly in the past.
The only thing karma reliably indicates is participation over time, the signal is too noisy for anything else. If anything high karma should be a red flag. The very best contributors here rarely comment because they have better things to do. It shows an 8/8 score for me and I doubt anyone would consider me a top tier high quality contributor.
A plugin like HN Comments Owl would be more useful IMHO.
As if to demonstrate my point, two high karma accounts have down voted my suggestion that karma is meaningful. Naturally they are too craven to enter the field.
Pretty cool to have a first-class tracing mechanism. Obviously... it's a monad! Haskell has had a MonadTrace monad for a long time, that can be switched on or off depending on your environment.
The big reason is that H3 is data independant. You put your data in predefined bins and then join on them, whereas kd/r trees depend on the data and building the trees may become prohibitive or very hard (especially in distributed systems).
I think the key is in the distributed nature, h3 is effectively a grid so can easily be distributed over nodes. A recursive system is much harder to handle that way. R-trees are great if you are OK with indexing all data on one node, which I think for a global system is a no-go.
This is all speculation, but intuitively your criticism makes sense.
Also, mapping 147k cities to countries should not take 16 workers and 1TB of memory, I think the example in the article is not a realistic workload.
To add to sibling comment, if you have streaming data you have to update the whole index every time with r/kd trees whereas with H3 you just compute the bin, O(1) instead of O(log n).
Not rocket science but different tradeoffs, that’s what engineering is all about.
How do you join two datasets using r-trees? In a business setting, having a static and constant projection is critical. As long as you agree on zoom level, joining two datasets with S2 and H3 is really easy.
This data is indeed not irregularly distributed, in fact the fun thing about geospatial data is that you always know the maximum extent of it.
About your binary tree comment: yes this is absolutely valid, but consider then that binary trees also are a bad fit for distributed computing, where data is often partitioned at the top level (making it no longer a binary tree but a set of binary trees) and cross-node joins are expensive.
I've spent a lot of time wrapping my head around monads; whenever I thought I "got it," I would come across some exotic monad that completely blew my mind. The best way to understand them is not to rely on analogies but just follow the rules—everybody says that, but it took me a while to truly realize it.
See, for example, the Tardis monad or the Cont monad: https://www.reddit.com/r/haskell/comments/446d13/exotic_mona...
reply