Twitter | Search | |
getify
Founder, Teacher, Mentor, JavaScript Theologian, Open-First Developer, Symmathecist in the medium of software. See also:
101,380
Tweets
214
Following
68,202
Followers
Tweets
getify 11h
Replying to @JaKXz92
apparently they felt that twitter thread illustrated me being a bad person.
Reply Retweet Like
getify 11h
Y'all scroll through reddit and randomly find occasional posts like this about you, right? :)
Reply Retweet Like
getify 13h
Replying to @getify
I've refreshed each client's page like 5 times and everything worked correctly each time. So I'm gonna call that a win and check this code in for now and walk away. :) I'm sure it'll be broken later, but I didn't see it fail right now, so I'll pretend.
Reply Retweet Like
getify 13h
Replying to @ravavyr
nobody talks about situations like: "what if the peer connection object just doesn't fire an event?" or "what if the websocket dies in the middle of signaling?"
Reply Retweet Like
getify 13h
Replying to @ravavyr
all the tutorials and sample code out there just assume happy path... which, again, is pretty trivial. nobody talks about all the complex state management you have to do to ensure recovery and clean reload.
Reply Retweet Like
getify 13h
Replying to @ravavyr
yeah, unfortunately, it's pretty unlikely that others can help. this is client code so not open.
Reply Retweet Like
getify 13h
Replying to @ravavyr
there's just so many different states (across 2 clients and the server), managing to detect each state and communicate that to the others, and making sure all 3 then gracefully recover... it's just a nightmare.
Reply Retweet Like
getify 13h
Replying to @ravavyr
currently the initial connection works, but then if i refresh one of the pages, sometimes it reconnects, sometimes it hangs (in different parts each time).
Reply Retweet Like
getify 13h
Replying to @ravavyr
things connect fine. the hard part is making sure that any failure in any of the like 1000 different overall states is gracefully recovered and the whole connection (all 3 ways) comes back.
Reply Retweet Like
getify 14h
Replying to @therealdorin
it's not that hard to get an initial connection bootstrapped. it's really hard to make sure all 3 stay in sync if anyone fails or drops out or refreshes.
Reply Retweet Like
getify 14h
Replying to @therealdorin
it's not really that part of it... I think that part is fine. it's the bigger picture of this: basically, how to ensure that 2 clients + server fully connect (socket and webrtc) and then reconnect cleanly if anyone refreshes or drops out.
Reply Retweet Like
getify 14h
Replying to @ravavyr
keep in mind, I'm already 927 miles down the road of building this solution custom, so it's not really an option to throw away thousands of lines of code (client and server) and switch to some other exotic solution or packaged product, as many suggestions have said.
Reply Retweet Like
getify 14h
Replying to @ravavyr
see the rest of this thread for some details:
Reply Retweet Like
getify 14h
Replying to @therealdorin
yep
Reply Retweet Like
getify retweeted
Chris Heilmann 16h
"So You Want to Run a Developer Conference" via Great insights by Brian.
Reply Retweet Like
getify 16h
that task I mentioned last week that I have been struggling to solve for weeks... still has me beaten. really frustrating and humbling. I don't like facing up to not being good enough to figure it out.
Reply Retweet Like
getify 20h
epsilon ftw!
Reply Retweet Like
getify retweeted
Brian Rinaldi 21h
"Frankly, at times the Apple Card comes across as a parody of an Apple product circa twenty years ago. Relatively mediocre performance, locked-in to the Apple ecosystem, incompatible with standards, but looks pretty. Just don’t hold it wrong." - Nailed it!
Reply Retweet Like
getify 22h
Replying to @BrendanEich @raobit
I wish someone would make a bot that auto-responds to every single tweet/question (and stackoverflow post) about 0.1 + 0.2 != 0.3 (and variants) with info about IEEE-754 and maybe a link to:
Reply Retweet Like
getify retweeted
Adam Argyle Aug 21
this is rad 👍
Reply Retweet Like