Introducing Ace OSF mode

I recently introduced CodeMirror OSF mode. For an upcoming project (spoiler!) I need an editor which features live validation of OSF documents. The popular editor Ace has an easy way to implement such features. Ace OSF mode was born.


This Ace mode is available once you have installed Ace in your document. Then, all you have to do is to select this mode in Ace. Somehow like this:



Ace OSF mode is released under the MIT license.

Fork on GitHub Download

Introducing CodeMirror OSF mode

Shownotes in the context of Podcasts are a simple but suitable method to supply related information to the listener. One approach is the Open Show Notes Format which covers a few application fields.

As it name says, CodeMirror OSF mode, is a mode for CodeMirror which highlights OSF documents. The mode is thought to address people that usually write or edit Shownotes.


This CodeMirror mode is available once you have included the osf.js file in your document. Then, all you have to do is to select this mode in codemirror. Somehow like this:

The official CodeMirror site features lots of information about how to use CodeMirror.



CodeMirror OSF mode is released under the MIT license.

Fork on GitHub Download

MMXIII – 2013

Morgen ist es wieder so weit: Aus der Dreizehn wird eine Vierzehn. Eine neues Jahr beginnt. Zeit mal einen Rückblick auf das (noch) aktuelle Jahr 2013 zu werfen.


Obwohl in diesem Jahr eigentlich sehr viel passiert ist, verlief der Januar relativ ereignislos. Ich bin ein Jahr älter geworden, es war kalt – das war es eigentlich.


Im Februar war auch schon wesentlich mehr los – zumindest aus meiner Sicht heraus. Nachdem ich mich quasi mehrere Jahre von sozialen Netzwerken ferngehalten habe, entschloss ich mich es noch ein zu versuchen. Und zwar mit Wieso eigentlich? Ich muss vielleicht dazu erwähnen was damals, als ich mich entschloss es mit Social Media mal sein zu lassen, mein eigentliches Problem war: Mein Freundeskreis hält sich nicht in sozialen Netzwerken auf. Ein paar sind vllt. noch bei Facebook, allerdings setzte ich bei sozialen Netzwerken einen Austausch vorraus – der findet bei mir auf Facebook nicht statt, also fällt dieses Netzwerk schonmal weg. Jedenfalls war das eigentliche Problem, das ich es irgendwie nie, weder auf Twitter noch sonstwo, geschafft habe dazwischen zu kommen. Ich weiss nicht wo der Fehler lag – jedenfalls war es sehr frustrierend. Nichtsdestotrotz entschloss ich mich es noch einmal zu versuchen – und zwar mit Ich sollte Recht behalten. Da dieses Netzwerk noch relativ jung war, wurden die Karten quasi neu gemischt. Bis jetzt habe dort viele interessante Menschen kennen gelernt. Mit einigen Arbeite ich mittlerweile sogar an verschiedenen Projekten. Genau so habe ich mir das vorgestellt.

Simple Chart.js

Please see Version 1.0 in the repository for current version of enigma Chart.js!

The plugin is no longer maintained and is removed from the repository.


As I was searching for a wordpress plugin, offering an easy implementation plotted data I found many different approaches. However, those were on the one hand commercially available or on the other hand hard to work with. The Simple Chart.js plugin offers you a simple way to include and plot your data with six different kind of graphs. The plugin itself is based on the famous Chart.js library by Nick Drownie.


At the moment the plugin gives a basic functionally.

  • Choose from six different graphs to plot your data (metric)
  • Beside settings the plugins offers the full Chart.js experience (colors, labels…)
  • The graphs will use the default settings as given by Chart.js (For modification see the Chart.js documentation)
  • As Chart.js does not support legends yet, this is not included. However, this will be included in a future release

Other features will be included in further releases.

How to Use

The syntax itself is quite simple:

[chart TYPE DATA]

Current available types are: pie, bar, line, doughnut, polar and radar as provided by Chart.js. As each type of graph has different requirements there currently two groups of graphs which need different syntax for inserting data.

The first group consists of the types: pie, doughnut and radar. The insertion is quite simple for these ones:


For each value a color will be attributed. Colors can be inserted as described in the Chart.js documentation. Plotting some data with a pie, polar or doughnut chart could look like this:

Your code for the pie chart would be (ignore the space before the „chart“):

[ chart pie {58.1:#1bd081,30.17:#e0cb1e,11.73:#19a694}]

For the types line and polar things are a little bit more complicated due to the required labels. Here the data syntax consists of different elements:

{LABELS [fillColor;strokeColor;pointColor;pointStrokeColor||DATA|fillColor2;strokeColor2;pointColor2;pointStrokeColor2|DATA2]}

The data insertion starts with a ; separated list of the labels. Data and colors are then within squared brackets. Note the space between the labels and the first bracket. Also note that no spaces are used in LABELS or any other list of ; separated values. Spaces in labels will be a feature in future releases.

The line graph, for instance, would be resulted by (ignore the space before the „chart“):

[ chart line {1;2;3;4;5 [#FFFFFF;#CDCDCD;#CCCCCC;#000000|10;20;30;80;90||#ff3600;#CDCDCD;#000;#CCC|20;30;10;0;90]}]

The last available kind of graph is the bar chart. The syntax only slightly differs from the line or the polar graph. Here the pointColor and pointStrokeColor are not available. For instance,

[ chart bar {1;2;3;4;5 [#FFFFFF;#CDCDCD|10;20;30;80;90||#ff3600;#CDCDCD|20;30;10;0;90]}]

would result in this (ignore the space before the „chart“):

Known issues

You absolutely need to stick to the format when requesting a chart. It is not known or tested what happens if a wrong input is used. It is also known that there are some issues with the „wp-markdown“ plugin. For some reason there is an issue with random addition of backslashs to squared brackets. However, this is caused by the wp-markdown plugin and not by „Simple Chart.js“.


The plugin is no longer maintained.

Bug reporting & feature requests

Please use any of the provided ways on this website to contact me for reporting bugs or requesting features.

ADNCC API Version 0.6b

A new Version of the API (0.7b) is available here.


The ADN-client-comparison (ADNCC) API enhances the „ADN-Client Feature Matrix“ by @nhk in order to offer an API, which makes information about the clients accessible, in a different way then the original Spreadsheet. In detail, The data is pulled from the original spreadsheet and released as an JSON object. This data then can be used in any way.


Beside pulling the whole data, the pull request can be modified. For instance if you would like to pull information about a certain client only, you can limit the number of results by adding the clients name to the URL:

Another example would be that you only want to fetch all android clients. This could be realized by calling:

Indeed, this concept assigned to every key available in the data (e.g. stream_marker_support, interactions_view etc.).

Known Issues

As the API is in beta phase there are several things that need to be fixed, or are not as solid as they should be. It is known that if applying more than two filters, in some cases filters will be ignored randomly. However, the data obtained if using two or no filters worked fine for all performed tests.

Future development

In the near future it is planned use this API in order to build a website, which suggests suitable clients for the user, based on several choosable filters and criteria. It is not known yet if the API filter-options are further developed, because this strongly depends on if it is necessary to build the mentioned website.


PHP is known to decode and encode JSON to and from arrays. An example would be:

The database contains <?php echo count(json_decode(file_get_contents(""))); ?> entries.

Which would result in: The database contains 58 entries.

As the results of the request are in JSON-Format no further explanation for JavaScript-implementation should be needed ;-)


The provided data is neither collated by myself, nor by the developer of the clients. Therefore I’m not responsible for the accurateness of the provided information.

Feature requests, bug reporting etc.

Please report any feature requests and bugs, which were not mentioned in the known issues paragraph, to my ADN account.