tl;dr: listfileext ist ein kleines Python-Script, das alle Dateinamen-Erweiterungen (.jpg, .pdf, etc.) in einem Ordner und allen dessen Unterordnern auflistet.

listfileext

Um heraus zu finden, welche (obskuren) Datei-Typen sich in meinem Archiv befinden, habe ich im Juni ein kleines Python-Script geschrieben, das alle Dateinamen-Erweiterungen (wie .jpg, .pdf, .psd) in einem Ordner sowie allen dessen Unterordner auflistet: listfileext.py. Damit konnte ich zum einen kontrollieren, ob ich alte Projekte noch in einem anderen Format speichern musste (z.B. InDesign-Projekte verpacken mit IDML-Datei und einer PDF zur Ansicht) und zum anderen eine Liste mit Datei-Typen und Programmen, die diese öffnen können, anlegen (bspw: .idml: InDesign-Datei, die sich mit jeder InDesign-Version ab CS4 öffnen lässt.).

Auch wenn das Script nichts großes ist, habe ich es auf GitHub veröffentlicht; vielleicht hilft es ja noch einmal jemand anderem.

Arduino Starter Kit raus, Bastelarbeit. Der Versuch heute: die behutsamen Gefilde des mitgelieferten Projekt-Buches verlassen und die eingerosteten Elektrotechnik-Kenntnisse auffrischen.

Dafür zwei kleine Experimente: Eine LED soll zunächst auf dem Breadboard einfach nur leuchten; im zweiten Schritt soll diese, quasi wie im Hello-World-Beispiel Blink, blinken. Das erste Experiment ist einfache Elektrotechnik, das zweite verwendet den Arduino um die LED blinken zu lassen.

Hinweis: Dieser Blog-Beitrag ist kein Best-Practice-Beispiel eines Profis sondern ist nur die Dokumentation meines derzeitigen Kenntnisstandes.

Experiment 01: Simple LED

Im ersten Experiment soll einfach eine LED leuchten. Der Arduino dient dabei einfach nur als Stromquelle, die Schaltung selbst wird aus sogenannten diskreten Bauelementen aufgebaut – das heißt: aus einzelnen, einfachen Bauelementen und keinen komplexen, bereits vorgefertigten Bauelementen, die mehrere einzelne Bauelemente in einem vereinen (sogenannte integrierte Schaltkreise).

LEDs sollten, wie alle Dioden, nie ohne Vorwiderstand betrieben werden. Denn: Dioden bzw. LEDs können immer nur eine bestimmte Spannung vertragen, oder sie gehen kaputt (im Falle von LEDs: sie leuchten einmal sehr stark und danach nie wieder). Welche Spannung eine LED verträgt, das verrät ihr Datenblatt. Im Arduino Starter Kit selbst – und das kreide ich an – finden sich keine Datenblätter oder Informationen über die Bauteile. Allerdings gibt es in den Arduino Labs eine Liste aller Datenblätter des Starter Kits und dort findet sich auch eine Datenblatt zur grünen LED G502DC.

Dem Datenblatt kann man in der unteren Tabelle Initial Electronic Opitcal Characteristics in der Zeile Forward Voltage die minimale, maximale und typische Spannung entnehmen, die die LED verträgt: typische Betriebsspannung sollte 2,2 V sein, wenigstens aber 2,0 V und nicht mehr als 2,4 V – alles bei 20 mA.

arduino-datasheet-green-led

Damit stehen zwei wichtige Werte fest: Die Spannung an der LED und der Strom, der durch sie fließen darf.

Die LED und ihr Vorwiderstand werden in reihe geschaltet, das heißt: der Strom fließt von der Stromquelle zuerst durch den Widerstand und dann durch die LED, und dann zum Null-Leiter (GND). Bei einer Reihenschaltung verteilt sich die Spannung auf die Bauteile in der Schaltung und der Strom, der durch alle Elemente fließt, ist immer gleich. Heißt: An der LED sollten nur 2,2 V Spannung anliegen, die Schaltung wird aber mit dem 5 V-Ausgang des Arduino gespeist, also muss der Widerstand so dimensioniert werden, dass an ihm 5 V – 2,2 V = 2,8 V anliegen.

Nun fragte ich mich, welchen Strom der 5V-Ausgang beim Arduino lifert, um sicher zu gehen, dass der Ausgang den richtigen Strom liefert (und nicht zu viel), um dann entsprechend des Ohm’schen Gesetzes den richtigen Widerstand zu berechnen. Auf diese recht einfache Frage, gibt es aber keine richtig einfache Antwort, denn anscheinend liefert der 5V-Ausgang einen variablen Strom, je nachdem, was die Schaltung benötigt (aber nur bis max. 500 mA beim Verwenden des Arduino über USB, bei externer Stromquelle sogar bis max. 1 A, siehe Arduino Forum: Arduino Uno 5 V Supply Limit). Welcher Strom tatsächlich fließt, lässt sich nur mit einem Multimeter nachmessen, dass ich gerade leider nicht zur Hand habe.

Wenn ich aber dem Projekt-Buch des Starter Kits vertrauen kann, so liefert der Arduino für diese Schaltung 23 mA:

In the circuit shown in Fig. 5, you’re supplying 5 volts. The resistor offers 220 ohms resistance. To find the amperage used by the LED, replace the values in the equation. You should have 5=I*220. Dividing both sides of the equation by 220, you’ll find that I = .023. That’s 23 thousandths of an amp, or 23 milliamps (23 mA) used by the LED. That value is just about the maximum you can savely use with these LEDs, which is why you used a 220-ohm resistor.

Arduino Project Book, P. 30

Das ist etwas mehr als auf dem Datenblatt beschrieben, dürfte aber noch im Toleranzbereich liegen.

Im Beispiel des Projekt-Buchs wird ein Widerstand von 220 Ω empfohlen: In die Formel des Ohm’schen Gesetztes U = I * R werden die Werte für die Spannung U = 5 V und Strom I = 23 mA eingesetzt: 5 V = 23 mA * R. Umgestellt ergibt sich die Formel R = 5 V/23 mA = 217,39 Ω. Da es keinen 217,39 Ω-Widerstand gibt, verwendet man einfach den nächst besten: 220 Ω.

Was mich an der Rechnung etwas wundert, ist, dass dabei von der gesamt Spannung der Schaltung ausgegangen wird, also 5 V, und nicht von der Spannung am Widerstand, die nur 2,8 V wäre; dann müsste nämlich der Widerstand nur 121,73 Ω sein. Und entsprechend, wenn ich von 20 mA statt 23 mA in der Schaltung ausgehe, 140 Ω. Das Ergebnis liefert auch der praktische Vorwiderstandsrechner.

Aber nun gut, mit einem Widerstand von 220 Ω bin ich auf jeden Fall auf der sicheren Seite und außerdem habe ich gerade auch keine niedrigeren zur Hand.

Mit diesen Berechnungen konnte ich nun die Schaltung auf dem Breadboard zusammenstecken und testen:

arduino-skecht01
Roh-Daten des Experiment 01 bei GitHub

Experiment 02: Blinken der LED

Mit dem ersten Experiment ist schon die meiste Vorarbeit erledigt, es ändert sich lediglich der Stecker der Versorgung: statt dem einfachen 5V-Ausgang verwendet dieses Experiment den Digital-Pin D3, der ebenfalls – wie alle Digital-Pins – mit 5 V arbeitet (also ausgibt oder einließt).

Durch die Verwendung des digital Ein- bzw. Ausgangs D3 gibt es nun die Möglichkeit die Stromzufuhr zur LED mittels des Microprozessors des Arduinos zu steuern.

Damit die LED blinkt muss der Arduino nur noch mit dem modifiziertem Blink-Programm geflasht werden:

void setup() {
  pinMode(3, OUTPUT);
}

void loop() {
  digitalWrite(3, HIGH);
  delay(500);
  digitalWrite(3, LOW);
  delay(500);
}

Die LED sollte nun im halben Sekunden-Takt aufleuchten und wieder erlöschen, und somit blinken.

Roh-Daten des Experiment 02 bei GitHub

Dieser Blog ist delivered in beta, denn: Diese Website soll mir vor allem als ein Ort und Nicht-Ort zum Experimentieren und Basteln dienen, auch wenn ich damit noch hehre Ziele verfolge. Diese Website ist delivered in beta und wird es bleiben: here I can break things and I don’t care – im Gegensatz zu den Projekten, die ich für und mit Kunden betreue. Diese Website ist Freizeitvergüngen und kein Showcase meiner Arbeit; wenn hier etwas nicht funktioniert, so ist das nicht schön, aber nicht weiter schlimm – es sei denn, ihr, wehrte/r LeserIn, stört euch daran, dann, so bitte ich euch, nehmet euch etwas eurer kostbaren Lebenszeit und schreibet mir eine E-Mail an hi@arne.xyz.

Social-Bookmarking war bzw. ist für mich eine der interessantesten Methoden die mit dem Web 2.0 aufkam: interessante Links und gute Artikel versauern so nicht in den Lesezeichen des Browsers, sondern sind öffentlich einsehbar, lassen sich teilen und laden zum stöbern ein; durch Tags (also Schlagworte) lassen sich die Links sortieren und ganze Themensammlungen aufbauen und interessante Querverbindungen erkennen; und durch den Social-Networking-Charakter kann man leicht neue Inhalte zu einem Thema oder sogar ganze nützliche Link-Sammlungen finden.

So jedenfalls habe ich Social-Bookmarking damals mit Delicious kennengelernt (als es noch del.icio.us geschrieben wurde). Die Oberfläche war schlicht und eher puristisch, aber meiner Meinung nach genau richtig für diese Art von Service. Als Yahoo! dann del.icio.us übernahm, daraus Delicious machte und im gleichen Zuge das Interface »moderner« gestaltete, wurde es aber für mich aber zu unübersichtlich, mit zu vielen Störfaktoren, die es in der alten, kompakteren Oberfläche nicht gab.

Aus Mangel an guten Alternativen wechselte ich dann Insipid, einer Web-Software die auf dem eigenen Web-Server betrieben wird. Die Oberfläche und die Handhabbarkeit von Insipid waren OK, aber mehr auch nicht; und zudem fehlte – zumindest bei dieser Web-Software – komplett der Social-Networking-Charakter, aber das war in soweit in Ordnung für mich, solange ich meine eigenen Lesezeichen gut sortieren konnte. Aber die alte, etwas unsaubere Oberfläche störte mich dann doch etwas, allerdings war es nicht so einfach ein vernünftiges neues Design dafür zu entwickeln, da das HTML, das Insipid erzeugte, in meinen Auge recht krude war und ich entsprechend unmotiviert das CSS dafür zu schreiben (zudem war auch die Programm-Logik und das HTML nicht durch eine Template-Engine entkoppelt, sodass es nicht so einfach möglich war das HTML zu bearbeiten, zumal Insipid ein kleines Perl-Ungeheur war). Mittlerweile ist die offizielle Weiterentwicklung von Insipid auch eingestellt, es gibt aber noch ein GitHub-Repository, aus dem man es sich herunterladen kann.

Nach Insipid und einigen Anläufen etwas ähnliches aber moderner zu entwickeln – die leider alle aus Zeitmangel im Sande verlaufen sind –, wechselte ich zu einem Service, den ich schon länger im Auge hatte: Pinboard.

Pinboard, das sich selbst auch als Anti-Social-Bookmarking bezeichnet, bietet für mich die Mischung aus puristischer Oberfläche, wie es sie früher ähnlich bei del.icio.us gab, reicher Funktionalität und eben auch Social-Networking – aber nur für die, die möchten. Und ich möchte Social-Bookmarking und kann auch, wie bei Delicious, andere Links und Nutzer finden, die ebenfalls öffentliches Social-Bookmarking betreiben.
Zwei Wermutstropfen gibt es aber bei Pinboard: 1. Es kostet Geld, was aber wiederum heißt, dass ich eine Dienstleistung kaufe und nicht selbst das Produkt bin; 2. Es entspricht nicht ganz dem Ethos und der Idee des IndieWeb, das ich eigentlich gerne vorantreiben möchte, aber ich habe bisher keine gute Web-Software gesehen, die es mir so ermöglicht meine Lesezeichen in einer angemessenen, puristischen Oberfläche zu verwalten.

Ein weiterer Vorteil von Pinboard ist zudem, dass es ein etablierter Service ist, der entsprechend gut eingebunden ist: es gibt Apps für iOS, Android und Co. und andere Web-Services wie z.B. IFTTT oder Feedly unterstützen eine Anbindung.

Neuer Workflow voraus

Im Zuge meiner Nick-Änderung und der Umstellung meiner Online-Infrastruktur habe ich nun auch noch einmal meinen Online-Lese-Workflow unter die Lupe genommen: die meisten neuen, interessanten Artikel und Links finde ich durch Twitter, meinen abonnierten RSS-Feeds oder durch Recherchen. Die Links landeten dann meist entweder in meiner Lesezeichen-Leiste im Browser, in meinen Twitter-Fav’s oder im Read-Later-Service Instapaper – wobei ich sowohl in meine Twitter-Fav’s als auch in Instapaper kaum hineingesehen habe – und dann früher oder später bei Pinboard.

Nun bietet aber auch Pinboard die Möglichkeit Lesezeichen als »to read« zu markieren, sodass ich eigentlich auf einen Read-Later-Service, den ich eh kaum nutze, wie Instapaper verzichten kann. Und das habe ich nun auch getan: Instapaper habe ich aufgegeben, ebenso IFTTT, der zuletzt auch nur noch meine Instagram-Favoriten nach Instapaper geschaufelt hat.

Dafür habe ich mir für 4,95 € die iOS-App Pinner for Pinboard gekauft, mit der ich sowohl meine als »to read« markierten Pinboard-Links lese kann als auch aus anderen Apps wie Twitter bzw. Tweetbot Links in Pinboard speichern kann.

Mein Workflow sieht also nun in Kurzform wie folgt aus: Links, egal aus welcher Quelle, landen zunächst bei Pinboard und werden dort ggf. als »to read« markiert, die ungelesen Links kann ich dann, wenn ich Zeit und Lust habe, lesen.

Auf meinem Smartphone und Tablet läuft alles über die App Pinner for Pinboard: darüber kommen die Links zu Pinboard und darüber greife ich auf meine ungelesen Links zu.
Am Notebook oder Desktop-Rechner läuft alles über die Pinboard-Website bzw. zum speichern der Links verwende ich das Bookmarklet.

Von gestern Abend bis heute Abend lief zum Messen der Besucherzahlen ein Piwik und hat die Besucher dieses Blogs gezählt – allerdings Datenschutzkonform. Trotzdem benötige ich es, für das, was ich gerne wissen möchte und weshalb ich es irrtümlicherweise installierte, gar nicht; dafür sind die Log-Files des Webservers vollkommen ausreichend. Deshalb habe ich das Piwik wieder deinstalliert und alle Daten – wenn auch zum Glück noch nicht viele angefallen sind – gelöscht.

Shadowrun-Sammlung

Ich verkaufe meine Shadowrun-Sammlung: 24 Regelwerke und Abenteuer der Auflagen 2.01D und 3.01D, 3 Poster und 2 Shadowrun-Duels-Action-Figuren – alles gebraucht, aber mit einigen Raritäten. Verkauft!

Die Sammlung umfasst …

Name Version ISBN Zustand
DNA/DOA 2.01D 3-89064-703-0 fast neu
Asphaltdschungel 2.01D 3-89064-704-9 gebraucht
Schlagschatten 2.01D 3-89064-709-x fast neu, mit Name
Virtual Realities 2.01D 2.01D 3-89064-710-3 gebraucht
Dreamchipper 2.01D 3-89064-711-1 fast neu
Harlekin 2.01D 3-89064-715-4 gebraucht, mit Name
Brennpunkte: Bodenpläne für Shadowrun 2.01D, inkl. Poster Lone Star 2.01D 3-89064-718-9 fast neu, Umschlag mit Stoßkanten (Rarität)
Megakons 2.01D 3-89064-724-3 stark gebraucht, mit Name
Harlekins Rückkehr! 2.01D 3-89064-729-4 fast neu, mit Name
Schattenlichter 2.01D 3-89064-730-8 fast neu
Schattenlichter 2.01D 3-89064-730-8 gebraucht, mit Name
Walzer, Punks & Schwarzes ICE 2.01D 3-89064-733-2 fast neu, mit Name
High Tech & Low Life: The Art Of Shadowrun 2.01D 3-89064-734-0 gebraucht
Cyber-Piraten! 2.01D 3-89064-736-7 fast neu, mit Name
Meister- bzw. Spielleiterschirm 3.01D, inkl. Quellenbuch Critter 3.01D 3-89064-739-1 gebraucht
Shadowrun 3.01D Grundregelwerk 3.01D 3-89064-740-5 stark gebraucht, mit Name
First Run 3.01D 3-89064-741-3 fast neu
Renraku-Arkologie Shutdown 3.01D 3-89064-745-6 gebraucht
Matrix 3.01D 3-89064-747-2 fast neu, mit Name
Unterwelt-Quellenbuch 3.01D 3-89064-750-2 gebraucht, mit Name
Deutschland in den Schatten 2 3.01D 3-89064-753-7 gebraucht, mit Name
Bedrohliche 6. Welt 3.01D 3-89064-757-X gebraucht, mit Name
Drachen der 6. Welt 3.01D 3-89064-761-8 fast neu (eine umgeknickte Seite)
Portfolio eines Drachen: Dunkelzahns Geheimnisse 3.01D 3-89064-770-7 fast neu
Poster Striper Assasin gebraucht (Rarität)
Poster Lone Star fast neu (Rarität)
WizKids-Action-Figur Kellan Colt, Shadowrunner Duels stark gebraucht (Rarität)
WizKids-Action-Figur Kyushi, Yakuza Duels stark gebraucht

Hinweis:

Der Abenteuer-Band Schattenlichter ist doppelt, einmal gebraucht, mit Namen und einmal fast neu. Das Poster Lone Star ist ebenfalls doppelt: einmal »lose« und einmal als Zusatz zur Karten-Sammlung Brennpunkte.

Die Zustände im Detail

fast neu
unbenutzt, kleinere Makel durch lange Lagerung oder Versand
gebraucht
leicht abgegriffen, evtl. Stoßkanten
stark gebraucht
abgegriffen, Stoßkanten
Zusatz: »mit Name«
Mein Name steht auf einer der ersten Seiten im Buch

Versand

Die Versandt-Kosten liegen leider bei 8,50 €, da die Sammlung insgesamt auf 12 kg kommt und somit eigentlich in die größte Versand-Klasse fällt.

Continue

Die Veränderungen, die mit diesem neuen Blog einher gehen, sind für mich tiefgreifender als nur ein neuer Blog unter einer neuen Domain: ich versuche meinen alten Alias @aberaberarne weitestgehend abzulegen. Dieser 2008 gewählte Alias, der sich aus meinem altem, gleichnamigen Blog ergab, fühlt sich leider ebenfalls nicht mehr passend an. Also:

Say goodbye to @aberaberarne. And say ello to @arnexyz!

Soweit umgestellt sind …

Continue

Für diesen Blog verlasse ich auch beim Hosting gewohnte Gefilde: statt Webspace und Domain in einem bei einem rundum-sorglos Hoster wie All-Inkl.com zu mieten – mit dem ich für meine anderen Websites immer noch sehr zufrieden bin – liegt diese Website nun bei Uberspace (wobei Uberspace für mich nicht ganz neu ist, da ich schon seit längerem einen Uberspace gemietet habe, allerdings eher für das Entwickeln und Testen von Websites und nicht für den regulären Live-Betrieb).

Neu war für mich auf jeden Fall die Trennung von Domain und Hosting, die seit einiger Zeit bei Uberspace praktiziert wird und die von den meisten Webhostern zusammen als Paket verkauft wird.

Aus Ermangelung von Kenntnis an Domain-Registraren (Dienstleister bei denen Domains registriert werden können) bin ich dem Nicht-Tipp aus der Uberspace-Dokumentation zu InterNetworX gefolgt. Dort kostet mich die .xyz-Domain nun 12,38 € im Jahr, zzgl. PayPal-Gebühr: 13,03 €.

Dank PayPal-Zahlung und zügiger Aktualisierung der DNS-Server war die Domain dann auch innerhalb von zwei Stunden für mich erreichbar, sodass ich mit dem einrichten der Website zügig weitermachen konnte – vor allem auch dank der ausführlichen Dokumentation um die Domain mit dem Uberspace zu verbinden. Das ist dann auch wegen der guten Dokumentation und der hilfreichen Tools von Uberspace fast nur noch Nummern kopieren, wodurch ich aber doch noch etwas mehr Einblick und Verständnis für das Thema DNS bekommen habe und jetzt auch weiß, was genau ein A-, AAAA-, oder MX-Record ist.

In letzter Zeit treibt mich die Idee vom IndieWeb wieder stärker um: das »IndieWeb« als Gegenentwurf zu den großen, kommerziellen Plattformen wie Facebook oder Twitter, in dem jede, die kann und will, ihre eigene Website als ihre eigene Plattform betreibt und deren Inhalte dann auf ihrer Website, und somit mehr unter ihrer Kontrolle, bleiben.

Die jüngsten Artikel von wirres.net und notizBlog inspirierten und motivierten mich diese Idee wieder stärker zu verfolgen. Zudem überlegte ich eh schon seit einiger Zeit, ob ich mir für experimentellere Dinge noch eine weitere Domain zulege, denn alle anderen Websites und Domains, die ich besitze, schienen mir dafür nicht geeignet.

In Zeiten, in denen Menschen nach »Facebook« googlen statt die Adresse facebook.com direkt aufzurufen; und in Zeiten, in denen es neue Top-Level-Domains wie .rich oder .click gibt; in solchen Zeiten sind Domains Schall-und-Rauch. Was aber nicht bedeutet, dass Domain-Namen egal sind: sie sind immer noch identitätsstiftend – und das ist durchaus wichtig. Und eben deshalb breche ich mit arne.xyz nun auch mit meinen alten Blogs.

Hallo Welt. Neuer Plan. Neuer Blog. Alles wird gut.