Hacker News new | past | comments | ask | show | jobs | submit | yurivish's comments login


I also emailed Gonzalo Navarro once to ask a question, and we had a great discussion and ended up writing a paper together about the answer. [1]

Another paper of his that I really like combines a few elegant ideas into a simple implementation of bitvector rank/select: https://users.dcc.uchile.cl/~gnavarro/ps/sea12.1.pdf

During this time I got really excited about succinct data structures and wrote a Rust library implementing many bitvector types and a wavelet matrix. [2]

My interest came from a data visualization perspective -- I was curious if space-efficient data structures could fundamentally improve the interactive exploration of large datasets on the client side. Happy to chat about that if anyone's curious.

[1] Paper: https://archive.yuri.is/pdfing/weighted_range_quantile_queri... though it's pretty hard to understand without some background context. I've been meaning to write a blog post explaining the core contribution, which is a simple tweak to one of Navarro's textbook data structures.

[2] The rust version is here: https://github.com/yurivish/made-of-bits/tree/main/rust-play... and an earlier pure-JS implementation is here: https://github.com/yurivish/made-of-bits/tree/main


Reading a Gonzalo Navarro paper is like going for walk, taking a shower and having a wonderful coffee. It literally sets the mind on fire.

https://dblp.org/pid/n/GonzaloNavarro.html


Well not literally.


Many dictionaries now list one common use of “literally” as meaning “figuratively, with emphasis”. So literally officially sometimes now literally means figuratively.

I suspect some people are literally having conniption fits about this…


I’m sorry, but your comment mixes two different types of dictionaries. You talk about “official” meanings which would be a prescriptive dictionary telling you the way you are allowed to use a word. But the dictionaries that include “figuratively” in their definitions are clearly descriptive, presenting all the ways words are commonly used.

You can’t take a descriptive dictionary and then claim it is prescriptive.


There are no prescriptive dictionaries, at least not correct ones, for living languages.

IIRC both the OED and CED list figurative uses for the word, do you know any publications considered more authoritative than those for English? Webster too, for those who prefer simplified English.


I think French has prescriptive dictionaries (to varying degrees of success)


They have Académie Française which intends to control the language to an extent, in recent times focussing a lot on resisting then encroachment of English word and phrases, but IIRC their recommendations don't carry as much weight as many think and are often ignored even by government departments and other official French bodies.

The Académie do publish a dictionary every few decades though, there was a new edition recently, so there is a prescriptive dictionary for French even though it carries little weight in reality.

French is the only living language to attempt it to this extent, though the existence of one is enough to make my “there are none for living languages” point incorrect. It is difficult to pin a language down until no one really speaks it day-to-day (so it doesn't evolve at the rates commonly used languages do).



Very few of those have official force or cover much more than a subset of language properties (i.e. spelling rules), but definitely more than the "none" of my original assertion.


"prescriptive" does not mean "have legal force" though...


> There are no prescriptive dictionaries, at least not correct ones, for living languages.

there are no 100% correct descriptive dictionaries. Any prescriptive dictionary is automatically correct.


> Any prescriptive dictionary is automatically correct.

… in the view of their compilers.

I could write a prescriptive dictionary far more easily than I could get others to accept it as correct.


If you write a prescriptive dictionary it is correct because you are dictating the norms not describing what is real.

Yes you would have to be involved with a regulatory institution first


Right, just like every law is automatically just. /s


If it's not just then change the law!


The Duden is prescriptive for German AFAIK.


Isn't this more of a cultural thing, that Germans seem to agree that it is authoritative and use it as a reference?

I'm not sure what would even make a dictionary prescriptive other than an explicit declaration that it is so or, ridiculously, a law declaring the same.


I'm sorry, can you point to such a prescriptive dictionary? People can talk however they please, and dictionaries are tasked with keeping up with the vernacular.

The "literally" ship sailed centuries ago. Sorry, but that battle has been lost. Even so-called "prescriptive" dictionaries would be categorically incorrect if they ignore nearly three centuries of common vernacular.


There aren’t prescriptive dictionaries for (American, at least) English.


But “official” is defined in descriptive dictionaries to include descriptive dictionaries.


Well, literally doesn't mean literally anymore--literally.


It never has, it always will. We've already lost a host of words that meant "I'm not exaggerating, I actually mean it": "really", "very", etc. I'm going to keep up the fight.


Since there are _literally_ people who use, and have been using for a while, the word without the same exact meaning as we both agree on... well.

Having said that, I will join you in this fight.

See also: exponentially.


Language is defined by its speakers, as basically a "vote". I'm going to keep voting for "literally" meaning "this actually happened" as long as it's practical, because 1) there are dozens of other ways to emphasize something 2) we need some way to say "this is not an exaggeration".


“Exponentially” and “quantum” are the only language hills I’d die on.


Why a quantum leap isn’t the length of an Ångstrom will always sadden me. I’m sure there are other scientific concepts you can use to describe a Great Leap Forward…


I think the Quantum Leap expression can also be understood as a "step" with no intermediate stages, i.e. very abrupt or transformative.


The moreso that those things don't even figuratively set my mind on fire.


What about metaphorically?


the "technical note" link in the RLE bit vector section of the rust repo is broken (https://yuri.is/pdfing/weighted_range_quantile_queries.pdf 404s)


oh wait nvm just realised you linked a working archive link in your post... still worth updating the link in the repo for people who stumble upon it


Fixed, thanks!



Looks as though it's not currently in effect, however?

https://github.com/lobsters/lobsters/issues/761

What a trite cat-and-mouse game, though at least it's entertaining to watch them try.



I totally remember that post. I think I spent 30 minutes just clicking around on it back then. Very nice.


Good point, that's worth emphasizing in the post – I added a section about it with reference to the paper (& to your comment).


Hi Charles, this is my fault for missing the attribution – I'm very sorry.

I've just added a credit to you and your repository (see the second sentence).

I had put together this minimal example based on your repository together with a StackOverflow answer containing the build command (https://stackoverflow.com/questions/68476647/errors-with-com...).

Being just a single file with a simple build command it seemed like a minimal advancement on the state of the art, so I quickly decided to publish, and did not appropriately credit the original as I should have. I hope you can accept my apology – this was an honest mistake.


No problem Yuri, thanks for the credit and the apology! I do recommend writing articles based on doing the thing from scratch yourself though as you can write something more nuanced and interesting that way.


See also: http://sqlime.org

Which is another nice WASM-based browser SQLite user interface.


> ... another nice WASM-based browser SQLite user interface.

Thank you for pointing that one out. Every conceptually similar project is a great source of ideas. sqlite's fiddle app is literally less than 2 weeks old so still has lots of room left for feature creep ;).


That's really interesting! Could you say more about the job-like aspects of having users? Do you have advice on infrastructure that could be built to make the job easier?

I'm currently working on my first-ever side project with user accounts, and now I'm wondering what I'm in for. :-)


For me it's about the moral responsibility. If people are trusting your site with their data, you have an obligation to keep it running, and to keep it secure. This is a big responsibility! Especially since over the long-term the vast majority of projects eventually cease to exist.


In addition to user PII responsibilities, you may also be responsible for user generated content depending on where you live. Both real users and bots will inevitably submit nefarious material on your servers.


Not OP but if you have user accounts you suddenly have legal responsibilities (in Europe) to follow GDPR rules etc…


The easy solution there is to just ban European users if it's just a hobby project and your concerned about that. Probably not the solution that GDPR would prefer.


And if your users are Europeans?


That's not as easy a solution as it appears - the GDPR isn't the only piece of personal data legislation in the world. If your strategy is to keep track of all the places that place responsibilities on you for collecting personal data and reject users from those locations then, you need to be looking at every state in the USA (Californian citizens have a consitutional right to privacy), and many countries across the world have various data protection laws.


Thanks! I've used it when the data is itself binned frequency data, which is one way to reduce data volume (e.g. binning 2 weeks of minutely time series data into (hour, percentile) buckets and plotting them as weighted points).

When the number of the bins in the data is not an exact integer multiple of the number of bins in the histogram, adjacent data bins can get mapped to the same histogram bin, resulting in e.g. 2x the data volume in some rows/columns of the histogram.

When a bit of loss of fidelity is acceptable the two solutions I've used are to render the histogram at an exact factor of the number of data bins then set the canvas dimensions to the desired size (relying on the browser to downsample the resulting image), or to use `max` as the reduceOp and render the histogram directly at the intended size.


This page was specifically created as a library example. Here's the full collection: https://observablehq.com/collection/@twitter/density

If you're interested in the technique behind the plot you can read more about how that works in this paper: https://arxiv.org/abs/1808.06019


Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: