We'll be talking about new/exciting things going on in the industry. If you have something you think we should mention, feel free to tweet us @DenverScript (https://twitter.com/denverscript).
Shorter Presentation(10 - 15min):
React Fragments: the end of the wrapper div - Ken Hoff
In React v16.2.0, we got a fun little feature called React Fragments, which allow your React components to return an array of elements without using any type of wrapper elements. We'll chat about how to use them, why they exist at all, and some situations (hint: CSS Grid) where they really come in handy.
Ken Hoff builds personalized and scalable activity feeds a developer advocate at GetStream.io. He's a big fan of building dumb fun web stuff, wrenching on rusty old cars, and staring wistfully into the rain while drinking coffee and listening to chillhop.
Longer Presentation(20 - 30min):
P2P game built with JS & WebRTC - Sienna Wood
Peer-to-peer architectures offer several intriguing advantages over the client-server model, but they also bring challenges. Ouroboros is a real-time, fast-paced, in-browser, peer-to-peer snake game that was created to explore solutions to the challenges of P2P gaming. Peer connections are established over WebRTC, and data is exchanged between peers using an unreliable, UDP-like protocol. To ensure eventual consistency of game state among peers, our game utilizes a state-based, conflict-free replicated data type (CRDT). Users broadcast snapshots of their local state to peers, who incorporate these snapshots into local data structures with a merge function that is idempotent, commutative, and associative. Our fast-but-unreliable transport protocol guarantees neither packet delivery nor packet order, so peer messages necessarily include data redundancy, making our CRDT a variation of a Delta CRDT. We further adapt our CRDT for our use case by purging old data, which can introduce discrepancies across peers but only in data that is no longer relevant to gameplay. Local predictions improve user experience when peer data is missing, but are not incorporated into the canonical game state, allowing fast convergence with minimal computation when predictions and peer data differ.
We'll have beer and pizza! We'll also allow people to announce any job opportunities they may have at that time so you can socialize with potential applicants.