<?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>noctus.net</title>
	<atom:link href="http://noctus.net/feed/rss2" rel="self" type="application/rss+xml" />
	<link>http://noctus.net</link>
	<description>ね、してる？</description>
	<lastBuildDate>Sun, 05 Sep 2010 12:15:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Aktueller Befehl im Terminaltitel</title>
		<link>http://noctus.net/2010/aktueller-befehl-im-terminaltitel</link>
		<comments>http://noctus.net/2010/aktueller-befehl-im-terminaltitel#comments</comments>
		<pubDate>Thu, 26 Aug 2010 22:58:10 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1595</guid>
		<description><![CDATA[Ein schönes Feature worauf ich nicht mehr verzichten möchte ist die automatische Anzeige des aktuell ausgeführten Befehls im Titel des Terminals bzw. des Tabs. Dadurch wird die Arbeit mit multiplen Fenstern bzw. Tabs ungemein einfacher. Hier die Umsetzung, einzutragen in die ~/.bashrc: function reset_prompt_and_title&#40;&#41; &#123; # Gewünschten Standard-Prompt hier angeben PS1='\[\033[0;32m\]\u\[\033[00m\] \[\033[0;33m\]\w\[\033[00m\] \$ ' &#160; [...]]]></description>
			<content:encoded><![CDATA[<p>Ein schönes Feature worauf ich nicht mehr verzichten möchte ist die automatische Anzeige des aktuell ausgeführten Befehls im Titel des Terminals bzw. des Tabs. Dadurch wird die Arbeit mit multiplen Fenstern bzw. Tabs ungemein einfacher. Hier die Umsetzung, einzutragen in die <code>~/.bashrc</code>:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> reset_prompt_and_title<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#123;</span>
  <span style="color: #666666; font-style: italic;"># Gewünschten Standard-Prompt hier angeben</span>
  <span style="color: #007800;">PS1</span>=<span style="color: #ff0000;">'\[\033[0;32m\]\u\[\033[00m\] \[\033[0;33m\]\w\[\033[00m\] \$ '</span>
&nbsp;
  <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #660033;">-ne</span> <span style="color: #ff0000;">&quot;\e]0;<span style="color: #007800;">${USER}</span>@<span style="color: #007800;">${HOSTNAME}</span>: <span style="color: #007800;">${PWD}</span>\a&quot;</span>
  <span style="color: #666666; font-style: italic;"># Variante: Die überfluessige Angabe des Home-Verzeichnisses</span>
  <span style="color: #666666; font-style: italic;">#           durch die übliche Tilde ersetzen</span>
  <span style="color: #666666; font-style: italic;">#echo -ne &quot;\e]0;${USER}@${HOSTNAME}: ${PWD/#${HOME}/~}\a&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Nur für grafische Terminals gedacht</span>
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$TERM</span>&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
  xterm<span style="color: #000000; font-weight: bold;">*|</span>rxvt<span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
    <span style="color: #666666; font-style: italic;"># Eventuelle weitere Kommandos für $PROMPT_COMMAND unbedingt erst</span>
    <span style="color: #666666; font-style: italic;"># nach dieser Zeile anhängen</span>
    <span style="color: #007800;">PROMPT_COMMAND</span>=reset_prompt_and_title
&nbsp;
    <span style="color: #666666; font-style: italic;"># Aktuell ausgeführten Befehl in den Terminaltitel schreiben</span>
    <span style="color: #7a0874; font-weight: bold;">trap</span> <span style="color: #ff0000;">'echo -ne &quot;\e]0;$BASH_COMMAND\a&quot;'</span> DEBUG
    <span style="color: #000000; font-weight: bold;">;;</span>
<span style="color: #000000; font-weight: bold;">esac</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2010/aktueller-befehl-im-terminaltitel/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zugriff auf USB-Datenträger mittels udisks</title>
		<link>http://noctus.net/2010/zugriff-auf-usb-datentraeger-mittels-udisks</link>
		<comments>http://noctus.net/2010/zugriff-auf-usb-datentraeger-mittels-udisks#comments</comments>
		<pubDate>Tue, 24 Aug 2010 10:41:39 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1587</guid>
		<description><![CDATA[Um endlich in den Genuss eines aktuellen Thunars mit Gio-Unterstützung zu kommen begab ich mich auf eine kurze Suche und wurde im Xubuntu Developers PPA fündig. Die Aktualisierung verlief reibungslos, womit ich nun auch einmal auf entfernte Quellen zuzugreifen. So habe ich bisher auf mein Heimverzeichnis meiner Hochschule per sshfs und einem Eintrag in /etc/fstab [...]]]></description>
			<content:encoded><![CDATA[<p>Um endlich in den Genuss eines aktuellen <a href="http://thunar.xfce.org/index.html">Thunars</a> mit Gio-Unterstützung zu kommen begab ich mich auf eine kurze Suche und wurde im <a href="https://launchpad.net/~xubuntu-dev/+archive/ppa">Xubuntu Developers PPA</a> fündig. Die Aktualisierung verlief reibungslos, womit ich nun auch einmal auf entfernte Quellen zuzugreifen. So habe ich bisher auf mein Heimverzeichnis meiner Hochschule per sshfs und einem Eintrag in <code>/etc/fstab</code> zugegriffen. Grafisch einigermaßen komfortabel habe ich das Einhängen mit Hilfe einer benutzerdefinierten Aktion in Thunar vorgenommen.</p>
<p>Doch mittels Gio-Unterstützung in Thunar sollte dies der Vergangenheit angehören. Also rief ich ssh://ilux150.informatik.htw-dresden.de auf und erfreute mich der Tatsache, dass dies einfach funktionierte. Auch FTP-Zugriff funktioniert einwandfrei, auch wenn das wünschenswerte <a href="https://bugzilla.gnome.org/show_bug.cgi?id=526582">FTPES noch nicht in Gvfs implementiert</a> wurde.</p>
<p><a href="http://noctus.net/wp-content/uploads/2010/08/thunar_gio_ssh_authentication.png" rel="lightbox[1587]"><img class="size-medium wp-image-1588 alignnone" title="SSH-Authentifizierung in Thunar" src="http://noctus.net/wp-content/uploads/2010/08/thunar_gio_ssh_authentication-300x178.png" alt="" width="210" height="125" /></a> <a href="http://noctus.net/wp-content/uploads/2010/08/thunar_gvfs_ssh_browse.png" rel="lightbox[1587]"><img class="alignnone size-medium wp-image-1589" title="Durchsuchen eines entfernten Verzeichnisses über SSH" src="http://noctus.net/wp-content/uploads/2010/08/thunar_gvfs_ssh_browse-300x178.png" alt="" width="210" height="125" /></a></p>
<p>Schnell zeigte sich allerdings ein Problem: beim versuchten Zugriff auf meinen USB-Stick wurde ich nun mit einer <strong>Not Authorized</strong> Fehlermeldung abgewiesen. Nach kurzer Suche zu diesem Problem erkannte ich schnell, dass hier <a href="http://de.wikipedia.org/wiki/PolicyKit">PolicyKit</a> seine Finger im Spiel hat. Weiteres Suchen offenbarte mir schließlich <a href="http://mdzlog.alcor.net/2010/06/27/navigating-the-policykit-maze/">eine Lösung</a>, welche ich unter <code>/etc/polkit-1/localauthority/50-local.d/plugdev.plka</code> platzierte:</p>

<div class="wp_syntax"><div class="code"><pre class="ini" style="font-family:monospace;"><span style="color: #000066; font-weight:bold;"><span style="">&#91;</span>Access to removable media for the plugdev group<span style="">&#93;</span></span>
<span style="color: #000099;">Identity</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">unix-group:plugdev</span>
<span style="color: #000099;">Action</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">org.freedesktop.udisks.drive-eject</span><span style="color: #666666; font-style: italic;">;org.freedesktop.udisks.filesystem-mount</span>
<span style="color: #000099;">ResultAny</span><span style="color: #000066; font-weight:bold;">=</span><span style="color: #660066;">yes</span></pre></div></div>

<p>Damit allein war es jedoch noch nicht getan, da mir <code>ck-list-sessions</code> nach wie vor bescheinigte, dass die <a href="http://www.freedesktop.org/wiki/Software/ConsoleKit">ConsoleKit</a>-Sitzung nicht aktiv sei. Ohne eine aktive ConsoleKit-Sitzung könnte kein Programm unter X Dienste wie Udisks in Anspruch nehmen. Lange Rede kurzer Sinn war die Lösung schließlich, meine <code>.xinitrc</code> folgendermaßen zu gestalten:</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #7a0874; font-weight: bold;">exec</span> ck-launch-session startxfce4</pre></div></div>

<p>Hierdurch wird Xfce in einer ConsoleKit-Sitzung gestartet, womit ich nun ohne weiteres auf meine USB-Datenträger zugreifen kann. (<strong>Nachtrag</strong>: mit dem <a href="http://foo-projects.org/pipermail/xfce/2010-September/027556.html">4.7.0 Release von xfce4-session</a> sollte dies nicht mehr erforderlich sein.) Meiner Meinung nach sollten Distributionen den hier beschriebenen Zugriff auf USB-Datenträger von Haus aus für reguläre Nutzer erlauben. Einige wie Ubuntu werden das auch sicher machen, bei Debian ist die Akzeptanz angesichts des serverlastigen Einsatzgebietes allerdings ungewiss.</p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2010/zugriff-auf-usb-datentraeger-mittels-udisks/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sadako will leben</title>
		<link>http://noctus.net/2010/sadako-will-leben</link>
		<comments>http://noctus.net/2010/sadako-will-leben#comments</comments>
		<pubDate>Sun, 15 Aug 2010 14:10:36 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1571</guid>
		<description><![CDATA[Angeregt durch die kürzliche Jährung der schrecklichen Tragödie, welche sich damals, am 6. August 1945 in der japanischen Stadt Hiroshima ereignete, wollte ich mich einmal mehr mit dem Thema befassen und stieß so unter anderem auf Berichte von Menschen, die damals mitten im Chaos aus Feuer, Rauch, ohrenbetäubendem Lärm und unsäglichem Leid waren. Meine Freundin [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://noctus.net/wp-content/uploads/2010/08/Sadako_will_leben_Buchcover.jpg" rel="lightbox[1571]"><img class="aligncenter size-medium wp-image-1573" title="Buchcover von „Sadako will leben“" src="http://noctus.net/wp-content/uploads/2010/08/Sadako_will_leben_Buchcover-191x300.jpg" alt="" width="191" height="300" /></a></p>
<p>Angeregt durch die kürzliche Jährung der <a href="http://de.wikipedia.org/wiki/Atombombenabwürfe_auf_Hiroshima_und_Nagasaki#Abwurf_auf_Hiroshima">schrecklichen Tragödie</a>, welche sich damals, am 6. August 1945 in der japanischen Stadt Hiroshima ereignete, wollte ich mich einmal mehr mit dem Thema befassen und stieß so unter anderem auf <a href="http://www.inicom.com/hibakusha/">Berichte von Menschen</a>, die damals mitten im Chaos aus Feuer, Rauch, ohrenbetäubendem Lärm und unsäglichem Leid waren.</p>
<p>Meine Freundin wies mich hier auch auf ein Buch hin, was weltweit sehr bekannt ist und zum Teil sogar als Lehrbuch im Unterricht verwendet wird: „<a href="http://www.friedenspaedagogik.de/datenbank/kjkf/detail.php?id=27157">Sadako will leben</a>“.</p>
<p>Erzählt wird die Geschichte der kleinen Sadako wie sie ein unbekümmertes Leben trotz der widrigen Umstände in Kriegszeiten führt. Das Essen ist knapp und die Mutter den ganzen Tag mit ihrer Arbeit in der Werft beschäftigt. Der Vater wurde zum Kriegsdienst eingezogen und riskiert irgendwo im Land sein Leben für die Ziele Japans. Echte Freunde sind rar in diesen Zeiten und fast jeder scheint darauf erpicht zu sein, das beste aus seiner misslichen Lage zu machen.</p>
<p>Neben dem Alltag von Sadako und ihrem Bruder Shigeo werden auch Blicke über den Tellerrand gewagt und die Erlebnisse anderer Menschen wie dem alterwürdigen Fischer Nishioka-san, dem jungen Soldaten Kunyoshi und einer Gruppe von amerikanischen Fliegern erzählt. Damit wird von Beginn deutlich gemacht, dass hinter jedem Menschen eine Geschichte steckt. Keiner ist grundsätzlich böse, so es denn ab und an den Anschein haben mag.</p>
<p>Die Darstellung der Charaktere ist überaus menschlich und bereits nach kurzer Zeit fühlt man mit ihnen und versteht ihre Beweggründe. Die Titel gebende Sadako ist hier natürlich hervorzuheben. Ihre furchtlose und unbekümmerte Art zaubert dem Leser immer wieder ein Lächeln auf das Gesicht, sei es weil sie in grenzenlose Freude ob eines tollen Fundes oder Geschenks ausbricht oder mit einem „Schmollmündchen“ auf der Stelle stampft, weil ihr Bruder ihr wieder einmal nicht erlaubt zu tun, wonach ihr der Sinn steht. Eigensinnig und verletzlich zugleich wird hier herausragend ein kleines Mädchen porträtiert, welches aufwächst in den Ereignissen die da kommen.</p>
<p><a href="http://noctus.net/wp-content/uploads/2010/08/1000_Papierkraniche.jpg" rel="lightbox[1571]"><img class="alignright size-medium wp-image-1581" title="千羽鶴, 1000 Papierkraniche" src="http://noctus.net/wp-content/uploads/2010/08/1000_Papierkraniche-300x289.jpg" alt="Quelle: http://en.wikipedia.org/wiki/File:PaperCranes.jpg" width="210" height="202" /></a>Und so kommt es zum schicksalsschweren Ereignis am Morgen des 6. Augusts 1945. Die Folgen der nur wenige Sekunden andauernden Explosion sind fatal und betreffen jeden in der Stadt Hiroshima gleichermaßen. Über die Jahre bessert sich die Lage allmählich, Geschäfte werden wieder eröffnet, Menschen ziehen wieder nach Hiroshima. Und auch das beschwerliche Leben der Familie Sasaki, die wie durch ein Wunder unverletzt wieder zueinander fanden, scheint sich wieder zum Besseren zu wenden. Doch das Schicksal schlägt wieder zu …</p>
<p>Wenn man eine Lehre aus diesem Buch ziehen kann, dann ist es – neben der Grausamkeit dieses Ereignisses und der von Krieg selbst – die Erkenntnis, dass Unwissenheit und  Schweigen keine Lösung sind. Jeder sollte so früh wie möglich mit dem Krieg und den unvorstellbarem Leid der darin involvierten Menschen vertraut gemacht werden und die Tragweite versuchen zu verstehen. Nur so kann die Möglichkeit verringert werden, dass sich etwas so Schreckliches jemals wiederholt. Dafür gab es in der Geschichte nun mittlerweile auch schon genügend Beispiele. Und immer wieder hat sich gezeigt, dass es in einem Krieg keine Gewinner gibt. Jeder der an einem Krieg teilnimmt, hat verloren. Allen voran einen Teil seiner Menschlichkeit. Jeder der andere dazu zwingt an einem Krieg teilzunehmen noch mehr.</p>
<p>Deshalb bin ich der Meinung, dass „Sadako will leben“ und andere Berichte dieses und ähnlich erschreckender Geschehnisse verbreitet werden und weitererzählt werden sollten. So bin ich fest überzeugt, dass ich diese Geschichte später einmal meinen Kindern vorlesen werde. In dieser Form wünsche ich das Opfer von abertausenden nicht umsonst sein zu lassen und versuche, die daraus gezogene Lehre weiterzugeben.</p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2010/sadako-will-leben/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Och ist die süß</title>
		<link>http://noctus.net/2010/och-ist-die-suess</link>
		<comments>http://noctus.net/2010/och-ist-die-suess#comments</comments>
		<pubDate>Sun, 08 Aug 2010 19:27:26 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1568</guid>
		<description><![CDATA[Klein aber oho: diese Mini-Kanone mag auf den ersten Blick wie ein Spielzeug wirken, ist aber voll funktionstüchtig. Und das zeigt sie, mit passend epischer musikalischer Untermalung eindrucksvoll in diesem Video. Die Weltherrschaft ist zum Greifen nah.]]></description>
			<content:encoded><![CDATA[<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/Wi4g_U0hoOg" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/Wi4g_U0hoOg" wmode="transparent"></embed></object></p>
<p>Klein aber oho: diese Mini-Kanone mag auf den ersten Blick wie ein Spielzeug wirken, ist aber voll funktionstüchtig. Und das zeigt sie, mit passend epischer musikalischer Untermalung eindrucksvoll in diesem Video. Die Weltherrschaft ist zum Greifen nah. <img src='http://noctus.net/wp-content/plugins/tango-smilies/tango/face-wink.png' alt=';-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2010/och-ist-die-suess/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gloobus</title>
		<link>http://noctus.net/2010/gloobus</link>
		<comments>http://noctus.net/2010/gloobus#comments</comments>
		<pubDate>Mon, 02 Aug 2010 12:43:02 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1559</guid>
		<description><![CDATA[Ein sehr interessantes Projekt, auf dass ich kürzlich gestoßen bin ist Gloobus, hier insbesondere die Preview-Komponente: Erklärtes Ziel dieses Projektes ist es, eine allgemeine Vorschau für Daten aller Art zu implementieren. Besonderes Augenmerk wird hierbei auf die Geschwindigkeit gelegt, denn einer langsamer Start ist ein KO-Argument für eine Vorschau. Dazu gesellt sich noch eine äußerst [...]]]></description>
			<content:encoded><![CDATA[<p>Ein sehr interessantes Projekt, auf dass ich kürzlich gestoßen bin ist <a href="http://gloobus.net/">Gloobus</a>, hier insbesondere die Preview-Komponente:</p>
<p><a href="http://noctus.net/wp-content/uploads/2010/08/gloobus_preview.jpg" rel="lightbox[1559]"><img class="aligncenter size-medium wp-image-1564" title="Gloobus Preview" src="http://noctus.net/wp-content/uploads/2010/08/gloobus_preview-204x300.jpg" alt="Photo betrachtet in der Gloobus Preview" width="204" height="300" /></a></p>
<p style="text-align: center;">
<p>Erklärtes Ziel dieses Projektes ist es, eine allgemeine Vorschau für Daten aller Art zu implementieren. Besonderes Augenmerk wird hierbei auf die Geschwindigkeit gelegt, denn einer langsamer Start ist ein KO-Argument für eine Vorschau. Dazu gesellt sich noch eine äußerst ansprechende Erscheinung, die laut Beschreibung sogar anpassbar sein soll.</p>
<p>Bei einigen kurzen Tests erwies sich die Vorschau als recht gut benutzbar, auch wenn sie bei hochauflösenden Bildern ähnlich langsam ist wie allgemeine Bildbetrachter wie Ristretto im Vergleich zum hier sehr schnellen Gthumb. Möchte man die jeweilige Datei genauer unter die Lupe nehmen, gibt es einen Vollbildmodus, möchte man sie bearbeiten eine entsprechende Schaltfläche dafür. Schlau ist auch die automatische Anzeige von Album-Cover beim Abspielen von Audio-Dateien.</p>
<p>Ein guter Schritt in die richtige Richtung, nur würde ich mir wünschen, dass die Vorschau automatisch beim Hovern von Dateien aktiv wird. Natürlich verbunden mit einer konfigurierbaren Wartezeit, falls man doch einmal nicht möchte, dass ein 1080p-HD-Video mit einer entsprechenden Dateigröße geladen wird.</p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2010/gloobus/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Das Thema Killerspiele</title>
		<link>http://noctus.net/2010/das-thema-killerspiele</link>
		<comments>http://noctus.net/2010/das-thema-killerspiele#comments</comments>
		<pubDate>Thu, 29 Jul 2010 17:32:20 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1524</guid>
		<description><![CDATA[Einige meiner Kommilitonen haben sich aufgerafft um endlich Tacheles zu Reden und klar Tisch mit dem oft falsch dargestellten Thema Killerspiele zu machen. Die Lage ist ernst und dringender Handlungsbedarf ist vonnöten, um das schlimmste zu verhindern. Man möge sich selbst ein Bild von der Sache machen: Akut &#8211; Die Wahrheit über Killerspiele von NetCrack [...]]]></description>
			<content:encoded><![CDATA[<p>Einige meiner Kommilitonen haben sich aufgerafft um endlich Tacheles zu Reden und klar Tisch mit dem oft falsch dargestellten Thema Killerspiele zu machen. Die Lage ist ernst und dringender Handlungsbedarf ist vonnöten, um das schlimmste zu verhindern. Man möge sich selbst ein Bild von der Sache machen:<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="225" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://vimeo.com/moogaloop.swf?clip_id=13731049&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" /><embed type="application/x-shockwave-flash" width="400" height="225" src="http://vimeo.com/moogaloop.swf?clip_id=13731049&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=0&amp;color=&amp;fullscreen=1" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p><a href="http://vimeo.com/13731049">Akut &#8211; Die Wahrheit über Killerspiele</a> von <a href="http://vimeo.com/user4357730">NetCrack</a> auf <a href="http://vimeo.com">Vimeo</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2010/das-thema-killerspiele/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Kyoto: Nachtrag</title>
		<link>http://noctus.net/2010/kyoto-nachtrag</link>
		<comments>http://noctus.net/2010/kyoto-nachtrag#comments</comments>
		<pubDate>Thu, 29 Jul 2010 10:36:07 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1518</guid>
		<description><![CDATA[Ich habe es nun endlich – nach fast anderhalb Jahren – geschafft, meinen Artikel über unsere Reise nach Kyoto fertig zu stellen. Unbedingt lesen!]]></description>
			<content:encoded><![CDATA[<p>Ich habe es nun endlich – nach fast anderhalb Jahren – geschafft, meinen Artikel über unsere Reise nach Kyoto fertig zu stellen. <a href="http://noctus.net/2009/kyoto">Unbedingt lesen</a>! <img src='http://noctus.net/wp-content/plugins/tango-smilies/tango/face-smile.png' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2010/kyoto-nachtrag/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Mausklicks in GtkLabel</title>
		<link>http://noctus.net/2010/mausklicks-in-gtklabel</link>
		<comments>http://noctus.net/2010/mausklicks-in-gtklabel#comments</comments>
		<pubDate>Mon, 26 Jul 2010 16:43:37 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=10</guid>
		<description><![CDATA[Entgegen der landläufigen Behauptung ist es durchaus möglich, Mausklicks auf GtkLabel-Instanzen zu verarbeiten. Der Schlüssel liegt darin, GTK anzuweisen, dass das jeweilige Label ein GdkWindow haben soll. Aufmerksam gemacht wurde ich hierauf durch diesen Beitrag von Tadej Borovšak. Hier ein Beispiel: #! /usr/bin/env python &#160; import gtk &#160; window = gtk.Window&#40;&#41; window.set_title&#40;'Label Button Press Test'&#41; [...]]]></description>
			<content:encoded><![CDATA[<p>Entgegen der landläufigen Behauptung ist es durchaus möglich, Mausklicks auf GtkLabel-Instanzen zu verarbeiten. Der Schlüssel liegt darin, GTK anzuweisen, dass das jeweilige Label ein GdkWindow haben soll. Aufmerksam gemacht wurde ich hierauf durch <a href="http://lists-archives.org/gtk/11803-how-to-add-a-mouse-pressed-event-to-gtklabel.html">diesen Beitrag von Tadej Borovšak</a>. Hier ein Beispiel:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">#! /usr/bin/env python</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">import</span> gtk
&nbsp;
window = gtk.<span style="color: black;">Window</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
window.<span style="color: black;">set_title</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'Label Button Press Test'</span><span style="color: black;">&#41;</span>
window.<span style="color: black;">set_size_request</span><span style="color: black;">&#40;</span><span style="color: #ff4500;">400</span>, <span style="color: #ff4500;">300</span><span style="color: black;">&#41;</span>
window.<span style="color: black;">connect</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'destroy'</span>, <span style="color: #ff7700;font-weight:bold;">lambda</span> w: gtk.<span style="color: black;">main_quit</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span><span style="color: black;">&#41;</span>
&nbsp;
box = gtk.<span style="color: black;">VBox</span><span style="color: black;">&#40;</span>spacing=<span style="color: #ff4500;">6</span><span style="color: black;">&#41;</span>
window.<span style="color: black;">add</span><span style="color: black;">&#40;</span>box<span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">class</span> ClickableLabel<span style="color: black;">&#40;</span>gtk.<span style="color: black;">Label</span><span style="color: black;">&#41;</span>:
    __gsignals__ = <span style="color: black;">&#123;</span><span style="color: #483d8b;">'button-press-event'</span>: <span style="color: #483d8b;">'override'</span><span style="color: black;">&#125;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> <span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, <span style="color: #66cc66;">*</span>args<span style="color: black;">&#41;</span>:
        gtk.<span style="color: black;">Label</span>.<span style="color: #0000cd;">__init__</span><span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, <span style="color: #66cc66;">*</span>args<span style="color: black;">&#41;</span>
        <span style="color: #808080; font-style: italic;"># This is the important line to enable more signals</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">set_has_window</span><span style="color: black;">&#40;</span><span style="color: #008000;">True</span><span style="color: black;">&#41;</span>
        <span style="color: #008000;">self</span>.<span style="color: black;">add_events</span><span style="color: black;">&#40;</span>gtk.<span style="color: black;">gdk</span>.<span style="color: black;">BUTTON_PRESS_MASK</span><span style="color: black;">&#41;</span>
&nbsp;
    <span style="color: #ff7700;font-weight:bold;">def</span> do_button_press_event<span style="color: black;">&#40;</span><span style="color: #008000;">self</span>, event<span style="color: black;">&#41;</span>:
        <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">'Clickable: %s'</span> <span style="color: #66cc66;">%</span> event.<span style="color: #008000;">type</span>
&nbsp;
clickable_label = ClickableLabel<span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
clickable_label.<span style="color: black;">set_markup</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;span size=&quot;25000&quot;&gt;Clickable label&lt;/span&gt;'</span><span style="color: black;">&#41;</span>
box.<span style="color: black;">pack_start</span><span style="color: black;">&#40;</span>clickable_label, <span style="color: #008000;">False</span><span style="color: black;">&#41;</span>
&nbsp;
<span style="color: #ff7700;font-weight:bold;">def</span> on_button_press_event<span style="color: black;">&#40;</span>widget, event<span style="color: black;">&#41;</span>:
    <span style="color: #ff7700;font-weight:bold;">print</span> <span style="color: #483d8b;">'Regular: %s'</span> <span style="color: #66cc66;">%</span> event.<span style="color: #008000;">type</span>
&nbsp;
label = gtk.<span style="color: black;">Label</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
label.<span style="color: black;">set_markup</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'&lt;span size=&quot;25000&quot;&gt;Regular label&lt;/span&gt;'</span><span style="color: black;">&#41;</span>
<span style="color: #808080; font-style: italic;"># Does not work and renders the label invisible</span>
label.<span style="color: black;">set_has_window</span><span style="color: black;">&#40;</span><span style="color: #008000;">True</span><span style="color: black;">&#41;</span>
label.<span style="color: black;">add_events</span><span style="color: black;">&#40;</span>gtk.<span style="color: black;">gdk</span>.<span style="color: black;">BUTTON_PRESS_MASK</span><span style="color: black;">&#41;</span>
label.<span style="color: black;">connect</span><span style="color: black;">&#40;</span><span style="color: #483d8b;">'button-press-event'</span>, on_button_press_event<span style="color: black;">&#41;</span>
box.<span style="color: black;">pack_start</span><span style="color: black;">&#40;</span>label, <span style="color: #008000;">False</span><span style="color: black;">&#41;</span>
&nbsp;
window.<span style="color: black;">show_all</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
gtk.<span style="color: black;">main</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Wie zu sehen ist, lassen sich unter Nutzung einer einzelnen Zeile weitere Signale für ein GtkLabel „freischalten“. Jedoch nur für abgeleitete Typen, nicht für die Standard-GtkLabels, wie am zweiten Label zu erkennen ist. Warum dies so ist ist mir trotz Blick auf <a href="http://git.gnome.org/browse/gtk+/tree/gtk/gtkwidget.c?id=5a02536da4d6ace4d51c877e27d6044cd8149ffb#n5936">gtkwidget.c</a> noch nicht ersichtlich. Erklärungen zur Methode <code lang="python">set_has_window()</code> erwähnen, dass diese nur in der Initialisierung eines Widgets aufgerufen werden sollte. Intern wird hier nur das GTK_NO_WINDOW-Flag gesetzt oder gelöscht und infolge dessen unter anderem das Zeichnen von Widgets anders gehandhabt. Aus diesem Grund hat ein GtkLabel bspw. auch keinen Hintergrund welchen man ändern könnte.</p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2010/mausklicks-in-gtklabel/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Favoriten beim Eurovision Song Contest</title>
		<link>http://noctus.net/2010/favoriten-beim-eurovision-song-contest</link>
		<comments>http://noctus.net/2010/favoriten-beim-eurovision-song-contest#comments</comments>
		<pubDate>Sat, 29 May 2010 14:48:34 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1210</guid>
		<description><![CDATA[Durch ihren Auftritt bei „Schlag den Raab“ rechnete ich bei Lenas Auftritt beim Eurovision Song Contest schon mit dem schlimmsten, sie konnte da allerdings mit einem makellosen Auftritt wieder sprichwörtlich punkten. Und wie sie gepunktet hat; 246 Punkte und damit ein meilenweiter Abstand zu den Folgeplatzierten. Somit hat es also 28 Jahre gedauert, bis Deutschland [...]]]></description>
			<content:encoded><![CDATA[<p>Durch ihren Auftritt bei „Schlag den Raab“ rechnete ich bei Lenas Auftritt beim <a href="http://de.wikipedia.org/wiki/Eurovision_Song_Contest_2010">Eurovision Song Contest</a> schon mit dem schlimmsten, sie konnte da allerdings mit einem makellosen Auftritt wieder sprichwörtlich punkten. Und wie sie gepunktet hat; 246 Punkte und damit ein meilenweiter Abstand zu den Folgeplatzierten. Somit hat es also 28 Jahre gedauert, bis Deutschland es wieder schaffen konnte, die musikalische Nummer 1 in Europa zu sein. Und auch wenn ich nach wie vor nicht vom musikalischen Talent Lenas überzeugt bin, so gönne ich ihr doch den Sieg.</p>
<p>Nichtsdestotrotz sind mir vom Verlauf des Contest jedoch zwei andere Beiträge ganz besonders in Erinnerung geblieben:</p>
<h3>SunStroke Project &amp; Olia Tira &#8211; Run Away (Moldavien)</h3>
<p><object style="width: 425px; height: 248px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="248" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.youtube.com/v/8h_hN0xQYv4&amp;hd=1" /><embed style="width: 425px; height: 248px;" type="application/x-shockwave-flash" width="425" height="248" src="http://www.youtube.com/v/8h_hN0xQYv4&amp;hd=1"></embed></object></p>
<p><object style="width: 425px; height: 247px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="247" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/ECyeUYsU14E&amp;hd=1" /><embed style="width: 425px; height: 247px;" type="application/x-shockwave-flash" width="425" height="247" src="http://www.youtube.com/v/ECyeUYsU14E&amp;hd=1" wmode="transparent"></embed></object></p>
<p>Die Kombination aus Violine (immer gut) und treibenden elektronischen Beats liegt gänzlich auf meiner Wellenlänge. Die Abrundung durch das kleine aber markante Saxophon-Solo ist gänzlich gelungen und dass Olia Tira auch noch etwas fürs Auge ist tut dem ganzen keinen Abbruch. Lediglich den Beitrag des Sängers vom SunStroke Project hätte man sich meiner Meinung nach sparen können.</p>
<h3>maNga &#8211; We Could Be The Same (Türkei)</h3>
<p><object style="width: 425px; height: 330px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="330" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/IFWXTxaTI-Q&amp;hd=1" /><embed style="width: 425px; height: 330px;" type="application/x-shockwave-flash" width="425" height="330" src="http://www.youtube.com/v/IFWXTxaTI-Q&amp;hd=1" wmode="transparent"></embed></object></p>
<h3><object style="width: 425px; height: 247px;" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="247" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/Pdw27j_usP0&amp;hd=1" /><embed style="width: 425px; height: 247px;" type="application/x-shockwave-flash" width="425" height="247" src="http://www.youtube.com/v/Pdw27j_usP0&amp;hd=1" wmode="transparent"></embed></object></h3>
<p>Einfach nur bombastisch und überzeugend vom allerersten Ton. Interessanterweise zählt auch hier eine Violine zum Ensemble. In typischer New-Metal-Fasson gibt es hier kräftige E-Gitarren und Drums zur Genüge nebst eingängigem Gesang. Und mit dem Bandnamen kann man bei mir eigentlich fast gar nichts falsch machen.</p>
<p>Dass ich mir diese Videos hin und wieder erneut anschaue ist deutlicher Beleg dafür, dass sie mir für immer in Erinnerung bleiben werden. Ich weiß nicht, ob ich das von „Satellite“ auch behaupten kann.</p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2010/favoriten-beim-eurovision-song-contest/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Iteration durch gtk.TreeModel</title>
		<link>http://noctus.net/2010/iteration-durch-gtk-treemodel</link>
		<comments>http://noctus.net/2010/iteration-durch-gtk-treemodel#comments</comments>
		<pubDate>Fri, 07 May 2010 19:35:20 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=26</guid>
		<description><![CDATA[Zur Verarbeitung von Einträgen in einem gtk.TreeModel bedient man sich in Python üblicherweise der Iteration. Hierbei bietet gtk.TreeModel einige Methoden zur Arbeit damit. Ein übliches Konstrukt sieht damit so aus: iter = model.get_iter_first&#40;&#41; while True: value = model.get_value&#40;iter, 0&#41; # Do something with value iter = model.iter_next&#40;iter&#41; if iter is None: break Ziemlich umständlich und [...]]]></description>
			<content:encoded><![CDATA[<p>Zur Verarbeitung von Einträgen in einem <a href="http://www.pygtk.org/docs/pygtk/class-gtktreemodel.html"><code>gtk.TreeModel</code></a> bedient man sich in Python üblicherweise der Iteration. Hierbei bietet <code>gtk.TreeModel</code> einige Methoden zur Arbeit damit. Ein übliches Konstrukt sieht damit so aus:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #008000;">iter</span> = model.<span style="color: black;">get_iter_first</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">while</span> <span style="color: #008000;">True</span>:
    value = model.<span style="color: black;">get_value</span><span style="color: black;">&#40;</span><span style="color: #008000;">iter</span>, <span style="color: #ff4500;">0</span><span style="color: black;">&#41;</span>
    <span style="color: #808080; font-style: italic;"># Do something with value</span>
    <span style="color: #008000;">iter</span> = model.<span style="color: black;">iter_next</span><span style="color: black;">&#40;</span><span style="color: #008000;">iter</span><span style="color: black;">&#41;</span>
    <span style="color: #ff7700;font-weight:bold;">if</span> <span style="color: #008000;">iter</span> <span style="color: #ff7700;font-weight:bold;">is</span> <span style="color: #008000;">None</span>:
        <span style="color: #ff7700;font-weight:bold;">break</span></pre></div></div>

<p>Ziemlich umständlich und daher oft auch in dieser etwas vereinfachten Version vorzufinden:</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #008000;">iter</span> = model.<span style="color: black;">get_iter_first</span><span style="color: black;">&#40;</span><span style="color: black;">&#41;</span>
<span style="color: #ff7700;font-weight:bold;">while</span> <span style="color: #008000;">iter</span>:
    value = model.<span style="color: black;">get_value</span><span style="color: black;">&#40;</span><span style="color: #008000;">iter</span>, <span style="color: #ff4500;">0</span><span style="color: black;">&#41;</span>
    <span style="color: #808080; font-style: italic;"># Do something with value</span>
    <span style="color: #008000;">iter</span> = model.<span style="color: black;">iter_next</span><span style="color: black;">&#40;</span><span style="color: #008000;">iter</span><span style="color: black;">&#41;</span></pre></div></div>

<p>Doch wie so oft in Python gibt es eine viel intuitivere und simplere Lösung; <code>gtk.TreeModel</code> implementiert <code>__iter__</code> und <code>__next__</code>, womit sich das obige Konstrukt auf folgenden Zweizeiler reduzieren lässt.</p>

<div class="wp_syntax"><div class="code"><pre class="python" style="font-family:monospace;"><span style="color: #ff7700;font-weight:bold;">for</span> row <span style="color: #ff7700;font-weight:bold;">in</span> model:
    value = row<span style="color: black;">&#91;</span><span style="color: #ff4500;">0</span><span style="color: black;">&#93;</span></pre></div></div>

<p>Bei <code><var>row</var></code> handelt es sich um eine <a href="http://www.pygtk.org/docs/pygtk/class-pygtktreemodelrow.html"><code>gtk.TreeModelRow</code></a>, welche intuitiven Zugriff auf die Daten der jeweiligen Spalten ermöglicht.</p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2010/iteration-durch-gtk-treemodel/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
