Embedded JavaScript (FluentConf 2014)

Download Embedded JavaScript (FluentConf 2014)

Post on 17-Aug-2014

1.258 views

Category:

Devices & Hardware

1 download

DESCRIPTION

The skills you have in 2014 are all you'll need to make physical devices. Learn more at http://tessel.io

TRANSCRIPT

  • Embedded JavaScript: The skills you have in 2014 will be all you need to make physical devices Tim Ryan, Co-Founder / Developer Technical Machine
  • Tessel is a WiFi-enabled microcontroller that runs JavaScript. Tim Ryan, Co-Founder / Software Developer Technical Machine
  • Embedded JavaScript
  • High-level != Developer-friendly
  • Open Source Hardware
  • 2005 2014
  • 20052003 2005
  • 20052003 2005
  • ~2010
  • Microcontrollers
  • 8-bit 32-bit
  • We can today afford the processing power to make developers lives easier.
  • $4 @1K $11 @1K
  • Why JavaScript?
  • JavaScript (and asynchronous coding) is the perfect embedded language!
  • JavaScript (and asynchronous coding) is the perfect embedded language! Sylvia Plath
  • Ethernet TCP HTTP
  • Ethernet TCP HTTP (Packet-based) (Stream-based) (Packet-based)
  • Ethernet TCP HTTP Websockets (Packet-based) (Stream-based) (Packet-based) (Streaming)
  • def receive_packet(): buf = sock.recv() return buf while True: print(receive_packet())
  • Future p = pool.submit(new Callable() { public byte[] call() { return socket.recv(); } } // ... while waiting ... p.get();
  • socket.on(data, function (data) { // handle data buffer }); // ... other code ...
  • Inventing the Universe
  • Chromes JS engine C++ ~10mb memory required for each instance POSIX/Win32 environment
  • Embeddable language Written in C ~30kb memory Highly portable
  • Embeddable language Written in C ~30kb memory Highly portable 4x-60x slower
  • JS VM HTTP Parsing DNS SSL Memory management Filesystem Tar JSON Unicode TCP/IP
  • JS VM HTTP Parsing DNS SSL Memory management Filesystem Tar JSON Unicode TCP/IP tessel/colony wecing/utf8proc lloyd/yajl bagder/c-ares dsheets/axtls joyent/http-parser abbrev/fatfs colorer/dlmalloc
  • (When reinventing everything, reuse as much as possible.)
  • What Comes Next
  • Its becoming feasible to embed in every product a microcontroller powerful enough to run a high level language.
  • HTTP
  • HTTP SPI I2C UART
  • Be bold! Be courageous! Be amazing!
  • Be bold! Be courageous! Be amazing! Build robots!
  • Be bold! Be courageous! Be amazing! Build robots! Sylvia Plath
  • tim@technical.io @technicalhumans http://tessel.io

Recommended

View more >