Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
BayNode Meetup June 2014
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
Tim Cameron Ryan
June 20, 2014
Technology
89
1
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
BayNode Meetup June 2014
Tim Cameron Ryan
June 20, 2014
More Decks by Tim Cameron Ryan
See All by Tim Cameron Ryan
Elevator redesign: Team Unibros Final Presentation
tcr
0
440
The Science of Etherpad
tcr
2
76
Other Decks in Technology
See All in Technology
多摩川(.dev)ランニング入門 / Tamagawa.dev#3
fujiwara3
3
430
薬剤師(ドメインエキスパート)と一緒に育てる薬局向けAIアシスタント
kakehashi
PRO
2
120
深夜のクラウド懺悔室 1:29:300 or 1:0:0
kazzpapa3
1
210
Redmine 7.0で私が開発した新機能の狙いと背景
vividtone
1
130
enechainの内製セルフサービスプラットフォーム
hiyosi
0
150
ペアプロの価値はコードを書くことだけじゃない
codmoninc
PRO
0
150
生成AIのテナント制御とシャドーMCP対策 | AIを"止めずに"、情報を守る
yukun
0
140
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
280
#jawssonic2026 あの時代が悪かった ~動かなかったSageMakerと共に迎えたイベント当日~
ktkn1129
0
140
AI 駆動 Terraform 開発/SRE_BizReach_MIXI_2
visional_engineering_and_design
3
2k
Omarchy Quattro の日本語設定周り
simosako
2
100
AIで仕事のやり方を変える
matsu7874
3
1k
Featured
See All Featured
The Language of Interfaces
destraynor
162
27k
The Art of Delivering Value - GDevCon NA Keynote
reverentgeek
16
2.2k
Why Our Code Smells
bkeepers
PRO
340
58k
Efficient Content Optimization with Google Search Console & Apps Script
katarinadahlin
PRO
1
840
Public Speaking Without Barfing On Your Shoes - THAT 2023
reverentgeek
1
560
Building a Scalable Design System with Sketch
lauravandoore
463
34k
The Curious Case for Waylosing
cassininazir
1
500
The Illustrated Guide to Node.js - THAT Conference 2024
reverentgeek
1
470
So, you think you're a good person
axbom
PRO
2
2.1k
SEOcharity - Dark patterns in SEO and UX: How to avoid them and build a more ethical web
sarafernandez
0
270
Building the Perfect Custom Keyboard
takai
2
870
Technical Leadership for Architectural Decision Making
baasie
3
560
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
None
Tessel is a WiFi-enabled microcontroller that runs JavaScript. Tim Ryan,
Co-Founder / Software Developer Technical Machine
None
Embedded JavaScript
None
None
None
None
None
High-level != Developer-friendly
Open Source Hardware
None
None
None
2005 2014
2005 2003 2005
2005 2003 2005
~2010
Microcontrollers
None
8-bit 32-bit
We can today afford the processing power to make developers’
lives easier.
$4 @1K $11 @1K
None
None
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…)
None
None
None
None
None
def receive_packet(): buf = sock.recv() return buf while True: print(receive_packet())
Future<byte[]> p = pool.submit(new Callable<byte[]>() { public byte[] call() {
return socket.recv(); } } // ... while waiting ... p.get();
socket.on(‘data’, function (data) { // handle data buffer }); //
... other code ...
Inventing the Universe
None
• Chrome’s 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 • 10x-100x 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
Lesson Learned: When reinventing everything, reuse as much as possible.
None
None
What Comes Next
It’s becoming feasible to embed in every product a microcontroller
powerful enough to run a high level language.
HTTP
HTTP SPI I2C UART
None
None
http://github.com/tessel/firmware http://github.com/tessel/runtime
None
Be bold! Be courageous! Be amazing!
Be bold! Be courageous! Be amazing! Build robots!
Be bold! Be courageous! Be amazing! Build robots! — Sylvia
Plath
[email protected]
@technicalhumans http://tessel.io