summaryrefslogtreecommitdiff
path: root/slides.html
diff options
context:
space:
mode:
authorYuval Adam <_@yuv.al>2018-08-21 19:50:55 +0300
committerYuval Adam <_@yuv.al>2018-08-21 19:50:55 +0300
commit32222a5bc936f4ab90f7505257f2b0882074e2e0 (patch)
tree7a4c69a5fbef9bffce324c83d85d815b1bf4e65f /slides.html
parent3aa585ca0149e81696a9e69426ff470343e15243 (diff)
Initial batch of slides
Diffstat (limited to 'slides.html')
-rw-r--r--slides.html86
1 files changed, 86 insertions, 0 deletions
diff --git a/slides.html b/slides.html
new file mode 100644
index 0000000..efa9156
--- /dev/null
+++ b/slides.html
@@ -0,0 +1,86 @@
+<!DOCTYPE html>
+<html>
+ <head>
+ <title>N00bing through Rust</title>
+ <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
+ <link rel="stylesheet" type="text/css" href="styles.css">
+ </head>
+ <body>
+ <textarea id="source">
+class: middle, center
+
+# N00bing through Rust
+
+### My journey through
+
+---
+class: middle, left
+
+# Yuval Adam
+
+- Full stack developer
+- Freelance consultant
+- 10+ years Pythonista
+- [https://yuv.al](https://yuv.al)
+- [@yuvadm](https://twitter.com/yuvadm)
+
+---
+class: middle, left
+
+# Slinging media files over UPnP
+
+- Reverse engineering a cheap HDMI/UPnP dongle
+- [https://github.com/yuvadm/rockcast](https://github.com/yuvadm/rockcast)
+
+
+---
+class: middle, left
+
+# UPnP Casting
+
+- UPnP casting
+ - Send a UPnP discovery packet over **UDP** broadcast
+ - Dongle on LAN responds with some fugly **XML**
+ - Serve the media file over **HTTP**
+ - Send an XML request to the dongle pointing to the file
+ - Send play/pause actions as neccesary
+- You can implement this with several dozen lines of Python
+
+It's on [https://github.com/yuvadm/slingr](https://github.com/yuvadm/slingr)
+
+---
+class: middle, left
+
+# Title 5
+
+---
+class: middle, left
+
+# Title 6
+
+---
+class: middle, left
+
+# Title 7
+
+---
+class: middle, left
+
+# Title 8
+
+---
+class: middle, left
+
+# Title 9
+
+
+
+ </textarea>
+ <script src="https://remarkjs.com/downloads/remark-latest.min.js" type="text/javascript">
+ </script>
+ <script type="text/javascript">
+ var slideshow = remark.create();
+ </script>
+ </body>
+</html>
+