Midwest JS

George Mandis

More Than Music with WebMIDI

Did you know there’s a widely-supported browser API that allows you to interface with a wide variety of hardware, including some you can build yourself? Wonder no more and meet the WebMIDI API! We’ll look at how MIDI — a niche protocol from 1983 designed for electronic musical instruments to talk to one another — JavaScript and “tiny computers” like the Arduino, Espruino and RasperryPi can be used to build interactive, non-musical experiences that straddle the line between the web and physical world. # For Reviewers The theme of this talk is to explore a somewhat obscure browser API intended for interacting with music hardware via JavaScript and how it can be a great way for frontend & JavaScript developers to "dip their toes" into hardware programming and IoT concepts. It's really quite a bit of fun and tends to spur attendee's imaginations, based on the feedback I've received. I'm always pleased when someone who saw my talk reaches out to share something interesting they've made! The general outline for the talk typically looks like this: - Brief introduction about me and my talk - Brief introduction to Rasperry Pis/C.H.I.P. and other "tiny" computers. - Brief talk on the evolution of Node along that same timeline. - Brief talk about MIDI, what it solved - Brief talk about why MIDI and the event-driven nature of Node compliment one another. - A look at some of the packages and projects that make MIDI interfacing easy in Node. - Why it dovetails nicely with Node and also the Internet of Things - Why I chose this stack and decided to talk about it: background in music, interesting use for recycled music equipment. - Examples of IoT projects I've made using this tech stack of Tiny Computer, MIDI and JavaScript (#1) - Examples of IoT projects I've made using this tech stack of Tiny Computer, MIDI and JavaScript (#2) - Examples of IoT projects I've made using this tech stack of Tiny Computer, MIDI and JavaScript (#3) - Examples of IoT projects I've made using this tech stack of Tiny Computer, MIDI and JavaScript (#4) - Examples of IoT projects I've made using this tech stack of Tiny Computer, MIDI and JavaScript (#5) - A breakdown of how I'm using this stack to run my presentation and slideshow - How to create your own version of this stack at home: which versions of Linux to use, packages, etc. - Hardware recommendations: adapters, interfaces, which you can take apart and which you can leave as is - Discuss how this stack makes for a cheap, affordable IoT stack for teaching IoT programming to kids (and in general!) - List of ideas for other projects and the future of this stack for creative applications - Discussion of things that could or should be improved - Other similar tech stacks that blend old and new to explore from here. - Lastly, I have a complimentary workshop based on the ideas in this talk that I've led a number of times. It's a little atypical as there's a hardware component I'd have to discuss with the organizers ahead of time, but I've managed to receive discounts and sponsorships from Adafruit on a couple occasions. Happy to discuss if there's interest or it makes me talk more appealing in some way!

JavaScript for Artists

Can JavaScript help you draw a self-portrait? Make a bot that sings to you when you're sad? Generate poetry based on classic literature? Render a painting that draws a composite of every person that's ever looked at them? Modern JavaScript conventions, browser APIs, AI services and IoT hardware provide a unique platform for creating this kind of art. In this talk we'll explore this type of creative, interactive application development and look at the libraries, APIs, services, hardware and approaches to creating expressive works with JavaScript — audio, visual and otherwise.

f