[{"content":"After using Shelly flood sensors for a few years I\u0026rsquo;ve needed to add another one. This time a bought a Shelly Flood Gen 4 and noticed the difference to the old ones. So, here\u0026rsquo;s my code snippet to use them all via mqtt:\nalias: Benachrichtigung bei Wasser Sensor triggers: - id: Kueche trigger: mqtt options: topic: shellies/shellyflood-3494546A1B2C/sensor/flood payload: \u0026#34;true\u0026#34; - id: Waschmaschine trigger: mqtt options: topic: shellies/shellyflood-3494546D3E4F/sensor/flood payload: \u0026#34;true\u0026#34; - id: Heizkeller trigger: mqtt options: topic: shellyfloodg4-58e6c5A5B6C7/events/rpc value_template: \u0026#34;{{ value_json.params[\u0026#39;flood:0\u0026#39;].alarm }}\u0026#34; payload: true conditions: [] actions: - metadata: {} data: title: Wassersensor {{ trigger.id }} hat Wasser entdeckt message: \u0026#34;{{ trigger.id }}\u0026#34; action: notify.email_markus mode: single The thing that cost me an hour of debugging: Use payload: true for gen4, not payload: \u0026quot;true\u0026quot;.\n","permalink":"https://logbook.dlite.de/posts/shelly-flood-gen-4-home-assistant/","summary":"\u003cp\u003eAfter using Shelly flood sensors for a few years I\u0026rsquo;ve needed to add another one.\nThis time a bought a Shelly Flood Gen 4 and noticed the difference to the old\nones. So, here\u0026rsquo;s my code snippet to use them all via mqtt:\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-yaml\" data-lang=\"yaml\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#f92672\"\u003ealias\u003c/span\u003e: \u003cspan style=\"color:#ae81ff\"\u003eBenachrichtigung bei Wasser Sensor\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#f92672\"\u003etriggers\u003c/span\u003e:\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  - \u003cspan style=\"color:#f92672\"\u003eid\u003c/span\u003e: \u003cspan style=\"color:#ae81ff\"\u003eKueche\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003etrigger\u003c/span\u003e: \u003cspan style=\"color:#ae81ff\"\u003emqtt\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003eoptions\u003c/span\u003e:\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#f92672\"\u003etopic\u003c/span\u003e: \u003cspan style=\"color:#ae81ff\"\u003eshellies/shellyflood-3494546A1B2C/sensor/flood\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#f92672\"\u003epayload\u003c/span\u003e: \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;true\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  - \u003cspan style=\"color:#f92672\"\u003eid\u003c/span\u003e: \u003cspan style=\"color:#ae81ff\"\u003eWaschmaschine\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003etrigger\u003c/span\u003e: \u003cspan style=\"color:#ae81ff\"\u003emqtt\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003eoptions\u003c/span\u003e:\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#f92672\"\u003etopic\u003c/span\u003e: \u003cspan style=\"color:#ae81ff\"\u003eshellies/shellyflood-3494546D3E4F/sensor/flood\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#f92672\"\u003epayload\u003c/span\u003e: \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;true\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  - \u003cspan style=\"color:#f92672\"\u003eid\u003c/span\u003e: \u003cspan style=\"color:#ae81ff\"\u003eHeizkeller\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003etrigger\u003c/span\u003e: \u003cspan style=\"color:#ae81ff\"\u003emqtt\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003eoptions\u003c/span\u003e:\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#f92672\"\u003etopic\u003c/span\u003e: \u003cspan style=\"color:#ae81ff\"\u003eshellyfloodg4-58e6c5A5B6C7/events/rpc\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#f92672\"\u003evalue_template\u003c/span\u003e: \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;{{ value_json.params[\u0026#39;flood:0\u0026#39;].alarm }}\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#f92672\"\u003epayload\u003c/span\u003e: \u003cspan style=\"color:#66d9ef\"\u003etrue\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#f92672\"\u003econditions\u003c/span\u003e: []\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#f92672\"\u003eactions\u003c/span\u003e:\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e  - \u003cspan style=\"color:#f92672\"\u003emetadata\u003c/span\u003e: {}\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003edata\u003c/span\u003e:\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#f92672\"\u003etitle\u003c/span\u003e: \u003cspan style=\"color:#ae81ff\"\u003eWassersensor {{ trigger.id }} hat Wasser entdeckt\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e      \u003cspan style=\"color:#f92672\"\u003emessage\u003c/span\u003e: \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;{{ trigger.id }}\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e    \u003cspan style=\"color:#f92672\"\u003eaction\u003c/span\u003e: \u003cspan style=\"color:#ae81ff\"\u003enotify.email_markus\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#f92672\"\u003emode\u003c/span\u003e: \u003cspan style=\"color:#ae81ff\"\u003esingle\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e\u003cp\u003eThe thing that cost me an hour of debugging: Use \u003ccode\u003epayload: true\u003c/code\u003e for gen4,\n\u003cstrong\u003enot\u003c/strong\u003e \u003ccode\u003epayload: \u0026quot;true\u0026quot;\u003c/code\u003e.\u003c/p\u003e","title":"Shelly Flood Gen 4 in Home Assistant"},{"content":"Nachdem ich mich vor ein paar Tagen gegen Skype ausgesprochen haben möchte ich heute ein paar positive Worte über Jabber schreiben.\nÜber Jabber kann man Kurznachrichten austauschen, bald auch telefonieren.\nJabber (eigentlich heißt das Protokoll XMPP, aber das spricht sich so schwer) ist ein freies Protokoll, d.h. jeder kann ein Programm entwickeln, was Jabber unterstützt (im Gegensatz zu Skype, nur Skype kann Skype).\nDas Jabber Netzwerk ist dezentral. Das bedeutet, dass jeder seinen eigenen Jabber Server betreiben kann, wobei die Jabber Server untereinander vernetzt sind. So betreiben z.B. web.de, GMX, der CCC und auch Google Jabber Server. Somit gleicht diese Strucktur dem Internet - niemand kann einfach Jabber abschalten. Dies unterscheidet Jabber grundlegend von anderen Protokollen wie z.B. ICQ oder MSN. Hier betreiben AOL oder Microsoft die Server und die gesammte Kommunikation läuft immer darüber (wäre ja auch blöd wenn nicht, denn AOL oder auch Microsoft speichern ja alle Unterhaltungen und sichern sich die Rechte daran).\nAber das und noch viel mehr wurde natürlich auch schon von anderen geschrieben, daher hier ein noch ein paar Links:\nCCC - Warum Jabber statt ICQ/MSN/AIM/Y RWTH Aachen - Jabber - Einfach erklärt Warum eigentlich Jabber? Ich bin ein echter Jabber-Fan und davon überzeugt, dass Jabber eine gute Alternative zu Skype, MSN und auch SMS ist. Allerdings leidet Jabber noch am Henne-Ei-Problem: Solange es nicht genügend Nutzer gibt, möchte auch niemand wechseln.\nDaher meine Bitte: Benutzt Jabber! Es gibt diverse Programme (iChat (in Mac OS X integriert), Adium (Mac), Pidgin (Windows), IM+ oder beejive (iOS, Android)), die den Parallelbetrieb von mehreren Protokollen ermöglichen (also Jabber, MSN, ICQ etc.). Die Einrichtung dauert nur wenige Minuten und falls es dabei Probleme oder Fragen geben sollte: Ich biete jedem, der Jabber testen möchte, kostenfreien Installations-Support an (auch dem Freund vom Freund vom Freund).\nLG Markus\n","permalink":"https://logbook.dlite.de/warum-ich-jabber-benutze/","summary":"\u003cp\u003eNachdem ich mich \u003ca href=\"/warum-ich-kein-skype-benutze/\"\u003evor ein paar Tagen\u003c/a\u003e gegen Skype ausgesprochen haben möchte ich heute ein paar positive Worte über Jabber schreiben.\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eÜber Jabber kann man Kurznachrichten austauschen, bald auch telefonieren.\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eJabber (eigentlich heißt das Protokoll \u003ca href=\"http://de.wikipedia.org/wiki/Extensible_Messaging_and_Presence_Protocol\"\u003eXMPP\u003c/a\u003e, aber das spricht sich so schwer) ist ein freies Protokoll, d.h. jeder kann ein Programm entwickeln, was Jabber unterstützt (im Gegensatz zu Skype, nur Skype kann Skype).\u003c/p\u003e\n\u003c/li\u003e\n\u003cli\u003e\n\u003cp\u003eDas Jabber Netzwerk ist dezentral. Das bedeutet, dass jeder seinen eigenen Jabber Server betreiben kann, wobei die Jabber Server untereinander vernetzt sind. So betreiben z.B. web.de, GMX, der \u003ca href=\"http://web.jabber.ccc.de/?page_id=12\"\u003eCCC\u003c/a\u003e und auch Google Jabber Server. Somit gleicht diese Strucktur dem Internet - niemand kann einfach Jabber abschalten. Dies unterscheidet Jabber grundlegend von anderen Protokollen wie z.B. ICQ oder MSN. Hier betreiben AOL oder Microsoft die Server und die gesammte Kommunikation läuft immer darüber (wäre ja auch blöd wenn nicht, denn AOL oder auch Microsoft \u003ca href=\"http://www.ulm.ccc.de/%7Emarcel/warum-jabber.htm\"\u003espeichern ja alle Unterhaltungen und sichern sich die Rechte daran\u003c/a\u003e).\u003c/p\u003e","title":"Warum ich Jabber benutze"},{"content":"Des Öfteren werde ich nach meinem Skype Benutzernamen gefragt. Wenn ich dann antworte, dass ich lieber offene Kommunikationsmittel benutze führt dies meist zu Verwunderung. Keine Frage, Skype ist einfach, weit verbreitet und funktioniert. Aber ich kann mich einfach nicht mit den folgenden Gegebenheiten anfreunden:\nDie Gründer von Skype waren auch maßgeblich bei der Entwicklung von KaZaA beteiligt. KaZaA, einer der ersten - meist für illegale Zwecke genutzte - P2P Tauschbörsen, beinhaltete diverse Schadprogramme (spyware, adware und hijacker). Diese mit KaZaA installierten Programme beobachteten den Benutzer, übermitteln die Daten des Benutzers an externe Server und präsentieren (unerwünschte) Werbung. Alles bei Wikipedia nachlesbar.\nDas Unternehmen Skype hat enormen Aufwand betrieben, das Programm Skype so zu verschlüsseln, dass niemand das Programm oder die zur Kommunikation eingesetzte Verschlüsselung verifizieren kann. Es ist selbst für Experten nicht feststellbar, was das Programm genau macht.\nSkype versucht eindeutige Informationen des PCs ( BIOS und Motherboard Informationen) auszulesen. Für die Umsetzung eines Telefon / Chat Programms ist dies technisch gesehen vollkommen unnötig.\nSkype sorgt bei der Installation dafür, dass es automatisch mit dem PC gestartet wird. Sobald Skype gestartet ist übermittelt es ständig verschlüsselte Informationen, auch wenn man das Programm nicht benutzt.\nDiese Punkte allein reichen für mich schon aus. Weitere gibt es z.B. hier.\nZugegeben, aktuell sehe ich keine Alternative zu Skype, wenn es darum geht, ein günstiges Telefonat zwischen zwei sehr weit entfernten Parteien zu führen. Aber der Trend, Skype einfach immer im Hintergrund laufen zu lassen und darüber zu chatten, gefällt mir nicht. Gerade im Bereich Instant Messaging gibt es viele Alternativen. Das freie Protokoll Jabber gewinnt aktuell an Verbreitung (gmx, web.de, google) und Open Source Programme wie Adium (Mac) oder Pidgin (Windows) sind schon jetzt im Bereich Chat Skype überlegen. Und Jabber könnte SMS ersetzen\u0026hellip;\n","permalink":"https://logbook.dlite.de/warum-ich-kein-skype-benutze/","summary":"\u003cp\u003eDes Öfteren werde ich nach meinem Skype Benutzernamen gefragt. Wenn ich dann antworte, dass ich lieber offene Kommunikationsmittel benutze führt dies meist zu Verwunderung. Keine Frage, Skype ist einfach, weit verbreitet und funktioniert. Aber ich kann mich einfach nicht mit den folgenden Gegebenheiten anfreunden:\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e\n\u003cp\u003eDie Gründer von Skype waren auch maßgeblich bei der Entwicklung von \u003ca href=\"http://de.wikipedia.org/wiki/KaZaA\"\u003eKaZaA\u003c/a\u003e beteiligt. KaZaA, einer der ersten - meist für illegale Zwecke genutzte - P2P Tauschbörsen, beinhaltete diverse Schadprogramme (spyware, adware und hijacker). Diese mit KaZaA installierten Programme beobachteten den Benutzer, übermitteln die Daten des Benutzers an externe Server und präsentieren (unerwünschte) Werbung. \u003ca href=\"http://en.wikipedia.org/wiki/KaZaA#Bundled_malware\"\u003eAlles bei Wikipedia nachlesbar.\u003c/a\u003e\u003c/p\u003e","title":"Warum ich kein Skype benutze"},{"content":"Today I reanimate my Mac (the one you can\u0026rsquo;t carry in a small bag ;-) and came back to the secure synchronization problem. Woala seems to be a new and good pice of software, developed in Switzerland from some IT guys - you got my trust. Seems to work good for backups, but changing a 5MB file on both machines leads to one version and no complaints about a conflic (the newer silently wins). Thats not ok for my Things Database (todo-list)\u0026hellip;\n","permalink":"https://logbook.dlite.de/secure-synchronization-with-wuala/","summary":"\u003cp\u003eToday I reanimate my Mac (the one you can\u0026rsquo;t carry in a small bag ;-) and came back to the secure synchronization problem. \u003ca href=\"http://www.woala.com\"\u003eWoala\u003c/a\u003e seems to be a new and good pice of software, developed in Switzerland from some IT guys - you got my trust. Seems to work good for backups, but changing a 5MB file on both machines leads to one version and no complaints about a conflic (the newer silently wins). Thats not ok for my Things Database (todo-list)\u0026hellip;\u003c/p\u003e","title":"Secure synchronization with wuala"},{"content":"After some weeks of using TeamDrive I felt that I have to get another solution for syncing. TeamDrive isn\u0026rsquo;t bad, but it isn\u0026rsquo;t good either. It works most of the time, say 95%. But syncing is a matter of 100% trust, so I can\u0026rsquo;t live with crashes or \u0026ldquo;oh, I\u0026rsquo;ll sync in a few minutes, perhaps\u0026rdquo;.\nSo I decided to give unison and OS X \u0026ldquo;Folder Action\u0026rdquo; a try. But those don\u0026rsquo;t have a \u0026ldquo;on file change\u0026rdquo; event and reading about it many user complain that they aren\u0026rsquo;t really reliable. So that wouldn\u0026rsquo;t be better that TeamDrive.\nThan launchd came in my head. I remembered the magic with the ssh-keys and thought: Hey, use a launchd FSEvent and combine it with unison - that\u0026rsquo;s it! Read some doc and finally: All you need is a little plist like this:\n[cc lang=\u0026#34;xml\u0026#34; escaped=\u0026#34;true\u0026#34; lines=\u0026#34;-1\u0026#34;] \u0026lt;?xml version=\u0026#34;1.0\u0026#34; encoding=\u0026#34;UTF-8\u0026#34;?\u0026gt; \u0026lt;!DOCTYPE plist PUBLIC \u0026#34;-//Apple Computer//DTD PLIST 1.0//EN\u0026#34; \u0026#34;http://www.apple.com/DTDs/PropertyList-1.0.dtd\u0026#34;\u0026gt; \u0026lt;plist version=\u0026#34;1.0\u0026#34;\u0026gt; \u0026lt;dict\u0026gt; \u0026lt;key\u0026gt;Label\u0026lt;/key\u0026gt; \u0026lt;string\u0026gt;de.dlite.unison\u0026lt;/string\u0026gt; \u0026lt;key\u0026gt;OnDemand\u0026lt;/key\u0026gt; \u0026lt;true/\u0026gt; \u0026lt;key\u0026gt;Program\u0026lt;/key\u0026gt; \u0026lt;string\u0026gt;/Users/joedoe/bin/unison.sh\u0026lt;/string\u0026gt; \u0026lt;key\u0026gt;WatchPaths\u0026lt;/key\u0026gt; \u0026lt;array\u0026gt; \u0026lt;string\u0026gt;/Users/joedoe/Library/Things\u0026lt;/string\u0026gt; \u0026lt;/array\u0026gt; \u0026lt;/dict\u0026gt; \u0026lt;/plist\u0026gt; [/cc] Than add it to launchd via\n[cc lang=\u0026#34;bash\u0026#34; lines=\u0026#34;-1\u0026#34; escaped=\u0026#34;true\u0026#34; line_numbers=\u0026#34;no\u0026#34;] launchctl load ~/Library/LaunchAgents/de.dlite.unison.plist[/cc] and here we go: Saving a file, creating a new one or deleting an old one always delivers a fine call of my unison-script which syncs with my own server. :-)\n","permalink":"https://logbook.dlite.de/secure-synchronization-with-os-x-launchd-and-unison/","summary":"\u003cp\u003eAfter some weeks of using \u003ca href=\"/dropbox-vs-ifolder-vs-teamdrive/\"\u003eTeamDrive\u003c/a\u003e I felt that I have to get another solution for syncing. TeamDrive isn\u0026rsquo;t bad, but it isn\u0026rsquo;t good either. It works most of the time, say 95%. But syncing is a matter of 100% trust, so I can\u0026rsquo;t live with crashes or \u0026ldquo;oh, I\u0026rsquo;ll sync in a few minutes, perhaps\u0026rdquo;.\u003c/p\u003e\n\u003cp\u003eSo I decided to give unison and OS X \u0026ldquo;Folder Action\u0026rdquo; a try. But those don\u0026rsquo;t have a \u0026ldquo;on file change\u0026rdquo; event and reading about it many user complain that they aren\u0026rsquo;t really reliable. So that wouldn\u0026rsquo;t be better that TeamDrive.\u003c/p\u003e","title":"Secure synchronization with OS X launchd and unison"},{"content":"Today I replaced SyntaxHighlighter Evolved simply because he doesn\u0026rsquo;t support AppleScript. After some tests CodeColorer was the one to take with one problem: The font was really big. After some minutes of searching I replaced the font size given in wp-content/plugins/codecolorer/codecolorer.css from [cc lang=\u0026ldquo;css\u0026rdquo; nowrap=\u0026ldquo;false\u0026rdquo; first_line=\u0026ldquo;5\u0026rdquo;].codecolorer, .codecolorer *, .codecolorer-container, .codecolorer-container * { font: 13px/1.4em Monaco, Lucida Console, monospace }[/cc] to [cc lang=\u0026ldquo;css\u0026rdquo; nowrap=\u0026ldquo;false\u0026rdquo; first_line=\u0026ldquo;5\u0026rdquo;].codecolorer, .codecolorer *, .codecolorer-container, .codecolorer-container * { font: 10px Monaco, Lucida Console, monospace }[/cc]\n","permalink":"https://logbook.dlite.de/font-size-in-wordpress-plugin-codecolorer/","summary":"\u003cp\u003eToday I replaced \u003ca href=\"http://wordpress.org/extend/plugins/syntaxhighlighter/\"\u003eSyntaxHighlighter Evolved\u003c/a\u003e simply because he doesn\u0026rsquo;t support AppleScript. After some tests \u003ca href=\"http://kpumuk.info/projects/wordpress-plugins/codecolorer/\"\u003eCodeColorer\u003c/a\u003e was the one to take with one problem: The font was really big. After some minutes of searching I replaced the font size given in wp-content/plugins/codecolorer/codecolorer.css from\n[cc lang=\u0026ldquo;css\u0026rdquo; nowrap=\u0026ldquo;false\u0026rdquo; first_line=\u0026ldquo;5\u0026rdquo;].codecolorer, .codecolorer *, .codecolorer-container, .codecolorer-container * { font: 13px/1.4em Monaco, Lucida Console, monospace }[/cc]\nto\n[cc lang=\u0026ldquo;css\u0026rdquo; nowrap=\u0026ldquo;false\u0026rdquo; first_line=\u0026ldquo;5\u0026rdquo;].codecolorer, .codecolorer *, .codecolorer-container, .codecolorer-container * { font: 10px Monaco, Lucida Console, monospace }[/cc]\u003c/p\u003e","title":"Font size in WordPress Plugin CodeColorer"},{"content":"I just have had to create a dozen of To Dos in Things based on Redmine Issues. Being lazy I thougth I could spend an hour better in coding than in typing new To Dos, so here it is:\n# v2010010402 tell application \u0026#34;Firefox\u0026#34; # set myFirefox to properties of front window as list # set theTitle to «class pTit» of front window as text set theTitle to name of front window # Calling display ... within tell application \u0026#34;Firefox\u0026#34; leads to error # -1728 every time you call the script again till firefox is really # closed, so save the vars and end tell end tell if (length of theTitle \u0026lt; 2) then display alert \u0026#34;Could not get the title (empty)\u0026#34; else # save previous delimiters set tid to AppleScript\u0026#39;s text item delimiters set AppleScript\u0026#39;s text item delimiters to \u0026#34;#\u0026#34; set theSubstring to (text item 2 of theTitle) as text set AppleScript\u0026#39;s text item delimiters to \u0026#34; - Issue Tracker xyz\u0026#34; set theName to \u0026#34;#\u0026#34; \u0026amp; (text item 1 of theSubstring) as text # restore delimiters set AppleScript\u0026#39;s text item delimiters to tid tell application \u0026#34;Things\u0026#34; set newToDo to make new to do with properties {name:theName} end tell tell application \u0026#34;GrowlHelperApp\u0026#34; set the allNotificationsList to {\u0026#34;Task Created\u0026#34;} set the enabledNotificationsList to {\u0026#34;Task Created\u0026#34;} register as application ¬ \u0026#34;Create Task from Multiple Mail (Growl Enabled)\u0026#34; all notifications allNotificationsList ¬ default notifications enabledNotificationsList ¬ icon of application \u0026#34;Things\u0026#34; notify with name ¬ \u0026#34;Task Created\u0026#34; title ¬ \u0026#34;Task created in Things\u0026#34; description ¬ theName application name \u0026#34;Create Task from Multiple Mail (Growl Enabled)\u0026#34; end tell end if ","permalink":"https://logbook.dlite.de/creating-to-dos-from-redmine-in-things/","summary":"\u003cp\u003eI just have had to create a dozen of To Dos in \u003ca href=\"http://culturedcode.com/things/\"\u003eThings\u003c/a\u003e based on \u003ca href=\"http://www.redmine.org/\"\u003eRedmine\u003c/a\u003e Issues. Being lazy I thougth I could spend an hour better in coding than in typing new To Dos, so here it is:\u003c/p\u003e\n\u003cdiv class=\"highlight\"\u003e\u003cpre tabindex=\"0\" style=\"color:#f8f8f2;background-color:#272822;-moz-tab-size:4;-o-tab-size:4;tab-size:4;-webkit-text-size-adjust:none;\"\u003e\u003ccode class=\"language-applescript\" data-lang=\"applescript\"\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#75715e\"\u003e# v2010010402\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#66d9ef\"\u003etell\u003c/span\u003e application \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Firefox\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#75715e\"\u003e# set myFirefox to properties of front window as list\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#75715e\"\u003e# set theTitle to «class pTit» of front window as text\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#66d9ef\"\u003eset\u003c/span\u003e theTitle \u003cspan style=\"color:#66d9ef\"\u003eto\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003ename\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003eof\u003c/span\u003e front \u003cspan style=\"color:#a6e22e\"\u003ewindow\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#75715e\"\u003e# Calling display ... within tell application \u0026#34;Firefox\u0026#34; leads to error\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#75715e\"\u003e# -1728 every time you call the script again till firefox is really\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e        \u003cspan style=\"color:#75715e\"\u003e# closed, so save the vars and end tell\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#66d9ef\"\u003eend\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003etell\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#66d9ef\"\u003eif\u003c/span\u003e (length \u003cspan style=\"color:#66d9ef\"\u003eof\u003c/span\u003e theTitle \u003cspan style=\"color:#f92672\"\u003e\u0026lt;\u003c/span\u003e \u003cspan style=\"color:#ae81ff\"\u003e2\u003c/span\u003e) \u003cspan style=\"color:#66d9ef\"\u003ethen\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\tdisplay alert \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Could not get the title (empty)\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#66d9ef\"\u003eelse\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#75715e\"\u003e# save previous delimiters\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#66d9ef\"\u003eset\u003c/span\u003e tid \u003cspan style=\"color:#66d9ef\"\u003eto\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003eAppleScript\u003c/span\u003e\u0026#39;s \u003cspan style=\"color:#66d9ef\"\u003etext item delimiters\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#66d9ef\"\u003eset\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003eAppleScript\u003c/span\u003e\u0026#39;s \u003cspan style=\"color:#66d9ef\"\u003etext item delimiters\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003eto\u003c/span\u003e \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;#\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#66d9ef\"\u003eset\u003c/span\u003e theSubstring \u003cspan style=\"color:#66d9ef\"\u003eto\u003c/span\u003e (text item \u003cspan style=\"color:#ae81ff\"\u003e2\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003eof\u003c/span\u003e theTitle) \u003cspan style=\"color:#66d9ef\"\u003eas \u003c/span\u003e\u003cspan style=\"color:#a6e22e\"\u003etext\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#66d9ef\"\u003eset\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003eAppleScript\u003c/span\u003e\u0026#39;s \u003cspan style=\"color:#66d9ef\"\u003etext item delimiters\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003eto\u003c/span\u003e \u003cspan style=\"color:#e6db74\"\u003e\u0026#34; - Issue Tracker xyz\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#66d9ef\"\u003eset\u003c/span\u003e theName \u003cspan style=\"color:#66d9ef\"\u003eto\u003c/span\u003e \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;#\u0026#34;\u003c/span\u003e \u003cspan style=\"color:#f92672\"\u003e\u0026amp;\u003c/span\u003e (text item \u003cspan style=\"color:#ae81ff\"\u003e1\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003eof\u003c/span\u003e theSubstring) \u003cspan style=\"color:#66d9ef\"\u003eas \u003c/span\u003e\u003cspan style=\"color:#a6e22e\"\u003etext\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#75715e\"\u003e# restore delimiters\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#66d9ef\"\u003eset\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003eAppleScript\u003c/span\u003e\u0026#39;s \u003cspan style=\"color:#66d9ef\"\u003etext item delimiters\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003eto\u003c/span\u003e tid\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#66d9ef\"\u003etell\u003c/span\u003e application \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Things\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\t\u003cspan style=\"color:#66d9ef\"\u003eset\u003c/span\u003e newToDo \u003cspan style=\"color:#66d9ef\"\u003eto\u003c/span\u003e make new \u003cspan style=\"color:#66d9ef\"\u003eto\u003c/span\u003e do \u003cspan style=\"color:#66d9ef\"\u003ewith\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003eproperties\u003c/span\u003e {\u003cspan style=\"color:#a6e22e\"\u003ename\u003c/span\u003e:theName}\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#66d9ef\"\u003eend\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003etell\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#66d9ef\"\u003etell\u003c/span\u003e application \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;GrowlHelperApp\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\t\u003cspan style=\"color:#66d9ef\"\u003eset\u003c/span\u003e the allNotificationsList \u003cspan style=\"color:#66d9ef\"\u003eto\u003c/span\u003e {\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Task Created\u0026#34;\u003c/span\u003e}\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\t\u003cspan style=\"color:#66d9ef\"\u003eset\u003c/span\u003e the enabledNotificationsList \u003cspan style=\"color:#66d9ef\"\u003eto\u003c/span\u003e {\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Task Created\u0026#34;\u003c/span\u003e}\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\tregister \u003cspan style=\"color:#66d9ef\"\u003eas\u003c/span\u003e application \u003cspan style=\"color:#ae81ff\"\u003e¬\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\t\t\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Create Task from Multiple Mail (Growl Enabled)\u0026#34;\u003c/span\u003e all notifications allNotificationsList \u003cspan style=\"color:#ae81ff\"\u003e¬\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\t\tdefault notifications enabledNotificationsList \u003cspan style=\"color:#ae81ff\"\u003e¬\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\t\ticon \u003cspan style=\"color:#66d9ef\"\u003eof\u003c/span\u003e application \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Things\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\tnotify \u003cspan style=\"color:#66d9ef\"\u003ewith\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003ename\u003c/span\u003e \u003cspan style=\"color:#ae81ff\"\u003e¬\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\t\t\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Task Created\u0026#34;\u003c/span\u003e \u003cspan style=\"color:#a6e22e\"\u003etitle\u003c/span\u003e \u003cspan style=\"color:#ae81ff\"\u003e¬\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\t\t\u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Task created in Things\u0026#34;\u003c/span\u003e description \u003cspan style=\"color:#ae81ff\"\u003e¬\n\u003c/span\u003e\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\t\ttheName application \u003cspan style=\"color:#a6e22e\"\u003ename\u003c/span\u003e \u003cspan style=\"color:#e6db74\"\u003e\u0026#34;Create Task from Multiple Mail (Growl Enabled)\u0026#34;\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\t\u003cspan style=\"color:#66d9ef\"\u003eend\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003etell\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003cspan style=\"display:flex;\"\u003e\u003cspan\u003e\u003cspan style=\"color:#66d9ef\"\u003eend\u003c/span\u003e \u003cspan style=\"color:#66d9ef\"\u003eif\u003c/span\u003e\n\u003c/span\u003e\u003c/span\u003e\u003c/code\u003e\u003c/pre\u003e\u003c/div\u003e","title":"Creating To Dos from Redmine in Things"},{"content":"Habe gerade noch ein wenig geforscht, ob es eine vertrauenswürdige Alternative zum vom Ansatz her genialen spamgourmet.com gibt (Problem: spamgourmet kann alle E-Mails grundsätzlich mitlesen, speichern, etc), leider nichts gefunden. Der CCC, das wäre mein favorisierter Betreiber, hat einen etwas anderen Service, anonbox.net. Hier wird die E-Mail Adresse für einige Stunden bereitgehalten, nicht das, was ich suche.\nAls ich dann festgestellt habe, dass spamgourmet Open Source ist habe ich die weitere Suche eingestellt und bleibe vorerst da. Vielleicht gibts ja irgendwann einen eigenen spamgourmet Dienst..\n","permalink":"https://logbook.dlite.de/spamgourmet-bleibt-nummer-1/","summary":"\u003cp\u003eHabe gerade noch ein wenig geforscht, ob es eine vertrauenswürdige Alternative zum vom Ansatz her genialen \u003ca href=\"http://spamgourmet.com\"\u003espamgourmet.com\u003c/a\u003e gibt (Problem: spamgourmet kann alle E-Mails grundsätzlich mitlesen, speichern, etc), leider nichts gefunden. Der \u003ca href=\"http://www.ccc.de\"\u003eCCC\u003c/a\u003e, das wäre mein favorisierter Betreiber, hat einen etwas anderen Service, \u003ca href=\"http://anonbox.net\"\u003eanonbox.net\u003c/a\u003e. Hier wird die E-Mail Adresse für einige Stunden bereitgehalten, nicht das, was ich suche.\u003c/p\u003e\n\u003cp\u003eAls ich dann festgestellt habe, dass spamgourmet Open Source ist habe ich die weitere Suche eingestellt und bleibe vorerst da. Vielleicht gibts ja irgendwann einen eigenen spamgourmet Dienst..\u003c/p\u003e","title":"spamgourmet bleibt Nummer 1"},{"content":"Nachdem ich den Versuch, Dropbox mit EncFS unter Snow Leopard zu betreiben, aufgegeben habe musste eine alternative Lösung her. Im Rennen waren: Dropbox einfach so nutzen, iFolder oder TeamDrive.\nGegen Dropbox spricht der externe Server, die Daten landen irgendwo auf irgendeinem Rechner in der \u0026ldquo;Cloud\u0026rdquo;. Ich weiß nicht, was mit den Daten geschieht. Vielleicht bin ich paranoid, aber es gefällt mit nicht.\niFolder ist von Ansatz her perfekt, OpenSource, Windos und Mac Client. Aber in .Net geschrieben und der Server scheint Probleme unter Linux != SLES zu machen. Auch gibt es keine Lobeshymnen für die Linux und Mac Version. Ungesehen ausgeschieden.\nTeamDrive kam dann als letztes ins Spiel. Aus Deutschland, in der kostenfreien Version mit Werbung, für nur 29 EUR einmalig aber wegzukaufen. Eigener WebDav Server wird unterstützt, was will man mehr?\nOk, Style. TeamDrive ist einfach nicht stylish, nicht so cool, hübsch und einfach wie Dropbox. Erinnert mich etwas an Windows 2000 vs Mac OS X ;-) Aber davon abgesehen scheint es wirklich brauchbar zu sein, kurz unter Debian Etch / Apache 2.2 eine WebDAV Verzeichnis eingerichtet, Client heruntergeladen, konfiguriert und es klappt.\n","permalink":"https://logbook.dlite.de/dropbox-vs-ifolder-vs-teamdrive/","summary":"\u003cp\u003eNachdem ich den Versuch, \u003ca href=\"http://www.dropbox.com/\"\u003eDropbox\u003c/a\u003e mit \u003ca href=\"http://de.wikipedia.org/wiki/EncFS\"\u003eEncFS\u003c/a\u003e unter Snow Leopard zu betreiben, aufgegeben habe musste eine alternative Lösung her. Im Rennen waren: Dropbox einfach so nutzen, \u003ca href=\"http://www.ifolder.com/ifolder\"\u003eiFolder\u003c/a\u003e oder \u003ca href=\"http://www.teamdrive.net/de/home\"\u003eTeamDrive\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eGegen Dropbox spricht der externe Server, die Daten landen irgendwo auf irgendeinem Rechner in der \u0026ldquo;Cloud\u0026rdquo;. Ich weiß nicht, was mit den Daten geschieht. Vielleicht bin ich paranoid, aber es gefällt mit nicht.\u003c/p\u003e\n\u003cp\u003eiFolder ist von Ansatz her perfekt, OpenSource, Windos und Mac Client. Aber in .Net geschrieben und der Server scheint Probleme unter Linux != SLES zu machen. Auch gibt es keine Lobeshymnen für die Linux und Mac Version. Ungesehen ausgeschieden.\u003c/p\u003e","title":"Dropbox vs ifolder vs TeamDrive"},{"content":"A logbook about everything and nothing.\n","permalink":"https://logbook.dlite.de/about/","summary":"\u003cp\u003eA logbook about everything and nothing.\u003c/p\u003e","title":"About"},{"content":"After month of using MyLifeOrganized (MLO) within Parallels under Mac (and years using it under plain old Windows) I finally made the switch to a native and amazing Mac OS Software: Things.\nThe only reason to wait so long for the switch was the data in MLO. There was no converter and using copy \u0026amp; paste for ~1500 entries was way to much for a lazy programmer. So I wrote a converter and yes - here we are. After processing 1h all entries are there including german umlauts, I love UTF8. Ok, much work to do after the move as I have used a deep hirachy within my outline in MLO, but better than nothing.\n","permalink":"https://logbook.dlite.de/switch-from-mlo-to-things/","summary":"\u003cp\u003eAfter month of using \u003ca href=\"http://www.mylifeorganized.net/\"\u003eMyLifeOrganized\u003c/a\u003e (MLO) within Parallels under Mac (and years using it under plain old Windows) I finally made the switch to a native and amazing Mac OS Software: \u003ca href=\"http://culturedcode.com/things/\"\u003eThings\u003c/a\u003e.\u003c/p\u003e\n\u003cp\u003eThe only reason to wait so long for the switch was the data in MLO. There was no converter and using copy \u0026amp; paste for ~1500 entries was way to much for a lazy programmer. So I wrote a converter and yes - here we are. After processing 1h all entries are there including german umlauts, I love UTF8. Ok, much work to do after the move as I have used a deep hirachy within my outline in MLO, but better than nothing.\u003c/p\u003e","title":"Switch from MLO to Things"}]