= Radio × Pi

:= + + + + +

Radio Rekorder mit lua,ruby,lighttpd,cron,streamripper auf einem Raspberry Pi.

Vortrag am 14. Februar 2013

== Motivation: RSS Feeds meiner Lieblingssendungen

* Zündfunk * B2 Radiokrimi * break beat action == Amuse-Gueule

* Installation in 3min

== Scrape B2: Sendungsinfos

* BR Scraper (nokogiri/ruby) * Kalender * Sendezeiten * Sendungstexte + Bild * zum Schluß: meta nach stdout und broadcast-render.lua pipen!

== Storage: noDB, nur statische html Seiten

* pro Sendung eine html Datei, * Filesystem == Website == Datenbank * Dateinamen yyyy/mm/dd/HHMM abc.html * ''meta'' Tags angelehnt an Dublin Core PBMI

== Render + parse simple xhtml

* html ist selbst geschrieben, * also bekannt, * also einfach zu parsen == lua: wieso?

* extrem schneller Start der Runtime * extrem sparsame Runtime (RAM) * jedes Jahr eine neue Sprache == lua: wie sieht das aus?

* lua BNF * Beispiel: broadcast-render.lua * Beispiel: broadcast_from_file == lua: pattern matching

* lua patterns, regexp auf Diät * LPEG * 'richtige' Regexp als LPEG 'Modul' == lua: html template engine

* slt2 * Beispiel: broadcast.slt2.html * Beispiel: broadcast_to_html

== lua: war's das?

Bei weitem nicht:

* Metatables * OOP * Functional * C bridge. Beispiel: msleep == Publish: lighttpd

* cgi * redirects * http digest auth (mp3/Privatkopie)

== Rip

* streamripper

enclosure-rip.lua

streamripper-injector.lua

* taglib (wieder per ruby)

== Probleme

* lausiger I/O Durchsatz zur USB Platte (vielleicht mach ich auch was falsch) == Vielen Dank

für Eure Aufmerksamkeit.

Feedback willkommmen an Marcus Rohrmoser

Die Folien zum Nachlesen gibt's hier:

oder http://wiki.mro.name/cocoaheads/