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

<?xml-stylesheet type="text/xsl" href="/dirk/blog/templates/dirk/rss.xsl" media="screen" ?>
<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/"
   >
<channel>
    
    <title>Dirks Logbuch (Artikel mit Tag computer)</title>
    <link>https://www.deimeke.net/dirk/blog/</link>
    <description>Die Chronik des schleichenden Wahnsinns ...</description>
    <dc:language>de</dc:language>
    <generator>Serendipity 2.6.0 - http://www.s9y.org/</generator>
    <pubDate>Tue, 29 Mar 2022 19:57:15 GMT</pubDate>

    <image>
    <url>https://www.deimeke.net/dirk/blog/uploads/dd-logo-100-transparent-ohne.png</url>
    <title>RSS: Dirks Logbuch - Die Chronik des schleichenden Wahnsinns ...</title>
    <link>https://www.deimeke.net/dirk/blog/</link>
    <width>72</width>
    <height>34</height>
</image>

<item>
    <title>Backup-Konzept</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/4162-Backup-Konzept.html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/4162-Backup-Konzept.html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=4162</wfw:comment>

    <slash:comments>10</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=4162</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;p&gt; Vor ein paar Wochen habe ich beschrieben, wie man sein &lt;a href=&quot;https://www.deimeke.net/dirk/blog/index.php?/archives/4150-Backup-mit-Borgbackup.html&quot;&gt;Backup mit Borgbackup&lt;/a&gt; durchführen kann. &lt;/p&gt; 

&lt;p&gt; Heute soll es einmal darum gehen, sich ein generelles Konzept zu überlegen. Wenn man sich erst die Gedanken macht, wenn Datenverlust droht oder bereits Daten verloren gegangen sind, dann ist es zu spät. &lt;/p&gt;

&lt;p&gt; Im Artikel geht es mir vor allem um private Daten. &lt;/p&gt;

&lt;p&gt; Um die Klassifizierung der Daten kommt man leider nicht herum. Damit lässt sich feststellen, welche Daten am wichtigsten sind, welche Daten sich wie häufig ändern und wie viel Datenverlust man verkraften kann. Natürlich sollte man sich auch über Restorezeiten Gedanken machen - die gewünschte Restorezeit beeinflusst auch die Art des Backups (Vollbackup, differentielles oder inkrementelles Backup) und selbstverständlich auch die Wahl des Backuptools.&lt;/p&gt;

&lt;p&gt; Natürlich kann man sagen, dass man jede Minute ein Backup aller Daten anfertigt, um in jedem Fall auf einen alten Stand zurückzukommen. Dazu darf das Backup nicht länger als eine Minute dauern und man muss ausreichend Speicherplatz vorsehen (und bezahlen). &lt;/p&gt;

&lt;p&gt; &lt;strong&gt;Die folgenden Daten würde ich bei einer Klassifizierung privater Daten berücksichtigen:&lt;/strong&gt; &lt;br /&gt; (Ergänzungen sind herzlich willkommen) &lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; Das Betriebssystem &lt;/li&gt;
  &lt;li&gt; Die installierten Programme &lt;/li&gt;
  &lt;li&gt; Konfigurationen &lt;/li&gt;
  &lt;li&gt; Dokumente (Textverarbeitung, Tabellenkalkulation, ...) &lt;/li&gt;
  &lt;li&gt; Quelltexte &lt;/li&gt;
  &lt;li&gt; Notizen &lt;/li&gt;
  &lt;li&gt; Skizzen &lt;/li&gt;
  &lt;li&gt; E-Mails &lt;/li&gt;
  &lt;li&gt; Chat-Nachrichten &lt;/li&gt;
  &lt;li&gt; Eingescannte Dokumente &lt;/li&gt;
  &lt;li&gt; Fotos &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; Für jede der Kategorien sollte man sich überlegen, ob man mit einem Verlust der Daten leben könnte, wie lange die Wiederherstellung der Daten dauern darf, welcher Aufwand getrieben werden muss, um die Daten wiederzubekommen und wie aktuell die Backups sein müssen. &lt;/p&gt;

&lt;p&gt; Ein Beispiel: Fotos lassen sich ohne Backup nicht wiederherstellen, eingescannte Dokumente schon (wenn man das Original noch besitzt), allerdings kostet das vermutlich mehr Zeit als ein Restore der Daten. Dafür belegen Fotos und Scans viel Platz auf dem Backupmedium. &lt;/p&gt;

&lt;p&gt; Ein weiteres Beispiel: Wenn ich bei einem erstellten Dokument nur auf ein tägliches Backup zugreifen kann, verliere ich einen Tag, den ich an dem Dokument gearbeitet habe. Je nach Komplexität und Genialität der Dokumente kann das schon sehr viel sein. &lt;/p&gt;

&lt;p&gt; &lt;strong&gt;Was bedeuten eigentlich Vollbackup, differentielles Backup und inkrementelles Backup?&lt;/strong&gt; &lt;/p&gt; 

&lt;p&gt; Ein Vollbackup beinhaltet alle Daten, die gesichert werden sollen und dauert je nach Volumen relativ lange. &lt;/p&gt;

&lt;p&gt; Ein differentielles Backup sichert immer die Differenz zum letzten Vollbackup, man braucht also für die Rücksicherung das letzte Vollbackup und das aktuellste differentielle Backup. Je weiter (zeitlich) man sich vom letzten Vollbackup entfernt, desto grösser werden die differentiellen Backups. &lt;/p&gt;

&lt;p&gt; Ein inkrementelles Backup sichert immer die Unterschiede zum letzten Backup, das entweder ein Vollbackup oder ein inkrementelles Backup sein kann. Für eine Rücksicherung benötigt man das letzte Vollbackup und alle seitdem angefallenen inkrementellen Backups. Inkrementelle Backups sind in der Regel relativ klein - je nach Häufigkeit der Inkremente - benötigen aber vergleichsweise lange für den Restore. &lt;/p&gt;

&lt;p&gt; &lt;strong&gt;Die 3-2-1-Regel für Backups:&lt;/strong&gt; &lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt; Wenigstens &lt;strong&gt;drei&lt;/strong&gt; Kopien (Backups) der Daten verwenden. &lt;/li&gt;
  &lt;li&gt; Wenigstens &lt;strong&gt;zwei&lt;/strong&gt; verschiedene Speichermedien einsetzen. &lt;/li&gt;
  &lt;li&gt; Wenigstens &lt;strong&gt;eine&lt;/strong&gt; Kopie ausser Haus aufbewahren. &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; Den letzten Punkt möchte ich besonders herausstreichen. Das Backup sollte in jedem Fall auch nach einem Feuer bei Euch zu Hause und zugreifbar sein. Mit Backups schützen wir uns vor Katastrophen. Feuer ist nur eine davon. &lt;/p&gt;

&lt;p&gt; &lt;strong&gt;Automatisierung:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt; Bitte vertraut nicht darauf, dass Ihr immer daran denkt, Euer Backup zu machen. Backups müssen automatisiert ablaufen, damit der &quot;Faktor Mensch&quot; ausgeschaltet werden kann. &lt;/p&gt;

&lt;p&gt; &lt;strong&gt;Rücksicherung testen:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt; Es gibt kaum Dinge, die weniger wert sind als ein Backup, auf das man vertraut und auf das nicht mehr zugreifen kann, daher sind Restoretests elementar wichtig. &lt;/p&gt;

&lt;p&gt; &lt;strong&gt;Bei mir:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt; Wie bereits an anderer Stelle geschrieben, mache ich meine Backups mit Borgbackup. Borgbackup macht eine inkrementelle Sicherung (&quot;incremental forever&quot;) linkt aber bereits gesicherte Daten in das inkrementelle Backup ein, sodass ich mit jedem Backup einen Zugriff auf alle Daten (Fullbackup) habe.&lt;/p&gt;

&lt;p&gt; Das Backup wird bei jedem Runterfahren meines Rechners (&quot;poweroff&quot;) ausgeführt. &lt;/p&gt;

&lt;p&gt; Die Backups landen auf einer internen zweiten Festplatte, auf dem NAS-Share und via SSH auch auf einer &lt;a href=&quot;https://www.hetzner.com/de/storage/storage-box&quot;&gt;Storagebox&lt;/a&gt; bei Hetzner. &lt;/p&gt;

&lt;p&gt; Der Schwachpunkt, den ich habe, ist, dass alles mit dem gleichen Tool gesichert wird. Eine der drei Sicherungen werde ich in der nächsten Zeit auf Restic umziehen. Da verliere ich dann zwar die Historie, hätte aber dennoch ein besseres Gefühl. &lt;/p&gt;&lt;img src=&quot;https://ssl-vg03.met.vgwort.de/na/ad9f429722c54076ac4192d801403dc5&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;&gt; 
    </content:encoded>

    <pubDate>Tue, 29 Mar 2022 05:19:00 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/4162-guid.html</guid>
    <category>computer</category>

</item>
<item>
    <title>Logseq</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/4154-Logseq.html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/4154-Logseq.html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=4154</wfw:comment>

    <slash:comments>12</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=4154</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;p&gt; Im Zuge dessen, dass mein altes Dokumentationssystem mittels Wikis schon stark in die Jahre gekommen ist und ehrlicherweise nie so richtig gut funktioniert hat, habe ich mich von der &lt;a href=&quot;https://matrix.to/#/#tilpod:matrix.org&quot;&gt;TILpod-Community bei Matrix&lt;/a&gt; einmal inspirieren lassen. &lt;/p&gt;

&lt;p&gt; Dort wurde &lt;a href=&quot;https://obsidian.md/&quot;&gt;Obsidian&lt;/a&gt; empfohlen, was mir aufgrund der Tatsache, dass es Closed-Source-Software ist, nicht so wirklich gefallen hat. In &lt;a href=&quot;https://gnulinux.ch/wissen-verwalten-mit-logseq&quot;&gt;diesem Artikel&lt;/a&gt; bei GNULinux.ch wurde ich dann auf &lt;a href=&quot;https://logseq.com/&quot;&gt;Logseq&lt;/a&gt; aufmerksam, was ich mir näher angeschaut habe. &lt;/p&gt;

&lt;p&gt; Für eine sprachliche Auseinandersetzung mit dem Thema im Rahmen eines Podcasts empfehle ich Euch die &lt;a href=&quot;https://tilpod.net/episode/til017-logseq-obisidan-und-wissensmanagement&quot;&gt;März-Episode des TILpod&lt;/a&gt;. &lt;/p&gt;

&lt;p&gt; Dokumentationsmedien, dazu zähle ich auch Wikis, haben meist ein Problem. Sie erlauben es selten, Informationen einfach so zu erfassen, ohne sich grosse Gedanken über die Struktur und die Findbarkeit machen zu müssen. &lt;/p&gt;

&lt;p&gt; Notizen bestehen, zumindest bei mir, aus Stichpunkten, die nicht weiter ausformuliert sind. Ich mache sie am liebsten handschriftlich, weil mir das alle Freiheiten bietet und auch erlaubt, etwas &quot;ins Unreine&quot; zu skizzieren. Tools schränken zumeist die Möglichkeiten für Notizen ein, da sie an Programmvorgaben und Formen gebunden sind. Mobil auf dem Handy benutze ich &lt;a href=&quot;https://apps.nextcloud.com/apps/notes&quot;&gt;Nextcloud Notes&lt;/a&gt; für Notizen, dafür gibt es eine sehr gute Android-App&lt;/a&gt;. Ich spiele mit dem Gedanken, eine Diktierfunktion oder sogar ein Diktiergerät zu verwenden. &lt;/p&gt;

&lt;p&gt; Der Nachteil dieses Verfahrens ist, dass ich die Notizen noch einmal durchgehen muss, um sie in eine lesbare und verstehbare Form zu bringen. &lt;/p&gt;

&lt;p&gt; Der Vorteil ist, dass ich die Notizen noch einmal durchgehe und die Inhalte besser behalten kann und dass mir durch die erneute Beschäftigung vielleicht noch weitere Inhalte und Themen einfallen. &lt;/p&gt;

&lt;p&gt; Logseq versucht jetzt genau diese Lücke zwischen Notizen und Dokumentation zu schliessen. Vorab ein Disclaimer: Ich nutze das Tool erst seit rund einem Monat, bin noch ziemlicher Anfänger und nutze nur einen Bruchteil der Möglichkeiten. &lt;/p&gt;

&lt;p&gt; Logseq ist noch im Beta-Modus und es gibt Anwendungen für Linux, Mac OS, Windows und Android. Es gibt auch noch eine Webanwendung, die die Daten in einem GitHub-Repository speichert, die soll aber eingestellt werden, sobald die Android-Anwendung fertig ist. Ach ja, mit einer weiteren Webanwendung aka &quot;Live Demo&quot;, mit der kann man ohne weitere Installationen auch mit den lokalen Daten arbeiten. Obsidian und Logseq können auf derselben Verzeichnis-Hierarchie parallel zusammenarbeiten. &lt;/p&gt;

&lt;p&gt; Ich habe &lt;a href=&quot;https://flathub.org/apps/details/com.logseq.Logseq&quot;&gt;Logseq via Flatpak&lt;/a&gt; auf zwei Linux-Maschinen installiert und zusätzlich auf einem Windows-System. Die Daten von Logseq können via Nextcloud synchronisiert werden, was in meinem Fall ohne weitere Zwischenfälle geklappt hat. &lt;/p&gt;

&lt;p&gt; Basis von Logseq ist das Journal, in Form von &quot;was ich heute getan habe&quot;. Man kann auch anders damit umgehen, aber das ist der einfachste Weg. &lt;/p&gt;

&lt;p&gt; Innerhalb des Journals gibt es für jeden Tag eine Seite (gespeichert im Markdown-Format, Emacs Org-Mode wäre auch möglich), auf der man in Form einer Aufzählung alles notiert, was von Interesse ist. Dabei kann man Tags verwenden. Jeder Aufzählungspunkt und eventuelle weitere Unterpunkte gelten als Blöcke. &lt;/p&gt;

&lt;p&gt; Klickt man auf einen Tag, bekommt man alle Blöcke angezeigt, die diesen Tag enthalten. Wenn man auf der &quot;Tag-Seite&quot; weitere Informationen erfasst, so wird auch diese im Markdown-Format abgelegt, ansonsten existiert die Seite nur virtuell. &lt;/p&gt;

&lt;p&gt; &lt;strong&gt;Beispiel:&lt;/strong&gt; &lt;/p&gt;

&lt;a class=&quot;serendipity_image_link&quot;  href=&#039;https://www.deimeke.net/dirk/blog/uploads/logseq-tharg.png&#039;&gt;&lt;!-- s9ymdb:6628 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;1205&quot; height=&quot;1036&quot;  src=&quot;https://www.deimeke.net/dirk/blog/uploads/logseq-tharg.png&quot;  loading=&quot;lazy&quot; alt=&quot;&quot;&gt;&lt;/a&gt;

&lt;p&gt; Ich beginne einen Block mit dem Namen eines meiner Rechner in doppelten eckigen Klammern (ich könnte auch das Hash-Zeichen &quot;#&quot; verwenden, das führt zum gleichen Resultat). Innerhalb des Blocks schreibe ich auf, was ich auf dem Rechner getan habe, beispielsweise &quot;Logseq installiert&quot;. Logseq bekommt auch einen Tag. &lt;/p&gt;

&lt;p&gt; Wenn ich auf den Rechnernamen klicke, bekomme ich alles gezeigt, was ich auf dem Rechner gemacht habe. Wenn ich auf Logseq klicke, bekomme ich alle Informationen und alle Installationen mit Bezug auf Logseq angezeigt. &lt;/p&gt;

&lt;p&gt; Auf der Seite des Rechners erfasse ich beispielsweise die Hardwareausstattung. &lt;/p&gt;

&lt;p&gt; Auf diese Art entsteht über die Zeit eine stark vernetzte Dokumentation. Man kann Bilder einfügen, Videos einbetten und sogar PDFs kommentieren. Mit der Speicherung der Daten kommt man nicht in Berührung, man muss nur beim ersten Start einen Speicherort in Form eines Verzeichnisses angeben. &lt;/p&gt;

&lt;p&gt; Ich gewöhne mich gerade daran und bin ziemlich begeistert, dass die Software so gar nicht im Weg steht. &lt;/p&gt;

&lt;p&gt; Wenn Ihr sie auch testen wollte, empfehle ich Euch den &lt;a href=&quot;https://www.youtube.com/watch?v=oBtKHwFBn0k&amp;list=PLNnZ7rjaL84JjFpgDxRlAOKRa9ie25gtp&quot;&gt;Logseq Intro Course&lt;/a&gt; mit acht kurzen Videos. &lt;/p&gt;

&lt;p&gt; Ein Wermutstropfen ist für mich, dass sich die Entwickler &quot;Privacy First&quot; auf die Fahne geschrieben haben, aber per Default Telemetriedaten versenden. Das könnte man auch beim ersten Start abfragen. &lt;/p&gt;

&lt;p&gt; Die Software ist &lt;a href=&quot;https://de.wikipedia.org/wiki/Free/Libre_Open_Source_Software&quot;&gt;FLOSS&lt;/a&gt; und soll es auch bleiben. Es ist eine Pro-Version geplant, die eine Synchronisationslösung eingebaut hat, ab dann lohnt sich vielleicht auch die Android-Anwendung.&lt;/p&gt;

&lt;p&gt; Ich benutze Logseq für &lt;/p&gt;

&lt;ul&gt; 
    &lt;li&gt; Engineering Journal &lt;/li&gt;
    &lt;li&gt; Sammlung von Links, Bildern und Videos - könnte meine Bookmarks mit &lt;a href=&quot;https://github.com/shaarli/Shaarli&quot;&gt;Shaarli&lt;/a&gt; ablösen. &lt;/li&gt;
    &lt;li&gt; Installationen und Konfigurationen auf meinen Clients und Servern &lt;/li&gt;
    &lt;li&gt; Planung von Vorträgen und Workshops &lt;/li&gt;
    &lt;li&gt; Wissensspeicher &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt; Was ich noch ganz spannend finde, ist die eingebaute Aufgabenverwaltung, die ich mir auch noch näher anschauen möchte. Spannend wäre es, ob ich damit &lt;a href=&quot;https://todoist.com/&quot;&gt;Todoist&lt;/a&gt; ablösen könnte und ich alle Daten unter eigener Kontrolle hätte. &lt;/p&gt;
&lt;img src=&quot;https://ssl-vg03.met.vgwort.de/na/bcb64fd1ea7047bc928221f8738427a0&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;&gt; 
    </content:encoded>

    <pubDate>Tue, 01 Mar 2022 05:12:00 +0100</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/4154-guid.html</guid>
    <category>computer</category>
<category>floss</category>
<category>osbn</category>
<category>selfmanagement</category>

</item>
<item>
    <title>Bessere Shell-Skripte</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/4120-Bessere-Shell-Skripte.html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/4120-Bessere-Shell-Skripte.html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=4120</wfw:comment>

    <slash:comments>18</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=4120</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;p&gt; Shell-Skripte sind gegenüber anderen Programmiersprachen natürlich nicht das &quot;Non-plus-ultra&quot;, aber sie sind für Ablaufsteuerungen - dafür sind sie gemacht - eine gute Wahl. Für alles, was grösser ist, empfehle ich eine &quot;richtige Programmiersprache&quot;. Ich bin als Systemadministrator ein grosser Fan von Python und - schon länger nicht mehr genutzt - Perl, aber auch Sprachen wie Raku, Ruby oder irgendetwas mit Compiler sind natürlich gute Alternativen. &lt;/p&gt;

&lt;p&gt; Ich beziehe mich im Folgenden auf die Bash, weil das die Shell ist, die ich täglich auf verschiedenen Systemen und Architekturen benutze. &lt;/p&gt;

&lt;p&gt; &lt;strong&gt;Tipp 1:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt; Schreibt in den &lt;a href=&quot;https://de.wikipedia.org/wiki/Shebang&quot;&gt;Shebang&lt;/a&gt; &lt;code&gt;#!&lt;/code&gt; zu Beginn des Skriptes genau die Skriptsprache mit der Ihr auch getestet habt und nicht - weil alle das machen - &lt;code&gt;/bin/sh&lt;/code&gt;. Auf Debian basierten Systemen ist &lt;code&gt;/bin/sh&lt;/code&gt; ein Link auf &lt;code&gt;dash&lt;/code&gt;, bei Alpine ist es ein Link auf Busybox, auf Red Hat basierten Systemen ein Link auf &lt;code&gt;bash&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt; An dieser Stelle möchte ich gerne noch auf diesen &lt;a href=&quot;https://www.deimeke.net/dirk/blog/index.php?/archives/570-!binsh-....html&quot;&gt;alten Artikel&lt;/a&gt; hinweisen. &lt;/p&gt;

&lt;p&gt; &lt;strong&gt;Tipp 2:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt; Skripte laufen auch im Falle eines Fehlers weiter. Ich halte das für ein blödes Verhalten, was sehr häufig zu Fehlern führt. Glücklicherweise kann man das Verhalten abstellen. &lt;/p&gt;

&lt;p&gt; Entweder man ruft die Shell mit &lt;code&gt;-e&lt;/code&gt; auf, setzt den Shebang entsprechend oder schreibt &lt;code&gt;set -e&lt;/code&gt; an den Anfang des Skriptes oder vor die Zeilen für die das Setting gelten soll. Mit &lt;code&gt;set +e&lt;/code&gt; kann man wieder das alte Verhalten herstellen. &lt;/p&gt;

&lt;p&gt; Meine Empfehlung ist, die Langform &lt;code&gt;set -o errexit&lt;/code&gt; zu verwenden, das ist deutlich lesbarer. (Altes Verhalten kann man mit &lt;code&gt;set +o errexit&lt;/code&gt; wieder herstellen). &lt;/p&gt;

&lt;p&gt; Shellzeilen gelten als fehlerhaft, wenn der exit-Code des letzten Kommandos der Zeile ungleich 0 (null) ist. Das bedeutet unter anderem, dass man den Exitcode einer einzelnen Zeile durch Hinzufügen von &lt;code&gt;|| true&lt;/code&gt; auf &quot;nicht fehlerhaft&quot; ändern kann. &lt;/p&gt;

&lt;p&gt; &lt;strong&gt;Tipp 3:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt; Wie im letzten Tipp beschrieben, ist das letzte ausgeführte Kommando einer Zeile ausschlaggebend dafür, ob eine Zeile mit oder ohne Fehlercode beendet wird. &lt;/p&gt;

&lt;p&gt; Der Eintrag &lt;code&gt;set -o pipefail&lt;/code&gt; sorgt dafür, dass eine Zeile als fehlerhaft &quot;gesehen&quot; wird, wenn auch nur ein Kommando der über Pipes vernetzten Kommandos einer Zeile fehlschlägt. &lt;/p&gt;

&lt;p&gt; &lt;strong&gt;Tipp 4:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt; Nicht gesetzte oder &quot;leere&quot; Variablen sind häufig ein Problem. &lt;/p&gt;

&lt;p&gt; Um eine nicht gesetzte Variable mit einem Fehler zu quittieren, kann man das Kommando &lt;code&gt;set -o nounset&lt;/code&gt; oder &lt;code&gt;set -u&lt;/code&gt; verwenden. &lt;/p&gt;

&lt;p&gt; &lt;strong&gt;Tipp 5:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt; Es ist generell eine gute Idee, alle Variablen mit doppelten Anführungszeichen zu umgeben, ganz besonders dann, wenn es um Dateien geht. Auch, wenn man selber keine Dateien mit Leerzeichen (oder anderen &quot;Internal Field Separators&quot; (IFS)) erstellt, heisst es nicht, dass man nicht auf solche treffen kann. &lt;/p&gt;

&lt;p&gt; &lt;strong&gt;Nachtrag:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt; Christoph hat in &lt;a href=&quot;https://www.deimeke.net/dirk/blog/index.php?/archives/4120-Bessere-Shell-Skripte.html&amp;serendipity[csuccess]=true#c22981&quot;&gt;diesem Kommentar&lt;/a&gt; zur recht darauf hingewiesen, dass es besser ist &lt;code&gt;/usr/bin/env bash&lt;/code&gt; zu verwenden, das benutzt die erste Bash, die der Benutzer im Pfad hat und funktioniert auch auf Systemen, auf denen die Bash in einem anderem Pfad liegt als &lt;code&gt;/bin/bash&lt;/code&gt;. &lt;/p&gt;

&lt;p&gt; &lt;strong&gt; Zusammenfassung:&lt;/strong&gt; &lt;/p&gt;

&lt;p&gt; Meine Erfahrung ist, dass man mit den fünf Tipps rund 80% aller Probleme mit Shellskripten umschifft bzw. Skripte mit Fehlern rechtzeitig abbricht.&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/usr/bin/env bash&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-o&lt;/span&gt; errexit&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-o&lt;/span&gt; nounset&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-o&lt;/span&gt; pipefail&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# Und Variablen immer mit doppelten Anführungszeichen verwenden.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${Variable}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;/div&gt;

&lt;p&gt; Es gibt noch viele weitere Tipps, aber das sind meiner Ansicht nach die wichtigsten. &lt;/p&gt;
&lt;img src=&quot;https://ssl-vg03.met.vgwort.de/na/dd2dc383fd984fbc9dfa5da766b12c6e&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;&gt; 
    </content:encoded>

    <pubDate>Tue, 30 Nov 2021 05:27:00 +0100</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/4120-guid.html</guid>
    <category>bash</category>
<category>computer</category>
<category>osbn</category>
<category>shell</category>

</item>
<item>
    <title>Threema App wird quelloffen</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/4050-Threema-App-wird-quelloffen.html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/4050-Threema-App-wird-quelloffen.html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=4050</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=4050</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;p&gt;Kaum kommt die Meldung, dass der &lt;a href=&quot;https://threema.ch/de/blog/posts/open-source-rabatt&quot;&gt;Quelltext des Threema-Clients offen liegt&lt;/a&gt;, kommen die Bedenkenträger, dass das kein Grund zur Freude wäre, so lange der Quelltext des Servers noch nicht offen ist.&lt;/p&gt;

&lt;p&gt;Zwei Anmerkungen dazu und auch gleichzeitig eine Einladung zur Diskussion.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Haben wir verlernt, uns über Teilerfolge zu freuen? Muss es immer 100% sein? Kein Wunder, dass wir es uns immer schlechter gehen lassen, wir tragen selber die Schuld daran.&lt;/li&gt;
&lt;li&gt;Auch, wenn der Quelltext der Serverkomponente offen liegt, gibt es keine Garantie dafür, dass der Quelltext die Basis für den Server ist, der auf Seiten des Betreibers läuft. Ich setze als Blogengine &lt;a href=&quot;https://s9y.org/&quot;&gt;Serendipity&lt;/a&gt; ein. Ihr müsst mir glauben, dass das so ist und keine von mir abgewandelte Variante der Software. &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Wenn man etwas nicht selber macht, muss man darauf vertrauen, dass es sich so verhält wie behauptet.&lt;/p&gt;

&lt;p&gt;Nebenbei: Auch die App müsste man selber bauen, um sicher zu sein, dass die App auf dem Handy aus dem offen gelegten Quelltext gebaut wurde.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 21 Dec 2020 13:43:00 +0100</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/4050-guid.html</guid>
    <category>computer</category>
<category>opensource</category>
<category>opensourcesoftware</category>
<category>osbn</category>

</item>
<item>
    <title>Neue Hardware</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/4036-Neue-Hardware.html</link>
            <category>technik</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/4036-Neue-Hardware.html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=4036</wfw:comment>

    <slash:comments>39</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=4036</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;p&gt;Das Thema Homeoffice wird mich vermutlich länger nicht loslassen.&lt;/p&gt;

&lt;p&gt;Mein einziges Arbeitsgerät ist derzeit ein mittlerweile 4,5 Jahre altes Notebook in einer Dockingstation. Dass ich es mobil verwendet habe, ist vermutlich länger als ein Jahr her. Aufgrund von Corona werde ich es höchstwahrscheinlich auch in nächster Zeit nicht mobil einsetzen. Ein neues Notebook wäre somit eher sinnlos.&lt;/p&gt;

&lt;p&gt;Den Platz auf dem Schreibtisch könnte ich aber gut gebrauchen. Mein Notebook wird auch noch länger gut mobil oder bei Präsentationen funktionieren, so dass ich zum ersten Mal seit längerer Zeit wieder über ein immobiles Standsystem nachdenke. Einmal mehr merke ich, dass ich von Hardware wirklich keine Ahnung habe. Die Faustregel &quot;nimm etwas mit Intel-Prozessor und -Grafikkarte, dann funktioniert es auch unter Linux&quot; gilt weiterhin.&lt;/p&gt;

&lt;p&gt;Also, liebe Mitleser, was würdet Ihr kaufen?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Anforderungen:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
    &lt;li&gt;Ich mache viel mit virtuellen Maschinen und mit Containern, daher sollten es schon 64 GB RAM sein.&lt;/li&gt;
    &lt;li&gt;Einen aktuellen Prozessor sollte das Teil auch haben, da der Trümmer hoffentlich lange Jahre Dienst tun wird.&lt;/li&gt;
    &lt;li&gt;Eine schnelle SSD / NVMe mit 1 TB ist Pflicht, wenn noch Platz für eine 4 TB SATA-Platte vorhanden ist, dann ist das umso besser.&lt;/li&gt;
    &lt;li&gt;Netzwerk (kabelgebunden) plus WLAN als Fallback sind nötig.&lt;/li&gt;
    &lt;li&gt;Betrieben wird das Gerät an einem Monitor mit 2560x1440 Pixeln Auflösung, daher ist ein Display Port Anschluss vermutlich eine gute Idee.&lt;/li&gt;
    &lt;li&gt;Wichtig wäre noch, dass der Trümmer möglichst leise ist.&lt;/li&gt;
    &lt;li&gt;Aufgrund der Notwendigkeit, Citrix Workplace zu verwenden, kommt Ubuntu zum Einsatz - Fedora hätte ich lieber.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;In meiner engeren Auswahl sind die folgenden beiden Konfigurationen auf Basis von &lt;a href=&quot;https://www.tuxedocomputers.com/de/Linux-Hardware/Linux-Computer-/-PCs/Intel-Systeme/TUXEDO-CORE-One-v10-Intel-Core-Series-Micro-ATX-Midi-Tower.tuxedo#!#582,38841;699,35297;717,35315;818,35596;874,34710;955,37358;1219,35276;1448,36477;1645,36792;1839,37877;1852,37951;1869,35671;1916,35615;1931,35584;1932,38265;1996,35191;1997,35186;2063,38560&quot;&gt;Tuxedo Core One v10&lt;/a&gt; oder &lt;a href=&quot;https://www.tuxedocomputers.com/de/Linux-Hardware/Linux-Computer-/-PCs/Alle-Systeme/TUXEDO-Cube-v8-Intel-Core-Series-High-End-CPUs-opt-NVIDIA-GeForce-GTX-bis-5-HDD/SSD-bis-64-GB-RAM-DVD-o-Blu-Ray-Brenner.tuxedo#!#534,35191;566,35186;582,38841;699,35297;717,35315;814,35584;818,35596;883,35671;955,37358;1013,34710;1096,35993;1203,35615;1219,35276;1448,36477;1557,35186;1642,36792;1839,37877;2063,38560&quot;&gt;Tuxedo Cube v8&lt;/a&gt; ich bin aber offen für weitere Vorschläge.&lt;/p&gt;
 
    </content:encoded>

    <pubDate>Sun, 01 Nov 2020 15:01:00 +0100</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/4036-guid.html</guid>
    <category>computer</category>
<category>technik</category>

</item>
<item>
    <title>SSD tauschen ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3830-SSD-tauschen-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3830-SSD-tauschen-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3830</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3830</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Ich habe nicht bereut, mich bei meinem aktuellen Notebook im Februar letzten Jahres für ein Dell Latitude E7450 &lt;a href=&quot;https://www.deimeke.net/dirk/blog/index.php?/archives/3685-Neues-Notebook-....html&quot;&gt;entschieden&lt;/a&gt; zu haben. Am Sonntag habe ich innerhalb von ein paar Minuten die neue SSD eingebaut und Fedora installiert. Arbeitsbereit war ich in deutlich unter zwei Stunden ... (selbst Windows 10 wäre da noch dabei gewesen, die Updates zu installieren und Anwendungen wären auch noch nicht drauf).&lt;br /&gt;
&lt;br /&gt;
&lt;iframe width=&quot;560&quot; height=&quot;315&quot; src=&quot;https://www.youtube-nocookie.com/embed/dadH1t1zhOM?rel=0&quot; frameborder=&quot;0&quot; allowfullscreen&gt;&lt;/iframe&gt; 
    </content:encoded>

    <pubDate>Tue, 18 Jul 2017 15:06:59 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3830-guid.html</guid>
    <category>computer</category>
<category>dell</category>
<category>latitude</category>

</item>
<item>
    <title>Wannacry?</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3815-Wannacry.html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3815-Wannacry.html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3815</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3815</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Leider muss ich jetzt doch etwas längeres dazu schreiben, weil mich die polemisierenden Nachrichten nerven.&lt;br /&gt;
&lt;br /&gt;
Kurz zusammengefasst: &lt;br /&gt;
&lt;br /&gt;
Ich habe kein Mitleid mit Firmen, die von Wannacry betroffen sind. Mein Mitleid geht an die Menschen, die nichts damit zu tun hattem wie beispielsweise Patienten von Krankenhäusern.&lt;br /&gt;
&lt;br /&gt;
Wannacry hat mit Admins zu tun, die ihre Hausaufgaben nicht gemacht haben; mit Entscheidern, die kein Geld für ein Update bewilligen und mit Anwendern, die auf alles klicken, was klickbar ist und Warnhinweise ignorieren. Es hat nichts mit Windows vs. Linux zu tun. Ein ungepatchtes und nicht supportetes Linuxsystem ist auch ein Sicherheitsproblem.&lt;br /&gt;
&lt;br /&gt;
Längere Version:&lt;br /&gt;
&lt;br /&gt;
Soweit ich verstehe und aus &lt;a href=&quot;https://www.binarydefense.com/wannacry-mass-ransomware-worm-campaign/&quot;&gt;diesem Link&lt;/a&gt; mitnehme, läuft die initiale Verbreitung folgendermassen:&lt;br /&gt;
&lt;br /&gt;
Ein Benutzer bekommt per Mail eine Passwort geschützte ZIP-Datei in der ein Dokument ist. Wenn das Dokument geöffnet wird, wird eine unsignierte ausführbare Datei nachgeladen und diese ausführbare Datei enthält alles, was der Wurm braucht, Code zur Infizierung, Vervielfältigung und Verseuchung der Zielsysteme, wobei eine Schwachstelle in SMB ausgenutzt wird. Durch den User erreichbare Dateien (insbesondere Netzwerkshares) werden verschlüsselt.&lt;br /&gt;
&lt;br /&gt;
Der Benutzer muss mehrfach bestätigen, dass er Dinge &quot;wirklich&quot; tun will (Ungeschützte Datei öffnen, Makros ausführen, Datei aus unsicherer Quelle ausführen).&lt;br /&gt;
&lt;br /&gt;
Erste Möglichkeit, es gar nicht erst zu solchem einem Eklat kommen zu lassen, wäre beispielsweise die Schulung der Nutzer.&lt;br /&gt;
&lt;br /&gt;
Für noch im Support befindliche Betriebssysteme, also nicht Windows XP, hat Microsoft bereits Mitte März dieses Jahres einen Patch &lt;a href=&quot;https://technet.microsoft.com/en-us/library/security/ms17-010.aspx&quot;&gt;veröffentlicht&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Zweite Möglichkeit, kritische Patches kurz nach Erscheinen einspielen.&lt;br /&gt;
&lt;br /&gt;
Das hilft nicht, wenn man nur Windows XP hat und die Entscheider kein Geld für neue Lizenzen ausgeben wollen. Hier ist die dreckige Wahrheit: Der Unterhalt einer IT-Infrastruktur kostet Geld für Hardware, Softwarelizenzen und Support-Personal. Es liegen vier aktuell supportete Versionen zwischen XP und heute (Windows Vista, Windows 7, Windows 8 und Windows 10). Selbst, wenn man sich entscheiden würde, nur jede zweite oder dritte Inkarnation von Windows einzusetzen, hätte es mit dem rechtzeitig veröffentlichten Patch keine Probleme gegeben.&lt;br /&gt;
&lt;br /&gt;
Es geht nicht um &quot;XP ist Mist&quot;, es geht in diesem Fall um abgelaufenen Herstellersupport.&lt;br /&gt;
&lt;br /&gt;
Von einem Oldtimer würde man auch nicht erwarten, dass er einen Airbag hat ...&lt;br /&gt;
&lt;br /&gt;
Um in der Analogie zu bleiben: Windows XP hat 2001 das Licht der Welt erblickt, das ist vor 16 Jahren. Wie viele Geschäftsführer fahren 16 Jahre alte Autos? Ich kenne keinen. Geld für ein neues Auto wäre also da, aber nicht für Softwarelizenzen. Das passt nicht.&lt;br /&gt;
&lt;br /&gt;
Dazu gibt es noch mehrere Möglichkeiten, technisch dem Problem beizukommen, gekapseltes E-Mail-System, Paketfilter, ... aber die sind meiner Meinung nach nicht mit vertretbarem Aufwand handhabbar.&lt;br /&gt;
&lt;br /&gt;
Fazit:&lt;br /&gt;
&lt;br /&gt;
Es führt nichts, gar nichts daran vorbei Anwender zu schulen. Selbst, wenn das zu Grunde liegende System von Windows auf irgendetwas anderes wechselt, hilft die Schulung, dass die gleichen Fehler nicht auf den neuen Systemen gemacht werden.&lt;br /&gt;
&lt;br /&gt;
Ebenfalls ist es nötig, zeitnah kritische Patches einzuspielen. Selbst Unternehmen mit sehr konservativen Patchzyklen (ein Mal pro Jahr) kennen &quot;Emergency-Patching&quot;.&lt;br /&gt;
&lt;br /&gt;
Egal, welches System eingesetzt wird, es muss durch den Hersteller oder die Community unterstützt sein (ich kenne reichlich Menschen, die ein lange nicht mehr gewartetes Debian einsetzen). &lt;br /&gt;
&lt;ul&gt;
&lt;li&gt; Wem die Supportzyklen zu kurz sind, muss auf etwas mit längeren Supportzyklen wechseln. &lt;/li&gt;
&lt;li&gt; Wer lizenzpflichtige Betriebssysteme (oder auch andere Software) einsetzt, muss diesen Kostenpunkt dringend in seinem Budget einplanen. &lt;/li&gt;
&lt;/ul&gt;&lt;img src=&quot;https://ssl-vg03.met.vgwort.de/na/c96568f70b204fbb9a41182ab768efd5&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;&gt; 
    </content:encoded>

    <pubDate>Wed, 17 May 2017 05:20:00 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3815-guid.html</guid>
    <category>computer</category>

</item>
<item>
    <title>GNU time ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3789-GNU-time-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3789-GNU-time-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3789</wfw:comment>

    <slash:comments>5</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3789</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    In den &quot;Core Utilities&quot; der meisten Linuxdistributionen findet sich das Tool &lt;a href=&quot;http://www.gnu.org/software/time/&quot;&gt;GNU time&lt;/a&gt; (ja, die Homepage ist ein bisschen, nun, ..., nichtssagend).&lt;br /&gt;
&lt;br /&gt;
Das time-Kommando als eingebautes Kommando der Bash (oder anderer Shells) kennen viele, auch die charakteristische Ausgabe:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;$ &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;bash&lt;/span&gt;&lt;br /&gt;$ &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;real &amp;#160; &amp;#160;0m2.608s&lt;br /&gt;user &amp;#160; &amp;#160;0m0.137s&lt;br /&gt;sys &amp;#160; &amp;#160; 0m0.326s&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Ein wenig gesprächiger ist GNU time:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;$ &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;bash&lt;/span&gt;&lt;br /&gt;$ &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt;&lt;br /&gt;0.18user 0.37system &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;:04.17elapsed &lt;span style=&quot;color: #000000;&quot;&gt;13&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;%&lt;/span&gt;CPU &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0avgtext+0avgdata 3736maxresident&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;k&lt;br /&gt;0inputs+80outputs &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;0major+96587minor&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;pagefaults 0swaps&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Im &quot;verbose-Modus&quot; kann man dann aber schon richtig ordentlich Informationen abgreifen:&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;$ &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;usr&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;bin&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-v&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;bash&lt;/span&gt;&lt;br /&gt;$ &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;exit&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Command being timed: &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;bash&amp;quot;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; User &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;seconds&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;span style=&quot;color: #000000;&quot;&gt;0.11&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; System &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;seconds&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;span style=&quot;color: #000000;&quot;&gt;0.30&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Percent of CPU this job got: &lt;span style=&quot;color: #000000;&quot;&gt;12&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;%&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Elapsed &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;wall&lt;/span&gt; clock&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;h:mm:ss or m:ss&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;:&lt;span style=&quot;color: #000000;&quot;&gt;03.36&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Average shared text &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;size&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;kbytes&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Average unshared data &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;size&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;kbytes&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Average stack &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;size&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;kbytes&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Average total &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;size&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;kbytes&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Maximum resident &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;size&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;kbytes&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;span style=&quot;color: #000000;&quot;&gt;3732&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Average resident &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;size&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;kbytes&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Major &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;requiring I&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;O&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; page faults: &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Minor &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;reclaiming a frame&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; page faults: &lt;span style=&quot;color: #000000;&quot;&gt;96806&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Voluntary context switches: &lt;span style=&quot;color: #000000;&quot;&gt;713&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Involuntary context switches: &lt;span style=&quot;color: #000000;&quot;&gt;155&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Swaps: &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; File system inputs: &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; File system outputs: &lt;span style=&quot;color: #000000;&quot;&gt;80&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Socket messages sent: &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Socket messages received: &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Signals delivered: &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Page &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;size&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;bytes&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;: &lt;span style=&quot;color: #000000;&quot;&gt;4096&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; Exit status: &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Die &lt;a href=&quot;https://www.mankier.com/1/time&quot;&gt;manpage&lt;/a&gt; gibt noch weitere Optionen an.&lt;img src=&quot;https://ssl-vg03.met.vgwort.de/na/651d035873954149a35b1a705d6915be&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;&gt; 
    </content:encoded>

    <pubDate>Tue, 02 May 2017 16:44:00 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3789-guid.html</guid>
    <category>computer</category>
<category>osbn</category>

</item>
<item>
    <title>Pipe Viewer ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3809-Pipe-Viewer-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3809-Pipe-Viewer-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3809</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3809</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;p&gt;In den letzten Jahren haben sich reichlich viele tar.bz2-Archive mit zum Teil über 100 Gigabytes bei mir angesammelt. Die mussten einmal dringend aufgeräumt werden.&lt;/p&gt;

&lt;p&gt;Beim Aufräumen war mir &lt;a href=&quot;http://www.ivarch.com/programs/pv.shtml&quot;&gt;Pipe Viewer&lt;/a&gt; eine grosse Hilfe. Na, ja, Hilfe ist vielleicht übertrieben, aber &quot;subjektive Zeitverkürzung&quot; hat auch ihren Wert.&lt;/p&gt;

&lt;p&gt;Pipe Viewer macht genau das, was der Name vermuten lässt, es zeigt - unter anderem - den Fortschritt von Pipes an.&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;$ pv &lt;span style=&quot;color: #660033;&quot;&gt;--progress&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--eta&lt;/span&gt; downloads.tar.bz2 &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tar&lt;/span&gt; xjf -&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; &amp;#160;&lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;%&lt;/span&gt; ETA &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;:04:02&lt;/div&gt;

&lt;p&gt;Der umgekehrte Weg ist komplexer, weil die Grösse der Daten an das Kommando übergeben werden muss.&lt;/p&gt;

&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;$ &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;tar&lt;/span&gt; cf - Downloads \&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; pv &lt;span style=&quot;color: #660033;&quot;&gt;--progress&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--eta&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--size&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;du&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-bs&lt;/span&gt; Downloads &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;awk&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;{print $1}&#039;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; \&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;|&lt;/span&gt; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;bzip2&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-9&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; downloads.tar.bz2&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;==============&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;&amp;gt;&lt;/span&gt; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160; &amp;#160;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;31&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;%&lt;/span&gt; ETA &lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt;:08:&lt;span style=&quot;color: #000000;&quot;&gt;42&lt;/span&gt;&lt;/div&gt;

&lt;p&gt;Weitere sehr gute Beispiele finden sich auf der verlinkten Homepage.&lt;/p&gt; 
    </content:encoded>

    <pubDate>Mon, 01 May 2017 17:21:00 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3809-guid.html</guid>
    <category>computer</category>
<category>osbn</category>

</item>
<item>
    <title>FLOSS-Perlen ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3665-FLOSS-Perlen-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3665-FLOSS-Perlen-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3665</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3665</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Ich bin immer auf der Suche nach &lt;a href=&quot;https://de.wikipedia.org/wiki/Free/Libre_Open_Source_Software&quot;&gt;FLOSS&lt;/a&gt;-Perlen. &lt;br /&gt;
&lt;br /&gt;
&lt;strong&gt;Wenn Ihr also FLOSS-Perlen findet, wäre ich sehr froh, wenn Ihr Eure Fundstücke in den Kommentaren oder besser noch in eigenen Blog-Artikeln beschreibt und hier verlinkt.&lt;br /&gt;
&lt;br /&gt;
Wichtig! Ich suche nicht nach dem x-ten Artikel, der eine Software beschreibt, die eh schon jeder kennt, es sei denn sie bietet etwas so besonderes, dass sich die Erwähnung lohnt.&lt;/strong&gt;&lt;br /&gt;
&lt;br /&gt;
Dabei schreibe ich ganz bewusst FLOSS, weil ich die Streitigkeiten zwischen der Free-Software-Definition und der Open-Source-Definition nicht mitmachen möchte.&lt;br /&gt;
&lt;br /&gt;
Grundlegend wollen beide Gruppierungen das gleiche und ich fühle mich eher zur &quot;Open Source&quot; als zur dogmatischeren &quot;Free Software&quot; hingezogen. Ich bin der Meinung, dass der Streit &quot;unserer Bewegung&quot; eher schadet als nützt.&lt;br /&gt;
&lt;br /&gt;
Definition von &quot;Freie Software&quot; nach &lt;a href=&quot;https://de.wikipedia.org/wiki/Freie_Software&quot;&gt;Wikipedia&lt;/a&gt;:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Die Freiheit, das Programm auszuführen, wie man möchte, für jeden Zweck.&lt;/li&gt;
&lt;li&gt;Die Freiheit, die Funktionsweise des Programms zu untersuchen und eigenen Bedürfnissen der Datenverarbeitung anzupassen.&lt;/li&gt;
&lt;li&gt;Die Freiheit, das Programm weiterzuverbreiten und damit seinen Mitmenschen zu helfen.&lt;/li&gt;
&lt;li&gt;Die Freiheit, das Programm zu verbessern und diese Verbesserungen der Öffentlichkeit freizugeben, damit die gesamte Gemeinschaft davon profitiert.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
Definition von &quot;Open Source&quot; nach &lt;a href=&quot;https://de.wikipedia.org/wiki/Open_Source&quot;&gt;Wikipedia&lt;/a&gt;:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;Die Software (das heisst der Quelltext) liegt in einer für den Menschen lesbaren und verständlichen Form vor.&lt;/li&gt;
&lt;li&gt;Die Software darf beliebig kopiert, verbreitet und genutzt werden.&lt;/li&gt;
&lt;li&gt;Die Software darf verändert und in der veränderten Form weitergegeben werden.&lt;/li&gt;
&lt;/ul&gt; 
    </content:encoded>

    <pubDate>Tue, 16 Feb 2016 05:53:00 +0100</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3665-guid.html</guid>
    <category>computer</category>
<category>floss</category>
<category>osbn</category>

</item>
<item>
    <title>E-Mail, Kontakte und Kalender ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3620-E-Mail,-Kontakte-und-Kalender-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3620-E-Mail,-Kontakte-und-Kalender-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3620</wfw:comment>

    <slash:comments>44</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3620</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Lange Jahre war ich mit &lt;a href=&quot;http://www.claws-mail.org/&quot;&gt;Claws-Mail&lt;/a&gt; als Mailclient mehr als zufrieden und bin es heute noch. Die Filter- und anderen Konfigurationsmöglichkeiten sind unerreicht. Leider ist er nicht mehr auf der Höhe der Zeit.&lt;br /&gt;
&lt;br /&gt;
Es gibt immer mehr HTML-Mails (die ich auch als HTML sehen möchte) und die meine Anforderungen über Mail hinaus sind gestiegen.&lt;br /&gt;
&lt;br /&gt;
Ich bin auf der Suche nach einem &quot;Personal Information Manager&quot;, der die folgenden Aufgaben in einer integrierten Oberfläche bereitstellt und soll unter KDE auf Linux laufen:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt; Pflicht: E-Mail (klar, oder?)&lt;/li&gt;
&lt;li&gt; Pflicht: Anzeige von HTML-Nachrichten ohne Verrenkungen, gerne mit einmaliger (!) Nachfrage pro Kontakt ob Content nachgeladen werden darf. &lt;/li&gt;
&lt;li&gt; Pflicht: Sollte nicht in die Knie gehen bei meinem Mailaufkommen (derzeit drei &quot;echte Mailaccounts&quot; via IMAP und zahlreiche Weiterleitungen) mit einigen hunderttausend gespeicherten Nachrichten.&lt;/li&gt;
&lt;li&gt; Pflicht: Nutzung verschiedener Identitäten pro Mailaccount.&lt;/li&gt;
&lt;li&gt; Pflicht: Filterung von eingehenden Mails, gerne auch mit Frontend für Sieve.&lt;/li&gt;
&lt;li&gt; Pflicht: Verwaltung und Einbindung von Kontakten aus den externen Quellen &lt;a href=&quot;https://owncloud.org/&quot;&gt;ownCloud&lt;/a&gt; &lt;strong&gt;und&lt;/strong&gt; &lt;a href=&quot;https://www.google.com/contacts&quot;&gt;Google Contacts&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt; Pflicht: Gleiches - ownCloud und &lt;a href=&quot;https://www.google.com/calendar&quot;&gt;Google Calendar&lt;/a&gt; - gilt für Kalender, hier kommen aber noch öffentliche ICS-Dateien dazu.&lt;/li&gt;
&lt;li&gt; Kür: Speicherung von Antworten im gleichen Ordner wie die Mail, die auf die geantwortet wird.&lt;/li&gt;
&lt;li&gt; Kür: Vergabe von Verarbeitungsregeln für Ordner wie beispielsweise &quot;Verschiebe alle Nachrichten, die älter sind als 365 Tage in den Archivordner (der in einem anderen Mailaccount zu finden ist)&quot; oder &quot;Lösche alle Nachrichten aus dem Gesendet-Ordner, die an Mailinglisten gingen&quot;. &lt;/li&gt;
&lt;li&gt; Kür: Usenet-Client&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
Die &quot;Kür-Anforderungen&quot; resultieren aus Funktionen, die ich Claws-Mail genutzt habe.&lt;br /&gt;
&lt;br /&gt;
Getestet habe ich die integrierten KDE-Anwendungen &lt;a href=&quot;https://www.kde.org/applications/internet/kmail/&quot;&gt;KMail&lt;/a&gt;, &lt;a href=&quot;https://www.kde.org/applications/office/korganizer/&quot;&gt;KOrganizer&lt;/a&gt;, &lt;a href=&quot;https://www.kde.org/applications/office/kaddressbook/&quot;&gt;KAddressbook&lt;/a&gt; und &lt;a href=&quot;https://www.kde.org/applications/internet/knode/&quot;&gt;KNode&lt;/a&gt;, aber die waren für die Anzahl der verwalteten Mails zu langsam und mit intensivem Filtern unbenutzbar. Der Featureset hat ansonsten dem entsprochen, was ich mir vorstelle.&lt;br /&gt;
&lt;br /&gt;
Momentan teste ich &lt;a href=&quot;https://www.mozilla.org/en-US/thunderbird/&quot;&gt;Mozilla Thunderbird&lt;/a&gt;.&lt;img src=&quot;https://ssl-vg03.met.vgwort.de/na/ba749df515ef479eaa2e8347b0c2bbb4&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;&gt; 
    </content:encoded>

    <pubDate>Mon, 05 Oct 2015 05:41:00 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3620-guid.html</guid>
    <category>computer</category>
<category>lazyweb</category>
<category>osbn</category>

</item>
<item>
    <title>daterem.py vs. daterem.pl ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3600-daterem.py-vs.-daterem.pl-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3600-daterem.py-vs.-daterem.pl-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3600</wfw:comment>

    <slash:comments>14</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3600</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Ich muss bzw. darf mich mit der Programmiersprache Python auseinandersetzen. Was liegt da näher, ein selbstgeschriebenes Perl-Skript nach Python zu migrieren? Nichts. Also habe ich es getan.&lt;br /&gt;
&lt;br /&gt;
Die Ergebnisse lassen sich &lt;a href=&quot;https://github.com/ddeimeke/daterem&quot;&gt;auf GitHub&lt;/a&gt; sehen.&lt;br /&gt;
&lt;br /&gt;
Kritik ist ausdrücklich erwünscht, ich kann davon nur lernen.&lt;br /&gt;
&lt;br /&gt;
Diesen Artikel wollte ich nicht Python vs. Perl nennen, weil beide Programmiersprachen ihre Berechtigung haben und es gibt ja nicht wirklich einen Streit zwischen beiden, nur unterschiedliche Philosophien. Einer von vielen Gründen ist, dass Perl von einem Linguisten - Larry Wall - entwickelt wurde und Python von einem Mathematiker - Guido van Rossum.&lt;br /&gt;
&lt;br /&gt;
So, hier kommen die Dinge, die mir beim Umschreiben aufgefallen sind. Achtung! Ich bin kein Programmierer, sondern eher ein Skripter ...&lt;br /&gt;
&lt;br /&gt;
Die folgenden Punkte kann meiner Ansicht nach Python besser:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt; Datumshandling mit mitgelieferten Bibliotheken: das Modul time ist doch deutlich komfortabler als das Perl-Pendant Time::local (zum Wert für Monat muss 1 und zum Wert von Jahr muss 1900 addiert werden). &lt;/li&gt;
&lt;li&gt; Struktur: Da Bei Python die Einrückungen eine Rolle spielen, kann auf geschweifte Klammern für Codeblöcke verzichtet werden, das gefällt mir richtig gut. &lt;/li&gt;
&lt;li&gt; Listen: Der Umgang mit Listen gefällt mir auch besser als bei Perl, aber ich gebe zu, dass das Geschmackssache sein könnte. &lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
Aber auch Perl hat seine Stärken:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt; Reguläre Ausdrücke, nun, was soll ich schreiben, reguläre Ausrücke gehen direkt und wesentlich unkomplizierter als bei Python, wo sie per Modul nachgerüstet werden müssen. Es hat einen Grund, dass es einen Namen gibt &quot;PRE - Perl Regular Expressions&quot;. &lt;/li&gt;
&lt;li&gt; Variablenhandling: Ich habe mich daran gewöhnt, dass ich eine Variable sowohl als String wie auch als Zahl verwenden kann, ohne umwandeln zu müssen. Gut, Python ist schwach typisiert, aber wenn der Typ feststeht, muss man konvertieren. &lt;/li&gt;
&lt;li&gt; Assoziative Arrays gefallen mir deutlich besser als Dictionaries, das ist wieder einmal Geschmackssache. &lt;/li&gt;
&lt;li&gt; Nachgestelles &quot;if&quot; &lt;code&gt;print $a if ($a == $b)&lt;/code&gt; ist wirklich hübscher als ein Mehrzeiler.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
Es gibt gute Gründe, die zu den Entscheidungen in den Programmiersprachen geführt haben. Ich möchte auch nicht in &quot;besser&quot; oder &quot;schlechter&quot; einteilen, das ist doof. Alles, was man mit der einen Programmiersprache erledigen kann, kann man auch mit der anderen tun.&lt;img src=&quot;https://ssl-vg03.met.vgwort.de/na/1face39e96a1467ba1cce9c8df8dd0d0&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;&gt; 
    </content:encoded>

    <pubDate>Mon, 17 Aug 2015 05:53:00 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3600-guid.html</guid>
    <category>computer</category>
<category>osbn</category>
<category>perl</category>
<category>python</category>

</item>
<item>
    <title>Hashes in der Bash ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3589-Hashes-in-der-Bash-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3589-Hashes-in-der-Bash-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3589</wfw:comment>

    <slash:comments>6</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3589</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Weil ich es gerade für einen Kollegen gebraucht habe.&lt;br /&gt;
&lt;br /&gt;
Ein eher selten genutztes Feature in der Bash sind assoziative Arrays (Hashes). Ab Bash Version 4 geht das ganz ohne Hilfskonstrukte.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;declare&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-A&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;dns&lt;/span&gt;=&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;mond&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;=192.168.0.1&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;erde&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;=192.168.2.3&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#91;&lt;/span&gt;saturn&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;=192.168.7.8&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Alle Keys: &amp;#160; &lt;span style=&quot;color: #007800;&quot;&gt;${!dns[@]}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Alle Values: &lt;span style=&quot;color: #007800;&quot;&gt;${dns[@]}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; host &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; &lt;span style=&quot;color: #800000;&quot;&gt;${!dns[@]}&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #007800;&quot;&gt;ip&lt;/span&gt;=&lt;span style=&quot;color: #800000;&quot;&gt;${dns[${host}&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#93;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#125;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;&lt;span style=&quot;color: #007800;&quot;&gt;${host}&lt;/span&gt; hat die IP-Adresse &lt;span style=&quot;color: #007800;&quot;&gt;${ip}&lt;/span&gt;&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Schlüssel und Werte dürfen &quot;natürlich&quot; auch Leerzeichen enthalten. Dann müssen diese allerdings - wie bekannt - in Anführungszeichen stehen.&lt;br /&gt;
&lt;br /&gt;
Ergebnis des Skriptes:&lt;br /&gt;
&lt;br /&gt;
&lt;pre&gt;Alle Keys:   erde saturn mond
Alle Values: 192.168.2.3 192.168.7.8 192.168.0.1

erde hat die IP-Adresse 192.168.2.3
saturn hat die IP-Adresse 192.168.7.8
mond hat die IP-Adresse 192.168.0.1&lt;/pre&gt; 
    </content:encoded>

    <pubDate>Wed, 22 Jul 2015 11:11:41 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3589-guid.html</guid>
    <category>bash</category>
<category>computer</category>
<category>osbn</category>

</item>
<item>
    <title>Programmiersprachen Ranglisten ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3584-Programmiersprachen-Ranglisten-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3584-Programmiersprachen-Ranglisten-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3584</wfw:comment>

    <slash:comments>9</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3584</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Letzte Woche gingen die aktuelle &lt;a href=&quot;http://redmonk.com/sogrady/2015/07/01/language-rankings-6-15/&quot;&gt;RedMonk Programmiersprachen Rangliste&lt;/a&gt; durch die Blogs. Ich kannte die Rangliste tatsächlich noch nicht und habe vorher immer den &lt;a href=&quot;http://www.tiobe.com/index.php/content/paperinfo/tpci/index.html&quot;&gt;Tiobe Index&lt;/a&gt; zu Rate gezogen. Im Zuge der Recherche zu diesem Artikel habe ich auch noch den &lt;a href=&quot;https://pypl.github.io/PYPL.html&quot;&gt;Popularity of Programming Language Index gefunden&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Die Ergebnisse sind sehr interessant, weil sie drei verschiedene Messmethoden anwenden, um die gefragtesten Programmiersprachen zu finden.&lt;br /&gt;
&lt;br /&gt;
Der RedMonk Index erscheint alle zwei Jahre und benutzt GitHub und Stack Overflow, um die Rangliste zu erstellen. Damit wird erhofft, die Benutzung (gemessen in Codezeilen) und die Diskussion (Anzahl der Beiträge) in einen Gesamtwert einfliessen zu lassen. Mir persönlich fehlt die Einschränkung auf einen Zeitraum (GitHub: Alle neuen oder alle aktiven Projekte der letzten zwei Jahre beispielsweise). Die für mich interessanten Sprachen finden sich auf folgenden Plätzen:&lt;br /&gt;
3   PHP&lt;br /&gt;
4   Python&lt;br /&gt;
5   Ruby&lt;br /&gt;
11  Perl&lt;br /&gt;
13  R&lt;br /&gt;
&lt;br /&gt;
Die Berechnung des Tiobe Index ist ein wenig undurchsichtiger, dafür erscheint er aber auch jeden Monat. &lt;img src=&quot;https://www.deimeke.net/dirk/blog/plugins/serendipity_event_emoticate/img/emoticons/smile.png&quot; alt=&quot;:-)&quot; class=&quot;emoticon&quot; /&gt; Die Macher sprechen von einem Popularitätsindex. Die Rangliste wird auf Basis der Ergebnisse in den Suchmaschinen Google, Bing, Yahoo!, Wikipedia, Amazon, YouTube und Baidu ausgerechnet und soll die Anzahl der erfahrenen Ingenieure, Kurse und Drittanbieter berücksichtigen. Wenn man vor der Wahl einer neuen Programmiersprache steht, kann man sich anschauen, was momentan der Trend ist.&lt;br /&gt;
6	Python&lt;br /&gt;
8	PHP&lt;br /&gt;
12	Perl&lt;br /&gt;
13	R&lt;br /&gt;
16	Ruby&lt;br /&gt;
&lt;br /&gt;
Der letzte im Bunde PYPLI nutzt einzig Google Trends und berücksichtigt nur die Suchen nach Tutorials der Programmiersprachen.&lt;br /&gt;
2   PHP&lt;br /&gt;
3   Python&lt;br /&gt;
10  R&lt;br /&gt;
12  Ruby&lt;br /&gt;
15  Perl&lt;br /&gt;
&lt;br /&gt;
Interessant ist, dass die Ergebnisse zwar die gleichen Sprachen enthalten, aber in deutlich unterschiedlichen Reihenfolgen.&lt;br /&gt;
&lt;br /&gt;
RedMonk spiegelt die aktive Entwicklung von Open-Source-Projekten wieder, Tiobe zeigt das, was momentan im Markt aktuell ist und PYPLI was gerade gelernt wird. Spannend.&lt;br /&gt;
&lt;br /&gt;
Auch spannend ist, es, sich die Anzahl der registrierten Projekte auf &lt;a href=&quot;https://www.openhub.net/&quot;&gt;Ohloh&lt;/a&gt; anzeigen und &lt;a href=&quot;https://www.openhub.net/languages/compare&quot;&gt;nach Sprache auswerten&lt;/a&gt; zu lassen.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt; &lt;a href=&quot;https://www.openhub.net/languages/compare?commit=Update&amp;l0=python&amp;l1=perl&amp;l2=php&amp;l3=r&amp;l4=ruby&amp;l6=-1&amp;measure=commits&amp;percent=true&quot;&gt;Monthly Commits&lt;/a&gt; &lt;/li&gt;
&lt;li&gt; &lt;a href=&quot;https://www.openhub.net/languages/compare?commit=Update&amp;l0=python&amp;l1=perl&amp;l2=php&amp;l3=r&amp;l4=ruby&amp;l6=-1&amp;measure=contributors&amp;percent=true&quot;&gt;Monthly Contributors&lt;/a&gt; &lt;/li&gt;
&lt;li&gt; &lt;a href=&quot;https://www.openhub.net/languages/compare?commit=Update&amp;l0=python&amp;l1=perl&amp;l2=php&amp;l3=r&amp;l4=ruby&amp;l6=-1&amp;measure=loc_changed&amp;percent=true&quot;&gt;Monthly Lines of Code changed&lt;/a&gt; &lt;/li&gt;
&lt;li&gt; &lt;a href=&quot;https://www.openhub.net/languages/compare?commit=Update&amp;l0=python&amp;l1=perl&amp;l2=php&amp;l3=r&amp;l4=ruby&amp;l6=-1&amp;measure=projects&amp;percent=true&quot;&gt;Monthly Projects&lt;/a&gt; &lt;/li&gt;
&lt;/ul&gt;&lt;img src=&quot;https://ssl-vg03.met.vgwort.de/na/574d7ce16b824e2082cb549d1e5861bf&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;&gt; 
    </content:encoded>

    <pubDate>Mon, 06 Jul 2015 05:10:00 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3584-guid.html</guid>
    <category>computer</category>

</item>
<item>
    <title>Globales gitignore ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3560-Globales-gitignore-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3560-Globales-gitignore-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3560</wfw:comment>

    <slash:comments>12</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3560</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Wenn man Dateien aus der Versionskontrolle mit &lt;a href=&quot;http://git-scm.com/&quot;&gt;git&lt;/a&gt; ausschliessen möchte, kann man im Repository eine Datei &lt;a href=&quot;http://git-scm.com/docs/gitignore&quot;&gt;&lt;code&gt;.gitignore&lt;/code&gt;&lt;/a&gt; anlegen. Das ist sinnvoll, wenn es Dateien gibt, die in nur einem Repository ausgeschlossen werden sollen.&lt;br /&gt;
&lt;br /&gt;
Anders ist es, wenn man Backupdateien des Editors ausschliessen möchte. Da in der Regel mehrere Menschen an einem Projekt arbeiten und vielleicht sogar jeder einen anderen Editor benutzt, ist es sinnvoller, dass jeder die Dateien ausschliesst, die seinem Editor entsprechen.&lt;br /&gt;
&lt;br /&gt;
Dazu kann mit dem folgenden Kommando die globale Variable &lt;code&gt;core.excludesfile&lt;/code&gt; gesetzt werden, die einen Dateinamen beinhaltet, in der die globalen Ausschlusskriterien zu finden sind.&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;git config&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--global&lt;/span&gt; core.excludesfile ~&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;.gitignore_global&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Bei mir enthält sie derzeit nur:&lt;br /&gt;
&lt;code&gt;*~&lt;/code&gt;&lt;br /&gt;
Das sind die Backupdateien von &lt;a href=&quot;http://www.vim.org/&quot;&gt;vim&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Mon, 18 May 2015 05:33:00 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3560-guid.html</guid>
    <category>computer</category>
<category>git</category>
<category>osbn</category>
<category>plattformübergreifend</category>

</item>
<item>
    <title>Performanceuntersuchungen ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3547-Performanceuntersuchungen-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3547-Performanceuntersuchungen-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3547</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3547</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Aus aktuellem Anlass muss ich noch einmal auf &lt;a href=&quot;http://www.deimeke.net/dirk/blog/index.php?/archives/2058-Bandbreite-vs.-Latenz-....html&quot;&gt;Bandbreite und Latenz&lt;/a&gt; herumreiten und vielleicht noch hinzufügen, dass auch die Anzahl der Anfragen durchaus eine Rolle bei Performance-Betrachtungen spielt.&lt;br /&gt;
&lt;br /&gt;
Wir hatten hier auf einem System massive Performance-Probleme und ich habe relativ schnell herausgefunden, dass ein bestimmter User und von diesem ein bestimmter Prozess für einen grossen Teil der Festplattenlast verantwortlich ist.&lt;br /&gt;
&lt;br /&gt;
Der Applikationsbetreuer war der Meinung, dass das nicht sein könne, da der Teil der Applikation kaum bzw. nur sehr wenig schreibt. Das stimmt, er hat wirklich nicht viel geschrieben, aber dafür wenige Bytes und diese sehr häufig. Das hat die IO-Queue gefüllt und weitere Zugriffe blockiert.&lt;br /&gt;
&lt;br /&gt;
Einige Zeit später hat der Betreuer einfach mal den Prozess beendet und siehe da, die Performance der übrigen Komponenten war sehr hoch.&lt;br /&gt;
&lt;br /&gt;
Lehre, die man daraus ziehen sollte: Glaubt keinem Applikationsbetreuer!&lt;br /&gt;
&lt;br /&gt;
Nein, im Ernst: Es ist wichtig, dass man genau weiss, was eine Applikation tut und noch wichtiger ist es, Performance nicht alleine am Durchsatz fest zu machen. Latenz und Anzahl der Requests spielen ebenfalls eine Rolle. 
    </content:encoded>

    <pubDate>Thu, 23 Apr 2015 05:41:00 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3547-guid.html</guid>
    <category>computer</category>
<category>sysadmin</category>

</item>
<item>
    <title>Cloudprovider ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3542-Cloudprovider-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3542-Cloudprovider-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3542</wfw:comment>

    <slash:comments>22</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3542</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Nach meinen wirklich sehr guten &lt;a href=&quot;http://www.deimeke.net/dirk/blog/index.php?/archives/3536-DigitalOcean-....html&quot;&gt;Erfahrungen mit DigitalOcean&lt;/a&gt;, interessiert mich, welche bezahlbaren Cloudprovider Ihr kennt und womit Ihr Erfahrung habt. Mich interessiert vor allem IaaS (Infrastructure as a service).&lt;br /&gt;
&lt;br /&gt;
Für die einzelnen Begrifflichkeiten verweise ich auf &lt;a href=&quot;http://www.deimeke.net/dirk/blog/index.php?/archives/3482-Die-Cloud-....html&quot;&gt;diesen Artikel&lt;/a&gt; hier oder den &lt;a href=&quot;http://de.wikipedia.org/wiki/Cloud_Computing&quot;&gt;Cloud-Computing-Artikel&lt;/a&gt; in der Wikipedia.&lt;br /&gt;
&lt;br /&gt;
&amp;bull; &lt;a href=&quot;https://aws.amazon.com/de/ec2/&quot;&gt;Amazon EC2&lt;/a&gt;&lt;br /&gt;
&amp;bull; &lt;a href=&quot;https://www.digitalocean.com/&quot;&gt;DigitalOcean&lt;/a&gt;&lt;br /&gt;
&amp;bull; &lt;a href=&quot;https://cloud.google.com/compute/&quot;&gt;Google Compute&lt;/a&gt;&lt;br /&gt;
&amp;bull; &lt;a href=&quot;https://www.df.eu/de/cloud-hosting/cloud-server/&quot;&gt;JiffyBox&lt;/a&gt; (in Deutschland)&lt;br /&gt;
&amp;bull; &lt;a href=&quot;https://www.linode.com/&quot;&gt;Linode&lt;/a&gt;&lt;br /&gt;
&amp;bull; &lt;a href=&quot;https://azure.microsoft.com/&quot;&gt;Microsoft Azure&lt;/a&gt;&lt;br /&gt;
&amp;bull; &lt;a href=&quot;https://www.rackspace.com/de/&quot;&gt;Rackspace&lt;/a&gt;&lt;br /&gt;
&amp;bull; &lt;a href=&quot;https://www.teutostack.de/&quot;&gt;teutoStack&lt;/a&gt; (in Deutschland)&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 21 Apr 2015 05:26:00 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3542-guid.html</guid>
    <category>computer</category>

</item>
<item>
    <title>Tiny Tiny RSS update daemon und systemd ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3530-Tiny-Tiny-RSS-update-daemon-und-systemd-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3530-Tiny-Tiny-RSS-update-daemon-und-systemd-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3530</wfw:comment>

    <slash:comments>10</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3530</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Um den &lt;a href=&quot;https://tt-rss.org/redmine/projects/tt-rss/wiki/UpdatingFeeds&quot;&gt;update daemon von Tiny Tiny RSS&lt;/a&gt; unter &lt;a href=&quot;http://freedesktop.org/wiki/Software/systemd&quot;&gt;systemd&lt;/a&gt; (&lt;a href=&quot;https://www.centos.org/&quot;&gt;CentOS&lt;/a&gt; 7) auch bei einem Serverneustart direkt verfügbar zu haben, habe ich das unten stehende Unitfile geschrieben, vielleicht hilft es auch Euch.&lt;br /&gt;
&lt;br /&gt;
Man kann von systemd halten, was man möchte, ich finde es aber deutlich eleganter als &lt;a href=&quot;http://de.wikipedia.org/wiki/System_V&quot;&gt;System V&lt;/a&gt; Initskripte.&lt;br /&gt;
&lt;br /&gt;
&lt;code&gt;[Unit]&lt;br /&gt;
Description=Tiny Tiny RSS update daemon&lt;br /&gt;
After=network.target mariadb.service&lt;br /&gt;
Requires=mariadb.service&lt;br /&gt;
&lt;br /&gt;
[Service]&lt;br /&gt;
User=apache&lt;br /&gt;
Group=apache&lt;br /&gt;
WorkingDirectory=/â var/â www/â html/â ttr&lt;br /&gt;
Type=simple&lt;br /&gt;
StandardOutput=null&lt;br /&gt;
StandardError=syslog&lt;br /&gt;
ExecStart=/â usr/â bin/â php ./â update_daemon2.php&lt;br /&gt;
PrivateTmp=true&lt;br /&gt;
InaccessibleDirectories=/â home /â root /â boot /â opt /â mnt /â media&lt;br /&gt;
ReadOnlyDirectories=/â etc /â usr&lt;br /&gt;
&lt;br /&gt;
[Install]&lt;br /&gt;
WantedBy=multi-â user.target&lt;/code&gt;&lt;br /&gt;
&lt;br /&gt;
Einfach nach &lt;code&gt;/lib/systemd/system/ttrss-update.service&lt;/code&gt; kopieren und mittels &lt;code&gt;systemctl daemon-reload&lt;/code&gt; einlesen (den Befehl muss man auch ausführen, wenn man das Skript manuell ändert).&lt;br /&gt;
&lt;br /&gt;
Testen mit&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;systemctl start ttrss-update&lt;br /&gt;systemctl status ttrss-update&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
und, wenn alles erfolgreich war mit dem folgenden Befehl aktivieren:&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;systemctl &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;enable&lt;/span&gt; ttrss-update&lt;/div&gt; 
    </content:encoded>

    <pubDate>Thu, 09 Apr 2015 05:10:00 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3530-guid.html</guid>
    <category>computer</category>
<category>osbn</category>
<category>systemd</category>
<category>tinytinyrss</category>

</item>
<item>
    <title>Git swapped beim Packen ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3526-Git-swapped-beim-Packen-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3526-Git-swapped-beim-Packen-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3526</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3526</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Von Zeit zu Zeit lohnt es sich &lt;a href=&quot;http://git-scm.com/&quot;&gt;Git&lt;/a&gt;-Repositories &lt;a href=&quot;http://www.deimeke.net/dirk/blog/index.php?/archives/3266-Git-Repositories-packen-....html&quot;&gt;neu zu packen&lt;/a&gt; oder den Müll weg zu bringen (mittels &quot;garbage collection, der Befehl ist &lt;code&gt;git gc&lt;/code&gt;).&lt;br /&gt;
&lt;br /&gt;
Auch beim Auschecken oder Klonen von grossen Repositories packt Git neu.&lt;br /&gt;
&lt;br /&gt;
Da ich mit den Standard-Einstellungen regelmässig ware Swap-Orgien erlebt habe, lohnt es sich, die Ressourcen für Git zu begrenzen.&lt;br /&gt;
&lt;br /&gt;
In der Standard-Einstellung benutzt Git pro Core und &lt;a href=&quot;http://de.wikipedia.org/wiki/Hyper-Threading&quot;&gt;Hyper-Threading&lt;/a&gt; je einen Thread. Da Hyperthreading keinen &quot;echten Prozessor&quot; zur Basis hat, steht aufgrund vieler &lt;a href=&quot;http://de.wikipedia.org/wiki/Kontextwechsel&quot;&gt;Kontextwechsel&lt;/a&gt; das System nahezu still. Ein System mit zwei Kernen und Hyperthreading wird von Git mit vier Threads konfiguriert und jedem Thread steht im Standard der komplette Arbeitsspeicher zur Verfügung.&lt;br /&gt;
&lt;br /&gt;
Das ist ein bisschen viel. Und die folgenden Konfigurationsoptionen begrenzen das ein wenig.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;git config&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--global&lt;/span&gt; pack.threads &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;git config&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--global&lt;/span&gt; pack.windowMemory &lt;span style=&quot;color: #000000;&quot;&gt;1073741824&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;git config&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--global&lt;/span&gt; pack.depth &lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;git config&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;--global&lt;/span&gt; pack.window &lt;span style=&quot;color: #000000;&quot;&gt;250&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Die genaue Beschreibung der einzelnen Optionen lassen sich auf der &lt;a href=&quot;http://git-scm.com/docs/git-config&quot;&gt;git-config-Manpage&lt;/a&gt; nachlesen.&lt;br /&gt;
&lt;br /&gt;
Das Repack-Skript auf der oben verlinkten Webseite hat sich damit natürlich auch verändert.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;case&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;uname&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;Linux&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; renice &lt;span style=&quot;color: #660033;&quot;&gt;-n&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;19&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-p&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$$&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; ionice &lt;span style=&quot;color: #660033;&quot;&gt;-c&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;2&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-n&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;7&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-p&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$$&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #ff0000;&quot;&gt;&amp;quot;SunOS&amp;quot;&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; renice &lt;span style=&quot;color: #660033;&quot;&gt;-n&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;19&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-p&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;$$&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;;;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;esac&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #007800;&quot;&gt;start_directory&lt;/span&gt;=&lt;span style=&quot;color: #007800;&quot;&gt;$PWD&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;find&lt;/span&gt; &lt;span style=&quot;color: #800000;&quot;&gt;${start_directory}&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-name&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;.git&#039;&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-type&lt;/span&gt; d&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;du&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-hs&lt;/span&gt; &lt;span style=&quot;color: #800000;&quot;&gt;${i}&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;..&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;cd&lt;/span&gt; &lt;span style=&quot;color: #800000;&quot;&gt;${i}&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;..&lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;git gc&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;git repack&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-a&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-d&lt;/span&gt; &lt;br /&gt;&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;du&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-hs&lt;/span&gt; &lt;span style=&quot;color: #800000;&quot;&gt;${i}&lt;/span&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;..&lt;br /&gt;&amp;#160; &amp;#160; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Dieses Skript ist Teil meines &lt;a href=&quot;https://github.com/ddeimeke/littlehelpers&quot;&gt;littlehelpers-Repositories auf GitHub&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Wed, 01 Apr 2015 05:56:00 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3526-guid.html</guid>
    <category>computer</category>
<category>git</category>
<category>osbn</category>

</item>
<item>
    <title>Feedly Theme für Tiny Tiny RSS ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3480-Feedly-Theme-fuer-Tiny-Tiny-RSS-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3480-Feedly-Theme-fuer-Tiny-Tiny-RSS-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3480</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3480</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Einer der grössten Kritikpunkte an &lt;a href=&quot;http://tt-rss.org/&quot;&gt;Tiny Tiny RSS&lt;/a&gt; - neben der Tatsache, dass der Hauptentwickler ein Arctrl-wctrl-ww sozial schwierig ist - ist das Aussehen.&lt;br /&gt;
&lt;br /&gt;
Christian Grube hat mich bei Google+ schon vor Monaten auf dieses wirklich hervorragende Theme für Tiny Tiny RSS hingewiesen, ich kann es nur empfehlen:&lt;br /&gt;
&lt;br /&gt;
Das &lt;a href=&quot;https://github.com/levito/tt-rss-feedly-theme&quot;&gt;Feedly-Theme für Tiny Tiny RSS&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
&lt;a class=&quot;serendipity_image_link&quot;  href=&#039;http://tt-rss.org/forum/viewtopic.php?p=14477#p14477&#039;&gt;&lt;!-- s9ymdb:6588 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;1280&quot; height=&quot;800&quot;  src=&quot;https://www.deimeke.net/dirk/blog/uploads/feedly-traditional.png&quot;  alt=&quot;&quot;&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;
Der Screenshot ist aus &lt;a href=&quot;http://tt-rss.org/forum/viewtopic.php?f=22&amp;t=2065&amp;start=45&quot;&gt;diesem Forenthread&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Thu, 26 Mar 2015 05:10:00 +0100</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3480-guid.html</guid>
    <category>computer</category>
<category>osbn</category>
<category>tinytinyrss</category>

</item>
<item>
    <title>Benchmarking ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3481-Benchmarking-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3481-Benchmarking-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3481</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3481</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Man kann viel über Tools lernen, wenn man nachvollziehbare Messungen macht.&lt;br /&gt;
&lt;br /&gt;
Für mich hat sich als sinnvoll erwiesen, fünf Mal zu messen. Die beste und die schlechteste Messung wird gelöscht (&quot;Ausreisser&quot;) und aus den verbleibenden drei Messungen nehme ich den Mittelwert.&lt;br /&gt;
&lt;br /&gt;
Die Messungen für den Artikel &lt;a href=&quot;https://www.deimeke.net/dirk/blog/index.php?/archives/3477-dd-vs.-fallocate-vs.-truncate-....html&quot;&gt;dd vs. fallocate vs. truncate ...&lt;/a&gt; habe ich mit diesem Skript gemacht:&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#!/bin/bash&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;set&lt;/span&gt; &lt;span style=&quot;color: #660033;&quot;&gt;-o&lt;/span&gt; errexit&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# echo &#039;sync ; time (dd if=/dev/zero of=10gig.dd count=20971520 ; sync)&#039;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# echo &#039;sync ; time (dd if=/dev/zero of=10gig.dd bs=1024 count=10485760 ; sync)&#039;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# echo &#039;sync ; time (dd if=/dev/zero of=10gig.dd bs=10240 count=1048576 ; sync)&#039;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# echo &#039;sync ; time (dd if=/dev/zero of=10gig.dd bs=20480 count=524288 ; sync)&#039;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;# echo &#039;sync ; time (fallocate -l 10G 10gig.fallocate ; sync)&#039;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;echo&lt;/span&gt; &lt;span style=&quot;color: #ff0000;&quot;&gt;&#039;sync ; time (truncate -s 10G 10gig.truncate ; sync)&#039;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;for&lt;/span&gt; i &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt; $&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;seq&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;1&lt;/span&gt; &lt;span style=&quot;color: #000000;&quot;&gt;5&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;do&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sync&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;truncate &lt;span style=&quot;color: #660033;&quot;&gt;-s&lt;/span&gt; 10G 10gig.truncate ; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sync&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&amp;#160; &amp;#160; &amp;#160; &amp;#160; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;rm&lt;/span&gt; 10gig.truncate&lt;br /&gt;&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;done&lt;/span&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Dabei habe ich das Kommando eingesetzt, was ich gerade getestet habe.&lt;br /&gt;
&lt;br /&gt;
Interessant ist, wie sich die Blocksizes bei dd auf die wirkliche Schreibperformance auswirken ... nämlich minimal. Hier kommen nur die mittleren der fünf Werte, die komplette Liste der Messwerte lässt sich &lt;a href=&quot;https://gist.github.com/ddeimeke/adeff369a534e92f1ac6&quot;&gt;hier&lt;/a&gt; sehen.&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;bash geshi&quot; style=&quot;text-align: left&quot;&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sync&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;dd&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;if&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;zero &lt;span style=&quot;color: #007800;&quot;&gt;of&lt;/span&gt;=10gig.dd &lt;span style=&quot;color: #007800;&quot;&gt;count&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;20971520&lt;/span&gt; ; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sync&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;20971520&lt;/span&gt;+&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; records &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;20971520&lt;/span&gt;+&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; records out&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;10737418240&lt;/span&gt; bytes &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;11&lt;/span&gt; GB&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; copied, &lt;span style=&quot;color: #000000;&quot;&gt;36.6231&lt;/span&gt; s, &lt;span style=&quot;color: #000000;&quot;&gt;293&lt;/span&gt; MB&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;s&lt;br /&gt;&lt;br /&gt;real &amp;#160; &amp;#160;2m2.442s&lt;br /&gt;user &amp;#160; &amp;#160;0m2.772s&lt;br /&gt;sys &amp;#160; &amp;#160; 0m33.771s&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#####&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sync&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;dd&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;if&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;zero &lt;span style=&quot;color: #007800;&quot;&gt;of&lt;/span&gt;=10gig.dd &lt;span style=&quot;color: #007800;&quot;&gt;bs&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;1024&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;count&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;10485760&lt;/span&gt; ; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sync&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;10485760&lt;/span&gt;+&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; records &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;10485760&lt;/span&gt;+&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; records out&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;10737418240&lt;/span&gt; bytes &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;11&lt;/span&gt; GB&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; copied, &lt;span style=&quot;color: #000000;&quot;&gt;20.5773&lt;/span&gt; s, &lt;span style=&quot;color: #000000;&quot;&gt;522&lt;/span&gt; MB&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;s&lt;br /&gt;&lt;br /&gt;real &amp;#160; &amp;#160;1m55.923s&lt;br /&gt;user &amp;#160; &amp;#160;0m0.974s&lt;br /&gt;sys &amp;#160; &amp;#160; 0m19.529s&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#####&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sync&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;dd&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;if&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;zero &lt;span style=&quot;color: #007800;&quot;&gt;of&lt;/span&gt;=10gig.dd &lt;span style=&quot;color: #007800;&quot;&gt;bs&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;10240&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;count&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;1048576&lt;/span&gt; ; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sync&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1048576&lt;/span&gt;+&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; records &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;1048576&lt;/span&gt;+&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; records out&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;10737418240&lt;/span&gt; bytes &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;11&lt;/span&gt; GB&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; copied, &lt;span style=&quot;color: #000000;&quot;&gt;7.79126&lt;/span&gt; s, &lt;span style=&quot;color: #000000;&quot;&gt;1.4&lt;/span&gt; GB&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;s&lt;br /&gt;&lt;br /&gt;real &amp;#160; &amp;#160;1m53.523s&lt;br /&gt;user &amp;#160; &amp;#160;0m0.123s&lt;br /&gt;sys &amp;#160; &amp;#160; 0m7.667s&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #666666; font-style: italic;&quot;&gt;#####&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sync&lt;/span&gt; ; &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;time&lt;/span&gt; &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;dd&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;if&lt;/span&gt;=&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;dev&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;zero &lt;span style=&quot;color: #007800;&quot;&gt;of&lt;/span&gt;=10gig.dd &lt;span style=&quot;color: #007800;&quot;&gt;bs&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;20480&lt;/span&gt; &lt;span style=&quot;color: #007800;&quot;&gt;count&lt;/span&gt;=&lt;span style=&quot;color: #000000;&quot;&gt;524288&lt;/span&gt; ; &lt;span style=&quot;color: #c20cb9; font-weight: bold;&quot;&gt;sync&lt;/span&gt;&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;524288&lt;/span&gt;+&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; records &lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;in&lt;/span&gt;&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;524288&lt;/span&gt;+&lt;span style=&quot;color: #000000;&quot;&gt;0&lt;/span&gt; records out&lt;br /&gt;&lt;span style=&quot;color: #000000;&quot;&gt;10737418240&lt;/span&gt; bytes &lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#40;&lt;/span&gt;&lt;span style=&quot;color: #000000;&quot;&gt;11&lt;/span&gt; GB&lt;span style=&quot;color: #7a0874; font-weight: bold;&quot;&gt;&amp;#41;&lt;/span&gt; copied, &lt;span style=&quot;color: #000000;&quot;&gt;6.87154&lt;/span&gt; s, &lt;span style=&quot;color: #000000;&quot;&gt;1.6&lt;/span&gt; GB&lt;span style=&quot;color: #000000; font-weight: bold;&quot;&gt;/&lt;/span&gt;s&lt;br /&gt;&lt;br /&gt;real &amp;#160; &amp;#160;2m8.122s&lt;br /&gt;user &amp;#160; &amp;#160;0m0.068s&lt;br /&gt;sys &amp;#160; &amp;#160; 0m6.808s&lt;/div&gt;&lt;img src=&quot;https://ssl-vg03.met.vgwort.de/na/6e4c7aee35f84dccbfd42552b23c627d&quot; width=&quot;1&quot; height=&quot;1&quot; alt=&quot;&quot;&gt; 
    </content:encoded>

    <pubDate>Mon, 19 Jan 2015 05:49:00 +0100</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3481-guid.html</guid>
    <category>computer</category>
<category>linux</category>
<category>osbn</category>

</item>
<item>
    <title>Die Cloud ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3482-Die-Cloud-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3482-Die-Cloud-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3482</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3482</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Hier ist endlich einmal eine gelungene Übersichtsgrafik, was mit den ganzen Abkürzungen im Cloud-Umfeld &quot;eigentlich&quot; gemeint ist. Die Bausteine bedingen einander.&lt;br /&gt;
&lt;br /&gt;
&lt;a href=&quot;https://de.wikipedia.org/wiki/Software_as_a_Service&quot;&gt;Software as a Service&lt;/a&gt; (SaaS) setzt auf &lt;a href=&quot;https://de.wikipedia.org/wiki/Platform_as_a_Service&quot;&gt;Platform as a Service&lt;/a&gt; (PaaS) auf, die als Basis &lt;a href=&quot;https://de.wikipedia.org/wiki/Everything_as_a_Service#Infrastructure_as_a_Service_.28IaaS.29&quot;&gt;Infrastructure as a Service&lt;/a&gt; (IaaS) hat bis schliesslich die Hardware als Fundament erreicht ist. &lt;br /&gt;
(Die verlinkten Wikipedia-Artikel sind auch lesenswert).&lt;br /&gt;
&lt;br /&gt;
&lt;div class=&quot;serendipity_imageComment_center&quot; style=&quot;width: 465px&quot;&gt;&lt;div class=&quot;serendipity_imageComment_img&quot;&gt;&lt;a class=&quot;serendipity_image_link&quot;  href=&#039;http://blog.inovex.de/post/103804921077/cloud-computing-the-name-of-the-game&#039;&gt;&lt;!-- s9ymdb:6583 --&gt;&lt;img class=&quot;serendipity_image_center&quot; width=&quot;465&quot; height=&quot;750&quot;  src=&quot;https://www.deimeke.net/dirk/blog/uploads/tumblr_inline_nfr76zWlSR1rk22e6.jpg&quot;  alt=&quot;&quot;&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class=&quot;serendipity_imageComment_txt&quot;&gt;Nils Magnus/inovex GmbH&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;
&lt;br /&gt;
Die Grafik ist dem lesenswerten Artikel &lt;a href=&quot;http://blog.inovex.de/post/103804921077/cloud-computing-the-name-of-the-game&quot;&gt;Cloud Computing - The Name of the Game&lt;/a&gt; entnommen und die Veröffentlichung erfolgt mit freundlicher Genehmigung von Nils Magnus und Marius Moise (beide inovex GmbH). Vielen Dank! 
    </content:encoded>

    <pubDate>Wed, 14 Jan 2015 05:33:00 +0100</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3482-guid.html</guid>
    <category>computer</category>
<category>osbn</category>

</item>
<item>
    <title>PHP Fortgeschrittene ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3462-PHP-Fortgeschrittene-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3462-PHP-Fortgeschrittene-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3462</wfw:comment>

    <slash:comments>14</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3462</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    &lt;!-- s9ymdb:6582 --&gt;&lt;img class=&quot;serendipity_image_left&quot; width=&quot;110&quot; height=&quot;58&quot;  src=&quot;https://www.deimeke.net/dirk/blog/uploads/php-logo.serendipityThumb.png&quot;  alt=&quot;&quot;&gt; In der letzten Woche durfte ich die Schulung &lt;a href=&quot;http://www.linuxhotel.de/kurs/php-fortgeschrittene/&quot;&gt;PHP Fortgeschrittene&lt;/a&gt; im &lt;a href=&quot;http://www.linuxhotel.de/&quot;&gt;Linuxhotel&lt;/a&gt; besuchen. Gehalten wurde die Schulung von &lt;a href=&quot;http://www.infodrom.north.de/~joey/&quot;&gt;Martin &quot;Joey&quot; Schulze&lt;/a&gt;.&lt;br /&gt;
&lt;br /&gt;
Das war mein vierter Aufenthalt im Linuxhotel, aber das erste Mal, dass ich dort eine Schulung besucht habe. Und, ich muss sagen, dass die Schulung grossartig war. Danke Joey! (Lasst Euch von seiner Webseite nicht blenden, er hat wirklich etwas drauf).&lt;br /&gt;
&lt;br /&gt;
Erschreckenderweise - als alter Perl-Liebhaber - muss ich gestehen, dass ich auch von den Möglichkeiten von PHP sehr angetan bin. Da kann man mit relativ wenig Aufwand sehr gute objektorientierte Programme schreiben.&lt;br /&gt;
&lt;br /&gt;
Ich habe viel gelernt!&lt;br /&gt;
&lt;br /&gt;
BTW: PHP muss ich lernen, weil ich in der Firma ein in objektorientiertem PHP geschriebenes System übernehme und erweitern soll. Meine Einarbeitung in PHP - also das Basiswissen - habe ich mir mit &lt;a href=&quot;https://www.galileo-press.de/einstieg-in-php-56-und-mysql-56_3709/&quot; title=&quot;Einstieg in PHP 5.5 und MySQL 5.6&quot;&gt;diesem Buch&lt;/a&gt; angeeignet.&lt;br /&gt;
&lt;br /&gt;
Vielleicht ergibt sich darüber auch die Möglichkeit, &lt;a href=&quot;http://www.s9y.org/&quot;&gt;&quot;die beste Blogsoftware der Welt&quot;&lt;/a&gt; in der Programmierung zu unterstützen.&lt;br /&gt;
&lt;br /&gt;
Der Aufenthalt im Linuxhotel war nett und ich habe es sehr genossen, abends meine Eltern besuchen zu können, so häufig kommt das ja leider nicht mehr vor. 
    </content:encoded>

    <pubDate>Wed, 03 Dec 2014 06:16:00 +0100</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3462-guid.html</guid>
    <category>computer</category>

</item>
<item>
    <title>Bloonix wird Open-Source-Software ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3450-Bloonix-wird-Open-Source-Software-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3450-Bloonix-wird-Open-Source-Software-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3450</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3450</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Der Monitoring-Dienst &lt;a href=&quot;https://www.bloonix.de/&quot;&gt;Bloonix&lt;/a&gt; von Jonny Schulz &lt;a href=&quot;https://www.bloonix.de/blog/kostenfreies-monitoring-mit-bloonix-119/&quot;&gt;wird Open-Source-Software&lt;/a&gt;. Über den Dienst habe ich &lt;a href=&quot;http://www.deimeke.net/dirk/blog/index.php?/archives/3394-Bloonix-....html&quot;&gt;hier im Blog&lt;/a&gt; schon einmal berichtet.&lt;br /&gt;
&lt;br /&gt;
Ich freue mich sehr darüber, da ich das für eine ausgereifte Lösung halte, die von Jonny mit viel Liebe gepflegt wird. Ausserdem ist es an der Zeit, dass es eine weitere Alternative zu den derzeitigen Platzhirschen gibt.&lt;br /&gt;
&lt;br /&gt;
Well done!&lt;br /&gt;
&lt;br /&gt;
In dem Zusammenhang: Mein privater Server wird von Bloonix überwacht. 
    </content:encoded>

    <pubDate>Mon, 13 Oct 2014 08:19:29 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3450-guid.html</guid>
    <category>computer</category>
<category>linux</category>
<category>plattformübergreifend</category>

</item>
<item>
    <title>Schöne Schriften ...</title>
    <link>https://www.deimeke.net/dirk/blog/index.php?/archives/3416-Schoene-Schriften-....html</link>
            <category>computer</category>
    
    <comments>https://www.deimeke.net/dirk/blog/index.php?/archives/3416-Schoene-Schriften-....html#comments</comments>
    <wfw:comment>https://www.deimeke.net/dirk/blog/wfwcomment.php?cid=3416</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>https://www.deimeke.net/dirk/blog/rss.php?version=2.0&amp;type=comments&amp;cid=3416</wfw:commentRss>
    

    <author>nospam@example.com (Dirk Deimeke)</author>
    <content:encoded>
    Ein Kollege von mir hat die &quot;Source&quot;-Schriftserien von Adobe ausgegraben und mir gefallen sie so gut, dass ich meinen Desktop angepasst habe, um sie zu benutzen.&lt;br /&gt;
&lt;br /&gt;
Die drei Schriftarten, um die es geht heissen:&lt;br /&gt;
&lt;br /&gt;
&lt;ul&gt;
&lt;lI&gt; &lt;a href=&quot;http://sourceforge.net/adobe/sourcecodepro/wiki/Home/&quot;&gt;Source Code Pro&lt;/a&gt; - eine Schriftart, die sich sehr gut als Schriftart für Monospaced-Geschichten eignet, beispielsweise als Default-Schrift in Editoren oder Terminalfenstern.&lt;/li&gt;
&lt;li&gt; &lt;a href=&quot;http://sourceforge.net/adobe/sourcesans/wiki/Home/&quot;&gt;Source Sans Pro&lt;/a&gt; - ist perfekt für Menüs und Übersichten auf dem Desktop (ersetzt bei mir Deja Vu Sans). &lt;/li&gt;
&lt;li&gt; &lt;a href=&quot;http://sourceforge.net/adobe/sourceserifpro/wiki/Home/&quot;&gt;Source Serif Pro&lt;/a&gt; - passt sehr gut bei Drucksachen.&lt;/li&gt;
&lt;/ul&gt;&lt;br /&gt;
&lt;br /&gt;
Dass Adobe selber auch im Rahmen von &lt;a href=&quot;http://sourceforge.net/adobe/wiki/Home/&quot;&gt;Open@Adobe&lt;/a&gt; Teile ihrer Entwicklung als Open-Source-Software veröffentlichen war mir neu. Eine Übersicht findet sich auf der &lt;a href=&quot;http://sourceforge.net/adobe/wiki/Projects/&quot;&gt;Projekt-Seite&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Tue, 15 Jul 2014 05:16:00 +0200</pubDate>
    <guid isPermaLink="false">https://www.deimeke.net/dirk/blog/index.php?/archives/3416-guid.html</guid>
    <category>computer</category>
<category>osbn</category>

</item>

</channel>
</rss>
