add boyska slides

This commit is contained in:
boyska 2015-06-23 02:48:57 +02:00
parent feb38fc39e
commit 121b508d5a
8 changed files with 448 additions and 2 deletions

View file

@ -42,7 +42,7 @@ Il metodo migliore per restare aggiornati sui talk é controllare spesso la pag
#### <a name="10min"></a> 10MIN FLASH ⚡TALK
l'angolo delle persone pigre, modeste o timide o al contrario di chi cerca la fama facile. Di coloro che ritengono che quanto non riesci a sintetizzare in dieci minuti non ha senso dirlo, oppure che non hanno cosi' alta opionione di se' da pensare di essere interessanti per piu' di 10 minuti, oppure che sono troppo stanche per esserlo, oppure che semplicemente vogliono i loro dieci minuti di gloria e poi sono contente cosi'.
+ __SD wifi__:
+ __SD wifi__ ([SLIDE]({filename}/talks/boyska/sdwifi.html)):
SD cards con wifi incorporato e su cui gira Linux ([esempio](https://www.pitt-pladdy.com/blog/_20140202-083815_0000_Transcend_Wi-Fi_SD_Hacks_CF_adaptor_telnet_custom_upload_/))
+ __noscript e torbrowser__:
le particolarità della configurazione di default con cui NoScript viene incorporato nel Tor Browser, le caratteristiche specificamente implementate per il Tor Project e le motivazioni che ci stanno dietro
@ -92,6 +92,8 @@ Introduzione politico/tecnica al Software Libero
#### <a name="browserbot"></a> Giocare con i "browser bot": python, selenium e oltre
([SLIDE]({filename}/talks/boyska/bot.html))
nel talk mostrero' come si usano alcune librerie utili a simulare la navigazione utente scrivendo un programma (roba semplice comunque); se riesco e se vi prende bene possiamo divagare sullo spinoso tema del "come gestire i dati raccolti" il quale e' un po' un panico
#### <a name="libreant"></a> [Libreant](https://libreant.rtfd.org)
@ -100,6 +102,8 @@ Un software per l'archiviazione e la gestione di libri, pensato per coniugare li
#### <a name="larigira"></a> larigira: un radio automation coso
([SLIDE]({filename}/talks/boyska/larigira.html))
Stato del free software "per radio", motivazioni, dettagli tecnici su questo nuovo coso
[link](https://larigira.readthedocs.org/) [link](https://github.com/boyska/larigira)

View file

@ -0,0 +1,137 @@
<!DOCTYPE html>
<html>
<head>
<title>Facciamo finta di avere una vita sociale</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
@import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);
body { font-family: 'Droid Serif'; }
h1, h2, h3 {
font-family: 'Yanone Kaffeesatz';
font-weight: normal;
}
.remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
.inverse {
background: #272822;
color: #777872;
text-shadow: 0 0 20px #333;
}
.inverse h1, .inverse h2 {
color: #f3f3f3;
line-height: 0.8em;
}
/* Slide-specific styling */
#slide-inverse .footnote {
bottom: 12px;
left: 20px;
}
</style>
</head>
<body>
<textarea id="source">
class: center, middle, inverse
## Facciamo finta di avere una vita sociale
Mettiamo dei bot a fare amici al posto nostro
---
layout: false
# Summary
(there's not much, actually)
1. The tools we have
2. The fun I imagine
3. How much is too much?
---
# The tools we have
* Simulating web behaviour with browsers bots
* It's easier than API!
* we don't need oauth, authorization, etc
* it's (arguably) more similar to a 'normal' user behaviour
---
## Splinter
A wrapper on selenium (and something else actually) which is an implementation of the webdriver interface.
Which means that...
```
from splinter import Browser
browser = Browser('chrome')
browser.visit('http://google.com')
browser.fill('q', 'the answer to life the universe and everything')
# find the submit buttom by the class atribute and click it
browser.find_by_css('.lsb').first.click()
# Note: find_by_css find elements in html using css selectors
# like we use in a css file
print browser.find_by_css('#topstuff .std h2').first.value
browser.quit()
```
---
## Splinter: smilar stuff
There is plenty of similar stuff in your favourite language
---
# The fun I see
* noone is stupid enough to appear as such on twitter
* not even a bot
* so go making crazy bots everywhere
* is not a new idea: even at hackit0x0F there was something similar
* but it was based on Facebook API (less stealth) + JS extension (more burden to write)
---
# How much is too much?
Why don't we record everything we see with forensic data management tools? Maltego!
![maltego shot](bot/maltego-small.jpg)
---
# How much is too much?
Why don't we record everything we see with forensic data management tools? Maltego!
È un accrocco in cui tu ci metti i dati che hai raccolto, così li puoi visualizzare in un modo intuititivo.
---
# The fun I see
* scriviamo bot in giro
* vediamo che cosa scoprono
* tipo spettegolare sul quartiere, ma coi quartieri degli altri
</textarea>
<script src="remark-latest.min.js">
</script>
<script>
var slideshow = remark.create({
'highlightLanguage': 'python',
'highlightStyle': 'monokai'
});
</script>
</body>
</html>

Binary file not shown.

After

Width:  |  Height:  |  Size: 178 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 612 KiB

View file

@ -0,0 +1,163 @@
<!DOCTYPE html>
<html>
<head>
<title>larigira</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
body { font-family: 'Droid Serif'; }
h1, h2, h3 {
font-family: 'Verdana';
font-weight: normal;
}
.remark-code, .remark-inline-code { font-family: 'Ubuntu Mono', inconsolata, monospace; }
.inverse {
background: #272822;
color: #777872;
text-shadow: 0 0 20px #333;
}
.inverse h1, .inverse h2 {
color: #f3f3f3;
line-height: 0.8em;
}
/* Slide-specific styling */
#slide-inverse .footnote {
bottom: 12px;
left: 20px;
}
</style>
</head>
<body>
<textarea id="source">
class: center, middle, inverse
# Larigira
*l'automatico che mai la sbaglia*
---
layout: false
# Summary
1. What is it about
2. What's the status of radio automation in Linux
3. Our needs
4. Larigira implementation details (that's the boring part)
---
# What is it about
* Quando nessuno è in radio, cosa suona la radio?
* a.k.a. **compagno automatico** !!
* mette musica random
* mette jingle, spottini
* può schedulare trasmissioni, repliche, ecc. (ma ci interessa relativamente)
---
# What's the status of radio automation in Linux
* Due parole: un panico
* Pochi software, spesso molto complessi
* ... ma è anche vero che abbiamo strane necessità!
---
# Our needs
* roba semplice
* affidabile
* non ci interessa supporto al preascolto (quindi no supporto doppia scheda audio)
* non lo usiamo per fare il palinsesto: andiamo al 99% in diretta, ma occasionalmente mandiamo repliche
* hackabile!
* crossfade
* supporto dignitoso agli storage remoti (richiede accurata gestione di cache & asincronia ⇒ noia)
---
class: center, middle, inverse
# L'implementazione
*Ora finisce la roba interessante e inizia il nerdaggio*
---
# Architettura di sistema
* Si appoggia ad MPD
** In questo modo il player lo fa chi lo sa fare
** sta in qualsiasi distro
* larigira popola la playlist di MPD
* se larigira viene riavviato, la musica prosegue indisturbata
---
# Architettura del software
* greenlet (cioè diciamo che sono tipo thread e tanto fa) per gestire l'asincronia
* una greenlet controlla la playlist di mpd.
* Quando è quasi vuota...
* trova qualcosa da metterci dentro
* fa partire una greenlet che, quando ha finito, accoda un nuovo file
Perché? perché se copi file da uno storage remoto, vuoi che prima siano cachati su disco, kjjjkkkkkkkkkkjjG
---
## Il software: eventi
Ci sono anche gli eventi: un evento è una specifica temporale e una specifica audio.
Una specifica temporale è un modo per descrivere una successione (potenzialmente infinita di eventi)
Esempi:
* ogni mezzora (è infinita!)
* il 21 dicembre 2012 alle 12.00 (una sola volta)
* tutti i mercoledì di maggio 2015 alle 17.00 (quattro volte)
* per ogni evento nel db c'è una greenlet che
* attende l'arrivo della sua ora
* quando la sua ora è **quasi** arrivata, parte la greenlet corrispondente
---
## Il software: eventi (2)
Ci sono anche gli eventi: un evento è una specifica temporale e una specifica audio.
Una specifica audio è un modo per descrivere una successione (finita) di file audio già creati.
Esempi:
* il file `/home/pippo/Music/ciao.ogg`
* tutti i file indicati da `http://www.example.org/foo.rss`
* il file più recente nella directory `/home/pippo/GiornaliRadio/`
---
## L'ultima sugli eventi, prometto
È abbastanza semplice definire delle specifiche temporali, o delle specifiche audio, personalizzate.
Così è possibile fare cose molto particolari, tipo:
> ogni terzo martedì del mese manda la replica di una trasmissione presa da `http://www.rad.io/feed.xml` ma solo se quella più recente è della categoria "approfondimenti".
</textarea>
<script src="remark-latest.min.js">
</script>
<script>
var slideshow = remark.create({
});
</script>
</body>
</html>

File diff suppressed because one or more lines are too long

View file

@ -0,0 +1,135 @@
<!DOCTYPE html>
<html>
<head>
<title>SD WiFi</title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8"/>
<style type="text/css">
@import url(https://fonts.googleapis.com/css?family=Yanone+Kaffeesatz);
@import url(https://fonts.googleapis.com/css?family=Droid+Serif:400,700,400italic);
@import url(https://fonts.googleapis.com/css?family=Ubuntu+Mono:400,700,400italic);
body { font-family: 'Droid Serif'; }
h1, h2, h3 {
font-family: 'Yanone Kaffeesatz';
font-weight: normal;
}
.remark-code, .remark-inline-code { font-family: 'Ubuntu Mono'; }
.inverse {
background: #272822;
color: #777872;
text-shadow: 0 0 20px #333;
}
.inverse h1, .inverse h2 {
color: #f3f3f3;
line-height: 0.8em;
}
/* Slide-specific styling */
#slide-inverse .footnote {
bottom: 12px;
left: 20px;
}
</style>
</head>
<body>
<textarea id="source">
class: center, middle, inverse
# Le SD ripiene col WiFi
---
layout: false
# SD col wifi
1. Cosa sono
2. Linux dentro
3. Giocarci: autorun.sh
4. Giocarci: cambiare bootloader, kernel, rootfs
5. La criptocamera!
6. Problemucci
???
Spiegare che è un tentativo dopo molte altre mezze prove, di cui però non faremo in tempo a parlare
(la raspberry nel manico, l'app smartphone, il firmware chdk modificato)
---
# What
* Nothing new (2013 circa)
* relatively cheap (40€)
* ARMv5 inside
* Ci gira Linux sopra
* WiFi card inside
???
mostrarla
---
# Linux inside it
* by default runs an Access Point + a webserver from which you can download the files you put on the SD itself
* Default kernel is really basic
---
# Hack: autorun.sh
* Se dentro la memoria sd metti un file `autorun.sh`, quello viene eseguito.
* Se copi un file binario dentro la SD, da `autorun.sh` puoi lanciarlo.
---
# Hack: changing bootloader, kernel, rootfs
* Si. Può. FAREEE
* compiling a kernel is hard because there is *not* the source of some needed modules
* but is my next goal
* changing rootfs should be simpler
???
si vede dopo perché mai dovrei cambiare kernel
il motivo di cambiare il rootfs è che così puoi usare la toolchain tua
---
# La criptocamera!
* Se ficco gpg dentro la scheda, posso cifrare le cose man mano che vengono messi.
* ...ma va lentissimo!
* Come fare a farlo andare veloce?
* Fare un kernel meglio
* flock
* rng
* Ottimizzare la parte cifratura
---
# Problemucci
* Non è ovvio come fare shred su una flash (anzi è problematico)
---
# Idee future
* Si potrebbe fare anche che le foto vengono mandate automaticamente (già cifrate) ad un altro device
</textarea>
<script src="remark-latest.min.js">
</script>
<script>
var slideshow = remark.create({
});
</script>
</body>
</html>

View file

@ -9,6 +9,7 @@ SITENAME = u'Hackmeeting 0x12'
PATH = 'content'
PAGE_PATHS = ['pages']
ARTICLE_PATHS = ['news']
STATIC_PATHS = ['images', 'talks']
TIMEZONE = 'Europe/Paris'
@ -46,4 +47,4 @@ THEME = 'themes/bs3'
# Pelican bootstrap 3 theme settings
BOOTSTRAP_THEME = 'cyborg'
HIDE_SIDEBAR = True
HIDE_SIDEBAR = True