<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0" xmlns:media="http://search.yahoo.com/mrss/"><channel><title><![CDATA[Honiggeist]]></title><description><![CDATA[Code. Hauptsächlich Code.]]></description><link>https://christianpfanner.at/</link><image><url>https://christianpfanner.at/favicon.png</url><title>Honiggeist</title><link>https://christianpfanner.at/</link></image><generator>Ghost 2.22</generator><lastBuildDate>Sun, 19 Apr 2026 12:24:46 GMT</lastBuildDate><atom:link href="https://christianpfanner.at/rss/" rel="self" type="application/rss+xml"/><ttl>60</ttl><item><title><![CDATA[formentera.casa 2]]></title><description><![CDATA[<p>Ich vermute ja dass irgendwo jemand sitzt und einen Mordsspass an der Aktion hat.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://christianpfanner.at/content/images/2020/06/image-2.png" class="kg-image"></figure><!--kg-card-end: image--><p><em>influencer-ich-weiß-bescheid-ton-an</em></p><blockquote>Mittlerweile ist eine <em>rot-blaue Doppelhelix</em> aufgetaucht! Da muss ich ja wohl keinem erklären worauf das hinweist, oder?</blockquote><p><em>influencer-ich-weiß-bescheid-ton-aus</em></p><p>Der Seitentitel ist zwar <em>formentera.mp4</em> aber bislang lädt die Seite bis auf die drei Bilder nix</p>]]></description><link>https://christianpfanner.at/formentera-casa-2/</link><guid isPermaLink="false">5edb29ee3ba5e30369efff0b</guid><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Sat, 06 Jun 2020 05:34:35 GMT</pubDate><content:encoded><![CDATA[<p>Ich vermute ja dass irgendwo jemand sitzt und einen Mordsspass an der Aktion hat.</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://christianpfanner.at/content/images/2020/06/image-2.png" class="kg-image"></figure><!--kg-card-end: image--><p><em>influencer-ich-weiß-bescheid-ton-an</em></p><blockquote>Mittlerweile ist eine <em>rot-blaue Doppelhelix</em> aufgetaucht! Da muss ich ja wohl keinem erklären worauf das hinweist, oder?</blockquote><p><em>influencer-ich-weiß-bescheid-ton-aus</em></p><p>Der Seitentitel ist zwar <em>formentera.mp4</em> aber bislang lädt die Seite bis auf die drei Bilder nix weiteres.</p><h2 id="aber">ABER</h2><p>In den imagetag-alt-Texten findet sich was:</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://christianpfanner.at/content/images/2020/06/image-3.png" class="kg-image"></figure><!--kg-card-end: image--><p>Die Koordinaten befinden sich in Dallas/Texas (JFK-Attentat). <br><s>Was die Binärzahlen sind - gute Frage.</s></p><p>Die Binärzahlen in Dezimal sind </p><p>48 57 46 48 57 46 50 48 50 48</p><p>daraus ergibt sich unter Zuhilfenahme einer [ASCII-Tabelle](<a href="https://www.torsten-horn.de/techdocs/ascii.htm">https://www.torsten-horn.de/techdocs/ascii.htm</a>):</p><p><strong>09.09.2020</strong></p>]]></content:encoded></item><item><title><![CDATA[formentera.casa countdown]]></title><description><![CDATA[<p>Der seltsame Countdown auf formentera.casa ist fertig - oder doch nicht? - jetzt zeigt die Seite mittlerweile zwei Symbole an und macht insgesamt erstaunlich wenig. Zumindest auf einen ersten Blick lässt sich noch nichts Verstecktes finden:</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://christianpfanner.at/content/images/2020/06/image.png" class="kg-image"></figure><!--kg-card-end: image--><p>Status 6:56:</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://christianpfanner.at/content/images/2020/06/image-1.png" class="kg-image"></figure><!--kg-card-end: image-->]]></description><link>https://christianpfanner.at/formentera-casa-countdown/</link><guid isPermaLink="false">5edb21993ba5e30369effefb</guid><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Sat, 06 Jun 2020 04:56:53 GMT</pubDate><content:encoded><![CDATA[<p>Der seltsame Countdown auf formentera.casa ist fertig - oder doch nicht? - jetzt zeigt die Seite mittlerweile zwei Symbole an und macht insgesamt erstaunlich wenig. Zumindest auf einen ersten Blick lässt sich noch nichts Verstecktes finden:</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://christianpfanner.at/content/images/2020/06/image.png" class="kg-image"></figure><!--kg-card-end: image--><p>Status 6:56:</p><!--kg-card-begin: image--><figure class="kg-card kg-image-card"><img src="https://christianpfanner.at/content/images/2020/06/image-1.png" class="kg-image"></figure><!--kg-card-end: image-->]]></content:encoded></item><item><title><![CDATA[Wordpress to ghost2]]></title><description><![CDATA[<p>Eine Migration von Wordpress nach Ghost 2 scheint sich auf den ersten Blick etwas mühsam zu gestalten - die bestehenden Tools funktionieren nur mit Ghost 1. Aber es gibt auch eine gute Nachricht: die neueste Ghost-1-Versionen exportieren ein Ghost-2-kompatibles <code>JSON</code>. Zusammen mit <a href="https://www.docker.com">Docker</a> ist das alles nicht ganz so schlimm.</p>]]></description><link>https://christianpfanner.at/wordpress-to-ghost2/</link><guid isPermaLink="false">5cdbe465d9c8ee06f7e0fd03</guid><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Wed, 15 May 2019 10:36:32 GMT</pubDate><content:encoded><![CDATA[<p>Eine Migration von Wordpress nach Ghost 2 scheint sich auf den ersten Blick etwas mühsam zu gestalten - die bestehenden Tools funktionieren nur mit Ghost 1. Aber es gibt auch eine gute Nachricht: die neueste Ghost-1-Versionen exportieren ein Ghost-2-kompatibles <code>JSON</code>. Zusammen mit <a href="https://www.docker.com">Docker</a> ist das alles nicht ganz so schlimm. Hier mal schnell notiert (mach ich vielleicht noch schöner wenn ich Zeit hab)</p><!--kg-card-begin: markdown--><ol>
<li>Wordpress blogposts exportieren</li>
<li>Den Ordner wp-content/uploads sichern.</li>
<li><a href="https://github.com/jonhoo/wp2ghost">https://github.com/jonhoo/wp2ghost</a></li>
<li>einen Ghost 1 docker-container starten:<br>
<code>docker run -d 	--name some-ghost 	-p 3001:2368 	ghost:1-alpine</code></li>
<li>Unter localhost:3001 den docker-ghost aufrufen</li>
<li>Json importieren (unter <code>meineurl.com\ghost\settings\labs</code>)</li>
<li>Json exportieren (unter <code>meineurl.com\ghost\settings\labs</code>) - das geht jetzt auch für einen Ghost2-import</li>
<li>Was jetzt noch nicht passt, sind die Bildpfade. Hier muss im erzeugten json <code>wp-content/uploads</code> mit <code>content/images</code> ersetzt werden. Ob man dazu jetzt sed oder was anderes nimmt. Ich hab search/replace in Notepad++ verwendet.</li>
<li>Im &quot;echten&quot; neuen Blog das json importieren (unter <code>meineurl.com\ghost\settings\labs</code>)</li>
<li>Die Bilder im ghost-Verzeichnis in den <code>images</code>-Ordner kopieren.</li>
</ol>
<p>Fertig :)</p>
<!--kg-card-end: markdown--><p><em>Naja... fast fertig, ich muss mir das Kommentar-Thema noch anschauen.</em></p>]]></content:encoded></item><item><title><![CDATA[Files über Windows command line umbenennen]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Will man eine Menge Files umbenennen (z.B. die kryptischen Namen aus einer Datenrettung wieder zu jpegs machen) geht das sehr einfach über die <code>ren</code>. In meinem Fall hatte ich die Windows-Login-Screen-Bilder aus dem ContentDeliveryManager Ordner kopiert (<a href="https://www.laptopmag.com/articles/find-windows-10-lock-screen-pictures">nämlich so</a>), die schauen in etwa so aus:</p>
<p><img src="https://christianpfanner.at/content/images/2018/08/cdm_images.png" alt="Loginscreen Bilder im Originalzustand"></p>
<p>Mittels</p>
<pre><code>ren *. *.jpg
</code></pre>
<p>lassen sich</p>]]></description><link>https://christianpfanner.at/files-uber-windows-command-line-umbenennen/</link><guid isPermaLink="false">5cdb9dd1dd10da36d440e354</guid><category><![CDATA[Windows 10]]></category><category><![CDATA[Command Line]]></category><category><![CDATA[umbenennen]]></category><category><![CDATA[Konsole]]></category><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Sat, 25 Aug 2018 01:26:53 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Will man eine Menge Files umbenennen (z.B. die kryptischen Namen aus einer Datenrettung wieder zu jpegs machen) geht das sehr einfach über die <code>ren</code>. In meinem Fall hatte ich die Windows-Login-Screen-Bilder aus dem ContentDeliveryManager Ordner kopiert (<a href="https://www.laptopmag.com/articles/find-windows-10-lock-screen-pictures">nämlich so</a>), die schauen in etwa so aus:</p>
<p><img src="https://christianpfanner.at/content/images/2018/08/cdm_images.png" alt="Loginscreen Bilder im Originalzustand"></p>
<p>Mittels</p>
<pre><code>ren *. *.jpg
</code></pre>
<p>lassen sich da schon mal Bilder draus machen, wenn auch die kryptischen Endungen bleiben. Auch das ließe sich auf der command line machen, zum Beispiel so (danke <a href="https://superuser.com/questions/347931/how-do-i-rename-a-bunch-of-files-in-the-command-prompt">superuser.com</a>):</p>
<pre><code>@echo off
SET COUNT=1
SET PREFIX=Photos
FOR /f &quot;tokens=*&quot; %%G IN ('dir /b *.jpg') DO (call :renum &quot;%%G&quot;)
GOTO :eof

:renum
 ren %1 %PREFIX%_%count%.jpg
 set /a count+=1
 GOTO :eof
</code></pre>
<p>Der dort erwähnte <a href="http://www.den4b.com/products/renamer">ReNamer</a> kann das auch, allerdings auch der Windows explorer selber:</p>
<ol>
<li>alle Dateien markieren</li>
<li>Rechtsklick</li>
<li>umbenennen</li>
<li>voilá:<br>
<img src="https://christianpfanner.at/content/images/2018/08/renamed.png" alt="renamed"></li>
</ol>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Programm als Administrator starten in Windows 10]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Eine Kommandozeile mit Adminrechten ist (für mich) öfters mal hilfreich, auch unter Windows 10. Der &quot;klassische&quot; Weg ist etwas umständlich und erfordert den Griff zur Maus.</p>
<ol>
<li><code>Win</code>-Taste</li>
<li><code>cmd</code> tippen</li>
<li>Rechtsklick --&gt; Als Administrator ausführen</li>
</ol>
<p><img src="https://christianpfanner.at/content/images/2017/01/cmd_als_admin.png" alt=""></p>
<p>Etwas eleganter ist das schon das <code>Win+X</code>-Menü, das einen direkten</p>]]></description><link>https://christianpfanner.at/programm-als-administrator-starten-in-windows-10/</link><guid isPermaLink="false">5cdb9dd1dd10da36d440e21b</guid><category><![CDATA[Windows 10]]></category><category><![CDATA[Adminstrator]]></category><category><![CDATA[Konsole]]></category><category><![CDATA[Keyboard]]></category><category><![CDATA[Shortcuts]]></category><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Thu, 19 Jan 2017 02:48:59 GMT</pubDate><media:content url="https://images.unsplash.com/photo-1477244075012-5cc28286e465?ixlib=rb-0.3.5&amp;q=80&amp;fm=jpg&amp;crop=entropy&amp;cs=tinysrgb&amp;w=1080&amp;fit=max&amp;s=650281f5f6da101b6954a53645bf6501" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><img src="https://images.unsplash.com/photo-1477244075012-5cc28286e465?ixlib=rb-0.3.5&q=80&fm=jpg&crop=entropy&cs=tinysrgb&w=1080&fit=max&s=650281f5f6da101b6954a53645bf6501" alt="Programm als Administrator starten in Windows 10"><p>Eine Kommandozeile mit Adminrechten ist (für mich) öfters mal hilfreich, auch unter Windows 10. Der &quot;klassische&quot; Weg ist etwas umständlich und erfordert den Griff zur Maus.</p>
<ol>
<li><code>Win</code>-Taste</li>
<li><code>cmd</code> tippen</li>
<li>Rechtsklick --&gt; Als Administrator ausführen</li>
</ol>
<p><img src="https://christianpfanner.at/content/images/2017/01/cmd_als_admin.png" alt="Programm als Administrator starten in Windows 10"></p>
<p>Etwas eleganter ist das schon das <code>Win+X</code>-Menü, das einen direkten Aufruf der Admin-Konsole bereitstellt. Das ist auch nur mit Tastatur möglich.</p>
<ol>
<li><code>Win+X</code></li>
<li><code>A</code></li>
</ol>
<p><img src="https://christianpfanner.at/content/images/2017/01/WinXMenu.png" alt="Programm als Administrator starten in Windows 10"></p>
<p>Wesentlich flexibler, weil nicht nur für die Kommandozeile verwendbar, ist aber die &quot;Keyboard-only&quot; Variante des ersten Ansatzes.</p>
<ol>
<li><code>Win</code>-Taste</li>
<li><code>cmd</code> tippen</li>
<li><code>Strg+Shift+Enter</code></li>
</ol>
<p>Voraussetzung ist natürlich immer, dass der angemeldete Benutzer auch Administratorrechte besitzt.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Anonym - oder doch nicht?]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Weil ich die letzte Zeit drüber gestolpert bin, zwei links (beide von golem.de) darüber, dass man immer etwas weniger anonym ist als man im Internet gern glauben würde. Zum einen geht es um <a href="http://www.golem.de/news/fingerprinting-nutzer-lassen-sich-ueber-browser-hinweg-tracken-1701-125627.html">Benutzeridentifikation mittels Fingerprinting über Browsergrenzen hinweg</a>. Auch schon interessant.</p>
<p>Richtig spooky wird es dann beim etwas</p>]]></description><link>https://christianpfanner.at/anonym-oder-doch-nicht/</link><guid isPermaLink="false">5cdb9dd1dd10da36d440e21a</guid><category><![CDATA[TOR]]></category><category><![CDATA[Ultraschall-Tracking]]></category><category><![CDATA[Fingerprinting]]></category><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Tue, 17 Jan 2017 21:40:06 GMT</pubDate><media:content url="https://www.torproject.org/images/tor-logo.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><img src="https://www.torproject.org/images/tor-logo.jpg" alt="Anonym - oder doch nicht?"><p>Weil ich die letzte Zeit drüber gestolpert bin, zwei links (beide von golem.de) darüber, dass man immer etwas weniger anonym ist als man im Internet gern glauben würde. Zum einen geht es um <a href="http://www.golem.de/news/fingerprinting-nutzer-lassen-sich-ueber-browser-hinweg-tracken-1701-125627.html">Benutzeridentifikation mittels Fingerprinting über Browsergrenzen hinweg</a>. Auch schon interessant.</p>
<p>Richtig spooky wird es dann beim etwas älteren Artikel. Die Verwendung von <a href="https://www.torproject.org/">TOR</a> soll Anonymität im Netz gewährleisten. Mittels <a href="http://www.golem.de/news/anonymitaet-ultraschall-tracking-kann-tor-nutzer-deanonymisieren-1701-125434.html">Ultraschall-Tracking</a> kann aber auch das durchaus ausgehebelt werden, und das über Gerätegrenzen hinweg. Bereits in Verwendung von Werbefirmen wie <a href="https://www.silverpush.co/">Silverpush</a> - es darf davon ausgegangen werden dass der Geheimdienst ihres Vertrauens ebenfalls dazu in der Lage ist.</p>
<p>Zeit für ein Aluhut-Upgrade.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[0.9 mit 4.0]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Das bezieht sich natürlich wieder mal auf Updates. Der Geist, der dieses Blog antreibt, <a href="https://dev.ghost.org/ghost-0-9-0/">hat Version 0.9 erreicht</a>.</p>
<p>Wichtigste Neuerung: <strong>Scheduled Posts</strong>. Kann ich ja hiermit gleich mal testen.</p>
<p>Da mittlerweile <strong>Node.js 4.0</strong> empfohlen wird, hab ich die Umstellung auf meinem Uberspace auch vorgenommen. Dank der <a href="https://christianpfanner.at/0-9-mit-4-0/">dortigen</a></p>]]></description><link>https://christianpfanner.at/0-9-mit-4-0/</link><guid isPermaLink="false">5cdb9dd1dd10da36d440e216</guid><category><![CDATA[Ghost]]></category><category><![CDATA[Node.js]]></category><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Fri, 05 Aug 2016 04:00:00 GMT</pubDate><media:content url="https://blog.ghost.org/content/images/2016/08/scheduled2-1.jpg" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><img src="https://blog.ghost.org/content/images/2016/08/scheduled2-1.jpg" alt="0.9 mit 4.0"><p>Das bezieht sich natürlich wieder mal auf Updates. Der Geist, der dieses Blog antreibt, <a href="https://dev.ghost.org/ghost-0-9-0/">hat Version 0.9 erreicht</a>.</p>
<p>Wichtigste Neuerung: <strong>Scheduled Posts</strong>. Kann ich ja hiermit gleich mal testen.</p>
<p>Da mittlerweile <strong>Node.js 4.0</strong> empfohlen wird, hab ich die Umstellung auf meinem Uberspace auch vorgenommen. Dank der <a href="https://christianpfanner.at/0-9-mit-4-0/">dortigen Dokumentation</a> keine Hexerei. Dazu ist einfach der <code>.bash_profile</code>-Datei die Zeile</p>
<pre><code>export PATH=/package/host/localhost/nodejs-4/bin:$PATH
</code></pre>
<p>anzufügen und danach über</p>
<pre><code>source ~/.bash_profile
</code></pre>
<p>die neue Einstellung einlesen. Der Blog war dann erst mal <mark>down</mark>. Leider hat auch ein mehrfaches <code>npm install --production</code> nicht den gewünschten Erfolg gebracht, einige Paketabhängigkeiten wollten sich einfach nicht auflösen lassen. Erlösung brachte dann eine Löschung des gesamten <code>node_modules</code>-Ordner. Danach erneut den obigen Install-Befehl ausgeführt, und der Blog ist wieder bereit.</p>
<p>Zeit für einen Test - dieser Eintrag sollte um exakt 6:00 online gehen.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[MonoDevelop und .NET 4.0]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Bei der Erstellung eines Pull-Requests für <a href="https://github.com/majorsilence/My-FyiReporting/">ein Reportingtool</a> hatte ich Probleme, das Projekt auf meiner Linux-Kiste (Fedora 23 - 64 bit) zu kompilieren. In den Projekteinstellungen war das Problem gleich gefunden: .NET 4.0 war bei dieser MONO-Version <a href="http://stackoverflow.com/questions/33185770/older-version-of-net-not-installed-with-latest-mono">nicht mehr verfügbar</a>.</p>
<p>Für den speziellen Fall hat sich aber eine einfache</p>]]></description><link>https://christianpfanner.at/monodevelop-und-net-4-0/</link><guid isPermaLink="false">5cdb9dd1dd10da36d440e217</guid><category><![CDATA[Mono]]></category><category><![CDATA[.NET]]></category><category><![CDATA[MonoDevelop]]></category><category><![CDATA[Fedora]]></category><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Tue, 31 May 2016 03:59:41 GMT</pubDate><media:content url="http://csharpcorner.mindcrackerinc.netdna-cdn.com/UploadFile/72d20e/gui-with-monodevelop/Images/very-first-mono.gif" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><img src="http://csharpcorner.mindcrackerinc.netdna-cdn.com/UploadFile/72d20e/gui-with-monodevelop/Images/very-first-mono.gif" alt="MonoDevelop und .NET 4.0"><p>Bei der Erstellung eines Pull-Requests für <a href="https://github.com/majorsilence/My-FyiReporting/">ein Reportingtool</a> hatte ich Probleme, das Projekt auf meiner Linux-Kiste (Fedora 23 - 64 bit) zu kompilieren. In den Projekteinstellungen war das Problem gleich gefunden: .NET 4.0 war bei dieser MONO-Version <a href="http://stackoverflow.com/questions/33185770/older-version-of-net-not-installed-with-latest-mono">nicht mehr verfügbar</a>.</p>
<p>Für den speziellen Fall hat sich aber eine einfache Lösung ergeben:</p>
<pre><code>cd /usr/lib/mono
sudo ln -s 4.5 4.0
</code></pre>
<p>Da zwischen .NET 4 und 4.5 (<a href="https://msdn.microsoft.com/en-us/library/hh367887(v=VS.110).aspx">fast</a>) keine <em>breaking changes</em> stattgefunden haben, sollte das recht harmonisch von Statten gehen.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Wegflashen]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Nach Google's Chrome hat jetzt auch <a href="http://www.golem.de/news/microsoft-edge-folgt-chrome-im-kampf-gegen-flash-werbung-1604-120226.html">Microsoft's Edge</a> endlich Flash den Kampf angesagt. So langsam wird das ja wohl klappen, Zeit wäre es.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></description><link>https://christianpfanner.at/wegflashen/</link><guid isPermaLink="false">5cdb9dd1dd10da36d440e213</guid><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Fri, 08 Apr 2016 14:11:43 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Nach Google's Chrome hat jetzt auch <a href="http://www.golem.de/news/microsoft-edge-folgt-chrome-im-kampf-gegen-flash-werbung-1604-120226.html">Microsoft's Edge</a> endlich Flash den Kampf angesagt. So langsam wird das ja wohl klappen, Zeit wäre es.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[3 Hui Gate IP Adresse ändern]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Das 3 Hui Gate hat die etwas unschöne Eigenschaft, das Netzwerk in einen Adressbereich nach dem Muster <code>192.168.x.y</code> zu zwingen. Die ersten beiden Gruppen der Adresse sind im Webinterface nicht editierbar. Schade, wenn man das Gerät in ein bestehendes Netzwerk einbinden möchte.</p>
<p>Geht also nicht? Geht doch!</p>]]></description><link>https://christianpfanner.at/3-hui-gate-ip-adresse-andern/</link><guid isPermaLink="false">5cdb9dd1dd10da36d440e212</guid><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Wed, 23 Mar 2016 08:26:08 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Das 3 Hui Gate hat die etwas unschöne Eigenschaft, das Netzwerk in einen Adressbereich nach dem Muster <code>192.168.x.y</code> zu zwingen. Die ersten beiden Gruppen der Adresse sind im Webinterface nicht editierbar. Schade, wenn man das Gerät in ein bestehendes Netzwerk einbinden möchte.</p>
<p>Geht also nicht? Geht doch!</p>
<p>In den Debugging-Tools von Chrome/Firefox/IE kann das HTML der Seite editiert werden und auch diese Felder angepasst werden.</p>
<p><img src="http://media.wmdry.com/118/image-jpeg/1536x1536/huigate-dhcp.jpg" alt="Bild von www.webmastersdiary.at"></p>
<p>Danach ist allerdings das Speichern noch nicht möglich - erst wenn eine der hinteren beiden Gruppen (oben <code>x</code> bzw <code>y</code>) editiert wird, ist der Button aktiv, es ist auch zu erkennen dass die Werte übernommen wurden. Nicht unoriginell.</p>
<p>Die Infos (und das Bild) hab ich aus dem <a href="http://www.webmastersdiary.at/blog/3huitube-und-3huigate-review/%C2%B4">Webmasters Diary</a>, dort gibt's auch noch ein paar Infos zum HuiTube.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[TFS Migrations-Stolpersteine]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Die Herausforderung war dieses mal eine (einigermaßen komplexe) Collection von einem TFS 2012 auf eine 2015er-Instanz zu migrieren. Das geht ja recht einfach.</p>
<ol>
<li>Collection im TFS detachen. (Fehlermeldung ignorieren)</li>
<li>Datenbank im SQL Management Studio detachen.</li>
<li>DB-Files (.MDF und .LDF) auf den neuen Server kopieren.</li>
<li>Datenbank im neuen SQL Server attachen.</li></ol>]]></description><link>https://christianpfanner.at/tfs-migrations-fehler-object-prc_installdiscussion-already-exists/</link><guid isPermaLink="false">5cdb9dd1dd10da36d440e32e</guid><category><![CDATA[MIgration]]></category><category><![CDATA[TFS]]></category><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Fri, 12 Feb 2016 20:46:01 GMT</pubDate><media:content url="http://almsweden.com/magnust/wp-content/uploads/2013/08/TFS-2013-chart.png" medium="image"/><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><img src="http://almsweden.com/magnust/wp-content/uploads/2013/08/TFS-2013-chart.png" alt="TFS Migrations-Stolpersteine"><p>Die Herausforderung war dieses mal eine (einigermaßen komplexe) Collection von einem TFS 2012 auf eine 2015er-Instanz zu migrieren. Das geht ja recht einfach.</p>
<ol>
<li>Collection im TFS detachen. (Fehlermeldung ignorieren)</li>
<li>Datenbank im SQL Management Studio detachen.</li>
<li>DB-Files (.MDF und .LDF) auf den neuen Server kopieren.</li>
<li>Datenbank im neuen SQL Server attachen.</li>
<li>Feststellen, dass es wohl schlauer gewesen wäre die Meldung zu lesen.</li>
</ol>
<p>Da wir nicht als erste in dies Falle tappen, kann uns Google weiterhelfen und führt uns wieder mal <a href="http://nkdagility.com/restore-tfs-backups-from-sql-enterprise-to-sql-express/">zu naked agility</a>. SQL Standard kann keine Kompression, die war aber aktiviert. Die Datenbank also wieder auf dem alten Server anhängen und mittels</p>
<pre><code>EXEC [dbo].[prc_EnablePrefixCompression] @online = 0, @disable = 1
</code></pre>
<p>die Kompression deaktivieren.</p>
<p>Das ganze Spiel von vorne - jetzt lässt sich die Datenbank einhängen und danach in der TFS-Konsole auswählen. Das Atachen dauerte jetzt eine ganze Weile (was erst mal ein gutes Zeichen ist). Kurz vor Ende dann die Meldung:</p>
<blockquote>
<p>Message: There is already an object named 'prc_InstallDiscussion' in the database.</p>
</blockquote>
<p>Und tatsächlich</p>
<pre><code>select * from sys.procedures
where name = 'prc_InstallDiscussion'
</code></pre>
<p>spuckt ein Ergebnis aus. Das ist mit einem beherzten <code>drop procedure prc_InstallDiscussion</code> schnell behoben. TFS 2015 Update 2 ist glücklicherweise schlau genug die Migration dort fortzuführen wo das Problem aufgetreten ist. Bald sind wir also wieder an der Stelle und stellen fest:</p>
<blockquote>
<p>Message: There is already an object named 'prc_InstallDiscussion' in the database.</p>
</blockquote>
<p>Diesmal ist es allerdings nicht die eigentliche Stored Procedure, sondern ein Synonym, das ich nach etwas herumsuchen mittels</p>
<pre><code>select * from sys.objects
where name = 'prc_InstallDiscussion'
</code></pre>
<p>finde. Analog zum obigen schafft hier ein <code>drop synonym prc_InstallDiscussion</code> Abhilfe, danach läuft das Attach endlich durch.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[WhatIf - Megalaser edition]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p><a href="https://de.wikipedia.org/wiki/Randall_Munroe">Randall Munroe</a> hat endlich wieder etwas Zeit für sein Blog gefunden und <a href="http://what-if.xkcd.com/141/">beantwortet die <em>brennende</em> Frage</a>: &quot;Was wäre wenn wir die ganze Sonnenstrahlung durch einen 1m-Laserstrahl auf die Erde richten.&quot;.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></description><link>https://christianpfanner.at/whatif-megalaser-edition/</link><guid isPermaLink="false">5cdb9dd1dd10da36d440e32c</guid><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Fri, 15 Jan 2016 08:04:49 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p><a href="https://de.wikipedia.org/wiki/Randall_Munroe">Randall Munroe</a> hat endlich wieder etwas Zeit für sein Blog gefunden und <a href="http://what-if.xkcd.com/141/">beantwortet die <em>brennende</em> Frage</a>: &quot;Was wäre wenn wir die ganze Sonnenstrahlung durch einen 1m-Laserstrahl auf die Erde richten.&quot;.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Organizer - analog]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Belle Beth Cooper hat <a href="http://blog.bellebethcooper.com/strikethru-notebook.html">über ihren analogen Notizblock-Aufgabenplaner gebloggt</a>. Was in den Händen - sicher nicht schlechter!</p>
<p>Belle ist übrigens leider nicht mehr Teil des Ghost-Team (Hallo Ghosties, wie schaut eure Öffentlichkeitsarbeit bezüglich Kündigungen aus???)</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></description><link>https://christianpfanner.at/organizer-analog/</link><guid isPermaLink="false">5cdb9dd1dd10da36d440e32f</guid><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Fri, 15 Jan 2016 07:21:55 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Belle Beth Cooper hat <a href="http://blog.bellebethcooper.com/strikethru-notebook.html">über ihren analogen Notizblock-Aufgabenplaner gebloggt</a>. Was in den Händen - sicher nicht schlechter!</p>
<p>Belle ist übrigens leider nicht mehr Teil des Ghost-Team (Hallo Ghosties, wie schaut eure Öffentlichkeitsarbeit bezüglich Kündigungen aus???)</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Github-Pages mit Custom Domain]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Erfreulich einfach ist es möglich, seine <a href="https://pages.github.com/">mit Github Pages</a> gehostete Seite unter einer eigenen Domain anzubieten. Das Prinzip hinter dieser recht statischen Hostinglösung ist so einfach wie genial - alles was in einem bestimmten Repository (mit Namenskonvention <em>benutzername</em>.github.io) landet (schön versioniert mittels <strong>git</strong>), wird im Hintergrund von einem</p>]]></description><link>https://christianpfanner.at/github-pages-mit-custom-domain/</link><guid isPermaLink="false">5cdb9dd1dd10da36d440e330</guid><category><![CDATA[Ghost]]></category><category><![CDATA[Github]]></category><category><![CDATA[github pages]]></category><category><![CDATA[ghost-api]]></category><category><![CDATA[custom domain]]></category><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Mon, 28 Dec 2015 19:21:00 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Erfreulich einfach ist es möglich, seine <a href="https://pages.github.com/">mit Github Pages</a> gehostete Seite unter einer eigenen Domain anzubieten. Das Prinzip hinter dieser recht statischen Hostinglösung ist so einfach wie genial - alles was in einem bestimmten Repository (mit Namenskonvention <em>benutzername</em>.github.io) landet (schön versioniert mittels <strong>git</strong>), wird im Hintergrund von einem <strong><a href="https://jekyllrb.com/">Jekyll</a></strong>-Dienst deployt. Erst mal auf eine Webseite mit dem Namen des Repository, die jetzt nicht so ganz schön ist möglicherweise.</p>
<h3 id="cnameimrepository">CNAME im Repository</h3>
<p>Abhilfe schafft erst mal eine Datei mit namen <em>CNAME</em> im Repository, die die gewünschte Domain beinhaltet.</p>
<pre><code>portfolio.christianpfanner.at
</code></pre>
<p>Hierbei ist zu beachten dass</p>
<ol>
<li>der Dateiname CNAME auch genau so (also groß) geschrieben wird und</li>
<li>die Domain ungeachtet des verwendeten Protokolls ohne dieses (also etwa https://) eingetragen wird.</li>
</ol>
<h3 id="cnameimdns">CNAME im DNS</h3>
<p>Als weiterer Schritt ist im Nameserver ein entsprechender CNAME-Eintrag anzulegen. Das funktioniert je nach Provider ein wenig unterschiedlich, resultiert dann aber in einem ähnlichen Eintrag:</p>
<pre><code>portfolio CNAME chripf.github.io 3600
</code></pre>
<p>Bedeutet: die Subdomain portfolio.christianpfanner.at wird als alias von chripf.github.io behandelt.</p>
<h3 id="ghostapi">Ghost API</h3>
<p>Was noch nachzubessern war: die Ghost-API hat natürlich festgestellt, dass die Requests nun nicht mehr von der bereits zugelassenen Domain chripf.github.io kommen und verlangte somit nach einem neuen Eintrag in der Tabelle <em>client_trusted_domains</em> in der Ghost-Datenbank. In meinem Fall:</p>
<pre><code>insert into client_trusted_domains (uuid, client_id, trusted_domain) values ('&lt;eine uid&gt;', 2, 'portfolio.christianpfanner.at');
</code></pre>
<p>Da die Tabelle offenbar bei jedem API-request abgefragt wird, läuft das sogar ohne Neustart des Ghost-Service schon.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item><item><title><![CDATA[Public Ghost-API (Beta)]]></title><description><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Die jetzt von außen zugreifbare <a href="https://blog.ghost.org/public-api-labs/">JSON-API von Ghost</a> musste ich natürlich gleich mal testen. Zu bestaunen auf <a href="http://chripf.github.io/">meiner Github-Seite</a>.</p>
<p>Gefolgt bin ich mehr oder weniger der <a href="http://api.ghost.org/v0.1/docs/ajax-calls-from-an-external-website">offiziellen Dokumentation</a> - die API könnte zwar auch direkt über die URL mit diversen Parametern abgefragt werden (was die bereitgestellte Klasse dann im Endeffekt</p>]]></description><link>https://christianpfanner.at/public-ghost-api/</link><guid isPermaLink="false">5cdb9dd1dd10da36d440e332</guid><category><![CDATA[Ghost]]></category><category><![CDATA[API]]></category><dc:creator><![CDATA[Christian Pfanner]]></dc:creator><pubDate>Thu, 17 Dec 2015 20:01:23 GMT</pubDate><content:encoded><![CDATA[<!--kg-card-begin: markdown--><!--kg-card-begin: markdown--><p>Die jetzt von außen zugreifbare <a href="https://blog.ghost.org/public-api-labs/">JSON-API von Ghost</a> musste ich natürlich gleich mal testen. Zu bestaunen auf <a href="http://chripf.github.io/">meiner Github-Seite</a>.</p>
<p>Gefolgt bin ich mehr oder weniger der <a href="http://api.ghost.org/v0.1/docs/ajax-calls-from-an-external-website">offiziellen Dokumentation</a> - die API könnte zwar auch direkt über die URL mit diversen Parametern abgefragt werden (was die bereitgestellte Klasse dann im Endeffekt auch macht), aber so ist es natürlich</p>
<ol>
<li>komfortabler und</li>
<li>hoffentlich auch noch in Zukunft funktionell.</li>
</ol>
<h2 id="1fropensource">+1 für Open Source</h2>
<p>Offenbar gab es da einen <a href="https://github.com/TryGhost/Ghost/issues/6239">Bug</a> (Punkt 2 ist also dem Beta-Zustand zum Opfer gefallen - einen <strong>Workaround</strong> habe ich ebendort beschrieben), der aber mittlerweile bereits <a href="https://github.com/TryGhost/Ghost/commit/6f53e7340793f4f5183aee573937800451716bfe">gefixt</a> wurde.</p>
<!--kg-card-end: markdown--><!--kg-card-end: markdown-->]]></content:encoded></item></channel></rss>