Y
HN Search
Hacker News Search
new
|
comments
|
top
|
jobs
eieio
searching PlanetScale…
1.
▲
2.
▲
3.
▲
4.
▲
5.
▲
6.
▲
5 ms
·
31.
▲
by
eieio
10mo ago
ah this is great, thanks dan!
32.
▲
by
eieio
10mo ago
I've been playing with multiplayer games that run over SSH; right now I'm trying to push the framerate on the games as high as I can, which is what got me thinking about my networking stack. I mostly use go these days for the back
33.
▲
by
eieio
10mo ago
Oh! Thank you for this! I love Julia’s writing but haven’t read this post.
34.
▲
by
eieio
10mo ago
I found this article while debugging some networking delays for a game that I'm working on. It turns out that in my case it wasn't TCP_NODELAY - my backend is written in go, and go sets TCP_NODELAY by default! But I still found
35.
▲
It's Always TCP_NODELAY
(brooker.co.za)
491 points
by
eieio
10mo ago
|
179 comments
36.
▲
Are Two Heads Better Than One?
(eieio.games)
2 points
by
eieio
10mo ago
|
0 comments
37.
▲
by
eieio
1y ago
Yeah the big race here is that you've made a move (which might not be valid) and you're waiting on a response for that move - and you can receive other moves while you're waiting. I don't think requesting a new snapsho
38.
▲
by
eieio
1y ago
FWIW (I'm the author) my creative output was ~0 while I was working a 'normal' job. I worked really hard and didn't have much energy for tech stuff outside of work (especially since I wanted to live a life that included
39.
▲
by
eieio
1y ago
One million radio buttons exists! https://omrb.olivia.website/ I think the research on progress bars and what makes users feel good is super interesting. But I also think "basically instant" is a good thing to aim
40.
▲
by
eieio
1y ago
Ha, yes, I was absolutely in the red a decade ago when I got sober. A huge congratulations to you - 11+ years is incredible (I'll be at 11 in 5 months!). It really is crazy how things can turn around.
41.
▲
by
eieio
1y ago
I thought about not pushing snapshot/move data over websockets - one of the systems-y friends I ran my architecture by brought this up while I was speccing the site out. You can't really put move batches on disk and have clients g
42.
▲
by
eieio
1y ago
Hi! I'm the guy. I have the savings to not worry about monetizing anything for a while. So I don't monetize my stuff. It's freeing and kinda fun!
43.
▲
by
eieio
1y ago
looks good for me on mobile now!
44.
▲
by
eieio
1y ago
I think you just need to add "playsinline" to your videos so that they play inline on mobile devices instead of fullscreening. <video autoplay loop muted playsinline> instead of your current <video autoplay
45.
▲
Every 5x5 Nonogram
(pixelogic.app)
175 points
by
eieio
1y ago
|
86 comments
46.
▲
The Screamer – A yell-on yell-off light
(rulethepla.net)
35 points
by
eieio
1y ago
|
15 comments
47.
▲
by
eieio
1y ago
I'm using a moderately beefy server but I don't think I've hit double-digit CPU usage; this could have run on a much smaller box
48.
▲
by
eieio
1y ago
The rate limits aren't that aggressive and have a decent amount of burst, you can get about 10 moves done in 1 second before you hit them and start getting throttled[1]. And of course you can run multiple clients (I account for this to
49.
▲
by
eieio
1y ago
these days I mostly use vscode / cursor, although I still really like vim and use it for languages that I know really well (mostly python these days) and quick edits. I spent much of my professional career at Jane Street Capital, which
50.
▲
by
eieio
1y ago
Hah, yes, but for testing I removed all my rate limits so I pushed 1 million moves in 2 or 3 seconds, whereas now I think I rate limit people to like 3 or 4 moves a second (which is beyond what I can achieve on a trackpad going as fast as I
51.
▲
by
eieio
1y ago
oh this is a pretty fun idea! If I decide to keep this one around for a bit maybe I'll play with doing this after wiping the board
52.
▲
by
eieio
1y ago
I didn't like the idea of a queen on one board capturing the king on another board as her first move. And then I tried this rule and thought it created really fun counterplay when you're trying to capture a piece someone else is c
53.
▲
by
eieio
1y ago
fwiw I think the biggest single trick there is to group IPV6 addresses at the /48 or /64 level before applying rate limits (you can rate limit IPV4s on a per-ip basis). It's kind of annoying and expensive to get a bunch of IP
54.
▲
by
eieio
1y ago
I have had some success on Hacker News with similar games before[1]! But I'll certainly do a proper writeup of the tech behind this one because I think it's pretty neat. [1] https://news.ycombinator.com/item?id=408
55.
▲
by
eieio
1y ago
Ah thank you dang! I meant to submit a Show HN for this one with a little context/a few technical details, but someone beat me to submitting the link. So this is perfect :) (and thanks, I'm in no rush!!)
56.
▲
by
eieio
1y ago
So sometimes I don't test these projects that much but I did this time. Here are a few thoughts: My biggest goal was "make sure that my bottleneck is serialization or syscalls for sending to the client." Those are both things
57.
▲
by
eieio
1y ago
Ah yes good question! Here's some context for you. First off, the way moves work: (edit: I realized I didn't answer your question. If we receive a captured for a piece we're optimistically tracking that always takes preceden
58.
▲
by
eieio
1y ago
Yes exactly! My goal with the board architecture was "just be fast enough that I'm limited by serialization and syscalls for sending back to clients" and go made that really easy to do; I spend a few hundred nanos holding the
59.
▲
by
eieio
1y ago
Ah hello! I made this :) My blog describing it is pretty sparse, sorry about that. Happy to answer any questions that folks have about the architecture. Not that it was necessary, but I got really into building this out as a single process
60.
▲
by
eieio
1y ago
I'll certainly open source the code! I just want the flexibility to change my rate limiting logic in the short term to counteract abuse. Happy to answer questions though!
More ›