Skip to content

JSONL - JSON Lines text format

Mal wieder etwas Schönes aus dem Entwicklungs-Alltag und was so alles anders kommen kann. Es sollen einige Zehntausend Datensätze aus Export-Dateien in die Datenbank importiert werden.

Abgesprochen waren XML-Dateien, weil das in einer früheren Version der Applikation auch so gehandhabt wurde. Meine Bitte war, dass diese Dateien zumindest komprimiert bereitgestellt werden sollen, damit der Download nicht so lang dauert wie bisher.

Geliefert wurden dann *.json.gz-Dateien, zwar komprimiert, aber wie aus der Dateiendung ersichtlich - kein XML. Egal, ich nehme sehr gern auch JSON. Also die Dateien erstmal entpacken und gucken, ob die Daten auch so aufgebaut sind wie erwartet.

"JSONL - JSON Lines text format" vollständig lesen

Austauschformate für Bierrezepte

Als ich das Rezept für mein kürzlich gebrautes IPA aufschrieb, machte ich mir Gedanken darüber, ob ich die Rezeptur auch in einem maschinenlesbaren Format veröffentlichen sollte. Ich betrieb also eine kurze Recherche, welche Tools und Formate für diesen Zweck existieren.

Screenshot des Programms Brewtarget

BeerXML

In meinen Bookmarks fand ich zunächst das XML-basierte BeerXML, laut Wikipedia

a free, fully defined XML data description standard designed for the exchange of beer brewing recipes and other brewing data.

"Austauschformate für Bierrezepte" vollständig lesen

Freier Routing-Dienst von MapQuest

Mapping ist ja einfach nur ein Hobby von mir. Seit ich vor einigen Jahren die Community-betriebene Openstreetmap entdeckt habe, faszinieren mich die unterschiedlichen Facetten dieses Themenkomplexes ungemein. Regelmäßig lese ich einige Mapping-Blogs, unter anderem OpenGeoData. Dort wurde gestern ein Hinweis auf ein neues, offenes Routing-API von MapQuest gepostet. Routing und Navigation waren bisher eigentlich immer so die Punkte, die ich als noch zu jung und experimentell und meist für den Praxiseinsatz unbrauchbar empfand. Das könnte sich nun ändern, denn der frei zugängliche Routingdienst von MapQuest setzt im Hintergrund auf Daten der Openstreetmap.

Interessehalber habe ich die Dokumentation mal überflogen und dieses Beispiel minimal abgewandelt, um den Dienst testen zu können. Funktionert 1A! So sieht das Ergebnis aus (bitte auf "Route berechnen" klicken)

ufXtract Microformats Parser

First, there was Optimus, now Glenn Jones at lab.backnetwork brings us ufXtract, another online Microformats parser. It was created with a specific goal in mind, namely in order to help explore the real world issues of creating portable social networks. So, for a start, ufXtract's main focus seems to be a set of Microformats related to social networking: hCard and XFN, rel-me, rel-next, and hAtom; but it can detect many others as well, even the quite complex hResume. Output formats comprise plain text, XML, and JSON. ufXtract is written in C# and seems to be pretty fast, although I cannot really compare its performance to that of Optimus.

I think this is great work by Glenn, and I'm curious about the demos he is going to add. Go ahead and check it out yourself, or click on one of the following links to see some demo output of this blog's contents:

Optimus Microformats Transformations

It's been silent here for too long, but that's because I have a lot of work to do on various projects. Other people are working, too. Two days ago, Dmitry Baranovskiy announced the release of Optimus, an online service that transforms microformatted XHTML pages to nice, clean, easily digestible XML, JSON or JSON-P. This is achieved by the informed and heavy use of XSL Transformations. Optimus currently filters out events (hCalendar), addresses (hCard), blog entries (hAtom), resumes (hResume), reviews (hReview), and many more, so every important Microformat is covered. The great thing is that Dmitry has released all the XSL and XML files required for the transformation (under this Creative Commons license, I figure?). This means that everyone can set up her or his own transformations. I can only start to think of all the good uses we can put this to.

See example Optimus output of the blog entry before this one.