ek

Beiträge zum Thema JS, HTML, CSS & anderem Kram

GitHub Random Favorite

»GH Random Favorite« im Google Chrome Store

»GH Random Favorite« auf GitHub

Interessante GitHub-Repos zu favorisieren ist fast schon ein Reflex. Ich denke, niemand spart dabei mit Sternen. Allerdings gilt für die meisten favorisierten Repos wohl der Leitspruch: aus den Augen, aus dem Sinn.

Das ist schade und oftmals ärgerlich. Wie oft sucht man nach einer Lösung (aka Library, PlugIn, Framework, …) für ein bestimmtes Problem und stellt dann — nachdem man auf GitHub etwas gefunden hat — fest, dass man das Repo vor einem halben Jahr schon einmal favorisiert hat.

Um dieser Form der digitalen Demenz entgegen zu treten, habe ich eine Chrome-Extension — »GH Random Favorite« — geschrieben, die auf der GitHub-Startseite ein zufällig gewähltes Repo aus der Favoritenliste anzeigt. Dabei treten wahre Schätze wieder zutage.

Probierts mal aus!

Sollte es Probleme geben, kann im zugehörigen GitHub-Repo ein Ticket angelegt werden.

PS: Das ganze läuft über die stark reglementierte Public API von GitHub. Es können also nur 30 zufällige Favoriten pro Stunden angezeigt werden (es braucht zwei Requests pro zufälligem Favorit). Sollte sich herausstellen, dass das zu wenig ist, könnte man über die Integration von OAuth nachdenken. Das spielt für mich momentan jedoch noch keine Rolle.

Anarchy

Photo by Kim Yokota (CC)

Da ich mich gerade auf einem beliebten und nicht unumstrittenen Social Network über den SpOn-Artikel “NSA-Spähprogramm: Friedrich fordert Deutsche zu mehr Datenschutz auf” aufgeregt habe und das zu einem relativ umfangreichen Kommentar geführt hat, möchte ich die Gelegenheit nutzen, mich auch noch einmal öffentlich zu echauffieren.

Unser werter Bundesminister des Inneren, HP Friedrich, hängt nämlich der Meinung nach, die Lösung gegen Totalüberwachung à la NSA wären größere Bemühungen seitens der Bürger, sich selbst zu schützen. Nun bin ich sicherlich kein Anhänger des paternalistischen Staates. Ich erfreue mich meiner Mündigkeit und bin gerne bereit, die damit einhergehende Verantwortung für mich und mein Handeln zu tragen.

Doch alles hat Grenzen. Ich besitze beispielsweise keinen prall gefüllten Waffenschrank. Zwar besteht die hypothetische Möglichkeit von vorsätzlichen Eingriffen in meine körperliche Unversehrtheit durch Dritte, doch hat hier der Staat die Hoheit über die Sicherung meiner Gesundheit. Das ist auch in Ordnung. So genannte “Wild-West-Zustände” halte ich für wenig konstruktiv.

Wenn man sich dagegen die gebetsmühlenartig vorgetragene Beteuerung, das Internet sei kein rechtsfreier Raum, und die teilweise recht strenge “Hacker-Gesetzgebung” anschaut, verwundert es jedoch stark, dass es bei der Überwachung durch (ausländische) Geheimdienste auf einmal anders sein soll. Dass hier nicht mehr der Staat die Wahrung der Grundrechte seiner Bürgerinnen und Bürger übernimmt, sondern dass diese sich selbst helfen müssen.

Herr Friedrich scheint der Meinung zu sein, dass man übernommene Verantwortung mal eben ablegen kann, wenn es opportun erscheint. So viel mangelnde Souveränität und Integrität ist erschreckend!

Das Wochenende um den 19./20. Januar 2013 hatten die Kollegen von Doctape zum Hackathon geladen. Anlass der Veranstaltung – falls es zum Hacken einen Anlass braucht – war der Launch des Doctape-API, welche von den anwesenden Codern auf Herz und Nieren getestet werden sollte. Als Veranstaltungsort wurde das Co-Working-Space EDELSTALL gewählt, da es zum einen die nötige Infrastruktur für den Anlass bot und zum anderen die Doctape-Büros beherbergt.

doctape-Hackathon | Hannover 2013

© Photo by Nicolas Hafele

Los ging es Freitag abend mit einer Präsentation des Unternehmens und der Veranstaltung, sowie einer Vorstellungsrunde der Teilnehmenden. Einige hatten auch direkt schon eine Idee, was sie bauen wollten, andere waren noch in der Findungsphase. Ungeachtet dessen machte sich eigentlich jeder sofort daran, einen ersten Zugang zum API per oAuth2 zu bekommen. Fürs leibliche Wohl wurde eine ansehnliche Pizza-Bestellung abgeschickt.

Ich selbst ließ es am Freitag bei der erfolgreichen Authentifizierung bewenden und trat um 00:30 Uhr den Heimweg an. Einige waren jedoch schon im Flow und blieben teilweise bis 04:00 Uhr morgens.

Doctape-Hackathon | Hannover 2013

© Photo by Nicolas Hafele

Am Samstag ging es um 10:00 Uhr ganz entspannt weiter. Ein gemeinsames Frühstück verschaffte die nötige Stärkung für einen langen Tag des Codens. Nach und nach trudelten auch die Nachtaktiven ein, so dass man ab dem frühen Nachmittag wieder vollzählig an den Rechnern saß und das API strapazierte. Ich hatte nun auch die Muße, mich meiner geplanten App zu widmen. Fürs leibliche Wohl traf mittags ein dicker Topf feinsten Chili con Carnes ein. Standesgemäß und vom Chili beflügelt wurde auch Samstags wieder bis tief in die Nacht hinein gehackt.

Der Sonntag begann wie der Samstag gemütlich mit einem gemeinsamen Frühstück. Anschließend gab es noch ein paar Stunden Zeit, das eigene Projekt fertig zu machen. Um 15:30 Uhr war dann Präsentation der Ergebnisse angesagt. Folgende, beachtliche Resultate sind zu vermelden:

Couchtape

Couchtape ist eine pfiffige, auf Node.js und WebSockets basierende Anwendung, die eine zentral zugängliche Playlist anzeigt und sukzessive abarbeitet. Die Songs kommen von einem Doctape-Account. Die Playlist wiederum kann von Anwesenden befüllt werden, indem diese mit ihrem Smartphone (per Browser) auf das Couchtape-System gehen und dort die verfügbaren Songs auswählen und auf die Liste setzen. Durch die Verwendung von WebSockets ist gewährleistet, dass die zentrale Playlist und alle anwesenden Clients immer in Sync sind.

Das Projekt wird weiter entwickelt und freut sich über Contributors!

TapeBooth

TapeBooth ist eine iOS-App, die es ermöglicht, Bilder zu machen, diese mit Filtern zu versehen und anschließend zu teilen. Nebenbei findet automatisch eine Synchronisierung mit dem eigenen Doctape-Account statt, so dass die Fotos automatisch in Doctape verwaltet werden können. Instagram for Doctapers könnte man – etwas einfallslos – sagen.

Doctape-Gallery

Der Name ist Programm. Doctape-Gallery ist mit Node.js realisiert, zieht alle Fotos über das API und stellt sie in einer schicken Galerie dar. Per Tagging können Bilder in unterschiedliche Galerien eingeordnet werden.

MIDI-Delight

Mein Beitrag zur Veranstaltung: MIDI-Delight zieht alle MIDI-Dateien, die man in seinem Doctape abgelegt hat, und bietet die Möglichkeit, sie im Browser anzuhören. Das ganze baut auf der bei Midi.js gleisteten Arbeit auf und funktioniert leider nur in modernen Desktop-Browsern, auch wenn das Layout der App etwas anderes suggeriert.

Das war es, was ich in Erinnerung behalten habe. Die Liste ist unvollständig. Wer seinen Beitrag zum Doctape-Hackathon hier nicht wiederfindet und das gerne ändern möchte, teilt es mir am besten über einen Kommentar mit. Ich passe die Liste dann an.

Ansonsten bleibt festzuhalten, dass die Veranstaltung gelungen und ein großer Spaß war. Vielen Dank an Doctape und auf ein nächstes mal!

In einem neuerlichen Anlauf zur Novellierung des Jugendmedienstaatsvertrages (Positionspapier [PDF]) kann der Medienpolitische Expertenkreis der CDU Deutschland mit einem Vorschlag aufwarten, der in punkto Absurdität sicherlich seinesgleichen sucht: Neben den Kennzeichnungen für die Altersstufen 6, 12, 16 und 18 soll es eine weitere Kennzeichnung für Blogs geben – das “B”.

Dieser Vorschlag kann nur von Politikern kommen, die in tagelangen Gremiumssitzungen mal wieder komplett den Bezug zur Realität verloren haben. Und grundsätzlich regt mich diese Anekdote auch zum Schmunzeln an. Allerdings gibt es zwei Punkte, die mir doch übel aufstoßen:

[…] und ein System der regulierten Selbstregulierung auch für diese Mediengattung einzuführen.

“Regulierte Selbstregulierung” – das dürfte wohl die paternalistische Herangehensweise an die Thematik sein. Allerdings sehr wohlwollend – natürlich kriegen “die Blogger” so etwas wie Selbstregulierung nicht hin. Trotzdem dürfen sie sich ein bißchen ausprobieren. Weil sie das mögen. Vater Staat korrigiert hinterher nochmal kräftig nach eigenem Gutdünken. …das ist der blanke Hohn.

In Zukunft sollten die Blogger dann eigenverantwortlich die Reputation der Kennzeichnung “B” hochhalten, indem sich die Szene selbst reguliert, z. B. durch das Instrument des “Crowd-Sourcing”.

Was hier in meinen Augen implizit zum Ausdruck kommt, ist, dass Inhalte ab 18 minderwertiger Qualität sind. So etwas unverblümt zu behaupten ist hochgradig ignorant und unverschämt. Und wie die Regulierung der Selbstregulierung durch die sog. “Szene” ausfallen dürfte, kann sich jeder vorstellen. Ich vermute allerdings, dass die Verantwortlichen für derlei Details kein Auge hatten im Freudentaumel über das gelungene Buzzwording (siehe “Crowd-Sourcing”).

Alles in allem frage ich mich mal wieder, warum die Herrschaften Politiker nicht mal fünf Minuten Pause machen und an die frische Luft gehen können, anstatt sich während endloser Sitzungen in hirnlose Abstrusitäten zu verrennen?!

Gefunden bei netzpolitik.org

Clipboard – Digitales Notizbrett mit Node.js und Backbone.js

Um etwas Zerstreuung vom Uni-Lernstress zu bekommen, habe ich einen Ausflug in die bunte Node.js-Welt unternommen. Als Mittel zum Zweck diente mir dabei das digitale Notizbrett “Clipboard”. Serverseitig kommt das Application-Framework Express zum Einsatz. Gespeichert werden die Daten in einer MongoDB-Datenbank mithilfe von Mongoose.

Client-seitig kommt die bewährte Kombo aus Underscore, Backbone und jQuery zum Einsatz. Für Ordnung sorgt überdies Require.js, wobei ich auf folgenden Ansatz zurückgegriffen habe: Modular JavaScript & Backbone.js. Außerdem hat jQueryUI einen “Gast-Auftritt” und sorgt für die Draggability der Notizen.

Das Hosting übernimmt dankenswerterweise AppFog, die Daten werden bei MongoHQ abgelegt. Defenitiv zwei sehr praktische Services.

(Clipboard-Code bei GitHub)

Backbone.js – Logo

Wer hier gelegentlich mitliest, wird eventuell mitbekommen haben, dass ich mich gerne mit dem JavaScript-MVC-Framework Backbone.js beschäftige. Von daher war meine Freude recht groß, als ich gewahr wurde, dass Addy Osmani höchstselbst sich dran gemacht hat, eine unter CC-Lizenz stehende Wissenssammlung zum Thema unter dem Namen “Backbone Fundamentals” zu scheiben.

Diese behandelt die Basis-Themen und gibt einen kurzen Einblick in das Thema Backbone.js. Des weiteren wird die Entwicklung einer “RESTful Application” mithilfe von Node.js, Express, Mongoose und MongoDB beschrieben. Es folgt eine Einführung in das Thema “Modular JavaScript” im Kontext von Backbone.js, abgerundet durch konkrete Anwendungsszenarien. Anschließend wird das nicht uninteressante Thema Backbone.js in Kombination mit jQuery Mobile behandelt. Und zum Schluss steht Unit Testing mit dem Test-Framework Jasmine auf der Agenda.

Alle Themen werden anhand der Backbone-Todo-Application erläutert, so dass der praktische Einsatz der vorgestellten Techniken direkt ersichtlich wird. Meinem Empfinden nach entsteht mit “Backbone Fundamentals” eine sehr wertvolle, breit gefächerte Ressource, was das Thema Backbone.js anbelangt. Vielen Dank deshalb an Addy Osmani und allen weiteren, die mitgeholfen haben.

Zum Schluss möchte ich jedoch auch anmerken, dass es sich bei “Backbone Fundamentals” nicht gänzlich um Einstiegslektüre handelt. Grundsätzlich sollte man ein Verständnis von JavaScript, DOM-Libraries im allgemeinen und Application Development in Ansätzen mitbringen, um sich der Lektüre der Basics zu widmen. Bei den weiterführenden Themen ist ein Grundverständnis der verwandten Frameworks und Techniken, die im Kontext von Backbone.js beleuchtet werden, sicherlich auch hilfreich.

Obwohl meiner Meinung nach auch nichts dagegen spricht, bspw. das Kapitel “Modular JavaScript” zum Anlass zu nehmen, sich endlich einmal mit der Materie auseinander zu setzen. Allerdings wird man in diesem Fall wohl nicht umhin kommen, begleitende Lektüre zu konsultieren.

Rollstuhlsport – Android-App des DRS

Der Deutsche Rollstuhl-Sportverband hat neuerdings eine Android-App, welche ich in meiner Rolle als Frontend-Developer bei w3design. entwickeln durfte. Die App wird zeitnah außerdem auch für das iPhone erscheinen.

Was daran jedoch besonders interessant ist – abgesehen vom Erscheinen der App selbst –, ist die Tatsache, dass ich sowohl von Java, als auch von Objective-C nicht den blassesten Schimmer habe. Vielmehr habe ich mich beim Entwickeln der App auf meine HTML-, CSS- und JavaScript-Kenntnisse verlassen. Möglich ist das durch PhoneGap, ein Framework, das Web-Apps in native Apps umwandelt und dabei ein paar sinnvolle Hardware-APIs zur Verfügung stellt.

Für die App selbst, habe ich auf Backbone.js gesetzt, da es mir gute Möglichkeiten bot, einerseits die Fülle an unterschiedlichen Daten zu verarbeiten, und andererseits ein sehr umfangreichen “One-Pager” zu bauen, welcher aus einer index.html besteht und alle Unterseiten client-seitig rendert.

Ich kann Phonegap jedenfalls nur empfehlen und möchte noch auf LungoJS hinweisen, welches bei kleineren Apps sicher gut mit Phonegap Hand in Hand geht.

AK Madagaskar Filmtrailer auf Vimeo

Vor etwas mehr als einem Jahr sind einige Pfadfinderinnen und Pfadfinder vom AK Madagaskar des VCP Land Niedersachsen nach Madagaskar gereist um das Land kennen zu lernen und den Fortschritt des dort betreuten Projekts zu begutachten.

Des weiteren wurde der Plan gefasst, im Zuge der Reise einen Dokumentarfilm sowie eine Fotoausstellung zum Thema “Kindheit und Jugend in Madagaskar” zu erstellen. Beides – Film und Ausstellung – nähern sich nun langsam der Fertigstellung. Obiger Trailer gibt schon einmal einen Vorgeschmack auf das, was kommen wird.

Google Music Tour – Screenshot

Google stellt seinen neuen Service “Music” mit einer ziemlich beeindruckenden Tour vor. Diese ist multimedial, gefällig im Design und insgesamt sehr kurzweilig. Die einzelnen Bereiche der Tour werden durch Tonspuren repräsentiert, die quirlig über den Bildschirm flitzen und sich sukzessive zu einem Song ergänzen.

Ist man mit der Tour fertig, ist auch der Song vollständig und kann kostenlos heruntergeladen werden. Das ist ein ziemlich guter Call-to-Action und katapultiert den Besucher direkt in das Google-Music-System. Die erste Hemmschwelle, den Service auszuprobieren, könnte also schnell abgebaut sein. Allerdings funktioniert das nicht, wenn man nach dem Klicken des Download-Buttons folgende Seite angezeigt bekommt:

Google Music – Song not available in your Country

Nun muss man Google zugute halten, dass der Service noch brandneu ist und es daher nicht verwundern sollte, wenn er nur nach und nach über die US-amerikanischen Landesgrenzen hinaus erweitert wird. Aber ein bißchen ernüchternd war das nach der Präsentation zuvor schon…

(via @73inches)

Apple-Website: RIP Steve Jobs

Letzte Nacht verstarb Steve Jobs – Gründer von u.a. Apple Inc. – mit 56 Jahren an Krebs.

Mein Verhältnis zur Firma Apple ist zwar seit längerem recht ambivalent – den in Funktion und Design überragenden Produkten steht ein oftmals zweifelhaftes Geschäftsgebaren gegenüber. Auch die Schar größtenteils unreflektierter Apple-Jünger erzeugt manches mal ein Stirnrunzeln meinerseits. Doch das alles ändert nichts daran, dass Steve Jobs schon zu Lebzeiten als Unternehmer eine Legende war.

Sein beständiger Antrieb, Dinge voran zu treiben und weiter zu entwickeln, die konstante Suche nach Innovationen und das damit einhergehende regelmäßige, kritische Hinterfragen des Status Quo gepaart mit der Kompromisslosigkeit, mit der er die Dinge anging. Selbst Misserfolge waren keine Rückschläge, sondern nur weitere Teilstrecken auf dem Weg nach vorn.

Dies alles bietet Inspiration nicht nur für Unternehmer, sondern jeden Menschen, der das Leben nicht als statische Einheit zwischen Beruf, Reihenhaus und Kegelklub seht, welche es zu konservieren gilt. Und man entschuldige mir das Strapazieren überkommener Stereotype an dieser Stelle.

Wie dem auch sei, der langen Rede kurzer Sinn: RIP Steve Jobs.