Analogue Sequencer
^ nett und daten einmal anders: eine art turntable-basierter analoger sequencer
(via)
Random Walk
^ The Upshot mit einer Mischung aus Visualisierungen und Storytelling: How the Recession Reshaped the Economy, in 255 Charts
Net Neutrality Comments
^ die FCC hat die mehr als eine Million Kommentare (größtenteils) gegen die Abschaffung der Netzneutralität praktischerweise veröffentlicht, die ersten Auswertungen und Visualisierungen gibt es auch schon.
#nts: bei gelegenheit auch ein bisschen damit herumspielen
Iconv
apropos pandoc : ein problem, über das man beim fröhlichen konvertieren eher früher als später stolpern wird, sind charakter-encodings, die dann irgendwelche fehler produzieren.
apple hat zum glück ein eingebautes tool namens iconv mit dem man die input-files zunächst auf utf-8 normalisieren kann, was dann oft das problem behebt.
iconv -f iso-8859-1 -t utf-8 test.xml > test.utf-8.xml
konvertiert zb ein iso-8859-1 dokument in ein utf-8, im xml-file sollte man dann auch in der deklaration das encoding entsprechend anpassen.
bonustipp: iconv konvertiert anscheinend nur, wenn es etwas zu konvertieren gibt; dokumente, die zb in us-ascii herumliegen, bleiben unberührt, weil us-ascii ein subset von utf-8 sind. wenn man also nach einem
file -I test.utf-8.xml
test.utf-8.xml: application/xml; charset=utf-8
sehen will, dann muss man das dokument vor dem konvertieren mit einem umlaut oder so befüllen, den man danach wieder entfernen kann.
Sips
(eher eine #nts aber vl. interessiert das einen von euch und es ist in jedem fall gut zu wissen, dass es sowas gibt):
sips ist eine art universelles konversions- und manipulationstool für bilddateien, das mit jedem mac kommt. wer also ein bild in etwa jpg, gif oder png herumliegen hat, der kann es mit sips vergrössern, verkleinern, croppen, drehen, usw. im terminal:
sips -z 155 250 beta.png
^ erzeugt etwa die übersichtlichen screenshots fürs momb
sips -Z 400 squirrel.png
^ stutzt ein bild auf die grossartige, hier benutzte grösse zusammen, usw.
praktisch sind auch noch:
sips -r 90 bild.png
^ dreht ein bild um 90°
sips -p 75 400 icon.png
^ füllt ein bild bis zur angegebenen grösse aus.
Pandoc
(eher eine #nts aber vl. interessiert das einen von euch und es ist in jedem fall gut zu wissen, dass es sowas gibt):
pandoc ist eine art universeller konvertierer zwischen allen gängigen markup formaten. wer also ein dokument in etwa docbook, latex, markdown oder textile herumliegen hat, der kann es mit pandoc in jedes andere strukturierte format aber auch in html, txt, pdf oder epub konvertieren, wobei die auszeichnungsinformationen und links wo möglich erhalten bleiben.
(wie man es installiert steht hier, das mit dem basictex steht eh dabei, man braucht nicht das 2,5gb tex)
pandoc -s -S input.ext -o output.ext
^ wenn die filename extension stimmt, reicht das üblicherweise zum konvertieren aus, zb
pandoc -s -S test.md -o test.textile
pandoc -s -S test.md -o test.pdf
pandoc -s -S test.textile -o test.html
mit -f format
resp -t format
kann man die formate ggf. noch spezifizieren.
—
beim zielformat pdf ist vl. noch gut zu wissen, dass man mit
pandoc -s -S test.textile -H margins.sty -o test.pdf
formatierungsoptionen aus dem file margins.sty einlesen kann.
\usepackage[vmargin=1in,hmargin=1in]{geometry}
und inline kann man mit \newpage
einen seitenumbruch angeben.
AWS-CLI
mehr der dokumentarischen vollständigkeit halber (siehe grunt ):
amazon offeriert für die webservices ein CLI, siehe aws-befehlszeilenschnittstelle
kann man mit pip resp. brew
pip install awscli
brew install awscli
installieren und funktioniert nach einem
aws configure
wo man den key und die region angibt auch sofort und soweit ich sehe auch weitestgehend erwartbar.
—
aws s3 sync --acl public-read hackr s3://hackr/
^ wenn man also etwa schon ein s3 bucket angelegt und ‘static website hosting’ enabled hat, dann kann man mit einer zeile ein lokales verzeichnis mit s3 syncen und von dort aus als statische webseite betreiben.
Grunt
der dokumentarischen vollständigkeit halber:
hatte im rahmen von dem semibigdata-kurs der university of washington auf coursera gestern und heute das erste mal handkontakt mit ec2 resp. elastic mapreduce (amazon’s infrastruktur für mapreduce/hadoop).
—
vorbereitend muss man
(a) ein account anlegen, da beginnt man hier und klickt sich durch (man kann ein bestehendes amazon account verwenden, man muss aber auch für den free tier eine kreditkarte angeben und eine telefonnummer via pin verifizieren).
(b) für jede aws-zone, die man verwenden möchte, ein key pair für ssh generieren. den privaten key bewahrt man als keyname.pem lokal irgendwo auf.
zum anlegen eines clusters für elastic mapreduce
(1) geht man dann zur management console,
(2) klickt auf ‘create cluster’ und ändert dort ggf. die defaults (wenn man nicht weiß, was man tut, lässt man sie am besten wie sie sind)
(3) definiert unter ‘hardware configuration’ die art und anzahl an ec2 instanzen, die man gerne hätte (einen master node + x core oder task nodes)
(4) verbindet unter ‘security and access’ den oben generierten key
(5) klickt nochmal auf ‘create cluster’ und wartet, bis sich auf der nächsten seite der status von ‘starting’ in ‘running’ ändert. dort sieht man neben ‘master public dns’ dann auch die adresse vom cluster (in richtung ec2-xxx-xxx-xxx-xxx.yyy.compute.amazonaws.com).
und 5 minuten später hat man einen laufenden cluster mit bis zu 20 nodes. mit
ssh -o "ServerAliveInterval 10" -i keyname.pem ec2-xxx-xxx-xxx-xxx.yyy.compute.amazonaws.com
kann man dann ein terminal zum cluster öffnen, mit
ssh -L 9100:localhost:9100 -L 9101:localhost:9101 -i keyname.pem hadoop@ec2-xxx-xxx-xxx-xxx.yyy.compute.amazonaws.com
kann man den cluster und die laufenden hadoop jobs im lokalen browser der wahl monitoren.
mit dem ‘terminate’ button in der ‘management console’ kann man den cluster dann wieder terminieren, abgerechnet wird nach angebrochener stunde der eingesetzten instanzen, siehe die preisliste (nur als ballpark: mit 5-10 euro kann man schon einen cluster mit grösserer hardware starten und locker ein TB prozessieren, einen 10-node cluster mit kleinsten maschinen kann man schon für 15c/h betreiben).
unterm strich schon irre, wie leicht es also auch für administrative dummies ist, die finger auf rechenkapazitäten zu bekommen, vor allem wenn man die daten schon irgendwie in S3 hat, die scheinen mir der grösste flaschenhals zu sein; das terminal muss man allerdings wohl trotzdem gesehen haben und an pig als abstraktion für hadoop muss man sich wohl heranarbeiten.
—
nts ein paar gängige commands rund um hadoop/pig:
hadoop fs -mkdir /user/hadoop
legt auf dem cluster das verzeichnis für das HDFS file system an.
hadoop fs -getmerge /user/hadoop/job1 job1
merg’t und kopiert das ergebnis eines mapreduce jobs ins lokale verzeichnis des clusters.
scp -o "ServerAliveInterval 10" -i keyname.pem hadoop@ec2-xxx-xxx-xxx-xxx.yyy.compute.amazonaws.com:/home/hadoop/job1 .
kopiert dieses file dann auf den eigenen rechner.
pig
grunt>
mit pig kommt man ins pig prompt grunt.
grunt> raw = LOAD 's3n://uw-cse-344-oregon.aws.amazon.com/btc-2010-chunk-000' USING TextLoader as (line:chararray);
^ die zu prozessierenden daten kann man zb direkt aus S3 laden
wget http://uw-cse-344-oregon.aws.amazon.com.s3.amazonaws.com/btc-2010-chunk-000
hadoop fs -copyFromLocal btc-2010-chunk-000 /user/hadoop/btc-2010-chunk-000
pig
grunt> raw = LOAD '/user/hadoop/btc-2010-chunk-000' USING TextLoader as (line:chararray);
^ oder man importiert sie zuerst ins HDFS.
grunt> store hadoop_object into '/user/hadoop/job1' using PigStorage();
speichert das ergebnis im HDFS.
wenn man auf S3 ein bucket angelegt hat, kann man das ergebnis des hadoop jobs auch direkt in S3 schreiben (was natürlich nützlich ist, wenn man cluster nach bedarf startet und stoppt):
grunt> store hadoop_object into 's3n://bucketname/job1';
Correctiv
^ untested: correctiv (Recherchen für die Gesellschaft) – möchte anscheinend eine Art semidatengetriebes Journalismusprojekt werden.
Insights into the #WorldCup
mittlerweile schon wieder devoha: ein paar Visualisierungen der WM Dataflows von Google und Twitter:
» die WM in Suchen bei Google
» die WM in Google Trends
» die WM als globale Konversation bei Twitter
» die WM als Einsichten von Twitter
» das Raunen und Rauschen des Finales
Bonuslink: Facebook hat die Migrationen der Fans visualisiert:
5000 km
(siehe 3000km, 1000km, 750 km, siehe auch hackr_fitbit)
Most Beautiful Route
^ yahoo maps vl. bald mit der option auf schöne (und nicht nur schnelle) routen.
580,166 TPM
^ der dokumentarischen voha: twitter hat gestern nach dem 5:0 von ger vs. bra mit 580k tweets/min einen neuen rekord aufgestellt (dürfte am so wohl noch überboten werden).
Field Guide
^ irgw. recht nett gemacht: A field guide to Twitter Platform objects
Mo Beta Data Portal
gleich zwei neue open data portale in beta:
^ eines von der OECD: OECD Data Portal
^ und eines für Österreich: Open Data Portal Österreich (vl. ein bisschen weniger anspruchsvoll, aber mit tollen datensätzen wie den lottozahlen oder den auszeichungen der brau union)