<?xml version="1.0" encoding="UTF-8"?>

<rss version="2.0"
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   xmlns:atom="http://www.w3.org/2005/Atom"
   >

   <channel>
      <title>Anwendungsentwickler.ws - Die Letzten Blog Einträge</title>
      <link>http://anwendungsentwickler.ws/die_letzten_blog_eintraege,6.html</link>
      <description>Uninteressantes von einem Anwendungsentwickler</description>
      <dc:language>de-de</dc:language>
      <generator>RSS Writer by Christian Blechert</generator>

      <atom:link href="http://anwendungsentwickler.ws/blog_entrys_feeds.rss" rel="self" type="application/rss+xml" />

      <image>
          <url>http://www.sim4000.de/img/sim4000_blog_banner.png</url>
          <title>Anwendungsentwickler.ws - Die Letzten Blog Einträge</title>
          <link>http://anwendungsentwickler.ws/die_letzten_blog_eintraege,6.html</link>
      </image>

         <item>
            <title>FFMpeg mit MP3 Codecs</title>
            <link>http://anwendungsentwickler.ws/ffmpeg_mit_mp3_codecs/entry/421/?source=rss</link>
            <pubDate>Wed, 16 May 2012 22:26:53 +0200</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>421-2012-05-16 22:26:53</guid>
            <description>&lt;pre&gt;Encoder (codec id 86017) not found for output stream #0.0&lt;/pre&gt;&lt;p&gt;Wer mit ffmpeg mit mp3 arbeiten m&amp;ouml;chte, muss noch extra Codecs installieren. Unter Debian ist das das Paket&amp;nbsp;&lt;strong&gt;libavcodec-extra-xy&lt;/strong&gt;. XY steht dabei f&amp;uuml;r eine beliebige Zahl. Welche das ist, muss man im Paketmanager &amp;uuml;ber die Suche heraus finden.&lt;/p&gt;&lt;pre&gt;# aptitude search libavcodec-extra-i   libavcodec-extra-53                       - Libav codec library# aptitude install libavcodec-extra-53&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Das gild jetzt f&amp;uuml;r Debian basierte Systeme. &lt;br /&gt;Unter Suse und Co kann das Paket nat&amp;uuml;rlich anders hei&amp;szlig;en...&lt;/p&gt;&lt;p&gt;Have fun. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;pre&gt;Encoder (codec id 86017) not found for output stream #0.0&lt;/pre&gt;&lt;p&gt;Wer mit ffmpeg mit mp3 arbeiten m&amp;ouml;chte, muss noch extra Codecs installieren. Unter Debian ist das das Paket&amp;nbsp;&lt;strong&gt;libavcodec-extra-xy&lt;/strong&gt;. XY steht dabei f&amp;uuml;r eine beliebige Zahl. Welche das ist, muss man im Paketmanager &amp;uuml;ber die Suche heraus finden.&lt;/p&gt;&lt;pre&gt;# aptitude search libavcodec-extra-i   libavcodec-extra-53                       - Libav codec library# aptitude install libavcodec-extra-53&lt;br /&gt;&lt;/pre&gt;&lt;p&gt;Das gild jetzt f&amp;uuml;r Debian basierte Systeme. &lt;br /&gt;Unter Suse und Co kann das Paket nat&amp;uuml;rlich anders hei&amp;szlig;en...&lt;/p&gt;&lt;p&gt;Have fun. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>Die Säuberung</title>
            <link>http://anwendungsentwickler.ws/die_saeuberung/entry/420/?source=rss</link>
            <pubDate>Wed, 16 May 2012 22:03:24 +0200</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>420-2012-05-16 22:03:24</guid>
            <description>&lt;p&gt;Vor ein paar Tagen habe ich meinen wei&amp;szlig;en Nintendo DS Lite sauber gemacht. Leider hat der ein transparentes Cover, wodurch sind in den Spalten immer der Dreck sammelt.&lt;/p&gt;&lt;p&gt;Schwer war eigentlich nur die Schrauben zu l&amp;ouml;sen. Aber ich hatte hier einen Schlitz Schraubenzieher der da genau rein gepasst hat. Gl&amp;uuml;ckstreffer. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;Vor ein paar Tagen habe ich meinen wei&amp;szlig;en Nintendo DS Lite sauber gemacht. Leider hat der ein transparentes Cover, wodurch sind in den Spalten immer der Dreck sammelt.&lt;/p&gt;&lt;p&gt;Schwer war eigentlich nur die Schrauben zu l&amp;ouml;sen. Aber ich hatte hier einen Schlitz Schraubenzieher der da genau rein gepasst hat. Gl&amp;uuml;ckstreffer. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>Typo3 Extension Manager im Firefox 12</title>
            <link>http://anwendungsentwickler.ws/typo3_extension_manager_im_firefox_12/entry/419/?source=rss</link>
            <pubDate>Wed, 16 May 2012 21:54:33 +0200</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>419-2012-05-16 21:54:33</guid>
            <description>&lt;p&gt;In der aktuellen Typo3 Version gibt es einen Darstellungsfehler im Extension Manager im Firefox 12. Und zwar wird das Icon zum aktivieren und deaktivieren einer Extension nicht mehr angezeigt.&lt;/p&gt;&lt;p style=&quot;text-align:center;&quot;&gt;&lt;img src=&quot;/upload/txpoext.PNG&quot; alt=&quot;Typo3 Extension Manager Darstellungsfehler&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;strong&gt;Fehlerbehebung:&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;Bugtracker Eintrag:&amp;nbsp;&lt;a href=&quot;http://forge.typo3.org/issues/30900&quot; target=&quot;_blank&quot;&gt;http://forge.typo3.org/issues/30900&lt;/a&gt;&lt;br /&gt;Bugfix:&amp;nbsp;&lt;a href=&quot;https://review.typo3.org/#/c/10879/&quot; target=&quot;_blank&quot;&gt;https://review.typo3.org/#/c/10879/&lt;/a&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;In der aktuellen Typo3 Version gibt es einen Darstellungsfehler im Extension Manager im Firefox 12. Und zwar wird das Icon zum aktivieren und deaktivieren einer Extension nicht mehr angezeigt.&lt;/p&gt;&lt;p style=&quot;text-align:center;&quot;&gt;&lt;img src=&quot;/upload/txpoext.PNG&quot; alt=&quot;Typo3 Extension Manager Darstellungsfehler&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;u&gt;&lt;strong&gt;Fehlerbehebung:&lt;/strong&gt;&lt;/u&gt;&lt;br /&gt;Bugtracker Eintrag:&amp;nbsp;&lt;a href=&quot;http://forge.typo3.org/issues/30900&quot; target=&quot;_blank&quot;&gt;http://forge.typo3.org/issues/30900&lt;/a&gt;&lt;br /&gt;Bugfix:&amp;nbsp;&lt;a href=&quot;https://review.typo3.org/#/c/10879/&quot; target=&quot;_blank&quot;&gt;https://review.typo3.org/#/c/10879/&lt;/a&gt;&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>vim und dunkle Terminal Hintergründe</title>
            <link>http://anwendungsentwickler.ws/vim_und_dunkle_terminal_hintergruende/entry/418/?source=rss</link>
            <pubDate>Mon, 16 Apr 2012 22:49:18 +0200</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>418-2012-04-16 22:49:18</guid>
            <description>&lt;p&gt;Wer schonmal &amp;uuml;ber die Farbe der Kommentare im Texteditor vim bei dunklem Hintergrund im Terminal Fenster geflucht hat, wird sich hier bestimmt freuen.&lt;/p&gt;&lt;pre&gt;:set bg=dark&lt;/pre&gt;&lt;p&gt;In dem Befehl setzt man die Art des Hintergrunds. Bei &lt;strong&gt;dark&lt;/strong&gt; wird die Textfarbe hell, bei &lt;strong&gt;light&lt;/strong&gt; wird die Textfarbe dunkel. Probiert es einfach mal aus.&lt;/p&gt;&lt;p&gt;Have fun. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;Wer schonmal &amp;uuml;ber die Farbe der Kommentare im Texteditor vim bei dunklem Hintergrund im Terminal Fenster geflucht hat, wird sich hier bestimmt freuen.&lt;/p&gt;&lt;pre&gt;:set bg=dark&lt;/pre&gt;&lt;p&gt;In dem Befehl setzt man die Art des Hintergrunds. Bei &lt;strong&gt;dark&lt;/strong&gt; wird die Textfarbe hell, bei &lt;strong&gt;light&lt;/strong&gt; wird die Textfarbe dunkel. Probiert es einfach mal aus.&lt;/p&gt;&lt;p&gt;Have fun. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>[Bash] Dateiname ohne Endung</title>
            <link>http://anwendungsentwickler.ws/bash_dateiname_ohne_endung/entry/417/?source=rss</link>
            <pubDate>Mon, 16 Apr 2012 22:38:02 +0200</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>417-2012-04-16 22:38:02</guid>
            <description>&lt;p&gt;Vor allem beim Massenumbenennen innerhalb einer for-Schleife total praktisch:&lt;/p&gt;&lt;pre&gt;for I in *.wav; do ffmpeg -i &amp;quot;$I&amp;quot; &amp;quot;$(basename $I .wav).mp3&amp;quot;; done;&lt;br type=&quot;_moz&quot; /&gt;&lt;/pre&gt;&lt;p&gt;Im basename Befehl kann man als zweiten Parameter die Endung angeben, die entfernt werden soll. So funktioniert das konvertieren mit ffmpeg ohne d&amp;auml;mliche Stringfunktionen... &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;Vor allem beim Massenumbenennen innerhalb einer for-Schleife total praktisch:&lt;/p&gt;&lt;pre&gt;for I in *.wav; do ffmpeg -i &amp;quot;$I&amp;quot; &amp;quot;$(basename $I .wav).mp3&amp;quot;; done;&lt;br type=&quot;_moz&quot; /&gt;&lt;/pre&gt;&lt;p&gt;Im basename Befehl kann man als zweiten Parameter die Endung angeben, die entfernt werden soll. So funktioniert das konvertieren mit ffmpeg ohne d&amp;auml;mliche Stringfunktionen... &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>SD Karte komplett wiederherstellen</title>
            <link>http://anwendungsentwickler.ws/sd_karte_komplett_wiederherstellen/entry/416/?source=rss</link>
            <pubDate>Mon, 16 Apr 2012 21:15:47 +0200</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>416-2012-04-16 21:15:47</guid>
            <description>&lt;p&gt;&lt;img src=&quot;/upload/testdisk_sdrecovery.png&quot; alt=&quot;SD Karte wiederherstellen mit Testdisk&quot; width=&quot;350&quot; height=&quot;188&quot; style=&quot;float:left; margin-right:5px;&quot; /&gt;Irgendwie hatte ich es geschafft die SD Karte meiner Pandora zu schrotten.&lt;/p&gt;&lt;p&gt;Statt der normalen Ordnerstruktur war nur noch ein LOST.DIR Ordner mit 1.000.000 (grobe sch&amp;auml;tzung... &lt;img src='/img/smileys/default/icon_wink.gif' alt=';)'&gt;) durchnummerierte Dateien.&lt;/p&gt;&lt;p&gt;Bei einigen hat Nautilus noch den korrekten Dateityp erkannt, aber weder Dateiname noch Dateiendung waren vorhanden.&lt;/p&gt;&lt;p&gt;Sprich alle Spielst&amp;auml;nde und Savestates waren futsch. Die kann man ja schlie&amp;szlig;lich ohne Dateinamen nicht zuordnen...&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://wejp.k.vu/&quot; target=&quot;_blank&quot;&gt;Wejp&lt;/a&gt; empfahl mir, es mal mit &lt;a href=&quot;http://www.cgsecurity.org/wiki/TestDisk&quot; target=&quot;_blank&quot;&gt;Testdisk&lt;/a&gt; auszuprobieren. Und siehe da: Alles wieder heile! Echt bemerkenswert, dass Testdisk sogar die Dateinamen wiederhergestellt hat.&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;&lt;img src=&quot;/upload/testdisk_sdrecovery.png&quot; alt=&quot;SD Karte wiederherstellen mit Testdisk&quot; width=&quot;350&quot; height=&quot;188&quot; style=&quot;float:left; margin-right:5px;&quot; /&gt;Irgendwie hatte ich es geschafft die SD Karte meiner Pandora zu schrotten.&lt;/p&gt;&lt;p&gt;Statt der normalen Ordnerstruktur war nur noch ein LOST.DIR Ordner mit 1.000.000 (grobe sch&amp;auml;tzung... &lt;img src='/img/smileys/default/icon_wink.gif' alt=';)'&gt;) durchnummerierte Dateien.&lt;/p&gt;&lt;p&gt;Bei einigen hat Nautilus noch den korrekten Dateityp erkannt, aber weder Dateiname noch Dateiendung waren vorhanden.&lt;/p&gt;&lt;p&gt;Sprich alle Spielst&amp;auml;nde und Savestates waren futsch. Die kann man ja schlie&amp;szlig;lich ohne Dateinamen nicht zuordnen...&lt;/p&gt;&lt;p&gt;&lt;a href=&quot;http://wejp.k.vu/&quot; target=&quot;_blank&quot;&gt;Wejp&lt;/a&gt; empfahl mir, es mal mit &lt;a href=&quot;http://www.cgsecurity.org/wiki/TestDisk&quot; target=&quot;_blank&quot;&gt;Testdisk&lt;/a&gt; auszuprobieren. Und siehe da: Alles wieder heile! Echt bemerkenswert, dass Testdisk sogar die Dateinamen wiederhergestellt hat.&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>Medion Lifetab P9516 - Kleiner Alleskönner</title>
            <link>http://anwendungsentwickler.ws/medion_lifetab_p9516_-_kleiner_alleskoenner/entry/415/?source=rss</link>
            <pubDate>Fri, 06 Apr 2012 19:10:50 +0200</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>415-2012-04-06 19:10:50</guid>
            <description>&lt;p&gt;Am 29.03. habe ich mir das neue Aldi-Tablet, das Medion Lifetab 9516 gekauft. Eigentlich wollte ich es nur &amp;quot;mal f&amp;uuml;r ein paar Tage&amp;quot; testen. Nun hat es das Tablet doch in meinen &amp;quot;Fuhrpark&amp;quot; geschafft. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Einige Eckdaten zu dem 10&amp;quot; gro&amp;szlig;en Tablet&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;Android 3.2.1&lt;/li&gt;    &lt;li&gt;1 GB RAM&lt;/li&gt;    &lt;li&gt;Nvidia Tegra Dualcore 1GHz CPU&lt;/li&gt;    &lt;li&gt;Zirka 10 Stunden Dauerbetrieb bei niedrigster Helligkeitsstufe&lt;/li&gt;    &lt;li&gt;32GB interner Speicher&lt;/li&gt;    &lt;li&gt;n-WLAN, Bluetooth, UMTS&lt;/li&gt;    &lt;li&gt;Multifunktionsanschluss f&amp;uuml;r USB Host, USB OTG &amp;uuml;ber MTP Protokoll und Aufladen&lt;/li&gt;    &lt;li&gt;Micro USB Slot&lt;/li&gt;    &lt;li&gt;Mini HDMI&lt;/li&gt;    &lt;li&gt;2 Megapixel Frontkamera, 5 Megapixel Au&amp;szlig;enkamera&lt;/li&gt;    &lt;li&gt;Hometaste mit vier Funktionen (dr&amp;uuml;cken, dr&amp;uuml;cken+festhalten, nach oben/unten wischen)&lt;/li&gt;    &lt;li&gt;Zubeh&amp;ouml;r: Ladekabel, USB Host Kabel, USB OTG Kabel, HDMI Kabel&lt;br /&gt;    &amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src=&quot;/upload/medionlifetab.png&quot; alt=&quot;Medion Lifetab&quot; width=&quot;300&quot; height=&quot;424&quot; style=&quot;float:left; margin-right:5px;&quot; /&gt;&lt;/p&gt;&lt;h2&gt;Die zwei Karten Slots&lt;/h2&gt;&lt;p&gt;Das Tablet besitzt zwei Karten Slots f&amp;uuml;r eine Micro SD Karte und eine normale SIM Karte. Um diese zu &amp;ouml;ffnen ben&amp;ouml;tigt man, &amp;auml;hnlich wie beim iPhone, eine B&amp;uuml;roklammer. Die Micro SD Karte wird sofort erkannt und im Order /mnt/sdcard2 eingebunden. Beim Einstecken der SIM Karte hingegen fordert Android zum Neustart des Systems auf.&lt;/p&gt;&lt;h2&gt;Der Multifunktionsanschluss&lt;/h2&gt;&lt;p&gt;Leider kein MicroUSB sondern so ein kommerzieller Anschluss &amp;auml;hnlich dem iPhone. Je nach dem was man von den mitgelieferten Kabeln anschliesst, bietet der Anschluss verschiedene Funktionen.&amp;nbsp;&lt;/p&gt;&lt;p&gt;So l&amp;auml;sst sich mit dem Host-Adapter ein beliebiges USB Ger&amp;auml;t anschlie&amp;szlig;en. Beispielsweise USB Sticks, externe Festplatten oder USB Tastaturen. Klemmt man das Tablet mit dem entsprechenden Kabel an den PC, passiert erstmal nicht wirklich viel.&lt;/p&gt;&lt;p&gt;Mit aktivem Debug Modue kann man wie von Smartphones gewohnt Apps entwickelt und die adb Schnittstelle benutzen. M&amp;ouml;chste man auf den internen Speicher zugrifen, muss man dies &amp;uuml;ber das Media Transfer Protocol (MTP) machen. Unter Linux muss man nur die entsprechenden Pakete instrallieren. Unter Windows XP ist ein extra Treiber n&amp;ouml;tig den man von Medions Website downloaden kann. Unter Windows Vista und Windows 7 soll es angeblich out-of-the-box funktionieren. &lt;span style=&quot;color: rgb(255, 0, 0); &quot;&gt;&lt;strong&gt;Wichtig:&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt; &lt;/strong&gt;Debug Modus f&amp;uuml;r Datenaustausch deaktivieren!&lt;/p&gt;&lt;p style=&quot;clear:both;&quot;&gt;&lt;strong&gt;MTP unter Ubuntu / Linux Mint installieren&lt;/strong&gt;&lt;/p&gt;&lt;pre&gt;# apt-get install mtpfs mtp-tools$ mtp-detect$ mtpfs /irgendein/mount/point&lt;/pre&gt;&lt;h2&gt;Die Hometaste&lt;/h2&gt;&lt;p&gt;Die Hometaste besitzt mehrere Funktionen:&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;Kurz Dr&amp;uuml;cken: Zur&amp;uuml;ck auf den Homescreen&lt;/li&gt;    &lt;li&gt;Lang Dr&amp;uuml;cken: Screenshot erstellen&lt;/li&gt;    &lt;li&gt;Nach oben wischen (Querformat): Menu &amp;ouml;ffnen&lt;/li&gt;    &lt;li&gt;Nach unten wischen (Querformat): Eine Activity zur&amp;uuml;ck gehen&lt;br /&gt;    &amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Das Display&lt;/h2&gt;&lt;p&gt;Zu dem Display gibt es eigentlich nicht viel zu sagen. Der Touchscreen ist sehr genau. Selbst kleine Links im Browser lassen sich ohne Probleme antippen. Nur das Standardproblem bei Tablets st&amp;ouml;rt ein bisschen. Scheint drau&amp;szlig;en die Sonne auf das Display spiegelt es.&lt;/p&gt;&lt;p&gt;Benutzen kann man es aber trotzdem.&lt;/p&gt;&lt;h2&gt;Der HDMI Port&lt;/h2&gt;&lt;p&gt;Schlie&amp;szlig;t man das Tablet via HDMI an einen Fernsehr an, wird das Bild des Tablets auf dem Fernsehr angezeigt. Bei Youtube wird dann beispielsweise das Bild des Videos auf dem TV angezeigt, auf dem Tablet wird weiterhin die normale App angezeigt.&lt;/p&gt;&lt;h2&gt;Fazit&lt;/h2&gt;&lt;p&gt;Das Lifetab ist ein allesk&amp;ouml;nner mit mittlerem Preissegment. In erster Linie nat&amp;uuml;rlich ein Spielzeug f&amp;uuml;r Technik Fans. Aber um auf dem Sofa ein bissl im Internet zu surfen gibt es nichts besseres. &amp;nbsp;&lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;Am 29.03. habe ich mir das neue Aldi-Tablet, das Medion Lifetab 9516 gekauft. Eigentlich wollte ich es nur &amp;quot;mal f&amp;uuml;r ein paar Tage&amp;quot; testen. Nun hat es das Tablet doch in meinen &amp;quot;Fuhrpark&amp;quot; geschafft. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;&lt;p&gt;&lt;strong&gt;Einige Eckdaten zu dem 10&amp;quot; gro&amp;szlig;en Tablet&lt;/strong&gt;&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;Android 3.2.1&lt;/li&gt;    &lt;li&gt;1 GB RAM&lt;/li&gt;    &lt;li&gt;Nvidia Tegra Dualcore 1GHz CPU&lt;/li&gt;    &lt;li&gt;Zirka 10 Stunden Dauerbetrieb bei niedrigster Helligkeitsstufe&lt;/li&gt;    &lt;li&gt;32GB interner Speicher&lt;/li&gt;    &lt;li&gt;n-WLAN, Bluetooth, UMTS&lt;/li&gt;    &lt;li&gt;Multifunktionsanschluss f&amp;uuml;r USB Host, USB OTG &amp;uuml;ber MTP Protokoll und Aufladen&lt;/li&gt;    &lt;li&gt;Micro USB Slot&lt;/li&gt;    &lt;li&gt;Mini HDMI&lt;/li&gt;    &lt;li&gt;2 Megapixel Frontkamera, 5 Megapixel Au&amp;szlig;enkamera&lt;/li&gt;    &lt;li&gt;Hometaste mit vier Funktionen (dr&amp;uuml;cken, dr&amp;uuml;cken+festhalten, nach oben/unten wischen)&lt;/li&gt;    &lt;li&gt;Zubeh&amp;ouml;r: Ladekabel, USB Host Kabel, USB OTG Kabel, HDMI Kabel&lt;br /&gt;    &amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&lt;img src=&quot;/upload/medionlifetab.png&quot; alt=&quot;Medion Lifetab&quot; width=&quot;300&quot; height=&quot;424&quot; style=&quot;float:left; margin-right:5px;&quot; /&gt;&lt;/p&gt;&lt;h2&gt;Die zwei Karten Slots&lt;/h2&gt;&lt;p&gt;Das Tablet besitzt zwei Karten Slots f&amp;uuml;r eine Micro SD Karte und eine normale SIM Karte. Um diese zu &amp;ouml;ffnen ben&amp;ouml;tigt man, &amp;auml;hnlich wie beim iPhone, eine B&amp;uuml;roklammer. Die Micro SD Karte wird sofort erkannt und im Order /mnt/sdcard2 eingebunden. Beim Einstecken der SIM Karte hingegen fordert Android zum Neustart des Systems auf.&lt;/p&gt;&lt;h2&gt;Der Multifunktionsanschluss&lt;/h2&gt;&lt;p&gt;Leider kein MicroUSB sondern so ein kommerzieller Anschluss &amp;auml;hnlich dem iPhone. Je nach dem was man von den mitgelieferten Kabeln anschliesst, bietet der Anschluss verschiedene Funktionen.&amp;nbsp;&lt;/p&gt;&lt;p&gt;So l&amp;auml;sst sich mit dem Host-Adapter ein beliebiges USB Ger&amp;auml;t anschlie&amp;szlig;en. Beispielsweise USB Sticks, externe Festplatten oder USB Tastaturen. Klemmt man das Tablet mit dem entsprechenden Kabel an den PC, passiert erstmal nicht wirklich viel.&lt;/p&gt;&lt;p&gt;Mit aktivem Debug Modue kann man wie von Smartphones gewohnt Apps entwickelt und die adb Schnittstelle benutzen. M&amp;ouml;chste man auf den internen Speicher zugrifen, muss man dies &amp;uuml;ber das Media Transfer Protocol (MTP) machen. Unter Linux muss man nur die entsprechenden Pakete instrallieren. Unter Windows XP ist ein extra Treiber n&amp;ouml;tig den man von Medions Website downloaden kann. Unter Windows Vista und Windows 7 soll es angeblich out-of-the-box funktionieren. &lt;span style=&quot;color: rgb(255, 0, 0); &quot;&gt;&lt;strong&gt;Wichtig:&lt;/strong&gt;&lt;/span&gt;&lt;strong&gt; &lt;/strong&gt;Debug Modus f&amp;uuml;r Datenaustausch deaktivieren!&lt;/p&gt;&lt;p style=&quot;clear:both;&quot;&gt;&lt;strong&gt;MTP unter Ubuntu / Linux Mint installieren&lt;/strong&gt;&lt;/p&gt;&lt;pre&gt;# apt-get install mtpfs mtp-tools$ mtp-detect$ mtpfs /irgendein/mount/point&lt;/pre&gt;&lt;h2&gt;Die Hometaste&lt;/h2&gt;&lt;p&gt;Die Hometaste besitzt mehrere Funktionen:&lt;/p&gt;&lt;ul&gt;    &lt;li&gt;Kurz Dr&amp;uuml;cken: Zur&amp;uuml;ck auf den Homescreen&lt;/li&gt;    &lt;li&gt;Lang Dr&amp;uuml;cken: Screenshot erstellen&lt;/li&gt;    &lt;li&gt;Nach oben wischen (Querformat): Menu &amp;ouml;ffnen&lt;/li&gt;    &lt;li&gt;Nach unten wischen (Querformat): Eine Activity zur&amp;uuml;ck gehen&lt;br /&gt;    &amp;nbsp;&lt;/li&gt;&lt;/ul&gt;&lt;h2&gt;Das Display&lt;/h2&gt;&lt;p&gt;Zu dem Display gibt es eigentlich nicht viel zu sagen. Der Touchscreen ist sehr genau. Selbst kleine Links im Browser lassen sich ohne Probleme antippen. Nur das Standardproblem bei Tablets st&amp;ouml;rt ein bisschen. Scheint drau&amp;szlig;en die Sonne auf das Display spiegelt es.&lt;/p&gt;&lt;p&gt;Benutzen kann man es aber trotzdem.&lt;/p&gt;&lt;h2&gt;Der HDMI Port&lt;/h2&gt;&lt;p&gt;Schlie&amp;szlig;t man das Tablet via HDMI an einen Fernsehr an, wird das Bild des Tablets auf dem Fernsehr angezeigt. Bei Youtube wird dann beispielsweise das Bild des Videos auf dem TV angezeigt, auf dem Tablet wird weiterhin die normale App angezeigt.&lt;/p&gt;&lt;h2&gt;Fazit&lt;/h2&gt;&lt;p&gt;Das Lifetab ist ein allesk&amp;ouml;nner mit mittlerem Preissegment. In erster Linie nat&amp;uuml;rlich ein Spielzeug f&amp;uuml;r Technik Fans. Aber um auf dem Sofa ein bissl im Internet zu surfen gibt es nichts besseres. &amp;nbsp;&lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>Gitolite, Gitweb und private Repositories</title>
            <link>http://anwendungsentwickler.ws/gitolite_gitweb_und_private_repositories/entry/414/?source=rss</link>
            <pubDate>Mon, 26 Mar 2012 22:29:50 +0200</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>414-2012-03-26 22:29:50</guid>
            <description>&lt;p&gt;Mit Gitolite erweitert man Git um ein Rechtesystem. Man kann so jedem Benutzer auf einzelne Repos oder Branches Lese- oder Schreibrechte geben. Gitolite schreibt automatisch die Datei projects.list, welche Gitweb verwendet um die &amp;ouml;ffentlichen Repositories aufzulisten.&lt;/p&gt;&lt;p&gt;In Gitoliste wird dies &amp;uuml;ber den &amp;quot;eingebauten Benutzer&amp;quot; gitweb gesteuert.&lt;/p&gt;&lt;pre&gt;repo extdbeditor scripts testing    R = gitweb&lt;/pre&gt;&lt;p&gt;Alle anderen Repos werden korrekt ausgeblendet. Allerdings kann man durch einfach Manipulation der URL private Repos anzeigen lassen, sofern man den Namen kennt.&lt;/p&gt;&lt;p&gt;Folgende Option in der gitweb.conf schafft Abhilfe:&lt;/p&gt;&lt;pre&gt;$strict_export = true;&lt;/pre&gt;&lt;p&gt;Nun wird bei privaten Repos korrekt &amp;quot;Project not found&amp;quot; angezeigt.&lt;br /&gt;Have fun. &lt;img src='/img/smileys/default/icon_wink.gif' alt=';)'&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;Mit Gitolite erweitert man Git um ein Rechtesystem. Man kann so jedem Benutzer auf einzelne Repos oder Branches Lese- oder Schreibrechte geben. Gitolite schreibt automatisch die Datei projects.list, welche Gitweb verwendet um die &amp;ouml;ffentlichen Repositories aufzulisten.&lt;/p&gt;&lt;p&gt;In Gitoliste wird dies &amp;uuml;ber den &amp;quot;eingebauten Benutzer&amp;quot; gitweb gesteuert.&lt;/p&gt;&lt;pre&gt;repo extdbeditor scripts testing    R = gitweb&lt;/pre&gt;&lt;p&gt;Alle anderen Repos werden korrekt ausgeblendet. Allerdings kann man durch einfach Manipulation der URL private Repos anzeigen lassen, sofern man den Namen kennt.&lt;/p&gt;&lt;p&gt;Folgende Option in der gitweb.conf schafft Abhilfe:&lt;/p&gt;&lt;pre&gt;$strict_export = true;&lt;/pre&gt;&lt;p&gt;Nun wird bei privaten Repos korrekt &amp;quot;Project not found&amp;quot; angezeigt.&lt;br /&gt;Have fun. &lt;img src='/img/smileys/default/icon_wink.gif' alt=';)'&gt;&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>Schnipseldatenbank zieht nach Git um</title>
            <link>http://anwendungsentwickler.ws/schnipseldatenbank_zieht_nach_git_um/entry/413/?source=rss</link>
            <pubDate>Mon, 26 Mar 2012 21:58:27 +0200</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>413-2012-03-26 21:58:27</guid>
            <description>&lt;p&gt;&lt;img width=&quot;125&quot; height=&quot;125&quot; style=&quot;float:left; margin-right:5px;&quot; alt=&quot;&quot; src=&quot;/upload/git_125.png&quot; /&gt;Am Wochenende habe ich mir einen Git Server eingerichtet und werde nun Step-by-Step alle Schnipsel in ein Repository umziehen. Auch die Scripte von meiner Stuff-Seite werden bei Gelegenheit in das Git aufgenommen.&lt;/p&gt;&lt;p&gt;So kann man unkompliziert sehen, was in letzter Zeit dazu gekommen ist und sogar RSS Feeds abonnieren.&lt;/p&gt;&lt;p&gt;URL: &lt;a target=&quot;_blank&quot; href=&quot;http://gitweb.anwendungsentwickler.ws/?p=scripts.git;a=tree;h=refs/heads/master;hb=master&quot;&gt;http://gitweb.anwendungsentwickler.ws&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;clear:both;&quot;&gt;Das Bild ist &amp;uuml;brigens von&amp;nbsp;&lt;a target=&quot;_blank&quot; href=&quot;http://azizash.deviantart.com/gallery/#/d1ko3za&quot;&gt;azizash, gefunden auf&amp;nbsp;deviantart&lt;/a&gt;.&lt;br /&gt;Vielen Dank daf&amp;uuml;r. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;&lt;img width=&quot;125&quot; height=&quot;125&quot; style=&quot;float:left; margin-right:5px;&quot; alt=&quot;&quot; src=&quot;/upload/git_125.png&quot; /&gt;Am Wochenende habe ich mir einen Git Server eingerichtet und werde nun Step-by-Step alle Schnipsel in ein Repository umziehen. Auch die Scripte von meiner Stuff-Seite werden bei Gelegenheit in das Git aufgenommen.&lt;/p&gt;&lt;p&gt;So kann man unkompliziert sehen, was in letzter Zeit dazu gekommen ist und sogar RSS Feeds abonnieren.&lt;/p&gt;&lt;p&gt;URL: &lt;a target=&quot;_blank&quot; href=&quot;http://gitweb.anwendungsentwickler.ws/?p=scripts.git;a=tree;h=refs/heads/master;hb=master&quot;&gt;http://gitweb.anwendungsentwickler.ws&lt;/a&gt;&lt;/p&gt;&lt;p style=&quot;clear:both;&quot;&gt;Das Bild ist &amp;uuml;brigens von&amp;nbsp;&lt;a target=&quot;_blank&quot; href=&quot;http://azizash.deviantart.com/gallery/#/d1ko3za&quot;&gt;azizash, gefunden auf&amp;nbsp;deviantart&lt;/a&gt;.&lt;br /&gt;Vielen Dank daf&amp;uuml;r. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>Fail2Ban, Postfix und SASL Auth</title>
            <link>http://anwendungsentwickler.ws/fail2ban_postfix_und_sasl_auth/entry/412/?source=rss</link>
            <pubDate>Wed, 14 Mar 2012 23:00:54 +0100</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>412-2012-03-14 23:00:54</guid>
            <description>&lt;p&gt;Im aktuellen Fail2Ban Paket ist ein Fehler in der Fail Regex f&amp;uuml;r SASL Auth.&lt;br /&gt;Folgende Regex funktioniert und muss in &lt;em&gt;/etc/fail2ban/filter.d/sasl.conf&lt;/em&gt; eingesetzt werden.&lt;/p&gt;&lt;pre&gt;(?i): warning: [-._\w]+\[&amp;lt;HOST&amp;gt;\]: SASL (?:LOGIN|PLAIN|&lt;span style=&quot;color: rgb(0, 0, 128);&quot;&gt;&lt;strong&gt;&amp;raquo;Newline entfernen&amp;laquo; &lt;/strong&gt;&lt;/span&gt;(?:CRAM|DIGEST)-MD5) authentication failed: \w+&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Wichtig:&lt;/strong&gt; In /etc/fail2ban/jail.conf muss als Logfile f&amp;uuml;r das SASL Auth Jail &lt;strong&gt;/var/log/mail.warn&lt;/strong&gt; angegeben werden!&lt;/p&gt;&lt;p&gt;via &lt;a target=&quot;_blank&quot; href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507990&quot;&gt;Debian Bugtracker&lt;/a&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;Im aktuellen Fail2Ban Paket ist ein Fehler in der Fail Regex f&amp;uuml;r SASL Auth.&lt;br /&gt;Folgende Regex funktioniert und muss in &lt;em&gt;/etc/fail2ban/filter.d/sasl.conf&lt;/em&gt; eingesetzt werden.&lt;/p&gt;&lt;pre&gt;(?i): warning: [-._\w]+\[&amp;lt;HOST&amp;gt;\]: SASL (?:LOGIN|PLAIN|&lt;span style=&quot;color: rgb(0, 0, 128);&quot;&gt;&lt;strong&gt;&amp;raquo;Newline entfernen&amp;laquo; &lt;/strong&gt;&lt;/span&gt;(?:CRAM|DIGEST)-MD5) authentication failed: \w+&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Wichtig:&lt;/strong&gt; In /etc/fail2ban/jail.conf muss als Logfile f&amp;uuml;r das SASL Auth Jail &lt;strong&gt;/var/log/mail.warn&lt;/strong&gt; angegeben werden!&lt;/p&gt;&lt;p&gt;via &lt;a target=&quot;_blank&quot; href=&quot;http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=507990&quot;&gt;Debian Bugtracker&lt;/a&gt;&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>SD Karten Etiketten für die OpenPandora</title>
            <link>http://anwendungsentwickler.ws/sd_karten_etiketten_fuer_die_openpandora/entry/411/?source=rss</link>
            <pubDate>Tue, 13 Mar 2012 08:50:44 +0100</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>411-2012-03-13 08:50:44</guid>
            <description>&lt;p&gt;&lt;img width=&quot;287&quot; height=&quot;371&quot; src=&quot;/upload/openpandora_sdcard_label.png&quot; style=&quot;float: left; margin-right: 5px;&quot; alt=&quot;&quot; /&gt;Bei Amazon habe ich &lt;a href=&quot;http://www.amazon.de/Sattleford-Inkjet-Etiketten-SD-Karten-glossy-Fotoqualit%C3%A4t/dp/B005PUUT8S&quot; target=&quot;_blank&quot;&gt;Inkjet Etiketten f&amp;uuml;r SD Karten&lt;/a&gt; gefunden. Das tolle: In dem Linux Programm &lt;a target=&quot;_blank&quot; href=&quot;http://www.glabels.org/&quot;&gt;gLabels&lt;/a&gt; ist eine passende Vorlage integriert. Man kann also mit wenigen Handgriffen eigene Labels erzeugen ohne lange rumzuprobieren.&lt;/p&gt;&lt;p&gt;Das eine oder andere Problem gibt es aber trotzdem. Die Vorlage ist auf den Millimeter genau auf die Etiketten angepasst. Wenn der Drucker also mit einem Versatz von 1-2 Millimetern druckt, passt das Bild nicht auf das Etikett.&lt;/p&gt;&lt;p&gt;Mit einer kleinen Anpassung am Template l&amp;auml;sst sich das aber einfach umgehen. Ein gLabels Template besteht aus simplen XML. Man muss einfach die Optionen &lt;em&gt;x_waste&lt;/em&gt; und &lt;em&gt;y_waste&lt;/em&gt; auf 1-2mm setzen, sodass &amp;uuml;ber den Rand des Etiketts dr&amp;uuml;ber gedruckt wird.&lt;/p&gt;&lt;p&gt;Eventuell dann noch die Objekte ein wenig auf den Versatz anpassen und schon sieht das Etikett gut aus.&lt;/p&gt;&lt;p&gt;Meine Vorlagendaten f&amp;uuml;r das OpenPandora Etikett gibt es in &lt;a target=&quot;_blank&quot; href=&quot;https://www.evernote.com/shard/s44/sh/a51fe4d2-2a68-48cd-a0a2-a0f90d3161f5/af207f7bde45369b41a8f975b4a275b1&quot;&gt;dieser Evernote&lt;/a&gt;. Bitte beachtet das je nach Drucker Anpassungen notwendig sind!&lt;/p&gt;&lt;p style=&quot;clear: both;&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;strong&gt; Angepasstes gLabels Template&lt;/strong&gt;&lt;/p&gt;&lt;pre&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&amp;lt;Glabels-templates xmlns=&amp;quot;http://snaught.com/glabels/2.2/&amp;quot;&amp;gt;  &amp;lt;Template brand=&amp;quot;PEARL&amp;quot; part=&amp;quot;VM-6398-custom&amp;quot; size=&amp;quot;A4&amp;quot;       description=&amp;quot;SD-Etiketten-custom&amp;quot;&amp;gt;	&amp;lt;Meta category=&amp;quot;label&amp;quot;/&amp;gt;    &amp;lt;Meta category=&amp;quot;rectangle-label&amp;quot;/&amp;gt;    &amp;lt;Meta product_url=&amp;quot;http://www.pearl.de/a-VM6398-2204.shtml&amp;quot;/&amp;gt;    &amp;lt;Label-rectangle id=&amp;quot;0&amp;quot; width=&amp;quot;19.6mm&amp;quot; height=&amp;quot;25mm&amp;quot; round=&amp;quot;1.2mm&amp;quot;         &lt;span style=&quot;color: rgb(0, 0, 128);&quot;&gt;&lt;strong&gt;x_waste=&amp;quot;2mm&amp;quot; y_waste=&amp;quot;2mm&amp;quot;&lt;/strong&gt;&lt;/span&gt;&amp;gt;      &amp;lt;Markup-margin size=&amp;quot;1.5mm&amp;quot;/&amp;gt;      &amp;lt;Layout nx=&amp;quot;9&amp;quot; ny=&amp;quot;10&amp;quot; x0=&amp;quot;4.5mm&amp;quot; y0=&amp;quot;10mm&amp;quot; dx=&amp;quot;22.6mm&amp;quot; dy=&amp;quot;28mm&amp;quot;/&amp;gt;    &amp;lt;/Label-rectangle&amp;gt;  &amp;lt;/Template&amp;gt;&amp;lt;/Glabels-templates&amp;gt;&lt;/pre&gt;&lt;p&gt;Das Template einfach als VM-6398-custom.template in ~/.glabels ablegen und gLabels neu starten.&lt;/p&gt;&lt;p&gt;Have fun. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;&lt;img width=&quot;287&quot; height=&quot;371&quot; src=&quot;/upload/openpandora_sdcard_label.png&quot; style=&quot;float: left; margin-right: 5px;&quot; alt=&quot;&quot; /&gt;Bei Amazon habe ich &lt;a href=&quot;http://www.amazon.de/Sattleford-Inkjet-Etiketten-SD-Karten-glossy-Fotoqualit%C3%A4t/dp/B005PUUT8S&quot; target=&quot;_blank&quot;&gt;Inkjet Etiketten f&amp;uuml;r SD Karten&lt;/a&gt; gefunden. Das tolle: In dem Linux Programm &lt;a target=&quot;_blank&quot; href=&quot;http://www.glabels.org/&quot;&gt;gLabels&lt;/a&gt; ist eine passende Vorlage integriert. Man kann also mit wenigen Handgriffen eigene Labels erzeugen ohne lange rumzuprobieren.&lt;/p&gt;&lt;p&gt;Das eine oder andere Problem gibt es aber trotzdem. Die Vorlage ist auf den Millimeter genau auf die Etiketten angepasst. Wenn der Drucker also mit einem Versatz von 1-2 Millimetern druckt, passt das Bild nicht auf das Etikett.&lt;/p&gt;&lt;p&gt;Mit einer kleinen Anpassung am Template l&amp;auml;sst sich das aber einfach umgehen. Ein gLabels Template besteht aus simplen XML. Man muss einfach die Optionen &lt;em&gt;x_waste&lt;/em&gt; und &lt;em&gt;y_waste&lt;/em&gt; auf 1-2mm setzen, sodass &amp;uuml;ber den Rand des Etiketts dr&amp;uuml;ber gedruckt wird.&lt;/p&gt;&lt;p&gt;Eventuell dann noch die Objekte ein wenig auf den Versatz anpassen und schon sieht das Etikett gut aus.&lt;/p&gt;&lt;p&gt;Meine Vorlagendaten f&amp;uuml;r das OpenPandora Etikett gibt es in &lt;a target=&quot;_blank&quot; href=&quot;https://www.evernote.com/shard/s44/sh/a51fe4d2-2a68-48cd-a0a2-a0f90d3161f5/af207f7bde45369b41a8f975b4a275b1&quot;&gt;dieser Evernote&lt;/a&gt;. Bitte beachtet das je nach Drucker Anpassungen notwendig sind!&lt;/p&gt;&lt;p style=&quot;clear: both;&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;strong&gt; Angepasstes gLabels Template&lt;/strong&gt;&lt;/p&gt;&lt;pre&gt;&amp;lt;?xml version=&amp;quot;1.0&amp;quot;?&amp;gt;&amp;lt;Glabels-templates xmlns=&amp;quot;http://snaught.com/glabels/2.2/&amp;quot;&amp;gt;  &amp;lt;Template brand=&amp;quot;PEARL&amp;quot; part=&amp;quot;VM-6398-custom&amp;quot; size=&amp;quot;A4&amp;quot;       description=&amp;quot;SD-Etiketten-custom&amp;quot;&amp;gt;	&amp;lt;Meta category=&amp;quot;label&amp;quot;/&amp;gt;    &amp;lt;Meta category=&amp;quot;rectangle-label&amp;quot;/&amp;gt;    &amp;lt;Meta product_url=&amp;quot;http://www.pearl.de/a-VM6398-2204.shtml&amp;quot;/&amp;gt;    &amp;lt;Label-rectangle id=&amp;quot;0&amp;quot; width=&amp;quot;19.6mm&amp;quot; height=&amp;quot;25mm&amp;quot; round=&amp;quot;1.2mm&amp;quot;         &lt;span style=&quot;color: rgb(0, 0, 128);&quot;&gt;&lt;strong&gt;x_waste=&amp;quot;2mm&amp;quot; y_waste=&amp;quot;2mm&amp;quot;&lt;/strong&gt;&lt;/span&gt;&amp;gt;      &amp;lt;Markup-margin size=&amp;quot;1.5mm&amp;quot;/&amp;gt;      &amp;lt;Layout nx=&amp;quot;9&amp;quot; ny=&amp;quot;10&amp;quot; x0=&amp;quot;4.5mm&amp;quot; y0=&amp;quot;10mm&amp;quot; dx=&amp;quot;22.6mm&amp;quot; dy=&amp;quot;28mm&amp;quot;/&amp;gt;    &amp;lt;/Label-rectangle&amp;gt;  &amp;lt;/Template&amp;gt;&amp;lt;/Glabels-templates&amp;gt;&lt;/pre&gt;&lt;p&gt;Das Template einfach als VM-6398-custom.template in ~/.glabels ablegen und gLabels neu starten.&lt;/p&gt;&lt;p&gt;Have fun. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>ExtJS Gridpanel - Undokumentierte Features</title>
            <link>http://anwendungsentwickler.ws/extjs_gridpanel_-_undokumentierte_features/entry/410/?source=rss</link>
            <pubDate>Sun, 11 Mar 2012 21:51:26 +0100</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>410-2012-03-11 21:51:26</guid>
            <description>&lt;p&gt;&lt;img alt=&quot;Ext Gridpanel&quot; width=&quot;258&quot; height=&quot;122&quot; style=&quot;float:left; margin-right:5px;&quot; src=&quot;/upload/extgridpanel.png&quot; /&gt;Einige Features im &lt;a target=&quot;_blank&quot; href=&quot;http://docs.sencha.com/ext-js/4-0/#!/api/Ext.grid.Panel&quot;&gt;ExtJS Gridpanel&lt;/a&gt; scheinen noch so neu zu sein, das sie nicht einmal dokumentiert sind.&lt;/p&gt;&lt;p&gt;Beispielsweise gibt es f&amp;uuml;r eine Gridpanel Zelle Events um einen Rechtsklick oder einen Doppelklick abzufragen. Die Besonderheit ist hierbei, dass der Rechtsklick in der &lt;em&gt;viewConfig&lt;/em&gt; definiert werden muss, der Doppelklick aber nicht.&lt;/p&gt;&lt;p&gt;F&amp;uuml;r Zeilennummern in einem Gridpanel muss man einfach nur eine Instanz der Klasse &lt;em&gt;RowNumerer&lt;/em&gt; in der Spaltendefinition hinzuf&amp;uuml;gen. Zu beachten ist hier, dass die Zeilennummern im Index mitgez&amp;auml;hlt werden. Die erste &amp;quot;echte&amp;quot; Spalte hat also nicht mehr Index 0, sondern 1.&lt;/p&gt;&lt;p style=&quot;clear:both&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;strong&gt;Rechtsklick oder Doppelklick auf eine Zelle&lt;/strong&gt;&lt;/p&gt;&lt;pre&gt;listeners: {   celldblclick: function(view, cell, cellIndex, record, row, rowIndex, event) {   }},viewConfig: {   listeners: {      cellcontextmenu: function(view, cell, cellIndex, record, row, rowIndex, event) {      }   }},&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Gridpanel mit Zeilennummern&lt;/strong&gt;&lt;/p&gt;&lt;pre&gt;columns: [   new Ext.grid.RowNumberer(),   {      header:'FooBar',      dataIndex:'foobar'   }]&lt;/pre&gt;&lt;p&gt;ExtJS ist eine tolle Erfindung. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;&lt;img alt=&quot;Ext Gridpanel&quot; width=&quot;258&quot; height=&quot;122&quot; style=&quot;float:left; margin-right:5px;&quot; src=&quot;/upload/extgridpanel.png&quot; /&gt;Einige Features im &lt;a target=&quot;_blank&quot; href=&quot;http://docs.sencha.com/ext-js/4-0/#!/api/Ext.grid.Panel&quot;&gt;ExtJS Gridpanel&lt;/a&gt; scheinen noch so neu zu sein, das sie nicht einmal dokumentiert sind.&lt;/p&gt;&lt;p&gt;Beispielsweise gibt es f&amp;uuml;r eine Gridpanel Zelle Events um einen Rechtsklick oder einen Doppelklick abzufragen. Die Besonderheit ist hierbei, dass der Rechtsklick in der &lt;em&gt;viewConfig&lt;/em&gt; definiert werden muss, der Doppelklick aber nicht.&lt;/p&gt;&lt;p&gt;F&amp;uuml;r Zeilennummern in einem Gridpanel muss man einfach nur eine Instanz der Klasse &lt;em&gt;RowNumerer&lt;/em&gt; in der Spaltendefinition hinzuf&amp;uuml;gen. Zu beachten ist hier, dass die Zeilennummern im Index mitgez&amp;auml;hlt werden. Die erste &amp;quot;echte&amp;quot; Spalte hat also nicht mehr Index 0, sondern 1.&lt;/p&gt;&lt;p style=&quot;clear:both&quot;&gt;&amp;nbsp;&lt;br /&gt;&lt;strong&gt;Rechtsklick oder Doppelklick auf eine Zelle&lt;/strong&gt;&lt;/p&gt;&lt;pre&gt;listeners: {   celldblclick: function(view, cell, cellIndex, record, row, rowIndex, event) {   }},viewConfig: {   listeners: {      cellcontextmenu: function(view, cell, cellIndex, record, row, rowIndex, event) {      }   }},&lt;/pre&gt;&lt;p&gt;&lt;strong&gt;Gridpanel mit Zeilennummern&lt;/strong&gt;&lt;/p&gt;&lt;pre&gt;columns: [   new Ext.grid.RowNumberer(),   {      header:'FooBar',      dataIndex:'foobar'   }]&lt;/pre&gt;&lt;p&gt;ExtJS ist eine tolle Erfindung. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>phpMyAdmin, HTTP Authentifizierung und FastCGI</title>
            <link>http://anwendungsentwickler.ws/phpmyadmin_http_authentifizierung_und_fastcgi/entry/409/?source=rss</link>
            <pubDate>Fri, 24 Feb 2012 22:43:15 +0100</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>409-2012-02-24 22:43:15</guid>
            <description>&lt;p&gt;Wenn man &lt;a target=&quot;_blank&quot; href=&quot;http://phpmyadmin.net/&quot;&gt;phpMyAdmins&lt;/a&gt; HTTP Authentifizierung&amp;nbsp;auf einem Apache Webserver mit FastCGI nutzen m&amp;ouml;chte, muss man ein paar Dinge beachten. Tut man dies nicht, schl&amp;auml;gt jeglicher Loginversuch fehl.&lt;/p&gt;&lt;p&gt;Es wird mod_rewrite ben&amp;ouml;tigt. Falls also nicht schon aktiv, muss das Apache Modul aktiviert werden. Danach im vHost f&amp;uuml;r phpMyAdmin die &lt;strong&gt;AllowOverride&lt;/strong&gt; Optionen &lt;strong&gt;AuthInfo, FileInfo und Limit&lt;/strong&gt; freischalten. Nicht vergessen die Konfiguration vom Apache neu zu laden. &lt;img src='/img/smileys/default/icon_wink.gif' alt=';)'&gt;&lt;/p&gt;&lt;p&gt;Nun im Hauptverzeichnis von phpMyAdmin eine .htaccess Datei mit folgendem Inhalt anlegen:&lt;/p&gt;&lt;pre&gt;RewriteEngine OnRewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]&lt;/pre&gt;&lt;p&gt;Thats it. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;&lt;p&gt;via &lt;a target=&quot;_blank&quot; href=&quot;http://wiki.phpmyadmin.net/pma/FAQ_1.35&quot;&gt;phpMyAdmin Wiki&lt;/a&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;Wenn man &lt;a target=&quot;_blank&quot; href=&quot;http://phpmyadmin.net/&quot;&gt;phpMyAdmins&lt;/a&gt; HTTP Authentifizierung&amp;nbsp;auf einem Apache Webserver mit FastCGI nutzen m&amp;ouml;chte, muss man ein paar Dinge beachten. Tut man dies nicht, schl&amp;auml;gt jeglicher Loginversuch fehl.&lt;/p&gt;&lt;p&gt;Es wird mod_rewrite ben&amp;ouml;tigt. Falls also nicht schon aktiv, muss das Apache Modul aktiviert werden. Danach im vHost f&amp;uuml;r phpMyAdmin die &lt;strong&gt;AllowOverride&lt;/strong&gt; Optionen &lt;strong&gt;AuthInfo, FileInfo und Limit&lt;/strong&gt; freischalten. Nicht vergessen die Konfiguration vom Apache neu zu laden. &lt;img src='/img/smileys/default/icon_wink.gif' alt=';)'&gt;&lt;/p&gt;&lt;p&gt;Nun im Hauptverzeichnis von phpMyAdmin eine .htaccess Datei mit folgendem Inhalt anlegen:&lt;/p&gt;&lt;pre&gt;RewriteEngine OnRewriteRule .* - [E=REMOTE_USER:%{HTTP:Authorization},L]&lt;/pre&gt;&lt;p&gt;Thats it. &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;&lt;p&gt;via &lt;a target=&quot;_blank&quot; href=&quot;http://wiki.phpmyadmin.net/pma/FAQ_1.35&quot;&gt;phpMyAdmin Wiki&lt;/a&gt;&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>MySQL Berechtigungen und Hostnames</title>
            <link>http://anwendungsentwickler.ws/mysql_berechtigungen_und_hostnames/entry/408/?source=rss</link>
            <pubDate>Fri, 24 Feb 2012 22:25:50 +0100</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>408-2012-02-24 22:25:50</guid>
            <description>&lt;p&gt;Auf einem Server mit VMWare ESXi habe ich intern ein privates Netz zwischen den virtuellen Maschinen aufgebaut. Das Netz besitzt einen eigenen DNS Server, sodass alle Maschinen auch mit dem Namen angesprochen werden k&amp;ouml;nnen.&lt;/p&gt;&lt;p&gt;Nun wollte ich diese DNS Namen auch im MySQL Server als Host f&amp;uuml;r die Benutzerkonten verwenden. Der MySQL Client versuchte allerdings immer die Anmeldung via IP Adresse Adresse auszuf&amp;uuml;hren.&lt;/p&gt;&lt;pre&gt;mysql -u blog -h mysql.esxvm.local -pEnter password: ERROR 1045 (28000): Access denied for user 'blog'@'192.168.101.105' (using password: YES)&lt;/pre&gt;&lt;p&gt;Hier hatte sich ein kleiner Denkfehler eingeschlichen. Der MySQL Server nutzt nicht den DNS Namen zur Anmeldung, &lt;strong&gt;sondern den Reverse DNS Namen&lt;/strong&gt;! Wenn man dar&amp;uuml;ber Nachdenkt ist das sogar logisch. Denn den Namen kann man &amp;quot;von au&amp;szlig;en&amp;quot; ja nicht ohne weiteres f&amp;auml;lschen.&lt;/p&gt;&lt;p&gt;Reverse DNS im bind9 gesetzt und schon funktionierte es:&lt;/p&gt;&lt;pre&gt;mysql -u blog -h mysql.esxvm.local -pEnter password: Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 11856&lt;/pre&gt;&lt;p&gt;So einfach... &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;Auf einem Server mit VMWare ESXi habe ich intern ein privates Netz zwischen den virtuellen Maschinen aufgebaut. Das Netz besitzt einen eigenen DNS Server, sodass alle Maschinen auch mit dem Namen angesprochen werden k&amp;ouml;nnen.&lt;/p&gt;&lt;p&gt;Nun wollte ich diese DNS Namen auch im MySQL Server als Host f&amp;uuml;r die Benutzerkonten verwenden. Der MySQL Client versuchte allerdings immer die Anmeldung via IP Adresse Adresse auszuf&amp;uuml;hren.&lt;/p&gt;&lt;pre&gt;mysql -u blog -h mysql.esxvm.local -pEnter password: ERROR 1045 (28000): Access denied for user 'blog'@'192.168.101.105' (using password: YES)&lt;/pre&gt;&lt;p&gt;Hier hatte sich ein kleiner Denkfehler eingeschlichen. Der MySQL Server nutzt nicht den DNS Namen zur Anmeldung, &lt;strong&gt;sondern den Reverse DNS Namen&lt;/strong&gt;! Wenn man dar&amp;uuml;ber Nachdenkt ist das sogar logisch. Denn den Namen kann man &amp;quot;von au&amp;szlig;en&amp;quot; ja nicht ohne weiteres f&amp;auml;lschen.&lt;/p&gt;&lt;p&gt;Reverse DNS im bind9 gesetzt und schon funktionierte es:&lt;/p&gt;&lt;pre&gt;mysql -u blog -h mysql.esxvm.local -pEnter password: Welcome to the MySQL monitor.  Commands end with ; or \g.Your MySQL connection id is 11856&lt;/pre&gt;&lt;p&gt;So einfach... &lt;img src='/img/smileys/default/icon_smile.gif' alt=':)'&gt;&lt;/p&gt;</content:encoded>
         </item>

         <item>
            <title>Bugfix am RSS Feed</title>
            <link>http://anwendungsentwickler.ws/bugfix_am_rss_feed/entry/407/?source=rss</link>
            <pubDate>Thu, 16 Feb 2012 21:45:37 +0100</pubDate>
            <author>mail@fiae.ws (christian)</author>
            <guid isPermaLink='false'>407-2012-02-16 21:45:37</guid>
            <description>&lt;p&gt;Ich habe gerade am RSS Feed Writer des Blogs einen kleinen Bugfix vorgenommen. Im GUID-Feld jedes Eintrags steht nun zus&amp;auml;tzlich ein Datum drin, sodass man einen Blogeintrag nachtr&amp;auml;glich noch einmal in den Feeds erscheinen lassen kann.&lt;/p&gt;&lt;p&gt;Nun funktioniert der Knopf &amp;quot;Datum aktualisieren&amp;quot;, den ich im Adminbereich schon l&amp;auml;nger habe auch in den Feeds.&lt;/p&gt;&lt;p&gt;Leider sind dadurch alle Eintr&amp;auml;ge die im Feed waren noch einmal als &amp;quot;neu&amp;quot; gekennzeichnet worden. Sorry an alle die das Feed nutzen. Passiert so schnell nicht wieder. &lt;img src='/img/smileys/default/icon_wink.gif' alt=';)'&gt;&lt;/p&gt;</description>
            <content:encoded>&lt;p&gt;Ich habe gerade am RSS Feed Writer des Blogs einen kleinen Bugfix vorgenommen. Im GUID-Feld jedes Eintrags steht nun zus&amp;auml;tzlich ein Datum drin, sodass man einen Blogeintrag nachtr&amp;auml;glich noch einmal in den Feeds erscheinen lassen kann.&lt;/p&gt;&lt;p&gt;Nun funktioniert der Knopf &amp;quot;Datum aktualisieren&amp;quot;, den ich im Adminbereich schon l&amp;auml;nger habe auch in den Feeds.&lt;/p&gt;&lt;p&gt;Leider sind dadurch alle Eintr&amp;auml;ge die im Feed waren noch einmal als &amp;quot;neu&amp;quot; gekennzeichnet worden. Sorry an alle die das Feed nutzen. Passiert so schnell nicht wieder. &lt;img src='/img/smileys/default/icon_wink.gif' alt=';)'&gt;&lt;/p&gt;</content:encoded>
         </item>

   </channel>
</rss>
