Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
BayNode Meetup June 2014
Search
Tim Cameron Ryan
June 20, 2014
Technology
83
1
Share
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
430
The Science of Etherpad
tcr
2
66
Other Decks in Technology
See All in Technology
こんなアーキテクチャ図はいやだ / Anti-pattern in AWS Architecture Diagrams
naospon
1
390
幾億の壁を超えて/Beyond Countless Walls(JP)
ikuodanaka
0
130
ぼくがかんがえたさいきょうのあうとぷっと
yama3133
0
170
3つのボトルネックを解消し、リリースエンジニアリングを再定義した話
nealle
0
520
新メンバーのために、シニアエンジニアが環境を作る時代
puku0x
0
1.1k
システムは「動く」だけでは 足りない - 非機能要件・分散システム・トレードオフの基礎
nwiizo
29
9.3k
EarthCopilotに学ぶマルチエージェントオーケストレーション
nakasho
0
240
実践ハーネスエンジニアリング:TAKTで実現するAIエージェント制御 / Practical Harness Engineering: AI Agent Control Enabled by TAKT
nrslib
9
3.5k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
1.1k
EBS暗号化に失敗してEC2が動かなくなった話
hamaguchimmm
1
140
AWS認定資格は本当に意味があるのか?
nrinetcom
PRO
1
250
AIペネトレーションテスト・ セキュリティ検証「AgenticSec」ご紹介資料
laysakura
0
3.6k
Featured
See All Featured
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
160
Building a A Zero-Code AI SEO Workflow
portentint
PRO
0
440
BBQ
matthewcrist
89
10k
ラッコキーワード サービス紹介資料
rakko
1
3M
Practical Orchestrator
shlominoach
191
11k
Speed Design
sergeychernyshev
33
1.6k
So, you think you're a good person
axbom
PRO
2
2k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Fireside Chat
paigeccino
42
3.9k
How to make the Groovebox
asonas
2
2.1k
Fantastic passwords and where to find them - at NoRuKo
philnash
52
3.6k
WENDY [Excerpt]
tessaabrams
10
37k
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