“Weihnachtsprojekte”

Das mit diesen “Weihnachtsprojekten” / “Zwischen den Jahren-Projekten” ist irgendwie auch Murks. Oder ich habe zu viele Ideen. Jedenfalls ist in drei Tagen der Urlaub vorbei und auf der Bucket List für diesen Urlaub steht noch teilfertig:

  • besser JavaScript können: Das ist ganz gut gediehen
  • Vorbereitung für die Platform Developer Zertifizierung – Status: okayish
  • Tweet-Dump-Application für den @paintitscience bauen – Status: naja, der gute Wille zählt.
  • Das Gerüst einer generischen Randomizer-Funktion bauen, die im Process Builder in als Invocable Method läuft nach einer Idee von der @bethbrains – Status: okayish (es fehlen noch ein paar Feinheiten, aber da wird’s einen Open Source Release geben unter https://github.com/dstdia/SFDCRandomizer)
  • Und jetzt hat mit wieder mal @derguenther auf zwei interessante Themen gebracht:
    • Größere Texte ins Web publizieren und die Kommentare als Annotation denken. Ich weiß, da gibt’s Sachen wie thepund.it, hypothes.is, Annotate.JS und so. Aber ich finde das irgendwie schwach, dass man immer entweder ein Browser-Plugin braucht, sich bei einem 3rd-Party-Dienst anmelden muss oder nicht gemeinsam auf den Annotationen arbeiten kann.
    • Die Daten der Winzengruppe mal richtig strukturieren. Irgendwie scheint das Interesse da zu sein. Ich würde dazu ja naturgemäß eigentlich gern eine Force.com-Application nehmen, aber das ist dann vielleicht zu heftig für die “Zielgruppe”. Also versuche ich mich mal zu bremsen und baue in mySQL / PHP, vielleicht mit Cake oder so?

OK, vermutlich sind das genug Vorsätze, um 2017 noch nicht fertig zu sein mit allem 🙂

Ist JSON schreiben programmieren?

JSON (gesprochen wie Jason) ist ein guter Bekannter von allen, die etwas hinter die Kulissen des Web und von Datenschnittstellen schauen. JSON ist kein so besonders beliebter Typ, weil er sehr flexibel und verbiegbar ist. Aber viele lieben ihr auch genau deswegen. Neulich wurde ich mal gefragt, ob JSON bearbeiten programmieren ist. Ist es nicht.  Aber warum?

JSON steht für Javascript Object Notation – Javascript Objekt-Schreibweise. Und damit ist eigentlich die Antwort gegeben, warum JSON eben Schema und nicht Logik ist: JSON ist ein Weg, zu beschreiben, wie ein Objekt aussieht. Ja, JSON sieht aus wie eine Programmiersprache. Weil es in der Syntax von Javascript funktioniert. Aber das ist genau das gleiche wie “in Deutsch schreiben” mit “ein Gedicht” gleichzusetzen.

Also – was ist JSON dann?  “Ist JSON schreiben programmieren?” weiterlesen

“Chancen und Risiken” my ass.

Ich bin ja inzwischen fast erheitert, wenn ich in der Diskussion um “Digital Humanities” von “Chancen und Risiken” / “Grenzen und Möglichkeiten”  lese – aus meiner Sicht ist das inzwischen fast das eindeutigste Indiz, dass der Text eine Hidden Agenda hat und eigentlich die Zeit nicht wert ist, ihn zu lesen (EDIT: Man muss sich wohl mal die Frage stellen, für wen oder was eigentlich “Chancen” und “Risiken” bestehen – diese Frage drängt sich mir beim nochmal nachdenken auf). Ich nutze die Zeit lieber für einen Rant und will man über drei Toptreffer im Bullshit-Bingo der DH-Diskussion schimpfen.  ““Chancen und Risiken” my ass.” weiterlesen

Vom Historiker zum Salesforce-Architekten…

Das ging schnell rum: Inzwischen ist es knapp ein Jahr her, dass ich das Georg-Eckert-Institut. Leibniz-Institut für internationale Schulbuchforschung hinter mir gelassen habe. Und ich bin mit der Entscheidung immer noch sehr glücklich, auch wenn ich mit Herzblut als Historiker und Grenzgänger zwischen IT und Geisteswissenschaft gearbeitet habe.  “Vom Historiker zum Salesforce-Architekten…” weiterlesen

Drei Pfund Gehacktes vom Winzen (Daten-Skelettierung Pt. III)

Ein paar Werktage Pause muss auch mal sein, aber jetzt geht’s weiter mit der Sektion des Winzen-Projekt von @derguenther. Die Diskussionen dazu sind ziemlich spannend und interessanterweise ist dadurch meine Webseite so häufig besucht wie nie in ihren 10 Jahren Bestehen. Es scheint also so eine Art Interesse zu geben.

Damit wir jetzt ein bisschen voran kommen, habe ich einmal eine komplette Liste aller Felder auf dem Stammdatenblatt gezogen und transponiert (um 90° gedreht, für alle, “die-wo-nicht-Statistiker-sein-tun”). “Drei Pfund Gehacktes vom Winzen (Daten-Skelettierung Pt. III)” weiterlesen

SELECT * FROM `Disadvantages`LIMIT 1

Es gibt einen entscheidenden Nachteil, wenn man sich entscheidet, mit einem Datenbankserver zu arbeiten: Es gibt erstmal kein (oder kein richtiges) Frontend. Alles, was man sehen will, muss man entweder durch ein Web-Tool wie PHPMyAdmin abfragen, oder man muss ein Desktop-Tool einsetzen (ich mag auf dem Mac SequelPro ausgesprochen gerne, aber es gibt auch die offizielle mySQL-Workbench, aber die ist schon ziemlich sperrig). Für Windows hieß das beste Desktop-Tool mal HeidiSQL, das kann ich aber nicht mehr beurteilen. Man kann mittels eines ODBC oder JDBC-Treibers einen mySQL-Server als Datenquelle in MS-Office oder Open-/Libre-Office nutzen – das ist schon etwas mehr “advanced”. Und keine Lösung davon bietet Euch, was Access von Haus aus kann – für jede Tabelle direkt eine Ein- und Ausgabemaske jenseits der “excel-ähnlichen” Ansicht oder einer zeilenweisen Darstellung zu haben. Das ist natürlich gerade für Tabellenbezüge ein wenig… unschön.

Es gibt wahrscheinlich 1000 Wege, sich schnell ein Frontend für mySQL in der Sprache seiner Wahl zu bauen. Manches davon ist sogar schnell schön. Man muss es eben auch noch zusammenbauen, wenn man mit der Datenstruktur fertig ist. Muss man in seine Vorüberlegungen und Zeitplanungen mit einbeziehen, auch wenn es nur ein paar Stunden oder in der Summe vielleicht auch Tage sind.

Das Semikolon

SQL trennt seine Anweisungen mit Semikolons oder wie auch immer der Plural von den Dingern heißt. Und führt Anweisungen hintereinander aus, wenn in einem Aufruf mehrere gültige Anweisungen durch Semikolons getrennt vorkommen. Der Hesse sagt also “uffbasse”, das ist ein Imperativ und heißt  “Aufpassen”. Aufpassen worauf?

Aufpassen, dass unter keinen Umständen jemand sein eigenes Semikolon mitbringen kann, wenn ihr den Datenbankserver abfragt:

Angenommen, der Inhalt eines Suchfelds wird in eine Datenbankabfrage eingefügt, und zwar so:

SELECT * FROM `Table`WHERE `LastName`= “BENUTZEREINGABE”;

Dann kommt doch tatsächlich jemand und sucht nach

Schmidt; DROP `Table`;

Was passiert dann wohl? Große Scheiße! Und das war noch die harmloseste Art von SQL Injection. So nennt man das, wenn jemand sein eigenes Semikolon mitbringt. Also uffbasse, gelle?!

Vivisektion – Ein Einstieg

Der @derguenther ist vor ein paar Tagen bei mir in dieses Twitter reingerauscht und hat mich um Rat bezüglich Datenbanken gefragt. Guter Rat ist ja teuer, wenn man nur diffus weiß, was eigentlich die Frage ist, und deshalb hatte ich ihn eher spöttisch gefragt, wie “köheim” seine Daten sind, oder ob er mir ein paar Zeilen aus Excel raushauen kann. Und siehe da – der Kollege macht das die ganze Zeit schon und hinterfragt seinen Weg, wie er zu Erkenntnissen findet, offen in seinem Blog.

Von dort habe ich mir seine Datenstruktur gezogen, kann jeder für sich selbst auch machen, und mal einen Blick darauf geworfen. Zwei Fragen hat er: (1) wie mache ich es, dass jeder Fund auch eine Belegstelle bekommen kann, und (2) wie schaffe ich eine gesunde Datenbasis für verschiedene Visualisierungen?  “Vivisektion – Ein Einstieg” weiterlesen

Datenbank: Warum denn das?

Ich bin ja immer etwas überrascht, was mir so unter dem Begriff “Datenbank” in meinem bisherigen Historikerleben begegnet ist. Da ist vieles dabei, was wirklich eine Datenbank ist – aber auch vieles, was noch nie eine Datenbank war.

Ich bin freundlich und lasse Excel gerade noch durchgehen. Da stimmt die Idee, der Ansatz und die Exportfunktion (OpenOffice, LibreOffice, Numbers sind auch gemeint).

Was generell zu beobachten ist, ist, dass für die lokale Installation eigentlich nur Access und Open-/LibreOffice mitwachsen und einigermaßen eine Chance auf ein langes Leben hatten. Eigentlich recht gute Dinge wie Filemaker gehören inzwischen zur Computerarchäologie (und die Marke immerhin noch zu Apple) gehören. Die Daten bekommt man aus proprietärer Einzelplatz-Software in der Regel nie wieder raus, wenn man nicht rechtzeitig in offene Standardformate exportiert hat.  “Datenbank: Warum denn das?” weiterlesen