HNHacker News
TopNewBestAskShowJobs

samwho

1,463 karma · joined June 25, 2011

I write interactive visualisations of programming topics at https://samwho.dev
submissionscomments
samwho··on Latency numbers every programmer should know
What aspects of this are unreadable? Is it all a bit too big? Does there need to be a way to identify the columns after they’re off screen that doesn’t involve tapping on them again?
samwho··on Latency numbers every programmer should know
The table already exists, it’s linked to on what I made. I wanted to try and remix it a bit :)
samwho··on Latency numbers every programmer should know
1. I didn't expect people to have such a negative reaction to sideways text. It doesn't bother me personally, but it seems some people really can't work with it. I'll likely avoid it in everything else I do going forward.

2. I feel a big part of the problem here is that it's not obvious how to get it back once it's gone. I could certainly try making the text visible after the bar is gone.

samwho··on Latency numbers every programmer should know
If you're willing, I'd love a screenshot of what you see on a 4K 32-inch screen. You can find my contact details on my homepage.
samwho··on Latency numbers every programmer should know
Do you think it would look better done vertically and scroll down?
samwho··on Latency numbers every programmer should know
It always frustrated me a little that it's hard to use on mobile, so I had a go at making something a bit different. Did my best to give credit to Colin. :)
samwho··on Latency numbers every programmer should know
It's a remix of something from quite a long time ago by the same name. There's another comment in here somewhere that links to the full lineage.
samwho··on Latency numbers every programmer should know
I didn't spend quite as long on this as I would my "proper" posts, so I completely agree the interface could be better. To help me learn and get better at this, I'd love to hear what you specifically had problems with trying to use it <3
samwho··on Latency numbers every programmer should know
The bar represents where I would put my 1Gbps network in 1980, if I had one.
samwho··on Latency numbers every programmer should know
If you tap above a bar you can make them larger again. The bars are scaled to always stay relative to each other, the point is that you can explore back and forth to see the relative time it takes to complete various operations for a computer.
samwho··on Latency numbers every programmer should know
I appreciate the feedback! I'm trying to get better and comments like this genuinely help.

Are you reading on a landscape tablet? I know the sizes of stuff are wrong on that form factor. Desktop and mobile shouldn't have the first couple of bars obscured.

The sideways text is meant to be a subtle nod to the fact the page scrolls sideways, but I agree it's not as nice to read as it would be were the text the right way around.

samwho··on Latency numbers every programmer should know
That's what I guessed, too. It almost certainly hasn't stayed constant over the last few decades.
samwho··on Latency numbers every programmer should know
It is indeed a year. The latencies are based on the calculations done by Colin Scott in https://github.com/colin-scott/interactive_latencies and support projecting out into the future. Sorry it's not as obvious as it could be.
samwho··on Latency numbers every programmer should know
I made this! Happy to answer any questions.

Can’t stress enough how grateful I am to Colin Scott for doing the work and open sourcing the calculations for the latencies over time.

samwho··on A visual interactive guide to Bloom filters
One of my reviewers suggested covering these too but they felt a little more complex than I wanted for the post. They are cool, though!
samwho··on A visual interactive guide to Bloom filters
They’re also using PixiJS. The code for them is here: https://github.com/samwho/visualisations/blob/main/bloom-fil...

Glad you like them, they were hard to get right :D

samwho··on Atuin – Magical shell history
For me, syncing across machines and other shell sessions was enough to justify shelling out the $0 and 5 minutes it took to install and learn the tool.
samwho··on A visual interactive guide to Bloom filters
https://pixijs.com/ and https://gsap.com/. All of the source code for my posts can be found at https://github.com/samwho/visualisations :)
samwho··on A visual interactive guide to Bloom filters
I read your mind.
samwho··on A visual interactive guide to Bloom filters
I can’t remember the name but I remember reading about a bloom filter variant that does this. :)
samwho··on A visual interactive guide to Bloom filters
Wow, this is extremely cool! Thank you for sharing.
samwho··on A visual interactive guide to Bloom filters
Ooh that sounds fun.

Something I spent time thinking about, but wasn’t able to find a huge amount of information on, is how you could use compression alongside bloom filters. You could make enormous bloom filters that make use of run length encoding or sparse bitmaps. You sacrifice insert and lookup speed but you could make enormous bloom filters this way.

samwho··on A visual interactive guide to Bloom filters
Midjourney! The prompt for the puppy with his head cocked to one side was: “playful happy cartoon huskie puppy asking an insightful question looking at the camera, question mark above, muted colors, block print.” Never could convince the model to give me that question mark.
samwho··on A visual interactive guide to Bloom filters
On top of those, the Wikipedia page also has a list of examples: https://en.wikipedia.org/wiki/Bloom_filter#Examples
samwho··on A visual interactive guide to Bloom filters
Thank you, ctxc! Topic is decided but it's going to be a tricky one to get right, so it's a few months away at least I'm afraid.
samwho··on A visual interactive guide to Bloom filters
Thank you!
samwho··on A visual interactive guide to Bloom filters
Thank you!
samwho··on A visual interactive guide to Bloom filters
i-just-think-they're-neat.gif

Have loved bloom filters for a long time. If probabilistic data structures that make use of hashing are your thing, you should also check out: https://djhworld.github.io/hyperloglog/

samwho··on A visual interactive guide to Bloom filters
This is really reassuring to hear, thank you! I make sure my posts are reviewed by people with a range of experience and familiarity, without them the posts wouldn't be as accessible as they are. I'm glad this is working. :)
samwho··on A visual interactive guide to Bloom filters
I didn't, it is AI generated. I wasn't sure if I'd re-use them after the Memory Allocation post, but they've proven to work really well and people like them. I've been considering getting proper, consistent sets commissioned. One of the things I want to do in future is make it so you can pet them, which could require some animation work. Open to artists reaching out to me about this. :)
← PreviousPage 6 of 10Next →