<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>noqqe.de &#187; PlanetenBlogger</title>
	<atom:link href="http://noqqe.de/archives/category/planetenblogger/feed" rel="self" type="application/rss+xml" />
	<link>http://noqqe.de</link>
	<description>Ich wollte nur [...] und dann ist das Universum explodiert.</description>
	<lastBuildDate>Sun, 22 Jan 2012 13:09:07 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.5</generator>
		<item>
		<title>Arduino &#124; Ich bau mir einen Synthesizer</title>
		<link>http://noqqe.de/archives/1833</link>
		<comments>http://noqqe.de/archives/1833#comments</comments>
		<pubDate>Wed, 21 Dec 2011 15:30:58 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[Arduino]]></category>
		<category><![CDATA[auduino]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[kabel]]></category>
		<category><![CDATA[lfo]]></category>
		<category><![CDATA[löten]]></category>
		<category><![CDATA[low frequenzy synthesizer]]></category>
		<category><![CDATA[soldering]]></category>
		<category><![CDATA[synthesizer]]></category>
		<category><![CDATA[synthi]]></category>
		<category><![CDATA[verkabeln]]></category>
		<category><![CDATA[wiring]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1833</guid>
		<description><![CDATA[Vor ca. 2 Wochen habe ich auf der Suppe vom K4CG ein Video über einen auf Arduino basierten Synthesizer. Die &#8220;Firmware&#8221; die darauf läuft nennt sich &#8220;Auduino&#8221;. Auf deren Projektseite habe ich mich dann etwas schlau gelesen und wie auch schon bei dem Megabitmeter über tinkersoup.de meine Teile bestellt. Auf der Projektseite ist die Konstruktion [...]]]></description>
			<content:encoded><![CDATA[<p>Vor ca. 2 Wochen habe ich auf der <a href="http://k4cg.soup.io">Suppe vom K4CG</a> ein <a href="http://vimeo.com/2266458">Video</a> über einen auf Arduino basierten Synthesizer. Die &#8220;Firmware&#8221; die darauf läuft nennt sich &#8220;Auduino&#8221;.</p>
<p>Auf deren <a href="http://code.google.com/p/tinkerit/wiki/Auduino">Projektseite</a> habe ich mich dann etwas schlau gelesen und wie auch schon bei dem <a href="http://noqqe.de/archives/1751">Megabitmeter</a> über tinkersoup.de meine Teile bestellt. Auf der Projektseite ist die Konstruktion des ganzen finde ich zwar nicht sonderlich gut beschrieben, aber man kommt mit ein bisschen Googeln und Reverse Engineering schon weiter. </p>
<p>Habe dabei aber einen <a href="http://arduino.cc/en/Main/ArduinoBoardNano">Arduino Nano</a> benutzt, weil mir die Anschlüsse bzw &#8220;Architektur&#8221; besser gefällt und ich nicht erst ein Breakout Board von Seriell auf USB nachkaufen musste. Entgegen aller Erwartungen musste ich die Firmware dafür nichtmal modifizieren, da auch bei diesem Board ein ATMega328 verbaut ist.</p>
<p>Ich habe mir wegen der einfacheren Anbringung am Nano so eine Art Halterung/Breadboard mitbestellt, in dem ich die Adern mit Schrauben einfacher verbauen konnte.</p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/12/IMG_0604.jpg"><img src="http://blog.n0q.org/wp-uploads/2011/12/IMG_0604.jpg" alt="" title="Arduino Nano mit Halterung" width="500" height="375" class="aligncenter size-full wp-image-1836" /></a></p>
<p>Die Potenziometer (wieder was, das ich gelernt habe) sind in Reihe an den Ground und den 5V Pin geschlossen. Der jeweils mittlere Pin der Drehschalter kommt an die Analog Pins 0 bis 4. </p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/12/IMG_0606.jpg"><img src="http://blog.n0q.org/wp-uploads/2011/12/IMG_0606.jpg" alt="" title="IMG_0606" width="500" height="375" class="aligncenter size-full wp-image-1837" /></a></p>
<p>Danach kam der (für mich) kniffligere Teil. Der Audio Jack (bzw. Klinke Buchse) hat von Haus aus 5 Pins. Auf der Projekte Seite von Auduino nur Input und Ground. Nach bisschen schlaulesen in Wikis und Foren scheint es, als würden die verschiedenen Revisionen von Klinke andere Features mit sich bringen. für den Mini Synthesizer hätte vollkommen Klinke Mono ausgereicht. Diverse Zusatzfunktionskanäle sind da eigentlich überflüssig aber im <a href="http://www.tinkersoup.de/product_info.php?products_id=74&#038;osCsid=3c2172e4114e78d30b2788b3cd0d6077">Audio Jack bei TinkerSoup</a> integriert. </p>
<p>Nach etwas Trial and Error Verfahren den weg für Doofe gewählt. Ich hab ehrlichgesagt einfach ein altes Klinke Stecker auf Buchse Kabel aufgeschnitten und mir die Belegung auf der Steckerseite angesehen. </p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/12/IMG_0609.jpg"><img src="http://blog.n0q.org/wp-uploads/2011/12/IMG_0609.jpg" alt="" title="Klinke Stecker offen" width="500" height="324" class="aligncenter size-full wp-image-1838" /></a></p>
<p>Bei 3poligen Klinken Steckern sind die vorderen beiden Kontakte fürs Signal (Links, Rechts) und hinten für Ground. Habe dann die beiden Signaladern auf der Buchsenseite verdrillt und wie vorgesehen in den Digitalen Pin 3 geklemmt. Ground natürlich an seine Stelle. </p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/12/IMG_0611.jpg"><img src="http://blog.n0q.org/wp-uploads/2011/12/IMG_0611.jpg" alt="" title="Wired up" width="500" height="375" class="aligncenter size-full wp-image-1839" /></a></p>
<p>Im Endeffekt wars dann schon fertig. Firmware mit dem Arduino IDE auf den Chip geladen und hat auch schon funktioniert.  Aber weil ich dann ständig die Potenziometer durcheinander gebracht habe, hab ich noch eine alte Plastikbox aus dem Baumarkt meiner Wahl benutzt, die entsprechenden Löcher gebohrt dort das ganze eingebaut. </p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/12/IMG_0616.jpg"><img src="http://blog.n0q.org/wp-uploads/2011/12/IMG_0616.jpg" alt="" title="Auduino Final" width="500" height="375" class="aligncenter size-full wp-image-1840" /></a></p>
<p>Etwas smoother ;) Noch ein paar kleine Kostproben von einem wirklich unbegabten Synthesizer-Bediener. Beim hören etwas aufpassen, ab und zu ist mir da ein Ton entglitten. </p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/12/record.mp4">Auduino Sample Mp4</a><br />
<a href="http://blog.n0q.org/wp-uploads/2011/12/record16bit-22kkhz.wav">Auduino Sample WAV 16 bit 22 Kkhz</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1833/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
<enclosure url="http://blog.n0q.org/wp-uploads/2011/12/record.mp4" length="1726365" type="video/mp4" />
<enclosure url="http://blog.n0q.org/wp-uploads/2011/12/record16bit-22kkhz.wav" length="4768284" type="audio/wav" />
		</item>
		<item>
		<title>Taskwarrior &#124; The better-task-shell</title>
		<link>http://noqqe.de/archives/1810</link>
		<comments>http://noqqe.de/archives/1810#comments</comments>
		<pubDate>Sat, 22 Oct 2011 12:05:57 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[better shell]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[Task]]></category>
		<category><![CDATA[task-shell]]></category>
		<category><![CDATA[Taskwarrior]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1810</guid>
		<description><![CDATA[Eigentlich wollte ich das Projekt task-shell-ng nennen. Aber so gut ist es dann doch nicht geworden. Stattdessen hat es sich aber den Prefix better verdient ;) Als ich vor ca. einem Monat Taskwarrior für mich entdeckt habe, war eigentlich alles gut. Ich hab mich über den integrierten interactive Mode wirklich gefreut. Anfangs. Mit der Zeit [...]]]></description>
			<content:encoded><![CDATA[<p>Eigentlich wollte ich das Projekt task-shell-ng nennen. Aber so gut ist es dann doch nicht geworden. Stattdessen hat es sich aber den Prefix better verdient ;)</p>
<p>Als ich vor ca. einem Monat Taskwarrior für mich entdeckt habe, war eigentlich alles gut. Ich hab mich über den integrierten interactive Mode wirklich gefreut. Anfangs. Mit der Zeit habe ich aber festgestellt, dass mich dieses &#8220;Ding&#8221; fast in den Wahnsinn treibt. Mir persönlich fehlen einfach elementare Features wie einfaches Cursor bewegen nach vorne und zurück. Überhaupt eine History zu haben wäre schon ein enormer Vorteil.</p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/10/1733_f644.gif"><img class="aligncenter size-full wp-image-1811" title="lightspeed" src="http://blog.n0q.org/wp-uploads/2011/10/1733_f644.gif" alt="" width="500" height="204" /></a></p>
<p>Ich hab mir dann kurzer Hand selber eine Taskwarrior Shell Variante gebaut, die im großen und ganzen auf einer Bash basiert.</p>
<p><strong>Features:</strong></p>
<ul>
<li>History vorwärts und rückwärts via Pfeiltasten</li>
<li>Cursorbewegung vorwärts und rückwerts in der aktuellen Zeile</li>
<li>Alle Kommandos nativ benutzbar ( $ add pri:H pro:Living Miete zahlen )</li>
<li>ID&#8217;s direkt nutzbar ( $ 34 edit oder $ 12 pri:H )</li>
<li>separate Logging Funktion in $HOME/.better-task-shell_history</li>
<li>OS Befehle weiterhin nutzbar! ( $ vim /home/user/foobar.txt )</li>
<li>Automatische Erkennung von doppelten Aliases</li>
<li>Automatische Alias Generierung fuer os-binaries ( $ ls  = task ls  ; os-ls = /bin/ls )</li>
<li>Auto-Komplettierung aller Taskwarrior Befehle und definierte Aliase</li>
</ul>
<p><strong>Known Bugs:</strong></p>
<ul>
<li>Neu angelegt tasks  können derzeit noch nicht via ID aufgerufen werden.<br />
$ add Uberweisung einwerfen<br />
Created Task 45<br />
$ 45 pri:H<br />
bash: 45: Kommando nicht gefunden<br />
Für beim Start bestehende Einträge funktioniert dies allerdings problemlos.</li>
<li>Mode -v ist bis jetzt noch nicht benutzbar aber bereits implementiert.</li>
</ul>
<p>Das ganze gibts jetzt unter <a href="http://github.com/noqqe/better-task-shell">http://github.com/noqqe/better-task-shell</a></p>
<p><strong>Usage:</strong></p>
<p><code>git clone git@github.com:noqqe/better-task-shell.git<br />
$ cd better-task-shell<br />
$ ./better-task-shell</code></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1810/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Git and the Unix philosophy</title>
		<link>http://noqqe.de/archives/1805</link>
		<comments>http://noqqe.de/archives/1805#comments</comments>
		<pubDate>Sat, 15 Oct 2011 14:02:46 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[philosophy]]></category>
		<category><![CDATA[post]]></category>
		<category><![CDATA[unix]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1805</guid>
		<description><![CDATA[Mein Feedreader hat heute einen Post von Julius ausgespuckt, den ich so gut fand, dass ich ihn hier rezitieren möchte. Git follows Linux&#8217;s philosophy of refusing to protect you from yourself. Much like Linux, Git will sit back and watch you fuck your shit right up, and then laugh at you as you try to [...]]]></description>
			<content:encoded><![CDATA[<p>Mein Feedreader hat heute einen <a href="http://blog.plenz.com/2011-10/git-and-the-unix-philosophy.html">Post von Julius</a> ausgespuckt, den ich so gut fand, dass ich ihn hier rezitieren möchte. </p>
<p><em>Git follows Linux&#8217;s philosophy of refusing to protect you from yourself. Much like Linux, Git will sit back and watch you fuck your shit right up, and then laugh at you as you try to get your world back to a state where up is up and down is down. As far as source control goes, not a lot of people are used to this kind of free love.<br />
</em></p>
<p>Ich rezitierte also <a href="http://teddziuba.com/2010/08/too-smart-for-git.html">Julius Zitat</a>. Blogpost-Inception?</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1805/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DeadDrop &#124; Sharing mit Alice and Bob in Baiersdorf</title>
		<link>http://noqqe.de/archives/1792</link>
		<comments>http://noqqe.de/archives/1792#comments</comments>
		<pubDate>Tue, 04 Oct 2011 18:50:34 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[aram barthol]]></category>
		<category><![CDATA[baiersdorf]]></category>
		<category><![CDATA[dead]]></category>
		<category><![CDATA[DeadDrop]]></category>
		<category><![CDATA[gips]]></category>
		<category><![CDATA[mauer]]></category>
		<category><![CDATA[stick]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[usbstick]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1792</guid>
		<description><![CDATA[Als ich durch den Park in Baiersdorf lief und diese alte Mauer einer (vermutlich) verlassenen Werkstatt sah, konnte ich dann doch nicht anders. Wie es begann: Vorbereitung: Abschluss: Ende: http://www.deaddrops.com/db/?page=view&#038;id=804]]></description>
			<content:encoded><![CDATA[<p>Als ich durch den Park in Baiersdorf lief und diese alte Mauer einer (vermutlich) verlassenen Werkstatt sah, konnte ich dann doch nicht anders. </p>
<p>Wie es begann: </p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/10/500-DSC01279.jpg"><img class="aligncenter size-full wp-image-1796" title="DSC01279" src="http://blog.n0q.org/wp-uploads/2011/10/500-DSC01279.jpg" alt="" /></a></p>
<p>Vorbereitung:</p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/10/500-DSC01278.jpg"><img class="aligncenter size-full wp-image-1799" title="500-DSC01278" src="http://blog.n0q.org/wp-uploads/2011/10/500-DSC01278.jpg" alt="" width="500" height="375" /></a></p>
<p>Abschluss:</p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/10/500overview.jpg"><img class="aligncenter size-full wp-image-1800" title="500overview" src="http://blog.n0q.org/wp-uploads/2011/10/500overview.jpg" alt="" width="500" height="375" /></a></p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/10/501-DSC01281.jpg"><img src="http://blog.n0q.org/wp-uploads/2011/10/501-DSC01281.jpg" alt="" title="501-DSC01281" width="500" height="375" class="aligncenter size-full wp-image-1801" /></a></p>
<p>Ende: </p>
<p><a href=" http://www.deaddrops.com/db/?page=view&#038;id=804">http://www.deaddrops.com/db/?page=view&#038;id=804</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1792/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Flattr &#124; Man kann seine Meinung auch mal ändern.</title>
		<link>http://noqqe.de/archives/1774</link>
		<comments>http://noqqe.de/archives/1774#comments</comments>
		<pubDate>Sat, 01 Oct 2011 11:12:03 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[cats]]></category>
		<category><![CDATA[CCC]]></category>
		<category><![CDATA[chaos computer club]]></category>
		<category><![CDATA[deutsch]]></category>
		<category><![CDATA[donate]]></category>
		<category><![CDATA[donation]]></category>
		<category><![CDATA[Flattr]]></category>
		<category><![CDATA[german]]></category>
		<category><![CDATA[kultur]]></category>
		<category><![CDATA[kulturwertmark]]></category>
		<category><![CDATA[micro]]></category>
		<category><![CDATA[micropayment]]></category>
		<category><![CDATA[payment]]></category>
		<category><![CDATA[spenden]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1774</guid>
		<description><![CDATA[Als dieses Micro-Payment System Flattr vor mehr als einem Jahr raus kam habe ich hier im Blog über Sinn und Unsinn des Dienstes sinniert. Ich konnte mich damals nicht wirklich entscheiden, ob mir das System gefällt oder nicht. In der Tat ist es eigentlich eher so, dass mir das Projekt Kulturwertmark vom CCC viel eher [...]]]></description>
			<content:encoded><![CDATA[<p>Als dieses Micro-Payment System <a href="http://flattr.com">Flattr</a> vor mehr als einem Jahr raus kam habe ich <a href="http://noqqe.de/archives/1024">hier im Blog über Sinn und Unsinn des Dienstes sinniert</a>. Ich konnte mich damals nicht wirklich entscheiden, ob mir das System gefällt oder nicht. In der Tat ist es eigentlich eher so, dass mir das <a href="http://www.ccc.de/de/updates/2011/kulturwertmark">Projekt Kulturwertmark vom CCC</a> viel eher zusagt. </p>
<p><center><a href="http://blog.n0q.org/wp-uploads/2011/10/1265654972.jpg"><img src="http://blog.n0q.org/wp-uploads/2011/10/1265654972.jpg" alt="" title="1265654972" width="480" height="630" class="aligncenter size-full wp-image-1775" /></a></center></p>
<p>Im Moment ist es abe so, dass es keinen anderen verbreiteten Weg gibt Content bzw. Software von Privat-Menschen zu belohnen, weil er/sie mir geholfen hat. Deshalb (und auch weil mich die Oberfläche interessiert hat) habe ich mich dort angemeldet und verteile seit 2 Monaten etwas Geld hier und da. Vorwiegend an Podcasts, Taskwarrior und Blogs von Leuten die ich kenne. Ich habe initial 8 Euro überwiesen mit denen ich jetzt erstmal 4 Monate rumflattern werde. Das das nicht die Welt ist, ist mir klar. </p>
<p>Und da ich jetzt sowieso schon einen Account dort habe, habe ich auch <a href="https://flattr.com/profile/noqqe">meinen Flattr-Button</a> im Blog (links) eingebunden. Es wird erstmal keinen individuell Button für einzelne Posts geben und es braucht sich auch niemand verpflichtet fühlen da drauf zu drücken. </p>
<p>UPDATE:<br />
Ich hab Flattr &#8220;Things&#8221; bis eben missverstanden. Bis jetzt war im Blog der Flattr Button zu meiner Person eingebunden. Scheint aber als wäre das nicht der Use-Case. Ich habe jetzt für meinen Blog selbst noch ein &#8220;Thing&#8221; eingereicht und dieses mit der richtigen URL eingebunden. Vielen dank an die beiden die bereits den Flattr Knopf gedrückt haben! Leider ist das jetzt nicht mehr sichtbar hier. </p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1774/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Taskwarrior &#124; Migration von MyTinyTodo</title>
		<link>http://noqqe.de/archives/1766</link>
		<comments>http://noqqe.de/archives/1766#comments</comments>
		<pubDate>Sun, 25 Sep 2011 11:58:52 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[mig]]></category>
		<category><![CDATA[Migration]]></category>
		<category><![CDATA[mirgration]]></category>
		<category><![CDATA[MyTinyTodo]]></category>
		<category><![CDATA[Task]]></category>
		<category><![CDATA[Taskwarrior]]></category>
		<category><![CDATA[todo]]></category>
		<category><![CDATA[todolist]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[ubucon]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1766</guid>
		<description><![CDATA[Im Programm der Ubucon habe ich einen Vortrag von Dirk über Taskwarrior gefunden. Aus Gründen hat mich das Tool interessiert. Ich habe zwar bereits eine Todo-Verwaltung (nämlich MyTinytodo) aber trotzdem. Nach zwei Tagen herumspielen und einem wirklich hervorragendem How-To hat mir Taskwarrior allerdings so gefallen, dass ich mich entschlossen habe MyTinyTodo aufzugeben und zu Taskwarrior [...]]]></description>
			<content:encoded><![CDATA[<p>Im <a href="http://ikhaya.ubuntuusers.de/2011/09/06/das-programm-der-ubucon-2011-steht/">Programm der Ubucon</a> habe ich einen <a href="http://www.ubucon.de/programm/taskwarrior">Vortrag</a> von <a href="http://www.deimeke.net/dirk/blog/">Dirk</a> über <a href="http://taskwarrior.org">Taskwarrior</a> gefunden. Aus Gründen hat mich das Tool interessiert. Ich habe zwar bereits eine Todo-Verwaltung (nämlich <a href="http://mytinytodo.net/">MyTinytodo</a>) aber trotzdem.</p>
<p><center><a href="http://blog.n0q.org/wp-uploads/2011/09/patrick.jpg"><img class="aligncenter size-full wp-image-1767" title="patrick" src="http://blog.n0q.org/wp-uploads/2011/09/patrick.jpg" alt="" width="320" height="277" /></a></center></p>
<p>Nach zwei Tagen herumspielen und einem wirklich hervorragendem <a href="http://taskwarrior.org/projects/taskwarrior/wiki/Tutorial">How-To</a> hat mir Taskwarrior allerdings so gefallen, dass ich mich entschlossen habe MyTinyTodo aufzugeben und zu Taskwarrior zu wechseln. Da ich meine TodoListe aber auch gerne als eine Art &#8220;Log&#8221; verwende musste ich die Aufgaben erst aus MyTinyTodo migrieren.</p>
<p>Realisiert habe ich das über ein kleines Bash-Script, welches die Daten aus der MyTinyTodo MySQL Datenbank ausliesst und daraus automatisch Taskwarrior Statements formuliert. Allerdings: Ich habe absichtlich nur abgeschlossene Tasks über die &#8220;LOG&#8221;-Funktion von Taskwarrior einfuegt.</p>
<p><script src="https://gist.github.com/1240498.js?file=mytinytodo2taskwarrior.bash"></script></p>
<p>Aus dem Datenbank Eintrag: </p>
<pre><code>mysql&gt; select d_completed,  mtt_lists.name as liste, title from mtt_todolist, mtt_lists where mtt_lists.id = mtt_todolist.list_id order by d_completed desc limit 1;
+-------------+-------+--------------+
| d_completed | liste | title        |
+-------------+-------+--------------+
|  1307714692 | Home  | Miete zahlen |
+-------------+-------+--------------+
1 row in set (0.00 sec)</code></pre>
<p>formuliert das Skript beispielsweise folgendes Kommando für Taskwarrior:</p>
<p><code>task log due:20110610 pro:IMPORT-Home Miete zahlen</code></p>
<p>Das passiert eben für jede Eintrag in der Todo-Datenbank, damit ich dort nachschlagen kann wann was passiert ist. </p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1766/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>DeadDrop &#124; Erlangen &#8211; Schwabachanlage</title>
		<link>http://noqqe.de/archives/1759</link>
		<comments>http://noqqe.de/archives/1759#comments</comments>
		<pubDate>Wed, 21 Sep 2011 19:16:31 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[anonym]]></category>
		<category><![CDATA[DeadDrop]]></category>
		<category><![CDATA[DeadDrop Erlangen]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[passanten]]></category>
		<category><![CDATA[skurril]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[usb]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1759</guid>
		<description><![CDATA[Ich war dann schliesslich doch noch bei einem funktionierenden DeadDrop in Erlangen. Dem in der Schwabachanlage. Quasi also mein erster &#8220;Check-In&#8221; an einem funktionierendem DeadDrop. Ich muss sagen der Inhalt war wenig bis gar nicht interessant. Allerdings muss das Bild, wie ich da mit Fahrrad, Laptop auf dem Lenker und Kabel in eine tote Mauer [...]]]></description>
			<content:encoded><![CDATA[<p>Ich war dann schliesslich doch noch bei einem funktionierenden DeadDrop in Erlangen. <a href="http://www.deaddrops.com/db/?page=view&#038;id=682">Dem in der Schwabachanlage</a>. Quasi also mein erster &#8220;Check-In&#8221; an einem funktionierendem DeadDrop. </p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/09/IMG_0566.jpg"><img src="http://blog.n0q.org/wp-uploads/2011/09/IMG_0566.jpg" alt="" title="IMG_0566" width="500" height="375" class="aligncenter size-full wp-image-1761" /></a></p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/09/IMG_05651.jpg"><img src="http://blog.n0q.org/wp-uploads/2011/09/IMG_05651.jpg" alt="" title="IMG_0565" width="500" height="375" class="aligncenter size-full wp-image-1762" /></a></p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/09/IMG_0562.jpg"><img src="http://blog.n0q.org/wp-uploads/2011/09/IMG_0562.jpg" alt="" title="IMG_0562" width="500" height="667" class="aligncenter size-full wp-image-1763" /></a></p>
<p>Ich muss sagen der Inhalt war wenig bis gar nicht interessant. Allerdings muss das Bild, wie ich da mit Fahrrad, Laptop auf dem Lenker und Kabel in eine tote Mauer stehe ziemlich skurril ausgesehen haben. </p>
<p>&#8220;Gibts da Strom umsonst oder was ist da los?&#8221;</p>
<p>&#8220;Junger Mann, das is ja unerhört. Mit dem Laptop am Lenker Fahrrad fahren! Das ist eine Gefährdung für den Verkehr!&#8221;</p>
<p>&#8220;Ach, was wird das denn? Muss ich die Politzei verständigen?&#8221;</p>
<p>&#8230; um nur ein paar Zitate aufzuzählen. Zur Beruhigung aller: Ich bin natürlich nicht mit dem Fahrrad gefahren während ich den Laptop am Lenker hatte. Das (und den eigentlichen Grund meiner Anwesenheit) habe ich natürlich auch brav jedem erzählt der mich in den insgesamt nur 20 Minuten angesprochen hat. Insgesamt war das sogar witziger als der Deaddrop selbst. Werde das auf jedenfall wiederholen. </p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1759/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DeadDrop &#124; Erlangen Kirchplatz</title>
		<link>http://noqqe.de/archives/1747</link>
		<comments>http://noqqe.de/archives/1747#comments</comments>
		<pubDate>Thu, 25 Aug 2011 17:00:33 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Aran Barthol]]></category>
		<category><![CDATA[DeadDrop]]></category>
		<category><![CDATA[DeadDrop Erlangen]]></category>
		<category><![CDATA[Erlangen]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1747</guid>
		<description><![CDATA[Komme gerade vom ersten Versuch zurück, mich mal an einen DeadDrop zu stöpseln. Leider erfolglos, weil broken. Der genaue Link zum (kaputten) DeadDrop: http://deaddrops.com/db/?page=view&#038;id=395 Bei aller verwunderung gibt es in der Datenbank keinerlei Funktion einen Toten Toten Drop zu melden. Wie es der Zufall so will gibt es aber genau seit heute(!) einen neuen DeadDrop [...]]]></description>
			<content:encoded><![CDATA[<p>Komme gerade vom ersten Versuch zurück, mich mal an einen <a href="http://deaddrops.com">DeadDrop</a> zu stöpseln. Leider erfolglos, weil broken. Der genaue Link zum (kaputten) DeadDrop: <a href="http://deaddrops.com/db/?page=view&#038;id=395">http://deaddrops.com/db/?page=view&#038;id=395</a></p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/08/IMG_0559.jpg"><img src="http://blog.n0q.org/wp-uploads/2011/08/IMG_0559.jpg" alt="" title="DeadDrop Erlangen Kirchplatz" width="500" height="667" class="aligncenter size-full wp-image-1748" /></a></p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/08/IMG_0558.jpg"><img src="http://blog.n0q.org/wp-uploads/2011/08/IMG_0558.jpg" alt="" title="DeadDrop Erlangen Kirchplatz" width="500" height="375" class="aligncenter size-full wp-image-1749" /></a></p>
<p>Bei aller verwunderung gibt es in der Datenbank keinerlei Funktion einen Toten Toten Drop zu melden. Wie es der Zufall so will gibt es aber genau seit heute(!) einen neuen DeadDrop in Erlangen: <a href="http://deaddrops.com/db/?page=view&#038;id=682">http://deaddrops.com/db/?page=view&#038;id=682</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1747/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>PostgreSQL &#124; 1000 und 1 Query</title>
		<link>http://noqqe.de/archives/1742</link>
		<comments>http://noqqe.de/archives/1742#comments</comments>
		<pubDate>Tue, 23 Aug 2011 16:39:15 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[1000 queries]]></category>
		<category><![CDATA[1001 query]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[for]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[postgresql]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[sequel]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1742</guid>
		<description><![CDATA[Zur Zeit spiele und bastle ich nebenher mit PostgreSQL rum. Überlege ob ich mal eine alternative DB für das Zombie-Revolution-Environment an den Start bringe&#8230; Für meinen Use-Case scheint das allerdings nur begrenzt von Nutzen zu sein. Ich mache vielleicht etwas falsch, aber wenn ich 1000 Queries in MySQL kippe, dauert nur einen Bruchteil so lange [...]]]></description>
			<content:encoded><![CDATA[<p>Zur Zeit spiele und bastle ich nebenher mit PostgreSQL rum. Überlege ob ich mal eine alternative DB für das <a href="http://zombies.n0q.org">Zombie-Revolution-Environment</a> an den Start bringe&#8230;</p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/08/5384_c4d1.jpeg"><img src="http://blog.n0q.org/wp-uploads/2011/08/5384_c4d1.jpeg" alt="" title="brainwash" width="500" height="332" class="aligncenter size-full wp-image-1743" /></a></p>
<p>Für meinen Use-Case scheint das allerdings nur begrenzt von Nutzen zu sein. Ich mache vielleicht etwas falsch, aber wenn ich 1000 Queries in MySQL kippe, dauert nur einen Bruchteil so lange wie in postgreSQL. Um das zu veranschaulichen:</p>
<p><code>$ time for x in $(seq 1 1000) ; do mysql -u root -ppw -e "insert into foobar.foo values ($x, now());" ; done<br />
real    0m7.349s<br />
user    0m0.060s<br />
sys     0m0.380s</code></p>
<p><code>$ time for x in $(seq 1 1000) ; do psql --quiet -d foobar -c "insert into foobar values ($x, now());" ; done<br />
real    1m28.363s<br />
user    0m37.450s<br />
sys     0m13.020s</code></p>
<p>Kann mir jemand sagen woran das liegt? Ich kann mir nur schwer vorstellen das PostgreSQL so hinterher hinkt. </p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1742/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Abschlussprüfung &#124; Zentrales Versionskontrollsystem mit git und etckeeper</title>
		<link>http://noqqe.de/archives/1714</link>
		<comments>http://noqqe.de/archives/1714#comments</comments>
		<pubDate>Sun, 24 Jul 2011 16:56:32 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[abschluss]]></category>
		<category><![CDATA[etckeeper]]></category>
		<category><![CDATA[fachinformatiker]]></category>
		<category><![CDATA[gitolite]]></category>
		<category><![CDATA[Latex]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[Projektarbeit]]></category>
		<category><![CDATA[slidy]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1714</guid>
		<description><![CDATA[Nachdem ich letzten Donnerstag erfolgreich meine Ausbildung zum Fachinformatiker abgeschlossen habe, kann ich die dazugehörige Dokumentation / Präsentation hier veröffentlichen. Dokumentation Präsentation Zu danken habe ich dabei hauptsächlich all den wunderbaren OpenSource Tools, die mir zur Erstellung und Umsetzung gedient haben. Um einige zu nennen: LaTeX bzw. TeX-Live (Dokumentation) HTML &#38; Slidy (Präsentation) git (Projektinhalt) [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich letzten Donnerstag erfolgreich meine Ausbildung zum Fachinformatiker abgeschlossen habe, kann ich die dazugehörige Dokumentation / Präsentation hier veröffentlichen.</p>
<p><strong>Dokumentation</strong><br />
<a href="http://blog.n0q.org/wp-uploads/2011/07/documentation.pdf"><img class="aligncenter size-full wp-image-1715" title="Dokumentation" src="http://blog.n0q.org/wp-uploads/2011/07/Bildschirmfoto.png" alt="" width="191" height="280" /></a></p>
<p><strong>Präsentation</strong><br />
<a href="http://blog.n0q.org/wp-uploads/2011/07/slide.html"><img class="aligncenter size-full wp-image-1727" title="Präsentation" src="http://blog.n0q.org/wp-uploads/2011/07/Bildschirmfoto-1.png" alt="" width="428" height="157" /></a></p>
<p>Zu danken habe ich dabei hauptsächlich all den wunderbaren OpenSource Tools, die mir zur Erstellung und Umsetzung gedient haben. Um einige zu nennen:</p>
<ul>
<li><a href="http://www.latex-project.org/">LaTeX</a> bzw. <a href="http://www.tug.org/texlive/">TeX-Live</a> (Dokumentation)</li>
<li>HTML &amp; <a href="http://www.w3.org/2005/03/slideshow.html">Slidy</a> (Präsentation)</li>
<li><a href="http://git-scm.com/">git</a> (Projektinhalt)</li>
<li><a href="http://kitenet.net/~joey/code/etckeeper/">etckeeper</a> von Joey Hess (Projektinhalt)</li>
<li><a href="https://github.com/sitaramc/gitolite#start">gitolite</a> (Projektinhalt)</li>
<li>und natürlich allen Debian Developern, die die genannte Software paketiert haben :)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1714/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Beats &#124; Eine in Ruby geschriebene Drummachine</title>
		<link>http://noqqe.de/archives/1680</link>
		<comments>http://noqqe.de/archives/1680#comments</comments>
		<pubDate>Sun, 22 May 2011 18:38:54 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[beats]]></category>
		<category><![CDATA[drummachine]]></category>
		<category><![CDATA[drums]]></category>
		<category><![CDATA[random]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[sound]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1680</guid>
		<description><![CDATA[Neulich habe ich voller Begeisterung das Drummachine Projekt Beats entdeckt. Beats stellt so in etwa die Musicbox für Nerds dar. In einem Verzeichnis mit einem Set an *.wav Dateien (wohl der Standard) legt man eine Art Konfigurationsdatei, welche durch Beats interpretiert wird. In einer gewissen Syntax beschreibt man dieses Lied und dessen Abfolge. Das Traurige [...]]]></description>
			<content:encoded><![CDATA[<p>Neulich habe ich voller Begeisterung das <a href="http://beatsdrummachine.com/">Drummachine</a> Projekt <a href="https://github.com/jstrait/beats/">Beats</a> entdeckt. Beats stellt so in etwa die Musicbox für Nerds dar. In einem Verzeichnis mit einem Set an *.wav Dateien (wohl der Standard) legt man eine Art Konfigurationsdatei, welche durch Beats interpretiert wird. In einer gewissen Syntax beschreibt man dieses Lied und dessen Abfolge.</p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/05/6459_d5e4.jpeg"><img src="http://blog.n0q.org/wp-uploads/2011/05/6459_d5e4.jpeg" alt="" title="6459_d5e4" width="500" height="491" class="aligncenter size-full wp-image-1681" /></a></p>
<p>Das Traurige an der Sache ist eigentlich lediglich, dass ich mir bewusst geworden bin, wie wenig Kreativität/Können ich im musikalischen Bereich vorzuweisen habe. Teilweise sind beim Herumexperimentieren zwar Interessante Ergebnisse entstanden, aber nichts wofür ich mich nicht schämen müsste ;) </p>
<p><code>$ beats song1.txt song.wav<br />
$ open song.wav</code></p>
<p>Ich hab dann allerdings kurzer Hand begonnen, den Vorgang zu automatisieren. Erst wollte ich es outsourcen, aber dann habe ich es doch automatisiert. Da die ganze &#8220;Ich baue mir ein neues Lied&#8221;-Sache nur auf einem einzigen File beruht, dachte ich mir dass sich das mit Sicherheit auch automatisch generieren lässt. </p>
<p>Das Skript das dabei herauskam, taufte ich randombeats. Wie alles was ich in letzter Zeit tue habe ich es natürlich auf github veröffentlicht. </p>
<p><a href="https://github.com/noqqe/randombeats">https://github.com/noqqe/randombeats</a></p>
<p>Benutzung: </p>
<p>Ins jeweilige Verzeichnis mit den Roh-Daten kopieren/wechseln und Skript ausführen. </p>
<p><code>$ git clone http://github.com/noqqe/randombeats<br />
$ cp randombeats/randombeats.bash /path/to/music<br />
$ cd /path/to/music<br />
$ ./randombeats.bash > randomsong.txt<br />
$ beats randomsong.txt<br />
$ open randomsong.wav</code></p>
<p>Raus kommen allerlei sehr Interessante und manchmal auch schöne Rhythmen. Aber manchmal auch akkute Ohrenschmerzen verursachen. Ein paar davon sammle ich mittlerweile in einem separaten Branch im Git-Repo. Diesen kann ich aber nicht uploaden, weil die größe meines Github Accounts auf 300MB beschränkt ist. Aber vielleicht finde ich anderweitig Möglichkeiten die Ergebnisse zu publizieren. </p>
<p>Mittlerweile habe ich  folgenden Befehl in einer Schleife laufen. </p>
<p><code>./randombeats.bash > rnd.txt &#038;&#038; beats rnd.txt &#038;&#038; open rnd.wav </code></p>
<p>An Feedback, Kritik oder Anmerkungen zu Verbesserungen an den Eckdaten des Skripts bin ich wie immer sehr interessiert :) </p>
<p>Update: Kurze WAV-Files generiert und als Beispiel hochgeladen.</p>
<p><a href='http://blog.n0q.org/wp-uploads/2011/05/rnd.mp3'>randombeats example 1</a><br />
<a href='http://blog.n0q.org/wp-uploads/2011/05/wheep.mp3'>randombeats example 2</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1680/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
<enclosure url="http://blog.n0q.org/wp-uploads/2011/05/rnd.mp3" length="685386" type="audio/mpeg" />
<enclosure url="http://blog.n0q.org/wp-uploads/2011/05/wheep.mp3" length="1532070" type="audio/mpeg" />
		</item>
		<item>
		<title>Shell-Zauberei &#124; Pidgin Chat-Nachrichten zählen</title>
		<link>http://noqqe.de/archives/1672</link>
		<comments>http://noqqe.de/archives/1672#comments</comments>
		<pubDate>Tue, 03 May 2011 10:04:34 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Jabber]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Shell-Zauberei]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[chat]]></category>
		<category><![CDATA[ICQ]]></category>
		<category><![CDATA[libpurple]]></category>
		<category><![CDATA[messages]]></category>
		<category><![CDATA[nachrichten]]></category>
		<category><![CDATA[pidgin]]></category>
		<category><![CDATA[purble]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1672</guid>
		<description><![CDATA[Code cd $HOME/.purple/logs/icq/987654321 cat */** &#124; grep "^&#60;font" &#124; sed -e 's#.*\ &#60;b&#62;\(.*\):&#60;/b&#62;.*#\1#g' &#124; grep -v "^&#60;"&#124;sort &#124; uniq -c &#124; sort -rn Hintergrund Heute ist der 3. Mai und morgen ist meine Abschlussprüfung zum Fachinformatiker. Natürlich sollte man da andere Sachen machen, als Shell Zeilen zu schreiben, aber mein Kopf fühlt sich von den [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Code</strong><br />
<code>cd $HOME/.purple/logs/icq/987654321<br />
cat */** | grep "^&lt;font" | sed -e 's#.*\ &lt;b&gt;\(.*\):&lt;/b&gt;.*#\1#g' | grep -v "^&lt;"|sort | uniq -c | sort -rn</code></p>
<p><strong>Hintergrund</strong><br />
Heute ist der 3. Mai und morgen ist meine Abschlussprüfung zum Fachinformatiker. Natürlich sollte man da andere Sachen machen, als Shell Zeilen zu schreiben, aber mein Kopf fühlt sich von den letzten beiden Wochen, die ich während meines Lernurlaubs damit verbracht habe jegliches während meiner Ausbildung vermitteltes theoretisches Wissen in mich aufzusaugen, sowas von überfüllt an, dass ich während einer Lernpause kurz den Instant-Messenger meiner Wahl angeschmissen habe. Kurz darauf wollte ich wissen, wie viele Nachrichten ich wohl seit Neuinstallation schon erhalten und gesendet habe.</p>
<p><strong>Funktion</strong><br />
Die Zeile bewirkt im Grunde nicht anderes als alle Files auszugeben, nach Zeilen zu suchen die auf das Schema passen die dem einer &#8220;Nachricht gesendet&#8221; Zeile ähneln und sortiert, zählt und sortiert diese wieder. Vorrausgesetzt die Logfiles sind durch Pidgin im HTML Format abgespeichert. </p>
<p><em>About: &#8220;<a href="http://noqqe.de/archives/1627">Ein Byte der Shellzauberei</a>&#8221; &#8211; Kategorie: <a href="http://noqqe.de/archives/category/shell-zauberei">http://noqqe.de/archives/category/shell-zauberei</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1672/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RT &#124; RequestTracker-Stats</title>
		<link>http://noqqe.de/archives/1649</link>
		<comments>http://noqqe.de/archives/1649#comments</comments>
		<pubDate>Fri, 29 Apr 2011 09:55:33 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Addon]]></category>
		<category><![CDATA[BestPractical]]></category>
		<category><![CDATA[modul]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[requesttracker]]></category>
		<category><![CDATA[rt]]></category>
		<category><![CDATA[Statistik]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1649</guid>
		<description><![CDATA[Oft angesprochen und trotzdem bisher nicht die Zeit gefunden drüber zu bloggen: RequestTracker-Stats. Vor kurzem habe ich mir das Balkendiagramm-Shellskript statistical gebastelt. Nachdem es so gut funktionierte hatte, hatte ich mir überlegt, was ich damit jetzt anfangen könnte. Ich brauchte einen großem Umfang an Datenmengen, den ich visualisieren konnte (abgesehen von zufällig erzeugten Daten). Am [...]]]></description>
			<content:encoded><![CDATA[<p>Oft  angesprochen und trotzdem bisher nicht die Zeit gefunden drüber zu bloggen: <a href="http://github.com/noqqe/RequestTracker-Stats">RequestTracker-Stats</a>. Vor kurzem habe ich mir das <a href="http://noqqe.de/archives/1611">Balkendiagramm-Shellskript</a> <a href="http://github.com/noqqe/statistical">statistical</a> gebastelt. Nachdem es so gut funktionierte hatte, hatte ich mir überlegt, was ich damit jetzt anfangen könnte. Ich brauchte einen großem Umfang an Datenmengen, den ich visualisieren konnte (abgesehen von zufällig erzeugten Daten). Am Besten noch etwas, dass Sinn macht :) </p>
<p><center><a href="http://blog.n0q.org/wp-uploads/2011/04/3927_ede8_550.jpeg"><img src="http://blog.n0q.org/wp-uploads/2011/04/3927_ede8_550.jpeg" alt="" title="3927_ede8_550" width="500" height="416" class="aligncenter size-full wp-image-1655" /></a></center></p>
<p>At Work war &#8220;Ticket-Squashing&#8221; immer wieder ein gutes Stichwort in unserem Ticketsystem. Wir benutzen den <a href="http://bestpractical.com/rt/">RequestTracker</a> von <a href="http://bestpractical.com">BestPractical</a> und ich hatte mir überlegt ein kleines Skript zu basteln, welches die Anzahl der erledigten Tickets pro User aus der MySQL Datenbank ausliesst und dann im Key:Value Format an statistical übergibt. Das hat auch ganz gut funktioniert. </p>
<pre><code>Resolved ticket statistic for this month (April)
---------------------------------------------------
Tracy		|##################### (22)
Amelie		|##################### (22)
Kiri		|############ (13)
Tersina		|########## (11)
Birgitta	|######### (10)
Justine		|######### (10)
Frank		|######## (9)
Betteann	|####### (8)
Cyndy		|# (2)
Kaleena		|# (2)
Kiah		|# (2)
Roxy		| (1)
Estella		| (1)
Marj		| (1)</code></pre>
<p>Allerdings haben sich dann im Laufe des Tages immer mehr (ich nenne es mal statistische-) Anwendungsmöglichkeiten ergeben. Zum Beispiel die Anzahl der erstellten Tickets pro Benutzer: </p>
<pre><code>Most active creators for this month (April)
---------------------------------------------------
Christel@company.com	|############ (13)
Sydelle@company.com	|########### (12)
Birgitta@company.com	|######### (10)
Ainsley@company.com	|######## (9)
Halette@company.com	|##### (6)
Martguerita@comp	|##### (6)
Tracy@company.com	|#### (5)
care@company.com	|#### (5)
fooo@company.com	|### (4)
Christyna@company.com	|## (3)
Ethel@company.com	|## (3)
[...]</code></pre>
<p>Oder die Anzahl der Tickets pro Kategorie: </p>
<pre><code>Queues for this month (April)
---------------------------------------------------
General		|##################### (22)
Web		|##################### (22)
Management	|#################### (21)
WebContent	|################### (20)
IT-Interal	|################ (17)
Categ		|############### (16)
Access		|############### (16)
E-Mail-Service	|############## (15)
SWAN		|########### (12)
Domain-Service	|########## (11)
Junk		|########## (11)
DSL		|## (3)
Other		|# (2)
Hotspot-Service	|# (2)
Buchhaltung	| (1)</code></pre>
<p>Um nur ein paar Beispiele zu nennen. Leider waren es zu diesem Zeitpunkt noch etliche separate Skripte, was mir eigentlich nicht gefiel. Darum habe ich es in ein modular aufgebautes Statistik Umgebungstool umgewandelt. Module sind (de-)aktivierbar und lassen sich leicht in das Rahmenprogramm einfügen. Letztendlich gibt es jetzt einen ganzen Satz von Modulen der unter <a href="http://github.com/noqqe/RequestTracker-Stats">Github</a> zur Verfügung steht. </p>
<p><code>git clone git://github.com/noqqe/RequestTracker-Stats.git</code></p>
<p>Sollte außer uns noch jemand RequestTracker Stats verwenden und Interesse daran haben, ist er herzlich eingeladen die Stats Umgebung zu benutzen ggf. auch Module hinzuzufügen oder zu verbessern :) Eine (ich hoffe doch) ausreichende Anleitung zur Benutzung befindet sich im README des Github Repos. </p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1649/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Shell-Zauberei &#124; Namensliste in MySQL Datenbank einspeisen</title>
		<link>http://noqqe.de/archives/1645</link>
		<comments>http://noqqe.de/archives/1645#comments</comments>
		<pubDate>Fri, 29 Apr 2011 08:30:52 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Shell-Zauberei]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[namen]]></category>
		<category><![CDATA[namensliste]]></category>
		<category><![CDATA[requesttracker]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[txt]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1645</guid>
		<description><![CDATA[Code for x in $(mysql --batch -u root --password=passw0rd -e "USE rtdb; SELECT DISTINCT id FROM Users;" &#124; grep -v ^id); do mysql -u root --password=passw0rd -e "USE rtdb; UPDATE Users SET Name=\"$(sed -n $(($RANDOM % $(cat Names &#124; wc -l) +1 ))p Names)\" WHERE id=\"$x\" ;" ; done Hintergrund Wie auch schon beim letzten [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Code</strong><br />
<code>for x in $(mysql --batch -u root --password=passw0rd -e "USE rtdb; SELECT DISTINCT id FROM Users;" | grep -v ^id); do mysql -u root --password=passw0rd -e "USE rtdb; UPDATE Users SET Name=\"$(sed -n $(($RANDOM % $(cat Names | wc -l) +1 ))p Names)\" WHERE id=\"$x\" ;" ; done</code></p>
<p><strong>Hintergrund</strong><br />
Wie auch schon beim letzten mal dreht es sich wieder um die Anonymisierung der <a href="http://bestpractical.com/rt/">RequestTracker</a> Datenbank für die ich zur Zeit an einem <a href="http://github.com/noqqe/RequestTracker-Stats">Statistik Tool </a>arbeite. Diesmal will ich aber nicht die EmailAdressen ändern, sondern die Namen der Benutzer. Da ich diese nicht so einfach generieren lassen kann, habe ich mir aus dem Interweb eine <a href="http://www.ta7.de/txt/listen/list0013.htm">Liste mit Namen</a> besorgt und mit diesen Namen die eingetragenen überschrieben. Jetzt kann ich endlich den Post über das Statistik Tool schreiben und mit Beispielen versehen :) </p>
<p><strong>Funktion</strong><br />
Das Ganze läuft wie folgt ab: Für jede ID die ich mittels Datenbank-Verbindung in die For-Schleife einbette, setze ich einen UPDATE Befehl ab, der die Tabelle &#8220;Users&#8221; und das Feld &#8220;Name&#8221; aktualisiert. Der Aktualisierungsvorgang passiert aber generisch. Das heisst ich setze den Namen des Users auf einen zufällig ausgewählten neuen Namen aus der Datei &#8220;Names&#8221;. Das habe ich mit sed -n <NUMMER>p FILE gelöst, was sicher auch schöner geht, aber für meine Zwecke hat es ausgereicht.</p>
<p><em>About: &#8220;<a href="http://noqqe.de/archives/1627">Ein Byte der Shellzauberei</a>&#8221; &#8211; Kategorie: <a href="http://noqqe.de/archives/category/shell-zauberei">http://noqqe.de/archives/category/shell-zauberei</a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1645/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shell-Zauberei &#124; Eine Einleitung</title>
		<link>http://noqqe.de/archives/1627</link>
		<comments>http://noqqe.de/archives/1627#comments</comments>
		<pubDate>Sat, 23 Apr 2011 14:57:49 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Shell-Zauberei]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[einzeiler]]></category>
		<category><![CDATA[kategorie]]></category>
		<category><![CDATA[oneliner]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1627</guid>
		<description><![CDATA[Ich möchte mit diesem Post eine kleine Reihe von Blogposts beginnen. Diese Eintragsreihe möchte ich in unbestimmter Länge und Frequenz in meinen Blog etablieren. Der Gedanke zu dieser Aktion, die ich &#8220;Ein Byte der Shell-Zauberei&#8221; nennen werde, geistert mir schon seit ca. zwei Monaten im Kopf herum. Mein Job als Administrator von Debian/Linux Systemen verlangt [...]]]></description>
			<content:encoded><![CDATA[<p>Ich möchte mit diesem Post eine kleine Reihe von Blogposts beginnen. Diese Eintragsreihe möchte ich in unbestimmter Länge und Frequenz in meinen Blog etablieren. Der Gedanke zu dieser Aktion, die ich &#8220;Ein Byte der Shell-Zauberei&#8221; nennen werde, geistert mir schon seit ca. zwei Monaten im Kopf herum.</p>
<p>Mein Job als Administrator von Debian/Linux Systemen verlangt von mir oftmals Automatisierung und Shell-Scripting in mal größerem und auch kleinerem Umfang. Oft lassen sich derartige Aufgaben sehr leicht in einem Einzeiler/Oneliner auf dem Terminal lösen. Ich mag es, wenn Lösungen schnell und einfach durchzuführen sind, besonders mit <a href="http://de.wikipedia.org/wiki/Bourne-again_shell">Bash</a>. Der Anspruch dieser Aufgaben variiert genauso wie deren Umfang. Die &#8220;Zauberei&#8221; im Titel der Aktion darf also wahlweise auch etwas ironisch verstanden werden.</p>
<p>Als mir die Idee kam, dachte ich mir ehrlich gesagt, dass ich für eine solche Reihe wahrscheinlich nicht genügend Kanonenfutter hätte. Sprich, genügend einzeilige Bash Zauberei, die ich im Kontext dieser Reihe posten könnte. Ich beschloss den Gedanken noch nicht sofort zu verwerfen und stattdessen ein paar dieser Einzeiler zu speichern und zu sehen wie viele es werden.</p>
<p>In den letzten Zwei Monaten waren das jetzt ca. 12 Stück die ich als &#8220;Blogwürdig&#8221; empfand. Ich denke, das reicht mir für die Kategorie. </p>
<p><strong>Aufbau</strong></p>
<p>Die Posts werden immer gleich aussehen und folgende Punkte enthalten:</p>
<ul>
</p>
<li>Code</li>
<li>Hintergrund</li>
<li>Funktion</li>
<li>About &#8220;Shell-Zauberei&#8221;</li>
</ul>
<p><strong>Informationen</strong></p>
<p>Kategorie URL: <a href="http://noqqe.de/archives/category/shell-zauberei">http://noqqe.de/archives/category/shell-zauberei</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1627/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>statistical &#124; It&#8217;s about internal functions.</title>
		<link>http://noqqe.de/archives/1611</link>
		<comments>http://noqqe.de/archives/1611#comments</comments>
		<pubDate>Sat, 16 Apr 2011 14:48:23 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[balken]]></category>
		<category><![CDATA[balkendiagramm]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[statistic]]></category>
		<category><![CDATA[statistical]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1611</guid>
		<description><![CDATA[Als ich statistical auf GitHub hochgepushed habe, fing ich an mir Gedanken über die Leistungsfähigkeit des Scripts zu machen. Ich meine es verhielt sich in Anbetracht der Daten (in meinen Augen) wunderbar. Die Key Länge wird bis zu 4 Tab-Längen mit skaliert, genauso wie die Values, in Form der Bars. Aber wie verhält sich es [...]]]></description>
			<content:encoded><![CDATA[<p>Als ich <a href="http://github.com/noqqe/statistical">statistical</a> auf GitHub hochgepushed habe, fing ich an mir Gedanken über die Leistungsfähigkeit des Scripts zu machen. Ich meine es verhielt sich in Anbetracht der Daten (in meinen Augen) wunderbar. Die Key Länge wird bis zu 4 Tab-Längen mit skaliert, genauso wie die Values, in Form der Bars. Aber wie verhält sich es mit größeren Datenmengen?</p>
<p><center><a href="http://blog.n0q.org/wp-uploads/2011/04/3913_12dd_450.jpeg"><img class="aligncenter size-full wp-image-1612" title="ORLY?" src="http://blog.n0q.org/wp-uploads/2011/04/3913_12dd_450.jpeg" alt="" width="450" height="366" /></a></center></p>
<p>Diesbezüglich wollte ich eine kleine For-Schleife benutzen um mehrere zufällige Werte zu generieren und in statistical  zu pipen.</p>
<p><code>time for x in $(seq 1 6000); do echo "$x:$RANDOM" ; done | statistical &gt; /dev/null</code></p>
<p><script src="https://gist.github.com/921795.js?file=gistfile1.sh"></script> Das Ergebnis war mit 6000 Datensätzen und guten 7 Minuten relativ ernüchternd. Vor kurzem hat mich dann auch noch <a href="http://uninformativ.de">Vain</a> via GitHub auf die Geschwindigkeit von statistical hingewiesen. In <a href="https://github.com/vain/statistical">seinem Fork</a>, hat er alle extern spawnenden Befehle gegen Bash interne Funktionen ausgetauscht. Siehe da:  </p>
<p><code> real    0m7.788s<br />
user    0m7.610s<br />
sys     0m0.250s</code></p>
<p> Wahnsinn oder? Durch den Austausch von awk und grep durch interne Bash Funktionen wird das ganze ernsthaft 23x mal schneller. Vielen Dank an Vain an dieser Stelle!</p>
<p><script src="https://gist.github.com/923159.js?file=gistfile1.diff"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1611/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>statistical &#124; Statistiken visualisieren im Terminal</title>
		<link>http://noqqe.de/archives/1603</link>
		<comments>http://noqqe.de/archives/1603#comments</comments>
		<pubDate>Thu, 14 Apr 2011 16:55:10 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Spam]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[alice]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bob]]></category>
		<category><![CDATA[konsole]]></category>
		<category><![CDATA[linus]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[Statistik]]></category>
		<category><![CDATA[Statistiken]]></category>
		<category><![CDATA[terminal]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1603</guid>
		<description><![CDATA[Mir erschien es einen kurzen Moment lang für sinnvoll ein kleines Shell Tool zu haben, welches mir aus einer Liste von Key:Value Paaren eine Balkenstatistik baut und visualisiert. Wie in etwa $ statistical john:12 alice:5 linus:7 bob:1. Mir gefiel die Idee einfach alles mögliche in meinem Terminal ansehen zu können. Relativ schnell stieß ich aber [...]]]></description>
			<content:encoded><![CDATA[<p>Mir erschien es einen kurzen Moment lang für sinnvoll ein kleines Shell Tool zu haben, welches mir aus einer Liste von Key:Value Paaren eine Balkenstatistik baut und visualisiert. Wie in etwa <strong>$ statistical john:12 alice:5 linus:7 bob:1</strong>. Mir gefiel die Idee einfach alles mögliche in meinem Terminal ansehen zu können.</p>
<p><center><a href="http://blog.n0q.org/wp-uploads/2011/04/1923_a9bc.jpeg"><img class="aligncenter size-full wp-image-1604" title="Muppets" src="http://blog.n0q.org/wp-uploads/2011/04/1923_a9bc.jpeg" alt="" width="438" height="350" /></a></center></p>
<p>Relativ schnell stieß ich aber an eine Grenze. Diese hieß &#8220;Windowsize&#8221;. Ich konnte nicht ohne bedenken eine Schleife die die Value Werte zählt bauen, die dementsprechend viele Zeichen anhängt. Denn bei Zahlen &gt;10000 wird das ziemlich unlesbar :)</p>
<pre><code> while [ $COUNTER -lt $VALUE ]; do
        ((COUNTER++))
        echo -n "$OUTPUTCHAR"
        if [ $COUNTER -ge $VALUE ]; then
            echo
        fi
    done</code></pre>
<p>Ich brauchte ein Schema, welches alle Werte einließt und eine skalierbare Basis für alle Werte schafft. Ich entschied mich für eine simple Lösung.</p>
<pre><code>while [ ${FACTORCOUNT} -lt $(( ${#MAXVALUE} - 2 )) ]; do
FACTOR="${FACTOR}0"
    ((FACTORCOUNT++))
done
</code></pre>
<p>Letztenendes kam dann folgendes Verhalten bei meinem Key:Value Statistik Script raus. Ich mags.</p>
<pre><code># Beispiel
$ statistical john:433 alice:49 linus:12 bob:231
john    |###########################################
alice   |####
linus   |#
bob     |#######################</code></pre>
<p>Damit lassen sich sogar teilweise sinnvolle Sachen produzieren. Zum Beispiel die Anzahl der Commits innerhalb eines Git-Repositories. Ich habe hier als Beispiel mal <a href="http://github.com/revans/bash-it">bash-it</a> aufgeführt:</p>
<pre><code>for a in $(git shortlog -sn --all | cut -f2 | cut -f1 -d' '); do echo -n "$a:" ; git log $LOGOPTS --all --numstat --format="%n" --author=$a | cut -f3 | sort -iu | wc -l; done  | statistical
Mark          |##################
Robert        |#########################################################################
Florian       |##############
Jesus         |######
John          |##############
Rich          |########
Piotr         |###
Travis        |####
Fedyashev     |##
zerobearing2  |####
Andy          |###
Daniel        |####
Jeff          |##
Karl          |##
Robert        |#########################################################################
Sirupsen      |##
</code></pre>
<p>Sollte jemand Interesse daran hegen, das Skript auch mal auszuprobieren es befindet sich wie immer auf Github: <a href="http://github.com/noqqe/statistical">http://github.com/noqqe/statistical</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1603/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Persönlicher Eindruck &#124; Chemnitzer Linux Tage 2011</title>
		<link>http://noqqe.de/archives/1538</link>
		<comments>http://noqqe.de/archives/1538#comments</comments>
		<pubDate>Mon, 21 Mar 2011 16:07:05 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Jabber]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[xubuntu]]></category>
		<category><![CDATA[clt]]></category>
		<category><![CDATA[CLT2011]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[Erfahrung]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[Linux Tage]]></category>
		<category><![CDATA[Linux Tage Chemnitz]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[opensuse]]></category>
		<category><![CDATA[TeX]]></category>
		<category><![CDATA[tor]]></category>
		<category><![CDATA[ZSH]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1538</guid>
		<description><![CDATA[Nachdem mich die Vorträge letztes Jahr so beeindruckt haben, hab ich mich auch dieses Jahr wieder entschieden die Linux Tage in Chemnitz zu besuchen. Durch einen Ausfall im Debian Team, hatte mir mein Kollege angeboten anstelle des ausgefallenen Mitglieds bei Debian mitzufahren. Was sich im Endeffekt als sehr nice herausstellte. &#160; Freitag Freitag war relativ [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem mich die Vorträge letztes Jahr so beeindruckt haben, hab ich mich auch dieses Jahr wieder entschieden die Linux Tage in Chemnitz zu besuchen. Durch einen Ausfall im Debian Team, hatte mir mein Kollege angeboten anstelle des ausgefallenen Mitglieds bei Debian mitzufahren. Was sich im Endeffekt als sehr nice herausstellte.</p>
<p><center><a href="http://blog.n0q.org/wp-uploads/2011/03/logo.png"><img class="aligncenter size-full wp-image-1540" title="Chemnitzer Linux Tage 2011" src="http://blog.n0q.org/wp-uploads/2011/03/logo.png" alt="" width="250" height="89" align="middle" /></a></center></p>
<p><center><a href="http://blog.n0q.org/wp-uploads/2011/03/IMG_0519.jpg"><img class="aligncenter size-medium wp-image-1547" title="CLT2011 Eingang" src="http://blog.n0q.org/wp-uploads/2011/03/IMG_0519-300x225.jpg" alt="" width="300" height="225" /></a></center></p>
<p>&nbsp;</p>
<p><strong>Freitag</strong></p>
<p>Freitag war relativ entspannt. Ankunft und Aufbau des Debian Standes, mexikanisches Essen und danach Treffen mit <a href="http://zeroathome.de/">Ben</a> und Bier auf der Opening Party in der Mensa. Die Turnmatten in der Turnhalle waren auch kuschlig :)</p>
<p><center><a href="http://blog.n0q.org/wp-uploads/2011/03/IMG_0514_2.jpg"><img class="aligncenter size-medium wp-image-1545" title="CLT2011 Vor Beginn" src="http://blog.n0q.org/wp-uploads/2011/03/IMG_0514_2-300x225.jpg" alt="" width="300" height="225" /></a></center></p>
<p><strong>Samstag</strong></p>
<ul>
<li>Frühstück @ Catering-Tage &#8211; Sehr leckere Sachen.</li>
<li>1. Vortrag:<a href="Storage - aber richtig: DRBD als SAN-Ersatz"> Storage &#8211; Aber richtig von Martin Gerhard Loschwitz</a>. Fand ich persönlich interessant, gerade der iSCSI-DRBD-Ansatz um FibreChannel zu ersetzen gefiel mir sehr gut.</li>
<li>2. Vortrag:<a href="http://chemnitzer.linux-tage.de/2011/vortraege/745"> Provokante Thesen zur IT-Administration von Peer Heinlein</a> Ja, Herr Heinlein. Der Autor des Buchs, welches mich durch die LPIC-1 Prüfung geführt hat sinnierte auf eher komödiantische Art über die typischen Eigenschaften der IT-Dienstleistungsbranche. Hat allerdings Spaß gemacht zuzuhören.</li>
<li>Danach Pause. Erstmal durch die Stände gestöbert, die mittlerweile so gut wie vollzählig anwesend waren. Währenddessen ausgeknobelt, ob der nächste Vortrag Icinga oder Configs mit Git verwalten wird.</li>
<li>3. Vortrag: <a href="http://chemnitzer.linux-tage.de/2011/vortraege/782">Konfigurationsdateien mit Git verwalten von Julius Plenz.</a> Mit bash-it benutze ich ja bereits eine Lösung die für mich zur Verwaltung Teile meines /home gut funktioniert. Aber es schadet ja nie, sich andere Taktiken anzusehen und daraus zu lernen. Genau das habe ich auch erreicht. Julius hatte ein sinnvolles zwei Branches Modell, mit denen er lokale und globale Änderungen seiner Konfigurationsdateien verwaltet. Disziplin und etwas Aufwand sind dafür allerdings nötig. (<a href="http://chemnitzer.linux-tage.de/2011/vortraege/folien/782-config-management.pdf">http://chemnitzer.linux-tage.de/2011/vortraege/folien/782-config-management.pdf</a>)</li>
<li>Hungerbedingt verpasste ich den Vortrag über <em>von C.  Klostermann über </em><a href="http://chemnitzer.linux-tage.de/2011/vortraege/626">Professionelle IT Dokumentation &#8211; Anforderungen aus rechtlicher Sicht</a> Mittagsbuffet schaffte aber Abhilfe.</li>
<li>4. Vortrag: Von H. Uhlig <a href="http://chemnitzer.linux-tage.de/2011/vortraege/736">Dem Hack keine Chance: LAMP sicher betreiben</a>: erwieß sich grade als Administrator von Shared Hosting Systemen als hilfreich und informativ.</li>
<li>5. Vortrag: A. Scherbaum: <a href="http://chemnitzer.linux-tage.de/2011/vortraege/635">Datenbanken von MySQL zu PostgreSQL portieren</a>: Hierzu muss ich sagen, dass ich mir den Ansatz etwas Administrativer vorgestellt habe. Die Feinheiten der Möglichkeiten fernab vom SQL Standart von MySQL und PostgreSQL wurden aber schön ausgeführt und beschrieben. Persönlich aber muss ich gestehen, nicht sagen zu können ob PostgreSQL (abgesehen von dieser Oracle Sache) besser ist als MySQL. Es scheint eben anders zu sein.</li>
<li>6. Vortrag: P. Heinlein: <a href="http://chemnitzer.linux-tage.de/2011/vortraege/742">SPF, DKIM und Greylisting &#8211; Was bringen Absender-Authentifizierung und der neue Spam-Schutz? </a>: Nochmal Herr Heinlein, diesmal über SPF und DKIM als Spam-Schutz sinnierend. Aufklärend auf jedenfall, da ich die beiden Funktionen garnicht kannte und gegen Ende noch 2-12 Worte über Greylisting. Alles in Allem Runde Sache</li>
<li>7. Vortrag: T. Winde<em>: </em><a href="http://chemnitzer.linux-tage.de/2011/vortraege/750">Mit dem Midnight Commander Freiheit leben</a>: Hauptsächlich hat mich Jan&#8217;s Vorliebe für MC in diesen Vortrag getrieben. Es war schön zu sehen, nicht nur Vorträgen von Business-Guys auf den Linux Tagen zu sehen. Ein fast schon &#8220;goldiger&#8221; Vortrag eines älteren Taxi-Unternehmers, der mir trotz geringem Lernerfolg irgendwie gefiel.</li>
<li>Social Event: Wunderbares Buffet mit reichlich zu trinken und zu Essen. Hat im Endeffekt genau dem gedient, für was es gut war. Bier, Essen &amp; Social&#8217;n.</li>
</ul>
<p>&nbsp;</p>
<p><center><a href="http://blog.n0q.org/wp-uploads/2011/03/IMG_0515.jpg"><img class="aligncenter size-medium wp-image-1546" title="CLT2011" src="http://blog.n0q.org/wp-uploads/2011/03/IMG_0515-225x300.jpg" alt="" width="225" height="300" /></a></center></p>
<p><strong>Sonntag</strong></p>
<ul>
<li>8. Vortrag: Sonntag begann nach einer  weiteren Turnhallen-Nacht mit einem Vortrag <em>von S. Kemter: </em><a href="http://chemnitzer.linux-tage.de/2011/vortraege/690">Höher, Schneller, Weiter &#8211; openSUSE 11.4 </a>: Der auch als <a href="http://karl-tux-stadt.de/ktuxs/">Buergermeister von Karl-Tux-Stadt.de</a> bekannte Redner, gab sich größte Mühe im Einsteigerforum das neue openSUSE, sowie die LTS, stable und unstable Linien vorzustellen.</li>
<li>9. Vortrag: <em>Von Andreas Tille</em> <a href="http://chemnitzer.linux-tage.de/2011/vortraege/636">Ein Jahr OpenStreetMap</a>: Im Einsteigerforum ging es dann für mich auch gleich weiter mit einem (für mich komplett unbekannten) Thema. OpenStreetMap und seine Anwendung. Andreas, der selbst erst ca. 1 Jahr mit OpenStreetMap arbeitet, klärte die Zuhörer über all das auf, was er gerne von Anfang an über das Projekt gewusst hätte. War sehr schön gemacht und hat mir super gefallen. Dem ansonsten überfüllten Raum scheinbar auch.</li>
<li>10. Vortrag<em>: H. Voß </em><a href="http://chemnitzer.linux-tage.de/2011/vortraege/720"><em> </em>Erstellung großer und größter Dokumente mit dem Satzsystem TeX</a>: Ich muss sagen das meine Definition von &#8220;große Dokumente&#8221; ca. 1000 Seiten vor dem begonnen hatte die der Redner als große Dokumente definierte. Wenn so ein LaTeX Dokument mal länger läuft, als ein Kaffee hält, ist es eben viel :)</li>
<li>Mittags ließ ich mich dann von Julius (vom Git-Vortrag) nochmal einen Schritt in Zsh einführen, da sich am Social-Event rausgestellt hat, das er der Autor von <a href="https://www.opensourcepress.de/index.php?26&amp;backPID=178&amp;tt_products=198">Zsh beim OpenPress Verlag</a> ist. Gab ehrlichgesagt vieles, bei dem ich nicht schlecht geschaut hab. &#8230; Wenn ich noch Zeit fände mir das alles einzuprägen&#8230; :)</li>
<li>11. Vortrag:<em> J. Kubieziel: </em><a href="http://chemnitzer.linux-tage.de/2011/vortraege/796">Tor Bridges &#8212; Eine Brücke für freie Information</a>: Danach ließ ich mich dann über die Risiken und Nebenwirkungen von Tor-Bridges aufklären. War sehr aufschlussreich. Langfristiges Interesse == unvermeidbar ;)</li>
<li>Stand abbauen &#8211; Ab nach Hause ;)</li>
</ul>
<p>Im großen und ganzen war es wirklich sehr schön und interessant, viele Leute und Projekte näher kennenzulernen. Die Zahl der Projekte die mich interessieren ist wiedermal gewachsen, die Zahl für die ich die Energie/Zeit habe mich auseinanderzusetzen bleibt aber leider wie immer gleich.</p>
<p>Und gerade als ich mich daran gewöhnt habe, dass am Rednerpult intelligente Leute stehen die Ahnung haben von dem was Sie tun, muss ich wieder in die Schule. Bäm Montag.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1538/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ZRE &#124; Live Game Mitschnitt via jQuery und PHP</title>
		<link>http://noqqe.de/archives/1520</link>
		<comments>http://noqqe.de/archives/1520#comments</comments>
		<pubDate>Mon, 14 Mar 2011 19:37:05 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Output]]></category>
		<category><![CDATA[zombie]]></category>
		<category><![CDATA[zombies]]></category>
		<category><![CDATA[zre]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1520</guid>
		<description><![CDATA[Eine der Aufgaben, von denen ich wirklich wenig bis keine Ahnung habe, war die Umsetzung der Live Gamebox für ZRE. Die Anforderung hat mich ehrlich gesagt mal in die Nähe des Web2.0 Wahns getrieben, von dem ich mich sonst fernzuhalten versuche. Zumindest von Entwicklerseiten her. ZRE als Daemon (ja, der Teil kommt auch noch) hat [...]]]></description>
			<content:encoded><![CDATA[<p>Eine der Aufgaben, von denen ich wirklich wenig bis keine Ahnung habe, war die Umsetzung der Live Gamebox für ZRE. Die Anforderung hat mich ehrlich gesagt mal in die Nähe des Web2.0 Wahns getrieben, von dem ich mich sonst fernzuhalten versuche. Zumindest von Entwicklerseiten her.</p>
<p><center><a href="http://blog.n0q.org/wp-uploads/2011/03/4625_7f89_390.jpeg"><img class="aligncenter size-full wp-image-1524" title="4625_7f89_390" src="http://blog.n0q.org/wp-uploads/2011/03/4625_7f89_390.jpeg" alt="" width="390" height="323" /></a></center></p>
<p>ZRE als Daemon (ja, der Teil kommt auch noch) hat die Eigenschaft im zufällig wiederkehrendem Rhythmus Output in ein Textfile zu produzieren. Dieses Textfile (game.txt) hat einen Platz im DocumentRoot des Webauftritts zombies.n0q.org (Ist das eigentilch das erste Mal, dass ich die URL erwähne? Ich glaube ja.). Diese möchte ich parsen und über asynchrone Aktualisierung in den Browser des Heimanwenders bringen.</p>
<p>Zuerst musste ich also den PHP Parser Teil schreiben, der mir die letzten 20 Zeilen, oder falls weniger eben diese aus meiner game.txt ausließt.</p>
<pre><code>$input = file($zreoutput);
$resultArray = "";
$index = 20;
if (count($input) &lt; 20)
{
   $index = count($input);
}
for($i=count($input)-$index; $i
{
   $resultArray .= $input[$i]."&lt;br/&gt;";
}
return $resultArray;</code></pre>
<p>Als nächstes war es dann noch nötig diesen zurecht gebogenen Output dann noch selbst aktualisierend in meine Index Datei zu portieren. Dazu ist dann eine JavaScript nötig um die Funktion zu definieren.</p>
<pre><code>setInterval(
    function() {
      $('#gamebox').load('../statics/gamequery.php');
      }, 2000
);</code></pre>
<p>Jetzt mussten sowohl jQuery als auch das JavaScript Snippet in die Index Datei eingebunden werden. Über Kritik und Anregung freue ich mich natürlich wie immer.</p>
<pre><code>&lt;!-- game informations --&gt;
&lt;script src="js/jquery-min.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;script src="js/gamebox.js" type="text/javascript"&gt;&lt;/script&gt;
&lt;!-- game results --&gt;
&lt;div id="gamebox"&gt;&lt;/div&gt;
</code></pre>
<p>An der Stelle hatte ich gleich mal tatkräftige Hilfe eines Arbeitskollegen ;) Danke an dieser Stelle.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1520/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>ZRE &#124; Zombie Revolution Environment. Im Web!</title>
		<link>http://noqqe.de/archives/1500</link>
		<comments>http://noqqe.de/archives/1500#comments</comments>
		<pubDate>Sun, 06 Mar 2011 14:06:38 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[brains]]></category>
		<category><![CDATA[brainzz]]></category>
		<category><![CDATA[commandline]]></category>
		<category><![CDATA[emulator]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[JOY Dortmund]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[revolution]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[Statistik]]></category>
		<category><![CDATA[zombie]]></category>
		<category><![CDATA[zombies]]></category>
		<category><![CDATA[zre]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1500</guid>
		<description><![CDATA[Demnächst könnte es unter Umständen zu einer Vielzahl von Posts kommen, die sich um das damals erwähnte Zombie Revolution Environment drehen. Um jetzt nicht unnötig weit auszuholen versuche ich es mal so kurz wie mögilch zu beschreiben. Vor ca. 2 Wochen bekamen wir @ School einen Flyer für den JOY-Dortmund Wettbewerb für Informatik Projekte von [...]]]></description>
			<content:encoded><![CDATA[<p>Demnächst könnte es unter Umständen zu einer Vielzahl von Posts kommen, die sich um das <a href="http://noqqe.de/archives/1314">damals erwähnte</a> <a href="https://github.com/noqqe/zombie-revolution-environment">Zombie Revolution Environment</a> drehen. Um jetzt nicht unnötig weit auszuholen versuche ich es mal so kurz wie mögilch zu beschreiben.</p>
<p>Vor ca. 2 Wochen bekamen wir @ School einen Flyer für den <a href="http://www.joy-dortmund.de/de/home/">JOY-Dortmund Wettbewerb</a> für Informatik Projekte von IT Auszubildenden. Was unter anderem zu dem hier erwähnten Projekt führte. <a href="http://savier.n0q.org/">Holger</a> und ich kamen auf die Idee im Grunde ZRE für das Web umzusetzen. Aber nicht nur um die Welt auf unterhaltende Art und Weise anzeigen zu lassen, sondern viel mehr eine Analyse des Spielverlaufs mit Hilfe von Statistiken zu erstellen.</p>
<p><a href="http://blog.n0q.org/wp-uploads/2011/03/2251_16ea_4801.png"><img class="aligncenter size-full wp-image-1509" title="2251_16ea_480" src="http://blog.n0q.org/wp-uploads/2011/03/2251_16ea_4801.png" alt="" width="464" height="205" /></a></p>
<p>Da das &#8220;Spiel&#8221; ausschließlich aus zufällig generierten Umständen besteht, wäre die Auswertung der Entwicklungen der simulierten Welt evtl. interessant. Grade wenn man so auf Statistiken steht. :/</p>
<h2>Anforderungen</h2>
<ul>
<li>ZRE (in Bash geschrieben) als lauffähigen Daemon umsetzen der Output an eine Stelle generiert. (Bash &#8211; Shell)</li>
<li>Eine geeignete Website erstellen bzw. designen (HTML, CSS, PHP)</li>
<li>Eine Schnittstelle die die generierten &#8220;Welten&#8221; im Web anzeigt. Am besten als selbst aktualisierende live Anwendung. (JavaScript, AJAX)</li>
<li>Ein SQL-Modul für ZRE entwickeln, welches statistische Werte an eine Datenbank übermittelt. (MySQL)</li>
<li>PHP-Funktionen definieren, die Ergebnisse aus Datenbank abholen. (PHP)</li>
<li>Statistiken visualisieren (R statistical Programming Language)</li>
</ul>
<p>Im wesentlichen sieht die Aufgabenteilung vor, das sich Holger um Website, Design und PHP kümmert und ich mich um die Bash-Module, ZRE an sich, SQL Datenbank und statistische Auswertung bemühe. Selbstverständlich würden wir auch jegliche andere Hilfe oder freiwillige Mitarbeiter dafür begrüßen, falls Interesse besteht. Das wir an dem Wettbewerb teilnehmen wird zusehens unwahrscheinlicher, da das Projekt an sich schon eher einen Unterhaltungswert, statt dem wirklichen Nutzen eines IT-Projekt hat.</p>
<p>Wer sich ZRE an sich mal ansehen will, kann einfach mal das Git-Repo auschecken und starten (auch unter Mac OS X lauffähig).</p>
<p>&nbsp;</p>
<pre><code>$ git clone git://github.com/noqqe/zombie-revolution-environment.git
$ cd zombie-revolution-environment
$ ./zre.bash
</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1500/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Apache &#124; Authentifizierung über mod_auth_pam</title>
		<link>http://noqqe.de/archives/1494</link>
		<comments>http://noqqe.de/archives/1494#comments</comments>
		<pubDate>Fri, 04 Mar 2011 17:53:19 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[authentication failure]]></category>
		<category><![CDATA[AuthPam_Enabled]]></category>
		<category><![CDATA[auth_pam]]></category>
		<category><![CDATA[ftp]]></category>
		<category><![CDATA[pam]]></category>
		<category><![CDATA[unix_chkpwd]]></category>
		<category><![CDATA[vsftpd]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1494</guid>
		<description><![CDATA[FTP-User, die Dateien auch über HTTP durchsuchen wollen, werden bei vsftpd häufig über /etc/passwd als SystemUser authentifiziert. Um nicht noch eine zusätzliche htpasswd Datei pflegen zu müssen, bietet sich das Apache2 Modul mod_auth_pam an. Allerdings nur wenn man weiss wie. $ aptitude install libapache2-mod-auth-pam $ vim /etc/apache2/sites-availabe/ftp.domain.com &#60;Location /dir&#62; AuthType Basic AuthName "FTP-Auth" AuthPAM_Enabled On [...]]]></description>
			<content:encoded><![CDATA[<p>FTP-User, die Dateien auch über HTTP durchsuchen wollen, werden bei vsftpd häufig über /etc/passwd als SystemUser authentifiziert. Um nicht noch eine zusätzliche htpasswd Datei pflegen zu müssen, bietet sich das Apache2 Modul mod_auth_pam an. Allerdings nur wenn man weiss wie.</p>
<p><code>$ aptitude install libapache2-mod-auth-pam</code></p>
<p><code>$ vim /etc/apache2/sites-availabe/ftp.domain.com<br />
&lt;Location /dir&gt;<br />
AuthType Basic<br />
AuthName "FTP-Auth"<br />
AuthPAM_Enabled On<br />
AuthBasicAuthoritative Off<br />
Require user FTPUSER<br />
&lt;/Location&gt;</code></p>
<p>Sehr wichtig an dieser Stelle <strong>AuthBasicAuthoritative Off . </strong>Ansonsten Internal Server Error. Die Schnittstelle mit der sich Apache2 gegen PAM anmeldet, wird automatisch definiert.</p>
<p><code># cat /etc/pam.d/apache2<br />
@include common-auth<br />
@include common-account</code></p>
<p>Nunja, auch wenn eigentlich soweit alles klar sein sollte, schmeisst Apache2 einen Internal Server Error.</p>
<p><code>Mar  1 12:37:59 host unix_chkpwd[2682]: password check failed for user (FTPUSER)<br />
Mar  1 12:37:59 host apache2: pam_unix(apache2:auth): authentication  failure; logname= uid=xx euid=xx tty= ruser= rhost=123.123.123.123   user=FTPUSER</code></p>
<p>Was an den fehlenden LeseRechten des Users &#8220;www-data&#8221; liegt. Fügt man diesen der Gruppe shadow hinzu, funktioniert die Authentifizierung einwandfrei.<br />
<code><br />
$ vi /etc/group<br />
shadow:x:42:www-data</code></p>
<p>Zusätzliche Hilfe:<br />
<a href="http://pam.sourceforge.net/mod_auth_pam/configure.html">http://pam.sourceforge.net/mod_auth_pam/configure.html</a><br />
<a href="http://biblio.l0t3k.net/howto/en/user-authentication-howto/x302.html">http://biblio.l0t3k.net/howto/en/user-authentication-howto/x302.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1494/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Charset &#124; UTF8 für Apache, PHP, MySQL, Debian und WordPress</title>
		<link>http://noqqe.de/archives/1487</link>
		<comments>http://noqqe.de/archives/1487#comments</comments>
		<pubDate>Thu, 24 Feb 2011 09:22:13 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[charset]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[utf8]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1487</guid>
		<description><![CDATA[Nachdem ich die Migration meines Blogs auf meinen neues Stück Blech größtenteils abgeschlossen hatte, wurde ich wieder an den Charset Wirr-Warr von IT-Systemen erinnert. Um meinem Blog seine Umlaute wieder zu beschaffen habe ich folgende Änderungen an verschiedenen Stellen eingespielt. Vorzugsweise immer in den entsprechenden conf.d/ Verzeichnissen, da die Änderungen evtl. beim nächsten Upgrade überschrieben [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich die Migration meines Blogs auf meinen neues Stück Blech größtenteils abgeschlossen hatte, wurde ich wieder an den Charset Wirr-Warr von IT-Systemen erinnert. Um meinem Blog seine Umlaute wieder zu beschaffen habe ich folgende Änderungen an verschiedenen Stellen eingespielt. Vorzugsweise immer in den entsprechenden conf.d/ Verzeichnissen, da die Änderungen evtl. beim nächsten Upgrade überschrieben werden könnten.</p>
<p><center><font size="32"><br />
<h1>�</h1>
<p></font></center><br />
<strong>Apache2 Charset</strong><br />
<code>vim /etc/apache2/conf.d/charset<br />
AddDefaultCharset UTF-8</code></p>
<p><strong>PHP5 Charset</strong><br />
<code>$ vim /etc/php5/apache2/conf.d/charset.ini<br />
[PHP]<br />
default_charset = "utf-8"<br />
[mbstring]<br />
mbstring.language = utf-8<br />
mbstring.internal_encoding = utf-8<br />
mbstring.http_input = utf-8<br />
mbstring.http_output = utf-8</code></p>
<p><strong>MySQL Charset</strong><br />
<code>$ vim /etc/mysql/conf.d/character<br />
[client]<br />
default-character-set = utf8<br />
[mysqld]<br />
default-character-set = utf8<br />
character-set-server = utf8<br />
collation-server= utf8_general_ci<br />
init_connect = ‘SET collation_connection = utf8_general_ci’<br />
init_connect = ‘SET NAMES utf8′<br />
[mysqldump]<br />
default-character-set = utf8<br />
[mysqlimport]<br />
default-character-set = utf8<br />
[mysql]<br />
default-character-set = utf8</code></p>
<p><strong>Debian WordPress Config</strong><br />
<code>$ vim /etc/wordpress/config-blog.url.php<br />
define('DB_CHARSET', 'utf8');<br />
define('DB_COLLATE', '');<br />
define('WPLANG', 'de_DE.UTF-8');</code></p>
<p><strong>Debian Locales</strong><br />
<code>$ dpkg-reconfigure locales</code></p>
<p>Sollte ich es mal wieder brauchen, les ich hier nach.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1487/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Offtopic &#124; Deskshot.</title>
		<link>http://noqqe.de/archives/1442</link>
		<comments>http://noqqe.de/archives/1442#comments</comments>
		<pubDate>Sun, 26 Dec 2010 12:08:48 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[camel active]]></category>
		<category><![CDATA[Cherry]]></category>
		<category><![CDATA[leatherman]]></category>
		<category><![CDATA[Life nano]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[Phillips In-Ear Surround]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[regular expressions]]></category>
		<category><![CDATA[schreibtischlampe]]></category>
		<category><![CDATA[skeletool CX]]></category>
		<category><![CDATA[starwars]]></category>
		<category><![CDATA[zen vision m]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1442</guid>
		<description><![CDATA[Früher oder später zeigt ja doch jeder mal seinen Desktop her. Hier ist meiner. Von oben nach unten: Bretter der Wandverkleidung Regular Expressions Cheatsheet by addedbytes.com Git Cheat Sheet by pastejean oder hier Eine uralte rote Schreibtisch Lampe die ich am Dachboden meiner Eltern fand. Eine 25 Euro Ikea Tischplatte die mit hoher Wahrscheinlichkeit einen [...]]]></description>
			<content:encoded><![CDATA[<p>Früher oder später zeigt ja doch jeder mal seinen Desktop her. Hier ist meiner.</p>
<p><a href="http://zwetschge.org/blog/wp-content/uploads/2010/12/DSC01272.jpg"><img class="aligncenter size-full wp-image-1444" title="Deskshot-500px" src="http://zwetschge.org/blog/wp-content/uploads/2010/12/DSC01272-500.jpg" alt="" width="500" height="353" /></a></p>
<p>Von oben nach unten:</p>
<ul>
<li>Bretter der Wandverkleidung</li>
<li><a href="http://www.addedbytes.com/cheat-sheets/download/regular-expressions-cheat-sheet-v1.pdf">Regular Expressions Cheatsheet by addedbytes.com</a></li>
<li><a href="https://github.com/pastjean/git-cheat-sheet">Git Cheat Sheet by pastejean</a> oder <a href="http://n0q.org/statics/git-cheat-sheet.svg">hier</a></li>
<li>Eine uralte rote Schreibtisch Lampe die ich am Dachboden meiner Eltern fand.</li>
<li>Eine 25 Euro Ikea Tischplatte die mit hoher Wahrscheinlichkeit einen skandinavischen Namen trägt.</li>
<li>Ein <a href="http://www.amazon.de/Star-Wars-Spacetrooper-Legacy-Collection/dp/B002NZ7CLU/ref=sr_1_24?s=toys&amp;ie=UTF8&amp;qid=1293364401&amp;sr=1-24">StarWars Stormtrooper</a> den ich mal geschenkt bekam.</li>
<li><a href="http://www.amazon.de/camel-active-Geldb%C3%B6rse-braun-5x2x8/dp/B0014VXDQ2/ref=sr_1_24?ie=UTF8&amp;qid=1293365047&amp;sr=8-24">Camel Active Bali</a> Geldbörse</li>
<li><a href="https://support.apple.com/specs/macbook/macbook_late_2006.html">Macbook 2006 Late</a>, gebraucht von einem Kollegen bekommen.</li>
<li>Ein 5-Euro 1GB USB-Stick aus dem Hause No-Name</li>
<li><a href="http://www.amazon.de/Creative-Vision-Tragbarer-MP3-Player-schwarz/dp/B000E3U4JU/ref=sr_1_1?ie=UTF8&amp;qid=1293364747&amp;sr=8-1">Zen Vision:M</a> MP3Player (30GB)</li>
<li><a href="http://www.leatherman.com/products/product.asp?id=3&amp;f=6&amp;c=1">Leatherman Skeletool CX</a></li>
<li><a href="http://www.amazon.de/Philips--Ear-Kopfh%C3%B6rer-Virtual-Surround-schwarz/dp/B002KK60UC/ref=sr_1_8?s=ce-de&amp;ie=UTF8&amp;qid=1293365143&amp;sr=1-8">Philips In-Ear Surround</a> Kopfhörer mit Case</li>
<li><a href="http://www.amazon.de/Cherry-Life-Laser-Notebookmaus-schnurlos-schwarz/dp/B001E2SUSM">Cherry Life nano</a> Maus</li>
</ul>
<p>Bei Deskshots vorher aufräumen ist ja langweilig. Dieser Post darf (nach belieben) auch als Blogstöckchen verstanden werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1442/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Mac &#124; Fraise App für LaTeX konfigurieren</title>
		<link>http://noqqe.de/archives/1437</link>
		<comments>http://noqqe.de/archives/1437#comments</comments>
		<pubDate>Thu, 23 Dec 2010 14:16:03 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[app]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Build]]></category>
		<category><![CDATA[Fraise]]></category>
		<category><![CDATA[Latex]]></category>
		<category><![CDATA[R]]></category>
		<category><![CDATA[Shortcut]]></category>
		<category><![CDATA[Smultron]]></category>
		<category><![CDATA[Tastenkürzel]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1437</guid>
		<description><![CDATA[Nachdem meine 30 Tage von TextMate App ausgelaufen sind, habe ich mich irgendwie an das Apfel+R für LaTeX setzen, durchbauen und PDF anzeigen gewohnt. Allerdings hab ich keine 50$ auf der hohen Kante um dir TextMate zu kaufen. Aber es geht ja auch anders. Was früher Smultron hieß und mittlerweile vom eigentlichen Entwickler eingestellt wurde, [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem meine 30 Tage von <a href="http://macromates.com/">TextMate App</a> ausgelaufen sind, habe ich mich irgendwie an das Apfel+R für LaTeX setzen, durchbauen und PDF anzeigen gewohnt.</p>
<p>Allerdings hab ich keine 50$ auf der hohen Kante um dir TextMate zu kaufen. Aber es geht ja auch anders. Was früher <a href="http://en.wikipedia.org/wiki/Smultron"> Smultron</a> hieß und mittlerweile vom eigentlichen Entwickler eingestellt wurde, gibt es heute als Fork unter dem Namen Fraise.</p>
<p><a href="https://github.com/jfmoy/Fraise/">Fraise</a> ist OpenSource und eigentlich ein schöner schmaler Editor für Mac OS X.  Meine vermisste Funktion des Apfel+R lässt sich auch hier &#8220;nachbilden&#8221;. Mit Apfel+B werden alle Kommandos angezeigt die mit Apfel+R verfügbar sind. Standardmäßig gibt es dort auch einen Satz von Dummies und sonstigem Nützlichem.</p>
<p><a href="http://zwetschge.org/blog/wp-content/uploads/2010/12/Screen-shot-2010-12-23-at-15.09.171.png"><img src="http://zwetschge.org/blog/wp-content/uploads/2010/12/Screen-shot-2010-12-23-at-15.09.171.png" alt="" title="Screenshot 2010-12-23 at 15.09.17" width="500" height="343" class="aligncenter size-full wp-image-1440" /></a></p>
<p>Neue Collection namens LaTeX angelegt und das Command-Set &#8220;Build LaTeX&#8221; eingerichtet. Alles weitere ist im Endeffekt nur ein Shell-Skript, welches das PDF erstellt, die überflüssigen Dateien aufräumt und das generierte pdf mittels &#8220;open&#8221; öffnet.</p>
<p>Extrem hilfreich und billiger als TextMate. Das Skript habe ich bei github gepasted.</p>
<p><script src="https://gist.github.com/753005.js?file=gistfile1.sh"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1437/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Offtopic &#124; Hackerbrause</title>
		<link>http://noqqe.de/archives/1431</link>
		<comments>http://noqqe.de/archives/1431#comments</comments>
		<pubDate>Tue, 21 Dec 2010 16:48:42 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[club]]></category>
		<category><![CDATA[club-mate]]></category>
		<category><![CDATA[geeks]]></category>
		<category><![CDATA[getränk]]></category>
		<category><![CDATA[hacker]]></category>
		<category><![CDATA[k4cg]]></category>
		<category><![CDATA[mate]]></category>
		<category><![CDATA[nbg]]></category>
		<category><![CDATA[nerds]]></category>
		<category><![CDATA[nürnberg]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1431</guid>
		<description><![CDATA[Beim K4CG den ich Letztens das zweite Mal besucht hatte, kam ich in Berührung mit Club-Mate. Ich suchte nach dem Bier nach etwas unalkoholischem, griff zu Club-Mate und wusste bis dahin nicht wirklich was es damit auf sich hatte. Amateurhaft sprach ich es auch Mate (dt. Kumpel) aus. Das leicht säuerlich schmeckende Eistee Getränk, welches [...]]]></description>
			<content:encoded><![CDATA[<p>Beim <a href="http://www.k4cg.org">K4CG</a> den ich Letztens das zweite Mal besucht hatte, kam ich in Berührung mit <a href="http://de.wikipedia.org/wiki/Club_mate">Club-Mate</a>. Ich suchte nach dem Bier nach etwas unalkoholischem, griff zu Club-Mate und wusste bis dahin nicht wirklich was es damit auf sich hatte. Amateurhaft sprach ich es auch Mate (dt. Kumpel) aus. Das leicht säuerlich schmeckende Eistee Getränk, welches ich eher als Kräuterlimonade zugeordnet hätte, enthält anscheinend eine beträchtliche Menge an Koffein. Was jetzt aus Gründen [...] nicht umbedingt negativ sein muss.</p>
<p><a href="http://zwetschge.org/blog/wp-content/uploads/2010/12/IMG_0470.jpg"><img class="aligncenter size-full wp-image-1432" title="Club-Mate" src="http://zwetschge.org/blog/wp-content/uploads/2010/12/IMG_0470.jpg" alt="" width="500" height="375" /></a></p>
<p>Vor ein paar Tagen hab ich wieder an Club-Mate gedacht und die Suchmaschine meiner Wahl angeschmissen. Über die Homepage fand ich dann auch den<a href="http://www.clubmate.de/cws/startseite.3.html"> nächstbesten in Frage kommenden Getränkemarkt (Keils in Bayreuth)</a>. Anscheinend ist Club-Mate auch ein in Hackerkreisen beliebteres Kultgetränk.</p>
<p>Wie dem auch sei, nun sitz ich hier, mit meinem ersten eigens erstandenen Kasten Club-Mate.</p>
<p>Nebenbei kann ich auch jedem den Hackerspace in Nürnberg K4CG ans Herz legen. Sehr nette und freundliche Hacker oder anderweitig Technik-Interessierte die auch Neulinge gut aufnehmen und betreuen ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1431/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>hcht &#124; Handmade Commandline History Tool</title>
		<link>http://noqqe.de/archives/1407</link>
		<comments>http://noqqe.de/archives/1407#comments</comments>
		<pubDate>Wed, 01 Dec 2010 18:58:12 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bash-it]]></category>
		<category><![CDATA[commandline]]></category>
		<category><![CDATA[handmade]]></category>
		<category><![CDATA[history]]></category>
		<category><![CDATA[store]]></category>
		<category><![CDATA[tool]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1407</guid>
		<description><![CDATA[Mit dem Namen habe ich mich natürlich mal wieder selbst übertroffen. NICHT. Ehe man sich versieht wird aus einem kleinen Fetzen Code ein ausgewachsenes Plugin für bash-it, in dem der Name des Code-Schnippsels schon so tief sitzt, das sich der Aufwand nicht mehr lohnt ihn zu ändern. Aber mal weg von Oberflächlichkeiten hin zum Code. [...]]]></description>
			<content:encoded><![CDATA[<p>Mit dem Namen habe ich mich natürlich mal wieder selbst übertroffen. NICHT. Ehe man sich versieht wird aus einem kleinen Fetzen Code ein ausgewachsenes Plugin für bash-it, in dem der Name des Code-Schnippsels schon so tief sitzt, das sich der Aufwand nicht mehr lohnt ihn zu ändern. Aber mal weg von Oberflächlichkeiten hin zum Code.</p>
<p><a href="http://zwetschge.org/blog/wp-content/uploads/2010/12/4094723007_34388e39d8.jpg"><img class="aligncenter size-full wp-image-1413" title="4094723007_34388e39d8" src="http://zwetschge.org/blog/wp-content/uploads/2010/12/4094723007_34388e39d8.jpg" alt="" width="500" height="375" /></a></p>
<address>Creative Commons by <a href="http://www.flickr.com/photos/qubodup/">Iwan Gabovitch</a> &#8220;Notizen&#8221;</address>
<p>Es war Dienstag und ich war auf der Suche nach einem kleinen Tool oder einer Idee, wie ich am Besten kleine einzeilige &#8220;Hacks&#8221;, gebastelte Regular Expressions, MicroNotizen, ToDo&#8217;s, Logfile Schnippsel oder sonstige Informationen in Textform speichern und aufheben kann. Nachdem ich nichts fand fing ich an mir selber so ein kleines Tool zu schreiben. Als Plugin für <a href="http://github.com/revans/bash-it">bash-it</a>.</p>
<h2>Funktionen</h2>
<p>Idee ist einfach. Alles wird in einem zentralen Ordner abgespeichert und dieser wird mit tollen Features durch hcht befüllt.</p>
<p><strong>Editor </strong><br />
Die Basis sozusagen. Eine Notiz oder ein Kommando per Hand einfügen<br />
<code>$ hcht das-ist-eine-Notiz.hch</code></p>
<p><strong>List-Funktion</strong><br />
Anzeigen aller abgespeicherten Files<br />
<code>$ hcht</code></p>
<p><strong>Einzeilige Notiz</strong><br />
Den ganzen Spaß gibts auch einzeilig.<br />
<code>$ hcht Hallo, das ist eine kleine Notiz</code></p>
<p><strong>Pipeable</strong><br />
Natürlich hat mein <a href="http://noqqe.de/archives/1402">Lesen von Stdin Post</a> auch einen Sinn gehabt.<br />
<code>$ cat mail.log | hcht maillog<br />
</code><br />
<strong>Wiederholbar</strong><br />
Die bashinterne Funktion ist zum Beispiel auch hilfreich. Angenommen man hat grade einen total coolen Hack gebastelt und will diesen aufheben:<br />
<code>$ find . -iname '*.png' -exec echo '&lt;br&gt;&lt;img src="{}"&gt;'  \; &gt; gallery.html<br />
$ hcht !! </code></p>
<p>Für mehr und vor allem genauere Beschreibung siehe den Source und das Readme auf github:</p>
<p>Dabei heraus kam: <a href="https://github.com/revans/bash-it/blob/master/plugins/hcht.plugin.bash">https://github.com/revans/bash-it/blob/master/plugins/hcht.plugin.bash</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1407/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash &#124; Lesen von /dev/stdin</title>
		<link>http://noqqe.de/archives/1402</link>
		<comments>http://noqqe.de/archives/1402#comments</comments>
		<pubDate>Wed, 01 Dec 2010 18:27:18 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Bash]]></category>
		<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[/dev/stdin]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[lesen]]></category>
		<category><![CDATA[lesen vom stdin]]></category>
		<category><![CDATA[read]]></category>
		<category><![CDATA[read from stdin]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1402</guid>
		<description><![CDATA[Gestern hat mich eine Idee für ein Skript beschäftigt. Im Detail wollte ich die Syntax: $ cat any_file.txt &#124; script.sh abbilden. Lesen von File Descriptor 0. Also Standard-Input. Mich beschäftigte das Thema aber länger, als ich es erwartet hatte. Auf Sinn und Unsinn des Skripts möchte zumindest in diesem Blogpost nicht weiter eingehen ;) Versuche [...]]]></description>
			<content:encoded><![CDATA[<p>Gestern hat mich eine Idee für ein Skript beschäftigt. Im Detail wollte ich die Syntax:</p>
<p><code>$ cat any_file.txt | script.sh </code></p>
<p>abbilden. Lesen von File Descriptor 0. Also Standard-Input. Mich beschäftigte das Thema aber länger, als ich es erwartet hatte. Auf Sinn und Unsinn des Skripts möchte zumindest in diesem Blogpost nicht weiter eingehen ;)</p>
<h2>Versuche</h2>
<p>Nach kurzem bemühen einer Suchmaschine fand ich heraus, dass /dev/stdin das magische Schlüsselwort der Sache ist. Wie also von Standard Input lesen?</p>
<p><code>cat /dev/stdin<br />
cat /dev/stdin &gt; /tmp/foobar</code></p>
<p>War in etwa mein erster Ansatz. Mich wunderte extrem, dass der übergebene Inhalt zwar ausgegeben wird, aber nicht in dem File steht. Erkenntnis daraus: File Descriptor 0 lässt sich anscheinend nur einmal auslesen. Zweiter Versuch:</p>
<p><code>INPUT=$(cat /dev/stdin)</code></p>
<p>Schliesslich wollte ich den Input auch im Script weiter verarbeiten. Erwies sich aber auch als ungünstig, da Zeilenumbrüche in Variablen irgendwie verschluckt werden.</p>
<h2>Lösung</h2>
<p>Anstatt hier weiterhin mit erfolglosen Lösungsansätzen herum zu schmeissen:<br />
<code>cat &lt; /dev/stdin &gt;&gt; /tmp/foobar</code></p>
<p>Sieht unlogisch aus, funktioniert aber besser als alle Anderen.</p>
<h2>/dev/stdin und read</h2>
<p>Ich habe es nicht geschafft, nach dem einlesen von /dev/stdin eine bedienbare</p>
<p><code>read irgendeinevariable</code></p>
<p>Operation durchzuführen. Alle Eingaben werden automatisch mit dem Inhalt von /dev/stdin gefüllt. Ich konnte dafür leider noch keine Lösung finden.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1402/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Redmine &#124; Git Bare Repository Workaround</title>
		<link>http://noqqe.de/archives/1396</link>
		<comments>http://noqqe.de/archives/1396#comments</comments>
		<pubDate>Sat, 27 Nov 2010 11:49:42 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[bare]]></category>
		<category><![CDATA[barerepo]]></category>
		<category><![CDATA[issue]]></category>
		<category><![CDATA[redmine]]></category>
		<category><![CDATA[repositories]]></category>
		<category><![CDATA[repository]]></category>
		<category><![CDATA[webinterface]]></category>
		<category><![CDATA[workaround]]></category>
		<category><![CDATA[working copy]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1396</guid>
		<description><![CDATA[Die letzten beiden Tage habe ich mich etwas mit Redmine beschäftigt. Das Webinterface für Versionskontrollsysteme hat allerdings eine kleine Macke. Zumindest ist das mein Verständnis des Umstands. Git-Repositories sind in Redmine nur über Working Copies einzulesen. Der gute Stil (und gitolite) stellt serverseitige Git-Repositories als Bare Repos dar. Bare Repos sind im Grunde nur das, [...]]]></description>
			<content:encoded><![CDATA[<p>Die letzten beiden Tage habe ich mich etwas mit <a href="http://www.redmine.org/">Redmine</a> beschäftigt. Das Webinterface für Versionskontrollsysteme hat allerdings eine kleine Macke. Zumindest ist das mein Verständnis des Umstands.</p>
<p>Git-Repositories sind in Redmine nur über Working Copies einzulesen. Der gute Stil (und gitolite) stellt serverseitige Git-Repositories als Bare Repos dar. Bare Repos sind im Grunde nur das, was das .git/ Verzeichnis in jeder Working Copy darstellt. Es befinden sich also keine Klartext Files darin.</p>
<address><a href="http://zwetschge.org/blog/wp-content/uploads/2010/11/2431284305_9c4952e7f6.jpg"><img class="aligncenter size-full wp-image-1399" title="2431284305_9c4952e7f6" src="http://zwetschge.org/blog/wp-content/uploads/2010/11/2431284305_9c4952e7f6.jpg" alt="" width="500" height="375" /></a><br />
Creative Commons by <a href="http://www.flickr.com/photos/bbcolin/">Impact Tarmac</a></address>
<p>Diese Bare Repos lassen sich in Redmine aber nicht hinzufügen. Ob es einfach technisch nicht machbar ist, oder eine Macke seitens Redmine kann ich nicht ausmachen. Fakt ist allerdings, dass ich momentan dazu gezwungen bin Working-Copies für Redmine vorzuhalten.</p>
<p>Ein bisschen Dokumentation zu lesen hat mich da schon um einiges weiter gebracht. Es gibt unter der Redmine Community anscheinend zwei verbreitete Lösungsansätze.</p>
<ul>
<li>Cronjob der alle heilige Zeit auf Änderungen prüft</li>
<li>Hook in Bare Repos einfügen, welcher auslöst wenn gepushte Änderungen vorliegen</li>
</ul>
<p>Kurz: Ich entschied mir für die zweite Lösung. Um Ressourcen zu sparen. Oder weniger Cronjobs laufen zu haben. Erschien mir effizienter.</p>
<h2>Hook für Bare Repo</h2>
<p>In Hook-verzeichnis wechseln. Beispielsweise: /home/git/repositories/repo1.git/hooks/. Richtigen Hook auswählen. <strong>post-recieve</strong> führt Skripte aus, welche _nach_ dem erhalt von Commits ausgeführt werden.  Das Skript sieht vor, das ServerRepo an einen zentralen Sammelpunkt auszuchecken, Rechte anzupassen und für Redmine schreibbar zu machen.</p>
<p><script src="https://gist.github.com/717822.js?file=post-recieve"></script></p>
<p>Werden jetzt neue Commits gepushed, wird automatisch ein neues Repo gecloned und die Änderungen sind sofort in Redmine ersichtlich.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1396/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>bash-it &#124; n0qorg theme und git_info</title>
		<link>http://noqqe.de/archives/1389</link>
		<comments>http://noqqe.de/archives/1389#comments</comments>
		<pubDate>Wed, 24 Nov 2010 16:14:57 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bash-it]]></category>
		<category><![CDATA[community]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[revans]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1389</guid>
		<description><![CDATA[Um die Entwicklung des Bash Community Frameworks bash-it noch zusätzlich etwas vorran zu treiben, hab ich ein neues Theme und git_info  bereitgestellt. n0qorg theme Schema: host directory (git-status dirty)&#62; Bis jetzt noch nicht gemerged. Denke aber das kommt noch. Theme @ Github git_info Funktion Gibt Übersicht über das aktuelle Repo. Ab jetzt im Framework vorhanden.]]></description>
			<content:encoded><![CDATA[<p>Um die Entwicklung des Bash Community Frameworks <a href="http://github.com/revans/bash-it">bash-it</a> noch zusätzlich etwas vorran zu treiben, hab ich ein neues Theme und git_info  bereitgestellt.</p>
<h2>n0qorg theme</h2>
<p>Schema: host directory (git-status dirty)&gt;<br />
Bis jetzt noch nicht gemerged. Denke aber das kommt noch. <a href="https://github.com/noqqe/bash-it/blob/92b8d6d9cfade500e4d514163b5c18a1df71113d/themes/n0qorg/n0qorg.theme.bash">Theme @ Github</a></p>
<h2><a href="http://zwetschge.org/blog/wp-content/uploads/2010/11/Screenshot.png"><img class="aligncenter size-full wp-image-1390" title="Screenshot n0qorg Theme" src="http://zwetschge.org/blog/wp-content/uploads/2010/11/Screenshot.png" alt="" width="499" height="306" /></a></h2>
<h2>git_info Funktion</h2>
<p>Gibt Übersicht über das aktuelle Repo. Ab jetzt im Framework vorhanden.</p>
<p><script src="https://gist.github.com/709879.js?file=git_info"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1389/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>github &#124; Sinn, Unsinn, Interfaces und schon wieder Zombies</title>
		<link>http://noqqe.de/archives/1383</link>
		<comments>http://noqqe.de/archives/1383#comments</comments>
		<pubDate>Mon, 22 Nov 2010 19:30:35 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[diaspora]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[gitignore]]></category>
		<category><![CDATA[sinn]]></category>
		<category><![CDATA[social coding]]></category>
		<category><![CDATA[tiny-tiny-rss]]></category>
		<category><![CDATA[unsinn]]></category>
		<category><![CDATA[zombies]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1383</guid>
		<description><![CDATA[github ist da wo ich mich momentan sehr gerne rumtreibe. creative commons @ jeremy kendall on flickr Unsinn Dort gibt es viele Projekte die mich interessieren, ich ihnen aber trotzdem nicht folgen kann. Dazu gehören unter anderem: diaspora/diaspora gothfox/Tiny-Tiny-RSS github/gitignore Das ist so weil diese Repo&#8217;s _so viel_ Aktivität aufweisen, dass ich von keinem anderen [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://github.com/noqqe">github</a> ist da wo ich mich momentan sehr gerne rumtreibe.</p>
<p><a href="http://zwetschge.org/blog/wp-content/uploads/2010/11/5145916501_d9b36ec12f.jpg"><img class="aligncenter size-full wp-image-1384" title="ZendCon 2010 - github" src="http://zwetschge.org/blog/wp-content/uploads/2010/11/5145916501_d9b36ec12f.jpg" alt="http://www.flickr.com/photos/jeremykendall/" width="500" height="357" /></a></p>
<address>creative commons @ jeremy kendall on <a href="http://www.flickr.com/photos/jeremykendall/5145916501/sizes/m/in/photostream/">flickr</a></address>
<h2>Unsinn</h2>
<p>Dort gibt es viele Projekte die mich interessieren, ich ihnen aber  trotzdem nicht folgen kann. Dazu gehören unter anderem:</p>
<p><a href="https://github.com/diaspora/diaspora">diaspora/diaspora</a><br />
<a href="http://github.com/gothfox/Tiny-Tiny-RSS">gothfox/Tiny-Tiny-RSS</a><br />
<a href="http://github.com/github/gitignore">github/gitignore</a></p>
<p>Das ist so weil diese Repo&#8217;s _so viel_ Aktivität aufweisen, dass ich von keinem anderen meiner Projekte (auch nicht meiner eigenen) Meldungen mehr mitbekomme. Ich meine, wieso kann ich nicht regulieren? Wieso lassen sich Aktivitäten pro Projekt nicht zusammenfassen? Jeder Pull Request, Kommentar oder Issue wird mir direkt in meine TimeLine gepushed. Und das bei Diaspora, bei dem am Tag alleine &gt;30 Commits passieren? Warum habe ich nicht die Möglichkeit mir nur die Aktivitäten meiner Repos anzeigen zu lassen? Denke die Jungs von Github müssen erst noch lernen solche hyperaktiven anständig mit der Plattform zu handlen. Sollte jemand die nötigen Links für mich haben, bitte immer her damit.</p>
<h2>Sinn</h2>
<p>Andererseits nehme ich auch an ein paar wirklich schönen Sachen teil. Unter anderem bash-it. Das Framework ist etwas, wo ich mir nichtmehr vorstellen kann vorher ohne ausgekommen zu sein.</p>
<p><a href="http://github.com/revans/bash-it">revans/bash-it</a><br />
<a href="http://github.com/jgoerzen/twidge">jgoerzen/twidge</a></p>
<h2>Zombies</h2>
<p>Was ich außerdem verblüffend finde ist, dass wirklich <a href="https://github.com/TaurusOlson">jemand</a> eines meiner eigenen Projekte interessant fand. Nämlich genau das, dass ich für den größten Quatsch halte. TaurusOlson hat auf Anhieb ein <a href="https://github.com/noqqe/zombie-revolution-environment/commit/4719bebc6112449e114a7fff88b3fc0dbf5c6508">einwandfreies Modul und eine neue Lib</a> für das <a href="http://github.com/noqqe/zombie-revolution-environment">zombie-revolution-environment</a> geschrieben. O_o</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1383/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mail &#124; Adresse mit JavaScript vor Bots schützen.</title>
		<link>http://noqqe.de/archives/1367</link>
		<comments>http://noqqe.de/archives/1367#comments</comments>
		<pubDate>Sat, 13 Nov 2010 12:29:59 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Spam]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1367</guid>
		<description><![CDATA[Um Schreibweisen wie user [ätt] domain [dott] com zu vermeiden gibt es seit längerem schöne Möglichkeiten (wie beispielsweise auch bei github eingesetzt) um den MailTo Link anständig lesbar zu halten und trotzdem vor (einem Großteil) der SpamBots zu schützen. Damit ich die paar Zeilen nicht wieder vergesse: yay. Auch wenn ich keine Ahnung von JavaScript [...]]]></description>
			<content:encoded><![CDATA[<p>Um Schreibweisen wie user [ätt] domain [dott] com zu vermeiden gibt es seit längerem schöne Möglichkeiten (wie beispielsweise auch bei github eingesetzt) um den MailTo Link anständig lesbar zu halten und trotzdem vor (einem Großteil) der SpamBots zu schützen. Damit ich die paar Zeilen nicht wieder vergesse:</p>
<p><script src="https://gist.github.com/675349.js?file=gistfile1.js"></script></p>
<p>yay. Auch wenn ich keine Ahnung von JavaScript habe. </p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1367/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>ASCII &#124; StarWars via Telnet</title>
		<link>http://noqqe.de/archives/1351</link>
		<comments>http://noqqe.de/archives/1351#comments</comments>
		<pubDate>Mon, 08 Nov 2010 17:22:13 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[art]]></category>
		<category><![CDATA[ascii]]></category>
		<category><![CDATA[asciiart]]></category>
		<category><![CDATA[blinkenlights]]></category>
		<category><![CDATA[star]]></category>
		<category><![CDATA[star wars]]></category>
		<category><![CDATA[telnet]]></category>
		<category><![CDATA[wars]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1351</guid>
		<description><![CDATA[13 Jahre arbeitet anscheinend jemand bereits an einen Remake von StarWars Episode 4 in ASCII mit mehr als 15.000 Einzelbildern. Selbst anschauen: $ telnet towel.blinkenlights.nl]]></description>
			<content:encoded><![CDATA[<p>13 Jahre arbeitet anscheinend jemand bereits an einen Remake von StarWars Episode 4 in ASCII mit mehr als 15.000 Einzelbildern.</p>
<p style="text-align: center;"><a href="http://zwetschge.org/blog/wp-content/uploads/2010/11/ascii-starwars.png"><img class="aligncenter size-full wp-image-1352" title="ascii-starwars" src="http://zwetschge.org/blog/wp-content/uploads/2010/11/ascii-starwars.png" alt="" width="460" height="246" /></a></p>
<p>Selbst anschauen:</p>
<p><code>$ telnet towel.blinkenlights.nl</code></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1351/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>bash-it &#124; Zitronen-Thema</title>
		<link>http://noqqe.de/archives/1342</link>
		<comments>http://noqqe.de/archives/1342#comments</comments>
		<pubDate>Mon, 01 Nov 2010 13:00:47 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[xubuntu]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bash-theme]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[terminal]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[theming]]></category>
		<category><![CDATA[zitron]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1342</guid>
		<description><![CDATA[Benutze nun schon seit längerem ein Community Framework für Bash, welches sich bash-it nennt. Darin lassen sich allerhand tolle Sachen einheitlich deklarieren und auslagern. Da meine .bashrc jetzt auch schon an die 300 Zeilen schwer ist, dachte ich es wäre eine gute Idee meine Konfigurationen dort hin auszulagern. Da wären dann auch gleich meine Completion [...]]]></description>
			<content:encoded><![CDATA[<p>Benutze nun schon seit längerem ein Community Framework für Bash, welches sich <a href="http://github.com/revans/bash-it">bash-it</a> nennt. Darin lassen sich allerhand tolle Sachen einheitlich deklarieren und auslagern. Da meine .bashrc jetzt auch schon an die 300 Zeilen schwer ist, dachte ich es wäre eine gute Idee meine Konfigurationen dort hin auszulagern. Da wären dann auch gleich meine Completion und Theming Files untergebracht.</p>
<p>Mir gefiel zwar nicht wirklich auf Anhieb ein ausgeliefertes Theme, aber es war relativ einfach ein Neues zu erstellen. Es war dann gelb, weil sich das schön vom Rest meines Terminals abhob. In einem Anflug wahnsinniger Einfallslosigkeit, nannte ich es dann einfach zitron. Zitron sieht folgendermaßen aus:</p>
<p><a href="http://zwetschge.org/blog/wp-content/uploads/2010/11/zitron.png"><img class="aligncenter size-full wp-image-1343" title="zitron" src="http://zwetschge.org/blog/wp-content/uploads/2010/11/zitron.png" alt="" width="526" height="277" /></a></p>
<p>Das Theme reagiert (als Teil von bash-it) auf git Repos. Wenn man sich in einem versioniertem Verzeichnis befindet, wird im Prompt automatisch der Name des Branch (master) eingefügt und zusätzlich dazu überprüft, ob das Working-Directory &#8220;dirty&#8221; ist (also uncommittete Änderungen). Falls ja wird ein gelbes Asterisk eingefügt (*).</p>
<p>Mein Fork auf github von bash-it: <a href="http://github.com/noqqe/bash-it">http://github.com/noqqe/bash-it</a><br />
Das Theme als Quelltext: <a href="http://github.com/noqqe/bash-it/blob/master/themes/zitron/zitron.theme.bash">http://github.com/noqqe/bash-it/blob/master/themes/zitron/zitron.theme.bash</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1342/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash &#124; minimal-bash-debug</title>
		<link>http://noqqe.de/archives/1332</link>
		<comments>http://noqqe.de/archives/1332#comments</comments>
		<pubDate>Sun, 24 Oct 2010 19:06:33 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[bash debug script]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[debugging]]></category>
		<category><![CDATA[minimal debug]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[shell debug script]]></category>
		<category><![CDATA[shell debugging]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1332</guid>
		<description><![CDATA[Bei Bash Scripten gibt es ja genug Möglichkeiten zu debuggen. Jeder der Bash Scripte schreibt, hat da so seine eigenen Vorlieben. Nachdem ich etwas geforscht hatte fand ich diverse Methoden a la: #!/bin/bash _DEBUG=true if [ "$_DEBUG" == "true" ]; then echo "some debug informations" ; fi Auch schön fand ich den eingebauten Debugmodus der [...]]]></description>
			<content:encoded><![CDATA[<p>Bei Bash Scripten gibt es ja genug Möglichkeiten zu debuggen. Jeder der Bash Scripte schreibt, hat da so seine eigenen Vorlieben. Nachdem ich etwas geforscht hatte fand ich diverse Methoden a la:</p>
<p><code>#!/bin/bash<br />
_DEBUG=true<br />
if [ "$_DEBUG" == "true" ]; then echo "some debug informations" ; fi</code></p>
<p>Auch schön fand ich den eingebauten Debugmodus der Shell:</p>
<p><code>$ sh -x script.sh</code></p>
<p>Aber auch sehr umfangreiche Tools wie <a href="http://log4sh.svn.sourceforge.net/svnroot/log4sh/trunk/source/1.5/doc/log4sh.html">log4sh</a> sind vorhanden. Ganz zu Schweigen von wahllosen &#8220;echo&#8217;s&#8221; die über das ganze Skript verteilt sind. Irgendwie gefiel mir aber keine der Möglichkeiten so wirklich. Der Code wird unlesbar, die Ausgabe ist zu kryptisch oder der Lernaufwand ist jenseits von Gut und Böse. Deshalb habe ich mich hingesetzt und überlegt, wie ich eine Debugging-Engine gerne hätte. Wie müsste sowas aussehen, damit ich es verwenden würde?</p>
<ul>
<li>Code sollte nicht verunstaltet werden.</li>
<li> Debug Informationen sollten gut leserlich ausgegeben werden.</li>
<li> Debug Nachrichten sollten sich leicht zu erzeugen sein.</li>
<li>Sollte sehr einfach abschaltbar und skalierbar sein.</li>
<li>Minimaler Umfang des Gesamtsystems</li>
</ul>
<p>Nunja, im typischen Sonntag Nachmittag Größenwahn hab ich mich bemüht meine Anforderungen an den Bash Debugger umzusetzen. Ob es mir gelungen ist lasse ich jetzt mal dahingestellt, denn das ist mit Sicherheit Ansichtssache. Aber das aus dem Bedarf heraus entstandene <strong><a href="http://github.com/noqqe/minimal-bash-debug/">minimal-bash-debug</a></strong> hat mich dann doch einigermaßen zufrieden gestellt.<br/><br/></p>
<h3>Download</h3>
<pre><code>
$ cd path/to/your/bashscript
$ wget http://github.com/noqqe/minimal-bash-debug/raw/master/.minimal-bash-debug
$ chmod +x .minimal-bash-debug</code></pre>
<p><br/></p>
<h3>Implementation</h3>
<p>Das runtergeladene (wirklich sehr schmale) Script dient jetzt als Auswerter für die Debug Informationen. In das Bash Script, welches es zu debuggen gilt, muss nun folgende Funktion eingefügt werden. Mein Ziel Dabei war es den Snippet der Implementierung so klein wie nur irgendwie möglich zu halten, um das Skript nicht zu verunstalten.</p>
<pre><code>
debug() {
  debug=2 # set debug level 0|1|2|3
  if [ -x .minimal-bash-debug ]; then
  ./.minimal-bash-debug $debug $1 $2 "$3"
  fi
}</code></pre>
<p><br/></p>
<h3>Usage</h3>
<p>Die Implementation der Funktion debug() in das eigene Skript hat mehrere Vorteile. Aber zuerst zur Benutzung.</p>
<p><code>debug 2 syslog "Variable VAR is $VAR"<br />
debug 3 echo "Variable FOO is $FOO"</code></p>
<p>Das ganze ist simpel.</p>
<ul>
<li>debug aufrufen (debug)</li>
<li>debug level bestimmen (2)</li>
<li>debug mode auswählen (echo|syslog)</li>
<li>debug message übergeben (Variable FOO is $FOO)</li>
</ul>
<p>Das war auch schon der ganze Zauber. Das schöne daran ist, ist das .minimal-bash-debug Script einmal nicht mehr vorhanden/nicht ausführbar oder das debug level einfach auf 0 gesetzt, verfallen alle debug Zeilen in sofortiges Stillschweigen.</p>
<p>Der kurze Auszug der Erklärung ist natürlich relativ wenig. Deswegen gibt es auf Github <a href="http://github.com/noqqe/minimal-bash-debug/">http://github.com/noqqe/minimal-bash-debug/</a> ein Beispiel der Benutzung und ein README.</p>
<p>example.sh: <a href="http://github.com/noqqe/minimal-bash-debug/raw/master/example.sh">http://github.com/noqqe/minimal-bash-debug/raw/master/example.sh</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1332/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash &#124; ZRE und $RANDOM</title>
		<link>http://noqqe.de/archives/1321</link>
		<comments>http://noqqe.de/archives/1321#comments</comments>
		<pubDate>Tue, 19 Oct 2010 18:35:18 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[humans]]></category>
		<category><![CDATA[random]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[zombies]]></category>
		<category><![CDATA[zre]]></category>
		<category><![CDATA[zufall]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1321</guid>
		<description><![CDATA[Zugegeben, dieser ganze Zombie-Sh!t unterhält mich länger, als es mir lieb ist. Insbesondere die aktuell stattfindende Blockschulwoche, trägt zur außergewöhnlich häufigen Nutzung bei. In den meisten Durchläufen des ZRE beendet es ganz von alleine die Simulation, weil entweder keine Humans oder Zombies mehr am Leben sind. Auf Letzteres trifft das natürlich immer irgendwie zu. Aber [...]]]></description>
			<content:encoded><![CDATA[<p>Zugegeben, dieser ganze <a href="http://noqqe.de/archives/1314">Zombie-Sh!t</a> unterhält mich länger, als es mir lieb ist. Insbesondere die aktuell stattfindende Blockschulwoche, trägt zur außergewöhnlich häufigen Nutzung bei.</p>
<p>In den meisten Durchläufen des ZRE beendet es ganz von alleine die Simulation, weil entweder keine Humans oder Zombies mehr am Leben sind. Auf Letzteres trifft das natürlich immer irgendwie zu. Aber das ignoriere ich jetzt einfach mal. Wenn eine der beiden Seiten als Sieger hervor geht eben.</p>
<p style="text-align: center;"><a href="http://zwetschge.org/blog/wp-content/uploads/2010/10/243104896_eb10db6e1d.jpg"><img class="aligncenter size-full wp-image-1322" title="CC by Drunken Monkey" src="http://zwetschge.org/blog/wp-content/uploads/2010/10/243104896_eb10db6e1d.jpg" alt="CC by Drunken Monkey" width="400" height="336" /></a></p>
<p>In wenigen Fällen® kommt es allerdings vor, das beide Seiten gleichmäßig stark an Mitgliedern gewinnen. Und zwar mehr als 150.000 ca. Die Chance diesen Case zu treffen würde ich jetzt auf 1:50 schätzen. Habe ihn heute 3 mal getroffen. Wie oft habe ich wohl ca. gespielt? Traurig.</p>
<p>Wenn dieser Case eintritt, nimmt die Simulation einen etwas schrägen Verlauf.</p>
<ul>
<li>Wachsende Bevölkerung: Die Anzahl der Mitglieder einer Seite wird mit<br />
<code>local size=$(($RANDOM % $humans + 1))<br />
humans=$(($humans + $size))</code><br />
berechnet.</li>
<li>Maximale Opfer eines Angriffs: Die Anzahl der $victims ermittelt ZRE folgendermaßen:<br />
<code>defenders=$(($RANDOM % $zombies +1))<br />
victims=$(($RANDOM % $defenders + 1))<br />
zombies=$(($zombies - $victims))</code></li>
</ul>
<p>Die Problemstellung beläuft sich eigentlich auf $RANDOM. $RANDOM erzeugt einen &#8220;zufälligen&#8221; Integerwert von 0 bis 32767.</p>
<p>Die Erzeugung der Unterstützung addiert sich immer wieder sofort auf den Wert der jeweiligen Rasse. Die Anzahl der Opfer allerdings errechnet sich aus einem Teil der Verteidiger, welcher wiederrum nur ein Teil der gesamten Rasse darstellt.</p>
<p>Klartext: Die Wahrscheinlichkeit, dass (max.) 32767 Mitglieder Opfer werden ist wesentlich geringer als die Wahrscheinlichkeit 32767 Mitglieder Support zu bekommen. Das führt zu unverhältnismäßig großem Wachstum im Environment.</p>
<p>Nach einiger Überlegung habe ich beschlossen die Werte der Kämpfe nicht anzupassen und stattdessen etwas anderes Einzuführen.</p>
<p><strong>Naturkatastrophen</strong>. Diese sollen automatisch bei Überschreitung eines Limits (300.000 Einwohner) oder einfach nur sporadisch etwas aufräumen. Vulkan, Hurricane oder Erdbeben. Alles dabei. Wer genau, wieviele und warum bei diesem Event ums Leben kommen entscheidet wie immer $RANDOM.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1321/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash &#124; the zombie-revolution-environment</title>
		<link>http://noqqe.de/archives/1314</link>
		<comments>http://noqqe.de/archives/1314#comments</comments>
		<pubDate>Sun, 17 Oct 2010 10:14:05 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[xubuntu]]></category>
		<category><![CDATA[8bit]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[battle]]></category>
		<category><![CDATA[brawl]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[gameplay]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[humans]]></category>
		<category><![CDATA[revolution]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[simulator]]></category>
		<category><![CDATA[zombie]]></category>
		<category><![CDATA[zombies]]></category>
		<category><![CDATA[zre]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1314</guid>
		<description><![CDATA[Wer kennt eigentlich noch MUD&#8216;s? Diese textbasierten Rollenspiele über Telnet. Uralt und genau genommen dürfte mir das auch nichts sagen, denn das war vor meiner Zeit. Wie dem auch sei. Vor kurzem saß ich nachts vor meiner Shell und suchte irgendeine Ablenkung. Dachte dann an ein Python Projekt, welches ich zusammen mit Chris vor ca. [...]]]></description>
			<content:encoded><![CDATA[<p>Wer kennt eigentlich noch <a href="http://en.wikipedia.org/wiki/MUD">MUD</a>&#8216;s?  Diese textbasierten Rollenspiele über Telnet. Uralt und genau genommen dürfte mir das auch nichts sagen, denn das war vor meiner Zeit.</p>
<p>Wie dem auch sei. Vor kurzem saß ich nachts vor meiner Shell und suchte irgendeine Ablenkung. Dachte dann an ein <a href="http://noqqe.de/archives/118">Python Projekt</a>, welches ich zusammen mit Chris vor ca. 2 Jahren mal aufgegriffen hatte. Ich fand die Idee damals schon gut, aber es mangelte einfach an Python Kenntnissen.</p>
<p>Ich habe dann (auch wenn es schon spät war) versucht, das nochmal in Bash abzubilden. Nur ein bisschen interessanter. Eine kleine Welt kam dabei heraus, wie schon damals ausgedacht. In dieser Welt passieren Dinge, die durch Zufall ausgewählt und gewichtet werden, was sich auf die Bewohner dieser &#8220;Welt&#8221; auswirkt. In meiner jetzigen Version sollte allerdings bisschen was passieren. Irgendwer musste da kämpfen oder sowas. Ich ließ also Zombies und Humans auf dieser Welt gemeinsam leben. Es werden neue Lebewesen geboren, sie sterben wieder, greifen einander an und so weiter.</p>
<p><center><a href="http://zwetschge.org/blog/wp-content/uploads/2010/10/ice-cream-zombie.jpg"><img class="aligncenter size-full wp-image-1316" title="ice-cream-zombie" src="http://zwetschge.org/blog/wp-content/uploads/2010/10/ice-cream-zombie.jpg" alt="" width="500" height="375" /></a></center></p>
<p><a href="http://zwetschge.org/blog/wp-content/uploads/2010/10/ice-cream-zombie.jpg"></a>Im Klartext habe ich nichts anderes in dieses Bash-Script gepackt als die Anzahl der Menschen/Zombies auf der Welt und eine Hand voll Funktionen definiert, die &#8220;Events&#8221; darstellen, die von einer Schleife und einem Case bei jeder Runde zufällig ausgewählt werden. Das war&#8217;s auch schon. Eigentlich hat mich mehr der Grad an Zufälligkeit interessiert, der den Verlauf der erstellten Welt beeinflusst, wie viele Zombies greifen wie viele Menschen auf einer imaginären Farm an, können sich die Menschen wehren oder werden Sie von der Übermacht der Zombies einfach überrannt? Wie viele Opfer gibt es? Wer rottet wen zuerst aus?</p>
<p>Das war letzten Endes auch der Punkt der mich an ZRE (so hab ich das Script genannt) immernoch unterhält und amüsiert. Jedesmal wenn ich es starte, beginnt ein total neuer Verlauf dieser Welt, wer wann wo wen angreift und letzten Endes besiegt.</p>
<p>Ich hab das zombie-revolution-environment auf github hochgeladen. Ich weiss nicht wirklich was es ist, aber es unterhält mich.</p>
<p><a href="http://github.com/noqqe/zombie-revolution-environment">http://github.com/noqqe/zombie-revolution-environment</a><br />
<a href="http://github.com/noqqe/zombie-revolution-environment/raw/master/zre.bash">zombie-revolution-environment als RAW. </a></p>
<p>Usage ist relativ einfach.</p>
<p><code>$ wget http://github.com/noqqe/zombie-revolution-environment/raw/master/zre.bash<br />
$ ./zre.bash</code></p>
<p><a href="http://github.com/noqqe/zombie-revolution-environment/blob/master/zre.example">Ein beispielhafter Verlauf</a> klemmt auch in dem github Repository.</p>
<p>Für neue Ideen, Bugreports, Meinungen, Flamewars oder Shitstorms bin ich wie immer dankbar.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1314/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Git &#124; Verschiedene Repos zusammenführen</title>
		<link>http://noqqe.de/archives/1302</link>
		<comments>http://noqqe.de/archives/1302#comments</comments>
		<pubDate>Sat, 09 Oct 2010 15:28:58 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[branching]]></category>
		<category><![CDATA[fetch]]></category>
		<category><![CDATA[merge]]></category>
		<category><![CDATA[repos]]></category>
		<category><![CDATA[vereinen]]></category>
		<category><![CDATA[zusammenführen]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1302</guid>
		<description><![CDATA[In einem Anfall des Ordnungswahns entschloss ich mich im Mai (oder einem deren anderen 11 Monate des letzten Jahres) dazu, mein textbasiertes Wiki, meine Dotfiles und meine Scripte in separaten Git-Repos zu verwalten und zu verteilen. Mit der Zeit merkt man aber, dass das ziemlicher Unsinn war. Kurz: Ich brauchte eine Lösung, wie ich alle [...]]]></description>
			<content:encoded><![CDATA[<p>In einem Anfall des Ordnungswahns entschloss ich mich im Mai (oder einem deren anderen 11 Monate des letzten Jahres) dazu, mein textbasiertes Wiki, meine Dotfiles und meine Scripte in separaten Git-Repos zu verwalten und zu verteilen. Mit der Zeit merkt man aber, dass das ziemlicher Unsinn war.</p>
<p>Kurz: Ich brauchte eine Lösung, wie ich alle 3 Repositories (ohne History-Verlust) zusammen gemerged bekomme.</p>
<pre><code>/repos/
|-- dotfiles.git
|-- scripts.git
`-- wiki.git</code></pre>
<p>Hierfür hat <a href="http://zrajm.org/">Zrajm C Akfohg</a> schon eine <a href="http://zrajm.org/ref/git-repo-merging.html">wunderbare schnelle Lösung</a> gefunden.<br />
Zuerst ein neues Repo erstellen:</p>
<p><code>mkdir ~/repos/noqqe.git<br />
cd ~/repos/noqqe.git<br />
git init</code></p>
<p>Im Grunde wird jedes Repository in einen separaten Branch gefetched:</p>
<p><code>git fetch ~/repos/dotfiles master:dotfiles<br />
mkdir dotfiles #Subdir fuer dotfiles</code></p>
<p>Um die Files im neuen Branch jetzt in einen Unterordner umzumappen hat Zrajm auch einen wunderbaren Weg gefunden:</p>
<pre lang="bash">SUBDIR_NAME=dotfiles
BRANCH_NAME=dotfiles
git filter-branch --index-filter \
    'git ls-files -s | \
        sed "s-\t-&#038;'"$SUBDIR_NAME"'/-" | \
        GIT_INDEX_FILE=$GIT_INDEX_FILE.new git update-index --index-info &#038;&#038; \
        mv $GIT_INDEX_FILE.new $GIT_INDEX_FILE
    ' "$BRANCH_NAME"</pre>
<p>Wenn alles erfolgreich war, kann man den neuen Branch mit dem Master zusammenführen:</p>
<p><code>git merge dotfiles</code></p>
<p>und das Spiel wie beschrieben von vorne beginnen.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1302/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Twitter on CLI &#124; Twidge Interactive Shell</title>
		<link>http://noqqe.de/archives/1285</link>
		<comments>http://noqqe.de/archives/1285#comments</comments>
		<pubDate>Tue, 05 Oct 2010 12:47:10 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[alias]]></category>
		<category><![CDATA[cli]]></category>
		<category><![CDATA[cli-twitter]]></category>
		<category><![CDATA[customized]]></category>
		<category><![CDATA[follow]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[john goerzen]]></category>
		<category><![CDATA[shell]]></category>
		<category><![CDATA[twidge-sh]]></category>
		<category><![CDATA[twidge-shell]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[twitter-shell]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1285</guid>
		<description><![CDATA[Seit längerem benutze ich John Goerzen&#8216;s CLI Twitter Client Twidge. Weniger zum Posten als zum Lesen, aber dennoch kann ich dieses Stück Software nicht mehr weg denken. Ich finde Twidge erntet allgemein zu wenig Beachtung. Wie dem auch sei, sieht eine durchschnittliche Nutzung von Twidge wie folgt aus: $ twidge setup $ twidge lsrecent &#60;timpritlove&#62; Verkannt, [...]]]></description>
			<content:encoded><![CDATA[<p>Seit längerem benutze ich <a href="http://www.complete.org/JohnGoerzen">John Goerzen</a>&#8216;s CLI Twitter Client <a href="http://wiki.github.com/jgoerzen/twidge/">Twidge</a>. Weniger zum Posten als zum Lesen, aber dennoch kann ich dieses Stück Software nicht mehr weg denken. Ich finde Twidge erntet allgemein zu wenig Beachtung. Wie dem auch sei, sieht eine durchschnittliche Nutzung von Twidge wie folgt aus:</p>
<p><code>$ twidge setup<br />
$ twidge lsrecent<br />
&lt;timpritlove&gt; Verkannt, ignoriert, nahezu vergessen - aber sinnvoll, nützlich und wertvoll: das Semikolon!<br />
[...]<br />
$ twidge update "Ich benutze gerade Twidge"</code></p>
<p>Bei intensiver Nutzung nervt die Syntax allerdings etwas. Deshalb hab ich mich hingesetzt und eine Twidge-Shell gebaut.</p>
<p>Die angepasste Shell &#8220;<a href="http://github.com/noqqe/twidge/blob/master/twidge-sh">twidge-sh</a>&#8221; kann einfach über Aufruf ./twidge-sh gestartet werden.</p>
<p><code>$ wget http://github.com/noqqe/twidge/raw/master/twidge-sh<br />
$ chmod +x twidge-sh<br />
$ ./twidge-sh<br />
noqqe@twitter&gt; lsrecent<br />
&lt;rivva&gt; Skype jetzt für Android verfügbar – Skype Blog auf<br />
Deutsch http://rivva.de/QajD<br />
[...]<br />
noqqe@twitter&gt; update "Ich benutze gerade Twidge-Shell"<br />
noqqe@twitter&gt; lsdm<br />
noqqe@twitter&gt; follow technicallife</code></p>
<p>Die Twidge-Shell hat weiterhin folgende Features:</p>
<ul>
<li>Der Prompt wird aus der .twidgerc generiert (username@service&gt;)</li>
</ul>
<ul>
<li> Alle Standart Kommandos  von Twidge werden automatisch komplettiert und sind benutzbar (z.B. user@service&gt; lsrecent)</li>
</ul>
<ul>
<li> Alle in der .twidgerc definierten Aliase werden übernommen und sind ebenfalls verwendbar. (z.B. user@service&gt; rls)</li>
</ul>
<ul>
<li> Die Twidge-Shell funktioniert weiterhin als ganz normale Shell mit allen Zusätzen und Funktionen.</li>
</ul>
<p>Ich habe mich dabei an Ryan Tomayko&#8217;s git-sh orientiert, der ähnliches für Git gebaut hat. Was übrigens auch wirklich gut funktioniert.</p>
<p><a href="http://github.com/noqqe/twidge">Mein Twidge-Fork auf Github (mit Twidge-sh)</a><br />
<a href="http://github.com/jgoerzen/twidge/">Twidge von John Goerzen</a><br />
<a href="http://packages.debian.org/search?keywords=twidge">Twidge zum Download für Debian</a><br />
<a href="http://packages.ubuntu.com/de/karmic/twidge">Twidge zum Download für Ubuntu</a><br />
<a href="http://github.com/noqqe/twidge/raw/master/twidge-sh">Twidge-Shell Script zum Download</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1285/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter OAuth &#124; Twidge reanimieren</title>
		<link>http://noqqe.de/archives/1262</link>
		<comments>http://noqqe.de/archives/1262#comments</comments>
		<pubDate>Wed, 29 Sep 2010 16:34:51 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Debian]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[Key]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[twidge]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1262</guid>
		<description><![CDATA[Da Twitter ja glorreicher Weise das Auth-Verfahren für Dritt-Software umgestellt hat, funktioniert mein Twitter-Logfile nun nicht mehr. Wie so manch anderer Client oder Schnittstelle. Die in Debian-Stable ausgelieferte Version 0.99.3 von Twidge unterstützt noch kein OAuth. Das mag jetzt niemandes Schuld sein. Denn warscheinlich liegt es weder am Author der Software, noch am Packaging. Wohl [...]]]></description>
			<content:encoded><![CDATA[<p>Da Twitter ja glorreicher Weise das Auth-Verfahren <a href="http://disfunctions.de/tutorials/twitter-oauth-gwibber-upgraden/">für Dritt-Software umgestellt</a> hat, funktioniert <a href="http://noqqe.de/archives/833">mein Twitter-Logfile</a> nun nicht mehr. Wie so manch anderer Client oder Schnittstelle. Die in Debian-Stable ausgelieferte Version 0.99.3 von Twidge unterstützt noch kein OAuth. Das mag jetzt niemandes Schuld sein. Denn warscheinlich liegt es weder am <a href="http://github.com/jgoerzen/twidge">Author der Software</a>, noch am <a href="http://packages.debian.org/squeeze/twidge">Packaging</a>. Wohl eher an der Zeit die ein Debian Paket braucht, um von Testing o. Unstable in Stable zu gelangen. Was auch gut so ist.</p>
<p>Da ich Twidge aber auch außerhalb des Logfiles sehr gerne benutze, behob ich das Problem durch Installieren der Testing-Version. Zu finden unter http://packages.debian.org/squeeze/twidge</p>
<p><code>$ twidge -v<br />
[...]<br />
This is Twidge, version 0.99.4.  Copyright (c) 2008 John Goerzen</code></p>
<p><code>$ wget http://ftp.de.debian.org/debian/pool/main/t/twidge/twidge_1.0.5_i386.deb</code></p>
<p><code>$ dpkg -i twidge_1.0.5_i386.deb<br />
Vorbereiten zum Ersetzen von twidge 0.99.4 (durch twidge_1.0.5_i386.deb) ...<br />
Entpacke Ersatz für twidge ...<br />
dpkg: Abhängigkeitsprobleme verhindern Konfiguration von twidge:<br />
twidge hängt ab von libffi5 (&gt;= 3.0.4); aber:<br />
Paket libffi5 ist nicht installiert.<br />
dpkg: Fehler beim Bearbeiten von twidge (--install):<br />
Fehler traten auf beim Bearbeiten von:<br />
twidge</code></p>
<p><code>$ aptitude install libffi5<br />
Die folgenden NEUEN Pakete werden zusätzlich installiert:<br />
libffi5<br />
Die folgenden teilweise installierten Pakete werden konfiguriert:<br />
twidge<br />
Richte libffi5 ein (3.0.7-1) ...<br />
Richte twidge ein (1.0.5) ...<br />
Aktueller Status: 0 kaputt [-1].</code></p>
<p>Die aktuelle Version von Twidge wäre also somit installiert. Zwar mit dpkg, aber wenigstens wird nachher bei neuereren Versionen geupdated :). Twidge stellt jetzt einen (wie ich finde) hervorragend gelösten Konfigurationsweg für die neue OAuth.</p>
<p><code>$ twidge setup<br />
Please cut and paste this URL and open it in a web browser<br />
Click Allow when prompted.  You will be given a numeric<br />
key in your browser window.  Copy and paste it here.<br />
</code><code>https://api.twitter.com/oauth/authorize?oauth_token=xxx<br />
Authorization key: 123456789<br />
Successfully authenticated!<br />
Twidge has now been configured for you and is ready to use.</code></p>
<p>Hat irgendwie fast ein bisschen was von Wizard ;). Im Endeffekt sind es aber nur ein paar kleine Schritte:</p>
<ul>
<li>Url öffnen</li>
<li>&#8220;App&#8221; autorisieren oder &#8220;Erlauben&#8221;</li>
<li>App-Authkey kopieren</li>
<li>Twidge vorwerfen</li>
</ul>
<p>Danach kann man das Internet wieder mit dem eigenen daily Nonsense füllen. Mit einem CLI-Client :). Was mich nebenbei noch fasziniert hat: <a href="http://packages.ubuntu.com/search?lang=de&amp;searchon=names&amp;keywords=twidge">http://packages.ubuntu.com/search?lang=de&amp;searchon=names&amp;keywords=twidge</a> . Es gibt Twidge für Ubuntu also für Jaunty, Karmic und Maverick. Warum nicht für Lucid? Ich konnte es in meinen Quellen in Xubuntu (Lucid) auch nicht finden.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1262/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>tismc &#124; This is static markdown content!</title>
		<link>http://noqqe.de/archives/1243</link>
		<comments>http://noqqe.de/archives/1243#comments</comments>
		<pubDate>Sun, 19 Sep 2010 14:09:00 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[content]]></category>
		<category><![CDATA[cronjob]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[markdown]]></category>
		<category><![CDATA[md]]></category>
		<category><![CDATA[static]]></category>
		<category><![CDATA[tismc]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1243</guid>
		<description><![CDATA[Vorher noch nie gehört? Kann auch gar nicht sein. Obacht, Eigengewächs. Das sich gerade formierende Hobby-Eishockey-Team, dem ich angehöre, war bisher ohne großartige HomePage ausgekommen. Es bestanden kleine Basteleien unseren Captains, aber so wirklich vollständig war das dann auch nicht. Ich machte mich auf die Suche nach einem minimalen CMS. Irgendwas kleines Schönes, in dem [...]]]></description>
			<content:encoded><![CDATA[<p>Vorher noch nie gehört? Kann auch gar nicht sein. Obacht, Eigengewächs.</p>
<p>Das sich gerade formierende Hobby-Eishockey-Team, dem ich angehöre, war bisher ohne großartige HomePage ausgekommen. Es bestanden kleine Basteleien unseren Captains, aber so wirklich vollständig war das dann auch nicht. Ich machte mich auf die Suche nach einem minimalen CMS. Irgendwas kleines Schönes, in dem wir unseren minimalen Content unterbringen können. Ausmaße wie etwa <a href="http://mytinytodo.net">Mytinytodo</a> für Todo-Listen (von dem ich sehr begeistert bin ;) ). Ich wurde nicht wirklich fündig. Alle Tipps die ich bekam waren zu umfangreich und somit einfach Overkill.</p>
<p>Die Sache schlief irgendwie 1-2 Monate ein, bis ich von der <a href="daringfireball.net/projects/markdown/">Markdown</a>-Language gehört habe. Diese Mischung aus .txt-File Syntax und HTML-Generator gefiel mir und ich dachte wieder an die Hockey-Page. Muss es immer PHP und SQL sein? Eigentlich nicht.</p>
<p>Der Plan war: In einen Unterordner content/ für jede Seite ein *.markdown-File zu laden, aus welchem generisch die .html Files gebaut werden. Umgeben Natürlich von header.tmpl und footer.tmpl. Auf dem Filesystem sieht das in etwa so aus:</p>
<pre><code>|-- content
|   |-- 001.impressum.markdown
|   |-- 001.index.markdown
|   `-- 002.index.markdown
|-- css
|   |-- readme.txt
|   `-- style.css
|-- impressum.html
|-- index.html
|-- tismc.bash
`-- tmpl
      |-- footer.tmpl
      `-- header.tmpl</code></pre>
<p>Ein kleines Bashscript durchsucht den content/-Ordner und baut für jedes gefundene .markdown-File die HTML-Page.</p>
<p><code>$ ./tismc.bash<br />
page-dir is now /path/to/homepage<br />
--- parsing impressum.html<br />
adding header<br />
parsing content/001.impressum.markdown<br />
adding footer<br />
--- parsing index.html<br />
adding header<br />
parsing content/002.index.markdown<br />
parsing content/001.index.markdown<br />
adding footer</code></p>
<p>So kann auch mein Captain oder andere Dritte, neue Inhalte in die Page hochladen. Denn Markdown-Syntax ist nicht wirklich <a href="http://markdown.de/syntax/">kompliziert</a>. Allerdings gab es da noch ein Problem. Eigentlich drei. Die hießen header.tmpl, footer.tmpl und style.css. Ich bin in solchen Design-Dingen sehr schlecht, aber mein Berufsschulkollege <a href="http://savier.zwetschge.org">Holger</a>, der öfters mal wunderschöne Templates aus dem Ärmel schüttelt, sagte natürlich nicht nein und erstellte mir die nötigen Files &lt;3. Unter <a href="http://ice-bullocks.zwetschge.org">http://ice-bullocks.zwetschge.org</a> kann man das Ergebnis begutachten. Sind Leberkäse-Brötchen eigentlich anerkannte Währung unter Designern ?</p>
<p>Den Source zum Anschauen gibts unter:<br />
<a href="http://git.zwetschge.org/?p=this-is-static-markdown-content.git;a=blob;f=tismc.bash">bash-script</a><br />
<a href="http://git.zwetschge.org/?p=this-is-static-markdown-content.git;a=tree">Homepage-Dir</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1243/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google &#124; Dank der US-Army ist mir Street-View egal.</title>
		<link>http://noqqe.de/archives/1238</link>
		<comments>http://noqqe.de/archives/1238#comments</comments>
		<pubDate>Tue, 07 Sep 2010 17:19:26 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[army]]></category>
		<category><![CDATA[einspruchsfristen]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[grafenwöhr]]></category>
		<category><![CDATA[street]]></category>
		<category><![CDATA[streetview]]></category>
		<category><![CDATA[truppenübungsplatz]]></category>
		<category><![CDATA[usarmy]]></category>
		<category><![CDATA[verpixelt]]></category>
		<category><![CDATA[view]]></category>
		<category><![CDATA[zensur]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1238</guid>
		<description><![CDATA[Es gibt eigentlich zwei Gründe warum die ganze Google Streetview Diskussion regungslos an mir vorbei zieht. Der Erste ist wie bei den meisten üblich Gleichgültigkeit. Der Zweite (und wesentlich Interessantere) ist allerdings, dass ich nahe dem Truppenübungsplatz Grafenwöhr wohnhaft bin. Dieser Stützpunkt der United States Army Europe ist einer der größten in Europa auf deinen scharf [...]]]></description>
			<content:encoded><![CDATA[<p>Es gibt eigentlich zwei Gründe warum die ganze Google Streetview Diskussion regungslos an mir vorbei zieht. Der Erste ist wie bei den meisten üblich Gleichgültigkeit. Der Zweite (und wesentlich Interessantere) ist allerdings, dass ich nahe dem <a href="http://de.wikipedia.org/wiki/Truppen%C3%BCbungsplatz_Grafenw%C3%B6hr">Truppenübungsplatz Grafenwöhr</a> wohnhaft bin. Dieser Stützpunkt der United States Army Europe ist einer der größten in Europa auf deinen scharf geschossen wird und unter anderem auch einen Militärflughafen beherbergt.</p>
<p>Wenn man dieses Gebiet via Google Maps nun genauer unter die Lupe nimmt stellt man fest, dass ziemlich rechteckig um diesen Übungsplatz herum eine deutlich weniger hohe Auflösung verfügbar ist als für die restliche Umgebung.</p>
<p>Zur Veranschaulichung eine <a href="http://maps.google.de/maps/ms?ie=UTF8&amp;t=h&amp;hl=de&amp;msa=0&amp;msid=112531280274380882803.00048f986e29daaba410a&amp;ll=49.67696,11.685677&amp;spn=0.152181,0.445976&amp;z=12"><strong>Map (vollständiger Link)</strong></a></p>
<p><iframe width="425" height="350" frameborder="0" scrolling="no" marginheight="0" marginwidth="0" src="http://maps.google.de/maps/ms?ie=UTF8&amp;t=h&amp;hl=de&amp;msa=0&amp;msid=112531280274380882803.00048f986e29daaba410a&amp;ll=49.67696,11.685677&amp;spn=0.152181,0.445976&amp;output=embed"></iframe><br /><small><a href="http://maps.google.de/maps/ms?ie=UTF8&amp;t=h&amp;hl=de&amp;msa=0&amp;msid=112531280274380882803.00048f986e29daaba410a&amp;ll=49.67696,11.685677&amp;spn=0.152181,0.445976&amp;source=embed" style="color:#0000FF;text-align:left">Grafenwöhr Truppenübungsplatz</a> auf einer größeren Karte anzeigen</small></p>
<p>Wer kurz damit herumspielt erkennt, dass nicht mal ein Haus in nahe gelegenen Städten durch den Zoom auszumachen ist. Und wird Google hier wohl eines von ihren Street View-Autos durch schicken ? Eher nicht.</p>
<p>Interessant finde ich aber, von wem diese regionale Zensur ausgeht und wieso. Aus Angst vor Terror?</p>
<p>Wie dem auch sei. Google Street View ist für mich kein Thema.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1238/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Gitosis &#124; Zweischneidigkeit des Auth-Verfahrens</title>
		<link>http://noqqe.de/archives/1208</link>
		<comments>http://noqqe.de/archives/1208#comments</comments>
		<pubDate>Wed, 25 Aug 2010 18:06:47 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[auth]]></category>
		<category><![CDATA[denied]]></category>
		<category><![CDATA[deny]]></category>
		<category><![CDATA[dsa]]></category>
		<category><![CDATA[ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in environment]]></category>
		<category><![CDATA[gitosis]]></category>
		<category><![CDATA[gitosis-serve]]></category>
		<category><![CDATA[problem]]></category>
		<category><![CDATA[PTY allocation request failed on channel 0]]></category>
		<category><![CDATA[publickey]]></category>
		<category><![CDATA[pulic]]></category>
		<category><![CDATA[rsa]]></category>
		<category><![CDATA[ssh]]></category>
		<category><![CDATA[sshlogin]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1208</guid>
		<description><![CDATA[Ein Nachtrag und zugleich ein ganz besonders unschöner Zustand kam mir gestern unter die Finger. Gitosis benutzt bekanntermaßen SSH-Public-Keys zum authentifizieren der User, die in Git-Repositories arbeiten dürfen. Dieser Austausch zwischen Reporitory und Arbeitskopie passiert ebenfalls über SSH-Port 22. Die Benutzer, die sich dort anmelden, dürfen allerdings keinen direkten SSH-Zugriff bekommen. Soweit die Theorie. Wenn [...]]]></description>
			<content:encoded><![CDATA[<p>Ein <a href="http://noqqe.de/archives/1175">Nachtrag</a> und zugleich ein ganz besonders unschöner Zustand kam mir gestern unter die Finger. Gitosis benutzt bekanntermaßen SSH-Public-Keys zum authentifizieren der User, die in Git-Repositories arbeiten dürfen. Dieser Austausch zwischen Reporitory und Arbeitskopie passiert ebenfalls über SSH-Port 22. Die Benutzer, die sich dort anmelden, dürfen allerdings keinen direkten SSH-Zugriff bekommen. Soweit die Theorie.</p>
<p>Wenn man seinen Public-Key also Gitosis zur automatischen Authentifizierung vorwirft, wird man in das System der Git-Benutzer eingespeißt.</p>
<p><code>cp id_rsa.pub ~/gitosis/keydir/user@host.pub<br />
git add keydir/*<br />
git commit -a -m "user hinzugefügt"<br />
git push</code></p>
<p>Bei erneuter Anmeldung an das System passiert folgendes:</p>
<p><code>$ ssh user@gitserver.domain.com<br />
PTY allocation request failed on channel 0<br />
ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in environment.<br />
Connection to git closed.</code></p>
<p>Ich darf mich also nicht mehr einloggen. Bin ich normaler Benutzer, der wirklich nur mit git arbeiten darf, ist das auch gut so. Denn so wird die Sicherheit des Systems gewahrt. Bin ich allerdings Administrator des git-Remote-Servers sieht das anders aus. Ich habe ab diesem Zeitpunkt keine Möglichkeit mehr mein System (auf gewohntem Wege) zu pflegen.</p>
<p>Die Verbose-Ausgabe von ssh lässt darauf schließen was passiert:</p>
<p><code>$ ssh -v user@gitserver.domain.com<br />
debug1: Authentications that can continue: publickey,password<br />
debug1: Next authentication method: publickey<br />
debug1: Trying private key: /home/user/.ssh/identity<br />
debug1: Offering public key: /home/user/.ssh/id_rsa<br />
debug1: Remote: Forced command: gitosis-serve user@host<br />
debug1: Remote: Port forwarding disabled.<br />
debug1: Remote: X11 forwarding disabled.<br />
debug1: Remote: Agent forwarding disabled.<br />
debug1: Remote: Pty allocation disabled.<br />
debug1: Server accepts key: pkalg ssh-rsa blen 277<br />
debug1: read PEM private key done: type RSA<br />
debug1: Remote: Forced command: gitosis-serve user@host<br />
debug1: Remote: Port forwarding disabled.<br />
debug1: Remote: X11 forwarding disabled.<br />
debug1: Remote: Agent forwarding disabled.<br />
debug1: Remote: Pty allocation disabled.<br />
debug1: Authentication succeeded (publickey).<br />
PTY allocation request failed on channel 0<br />
ERROR:gitosis.serve.main:Need SSH_ORIGINAL_COMMAND in environment.<br />
debug1: client_input_channel_req: channel 0 rtype exit-status reply 0<br />
debug1: client_input_channel_req: channel 0 rtype eow@openssh.com reply 0<br />
debug1: channel 0: free: client-session, nchannels 1<br />
Connection to git closed.</code></p>
<p>Die Authentifizierung mit meinen Public-Key klappt zwar, aber ich werde in eine gitosis-serve ssh-session gezwungen und damit bleibt mir der ssh-zugang ins System verwehrt. Nicht mit dieser Situation rechnend, starrte ich völlig perplex auf mein Terminal und die Reverse-Engeneering-Abteilung in meinem Kopf ratterte vor sich hin. Was passiert da und warum passiert das? Und vor allem: Wie komme ich jetzt wieder auf den Server?<br />
<br />
<h3>Solve it!</h3>
<p><strong>1. Public-Key Auth deaktivieren</strong><br />
Ohne PubKey Auth, wird der ssh-daemon nicht erkennen, das er mir eine git-serve session geben müsste. Dem lokalen ssh-client beizubringen sich nicht mit dem Public-Key am entfernten System anzumelden, wäre also eine Lösung (aber keine Schöne). Folgende Konfiguration führt dazu.<br />
<code>$ vi ~/.ssh/config<br />
Host git<br />
HostName gitserver.domain.com<br />
User root<br />
pubkeyauthentication no<br />
</code></p>
<p><strong>2. Different User</strong><br />
Die Alternative zu dieser dauerhaften Veränderung ist (wenn vorhanden) einen anderen Benutzer zu verwenden um sich ins System einzuloggen und erst anschließend zu root zu werden.</p>
<p><strong>3. gitosis-serve zurechtstutzen</strong><br />
Nachdem der Zugriff auf das System  wiederhergestellt ist, gehts zum Bugfix (gitosis-serve). gitosis muss diesen Umstand in irgendeiner ssh-config erzwingen. Ich verstehe nicht ganz warum, aber gitosis schrieb mir diese Änderungen in /root/.ssh/authorized_keys.</p>
<p><code>command="gitosis-serve user@host",no-port-forwarding,no-X11-forwarding,no-agent-forwarding,no-pty ssh-rsa AABBB3NzaC1yc2EAAAABIwAAAQEAyjwZCinCmB4oJJZ4RuiSqrQmiYE8+C+JKpTmiPkdfojUbiB9gm3BOhsYAdu99vP7yDOaIqg9e2dk/4HGm+P8obUR7lVrinMf5NvoRkOa8EfGdPJRz4ABOGRDte454bwestyWlvLhnKyWd+a9lU07siDJg5b1NbitIXkXa76V+lGMrqkixaDC6meZQEjZlxnVMpgzC5wyEQy2cVwUnX+Swiw68gsHsMYKBNsiVgNQ7nY8fa5lhV13E6L2aYAIorVpudS1bTiQfvfXCpVtJkJVSNPP6RzUtuSSErhsqOn1o2QtVjWhH5J/Y0D1b4eeEAgmdhq7554kQupJ9LgRww== user@host</code></p>
<p>Dieser Eintrag ist für das Verhalten verantwortlich. Auskommentieren oder entfernen aller Parameter bis ssh-rsa fixt das Problem . Happy Committing.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1208/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Git &#124; Dateien wiederherstellen</title>
		<link>http://noqqe.de/archives/1201</link>
		<comments>http://noqqe.de/archives/1201#comments</comments>
		<pubDate>Wed, 18 Aug 2010 20:53:13 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[checkout]]></category>
		<category><![CDATA[datei]]></category>
		<category><![CDATA[dateien]]></category>
		<category><![CDATA[files]]></category>
		<category><![CDATA[git checkout]]></category>
		<category><![CDATA[HEAD]]></category>
		<category><![CDATA[recover]]></category>
		<category><![CDATA[retten]]></category>
		<category><![CDATA[verloren]]></category>
		<category><![CDATA[wiederherstellen]]></category>
		<category><![CDATA[zurückholen]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1201</guid>
		<description><![CDATA[Versehentlich gelöschte Dateien recovern. Schön wenn einem dann klar wird, warum man ein VCS benutzt. In der Annahme das wahrscheinlich mehr als genug (genug == >3) Blogs oder HowTo&#8217;s diese Thematik bereits behandeln, erstelle ich trotzdem kurz einen Post, wie sich Dateien mit Git zurückholen lassen. Datei ging gerade eben verloren aus aktuellem HEAD wiederherstellen: [...]]]></description>
			<content:encoded><![CDATA[<p>Versehentlich gelöschte Dateien recovern. Schön wenn einem dann klar wird, warum man ein VCS benutzt. In der Annahme das wahrscheinlich mehr als genug (genug == >3) Blogs oder HowTo&#8217;s diese Thematik bereits behandeln, erstelle ich trotzdem kurz einen Post, wie sich Dateien mit Git zurückholen lassen.</p>
<p><strong>Datei ging gerade eben verloren</strong><br />
 aus aktuellem HEAD wiederherstellen:<br />
<code>$ git checkout HEAD -- verloren.txt</code></p>
<p><strong>Datei hat vor gewisser Zeit einmal existiert</strong><br />
Aus vorher gegangenem Commit, Branch oder Tag. Feststellen, wo das File noch existiert haben könnte:<br />
<code>$ git log --oneline<br />
5aadc10 formatierte Ausgabe<br />
88e22fb Aufräumaktion<br />
746f92c bugfix #1234<br />
ee8a1da initial commit</code></p>
<p>Vorletzter Commit 88e22fb betitelt mit &#8220;Aufräumaktion&#8221; lässt stark darauf schließen, dass hier etwas verloren gegangen sein könnte. Checkout lässt sich eigentlich mit so ziemlich allem füttern, was ein Object ist und anhand eines SHA1 Hashwertes identifizieren lässt. Gewählt wird der Commit <em>vor</em> der Aufräumaktion.</p>
<p><code>git checkout 746f92c -- verloren.txt</code></p>
<p>Nachdem die Datei nun wieder im aktuellen Working-Directory liegt:</p>
<p>via git-add hinzufügen<br />
<code>git add verloren.txt </code></p>
<p>und Commit absetzen.<br />
<code>git commit -a -m "Ich werde ab jetzt besser aufpassen"</code></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1201/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bash &#124; NerdTool Config for MacOSX</title>
		<link>http://noqqe.de/archives/1182</link>
		<comments>http://noqqe.de/archives/1182#comments</comments>
		<pubDate>Sun, 15 Aug 2010 11:44:27 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[cpu]]></category>
		<category><![CDATA[daemons]]></category>
		<category><![CDATA[established]]></category>
		<category><![CDATA[geektool]]></category>
		<category><![CDATA[gist]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[hostname]]></category>
		<category><![CDATA[listen]]></category>
		<category><![CDATA[memory]]></category>
		<category><![CDATA[nerdtool]]></category>
		<category><![CDATA[Network]]></category>
		<category><![CDATA[processes]]></category>
		<category><![CDATA[ps aux]]></category>
		<category><![CDATA[ram]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[skript]]></category>
		<category><![CDATA[uptime]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1182</guid>
		<description><![CDATA[GeekTool und NerdTool für MacOSX sind schöne Programme, welche Ausgaben von Bash-Scripten auf den Desktop ausgeben und ständig aktualiseren. Kein Geheimnis und nichts Neues. Das Netz ist voll von schönen Spielereien für diese Tools. Hier mein Setup. (Benutze Nerdtool, Script ist aber unabhängig von der Software) Bash-Script: http://gist.github.com/525385 ESC=$(printf "\e") echo "$ESC[34;47mDATE$ESC[0m" date echo "" [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://projects.tynsoe.org/en/geektool/">GeekTool</a> und <a href="http://www.macupdate.com/info.php/id/31909/nerdtool">NerdTool</a> für MacOSX sind schöne Programme, welche Ausgaben von Bash-Scripten auf den Desktop ausgeben und ständig aktualiseren. Kein Geheimnis und nichts Neues.<br />
Das Netz ist voll von schönen Spielereien für diese Tools. Hier mein Setup. (Benutze Nerdtool, Script ist aber unabhängig von der Software)</p>
<p><center><a href="http://zwetschge.org/blog/wp-content/uploads/2010/08/Bildschirmfoto-2010-08-15-um-13.19.43.png"><img class="aligncenter size-medium wp-image-1184" title="Bildschirmfoto 2010-08-15 um 13.19.43" src="http://zwetschge.org/blog/wp-content/uploads/2010/08/Bildschirmfoto-2010-08-15-um-13.19.43-300x187.png" alt="" width="300" height="187" /></a></center></p>
<p>Bash-Script: <a href="http://gist.github.com/525385">http://gist.github.com/525385</a></p>
<pre><code>ESC=$(printf "\e")
echo "$ESC[34;47mDATE$ESC[0m"
date
echo ""
echo "$ESC[34;47mUPTIME$ESC[0m"
uptime
echo ""
echo "$ESC[34;47mSTATUS$ESC[0m"
top -l1 -u -o cpu -S | head -n 12
echo ""
echo "$ESC[34;47mEstablished$ESC[0m"
lsof -i -n | grep -i established | awk '{print $1" "$8" "$9 }' | head -n 18
echo ""
echo "$ESC[34;47mListen$ESC[0m"
lsof -i -n | grep -i listen | awk '{print $1" "$8" "$9 }' | head -n 18 </code></pre>
<p>Besonderheit hierbei: Der Escape-Character muss so _zwingend_ wie beschrieben eingesetzt werden. Normale Ausgabe wird nicht entsprechend wahrgenommen. Er ist nötig um die Farbtöne innerhalb des Scripts zu managen ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1182/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gitosis &#124; Debugging, Undokumentiertes und Konfiguration</title>
		<link>http://noqqe.de/archives/1175</link>
		<comments>http://noqqe.de/archives/1175#comments</comments>
		<pubDate>Thu, 12 Aug 2010 18:46:44 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[accounting]]></category>
		<category><![CDATA[debug]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[format]]></category>
		<category><![CDATA[gitdaemon]]></category>
		<category><![CDATA[gitosis]]></category>
		<category><![CDATA[gitosis hacking]]></category>
		<category><![CDATA[gitosis-admin.git/hooks/post-update]]></category>
		<category><![CDATA[gitosis.conf]]></category>
		<category><![CDATA[gitserver]]></category>
		<category><![CDATA[gitweb]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[hook]]></category>
		<category><![CDATA[how to]]></category>
		<category><![CDATA[keydir]]></category>
		<category><![CDATA[loglevel]]></category>
		<category><![CDATA[post-update]]></category>
		<category><![CDATA[pubkey]]></category>
		<category><![CDATA[public key]]></category>
		<category><![CDATA[setup]]></category>
		<category><![CDATA[subdirectories]]></category>
		<category><![CDATA[subdirs]]></category>
		<category><![CDATA[syntax]]></category>
		<category><![CDATA[unterordner]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1175</guid>
		<description><![CDATA[Aktuell setze ich mich mit Gitosis auseinander. Ja, auseinander setzen ist gut ausgedrückt. Dieses widerspenstige, (standardmäßig) wenig gesprächige und nur oberflächlich dokumentierte Stück Software sträubt sich vehement gegen den tieferen Einsatz und komplexeren Ordnerhierarchien. Also im Klartext: Ich finde Gitosis super. Der Ansatz ist gut. Definierbare Rechte und Gruppenorganisation für Git-Repositories. Im Web findet man [...]]]></description>
			<content:encoded><![CDATA[<p>Aktuell setze ich mich mit <a href="http://eagain.net/gitweb/?p=gitosis.git;a=summary">Gitosis</a> auseinander. Ja, auseinander setzen ist gut ausgedrückt. Dieses  widerspenstige, (standardmäßig) wenig gesprächige und nur <a href="http://eagain.net/gitweb/?p=gitosis.git;a=blob;f=README.rst;h=92047762c38cdf018a901b48a5a092796f51500e;hb=dedb3dc63f413ed6eeba8082b7e93ad136b16d0d">oberflächlich  dokumentierte</a> Stück Software sträubt sich vehement gegen den  tieferen Einsatz und komplexeren Ordnerhierarchien.</p>
<p>Also im Klartext: Ich finde Gitosis super. Der Ansatz ist gut.  Definierbare Rechte und Gruppenorganisation für Git-Repositories. Im Web  findet man <a href="http://scie.nti.st/2007/11/14/hosting-git-repositories-the-easy-and-secure-way">unzählige</a> <a href="http://bogdan.org.ua/2009/02/20/gitosis-how-to-add-new-repository.html">How</a>-<a href="http://www.mantisbt.org/wiki/doku.php/mantisbt:gitosis_management">To&#8217;s</a> die eine Standardinstallation wirklich gut und übersichtlich  dokumentieren bzw. dazu anleiten. Speziellere Anpassungen und kleinere  Grauzonen hingegen leider gar nicht.</p>
<p>Um den Überblick über kleinere Mängel zu behalten und auch zu  dokumentieren:</p>
<h3>(1) post-update &#8211; Hook-Problematik</h3>
<p>Die Funktionsweise von Gitosis ist eigentlich denkbar simpel. Konfigurationsdatei syntaxgerecht anpassen  und innerhalb des admin-repos committen+pushen. Ist die neue Config  gepusht und der Benutzer bzw. das neue Repo nicht ansprechbar, verbringt man lange Zeit damit, Configs und Pubkeys (siehe 2) zu  kontrollieren und erneut zu initialisieren. An dieser Stelle begegnet einem  schon das erste Problem, welches Kenntnis über die Funktionsweise von  Gitosis voraussetzt und hervorragend schlecht dokumentiert ist.<br />
<code>ERROR:gitosis.serve.main:Repository read access denied fatal: The remote end hung up unexpectedly</code><br />
Nach dem  das Master-Repo die gepushte Version von Gitosis erhält, führt es einen  sogenannten <a href="http://www.kernel.org/pub/software/scm/git/docs/githooks.html">Hook</a> aus. Dieser Hook ist ein Skript (bzw. ein Symlink dazu) welches die  neue Konfiguration der Authentifizierungsstelle von Gitosis einließt. Der erste Fehler der (wirklich häufig) passiert ist, dass dieses Skript schlicht weg einfach nicht ausführbar  ist. Das lässt sich natürlich sehr einfach durch</p>
<p><code>chmod 755  /home/git/repositories/gitosis-admin.git/hooks/post-update</code></p>
<p>lösen. Aber der knackende Punkt stellt (wie ich finde) die fehlende Meldung dieses Fehlers dar. Gitosis teilt einem einfach nicht mit,  dass der Hook fehlschlug und die getätigten Änderungen komplett für  die Katz waren.</p>
<h3>(2) Pub-Key-Format</h3>
<p>Ein weiteres undefiniertes Loch der Konfiguration ist das Format, in  dem der PublicKeys im conf-File angegeben werden muss.</p>
<p>Abgelegte Keys in gitosis-admin.git/keydir/ <strong>müssen</strong> mit .pub  enden. Sonst werden diese nicht als Keys erkannt. Das ist das  kleinere Übel. Die, für mich etwas unklare, Dokumentation darüber findet sich  in den verschiedensten Varianten. Wie soll der PublicKey in der  gitosis.conf hinterlegt werden?</p>
<p>&#8220;Wer wird Millionär&#8221;-mäßig kann ich jetzt nach dem  Trial-and-Error-Verfahren auflösen. Die endlosen Variationen von  Filenamen und Config-Aufruf, die ich testen musste, damit ich mich  anmelden durfte, haben sich also gelohnt.</p>
<table>
<tbody>
<tr>
<td>( ) Name des Key-Files user@host.pub</td>
<td>( ) Im File hinterlegtes Suffix user@host</td>
</tr>
<tr>
<td>(X) FQDN user@host.domain.com</td>
<td>( ) Nur User zB. jdoe wie dokumentiert</td>
</tr>
</tbody>
</table>
<h3>(3) Gitosis, sprich mit mir.</h3>
<p>Ein weniger behütetes Geheimnis, ist die Gesprächigkeit von Gitosis. Im Konfigurationsfile lässt sich das LogLevel deklarieren.<br />
<code>[gitosis]<br />
loglevel = DEBUG<br />
gitweb = no<br />
git-daemon = no<br />
</code><br />
Siehe da, Informationen!</p>
<pre><code>DEBUG:gitosis.serve.main:Got command "git-receive-pack 'repo1'"
DEBUG:gitosis.access.haveAccess:Access check for 'user@domain.com' as 'writable' on 'repo1'...
DEBUG:gitosis.group.getMembership:found 'user@domain.com' in 'domain.com'
DEBUG:gitosis.access.haveAccess:Access ok for 'user@domain.com' as 'writable' on 'repo1'
DEBUG:gitosis.access.haveAccess:Using prefix 'repositories' for 'repo1'
Initialized empty Git repository in /home/git/repositories/repo1.git/
DEBUG:gitosis.gitdaemon:Global default is 'deny'
DEBUG:gitosis.gitdaemon:Walking '.', seeing ['repo1', 'repo2', 'repo3', 'gitosis-admin.git']
DEBUG:gitosis.gitdaemon:Deny 'gitosis-admin'
DEBUG:gitosis.gitdaemon:Walking 'repo1', seeing ['justatest.git']
DEBUG:gitosis.gitdaemon:Deny 'repo1/justatest'
DEBUG:gitosis.serve.main:Serving git-receive-pack 'repositories/repo1.git'</code></pre>
<p>Diese Infos werden nun zu fast jeder Gelegenheit ausgegeben. Pushen lokal, Authentifizieren per Remote usw. Für weitere Administration mit Gitosis unabdingbar.</p>
<h3>(4) Subdirectories handhaben</h3>
<p>Angenommen ich habe oder möchte eine Ordnerstruktur meiner Projekte die nicht alle in <em>repositories/</em> liegen. Dieser kleine total untriviale Umstand, lässt sich einfach nirgends nachlesen. Um das Ganze zu verdeutlichen, habe ich kurz eine kleine Umgebung angelegt und mit <em>tree -L 2</em> ausgegeben:</p>
<pre><code>`-- repositories
    |-- subdir1
    |   |-- repo1.git
    |   |-- repo2.git
    |   `-- repo3.git
    |-- subdir2
    |   `-- test.git
    `-- subdir3</code></pre>
<p>Angelege und initalisierte Repos werden zwar in der DEBUG-Ausgabe von Gitosis wargenommen (siehe 3.), aber einfach übergangen. Stattdessen wird ein neues Repo in <em>repositories/</em> angelegt. Zumindest, wenn man der Konfiguration folgt, wie sie in 95% der Fällen im Netz zu finden ist. Als Faustregel für Unterordner gilt also: Zwingend jeden(!) Pfad mit Angabe des Subdirs angeben.<br />
Remote add:<br />
<code>git remote add origin git@gitserver.org:subdir1/repo2.git</code><br />
gitosis.conf:<br />
<code>[group subrepo]<br />
members = user@host.com<br />
writable = subdir1/repo2.git</code></p>
<p>Es klingt logisch. Aber ohne Dokumentation, ist es hart herauszubekommen.</p>
<p>Letztlich möchte ich kurz noch erwähnen, dass dieser Post keinerlei Vorwurf, Flame oder Sh!t-Storm gegen Gitosis darstellen soll. Gitosis ist ein wunderbarer Ansatz einer Benutzerverwaltung für Git-Remotes. Allerdings abenteuerlich bei nicht alltäglicher Nutzung. In diesem Sinne. Happy committing.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1175/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Webbuttons &#124; Generator und Gallery</title>
		<link>http://noqqe.de/archives/1159</link>
		<comments>http://noqqe.de/archives/1159#comments</comments>
		<pubDate>Mon, 26 Jul 2010 10:50:06 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[buttons]]></category>
		<category><![CDATA[commandlinefu]]></category>
		<category><![CDATA[einfachjabber]]></category>
		<category><![CDATA[einzeiler]]></category>
		<category><![CDATA[gallery]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[imagecreator]]></category>
		<category><![CDATA[oneline]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1159</guid>
		<description><![CDATA[Für das einfachjabber.de Projekt generierte ich neulich mit dem (wirklich brillianten) Button Generator von Luca Zappa eine Auswahl an 80&#215;15 Buttons. Weder gut nummeriert, noch stukturiert speicherte ich diese ab. Um am Webserver alle zugleich betrachten zu können, fiel mir ein Bash Einzeiler ein, den ich bei commandlinefu.com gesehen hatte und eine (zwar bisschen dürftige [...]]]></description>
			<content:encoded><![CDATA[<p>Für das <a href="http://einfachjabber.de">einfachjabber.de</a> Projekt generierte ich neulich mit dem (wirklich brillianten) <a href="http://www.lucazappa.com/brilliantMaker/buttonImage.php">Button Generator von Luca Zappa</a> eine Auswahl an 80&#215;15 Buttons. Weder gut nummeriert, noch stukturiert speicherte ich diese ab.</p>
<p>Um am Webserver alle zugleich betrachten zu können, fiel mir ein Bash Einzeiler ein, den ich bei <a href="http://www.commandlinefu.com/commands/view/5982/quick-html-image-gallery-from-folder-contents">commandlinefu.com</a> gesehen hatte und eine (zwar bisschen dürftige aber funktionierende) Gallery erstellt.</p>
<p><code>find . -iname '*.png' -exec echo '&lt;br&gt;&lt;img src="{}"&gt;' \; &gt; gallery.html</code></p>
<p>Für jedes File mit der Endung .png im PWD wird ein HTML-Image in gallery.html eingefügt. Um Meinungen (zum Einzeiler als auch den Buttons^^) wird gebeten.</p>
<p><a href="http://zwetschge.org/statics/einfachjabber/gallery.html">http://zwetschge.org/statics/einfachjabber/gallery.html</a><br />
<a href="http://zwetschge.org/statics/einfachjabber/">http://zwetschge.org/statics/einfachjabber/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1159/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>MySQL &#124; Datenbanken einzeln sichern</title>
		<link>http://noqqe.de/archives/1156</link>
		<comments>http://noqqe.de/archives/1156#comments</comments>
		<pubDate>Sat, 24 Jul 2010 14:07:54 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Debian]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[single file]]></category>
		<category><![CDATA[sql]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1156</guid>
		<description><![CDATA[Bis vor kurzem reichte mir ein volles MySQL-Backup der alle DB&#8217;s komplett in ein File gesichert hat. Eine Zeile CronJob. mysqldump -u root --password=x --all-databases &#62; /pfad/$(date +%Y-%m-%d).sql Das funktioniert so lange, bis einmal recovered werden muss. Alle DB&#8217;s neu einspielen ist dann doch irgendwie kein Spass. Weder von der Dauer noch vom Datenverlust. 25 [...]]]></description>
			<content:encoded><![CDATA[<p>Bis vor kurzem reichte mir ein volles MySQL-Backup der alle DB&#8217;s komplett in ein File gesichert hat. Eine Zeile CronJob.<br />
<code>mysqldump -u root --password=x --all-databases &gt; /pfad/$(date +%Y-%m-%d).sql</code></p>
<p>Das funktioniert so lange, bis einmal recovered werden muss. Alle DB&#8217;s neu einspielen ist dann doch irgendwie kein Spass. Weder von der Dauer noch vom Datenverlust. 25 MB sind jetzt zwar nicht die Welt, aber trotzdem doof wenn etwas verloren geht. Deshalb kombinierte ich mein Voll-Backup mit einem File pro DB. Folgendes Script dient dazu:</p>
<pre><code>#!/bin/bash
pass=
backuppath=/var/cache/mysqlbackups

mysqldump --password=$pass --all-databases &gt; ${backuppath}/$(date +%Y-%m-%d).sql
return1=$?

for x in $(mysql --password=$pass -Bse 'show databases'); do
mysqldump --password=$pass $x &gt; ${backuppath}/$(date +%Y-%m-%d)-${x}.sql
done
return2=$?

if [ $return1 -eq 0 ] &amp;&amp; [ $return2 -eq 0 ]; then
logger -p local0.info -t MYSQLBACKUP MySQL Backup successful
else
logger -p local0.err -t MYSQLBACKUP MySQL Backup failed
fi
</code></pre>
<p>Ausschlaggebender Teil ist die for-Schleife. Für jede Zeile Output von &#8220;show databases&#8221; wird ein seperates .sql File erstellt. Versehen mit Datum und DB-Name. Nebenbei wird auch noch via logger in /var/log/syslog geloggt. </p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1156/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>oldsql &#124; Grundig Compact Box 350 b von 1980</title>
		<link>http://noqqe.de/archives/1114</link>
		<comments>http://noqqe.de/archives/1114#comments</comments>
		<pubDate>Sun, 18 Jul 2010 17:19:18 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[box 350 b]]></category>
		<category><![CDATA[compact]]></category>
		<category><![CDATA[dachboden]]></category>
		<category><![CDATA[grandpa]]></category>
		<category><![CDATA[grundig]]></category>
		<category><![CDATA[oldschool]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1114</guid>
		<description><![CDATA[Ich stöberte heute Mittag durch den Dachboden meiner Großeltern und fand zwei wunderbare Oldschool Grundig Compact Box 350 B(hifi-wiki.de). Die beiden holzverkleideten Regal-Boxen Baujahr ca. 1980 gefielen mir. Ich suchte schon länger ein paar nette Boxen, welche ich mir ins Schlafzimmer stellen kann. Allerdings waren die Kabel der Boxen durchtrennt. Warum auch immer. Grundgedanke: Boxen [...]]]></description>
			<content:encoded><![CDATA[<p>Ich stöberte heute Mittag durch den Dachboden meiner Großeltern und fand zwei wunderbare Oldschool <a href="http://www.hifi-wiki.de/index.php/Grundig_Box_350_b">Grundig Compact Box 350 B(hifi-wiki.de)</a>. Die beiden holzverkleideten Regal-Boxen Baujahr ca. 1980 gefielen mir. Ich suchte schon länger ein paar nette Boxen, welche ich mir ins Schlafzimmer stellen kann. Allerdings waren die Kabel der Boxen durchtrennt. Warum auch immer.</p>
<p><center><a href="http://www.flickr.com/photos/flooohooo/4805376968/" title="Grundig Compact Box von 1980 von noqqe bei Flickr"><img src="http://farm5.static.flickr.com/4099/4805376968_ef5d533053_m.jpg" width="240" height="180" alt="Grundig Compact Box von 1980" /></a></center></p>
<p>Grundgedanke: Boxen aufstellen und iPhone || x-beliebigen MP3-Player per Klinkenstecker anschliessen und Musik genießen.</p>
<p>Ich muss eigentlich bevor ich den Post weiter tippe, darauf hinweisen das ich elektrotechnisch in etwa so viel Ahnung habe wie ein durchschnittliches Lebewesen aus der Kreidezeit. Also eine ziemliche Null. Die letzten 2-3 erhaltenen Zentimeter der Boxenkabel, liessen sich gerade noch so abisolieren und weiterverwenden. Also habe ich ein Klinkenkabel von Hama (Stecker auf Stecker) aus meiner Kabelkiste raus gefischt, ebenfalls ab-isoliert und mittels einer Lüsterklemme beide Kabelpaare zusammen geführt.</p>
<p>Ich weiss weder, ob man das so praktizieren darf, sollte, ob es im Grunde sowieso das selbe Kabel ist oder ich mich jetzt in ständiger Lebensgefahr befinde. Was ich aber nach der Aktion mit Sicherheit sagen kann: Es kommt da Ton raus, wo es soll. Operation geglückt. Bass lässt bisschen zu wünschen übrig, ansonsten aber absolut awesome. </p>
<p><center><a href="http://www.flickr.com/photos/flooohooo/4804766865/" title="Arbeitstisch von noqqe bei Flickr"><img src="http://farm5.static.flickr.com/4141/4804766865_bc1215807b_m.jpg" width="240" height="180" alt="Arbeitstisch" /></a></center></p>
<p>Bei Flickr hab ich ein kleines Fotoalbum erstellt, über Kommentare oder Überlebenshinweise würde ich mich freuen.</p>
<p><a href="http://www.flickr.com/photos/flooohooo/sets/72157624528623244/">http://www.flickr.com/photos/flooohooo/sets/72157624528623244/</a></p>
<p>Update: Bin mir bewusst, dass ich passive Boxen ohne Zusatzstromquelle betreibe :) </p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1114/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Web &#124; einfachJabber.de</title>
		<link>http://noqqe.de/archives/1104</link>
		<comments>http://noqqe.de/archives/1104#comments</comments>
		<pubDate>Fri, 16 Jul 2010 09:59:59 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Jabber]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[einfachjabber]]></category>
		<category><![CDATA[jabber]]></category>
		<category><![CDATA[jabber einrichten]]></category>
		<category><![CDATA[learning]]></category>
		<category><![CDATA[plattform]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1104</guid>
		<description><![CDATA[Bereits seit Längerem schon betreibt zero eine kleine Plattform für Jabber Neulinge. Wunderschön beschreibt Er und Andere die Welt von Jabber, Einführungen und Tipps und Tricks. Ich fand die Idee gut, ein deutsches Jabber Portal zu starten und involvierte mich in Form von 2-3 HowTo&#8217;s. Die Idee dafür hatte zero selbst und eben diese Fand [...]]]></description>
			<content:encoded><![CDATA[<p>Bereits seit Längerem schon betreibt <a href="http://zeroathome.de">zero</a> eine kleine Plattform für Jabber Neulinge. Wunderschön beschreibt Er und Andere die Welt von Jabber, Einführungen und Tipps und Tricks. Ich fand die Idee gut, ein deutsches Jabber Portal zu starten und involvierte mich in Form von 2-3 HowTo&#8217;s. Die Idee dafür hatte zero selbst und eben diese Fand in der Ubuntuusers-Community viel Anklang.</p>
<p style="text-align: center;"><strong><a href="http://einfachjabber.de">einfachJabber.de</a></strong></p>
<p>Außerdem finde ich, dass die technische Umsetzung des Portals glänzt. Der SourceCode der Plattform ist einsehbar unter:</p>
<p><a href="http://github.com/zeroathome/step-by-step">http://github.com/zeroathome/step-by-step</a></p>
<p>Und genauso schön hat er es auch geschafft für Dritte Mitarbeiter am Projekt die Arbeit zu erleichtern. In Form eines .json-Vorlagenformats für HowTo&#8217;s. Die Tutorials des Projekts befinden sich in einem separaten Git-Repository:</p>
<p><a href="http://github.com/zeroathome/jabber-tutorials">http://github.com/zeroathome/jabber-tutorials</a></p>
<p>So stehen alle Inhalte dieses Portals unter einer Creative Commons License und dürfen wieder verwendet werden. Inder LibreList gibt es die Mailingliste einzusehen mit aktuellen Requests und Neuigkeiten sowie Kritik und Lob</p>
<p><a href=" http://librelist.com/browser/einfachjabber/">http://librelist.com/browser/einfachjabber/</a></p>
<p>Über Hilfe freuen wir uns natürlich immer, wer möchte darf sich gerne melden. :)</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1104/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Perl &#124; Ich hätte doch das Kamelbuch nehmen sollen</title>
		<link>http://noqqe.de/archives/1087</link>
		<comments>http://noqqe.de/archives/1087#comments</comments>
		<pubDate>Sun, 04 Jul 2010 08:17:00 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Perl]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[coden]]></category>
		<category><![CDATA[oreilly]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[programmieren]]></category>
		<category><![CDATA[use perl]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1087</guid>
		<description><![CDATA[&#8230;denn das wäre mir jetzt viel lieber, als das &#8220;Programmieren in Perl&#8221; von Rainer Krienke vom Hanser Verlag. Fehler in den gedruckten Skripten wie fehlende Klammernpaare oder ähnliches können einen Perl-Anfänger leicht zum verzweifeln bringen. Ganz abgesehen von den irgendwie distanziert klingenden Erklärungen des Buchs. Ich sollte aber vom Anfang anfangen. Nicht mittendrin. Hab gehört [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;denn das wäre mir jetzt viel lieber, als das <a href="http://www.amazon.de/Programmieren-Perl-Rainer-Krienke/dp/3446220135/ref=pd_sim_b_17">&#8220;Programmieren in Perl&#8221; von Rainer Krienke vom Hanser Verlag</a>. Fehler in den gedruckten Skripten wie fehlende Klammernpaare oder ähnliches können einen Perl-Anfänger leicht zum verzweifeln bringen. Ganz abgesehen von den irgendwie distanziert klingenden Erklärungen des Buchs. Ich sollte aber vom Anfang anfangen. Nicht mittendrin. Hab gehört das macht man so in Blogs.</p>
<p><center><a href="http://zwetschge.org/blog/wp-content/uploads/2010/07/perl_logo.gif"><img class="aligncenter size-full wp-image-1088" title="perl_logo" src="http://zwetschge.org/blog/wp-content/uploads/2010/07/perl_logo.gif" alt="" width="120" height="64" /></a></center></p>
<p>Perl hat angefangen mich zu interessieren. Oder anders rum? Vor &#8230; ca. einem viertel Jahr. Ich las teilweise kurz How-To&#8217;s und auch mal längere Beschreibungen, weil mir manchmal die Schwerfälligkeit und nicht vorhandene Flexibilität von Bash auf den Keks ging.</p>
<p>Das mittlerweile als etwas veraltete Skriptsprache für Administratoren gehandelte Perl hat mich neugierig gemacht. Die Module, die Handlichkeit im Umgang mit Strings, Hashwerten und RegExp gefielen mir. Beim herumexperimentieren damit bin ich nun auf den <a href="http://www.perlboard.de/perlguide/Inhalt.html">PerlGuide vom deutschen Perlboard</a> gestossen. Ein wunderschönes Tutorial. Jedes Kapitel endet mit Übungen, Praxis-Programmen und Zusatzfragen.</p>
<p><code>print "Perl hat manchmal geile Syntax" and die if ! defined @ARGV ;</code></p>
<p>Danach, fand ich brauchte ich noch ein Buch. Also ein analoges Medium aus dem ich auch mal auf der Couch lesen kann. Meine Wahl fiel nicht (wie meistens) auf ein <a href="http://www.amazon.de/Programmieren-mit-Perl-Larry-Wall/dp/3897211440/ref=sr_1_5?ie=UTF8&#038;s=books&#038;qid=1278231152&#038;sr=8-5">O&#8217;Reilly Buch</a>. Sondern auf das bereits oben erwähnte Programmieren in Perl. Nachher erfuhr ich (unter anderem aus dem wunderbaren <a href="http://community.oreilly.de/blog/2010/06/25/kol001-das-oreilly-universum/">1. O&#8217;Reilly Podcast</a> mit <a href="http://tim.geekheim.de/">Tim Pritlove</a>) dass das Perl-Buch von O&#8217;Reilly eines der Besten sein soll, die dort je herausgebracht wurden.</p>
<p>Bereue meinen Kauf. Allerdings mache ich trotzdem Fortschritte mit Perl. Wie immer arbeite ich mit den Skripten in einem Git-Repo. Wen&#8217;S intressiert: <a href="http://git.zwetschge.org/?p=learning-perl.git;a=tree;h=671b98e403d952d9ed2730ac1221e867039127cc;hb=671b98e403d952d9ed2730ac1221e867039127cc">git.zwetschge.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1087/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Theme &#124; 8-Bit Banner</title>
		<link>http://noqqe.de/archives/1076</link>
		<comments>http://noqqe.de/archives/1076#comments</comments>
		<pubDate>Wed, 30 Jun 2010 09:25:46 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[16 bit]]></category>
		<category><![CDATA[8 bit]]></category>
		<category><![CDATA[GIMP]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1076</guid>
		<description><![CDATA[Es war ein heißer Dienstag Nachmittag. Genauer gesagt gestern. Ich könnte fast sagen INSTANT hat mich die Langeweile die mein Blogbanner ausstrahlt überrannt. Schon viel zu lange ist es in der header.php meines Blogthemes definiert. Ich bemühte Google nach freien Schriftarten. Wurde auf eine japanische Seite weitergeleit. 8-Bit-Fonts. http://mfs.sub.jp/. Vanilla Ice gefiel mir wunderbar. Genial [...]]]></description>
			<content:encoded><![CDATA[<p>Es war ein heißer Dienstag Nachmittag. Genauer gesagt gestern. Ich könnte fast sagen INSTANT hat mich die Langeweile die mein Blogbanner ausstrahlt überrannt. Schon viel zu lange ist es in der header.php meines Blogthemes definiert.</p>
<p>Ich bemühte Google nach freien Schriftarten. Wurde auf eine japanische Seite weitergeleit. 8-Bit-Fonts. <a href="http://mfs.sub.jp/">http://mfs.sub.jp/</a>. Vanilla Ice gefiel mir wunderbar. Genial einfach und C64-Kompatibel.</p>
<p><a href="http://zwetschge.org/blog/wp-content/uploads/2010/06/m50.gif"><img class="aligncenter size-full wp-image-1082" title="m50" src="http://zwetschge.org/blog/wp-content/uploads/2010/06/m50.gif" alt="" width="208" height="70" /></a></p>
<p>Die Terms of Use waren mir aber irgendwie ein Rätsel. <a href="http://mfs.sub.jp/info.html">http://mfs.sub.jp/info.html</a> war das einzige, was auf japanisch dort stand.</p>
<p>Google Translate hat mir dann geholfen:</p>
<blockquote><p>- Unerlaubte Vervielfältigung umgeleitet, um Daten auf unserer Website bitte nicht replizieren<br />
- Kostenloses Web Klüngel Aktivitäten und groß angelegte nicht-materielle Verteilung, die Schriftart für Non-Profit-Aktivitäten Bitte zögern Sie nicht verwendet<br />
- Und Bücher auf die gewerbliche Nutzung von Schriften und sonstigen Anfragen zur Gestaltung der Arbeit danken Ihnen per E-Mail.</p></blockquote>
<p>So sieht das jetzt nämlich aus. Ich bin ja non-commercial ;). Und ich hab das Banner mit Gimp erstellt. Weil ich so OpenSource bin.</p>
<p>Grüße aus einer Englisch-Schulstunde,<br />
Flo</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1076/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Theme &#124; nerd-clouds</title>
		<link>http://noqqe.de/archives/1071</link>
		<comments>http://noqqe.de/archives/1071#comments</comments>
		<pubDate>Sat, 26 Jun 2010 14:52:33 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[geek]]></category>
		<category><![CDATA[geeky]]></category>
		<category><![CDATA[minimal]]></category>
		<category><![CDATA[minimalistic]]></category>
		<category><![CDATA[nerd]]></category>
		<category><![CDATA[nerdy]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp-theme]]></category>

		<guid isPermaLink="false">http://zwetschge.org/blog/?p=1071</guid>
		<description><![CDATA[Als ich damals das Theme Clouds von Ali Asaria in mein WordPress eingebaut habe, habe ich mir nichts weiter dabei gedacht. Mir gefiel das Theme, aber nach und nach fand ich immer mehr Sachen hässlich. Als aller erstes das Hellblau im Hintergrund. Drauf folgte die Anpassung der runden Ecken (Wo wir grade bei .gif-Dateien sind. [...]]]></description>
			<content:encoded><![CDATA[<p>Als ich damals das Theme <a href="http://aliasaria.ca/blog/themes/">Clouds</a> von <a href="http://aliasaria.ca/">Ali Asaria</a> in mein WordPress eingebaut habe, habe ich mir nichts weiter dabei gedacht. Mir gefiel das Theme, aber nach und nach fand ich immer mehr Sachen hässlich. Als aller erstes das Hellblau im Hintergrund. Drauf folgte die Anpassung der runden Ecken (Wo wir grade bei .gif-Dateien sind. <a href="http://parti.tumblr.com">@_parti</a> macht ultra coole Sachen mit den Dingern), diverse Änderungen der Textformate, hinzufügen von Tag- und Creative Commons Clouds und der Zeitstempel sieht anders aus.</p>
<p>Alles in allem wurden die Änderungen so umfangreich, dass es dem Orginal überhaupt nichtmehr ähnelt. Genau genommen ist es nichtmal mehr &#8220;cloudy&#8221;. Trotzdem hab ich mir in den letzten Wochen immer wieder ein Stückchen Zeit genommen und das Theme massentauglich gemacht. Rausgekommen ist das WordPress-Theme &#8220;nerd-clouds&#8221;.</p>
<p>Auch wenn ich mit folgendem nicht gerade Werbung für das Theme mache, muss ich sagen: Ich war noch nie besonders gut in diesem HTML / CSS / PHP Dings, welches man eigentlich können sollte, wenn man so ein Theme released. Trotzdem scheint es so, als würde es (auch der Code^^) im Test-Einsatz ein relativ gutes Bild abgeben.</p>
<p>Das nerd-clouds Theme gibts zum Download und beobachten unter<br />
<a href="http://github.com/noqqe/nerd-clouds">http://github.com/noqqe/nerd-clouds</a> oder<br />
<a href="http://git.zwetschge.org/?p=nerd-clouds.git;a=summary">http://git.zwetschge.org/?p=nerd-clouds.git;a=summary</a></p>
<p>Wie Ali, steht auch mein Theme unter Creative Commons CC-BY-SA-NC.<br />
Alle Feinheiten und Handling-Tipps stehen im Readmefile.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1071/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nagios &#124; Ricoh-Drucker Tonerstand per SNMP abfragen</title>
		<link>http://noqqe.de/archives/1066</link>
		<comments>http://noqqe.de/archives/1066#comments</comments>
		<pubDate>Thu, 24 Jun 2010 20:32:29 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[auffüllen]]></category>
		<category><![CDATA[drucker]]></category>
		<category><![CDATA[nagios]]></category>
		<category><![CDATA[ricoh]]></category>
		<category><![CDATA[snmp]]></category>
		<category><![CDATA[stand]]></category>
		<category><![CDATA[status]]></category>
		<category><![CDATA[toner]]></category>

		<guid isPermaLink="false">http://zwetschge.org/blog/?p=1066</guid>
		<description><![CDATA[Schon wieder Nagios. Diesmal aber nur als kleine Notiz für mich. Vor kurzem hab ich erst die Zählerstände der Papierfächer in unser firmeninternes Nagios eingebunden. Dasselbe funktioniert natürlich auch mit den Tonern. Beschreibung der Fächer mit snmpwalk abholen: snmpwalk -Os -c public -v 1 192.168.1.200 mib-2.43.11.1.1.6.1.1 = STRING: "Toner Schwarz" mib-2.43.11.1.1.6.1.2 = STRING: "Resttoner" mib-2.43.11.1.1.6.1.3 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://zwetschge.org/blog/?p=954">Schon wieder Nagios</a>. Diesmal aber nur als kleine Notiz für mich. Vor kurzem hab ich erst die Zählerstände der Papierfächer in unser firmeninternes Nagios eingebunden. Dasselbe funktioniert natürlich auch mit den Tonern.</p>
<p>Beschreibung der Fächer mit snmpwalk abholen:<br />
<code>snmpwalk -Os -c public -v 1 192.168.1.200</code><br />
<code>mib-2.43.11.1.1.6.1.1 = STRING: "Toner Schwarz"<br />
mib-2.43.11.1.1.6.1.2 = STRING: "Resttoner"<br />
mib-2.43.11.1.1.6.1.3 = STRING: "Toner Cyan"<br />
mib-2.43.11.1.1.6.1.4 = STRING: "Toner Magenta"<br />
mib-2.43.11.1.1.6.1.5 = STRING: "Toner Gelb"</code></p>
<p>Status der Toner als Integerwerte (0 = leer, -3 = voll)<br />
<code>mib-2.43.11.1.1.9.1.1 = INTEGER: 0<br />
mib-2.43.11.1.1.9.1.2 = INTEGER: -3<br />
mib-2.43.11.1.1.9.1.3 = INTEGER: -3<br />
mib-2.43.11.1.1.9.1.4 = INTEGER: 0<br />
mib-2.43.11.1.1.9.1.5 = INTEGER: -3</code></p>
<p>Kommando für Nagios konfigurieren:<br />
<code>define command{<br />
command_name check_toner<br />
command_line /usr/lib/nagios/plugins/check_snmp -H '$HOSTADDRESS$' -C  '$ARG1$' -o mib-2.43.11.1.1.9.1.$ARG2$ -w '$ARG3$': -c '$ARG4$':<br />
}</code></p>
<p>Service für den Host einbinden:<br />
<code>define service {<br />
use generic-service ; Name of service template to use<br />
host_name druckerxyz<br />
service_description TONER YELLOW<br />
check_command check_toner!public!5!2!1<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1066/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creative Commons &#124; Freies Wissen und Inhalte auf noqqe.de</title>
		<link>http://noqqe.de/archives/1049</link>
		<comments>http://noqqe.de/archives/1049#comments</comments>
		<pubDate>Thu, 17 Jun 2010 18:43:32 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[cc]]></category>
		<category><![CDATA[cc-by-nc-sa]]></category>
		<category><![CDATA[cc-network]]></category>
		<category><![CDATA[creative commons]]></category>
		<category><![CDATA[freie inhalte]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1049</guid>
		<description><![CDATA[Vor kurzem habe ich aufgrund der Catalysts Grant Aktion an die Creative Commons Organisation etwas Geld gespendet. 100.000 $ sollen an Ersteller freier Inhalte gehen. Ich fand das in Ordnung. Ok, ich fand das eigentlich mehr als in Ordnung, denn die Idee des freien Wissens und Inhalten für alle ist einfach nur wunderbar. Es fällt [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="sioc:has_owner" href="https://creativecommons.net/noqqe"><img style="border:0px;" src="http://i.creativecommons.net/p/noqqe/" alt="" /></a></p>
<p>Vor kurzem habe ich aufgrund der <a href="http://wiki.creativecommons.org/Grants">Catalysts Grant</a> Aktion an die <a href="http://creativecommons.org/about/">Creative Commons Organisation</a> etwas Geld gespendet. 100.000 $ sollen an Ersteller freier Inhalte gehen. Ich fand das in Ordnung. Ok, ich fand das eigentlich mehr als in Ordnung, denn die Idee des freien Wissens und Inhalten für alle ist einfach nur wunderbar. Es fällt mir schwer in Worte zu fassen was das Video in der About-Beschreibung aussagt. Am besten ihr seht es <a href="http://a44.video2.blip.tv/5840001990950/Commonscreative-WannaWorkTogether315.ogv?bri=3.2&amp;brs=1369">am besten selbst an</a>.</p>
<p><strong>Inhalte</strong><br />
Seit mittlerweile einem Jahr habe ich alle Blogposts, HowTos, Publications und Projekte die ich hier veröffentliche, schreibe oder vorstelle unter die CC-BY-NC-SA Lizenz gestellt. Im Klartext bedeutet das: Alle Inhalte dürfen komplett frei benutzt, verändert und weitergegeben werden. Unter ein paar winzigen Bedinungen.</p>
<blockquote><p><a href="http://creativecommons.org/licenses/by-nc-sa/3.0/de/">CC-BY-NC-SA</a><br />
Namensnennung<br />
Keine kommerzielle Nutzung der Inhalte<br />
Weitergabe unter gleichen Bedingungen</p></blockquote>
<p><strong>Software</strong><br />
Bei Software oder Scripts die ich hier schreibe, gilt ähnliches. Die GPL-Software-Lizenz ist weit verbreitet unter Linux-Benutzern und auch hierfür stellt Creative Commons eine Informationsseite in vielen Sprachen zur Verfügung.</p>
<blockquote><p><a href="http://creativecommons.org/licenses/GPL/2.0/deed.de">CC-GNU-GPL</a><br />
1. Die Möglichkeit, das Programm für jeden Zweck zu benutzen.<br />
2. Die Möglichkeit, die Funktionalitäten des Programms auf Code-Ebene zu verstehen und sie an Ihre Bedürfnisse anzupassen.<br />
3. Die Möglichkeit, Vervielfältigungen des Programms weiterzuverbreiten, so dass es allen nützt.<br />
4. Die Möglichkeit, das Programm zu verbessern und Ihre Verbesserungen zu veröffentlichen: Auf diese Weise profitieren alle.</p></blockquote>
<p><strong>Einsatzgebiet?</strong><br />
Wo benutzt man sowas nun. Nunja einfachstes Beispiel wird warscheinlich dieses Blog-Theme sein. Ich habe <a href="http://aliasaria.ca/blog/themes/">Clouds</a> von <a href="http://aliasaria.ca">ali asaria</a>erhalten, der das <a href="http://thoughtcloud.tumblr.com/">Thought Cloud Theme</a> von <a href="http://heather-rivers.com/">Heather Rivers</a> für WordPress portiert hat. Ich durfte es dank Creative Commons weiterentwickeln und (unter Namensnennung) wiederrum (inklusive meiner Änderungen/Anpassungen) unter der selben Lizenz weitergeben. Zumindest werde ich es bald releasen :) Dauert aber noch etwas. Desweiteren bietet auch die Foto-Plattform Flickr eine wunderbare Möglichkeit Fotos unter Creative Commons zu veröffentlichen und vor allem zu finden.</p>
<p><strong>Donation</strong><br />
Aufgrund meiner Spende habe ich heute Post aus San Francisco bekommen :)</p>
<p><a title="creative commons post von noqqe bei Flickr" href="http://www.flickr.com/photos/flooohooo/4709687260/"><img src="http://farm2.static.flickr.com/1276/4709687260_6513dbd084_m.jpg" alt="creative commons post" width="240" height="160" /></a></p>
<p><a title="creative commons shirt von noqqe bei Flickr" href="http://www.flickr.com/photos/flooohooo/4709021991/"><img src="http://farm5.static.flickr.com/4017/4709021991_99db9fdf7b_m.jpg" alt="creative commons shirt" width="240" height="160" /></a></p>
<p>In diesem Sinne,<br />
Freie Inhalte ftw.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1049/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://a44.video2.blip.tv/5840001990950/Commonscreative-WannaWorkTogether315.ogv?bri=3.2&amp;amp" length="22671259" type="video/ogg" />
		</item>
		<item>
		<title>Bash &#124; mailrequest</title>
		<link>http://noqqe.de/archives/1042</link>
		<comments>http://noqqe.de/archives/1042#comments</comments>
		<pubDate>Sun, 13 Jun 2010 13:23:20 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[GTD]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[sick]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1042</guid>
		<description><![CDATA[Mal wieder was aus der &#8220;Faule Sysadmins&#8221; und &#8220;wie mache ich mir _noch_ weniger arbeit&#8221;-Sparte. Desöfteren rufen Kunden an die Probleme mit ihrem Mailkonto haben. Meistens drehen sich die Probleme um die selben Themen. Angeblich nicht versandte Mails, Login-Probleme oder um Postfachgrössen, die zu klein, zu voll oder gross sind. Die Prozedur ist immer die [...]]]></description>
			<content:encoded><![CDATA[<p>Mal wieder was aus der &#8220;Faule Sysadmins&#8221; und &#8220;wie mache ich mir _noch_ weniger arbeit&#8221;-Sparte. Desöfteren rufen Kunden an die Probleme mit ihrem Mailkonto haben. Meistens drehen sich die Probleme um die selben Themen. Angeblich nicht versandte Mails, Login-Probleme oder um Postfachgrössen, die zu klein, zu voll oder gross sind.</p>
<p><a title="Where's my mail? von Éole bei Flickr" href="http://www.flickr.com/photos/eole/4500783172/"><img class="alignleft" src="http://farm3.static.flickr.com/2783/4500783172_99dd9f8a2d_m.jpg" alt="Where's my mail?" width="240" height="160" /></a></p>
<p>Die Prozedur ist immer die gleiche. Logfiles untersuchen. Quota ausfindig machen. Mail nachverfolgen. Je nach User individueller Mailserver. Für die grobe Arbeit, hab ich mir jetzt ein kleines Skript geschrieben, mit welchem ich (easy-usage-like ;D) mir ca 5-6 Befehle spare. Ich nannte es mailrequest. Die Kreativität hat mich nämlich einfach überrannt -_-</p>
<p>Das ganze läuft jetzt wie folgt ab.</p>
<p><code>mailrequest -s stichwort<br />
#Nach Queue-id, Absender, Empfaenger im aktuellen Logfile suchen.</code></p>
<p><code>mailrequest -r stichwort<br />
#Für alle Logfiles am Mailserver</code></p>
<p><code>mailrequest -q user@foobar.de<br />
#Postfachgroesse ermitteln</code></p>
<p>Bis dahin hat der Plan ganz gut geklappt. Nur die Auswahl spezieller Mailserver war mir noch nicht schön genug geregelt. Mailserver jedesmal per Parameter mit übergeben müssen? Fand ich zu doof. Aber Hard-Coded im Source ist fast noch ungünstiger gewesen. Den Mittelweg hat mir die Bash ermöglicht.</p>
<p><code>$host=$3<br />
$defaulthost=mail.domain.de<br />
${host:-$defaulthost}</code></p>
<p>Klartext: Wenn kein 3. Parameter definiert (oder leer) ist, wird automatisch der $defaulthost gewählt. Sollte der Mailserver nun vom Standard abweichen, kann ich ihn mitgeben. Falls nicht, kann ich mir den 3. Parameter des Aufrufs sparen.</p>
<p><code>mailrequest -s spam@zwetschge.org mail.zwetschge.org</code></p>
<p>Das ganze Script zum begutachten, Kritik äußern, anflamen, besserwissen: <a href="http://zwetschge.org/paste/013">http://zwetschge.org/paste/013</a></p>
<p>Um es wie der Typ aus der Congstar-Werbung zu sagen: &#8220;I like&#8221;.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1042/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Flattr &#124; Unentschlossen und unterinformiert.</title>
		<link>http://noqqe.de/archives/1024</link>
		<comments>http://noqqe.de/archives/1024#comments</comments>
		<pubDate>Fri, 04 Jun 2010 17:00:22 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[$$$]]></category>
		<category><![CDATA[donate]]></category>
		<category><![CDATA[Flattr]]></category>
		<category><![CDATA[pay]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1024</guid>
		<description><![CDATA[Ich weiss nicht. Also ich weiss es wirklich nicht. Ich möchte weder für die Befürworter von Flattr Partei ergreifen noch für die Gegner dieses Projekts. Ich laß viele Blogposts und Meinungen darüber. mspr0.de, wessen Gedankengang ich sehr interessant finde und sich über das möglicherweise Werbung ersetztende System ausschüttet. Von Jan (virtualpixel.de)der, wie viele andere, dass [...]]]></description>
			<content:encoded><![CDATA[<p>Ich weiss nicht. Also ich weiss es wirklich nicht. Ich möchte weder für die Befürworter von Flattr Partei ergreifen noch für die Gegner dieses Projekts. Ich laß viele Blogposts und Meinungen darüber.</p>
<p><a href="http://mspr0.de/?p=1363">mspr0.de</a>, wessen Gedankengang ich sehr interessant finde und sich über das möglicherweise Werbung ersetztende System ausschüttet.</p>
<p>Von<a href="http://www.virtualpixel.de/2010/06/01/flattr-jan-gefaellt-das/#more-1696"> Jan (virtualpixel.de)</a>der, wie viele andere, dass Konzept sehr mag und seinen Blog in Flattr integriert hat (oder umgekehrt?). Was ich auch verstehe weil viel zu viel guter Content viel zu wenig gefördert wird.</p>
<p>Von <a href="http://blog.fefe.de/?ts=b2fa2a67">blog.fefe.de</a> der Aufgrund des Datenschutzes seiner Leser auf diesen Service verzichten möchte. Auch diesen Ansatz kann ich sehr nachvollziehen und ist meiner Meinung auch der größte negativ Punkt innerhalb der Story.</p>
<p>Auch Nico Hofmann hat treffend (wenn auch etwas unernst)<a href="https://twitter.com/nicohofmann/status/15324649751"> getwittert</a>:<br />
<strong>Wann #flattr wohl die AGB-Änderung mit der Abtretung der Rechte am Content bekannt gibt?</strong></p>
<p>Im Großen und Ganzen würde ich vielen Bloggern gerne etwas Kleingeld für ihre Bemühungen und sehr tollen Artikel zuschanzen. Aber ich bin mir nicht sicher ob Flattr der richtige Weg dafür ist. Aus eben genau den Gründen, die Skeptiker anprangern. </p>
<p>Immernoch habe ich die InviteCodes für Flattr in meinem Postfach liegen, aber es noch nicht geschafft mich dort wirklich mal anzumelden.</p>
<p>Vorerst werde ich in Untätigkeit verweilen und ohne Werbung, Datenerhebung und Donation-System meinen Blog weiterführen. Denn gestartet habe ich ihn nur aus Gründen der Eigendokumentation. Und wer würde für diesen Blog schon Geld hergeben? ;) </p>
<p>Vielleicht wäre ich dafür eher ein Kandidat. <a href=" http://twitter.com/kathrinpassig/status/12937730614">Kathrin Passigs Gegenprojekt</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1024/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Bash &#124; Linux und Scripting an meiner Schule</title>
		<link>http://noqqe.de/archives/1005</link>
		<comments>http://noqqe.de/archives/1005#comments</comments>
		<pubDate>Thu, 20 May 2010 19:03:32 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[bash]]></category>
		<category><![CDATA[schule]]></category>
		<category><![CDATA[scripting]]></category>
		<category><![CDATA[skript]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=1005</guid>
		<description><![CDATA[Diese Woche war (bzw. ist immernoch, aber wenn ich in der Vergangenheit spreche fühlt es sich so an als wärs schon vorbei und das ist gut) Berufsschulwoche. Nun jedenfalls habe ich die grosse Freude dort in Bash-Scripting unterrichtet zu werden. Ungewöhnlich für Lehrkörper ist unserer relativ begeisterter Linux-Benutzer und schiebt an allen Enden etwas LinuxKnow-How [...]]]></description>
			<content:encoded><![CDATA[<p>Diese Woche war (bzw. ist immernoch, aber wenn ich in der Vergangenheit spreche fühlt es sich so an als wärs schon vorbei und das ist gut) Berufsschulwoche. Nun jedenfalls habe ich die grosse Freude dort in Bash-Scripting unterrichtet zu werden. Ungewöhnlich für Lehrkörper ist unserer relativ begeisterter Linux-Benutzer und schiebt an allen Enden etwas LinuxKnow-How mit ein. Das ist sehr schön weil ich Bash und Linux sehr mag.<br />
<br/></p>
<h1 style="text-align: center;"><strong><strong>#!/bin/bash</strong></strong></h1>
<p>Morgen wird es einen Test geben, bei dem wir innerhalb 30 Minuten eine bestimmte Aufgabe scripten sollen und als &#8220;Abgabe&#8221; sozusagen vorführen müssen.</p>
<p>Eine Vorbereitung für diesen Test lautete wie folgt:</p>
<blockquote><p>Schreibe ein Script, welches durch Angabe von Parametern in verschiedenen Zeitintervallen und maximaler Ausführdauer das aktuelle Datum und die Uhrzeit ausgibt. Außerdem soll zwischen 2 Modi gewechselt werden können. Mit vorangestelltem Text &#8220;Uhrzeit ist:&#8221; und nur die Uhrzeit.</p></blockquote>
<blockquote><p>Usage Beispiel:<br />
./zeitausgabe 2 10 modus</p></blockquote>
<p>Naja. Bevor wieder diverse Trolle in den Kommentaren ihrem Ruf gerecht werden: Die Klasse ist bis auf einen %-Anteil von ca 5 komplett Windows-User und haben Bash-Scripting seit ca 7 Schultagen unterrichtet bekommen. In dieser Dimension wird also auch der Test Morgen ausfallen. Ich bin gespannt.</p>
<p>Meine Lösung der Aufgabe:</p>
<pre><code>#!/bin/bash
    interval=$1
    gesamtdauer=$2
    modus=$3
    count=0

    if [ "$modus" = "txt" ]; then
            while [ $count -lt $gesamtdauer ]; do
            let count+=$interval
            sleep $interval ; echo "Das ist die Systemzeit: $(date)"
            done
    else
            while [ $count -lt $gesamtdauer ]; do
            let count+=$interval
            sleep $interval ; echo $(date)
            done
    fi</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/1005/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Web &#124; Anlaufstelle für Geekstuff? 3dsupply</title>
		<link>http://noqqe.de/archives/995</link>
		<comments>http://noqqe.de/archives/995#comments</comments>
		<pubDate>Thu, 22 Apr 2010 19:18:54 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[3dsupply]]></category>
		<category><![CDATA[aktion]]></category>
		<category><![CDATA[free]]></category>
		<category><![CDATA[futurama]]></category>
		<category><![CDATA[gratis]]></category>
		<category><![CDATA[shirt4link]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=995</guid>
		<description><![CDATA[Meine Kollegen bestellen dort ja regelmäßig. Heute hab ich aber bei Christoph Grabmer (http://blog.technical-life.at/2010/04/3dsupply-unterstutzt-blogger/) von außerordentlich zuvorkommenden Aktion des 3dsupply.de-Teams gelesen. Und hab natürlich vor mitzumachen. Man darf sich (for free) ein Shirt aussuchen, wenn in dem eigenen Blog (der den Erwartungen entsprechen soll) ein kleiner nett gemeinter Blogpost auftaucht, der auf die Aktion hinweist. [...]]]></description>
			<content:encoded><![CDATA[<p>Meine Kollegen bestellen dort ja regelmäßig. Heute hab ich aber bei Christoph Grabmer (<a href="http://blog.technical-life.at/2010/04/3dsupply-unterstutzt-blogger/">http://blog.technical-life.at/2010/04/3dsupply-unterstutzt-blogger/</a>) von außerordentlich zuvorkommenden Aktion des <a href="http://3dsupply.de">3dsupply.de</a>-Teams gelesen. Und hab natürlich vor mitzumachen.</p>
<p>Man darf sich (for free) ein Shirt aussuchen, wenn in dem eigenen Blog (der den Erwartungen entsprechen soll) ein kleiner nett gemeinter Blogpost auftaucht, der auf die Aktion hinweist. Finde ich sehr nett muss ich sagen ;) Alle Infos zur Shirt4Link Aktion hier: <a href="http://www.3dsupply.de/shirt4link/">http://www.3dsupply.de/shirt4link/</a></p>
<p>Aufgrund meiner <a href="http://www.3dsupply.de/products/666-gehirnschnecke/">Neigung zu Futurama</a> musste es natürlich folgendes werden:</p>
<p><img class="aligncenter" title="Futurama" src="http://zwetschge.org/statics/666_1269620096.0_180_180.png" alt="" width="180" height="180" /></p>
<p>dankend,<br />
Flo</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/995/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Git-daemon &#124; Anti-DOS mit fail2ban</title>
		<link>http://noqqe.de/archives/991</link>
		<comments>http://noqqe.de/archives/991#comments</comments>
		<pubDate>Wed, 21 Apr 2010 10:03:29 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[ban]]></category>
		<category><![CDATA[daemon]]></category>
		<category><![CDATA[dos]]></category>
		<category><![CDATA[einfügen]]></category>
		<category><![CDATA[Fail2ban]]></category>
		<category><![CDATA[fail2ban jail]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[git-daemon]]></category>
		<category><![CDATA[gitweb]]></category>
		<category><![CDATA[jail.local]]></category>
		<category><![CDATA[unban]]></category>
		<category><![CDATA[verbieten]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=991</guid>
		<description><![CDATA[Seit gestern versuche ich mittels Fail2ban zu vermeiden, dass mein git-daemon &#8220;geDOSt&#8221; wird. Also bei ca 10 Downloads die Klappe für die IP schliessen. unter: $ git clone git://zwetschge.org/roborobo.git lässt sich über den Daemon ein Repo auschecken. Der Logeintrag bei Access sieht folgendermaßen aus: 2010-04-20_11:37:52.05907 [16810] Connection from 200.200.200.200:54283 Nun lässt sich über ein einfaches [...]]]></description>
			<content:encoded><![CDATA[<p>Seit gestern versuche ich mittels Fail2ban zu vermeiden, dass mein git-daemon &#8220;geDOSt&#8221; wird. Also bei ca 10 Downloads die Klappe für die IP schliessen.<br />
unter:</p>
<p><code>$ git clone git://zwetschge.org/roborobo.git</code></p>
<p>lässt sich über den Daemon ein Repo auschecken. Der Logeintrag bei Access sieht folgendermaßen aus:</p>
<p><code>2010-04-20_11:37:52.05907 [16810] Connection from 200.200.200.200:54283</code></p>
<p>Nun lässt sich über ein einfaches Script, beispielsweise:</p>
<p><code>$ for i in $(seq 1 100) ; do git clone git://zwetschge.org/roborobo.git gitrepodos$i ; done</code></p>
<p>den Server total auslasten. Gerade bei grossen Repos wäre das fatal.<br />
Über RegExp und fail2ban-regexp lässt sich der Ausdruck im Logfile auch filtern und testen:</p>
<p><code>fail2ban-regex '2010-04-20_19:52:01.41131 [26818] Connection from 200.200.200.200:54283' '.*Connection from &lt;HOST&gt;:.{4,5}$'</code></p>
<p>gibt zurück der Ausdruck würde matchen. Meine Filterregel sieht auch dementsprechend aus:</p>
<p><code>failregex = .*Connection from &lt;HOST&gt;:.{4,5}$</code></p>
<p>und der Eintrag in der jail.local (damit als jail erkannt wird):</p>
<p><code>[git-daemon]<br />
enabled  = true<br />
port     = git<br />
filter   = git-daemon<br />
logpath  = /var/log/git-daemon/current<br />
maxretry = 5</code></p>
<p>ist eingerichtet. Keine Fehler im Fail2ban-Log. Alles erfolgreich gestartet. Aber der Filter matched einfach nicht wenn ich das Script ausprobiere.</p>
<p>Statusabfrage des Jails:</p>
<pre><code>$ fail2ban-client status git-daemon

Status for the jail: git-daemon
|- filter
|  |- File list:    /var/log/git-daemon/current
|  |- Currently failed:    0
|  `- Total failed:    0
`- action
|- Currently banned:    0
|  `- IP list:
`- Total banned:    0</code></pre>
<p>Ich weiss mir gerade nicht zu helfen. Obwohl ich das selbe Spiel mit vsftp auch gemacht habe. <a href="http://noqqe.de/?p=904">LINK</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/991/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gitweb &#124; URLs einbinden</title>
		<link>http://noqqe.de/archives/987</link>
		<comments>http://noqqe.de/archives/987#comments</comments>
		<pubDate>Wed, 21 Apr 2010 09:35:43 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[clone]]></category>
		<category><![CDATA[cloneurl]]></category>
		<category><![CDATA[einbinden]]></category>
		<category><![CDATA[einfügen]]></category>
		<category><![CDATA[gitweb]]></category>
		<category><![CDATA[insert]]></category>
		<category><![CDATA[url]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=987</guid>
		<description><![CDATA[Ich habe heute längerfristig das Web durchforsten müssen, wie ich eine URL für den git clone git://zwetschge.org/roborobo.git Befehl in gitweb hinterlege. Das fand ich sehr hilfreich, denn seit ich meinen git-daemon wieder installiert habe, wäre es theoretisch möglich die PublicProjects darüber auszuchecken. Damit gitweb nun diese URL kennt, ist es nötig in dem Remote-Verzeichnis die [...]]]></description>
			<content:encoded><![CDATA[<p>Ich habe heute längerfristig das Web durchforsten müssen, wie ich eine URL für den</p>
<p><code>git clone git://zwetschge.org/roborobo.git</code></p>
<p>Befehl in gitweb hinterlege. Das fand ich sehr hilfreich, denn seit ich meinen git-daemon wieder installiert habe, wäre es theoretisch möglich die PublicProjects darüber auszuchecken. Damit gitweb nun diese URL kennt, ist es nötig in dem Remote-Verzeichnis die Datei cloneurl anlegen. Kurz und prägnant damit ich es nicht wieder vergesse:</p>
<p><code>echo "git://zwetschge.org/roborobo.git" &gt; /home/git/public/roborobo.git/.git/cloneurl</code></p>
<p>Dieses File liesst gitweb dann aus und schreibt die URL (in meinem Falle für roborobo) in die Summary-Übersicht mit rein.</p>
<p>Beispiel: <a href="http://git.zwetschge.org/?p=roborobo.git;a=summary">http://git.zwetschge.org/?p=roborobo.git;a=summary</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/987/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RegExp &#124; Domainendungen</title>
		<link>http://noqqe.de/archives/983</link>
		<comments>http://noqqe.de/archives/983#comments</comments>
		<pubDate>Tue, 13 Apr 2010 19:07:32 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[cat]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[domains]]></category>
		<category><![CDATA[endungen]]></category>
		<category><![CDATA[grep]]></category>
		<category><![CDATA[regexp]]></category>
		<category><![CDATA[regular]]></category>
		<category><![CDATA[regular expressions]]></category>
		<category><![CDATA[sed]]></category>
		<category><![CDATA[sort]]></category>
		<category><![CDATA[tld]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[uniq]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=983</guid>
		<description><![CDATA[Heute mal etwas weniger spektakulär. Das ist lustig, wenn ich sowas schreibe. Denn es impliziert, dass es hier schon mal etwas spektakuläres gab. Reingefallen. Heute wollte ein Kunde mit etwas mehr Domains wissen, welche verschiedenen TLDs genau dabei sind. Hatte auch kostentechnische Gründe. Jedenfalls wollte ich nach dem exportieren nicht wirklich die Liste durchgehen und [...]]]></description>
			<content:encoded><![CDATA[<p>Heute mal etwas weniger spektakulär. Das ist lustig, wenn ich sowas schreibe. Denn es impliziert, dass es hier schon mal etwas spektakuläres gab. Reingefallen.</p>
<p>Heute wollte ein Kunde mit etwas mehr Domains wissen, welche verschiedenen TLDs genau dabei sind. Hatte auch kostentechnische Gründe. Jedenfalls wollte ich nach dem exportieren nicht wirklich die Liste durchgehen und rausschreiben.</p>
<p>Wie beschreibe ich also Domains in Regular Expressions?</p>
<p><code>^.*\.(.*)</code><br />
Würde das Format beschreiben. Im Grunde alles was nach dem ersten Punkt einer Zeile kommt in $1 ablegen (durch () markiert). Kämen keinen doppelten Domains wie .co.uk in die Quere und Subdomains kommen nicht aus der Domainliste. Ziemlich low-level-regexp.</p>
<p><code>cat KundenDomainliste.txt | sed -e 's/^.*\.\(.*\)/\1/'</code><br />
Gibt die komplette Domainliste (nur mit TLDs) aus. Sonderzeichen wie ( ) müssen für die Bash noch escaped werden. Desweiteren noch den Ausdruck auf den die Beschreibung zutrifft durch 1 ersetzen. Wurden aber nicht weniger Domains.</p>
<p><code>cat KundenDomainliste.txt | sed -e 's/^.*\.\(.*\)/\1/' | uniq | sort</code><br />
Die Ausgabe von sed an uniq zu übergeben, behebt diesen Umstand. Um noch alphabetisch zu sortieren diese Ausgabe wiederrum an sort übergeben. Nett.</p>
<p>Raus kommt eine Liste von Domainendungen:<br />
<code>.au<br />
.co.uk<br />
.com<br />
.de<br />
.hu<br />
.it</code><br />
usw&#8230;<br />
Übrigens bin ich mir der Ironie bewusst, cat zu benutzen. <a href="http://sial.org/howto/shell/useless-cat/">Useless use of cat</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/983/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>roborobo &#124; selfmade robot</title>
		<link>http://noqqe.de/archives/977</link>
		<comments>http://noqqe.de/archives/977#comments</comments>
		<pubDate>Sun, 11 Apr 2010 09:40:28 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[daemon]]></category>
		<category><![CDATA[deb]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[roborobo]]></category>
		<category><![CDATA[robot]]></category>
		<category><![CDATA[sicherung]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=977</guid>
		<description><![CDATA[Auf dem Weg durch die Filesysteme meiner Rechner/Laptops/Server kam ich immer wieder in Situationen, in denen ich gerne Files (die mir wichtig waren) an einer bestimmten Stelle aufheben wollte. Ich hab über die Monate bzw. fast schon Jahre hin immer andere Systeme, Praktiken und Plätze entwickelt in denen ich diese Configs und ähnliches ablege. Über [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-978" title="Robot-icon" src="http://zwetschge.org/blog/wp-content/uploads/2010/04/Robot-icon.png" alt="Robot-icon" width="48" height="48" /><br />
Auf dem Weg durch die Filesysteme meiner Rechner/Laptops/Server kam ich immer wieder in Situationen, in denen ich gerne Files (die mir wichtig waren) an einer bestimmten Stelle aufheben wollte. Ich hab über die Monate bzw. fast schon Jahre hin immer andere Systeme, Praktiken und Plätze entwickelt in denen ich diese Configs und ähnliches ablege. Über kurz oder lang ist aber jede dieser Methoden zu aufwändig oder zu unstrukturiert. Wenn ich Konfigurationsdateien von Daemons editierte, kopierte ich vorher die alten Files an eine bestimmte Stelle. Ziemlich Standart. Der Vorgang ist an sich ziemlich mühsam. Wirr liegen irgendwo irgendwelche Files rum.</p>
<p>Vor ein paar Wochen habe ich dann angefangen mir ein kleines Helferlein zu coden. Anfangs war dieses Helferlein nur für mich gedacht und demnach relativ speziell. Ich nannte ihn &#8220;roborobo&#8221;.</p>
<p>Was er tut ? Ich gebe meinem Helfer einfach das File &#8220;in die Hand&#8221;. Alles andere erledigt er.</p>
<p>File hinzufügen<br />
<code>$ roborobo /etc/postfix/main.cf</code> </p>
<p>Alle bekannten Files updaten:<br />
<code>$ roborobo</code> </p>
<p>Er nimmt das File an, ordnet es ein und sichert es in seinem Verzeichnis mit dem kompletten Verzeichnispfad nach Baumstruktur-Art. Außerdem prüft roborobo jetzt jede Stunde anhand der sha1sum ob sich in dem File seit der letzten Prüfung etwas getan hat. Falls Veränderungen da sind, wird das File mit neuem Datum wieder abgespeichert. Das sieht ungefähr so aus:</p>
<pre><code>.roborobo/
|-- etc
|   |-- hosts
|   |   |-- hosts-20100409-1348
|   |   `-- hosts-20100409-1651
|   `-- network
|       `-- interfaces
|           |-- interfaces-20100409-1654
|           `-- interfaces-20100409-1655</code></pre>
<p>Ich brauche mich somit um _nichts_ mehr kümmern. Gebe dem &#8220;kleinen&#8221; die Files die mir wichtig sind und er passt darauf auf. Fühlt sich irgendwie an wie ein Backup-Daemon ;)</p>
<p>Jedenfalls, habe ich roborobo jetzt für den Einsatz auf jedem beliebigen System umgebaut und in ein Debianpaket gebastelt. Dokumentation erstellt, Config-Dateien ausreichend selbsterklärend gestaltet usw.</p>
<p>Wer sich dafür interessiert oder mal testen mag:</p>
<p><a href="http://github.com/noqqe/roborobo/downloads">roborobo-Debianpaket bei Github</a><br />
<a href="http://github.com/noqqe/roborobo/">roborobo-Projekt auf Github</a><br />
<a href="http://git.zwetschge.org/?p=roborobo.git;a=summary">Alles nochmal bei meinem privaten Git-Server auf git.zwetschge.org</a></p>
<p>Content:</p>
<pre><code>roborobo
|-- DEBIAN
|   `-- control
|-- etc
|   |-- cron.d
|   |   `-- roborobo
|   `-- roborobo
|       |-- roborobo.conf
|       `-- roborobo.path
`-- usr
    |-- bin
    |   `-- roborobo
    `-- share
        |-- doc
        |   `-- roborobo
        |       |-- changelog
        |       `-- copyright
        `-- man
            `-- man1
                `-- roborobo.1
</code></pre>
<p>Das ganze wie alles was ich tue, unter GPLv3. Viel Spass damit ;)</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/977/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>WordPress &#124; Archive Page erstellen</title>
		<link>http://noqqe.de/archives/970</link>
		<comments>http://noqqe.de/archives/970#comments</comments>
		<pubDate>Mon, 05 Apr 2010 19:01:16 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[archiv]]></category>
		<category><![CDATA[archive]]></category>
		<category><![CDATA[clouds]]></category>
		<category><![CDATA[contents]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=970</guid>
		<description><![CDATA[War &#8216;ne schwere Geburt, was sich da jetzt unter Archive versteckt. Zum einen (ungewöhnlicher Weise) schlecht und nicht umfassend genug dokumentiert bei codex.wordpress.org und zum anderen ist mein aktuelles Theme schon etwas widerspenstig was solche Sachen angeht. Unter anderem diese Widerspenstigkeit war der Punkt, warum ich kein Plugin verwenden konnte. Umständlich aber trotzdem zielführend. Die [...]]]></description>
			<content:encoded><![CDATA[<p>War &#8216;ne schwere Geburt, was sich da jetzt unter <a href="http://noqqe.de/?page_id=927">Archive</a> versteckt. Zum einen (ungewöhnlicher Weise) schlecht und nicht umfassend genug dokumentiert bei <a href="http://codex.wordpress.org/Creating_an_Archive_Index">codex.wordpress.org</a> und zum anderen ist mein aktuelles Theme schon etwas widerspenstig was solche Sachen angeht. Unter anderem diese Widerspenstigkeit war der Punkt, warum ich kein <a href="http://wordpress.org/extend/plugins/search.php?q=archive&amp;sort=">Plugin</a> verwenden konnte.</p>
<p>Umständlich aber trotzdem zielführend. Die single.php stellt die Einzelansicht eines Blogposts. Super das will ich ja. Die Archiv-Template-Seite kann man in dem Theme-Dir ruhig liegen lassen:</p>
<p><code>cd /var/www/blog/wp-contents/themes/clouds/<br />
cp single.php archive.php</code></p>
<p>Darauf folgend habe ich die Post-Aufrufe aus dem Quelltext entfernt. Der Source ist relativ selbsterklärend. Somit besteht nur noch das Grundgerüst einer Einzelansicht. Wo sich vorher die Aufrufe für die Posts befand, fügte ich folgendes ein:</p>
<p><code>&lt;br/&gt;&lt;b&gt;Monthly outline&lt;/b&gt;<br />
&lt;?php wp_get_archives('type=monthly&amp;show_post_count=1'); ?&gt;<br />
&lt;br/&gt;&lt;b&gt;Post outline by date&lt;/b&gt;<br />
&lt;?php wp_get_archives('type=postbypost');?&gt;</code></p>
<p>Die Funktion wp_get_archives ist allerdings <a href="http://codex.wordpress.org/Template_Tags/wp_get_archives">sehr schön dokumentiert</a>. Die Kunst an dem eigentlich Spass war aber das einbinden dieser archive.php-Datei.</p>
<p>Damit WordPress erkennt, dass es sich bei archive.php um eine Template-Datei handelt:</p>
<p><code>&lt;?php<br />
/**<br />
* @package WordPress<br />
* @subpackage Default_Theme<br />
*/<br />
/*<br />
Template Name: Archives<br />
*/<br />
?&gt;</code></p>
<p>am Anfang der Datei einfügen. Jetzt noch in WordPress die Seite erstellen. Dazu musste ich eine Seite anlegen mit leerem Inhalt. Anschliessend bei Seiten -&gt; bearbeiten -&gt; Quickedit(!) -&gt; Template: Archive auswählen.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/970/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Backup &#124; Adium Einstellungen und Plugins sichern</title>
		<link>http://noqqe.de/archives/944</link>
		<comments>http://noqqe.de/archives/944#comments</comments>
		<pubDate>Sat, 27 Mar 2010 18:29:12 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[adium]]></category>
		<category><![CDATA[backup]]></category>
		<category><![CDATA[einstellungen]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[preferences]]></category>
		<category><![CDATA[sichern]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=944</guid>
		<description><![CDATA[Ein gegebener Anlass brachte mich dazu mein Adium neu installieren zu müssen. Um es mir auch längerfristig merken zu können, paste ich wie immer alles in meinen Blog. ~/Library/Application Support/Adium 2.0/ ~/Library/Preferences/com.adiumX.adiumX.plist weg kopieren und nach der neuen Installation wieder einspielen. Und die Pfade für solche Späße bei Mac OS X gefallen mir immernoch nicht. [...]]]></description>
			<content:encoded><![CDATA[<p>Ein gegebener Anlass brachte mich dazu mein Adium neu installieren zu müssen. Um es mir auch längerfristig merken zu können, paste ich wie immer alles in meinen Blog.</p>
<p><code>~/Library/Application Support/Adium 2.0/<br />
~/Library/Preferences/com.adiumX.adiumX.plist</code></p>
<p>weg kopieren und nach der neuen Installation wieder einspielen. Und die Pfade für solche Späße bei Mac OS X gefallen mir immernoch nicht. Was soll man machen. </p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/944/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Event &#124; Chemnitzer Linux-Tage</title>
		<link>http://noqqe.de/archives/939</link>
		<comments>http://noqqe.de/archives/939#comments</comments>
		<pubDate>Tue, 16 Mar 2010 18:19:58 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[Chemnitz]]></category>
		<category><![CDATA[clt]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[i2p]]></category>
		<category><![CDATA[kvm]]></category>
		<category><![CDATA[LinuxTage]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[pacemaker]]></category>
		<category><![CDATA[suse]]></category>
		<category><![CDATA[tor]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=939</guid>
		<description><![CDATA[Ein Stück weit, darf hier ruhig auch etwas Privates einziehen. Am Sonntag 14. März war ich zum ersten Mal zu Besuch bei den Chemnitzer Linuxtagen. Die knappen 2 Stunden mit dem Auto habe ich morgens um halb 8 auf mich genommen :) Ich muss sagen ich war relativ begeistert. Nach der Ankunft, sah ich mich [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-940" title="logo2010" src="http://zwetschge.org/blog/wp-content/uploads/2010/03/logo2010.png" alt="logo2010" width="197" height="70" /></p>
<p>Ein Stück weit, darf hier ruhig auch etwas Privates einziehen. Am Sonntag 14. März war ich zum ersten Mal zu Besuch bei den Chemnitzer Linuxtagen. Die knappen 2 Stunden mit dem Auto habe ich morgens um halb 8 auf mich genommen :) Ich muss sagen ich war relativ begeistert.</p>
<p><a title="IMG_0215 von noqqe bei Flickr" href="http://www.flickr.com/photos/flooohooo/4438857124/"><img src="http://farm3.static.flickr.com/2516/4438857124_ee91062548.jpg" alt="IMG_0215" width="500" height="375" /></a></p>
<p>Nach der Ankunft, sah ich mich erst etwas in der Halle um, besuchte Jan am Debian-Stand und liess mich erstmal von durchweg freundlichen Projektvertretern in ihr (mir meistens bereits bekanntes) Projekt einführen.</p>
<p><a title="IMG_0213 von noqqe bei Flickr" href="http://www.flickr.com/photos/flooohooo/4438856272/"><img src="http://farm5.static.flickr.com/4002/4438856272_65090b71f8.jpg" alt="IMG_0213" width="375" height="500" /></a></p>
<p>Darauf folgte eigentlich ein Marathon aus Vorträgen. Durch einen Umstand konnte ich mich leider nur Sonntags den Vorträgen unterziehen. Aber trotzdem gefielen mir die, die ich sah, sehr gut.</p>
<p>1. Anonymität im Internet (TOR, i2P und grundsätzliches zu Daten)<br />
2. Virtual System Cluster mit KVM und Pacemaker (B1-Systems. Für mich teils interessant für Arbeit. Thema Virtualisierung)<br />
- Mittagspause-<br />
3. Auf dem Weg zum Intrusion Detection System der nächsten Generation (IDS war ein bisschen Unglücklich gewählt. Sehr theoretisch im Bezug auf Social Engineering)#<br />
4. MySQL Backups &#8211; Best Practices (Ein Referent mit polnischer Herkunft klärte mich über grösstenteils alle Backuplösungen auf. Hot / Cold / Txt / Binary / Differentiell)<br />
5. Computerviren und Linux (Sehr sehr nice gewesen. Haufen neue Erkenntnisse gehabt)</p>
<p>Im generellen auch netten Kontakt mit den unterschiedlichsten Linux-Anwendern gehabt. Linux@Grundschule Linux@HP und ähnliches.<br />
Werd ich nächstes Jahr gerne wieder besuchen. Vielleicht sogar das ganze WE.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/939/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web &#124; Statistik Video</title>
		<link>http://noqqe.de/archives/933</link>
		<comments>http://noqqe.de/archives/933#comments</comments>
		<pubDate>Fri, 12 Mar 2010 13:27:35 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[stats]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=933</guid>
		<description><![CDATA[Ich glaube das erste Video, was ich in meinem Blog poste: JESS3 / The State of The Internet from JESS3 on Vimeo. Awesome gemacht.]]></description>
			<content:encoded><![CDATA[<p>Ich glaube das erste Video, was ich in meinem Blog poste:<br />
<object width="400" height="300"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=9641036&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=ffffff&amp;fullscreen=1" /><embed src="http://vimeo.com/moogaloop.swf?clip_id=9641036&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=ffffff&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="400" height="300"></embed></object>
<p><a href="http://vimeo.com/9641036">JESS3 / The State of The Internet</a> from <a href="http://vimeo.com/jessesaves">JESS3</a> on <a href="http://vimeo.com">Vimeo</a>.</p>
<p>Awesome gemacht.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/933/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Offtopic &#124; Endlich mal ein schöner ASCII-Art-Generator</title>
		<link>http://noqqe.de/archives/884</link>
		<comments>http://noqqe.de/archives/884#comments</comments>
		<pubDate>Mon, 15 Feb 2010 07:39:42 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[art]]></category>
		<category><![CDATA[ascii]]></category>
		<category><![CDATA[generator]]></category>
		<category><![CDATA[offtopic]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=884</guid>
		<description><![CDATA[Ich befand das für cool. Alles weitere hier: http://www.network-science.de/ascii/ Im Gegensatz zu manchen anderen die sich ASCII-Web-Dienst nennen wollen :)]]></description>
			<content:encoded><![CDATA[<p>Ich befand <a href="http://zwetschge.org/paste/9">das</a> für cool. Alles weitere hier: <a href="http://www.network-science.de/ascii/">http://www.network-science.de/ascii/</a> Im Gegensatz zu manchen anderen die sich ASCII-Web-Dienst nennen wollen :)</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/884/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Offtopic &#124; Reaktion Teeworlds-Setup</title>
		<link>http://noqqe.de/archives/857</link>
		<comments>http://noqqe.de/archives/857#comments</comments>
		<pubDate>Sat, 30 Jan 2010 15:53:04 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[Teeworlds]]></category>
		<category><![CDATA[teeworlds.org]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=857</guid>
		<description><![CDATA[Am Freitag erreichte mich eine Mail. Hallo flo (oder noqqe oder wie?) auch ich möchte mehrere teeworlds server auf einem Rechner laufen lassen. Ich komme mit Linux ganz gut klar, habe aber von teeworlds bisher keine Ahnung. Kannst du mir deinen Verzeichnisbaum mit den verschiedenen Configfiles als tarball zusammenpacken und zuschicken? Unter http://noqqe.de/?p=800 hast du [...]]]></description>
			<content:encoded><![CDATA[<p>Am Freitag erreichte mich eine Mail.</p>
<blockquote><p>Hallo flo (oder noqqe oder wie?)<br />
auch ich möchte mehrere teeworlds server auf einem Rechner laufen lassen.<br />
Ich komme mit Linux ganz gut klar, habe aber von teeworlds bisher keine Ahnung.</p>
<p>Kannst du mir deinen Verzeichnisbaum mit den verschiedenen Configfiles als tarball<br />
zusammenpacken und zuschicken?</p>
<p>Unter http://noqqe.de/?p=800 hast du eine Kurzanleitung geschrieben, aus der ich bestimmt schlau würde,<br />
wenn ich mich mit teeworlds auskennen würde. Hast du das noch etwas kleinschrittiger?</p>
<p>Ich wäre dir sehr dankbar (und rund 200 Oberstufenschüler auch, da die Server innerhalb einer Schule laufen werden !!!)</p>
<p>Gruß aus</p>
<p>Haan (Rheinland)<br />
R. S.</p></blockquote>
<p>Fand ich nett. Fand ich aber auch wunderlich. G8 Schüler haben anscheinend doch noch zu viel Zeit ;) Wenn ich weiss wie es geworden ist werd ichs hier verlauten lassen.</p>
<p><img class="size-full wp-image-722 alignleft" title="7" src="http://zwetschge.org/blog/wp-content/uploads/2009/11/7.png" alt="7" width="60" height="60" /></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/857/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Offtopic &#124; Das verlorene Kind&#8230;ahm, Passwort</title>
		<link>http://noqqe.de/archives/849</link>
		<comments>http://noqqe.de/archives/849#comments</comments>
		<pubDate>Fri, 15 Jan 2010 16:40:04 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[2010]]></category>
		<category><![CDATA[adium]]></category>
		<category><![CDATA[Error]]></category>
		<category><![CDATA[ICQ]]></category>
		<category><![CDATA[icq.com]]></category>
		<category><![CDATA[login]]></category>
		<category><![CDATA[password]]></category>
		<category><![CDATA[pidgin]]></category>
		<category><![CDATA[Protocol]]></category>
		<category><![CDATA[protokoll]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=849</guid>
		<description><![CDATA[Mich verwunderte heute die Konnektierung zu meinem ICQ Account. Anstatt einer Hand voll Kontakten begrüsste mich in Adium eine unschöne Fehlermeldung (ohne jetzt das Layout oder die Forumlierung der Fehlkonnektion Adiums in Frage stellen zu wollen). Mit der üblichen Protokollumstellung hatte ich gerechnet. &#60;yoda&#62; Einspielen, ich tat, das Update&#60;/yoda&#62;. Erst nach erneutem Versuch fiel mir [...]]]></description>
			<content:encoded><![CDATA[<p>Mich verwunderte heute die Konnektierung zu meinem ICQ Account. Anstatt einer Hand voll Kontakten begrüsste mich in Adium eine unschöne Fehlermeldung (ohne jetzt das Layout oder die Forumlierung der Fehlkonnektion Adiums in Frage stellen zu wollen). Mit der üblichen Protokollumstellung hatte ich gerechnet. &lt;yoda&gt; Einspielen, ich tat, das Update&lt;/yoda&gt;. Erst nach erneutem Versuch fiel mir der Inhalt der Fehlermeldung auf. Die Flüssigkeitskristalle des LCD-Displays meines Macbooks bildeten mit Tausenden von Pixel die beiden Wörter &#8220;Falsches Passwort&#8221;.</p>
<p>Das war sonst anders. Etwas perplex startete ich Xubuntu, Pidgin und die aktuelle libpurple geprüft. Funktioniert nicht. Aus den hintersten Ecken meiner Wohnung kramte ich einen PC hervor von dem ich wusste er würde ein kommerzielles OS aus Redmond enthalten. Als ich ihn einschaltete wusste ich wieder warum er dort stand woher ich ihn geborgen hatte.</p>
<p>Gefühlte 3 Stunden und 5 BlueScreens später beantwortete ich die Huhn oder Ei Frage am Ende der Installation von ICQ souverän. Die Antwort die ich gab ist mir gerade entfallen. Auch der orginale ICQ Client sollte mich wieder enttäuschen. Aber mir fiel ein Feld mit der Beschriftung &#8220;Lost your Password?&#8221; auf. Nachdem ich also erneut einige Zeit abwartete (um zu viele fehlerhafte Loginversuche ausschliessen zu können) überschrieb ich mein mittlerweile 6 Jahre altes ICQ Passwort. Ich gebe in aller Schande zu, dass das Passwort mein erstes war. Ich hatte es einfach nie geändert, vergessen, verdrängt. Zusätzlich war es aus meiner Profilbeschreibung abzuleiten, aber mit 14 Jahren hatte ich noch anderes im Kopf als Brute-Force-Attacken, Passwort-Algorithmen (wie ich sie mittlerweile habe) und Sicherheit.</p>
<p>Es wunderte mich extrem wie sich das Passwort ändern konnte. Ich saß an 3 verschiedenen PCs / Clients  über einen Zeitraum von 3 Stunden um in mein ICQ einloggen zu können. Die Maschinen in denen ich mein Passwort für den besagten Messaging-Dienst anvertraute werden es doch wohl nicht vergessen haben? War das wirklich &#8220;gehacked&#8221; oder &#8220;geBrute-Forced&#8221;?</p>
<p>Ich wüsste nicht warum.  Jedenfalls, liess sich das ICQ-Passwort über Eingabe der damals hinterlegten Emailadresse resetten. Ich gab einer Hand voll Archäologen den Auftrag dieses Postfach für mich ausfindig zu machen. So in etwa.</p>
<p>Dies ist eine wahre Geschichte und ich bin (wieder) online.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/849/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Twitter &#124; Filterkaffee</title>
		<link>http://noqqe.de/archives/814</link>
		<comments>http://noqqe.de/archives/814#comments</comments>
		<pubDate>Mon, 21 Dec 2009 22:16:46 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[adblock]]></category>
		<category><![CDATA[block]]></category>
		<category><![CDATA[bsf]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[hashtag]]></category>
		<category><![CDATA[microblogging]]></category>
		<category><![CDATA[rootbox]]></category>
		<category><![CDATA[sdr]]></category>
		<category><![CDATA[tv]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=814</guid>
		<description><![CDATA[Gerade machte ich mir Gedanken, bzw wurde dazu gezwungen Schrägstrich verleitet mir Gedanken zu machen über Twitter. Vielleicht liegt das an den mehr oder minder folgenswerten Leuten denen ich folge bzw jetzt nichtmehr folge, dass ich Twitter manchmal nervend finde. Warum setz ich mich noch gleich vor den PC ? Achja stimmt, ich wollte _nicht_ [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft size-full wp-image-816" title="twitter_logo_header" src="http://zwetschge.org/blog/wp-content/uploads/2009/12/twitter_logo_header.png" alt="twitter_logo_header" width="155" height="36" /></p>
<p>Gerade machte ich mir Gedanken, bzw wurde dazu gezwungen Schrägstrich verleitet mir Gedanken zu machen über Twitter. Vielleicht liegt das an den mehr oder minder folgenswerten Leuten denen ich folge bzw jetzt nichtmehr folge, dass ich Twitter manchmal nervend finde. Warum setz ich mich noch gleich vor den PC ? Achja stimmt, ich wollte _nicht_ wissen was gerade im Fernsehen läuft. Oder so.</p>
<p>Na gut ich schweife ab. In meiner Twitter-Timeline fand ich jedenfalls so <a href="http://twitter.com/sofaluemmel/status/6905536751">einige</a> <a href="http://twitter.com/KimKakao/status/6904651904">Tags</a> die da hiessen #sdr, #bsf oder ähnliches, die mich in erster Linie an Rundfunksender oder Viehkrankheiten erinnerten. Wie sich kurzerhand herrausstellte sollte das garnicht so weit von dem entfernt sein was ich dachte. Kommentare zu Bauer sucht Frau oder Schlag den All-in-One-Moderator von Prosieben.</p>
<p>Ich fragte mich ob ich meine Timeline auch ohne diese Tweets lesen könnte. Ein grep -v $HASHTAG sozusagen. Dies <a href="http://twitter.com/noqqe/status/6905895886">schrob</a> ich (ja schrob ist auch ein schönes Wort, genauso wie <a href="http://twitter.com/noqqe/status/6903782070">fotofiert</a>) dann in Twitter. Ich schweifte von hier nach da, von Automatisierungmöglichkeit zum Melitta Filter für Twitter. Über Interessen, Langeweile, Stumpfsinn, oder ob ich der einzige bin den sowas _nicht_ interessiert.</p>
<p>Warum gäbe es keine automatisierte Filtermethode für TV-Serien die mich nicht intressieren? Warum gäbe es keine automatisierte Filtermethode für Tweets die mich allgemein nicht interessieren? Ein Melitta-Beutel an dem die ganzen Tags hängen bleiben die ich nicht lesen will. Andererseits. Warum sollte ich meine Timeline bei Twitter dann überhaupt noch aktualisieren? Alle 2 Wochen würden dann warscheinlich reichen… Auch auf die Gefahr hin das ich meine eigenen Tweets warschenlich nichtmehr lesen könnte…</p>
<p>Bis <a href="https://twitter.com/rootbox">Benne</a> mir einen Tweet mit dem Inhalt:</p>
<p><strong>@noqqe man sollte die ganzen tags mal sammeln ;-)</strong></p>
<p>zusandte, welcher meine Denke dann in Richtung Adblockplus brachte.<br />
Es wäre doch awesome eine Art, naja. Eine Art ja Adblock zu haben. Ein Plugin für Twitter die automatisch Tweets je nach Hashtag blocken, man allerdings Abonnementen-Like den Filterlisten von Leuten subscriben könnte.</p>
<p>Klar das wäre Aufwand für denjenigen der diese Liste pflegt. Aber Adblock Abos pflegt doch auch irgendjemand.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/814/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Mac &#124; Macbook aufklebermässig vergewaltigt</title>
		<link>http://noqqe.de/archives/810</link>
		<comments>http://noqqe.de/archives/810#comments</comments>
		<pubDate>Sun, 20 Dec 2009 13:02:44 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[aufkleber]]></category>
		<category><![CDATA[decals]]></category>
		<category><![CDATA[macbook]]></category>
		<category><![CDATA[sticker]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=810</guid>
		<description><![CDATA[Das Macbook das ich von einem Kollegen erstanden habe, musste ich rigednwie bisschen individualisieren. Sowas sieht dann so aus: Das schöne ist, wenn ich keine Lust mehr drauf habe, zieh ich das ganze wie einen Teppich wieder runter ;D Übrigens bin ich mir der Ironie bewusst auf ein nicht MacbookPro einen Aufkleber mit der Aufschrift [...]]]></description>
			<content:encoded><![CDATA[<p>Das Macbook das ich von einem Kollegen erstanden habe, musste ich rigednwie bisschen individualisieren. Sowas sieht dann so aus:</p>
<p><a title="IMG_0119 von noqqe bei Flickr" href="http://www.flickr.com/photos/flooohooo/4200080744/"><img src="http://farm3.static.flickr.com/2604/4200080744_9c7f8f3448.jpg" alt="IMG_0119" width="250" height="187" /></a><a title="IMG_0122 von noqqe bei Flickr" href="http://www.flickr.com/photos/flooohooo/4200061846/"><img src="http://farm3.static.flickr.com/2627/4200061846_45880bf996.jpg" alt="IMG_0122" width="250" height="187" /></a></p>
<p>Das schöne ist, wenn ich keine Lust mehr drauf habe, zieh ich das ganze wie einen Teppich wieder runter ;D Übrigens bin ich mir der Ironie bewusst auf ein nicht MacbookPro einen Aufkleber mit der Aufschrift &#8220;Trust in Aluminium&#8221; zu kleben.<br />
Wer mehr sehen will: <a href="http://www.flickr.com/photos/flooohooo/sets/72157623035731420/">Link zum FlickR Fotoalbum</a></p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/810/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hack &#124; The Unix Forkbomb</title>
		<link>http://noqqe.de/archives/740</link>
		<comments>http://noqqe.de/archives/740#comments</comments>
		<pubDate>Mon, 30 Nov 2009 21:24:46 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>
		<category><![CDATA[exploit]]></category>
		<category><![CDATA[fork]]></category>
		<category><![CDATA[forkbomb]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[unix]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=740</guid>
		<description><![CDATA[Eine der einfachsten Varianten ein unixoides Betriebssystem abzuschiessen ist mir heute über den Weg gelaufen. Wurde 2002 von Jaromill verfasst und lautet wie folgt: x(){ x&#124;x&#38; };x Im Endeffekt wird die Funktion &#8220;x&#8221; definiert und darin zweimal aufgerufen. Somit entstehen Prozesse, ich weiss garnicht wie viele ungefähr, vielleicht 1000? vielleicht 25000? Wie hoch ist wohl [...]]]></description>
			<content:encoded><![CDATA[<p>Eine der einfachsten Varianten ein unixoides Betriebssystem abzuschiessen ist mir heute über den Weg gelaufen. Wurde 2002 von Jaromill verfasst und lautet wie folgt:</p>
<blockquote>
<h2><code> x(){ x|x&amp; };x</code></h2>
</blockquote>
<p>Im Endeffekt wird die Funktion &#8220;x&#8221; definiert und darin zweimal aufgerufen. Somit entstehen Prozesse, ich weiss garnicht wie viele ungefähr, vielleicht 1000? vielleicht 25000? Wie hoch ist wohl die Anzahl der Prozesse die ein BSD/Linux aushält? Naja egal ich schweife ab. Genauso wie das System wenn man diesen Code-Schnippsel ausführt.</p>
<p>ps:Aus Gründen der Formatierung habe ich &#8220;:&#8221; aus der Orginalfassung durch &#8220;x&#8221; ersetzt. Find ich persöhnlich schöner. Und mein code-block in WordPress mag mich heute irgendwie nicht.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/740/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Social &#124; Blogs von Leuten</title>
		<link>http://noqqe.de/archives/694</link>
		<comments>http://noqqe.de/archives/694#comments</comments>
		<pubDate>Sun, 01 Nov 2009 20:39:57 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=694</guid>
		<description><![CDATA[Da ich ja keine Blogroll oder vergleichbares habe, dachte ich mir ich empfehle mal kurz ein paar andere Blogs die ich sehr gerne lese. Andererseits möchte ich mich keineswegs an irgendwelchen &#8220;ein FU für Blogs&#8221; (oder so ähnlich hiess das..) Aktionen beteiligen. -distanziert- http://320zeichen.de/ &#8211; Kahta, Drupal, Web-Montag(e) und ähnliches geistreiches :) http://raven.to/ &#8211; Frank, [...]]]></description>
			<content:encoded><![CDATA[<p>Da ich ja keine Blogroll oder vergleichbares habe, dachte ich mir ich empfehle mal kurz ein paar andere Blogs die ich sehr gerne lese. Andererseits möchte ich mich keineswegs an irgendwelchen &#8220;ein FU für Blogs&#8221; (oder so ähnlich hiess das..) Aktionen beteiligen. -distanziert-</p>
<p><a href="http://320zeichen.de/">http://320zeichen.de/</a> &#8211; Kahta, Drupal, Web-Montag(e) und ähnliches geistreiches :)</p>
<p><a href="http://raven.to/">http://raven.to/</a> &#8211; Frank, ebenfalls Drupal und Web-Things, immer für n Smalltalk oder Drupalhilfe gut</p>
<p><a href="http://cryzed.de/">http://cryzed.de/</a> &#8211; Chris, Python-fanatic, Blogfauler 4Chan Leser, würde auch CodeMonkey passen.</p>
<p><a href="http://g33ky.de/">http://g33ky.de/</a> &#8211; DrAzraelTod höchstpersöhnlich, Nerd und Geek Stuff aller Art.</p>
<p><a href="http://marcboe.de">http://marcboe.de</a> &#8211; Marc von Mblog. KDE sein Gebiet. OpenSource Allgemein.</p>
<p><a href="http://thedifferentway.6x.to">http://thedifferentway.6x.to</a> Razibue, Allround Tech Stuff und Informatik-Student</p>
<p><a href="http://www.twitkrit.de">http://www.twitkrit.de</a> &#8211; Muss ich leider passen was Bekanntschaften angeht, lese ich aber doch sehr sehr gerne. Das beste aus der deutsche Twitter-Szene</p>
<p><a href="http://blogausgraz.wordpress.com/">http://blogausgraz.wordpress.com/</a> &#8211; auch Blogdudel will genannt sein. Android, Linux, Web2.0</p>
<p><a href="http://karl-tux-stadt.de">http://karl-tux-stadt.de</a> &#8211; Zu guter Letzt, den Blog lese ich glaub ich seit ich weiss was ein FeedReader ist. Deckt so ziemlich das ganze OpenSource-Distro Spektrum ab.</p>
<p>Reihenfolge ist übrigens systematisch willkürlich gewählt.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/694/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Mac &#124; Macbook</title>
		<link>http://noqqe.de/archives/690</link>
		<comments>http://noqqe.de/archives/690#comments</comments>
		<pubDate>Sun, 01 Nov 2009 13:39:04 +0000</pubDate>
		<dc:creator>noqqeadm</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[PlanetenBlogger]]></category>

		<guid isPermaLink="false">http://noqqe.de/?p=690</guid>
		<description><![CDATA[Frage: Flo, warum genau hast du jetzt genau ein Macbook? Antwort: Mh, ja irgendwie hat sich das so angeboten. Für billig Geld gebraucht erworben. Frage: Ahja und woher genau? Und was hast dafür hingelegt? Antwort: Von einem hoffungslos Überbezahlten 400 Euro Studenten aus der Arbeit :D, dem ich so ziemlich genau ein Monatsgehalt dafür gegeben [...]]]></description>
			<content:encoded><![CDATA[<p>Frage: Flo, warum genau hast du jetzt genau ein Macbook?<br />
Antwort: Mh, ja irgendwie hat sich das so angeboten. Für billig Geld gebraucht erworben.</p>
<p>Frage: Ahja und woher genau? Und was hast dafür hingelegt?<br />
Antwort: Von einem hoffungslos Überbezahlten 400 Euro Studenten aus der Arbeit :D, dem ich so ziemlich genau ein Monatsgehalt dafür gegeben habe, also, seins.</p>
<p>Frage: Kannst du das Teil mal herzeigen?<br />
Antwort: Klar&#8230;<br />
<a href="http://twitpic.com/mhoy4"><img src="http://zwetschge.org/blog/wp-content/uploads/2009/11/37777036.jpg" alt="37777036" title="37777036" width="300" height="325" class="alignnone size-full wp-image-705" /></a></p>
<p>Frage: Und wie findest du das Teil jetzt so?<br />
Antwort: Mh, Schick<br />
F: Mehr nicht?<br />
A: Alles weitere würde mich hier jetzt als Mac-Fanboy outen und könnte vor Gericht gegen mich verwendet werden.<br />
F: Achso, ja, nachvollziehbar.</p>
<p>Frage: Und jetzt? Keinerlei Gewissensbisse wieder ein kommerzielles OS einzusetzen? Nach mittlerweile 2 Jahren OpenSource? <a href="http://cryzed.de">Kritiker</a> behaupten, du wärst auch nur noch eine alte verweichlichte Kommerzschlampe.<br />
Antwort: Da hat, der im Unterton erwähnte, Chris wohl Recht. Aber wer intressiert sich schon für dessen Meinung ? :D Ich bin nur ein Opfer des Kaptialismus</p>
<p>Frage: Wie gehts mit deinen Linuxen? Schon OS-X-Server Software bestellt?<br />
Antwort: Dazu möchte ich nichts sagen.<br />
Frage: Wunder Punkt getroffen ha?<br />
Antwort: FU.</p>
]]></content:encoded>
			<wfw:commentRss>http://noqqe.de/archives/690/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

