Session
FOSDEM 2021 Schedule
JavaScript

JavaScript connecting exotic hardware

A personal retrospective of 10 proofs of concept using the most pervasive language
D.javascript
Fabien Benetou (@Utopiah)
JavaScript runs everywhere. Or so it should! In this 30min talk we're going to skim over 10 small proof of concepts that relied on JavaScript to do something new. We'll conclude with an overview of useful technical and social patterns helpful to run "nearly" JS nearly everywhere.
A computer is an amazing piece of technology because it is generic. It is a general purpose device par excellence. Without going as abstract as Turing machines we wish we could run any code everywhere. Several things get in the way though : performances, design choices, business strategy, available implementation, etc. Yet, when you consider buying a new device or repurposing an old one patterns seem to be coming back over and over again, namely : is a browser present? Can I run a web server on it? Which protocols are available? Is there any usable file format to send or receive data? By efficiently identifying those new opportunities emerge. One can then connect one device to another even if they are not your usual computer. This talk is going to explore such patterns through 10 small examples built over last year. From a vibrating sex toy available on a social VR platform to a Linux phone controlling a TV like a remote or a virtual light bulb controlled by strangers and matching its physical equivalent, exotic hardware is going to leverage JavaScript, one way or another. This presentation targets a curious audience. Basic knowledge of JavaScript, Internet of Things, virtual reality, augmented reality, embedded devices are welcomed but not necessary. The slides provide links to code snippets and all used libraries.

Additional information

Type devroom

More sessions

2/6/21
JavaScript
D.javascript
A short introduction about JavaScript Devroom with some interesting resources about JavaScript and a presentation about this special day for the FOSDEM JS Devroom
2/6/21
JavaScript
Florian PASTEUR
D.javascript
How to write Angular components that can evolve ? How can we write components that can easily be refactored ? How can we write tests that won't be useless as soon as we change the implementation ? We can achieve all that by writing the tests first, writing tests that are agnostic of the implementation, so writing tests that focus on features.
2/6/21
JavaScript
André Jaenisch
D.javascript
Eleventy isn't the first Static Site Generator in Node.js out there. But it gets amazing feedback from different parties. Time to look into what makes it so compelling! We'll touch Setup, Data Directory Files and Template Languages. You'll see, that you have plenty of options to choose from.
2/6/21
JavaScript
Marijn Haverbeke
D.javascript
Accessible code editing with CodeMirror 6
2/6/21
JavaScript
Allon Mureinik
D.javascript
Node.js’ single-threaded nature makes it very susceptible to DOS attacks. While Node.js’ event loop allows performing some operations in an asynchronous fashion, it’s still quite easy to write a vulnerable Node.js application by making a few simple mistakes. In this talk I’ll cover some common ways a Node.js application may be vulnerable to DoS attacks and some common best-practices and counter measures to defend against such attacks.
2/6/21
JavaScript
Akshat Garg
D.javascript
The presentation will cover different ways to communicate across browsing contexts. The main 2 approaches are - 1. Shared memory - Localstorage, Cookies, SessionStorage, IndexedDB, SharedArrayBuffers & Atomics 2. Messaging- Postmessage, BroadcastChannel, MessageChannel The presentation will show a demo of usage for each of the types and explain the use-case, advantages and disadvantages for them.
2/6/21
JavaScript
Gordon Williams
D.javascript
How I reverse engineered an off the shelf smart watch in order to create Bangle.js, a watch that runs JavaScript. I'll cover the process as well as some of the hacks Espruino employs to run JS on a device with only 64k of RAM!