<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <id>http://davidlanger.de/</id>
  <title>Nanoc test blog</title>
  <updated>2012-12-08T23:00:00Z</updated>
  <link href="http://davidlanger.de/" rel="alternate"/>
  <link href="http://davidlanger.de/feed/" rel="self"/>
  <author>
    <name>David Langer</name>
    <uri>http://davidlanger.de</uri>
  </author>
  <entry>
    <id>tag:davidlanger.de,2012-12-09:/articles/medo-thesis/</id>
    <title type="html">MEDo &#8211; My Thesis</title>
    <published>2012-12-08T23:00:00Z</published>
    <updated>2012-12-08T23:00:00Z</updated>
    <link href="http://davidlanger.de/articles/medo-thesis/" rel="alternate"/>
    <content type="html">&lt;h1 id="medo--my-thesis"&gt;MEDo &#8211; My Thesis&lt;/h1&gt;

&lt;p&gt;Finally after finishing my thesis a long time ago we had our graduation celebration, and it was great seeing all my friends again. Can not believe it has been already more then six month since I finished university!&lt;/p&gt;

&lt;p&gt;I take this as a reason to present my diploma thesis here as well:&lt;/p&gt;

&lt;h3 id="mobile-task-management-for-medical-ward-rounds"&gt;Mobile Task Management for Medical Ward Rounds&lt;/h3&gt;

&lt;p&gt;&lt;img src="/assets/articles/medo-three-ipads.png" alt="titleimage" /&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&lt;strong&gt;Abstract&lt;/strong&gt;. In hospitals, ward rounds are crucial for decision-making in the context of patient treatment processes. In the course of a ward round, new tasks are defined and allocated to physicians and nurses. In clinical practice, however, these tasks are not systematically managed. During ward rounds, they are jotted down using pen and paper, and their later processing is prone to errors. Furthermore, medical staff must keep track of the processing status of its tasks (e.g., medical orders). To relieve staff members from such a manual task management, the MEDo approach supports ward rounds by transforming the pen and paper worksheet to a mobile user interface on a tablet integrating process support, mobile task management, and access to the electronic patient record. Interviews we conducted have confirmed that medical staff craves for mobile task and process support on wards. Furthermore, in several user experiments, we have proven that MEDo puts task acquisition on a level comparable to that of pen and paper. Overall, with MEDo, physicians can create, monitor and share tasks using a mobile and user-friendly platform.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The thesis can be downloaded &lt;a href="http://dbis.eprints.uni-ulm.de/806/"&gt;from the DBIS EPub website&lt;/a&gt;, as well as &lt;a href="http://dbis.eprints.uni-ulm.de/839/"&gt;the associated paper&lt;/a&gt; which was written and presented by my advisor R&#252;diger Pryss at the &lt;a href="http://acm2012.blogs.dsv.su.se/"&gt;Workshop on Adaptive Case Management (ACM &amp;#8216;12)&lt;/a&gt;.&lt;/p&gt;

&lt;div class="video-container"&gt;
&lt;iframe src="http://player.vimeo.com/video/54762040?byline=0&amp;amp;portrait=0&amp;amp;badge=0&amp;amp;color=ffffff" width="500" height="656" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen&gt;&lt;/iframe&gt;
&lt;/div&gt;

&lt;p&gt;&lt;a href="http://vimeo.com/54762040"&gt;[Screencast] MEDo - Usage of Mobile Technologies and BPM to Optimize Task Management in the Context of Ward Rounds&lt;/a&gt; from &lt;a href="http://vimeo.com/user15038629"&gt;DBIS, Ulm University&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;

</content>
  </entry>
  <entry>
    <id>tag:davidlanger.de,2012-01-08:/articles/multimarkdown-to-pdf/</id>
    <title type="html">MultiMarkdown to PDF</title>
    <published>2012-01-07T23:00:00Z</published>
    <updated>2012-01-07T23:00:00Z</updated>
    <link href="http://davidlanger.de/articles/multimarkdown-to-pdf/" rel="alternate"/>
    <content type="html">&lt;h1 id="multimarkdown-to-pdf"&gt;Multimarkdown to PDF&lt;/h1&gt;

&lt;p&gt;As I currently write my diploma thesis, there is this need to do other things than writing the actual thesis. This and the fact that I really like the idea of &lt;a href="http://daringfireball.net/projects/markdown/"&gt;markdown&lt;/a&gt; resulted in writing my thesis in markdown. Actually I write it in &lt;a href="http://fletcherpenney.net/multimarkdown/"&gt;multimarkdown&lt;/a&gt;, an extension of it. As the name implies mark&lt;em&gt;down&lt;/em&gt; is something contrary to mark&lt;em&gt;up&lt;/em&gt; in that is deemphasizes the markdown. All mardown files are actually plain text files. But they have a markup which makes plain sense. But as there is a definition behind your writing style you can convert that plain text in a number of markup languages, including html and latex. Some generators even support the open document format or rtf. &lt;/p&gt;

&lt;p&gt;So what I do is the following: &lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;writing in a number of markdown files,&lt;/li&gt;
  &lt;li&gt;putting them together to one large markdown file,&lt;/li&gt;
  &lt;li&gt;convert that into a latex file,&lt;/li&gt;
  &lt;li&gt;include that into my main latex file&lt;/li&gt;
  &lt;li&gt;and mklatex the hell out of that one.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;How that works out? Pretty well so far, I have to say. Sometimes I have to use standard latex, which you can embed in your document. I always have the option to go back to writing standard latex if I want to by running my files through the converter so I get my normal latex files. &lt;/p&gt;

&lt;h2 id="source-code"&gt;Source code&lt;/h2&gt;

&lt;p&gt;So if you want to do the same, here is the code that I use. Stuff it into a .sh file in your main directory. This is my file structure:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;content/
    &lt;ul&gt;
      &lt;li&gt;content.md (contains a list all the .md-files for sorting)&lt;/li&gt;
      &lt;li&gt;your other .md files&lt;/li&gt;
    &lt;/ul&gt;
  &lt;/li&gt;
  &lt;li&gt;main-document.tex&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Keep in mind that this is on a Mac, so on other unix systems you might have to adopt your code a little bit. For windows &#8230; well you can get the idea :)&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;#!/bin/sh
# this script takes everything that is in content-markdown and turns it into one pdf file.
# it also stops everytime it encouters an error in any of the steps.

# make sure we start in this directory (needed for running it from finder)
cd "`dirname "$0"`" 

# multimarkdown source, concatenate files given in content.md
cd content/
perl ~/Library/Application\ Support/MultiMarkdown/Utilities/mmd_merge.pl content.md &amp;gt; ../main-document-content.md
rc=$?
if [[ $rc != 0 ]] ; then
	echo "mmd_merge.pl exited with status code $rc"
    exit $rc
fi

cd ../

# generate latex code from that one markdown file. this uses multimarkdown
multimarkdown -t latex -o "main-document-content.tex" "main-document-content.md"
rc=$?
if [[ $rc != 0 ]] ; then
	echo "multimarkdown compilation exited with status code $rc"
    exit $rc
else
	echo "multimarkdown compilation done!"
fi

# change all \autoref commands to vref. This makes the references use pagenumbers as well (i.e. section 2.1 on page 4)
sed -ie 's/\\autoref/\\vref/g' "main-document-content.tex"

# compile pdf from latex source:
# we need bibtex and pdf output option + use xelatex instead of pdflatex (so we get nice otf &amp;amp; aat support)
latexmk -bibtex -pdf main-document -e '$pdflatex=q/xelatex %O %S/'
rc=$?
if [[ $rc != 0 ]] ; then
	echo "latexmk run #1 exited with status code $rc"
    exit $rc
fi

# remove temporary files
latexmk -c main-document

# open file in preview.app
open main-document.pdf

exit 0
&lt;/code&gt;&lt;/pre&gt;
</content>
  </entry>
  <entry>
    <id>tag:davidlanger.de,2009-07-11:/articles/typotisch/</id>
    <title type="html">Typotisch</title>
    <published>2009-07-10T22:00:00Z</published>
    <updated>2009-07-10T22:00:00Z</updated>
    <link href="http://davidlanger.de/articles/typotisch/" rel="alternate"/>
    <content type="html">&lt;p&gt;&lt;img src="/assets/articles/typotisch/typotisch-title.jpeg" alt="titleimage" /&gt;&lt;/p&gt;

&lt;h1 id="typotisch"&gt;Typotisch&lt;/h1&gt;

&lt;p&gt;&lt;em&gt;Nora von Egloffstein &amp;amp; David Langer&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Der Typotisch ist eine wei&#223;e Box, etwa so hoch wie eine Arbeitsplatte. Die  Oberseite  besteht aus einer Milchglasscheibe, auf  die der Benutzer Wortpl&#228;ttchen legen kann. Auf einer gro&#223;en Leinwand oder einem Bildschirm wird dann eine Animation der  gelegten Worte gezeigt, wie wenn die Milchglasscheibe mit einer Kamera abgefahren w&#252;rden. Je nachdem in welchem Winkel die Wortpl&#228;ttchen zueinander liegen, macht die Kamera eine entsprechende Drehung, auf 90&#176; gerundet. Manche W&#246;rter haben in der Animation einen fest  zugeordneten Effekt. Der Typotisch soll eine Verkn&#252;pfung von Kinetischer Typographie und einer besonderen Interaktionsm&#246;glichkeit sein.&lt;/p&gt;

&lt;p class="three-images"&gt;&lt;img src="/assets/articles/typotisch/typotisch-qr.jpeg" alt="image1" /&gt;
&lt;img src="/assets/articles/typotisch/typotisch-plaettchen.jpeg" alt="image2" /&gt;
&lt;img src="/assets/articles/typotisch/typotisch-party.jpeg" alt="image3" /&gt;&lt;/p&gt;

&lt;h2 id="material"&gt;Material&lt;/h2&gt;
&lt;p&gt;Die Box ist aus 12mm dicken MDF-Platten gebaut. Oben ist ein 30cm*30cm gro&#223;e Aussparung f&#252;r die Milchglassplatte die dann auf Ausfr&#228;sungen am Rand der Aussparung gelegt werden kann. Im Inneren der Box sind zwei Bretter angebracht.&lt;/p&gt;

&lt;p&gt;Die Wortpl&#228;ttchen sind aus Magnetgummi. Auf der vorderen Seite eines solchen Pl&#228;ttchens steht das Wort geschrieben und auf der R&#252;ckseite ist das Wort als QR-Code dargestellt.&lt;/p&gt;

&lt;h2 id="so-funktioniert-es"&gt;So funktioniert es&lt;/h2&gt;
&lt;p&gt;Auf dem oberen inneren Brett wird eine Digitalkamera, bei uns eine Canon Powershot A620, mit Objektiv nach oben, angebracht. Auf dem unteren Brett steht ein mit der Kamera verbundener Laptop. Durch die Fernsteuerungssoftware von Canon wird alle zehn Sekunden ein Foto von der Milchglasscheibe gemacht und in einen Ordner abgelegt. Dieser Ordner ist f&#252;r den zweiten Laptop im lokalen Netzwerk freigegeben. Die Software die auf diesem Laptop l&#228;uft, greift auf die Fotos zu und generiert die Animation.&lt;/p&gt;

&lt;h2 id="software--libraries"&gt;Software &amp;amp; Libraries&lt;/h2&gt;
&lt;p&gt;Die Analyse des Fotos wurde mit Processing (&lt;a href="http://processing.org"&gt;processing&lt;/a&gt;) realisiert. Das Foto wird gelesen, potentielle Pl&#228;ttchen erkannt, dank einer Bibliothek f&#252;r OpenCV f&#252;r Processing (&lt;a href="http://ubaa.net/shared/processing/opencv/"&gt;opencv&lt;/a&gt;) Dann wird deren Lage bestimmt und  ihre Drehung auf 0&#176;, 90&#176;, 180&#176; oder 270&#176; gerundet. Anschlie&#223;end wird die Reihenfolge der Pl&#228;ttchen ausgelesen, angefangen an der linken oberen Ecke der Milchglasscheibe. Dabei  werden auch die QR-Codes (&lt;a href="http://qrcode.sourceforge.jp/"&gt;qrcode&lt;/a&gt;) dekodiert.&lt;/p&gt;

&lt;div class="video-container"&gt;
&lt;iframe src="http://player.vimeo.com/video/5199184?portrait=0&amp;amp;color=ffffff" width="650" height="366" frameborder="0" webkitAllowFullScreen mozallowfullscreen allowFullScreen&gt;&lt;/iframe&gt;
&lt;/div&gt;
&lt;p&gt;&lt;a href="http://vimeo.com/5199184"&gt;Typotisch &#8211; 1&lt;/a&gt; from &lt;a href="http://vimeo.com/user902215"&gt;David L&lt;/a&gt; on &lt;a href="http://vimeo.com"&gt;Vimeo&lt;/a&gt;.&lt;/p&gt;

</content>
  </entry>
  <entry>
    <id>tag:davidlanger.de,2009-06-23:/articles/wordpress-als-cms/</id>
    <title type="html">Wordpress als CMS</title>
    <published>2009-06-22T22:00:00Z</published>
    <updated>2009-06-22T22:00:00Z</updated>
    <link href="http://davidlanger.de/articles/wordpress-als-cms/" rel="alternate"/>
    <content type="html">&lt;h1 id="wordpress-als-cms"&gt;Wordpress als CMS&lt;/h1&gt;

&lt;p&gt;Nachdem ich bei meinem letzten Projekt das erste Mal Wordpress als Content Management System eingesetzt habe, m&#246;chte ich hier ein paar Erfahrungen teilen, die ich w&#228;hrenddessen gesammelt habe.&lt;/p&gt;

&lt;p&gt;Wordpress ist f&#252;r kleinere Projekte mit statischen Seiten out-of-the-box nutzbar. Lesbare URLS, einen komfortablen WYSIWYG-Editor f&#252;r den Kunden, Sehr einfache Template-Gestaltung und so weiter ist alles vorhanden.&lt;/p&gt;

&lt;p&gt;Sobald allerdings mehr als ein paar Seiten zu verwalten sind, wird die Sortierung der Seiten zur Qual, da diese nur &#252;ber einen einzigen Wert pro Seite gesetzt werden. Selbst wenn man Abst&#228;nde von 10 einplant, damit man nachtr&#228;glich noch Seiten zwischen zwei andere einf&#252;gen kann, hilft das auch nicht viel. F&#252;r diesen Fall gibt es das Plugin &lt;a href="http://wordpress.org/extend/plugins/my-page-order/"&gt;My Page Order&lt;/a&gt;, welches die Sortierung per Drag&#8217;n&amp;#8217;Drop erlaubt.&lt;/p&gt;

&lt;p&gt;Die Benutzerverwaltung in Wordpress ist auf den Blogbetrieb ausgelegt, so dass fortgeschrittene M&#246;glichkeiten der Benutzer-Kontrolle leider fehlen. Um Seiten zu verstecken und die Editier-M&#246;glichkeiten weiter &#8212; z.B. seitenbasiert &#8212; einzuschr&#228;nken, kann man sich des Plugins &lt;a href="http://agapetry.net/news/introducing-role-scoper/"&gt;Role Scoper&lt;/a&gt; bedienen.&lt;/p&gt;

&lt;p&gt;In manchen F&#228;llen m&#246;chte man auf einer Seite einfach die darunterliegenden Sub-Seiten auflisten. Hier hilft &lt;a href="http://wordpress.org/extend/plugins/xavins-list-subpages/"&gt;Xavin&#8217;s List Subpages&lt;/a&gt;, welches die gleichen Optionen wie wp_list_pages entgegen nimmt. Alternativ kann man auch jQuery nutzen, um aus dem statischen Men&#252; von Wordpress eine ausklappbare Navigation zu machen.&lt;/p&gt;

&lt;p&gt;Und das war es schon. Im Grunde reichen diese drei Plugins, um aus Wordpress ein CMS zu machen, welches nach meinen Erfahrungen gerne von Kunden genutzt wird. Aber sicherlich l&#228;sst sich im Backend noch einiges f&#252;r den CMS-Betrieb optimieren und vereinfachen.&lt;/p&gt;

</content>
  </entry>
  <entry>
    <id>tag:davidlanger.de,2009-06-23:/articles/wordpress-navigation-jquery/</id>
    <title type="html">Wordpress Navigation &amp; jQuery</title>
    <published>2009-06-22T22:00:00Z</published>
    <updated>2009-06-22T22:00:00Z</updated>
    <link href="http://davidlanger.de/articles/wordpress-navigation-jquery/" rel="alternate"/>
    <content type="html">&lt;h1 id="wordpress-navigation--jquery"&gt;Wordpress Navigation &amp;amp; jQuery&lt;/h1&gt;

&lt;p&gt;Sobald es ein paar mehr Seiten werden, wird die Standard-Seitenanzeige von Wordpress suboptimal und inflexibel. Also brauchte ich eine Methode um nur die Eltern-Elemente der aktuellen Seite anzuzeigen und den Rest einzuklappen. Bei der Suche nach einer Methode bin ich auf &lt;a href="http://www.ilovecolors.com.ar/folding-menu-plugin-wordpress/"&gt;Folding menu for WordPress&lt;/a&gt; gestossen. Allerdings fand ich die Animation bei jedem Klick etwas st&#246;rend.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$(".page_item ul").hide();
$(".current_page_item").parents("ul").show();
$(".current_page_item ul:first").slideDown();
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Dies ist meine Version des Code-Schnipsels und tut eigentlich genau das was ich wollte (und animiert nur, wenn man ein Men&#252;punkt mit Unterpunkten angeklickt hat). Aber da ja sowieso schon die gesamte Navigation vorhanden ist (nur nicht sichtbar), k&#246;nnte man ja auch den Rest ausklappbar machen &#8230;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$(".page_item &amp;gt; ul:hidden").before(
  '&amp;lt;a href="#" class="menuToggle menuToggleOpen"&amp;gt;v&amp;lt;/a&amp;gt;');
$(".page_item &amp;gt; ul:visible").before(
  '&amp;lt;a href="#" class="menuToggle menuToggleClose"&amp;gt;^&amp;lt;/a&amp;gt;');
a = function(){
    $(this).text("^").next("ul").slideDown();
};
b = function(){
    $(this).text("v").next("ul").slideUp();
};
$(".menuToggleClose").toggle(b,a);
$(".menuToggleOpen").toggle(a,b);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Hab dazu auch mal eine &lt;a href="http://kram.davidlanger.de/wordpress-nav-jquery/"&gt;kleine Demo hier aufgesetzt&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Einziges Problem ist nat&#252;rlich mal wieder der Internet Explorer 6, der SlideDown/-Up nicht sonderlich sch&#246;n darstellt. Aber es ist benutzbar. Je nach erwarteter IE6-Dichte k&#246;nnte man einen Switch einbauen, der dann im IE 6 die Animation nicht anzeigt (und nur show()/hide() nutzt).&lt;/p&gt;

</content>
  </entry>
</feed>
