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
#radBIOS: Shouting a database across the room
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
Richo Healey
July 19, 2014
Programming
0
470
#radBIOS: Shouting a database across the room
My #hopex talk about moving databases about using audio.
Code is at github.com/richo/groundstation
Richo Healey
July 19, 2014
Tweet
Share
More Decks by Richo Healey
See All by Richo Healey
rust-greatfet
richo
1
790
unrubby
richo
0
440
reverse reverse engineering
richo
0
1.1k
Hacking Electric Skateboards: Vehicle Research for Mortals
richo
1
300
radBIOS: Bsides LV
richo
0
1.3k
How compilers got less terrible
richo
1
130
building a hipster catapult, or how2own your skateboard
richo
0
2.1k
Debugging with and haxing on Voltron
richo
0
300
Other Decks in Programming
See All in Programming
CSC307 Lecture 10
javiergs
PRO
1
660
AI Schema Enrichment for your Oracle AI Database
thatjeffsmith
0
320
例外処理とどう使い分ける?Result型を使ったエラー設計 #burikaigi
kajitack
16
6.1k
AI時代の認知負荷との向き合い方
optfit
0
160
【卒業研究】会話ログ分析によるユーザーごとの関心に応じた話題提案手法
momok47
0
200
AIエージェント、”どう作るか”で差は出るか? / AI Agents: Does the "How" Make a Difference?
rkaga
4
2k
[KNOTS 2026登壇資料]AIで拡張‧交差する プロダクト開発のプロセス および携わるメンバーの役割
hisatake
0
290
AI によるインシデント初動調査の自動化を行う AI インシデントコマンダーを作った話
azukiazusa1
1
740
Basic Architectures
denyspoltorak
0
680
AIで開発はどれくらい加速したのか?AIエージェントによるコード生成を、現場の評価と研究開発の評価の両面からdeep diveしてみる
daisuketakeda
1
2.5k
Honoを使ったリモートMCPサーバでAIツールとの連携を加速させる!
tosuri13
1
180
AI Agent の開発と運用を支える Durable Execution #AgentsInProd
izumin5210
7
2.3k
Featured
See All Featured
Producing Creativity
orderedlist
PRO
348
40k
Color Theory Basics | Prateek | Gurzu
gurzu
0
200
How to Get Subject Matter Experts Bought In and Actively Contributing to SEO & PR Initiatives.
livdayseo
0
67
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
61k
Sam Torres - BigQuery for SEOs
techseoconnect
PRO
0
190
sira's awesome portfolio website redesign presentation
elsirapls
0
150
Digital Ethics as a Driver of Design Innovation
axbom
PRO
1
180
Why You Should Never Use an ORM
jnunemaker
PRO
61
9.7k
Easily Structure & Communicate Ideas using Wireframe
afnizarnur
194
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
51
51k
Utilizing Notion as your number one productivity tool
mfonobong
3
220
Transcript
#radBIOS Yelling a database across the room
Richo Healey
Richo Healey •Rich - OH!
Richo Healey •Computer security guy •Into distributed systems •Pretty keen
on ducks •Rich - OH!
Flat ducks are best ducks Find me at LobbyCon and
ask me more ;)
#radBIOS
#radBIOS
None
None
Groundstation •Distributed Graph Database •Content Addressable •Eagerly distributed
Groundstation •Originally just scratching an itch •Project Byzantium uses it
as a distributed bulletin board
Demo Time!
Demo Time! (This is very probably going to fail)
Let’s talk about DAGs
Let’s talk about DAGs
Traditional DAG Source of truth is here Root of the
graph is here
Source of truth is the set of these points
Source of truth is the set of these points This
sucks for things like code. It’s pretty great when human beings will be processing it.
(I am very bad at design)
None
None
None
None
Architecture •protocol driver •object graph •transport driver
Protocol Driver •Presentation layer •Examples: •Git •Markdown threads •Marketplace
Object Graph RootObject(s) UpdateObject(s) Gref Tips
Transport Driver •TCP/UDP Hybrid Homogenousish link layer network
Transport Driver •Shriek UDP Broadcast to find new friends Homogenousish
link layer network
Transport Driver •Then communicate with them Homogenousish link layer network
Distributing data •“Give everyone everything” •Nodes aggressively hand over all
the data they know about. •The idea is to build up a coherent knowledge graph.
Demo Time!
Practical Applications •Disaster affected regions •Never underestimate the bandwidth of
a station wagon full of tapes •Office comms (“It’s all git”)
Other applications •Message boards •Locality driven marketplaces •Painless sneakernets
Transport Drivers •All assume physical proximity •Internet routing was actually
an afterthought •Wireless was easy and practical •Needing an 802.11 stack kinda sucks though…
So let’s talk about airgaps
None
Quietnet •Amazing project from Katee •Easy enough for a non
radio person to understand •Not hugely fault tolerant •Easy to hack on and embed!
Let's talk about encoding •need to turn some information into
a bitstream •existing schemes like PSK31
psk 31
Error Correcting Codes 000000 101001 110110 011111
Unambiguous Encapsulation •Ossmann and Spill’s work from Shmoocon this year
•Defends against packet in packet •Also makes this kind of absurd FSK madness approachable •Cheap way to add fault tolerance
Unambiguous ECC 000000 101001 110110 011111
Here begins the fail talk.... •Groundstation's TCP driver is full
duplex •"I'll just redo it with audio" •Turns out audio is hard
Echo - Response •Repeat a tone until your peer repeats
•Alternate codes to allow for repeated characters •Better schemes exist •This is easy to debug
Audio isn’t binary though! •Missed bits can still be reasoned
about •Ternary state for bits: 1, 0 _ •Let hamming soak up bits we miss
alltheFSKs •Quietnet has serious limitations •Some guy published a library!
Still no dice! •Audio is *still* hard
Demo Time!
Womp Womp
None
Should I use this? •Groundstation? Yeah maybe •#radBIOS? Probably not
•"fuck you I'll do it anyway"? AWESOME
Instead: •github.com:kamalmostafa/ minimodem •linux has an ax25 driver in the
tree •soundmodem module for linux
Thanks! •Dominic Spill + Michael Ossmann •Katee •Mark Jessop
More info: •twitter: @rich0H •groundstation: github.com/richo/groundstation •quietnet: github.com/katee/quietnet •alltheFSKs: github.com/darksidelemm/alltheFSKs
•byzantium: project-byzantium.org
•Questions? •Comments? •Duck Jokes?