<?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>Thu, 19 Apr 2012 20:47:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Neulich bei REWE im Angebot</title>
		<link>http://noctus.net/2012/neulich-bei-rewe-im-angebot</link>
		<comments>http://noctus.net/2012/neulich-bei-rewe-im-angebot#comments</comments>
		<pubDate>Thu, 19 Apr 2012 20:47:12 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1998</guid>
		<description><![CDATA[]]></description>
			<content:encoded><![CDATA[<div id="attachment_1999" class="wp-caption alignnone" style="width: 230px"><img class="size-full wp-image-1999 " title="4 Porzellan-Kaffeebecher bei REWE" src="http://noctus.net/wp-content/uploads/2012/04/Rewe_4_Porzellan-Kaffeebecher.png" alt="Schokoladen-Cookies" width="220" height="360" /><p class="wp-caption-text">Daraus Trinken könnte sich schwierig gestalten …</p></div>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2012/neulich-bei-rewe-im-angebot/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Neueröffnung des Elbe-Gartens</title>
		<link>http://noctus.net/2012/neueroffnung-des-elbe-gartens</link>
		<comments>http://noctus.net/2012/neueroffnung-des-elbe-gartens#comments</comments>
		<pubDate>Sun, 01 Apr 2012 20:54:21 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1992</guid>
		<description><![CDATA[Schön, dass der neue Monat auch neue Kräfte weckt und dadurch noch in diesem Monat der Elbe-Garten eröffnet werden kann:]]></description>
			<content:encoded><![CDATA[<p>Schön, dass der neue Monat auch neue Kräfte weckt und dadurch noch in diesem Monat der Elbe-Garten eröffnet werden kann:</p>
<p><img class="alignleft  wp-image-1993" title="Eröffnung des Elbe-Gartens im April" src="http://noctus.net/wp-content/uploads/2012/04/Elbe-Garten-April.jpg" alt="Plakat an der Fassade des Elbe-Gartens beim Körnerplatz" width="663" height="498" /></p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2012/neueroffnung-des-elbe-gartens/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Die Welt in 8 Bit</title>
		<link>http://noctus.net/2012/die-welt-in-8-bit</link>
		<comments>http://noctus.net/2012/die-welt-in-8-bit#comments</comments>
		<pubDate>Sat, 31 Mar 2012 22:04:03 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1956</guid>
		<description><![CDATA[An einem an sich unbedeutenden Tag hat sich Google offenbar entschlossen, seinen Maps-Dienst um eine neue, vereinfachte Ansicht zu erweitern. Diese besticht durch wiedererkennbare Umgebungen und verbesserte Wege durch Fortbewegung im Block-System. Ganz ohne Komplikationen kann eine solche Umstellung aber offenbar nicht vonstatten gehen,  da es vereinzelt zum Auftreten von Monstern kommt: Allerdings hat Google [...]]]></description>
			<content:encoded><![CDATA[<p><a class="highslide img_2" title="Dresden in Google Maps, Dragon-Quest-Ansicht" href="http://noctus.net/wp-content/uploads/2012/03/Google-Maps-Dresden-Dragon-Quest.png" onclick="return hs.expand(this)"><img class="alignnone  wp-image-1957" title="Google-Maps-Dresden-Dragon-Quest" src="http://noctus.net/wp-content/uploads/2012/03/Google-Maps-Dresden-Dragon-Quest-1024x521.png" alt="Dresden in Google Maps, Dragon-Quest-Ansicht" width="672" height="342" /></a></p>
<p>An einem an sich unbedeutenden Tag hat sich Google offenbar entschlossen, seinen Maps-Dienst um eine neue, vereinfachte Ansicht zu erweitern. Diese besticht durch wiedererkennbare Umgebungen und verbesserte Wege durch Fortbewegung im Block-System.</p>
<p>Ganz ohne Komplikationen kann eine solche Umstellung aber offenbar nicht vonstatten gehen,  da es vereinzelt zum Auftreten von Monstern kommt:</p>
<div style="overflow: auto;">
<div id="attachment_1970" class="wp-caption alignleft" style="width: 186px"><img class="size-full wp-image-1970  " title="Google-Maps-La-Pologne-Monster" src="http://noctus.net/wp-content/uploads/2012/03/Google-Maps-La-Pologne-Monster.png" alt="Monster bei La Pologne, Schweiz" width="176" height="144" /><p class="wp-caption-text">La Pologne, Schweiz</p></div>
<div id="attachment_1969" class="wp-caption alignleft" style="width: 186px"><img class="size-full wp-image-1969  " title="Google-Maps-Belorechensk-Monster" src="http://noctus.net/wp-content/uploads/2012/03/Google-Maps-Belorechensk-Monster.png" alt="Monster bei Belorechensk, Russland" width="176" height="144" /><p class="wp-caption-text">Belorechensk, Russland</p></div>
<div id="attachment_1983" class="wp-caption alignleft" style="width: 186px"><img class="size-full wp-image-1983" title="Google-Maps-Masburg-Monster" src="http://noctus.net/wp-content/uploads/2012/04/Google-Maps-Masburg-Monster.png" alt="Monster bei Masburg, Deutschland" width="176" height="144" /><p class="wp-caption-text">Masburg, Deutschland</p></div>
<div id="attachment_1987" class="wp-caption alignleft" style="width: 186px"><img class="size-full wp-image-1987" title="Google-Maps-Severobaykalsk-Monster" src="http://noctus.net/wp-content/uploads/2012/04/Google-Maps-Severobaykalsk-Monster.png" alt="Monster bei Severobaykal'sk, Russland" width="176" height="144" /><p class="wp-caption-text">Severobaykal&#39;sk, Russland</p></div>
<div id="attachment_1984" class="wp-caption alignleft" style="width: 186px"><img class="size-full wp-image-1984" title="Google-Maps-Fuji-Monster" src="http://noctus.net/wp-content/uploads/2012/04/Google-Maps-Fuji-Monster.png" alt="Monster bei Fuji, Japan" width="176" height="144" /><p class="wp-caption-text">Fuji, Japan</p></div>
<div id="attachment_1985" class="wp-caption alignleft" style="width: 184px"><img class="size-full wp-image-1985" title="Google-Maps-Tylers-Green-Monster" src="http://noctus.net/wp-content/uploads/2012/04/Google-Maps-Tylers-Green-Monster.png" alt="Monster bei Tyler’s Green, Großbritannien" width="174" height="144" /><p class="wp-caption-text">Tyler’s Green, Großbritannien</p></div>
</div>
<p>Allerdings hat Google bereits mit einem aktualisierten <a title="Wer ist Pegman? - Google Maps" href="http://maps.google.com/intl/de/help/maps/streetview/learn/pegman.html">Pegman <img class="alignnone size-full wp-image-1973" title="Google-Maps-Pegman-Dragon-Quest" src="http://noctus.net/wp-content/uploads/2012/04/Google-Maps-Pegman-Dragon-Quest.png" alt="" width="17" height="22" /></a> darauf reagiert, sodass man für solche Fälle gewappnet ist. Für alle, die auf dem Weg zur Arbeit nicht von einem Monster überrascht werden wollen, hat eine gute Seele <a title="Google Maps Monsters" href="http://map-monster.tumblr.com/">sämtliche Fundorte</a> festgehalten.</p>
<p>Ungeachtet dieser Startschwierigkeiten ist die neue Ansicht vielversprechend und hat das Zeug zur Standardansicht.</p>
<p>Hintergrund des ganzen ist offenbar eine Veröffentlichung von Google Maps für das NES von Nintendo:</p>
<p><iframe width="500" height="281" src="http://www.youtube.com/embed/rznYifPHxDg?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p>Es ist schön, zu sehen, wie auch ältere Systeme in den Genuss moderner Web-Dienste kommen. Gerne mehr davon.</p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2012/die-welt-in-8-bit/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Initscript mit Tiny Tiny RSS 1.5.10</title>
		<link>http://noctus.net/2012/initscript-mit-tiny-tiny-rss-1-5-10</link>
		<comments>http://noctus.net/2012/initscript-mit-tiny-tiny-rss-1-5-10#comments</comments>
		<pubDate>Wed, 29 Feb 2012 19:14:25 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1932</guid>
		<description><![CDATA[Mit der Veröffentlichung der Version 1.5.10 des webbasierten Feed-Aggregators Tiny Tiny RSS fiel mir auf, dass das sich das optional beziehbare Initscript nicht mehr zum Starten des Update-Daemons nutzen lies. Beim Ausführen des Startkommandos geschah schlichtweg gar nichts. Erste Versuche, das betreffende PHP-Script händisch zu starten schlugen weitestgehend fehl. Das Daemon-Script fror ständig ein, nachdem [...]]]></description>
			<content:encoded><![CDATA[<p>Mit der Veröffentlichung der Version 1.5.10 des webbasierten Feed-Aggregators <a title="Tiny Tiny RSS" href="http://tt-rss.org/">Tiny Tiny RSS</a> fiel mir auf, dass das sich das optional beziehbare Initscript nicht mehr zum Starten des Update-Daemons nutzen lies. Beim Ausführen des Startkommandos geschah schlichtweg gar nichts.</p>
<p>Erste Versuche, das betreffende PHP-Script händisch zu starten schlugen weitestgehend fehl. Das Daemon-Script fror ständig ein, nachdem ich die SSH-Verbindung trennte, mit der ich meinen Server administriere. Folgende Fehlermeldung wies mich darauf hin:</p>
<blockquote><p><span style="color: #800000;">Der Aktualisierungs Daemon braucht zu lange um eine Aktualisierung </span><span style="color: #800000;">durchzuführen. Dies könnte auf ein Problem wie einen Absturz oder eine </span><span style="color: #800000;">Blockierung hinweisen. Bitte überprüfen Sie den Prozess des Daemons oder b</span><span style="color: #800000;">enachrichtigen Sie den Besitzer des Instanz.</span></p></blockquote>
<p>Und tatsächlich konnte das Update durch Töten des Prozesses und Löschen der lock-Dateien zeitweise wiederbeleben. Eine dauerhafte Lösung konnte dies aber nicht sein.</p>
<p>Also befasste ich mich erneut mit dem Initscript, welches das Hilfsprogramm <a title="start-stop-daemon - startet und stoppt System-Daemon-Programme" href="http://manpages.ubuntu.com/manpages/dapper/de/man8/start-stop-daemon.8.html">start-stop-daemon</a> zum Starten des Update-Daemons nutzt. Nach genauer Betrachtung fiel mir auf, dass nirgends ein Wechsel zu einem unprivilegierten Nutzer stattfand, der Daemon lief daher bisher immer mit Superuser-Rechten. Dass aus dies aus Sicherheitsgründen eine schlechte Idee ist dürfte ersichtlich sein.</p>
<p>Jedenfalls wurde diesem Verfahren mit der neuesten Version von Tiny Tiny RSS ein Riegel vorgeschoben, der im <a title="Änderungsprotokoll von Tiny Tiny RSS Version 1.5.10" href="http://tt-rss.org/redmine/versions/75">Änderungsprotokoll</a> nicht aufgeführt aber durchaus im Versionierungsprotokoll durch <a title="Änderung „sanity check: prevent running tt-rss as root“ im Tiny Tiny RSS" href="http://tt-rss.org/redmine/projects/tt-rss/repository/diff/include/sanity_check.php?rev=3854d15e12e588bd736f2952f9dbbd27ed560018&amp;rev_to=61c1812f29dc76e93107b65dea80fde260269e8d">diese Änderung</a> ersichtlich ist. Der Versuch wird nun entsprechend quittiert:</p>
<blockquote><p>[sanity_check] Please don&#8217;t run this script as root.</p></blockquote>
<p>Mit diesem Wissen erweiterte ich das Initscript und seine Datei für Standardeinstellungen um eine neue Variable, welcher ein Nutzername oder eine -ID zugewiesen werden kann. Der Update-Daemon wird nun mit diesem Nutzer (<em>www-data</em> hier) ausgeführt und verfügt nicht mehr über systemweite Rechte. Es folgen die aktualisierten Dateien.</p>
<h2>Die Einstellungsdatei /etc/defaults/tt-rss</h2>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">## Defaults for Tiny Tiny RSS update daemon init.d script</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Set DISABLED to 1 to prevent the daemon from starting.</span>
<span style="color: #007800;">DISABLED</span>=<span style="color: #000000;">0</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Emplacement of your Tiny Tiny RSS installation.</span>
<span style="color: #007800;">TTRSS_PATH</span>=<span style="color: #ff0000;">&quot;/var/www/feeds&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Set FORKING to 1 to use the forking daemon (update_daemon2.php) in stead of</span>
<span style="color: #666666; font-style: italic;"># the standard one.</span>
<span style="color: #666666; font-style: italic;"># This option is only available for Tiny Tiny RSS 1.2.20 and over.</span>
<span style="color: #007800;">FORKING</span>=<span style="color: #000000;">1</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Set USER to the user/uid to run the daemon as</span>
<span style="color: #007800;">USER</span>=www-data</pre></div></div>

<h2>Das Initscript /etc/init.d/tt-rss</h2>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">#! /bin/sh</span>
<span style="color: #666666; font-style: italic;">### BEGIN INIT INFO</span>
<span style="color: #666666; font-style: italic;"># Provides:          ttrss-DOMAIN</span>
<span style="color: #666666; font-style: italic;"># Required-Start:    $local_fs $remote_fs networking</span>
<span style="color: #666666; font-style: italic;"># Required-Stop:     $local_fs $remote_fs</span>
<span style="color: #666666; font-style: italic;"># Default-Start:     2 3 4 5</span>
<span style="color: #666666; font-style: italic;"># Default-Stop:      0 1 6</span>
<span style="color: #666666; font-style: italic;"># Short-Description: Tiny Tiny RSS update daemon for DOMAIN</span>
<span style="color: #666666; font-style: italic;"># Description:       Update the Tiny Tiny RSS subscribed syndication feeds.</span>
<span style="color: #666666; font-style: italic;">### END INIT INFO</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Author: Pierre-Yves Landuré </span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Do NOT &quot;set -e&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># PATH should only include /usr/* if it runs after the mountnfs.sh script</span>
<span style="color: #007800;">PATH</span>=<span style="color: #000000; font-weight: bold;">/</span>sbin:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>sbin:<span style="color: #000000; font-weight: bold;">/</span>bin:<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin
<span style="color: #007800;">DESC</span>=<span style="color: #ff0000;">&quot;Tiny Tiny RSS update daemon&quot;</span>
<span style="color: #007800;">NAME</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #7a0874; font-weight: bold;">command</span> <span style="color: #c20cb9; font-weight: bold;">basename</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">${0}</span>&quot;</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
<span style="color: #007800;">DISABLED</span>=<span style="color: #000000;">0</span>
<span style="color: #007800;">FORKING</span>=<span style="color: #000000;">0</span>
<span style="color: #007800;">USER</span>=$<span style="color: #7a0874; font-weight: bold;">&#40;</span><span style="color: #c20cb9; font-weight: bold;">id</span> --user<span style="color: #7a0874; font-weight: bold;">&#41;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Read configuration variable file if it is present</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-r</span> <span style="color: #ff0000;">&quot;/etc/default/<span style="color: #007800;">${NAME}</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> . <span style="color: #ff0000;">&quot;/etc/default/<span style="color: #007800;">${NAME}</span>&quot;</span>
&nbsp;
<span style="color: #007800;">DAEMON_SCRIPT</span>=<span style="color: #ff0000;">&quot;update.php -daemon&quot;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$FORKING</span>&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
  <span style="color: #007800;">DAEMON_SCRIPT</span>=<span style="color: #ff0000;">&quot;update_daemon2.php&quot;</span>
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #007800;">DAEMON</span>=<span style="color: #000000; font-weight: bold;">/</span>usr<span style="color: #000000; font-weight: bold;">/</span>bin<span style="color: #000000; font-weight: bold;">/</span>php
<span style="color: #007800;">DAEMON_ARGS</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${TTRSS_PATH}</span>/<span style="color: #007800;">${DAEMON_SCRIPT}</span>&quot;</span>
<span style="color: #007800;">DAEMON_DIR</span>=<span style="color: #ff0000;">&quot;<span style="color: #007800;">${TTRSS_PATH}</span>&quot;</span>
<span style="color: #007800;">PIDFILE</span>=<span style="color: #ff0000;">&quot;/var/run/<span style="color: #007800;">${NAME}</span>.pid&quot;</span>
<span style="color: #007800;">SCRIPTNAME</span>=<span style="color: #ff0000;">&quot;/etc/init.d/<span style="color: #007800;">${NAME}</span>&quot;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Exit if the package is not installed</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #660033;">-x</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DAEMON</span>&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># Load the VERBOSE setting and other rcS variables</span>
. <span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>init<span style="color: #000000; font-weight: bold;">/</span>vars.sh
&nbsp;
<span style="color: #666666; font-style: italic;"># Define LSB log_* functions.</span>
<span style="color: #666666; font-style: italic;"># Depend on lsb-base (&gt;= 3.0-6) to ensure that this file is present.</span>
. <span style="color: #000000; font-weight: bold;">/</span>lib<span style="color: #000000; font-weight: bold;">/</span>lsb<span style="color: #000000; font-weight: bold;">/</span>init-functions
&nbsp;
<span style="color: #000000; font-weight: bold;">if</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DISABLED</span>&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #ff0000;">&quot;0&quot;</span> <span style="color: #660033;">-a</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= <span style="color: #ff0000;">&quot;stop&quot;</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span>; <span style="color: #000000; font-weight: bold;">then</span>
  log_warning_msg <span style="color: #ff0000;">&quot;Not starting <span style="color: #007800;">$DESC</span> - edit /etc/default/tt-rss-DOMAIN and change DISABLED to be 0.&quot;</span>;
  <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">0</span>;
<span style="color: #000000; font-weight: bold;">fi</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Function that starts the daemon/service</span>
<span style="color: #666666; font-style: italic;">#</span>
do_start<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;"># Return</span>
  <span style="color: #666666; font-style: italic;">#   0 if daemon has been started</span>
  <span style="color: #666666; font-style: italic;">#   1 if daemon was already running</span>
  <span style="color: #666666; font-style: italic;">#   2 if daemon could not be started</span>
  start-stop-daemon <span style="color: #660033;">--start</span> <span style="color: #660033;">--make-pidfile</span> <span style="color: #660033;">--background</span> <span style="color: #660033;">--quiet</span> <span style="color: #660033;">--chdir</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DAEMON_DIR</span>&quot;</span> <span style="color: #660033;">--pidfile</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$PIDFILE</span>&quot;</span> <span style="color: #660033;">--chuid</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$USER</span>&quot;</span> <span style="color: #660033;">--exec</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DAEMON</span>&quot;</span> <span style="color: #660033;">--test</span> <span style="color: #000000; font-weight: bold;">&gt;</span> <span style="color: #000000; font-weight: bold;">/</span>dev<span style="color: #000000; font-weight: bold;">/</span>null \
    <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">return</span> <span style="color: #000000;">1</span>
&nbsp;
  start-stop-daemon <span style="color: #660033;">--start</span> <span style="color: #660033;">--make-pidfile</span> <span style="color: #660033;">--background</span> <span style="color: #660033;">--quiet</span> <span style="color: #660033;">--chdir</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DAEMON_DIR</span>&quot;</span> <span style="color: #660033;">--pidfile</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$PIDFILE</span>&quot;</span> <span style="color: #660033;">--chuid</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$USER</span>&quot;</span> <span style="color: #660033;">--exec</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$DAEMON</span>&quot;</span> <span style="color: #660033;">--</span> \
    <span style="color: #007800;">$DAEMON_ARGS</span> \
    <span style="color: #000000; font-weight: bold;">||</span> <span style="color: #7a0874; font-weight: bold;">return</span> <span style="color: #000000;">2</span>
  <span style="color: #666666; font-style: italic;"># Add code here, if necessary, that waits for the process to be ready</span>
  <span style="color: #666666; font-style: italic;"># to handle requests from services started subsequently which depend</span>
  <span style="color: #666666; font-style: italic;"># on this one.  As a last resort, sleep for some time.</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Function that stops the daemon/service</span>
<span style="color: #666666; font-style: italic;">#</span>
do_stop<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;"># Return</span>
  <span style="color: #666666; font-style: italic;">#   0 if daemon has been stopped</span>
  <span style="color: #666666; font-style: italic;">#   1 if daemon was already stopped</span>
  <span style="color: #666666; font-style: italic;">#   2 if daemon could not be stopped</span>
  <span style="color: #666666; font-style: italic;">#   other if a failure occurred</span>
  start-stop-daemon <span style="color: #660033;">--stop</span> <span style="color: #660033;">--make-pidfile</span> <span style="color: #660033;">--quiet</span> <span style="color: #660033;">--retry</span>=TERM<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>KILL<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">5</span> <span style="color: #660033;">--pidfile</span> <span style="color: #007800;">$PIDFILE</span> <span style="color: #660033;">--name</span> <span style="color: #007800;">$NAME</span>
  <span style="color: #007800;">RETVAL</span>=<span style="color: #ff0000;">&quot;$?&quot;</span>
  <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$RETVAL</span>&quot;</span> = <span style="color: #000000;">2</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #7a0874; font-weight: bold;">return</span> <span style="color: #000000;">2</span>
  <span style="color: #666666; font-style: italic;"># Wait for children to finish too if this is a daemon that forks</span>
  <span style="color: #666666; font-style: italic;"># and if the daemon is only ever run from this initscript.</span>
  <span style="color: #666666; font-style: italic;"># If the above conditions are not satisfied then add some other code</span>
  <span style="color: #666666; font-style: italic;"># that waits for the process to drop all resources that could be</span>
  <span style="color: #666666; font-style: italic;"># needed by services started subsequently.  A last resort is to</span>
  <span style="color: #666666; font-style: italic;"># sleep for some time.</span>
  start-stop-daemon <span style="color: #660033;">--stop</span> <span style="color: #660033;">--quiet</span> <span style="color: #660033;">--oknodo</span> <span style="color: #660033;">--retry</span>=<span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">1</span><span style="color: #000000; font-weight: bold;">/</span>KILL<span style="color: #000000; font-weight: bold;">/</span><span style="color: #000000;">5</span> <span style="color: #660033;">--exec</span> <span style="color: #007800;">$DAEMON</span>
  <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;$?&quot;</span> = <span style="color: #000000;">2</span> <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #7a0874; font-weight: bold;">return</span> <span style="color: #000000;">2</span>
  <span style="color: #666666; font-style: italic;"># Many daemons don't delete their pidfiles when they exit.</span>
  <span style="color: #c20cb9; font-weight: bold;">rm</span> <span style="color: #660033;">-f</span> <span style="color: #007800;">$PIDFILE</span>
  <span style="color: #7a0874; font-weight: bold;">return</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$RETVAL</span>&quot;</span>
<span style="color: #7a0874; font-weight: bold;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;$1&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
  start<span style="color: #7a0874; font-weight: bold;">&#41;</span>
  <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$VERBOSE</span>&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= no <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> log_daemon_msg <span style="color: #ff0000;">&quot;Starting <span style="color: #007800;">$DESC</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$NAME</span>&quot;</span>
  do_start
  <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;$?&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
    <span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$VERBOSE</span>&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= no <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> log_end_msg <span style="color: #000000;">0</span> <span style="color: #000000; font-weight: bold;">;;</span>
    <span style="color: #000000;">2</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$VERBOSE</span>&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= no <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> log_end_msg <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">;;</span>
  <span style="color: #000000; font-weight: bold;">esac</span>
  <span style="color: #000000; font-weight: bold;">;;</span>
  stop<span style="color: #7a0874; font-weight: bold;">&#41;</span>
  <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$VERBOSE</span>&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= no <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> log_daemon_msg <span style="color: #ff0000;">&quot;Stopping <span style="color: #007800;">$DESC</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$NAME</span>&quot;</span>
  do_stop
  <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;$?&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
    <span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$VERBOSE</span>&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= no <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> log_end_msg <span style="color: #000000;">0</span> <span style="color: #000000; font-weight: bold;">;;</span>
    <span style="color: #000000;">2</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> <span style="color: #7a0874; font-weight: bold;">&#91;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$VERBOSE</span>&quot;</span> <span style="color: #000000; font-weight: bold;">!</span>= no <span style="color: #7a0874; font-weight: bold;">&#93;</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> log_end_msg <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">;;</span>
  <span style="color: #000000; font-weight: bold;">esac</span>
  <span style="color: #000000; font-weight: bold;">;;</span>
  restart<span style="color: #000000; font-weight: bold;">|</span>force-reload<span style="color: #7a0874; font-weight: bold;">&#41;</span>
  <span style="color: #666666; font-style: italic;">#</span>
  <span style="color: #666666; font-style: italic;"># If the &quot;reload&quot; option is implemented then remove the</span>
  <span style="color: #666666; font-style: italic;"># 'force-reload' alias</span>
  <span style="color: #666666; font-style: italic;">#</span>
  log_daemon_msg <span style="color: #ff0000;">&quot;Restarting <span style="color: #007800;">$DESC</span>&quot;</span> <span style="color: #ff0000;">&quot;<span style="color: #007800;">$NAME</span>&quot;</span>
  do_stop
  <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;$?&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
    <span style="color: #000000;">0</span><span style="color: #000000; font-weight: bold;">|</span><span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
    do_start
    <span style="color: #000000; font-weight: bold;">case</span> <span style="color: #ff0000;">&quot;$?&quot;</span> <span style="color: #000000; font-weight: bold;">in</span>
      <span style="color: #000000;">0</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> log_end_msg <span style="color: #000000;">0</span> <span style="color: #000000; font-weight: bold;">;;</span>
      <span style="color: #000000;">1</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> log_end_msg <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">;;</span> <span style="color: #666666; font-style: italic;"># Old process is still running</span>
      <span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span> log_end_msg <span style="color: #000000;">1</span> <span style="color: #000000; font-weight: bold;">;;</span> <span style="color: #666666; font-style: italic;"># Failed to start</span>
    <span style="color: #000000; font-weight: bold;">esac</span>
    <span style="color: #000000; font-weight: bold;">;;</span>
    <span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
      <span style="color: #666666; font-style: italic;"># Failed to stop</span>
    log_end_msg <span style="color: #000000;">1</span>
    <span style="color: #000000; font-weight: bold;">;;</span>
  <span style="color: #000000; font-weight: bold;">esac</span>
  <span style="color: #000000; font-weight: bold;">;;</span>
  <span style="color: #000000; font-weight: bold;">*</span><span style="color: #7a0874; font-weight: bold;">&#41;</span>
  <span style="color: #7a0874; font-weight: bold;">echo</span> <span style="color: #ff0000;">&quot;Usage: <span style="color: #007800;">${SCRIPTNAME}</span> {start|stop|restart|force-reload}&quot;</span> <span style="color: #000000; font-weight: bold;">&gt;&amp;</span><span style="color: #000000;">2</span>
  <span style="color: #7a0874; font-weight: bold;">exit</span> <span style="color: #000000;">3</span>
  <span style="color: #000000; font-weight: bold;">;;</span>
<span style="color: #000000; font-weight: bold;">esac</span>
&nbsp;
:</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2012/initscript-mit-tiny-tiny-rss-1-5-10/feed/rss2</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Let&#8217;s bring the magic to Extbase</title>
		<link>http://noctus.net/2012/lets-bring-the-magic-to-extbase</link>
		<comments>http://noctus.net/2012/lets-bring-the-magic-to-extbase#comments</comments>
		<pubDate>Sun, 26 Feb 2012 14:03:32 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1907</guid>
		<description><![CDATA[Beim Durchstöbern der Meldungen des Extension-Builder bin ich eher zufällig auf etwas gestoßen, was die Entwicklung von TYPO3-Erweiterungen mit Extbase revolutionieren könnte: Workpaper: Magic for Domain Models – A Plan for the Future of Models in Extbase Um die Idee hinter dem Vorhaben zu verstehen, hier einmal eine kurze Auflistung der zum Hinzufügen eines einzelnen [...]]]></description>
			<content:encoded><![CDATA[<p>Beim Durchstöbern der <a href="http://forge.typo3.org/projects/extension-extension_builder/issues">Meldungen des Extension-Builder</a> bin ich eher zufällig auf etwas gestoßen, was die Entwicklung von TYPO3-Erweiterungen mit Extbase revolutionieren könnte:</p>
<p><strong><a href="http://fedext.net/overview/articles/workpaper-magic/">Workpaper: Magic for Domain Models</a></strong><br />
<strong> – A Plan for the Future of Models in Extbase</strong></p>
<p>Um die Idee hinter dem Vorhaben zu verstehen, hier einmal eine kurze Auflistung der zum Hinzufügen eines <em>einzelnen</em> Felds zu einer <em>einzigen</em> Tabelle typischerweise notwendigen Schritte:</p>
<ol>
<li>Definition des <strong>Datenbank</strong>-Feldes (plus einer weiteren Tabelle bei MM-Beziehungen) in der ext_tables.sql,</li>
<li>Hinzufügen der Eigenschaft nebst Getter und Setter zum betreffenden <strong>Model</strong> (plus ggf. Methoden zum Hinzufügen oder Entfernen von Elementen bei MM-Beziehungen),</li>
<li>Hinzufügen des Felds zum TYPO3-Backend durch Anpassung der <strong>TCA</strong>-Definition der Tabelle,</li>
<li>Ergänzen der notwendigen <strong>Übersetzungen</strong> (locallang_db.xml) und ggf. Beschreibungen/Hilfetexte (locallang_csh_*.xml)</li>
</ol>
<p>Weitere Schritte ergeben sich, wenn z.B. MM-Beziehungen auch auf der Gegenseite bearbeitet/abgerufen werden können sollen. Insgesamt also eine Menge Schritte für eine eigentlich lapidare Erweiterung. Zudem verteilen sich die Schritte über mehrere Dateien deren Zusammenhang nicht unbedingt direkt ersichtlich ist. All dies zentral und mit minimalen Anpassungen vornehmen zu können würde Zeit und Aufwand sparen sowie mögliche Fehlerquellen reduzieren. Genau dies stellt das Projekt „Magic for Domain Models“ in Aussicht:</p>
<blockquote><p>The core purpose is to make extension development, particularly modelling, more centralized and less prone to errors &#8211; and as a side bonus making it dynamic if so requested.</p></blockquote>
<p>Erreicht werden soll dies um stark erweiterte Kennzeichnungen in den Kommentaren für Domain-Model und dessen Eigenschaften, was sich stark an die Möglichkeiten in FLOW3 anlehnt. Eine Beispiel-Konfiguration von der Projekt-Seite:</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/**
 * Refrigerator Model
 *
 * (description and model annotiations ... )
 */</span>
<span style="color: #000000; font-weight: bold;">class</span> Tx_Fedexample_Domain_Model_Refrigerator <span style="color: #000000; font-weight: bold;">extends</span> Tx_Extbase_DomainObject_AbstractEntity <span style="color: #009900;">&#123;</span>
&nbsp;
 <span style="color: #666666; font-style: italic;">// Other properties ...</span>
&nbsp;
 <span style="color: #009933; font-style: italic;">/**
 * Food content
 *
 * The parameters given to the &quot;OneToMany&quot; annotation are the default values which
 * will be used if not overridden - so they are shown for illustration only. You
 * can leave them out (just use @Magic\OneToMany) to use the table name in the relation
 * (tx_fedexample_domain_model_fooditem because Tx_FedExample_Domain_Model_FoodItem
 * is the type of relation. And the target field name from this Model (refrigerator).
 *
 * Note that a @Magic\Database annotations is not required here, it is automatically
 * applied based on the relation type. Although we use @Magic\Inline here there are
 * other options - like @Magic\Select and @Magic\Group, each with their own options.
 *
 * @var Tx_Extbase_Persistence_ObjectStorage&lt;Tx_Fedexample_Domain_Model_FoodItem&gt;
 * @Magic\Field(type=&quot;relation&quot;)
 * @Magic\OneToMany(foreignTable=&quot;tx_fedexample_domain_model_fooditem&quot;, foreignField=&quot;refrigerator&quot;)
 * @Magic\Inline(maxItems=&quot;1000&quot;)
 * @Magic\Column(provider=&quot;Tx_Magic_Provider_Column_InlineProvider&quot;, dynamic=&quot;TRUE&quot;)
 */</span>
 <span style="color: #000000; font-weight: bold;">protected</span> <span style="color: #000088;">$food</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>Aus diesen Angaben kann automatisch geschlussfolgert werden, dass für die Datenbank-Tabelle <code>tx_fedexample_domain_model_refrigerator</code> ein Feld namens <code>food</code> definiert, als MM-Beziehung gekennzeichnet und im TYPO3-Backend via IRRE bearbeitet werden soll.</p>
<p>Darüber hinaus soll es aber auch möglich sein, das Bearbeiten von Feldern im TYPO3-Backend durch neue und benutzerdefinierte Widgets zu verbessern. Im Endeffekt sollen Datenbank-Definition, TCA-Konfiguration und Backend-Bearbeitungsmöglichkeiten an einer einzigen zentralen Stelle zusammengeführt werden: dem Model. Alle dafür von TYPO3 benötigten Angaben sollen automatisch und dynamisch generiert werden. All dies soll gänzlich optional sein, wobei nach einer gewissen Reifephase sicher nichts dagegen spricht, dies zum Standardverhalten zu machen. Wer spart sich nicht gerne Arbeit und Zeit. <img src='http://noctus.net/wp-content/plugins/tango-smilies/tango/face-wink.png' alt=';-)' class='wp-smiley' /> </p>
<p>Um das ganze performant zu halten, soll das Ergebnis der automatischen Code-Generierung natürlich Cache-fähig sein, was eingeplant, aber momentan noch ein offener Punkt ist. Der aktuelle Entwicklungsverlauf kann im <a href="http://git.typo3.org/TYPO3v4/Extensions/magic.git">TYPO3-Git-Repository der Magic-Erweiterung</a> verfolgt werden. Initiiert und voran getrieben wird die Entwicklung von keinem geringeren als Claus Due, dem Kopf hinter den unschätzbar hilfreichen <a title="TYPO3 Fluid Extbase Development Framework" href="http://fedext.net/overview/welcome.html">fed</a>- und <a title="Extension Flux - Dynamic Fluid FlexForms" href="http://fedext.net/examples/flux/features.html">flux</a>-Erweiterungen. Die Wahrscheinlichkeit, dass dieses Projekt also Realität wird ist sehr hoch. Hilfe in jeder Form ist allerdings sehr willkommen.</p>
<p>So muss Magie der Neuzeit aussehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2012/lets-bring-the-magic-to-extbase/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ein Schritt zurück und zwei nach vorn</title>
		<link>http://noctus.net/2012/ein-schritt-zuruck-und-zwei-nach-vorn</link>
		<comments>http://noctus.net/2012/ein-schritt-zuruck-und-zwei-nach-vorn#comments</comments>
		<pubDate>Thu, 19 Jan 2012 21:47:11 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1894</guid>
		<description><![CDATA[Wenn mir ein Merkmal an PCs wichtig ist, dann ist es schnelle und saubere Wiedergabe von HD-Material. Während 720p überhaupt kein Problem darstellt, gibt es bei 1080p zum Teil drastische Unterschiede. Aus diesem Grund tauschte ich dereinst meine eher betagte ATI Radeon 9600 (Chip RV350) gegen eine ATI Radeon HD4670 (Chip RV730), da mir erstere [...]]]></description>
			<content:encoded><![CDATA[<p>Wenn mir ein Merkmal an PCs wichtig ist, dann ist es schnelle und saubere Wiedergabe von HD-Material. Während 720p überhaupt kein Problem darstellt, gibt es bei 1080p zum Teil drastische Unterschiede.</p>
<div id="attachment_1896" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-1896 " title="Radeon HD4670" src="http://noctus.net/wp-content/uploads/2012/01/Radeon-HD4670-300x205.jpg" alt="Abbildung der Grafikkarte ATI Radeon HD4670" width="300" height="205" /><p class="wp-caption-text">ATI Radeon HD4670</p></div>
<p>Aus diesem Grund tauschte ich dereinst meine eher betagte <a title="ATI-Radeon-9000-Serie" href="http://de.wikipedia.org/wiki/ATI-Radeon-9000-Serie">ATI Radeon 9600</a> (Chip RV350) gegen eine <a title="ATI-Radeon-HD-4000-Serie" href="http://de.wikipedia.org/wiki/ATI-Radeon-HD-4000-Serie">ATI Radeon HD4670</a> (Chip RV730), da mir erstere nicht mehr die Performance bot, die ich als Normalzustand voraussetze. Doch von Anfang an sah ich mich Problemen gegenüber gestellt. So war es praktisch an der Tagesordnung, dass der Bildschirm beim Systemstart bei der Aktivierung von KMS schwarz wurde und auch blieb. Dem Festplattengeräusch war zu entnehmen, dass das System und schließlich auch X normal weiter startete, das Bild blieb jedoch unbenutzbar. Die Tastenkombination <a title="Systemabfrage-Taste" href="http://de.wikipedia.org/wiki/Systemabfrage-Taste">SysRq</a>+R,S,U,B ging nach kurzer Zeit trotz Verärgerung locker von der Hand, um zumindest das System so sauber wie möglich neu zu starten. Nach 1, maximal 2 Neustarts trat das Problem nicht mehr auf. Die Beziehung zwischen Kalt- und Warmstarts tiefer zu ergründen erschien mir zu müßig.</p>
<p>Ein weiteres Problem stellte der Einsatz von 3D in Form von OpenGL dar: immer wenn ein (vermeintlich) zu großer oder aufwändiger Zeichenkontext auf dem Bildschirm aktiv war, stockte das System kurz und startete urplötzlich und ohne jegliche Meldung neu. Trotz aller Anstrengungen, das Ausschreiben von System-Logs zu erzwingen gelang es mir nicht, auch nur eine Spur eines Hinweises zu finden, wo das Problem liegen könnte. Dieses Problem trat auf mit dem gl-Ausgabetreiber vom mplayer sowie beim <a title="Bug 37193 - Crash while switching between OpenGL window and other window" href="https://bugs.freedesktop.org/show_bug.cgi?id=37193">Umschalten zwischen einer 3D-Applikation und einem anderen Fenster</a>.</p>
<p>Schließlich das größte Manko: die HD-Wiedergabe von 1080p-Material war – Pardon – unter aller Sau. Der Verlust der Synchronisierung von Audio und Video war keine Seltenheit. Ruckeln und Schlieren (Tearing) an der Tagesordnung. Keine wirklich angenehme Benutzererfahrung, wenn ein Video stockt und bei stärkeren horizontalen Bewegungen quasi auseinander gerissen wird. Und stets droht die Gefahr, dass das System sich mal eben einen Neustart gönnt, wenn man es wagen sollte, den theoretischen Geschwindigkeitsgewinn einer OpenGL-Ausgabe nutzen zu wollen.</p>
<p>Ich spielte schon mit dem Gedanken, mir einen komplett neuen PC mit aktuellen Bauteilen zusammenzusetzen, als mir meine alte Radeon-Karte in den Sinn kam. Ich wollte es auf einen Versuch anlegen …</p>
<div id="attachment_1901" class="wp-caption aligncenter" style="width: 310px"><img class="size-medium wp-image-1901" title="Radeon 9600" src="http://noctus.net/wp-content/uploads/2012/01/Radeon-9600-300x193.jpg" alt="Abbildung der Grafikkarte ATI Radeon 9600" width="300" height="193" /><p class="wp-caption-text">ATI Radeon 9600</p></div>
<p>Und ich sollte es nicht bereuen. Sämtliche angesprochenen Probleme sind verschwunden. Es erscheint mir unlogisch, wie eine deutlich ältere Karte mit deutlich weniger Leistung dennoch eine um ein Vielfaches bessere und stabilere Erfahrung bieten kann, aber genau so ist es. Die Wiedergabe von großformatigem HD-Material läuft nun sauber und ohne Probleme, der Systemstart läuft normal durch. Und 3D ist nun – der Leistung der Karte entsprechend – komplikationsfrei möglich.</p>
<p>In diesem Sinne stieß ich kürzlich auch auf eine Lösung für das Tearing-Problem. Durch den Einsatz von <a title="Compiz OpenGL compositing manager" href="http://www.compiz.org/">Compiz</a> als Window-Manager löst sich das Problem in Luft auf. Dies begründet sich damit, dass Compiz auf OpenGL als Zeichenkontext setzt, wogegen <a title="Xfce window manager" href="http://www.xfce.org/projects/xfwm4">Xfwm4</a>, mein Standard-WM, <a title="X Rendering Extension" href="http://en.wikipedia.org/wiki/X_Rendering_Extension">XRender</a> verwendet. Die für die Vermeidung von Schlieren unbedingt erforderliche <a title="Vertikale Synchronisation" href="http://de.wikipedia.org/wiki/Vertikale_Synchronisation">VSync</a>-Funktionalität ist dagegen in XRender nicht verfügbar, in der OpenGL-Ausgabe im Grafikkarten-Treiber jedoch standardmäßig aktiviert. Dadurch wird die Synchronisation der Zeichenoperationen mit dem Bildschirm erzwungen, womit eine flüssige Ausgabe erfolgt.</p>
<p>Als Treiber für beide Grafikkarten kam stets der offenen <a title="Radeon 3D acceleration Portal" href="http://dri.freedesktop.org/wiki/Radeon">radeon</a>-Treiber zum Einsatz, da das proprietäre Pendant in Form des fglrx-Treibers entweder nicht zur aktuellen X-Version kompatibel war oder schlichtweg nicht funktionierte. Und während die Einführung der <a title="Gallium3D Technical Overview" href="http://wiki.freedesktop.org/wiki/Software/gallium">Gallium</a>-Architektur für den r600-Treiber aus meiner Sicht nur Nachteile brachte, mauserte sich der r300-Treiber zu einer zuverlässigen und durchaus performanten Möglichkeit, die Radeon 9600 zu betreiben. Alle Unzulänglichkeiten, die mich beim klassischen r300-Treiber zum Wechsel auf meine Radeon HD4670 bewegten sind nun pasé.</p>
<p>Fazit: um meinem Ziel einer angenehmen Wiedergabe von HD-Material näher zu kommen, musste ich einen Schritt zurück tätigen.</p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2012/ein-schritt-zuruck-und-zwei-nach-vorn/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Romani ite domum</title>
		<link>http://noctus.net/2011/romani-ite-domum</link>
		<comments>http://noctus.net/2011/romani-ite-domum#comments</comments>
		<pubDate>Tue, 22 Nov 2011 22:10:07 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1884</guid>
		<description><![CDATA[Bei einem kürzlichen Spaziergang fielen uns die künstlerischen Malereien an einer Steinmauer am Elbufer auf: Offenbar hat sich hier jemand eine Lektion des Lateinunterrichts zu Herzen genommen: Ist doch gar nicht so schwer.]]></description>
			<content:encoded><![CDATA[<p>Bei einem kürzlichen Spaziergang fielen uns die künstlerischen Malereien an einer Steinmauer am Elbufer auf:</p>
<p><a class="highslide img_4" href="http://noctus.net/wp-content/uploads/2011/11/Romani-ite-domum.jpg" onclick="return hs.expand(this)"><img class="size-medium wp-image-1885" title="Romani-ite-domum" src="http://noctus.net/wp-content/uploads/2011/11/Romani-ite-domum-225x300.jpg" alt="" width="225" height="300" /></a></p>
<p>Offenbar hat sich hier jemand eine Lektion des Lateinunterrichts zu Herzen genommen:</p>
<p><iframe width="500" height="281" src="http://www.youtube.com/embed/DZ47gksnesc?fs=1&#038;feature=oembed" frameborder="0" allowfullscreen></iframe></p>
<p>Ist doch gar nicht <a href="http://de.wikipedia.org/wiki/Grammatik_des_Lateinischen#Deklinations.C3.BCberblick">so schwer</a>. <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/2011/romani-ite-domum/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ibarrrrraki</title>
		<link>http://noctus.net/2011/ibarrrrraki</link>
		<comments>http://noctus.net/2011/ibarrrrraki#comments</comments>
		<pubDate>Sat, 29 Oct 2011 00:20:51 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1881</guid>
		<description><![CDATA[Demjenigen, der vorhat, sich die Japanischen Präfekturen einzuprägen, kann ich folgendes Video wärmstens ans Herz legen: Ibarrrrrraki!]]></description>
			<content:encoded><![CDATA[<p>Demjenigen, der vorhat, sich die Japanischen Präfekturen einzuprägen, kann ich folgendes Video wärmstens ans Herz legen:</p>
<p><object width="500" height="375"><param name="movie" value="http://www.youtube.com/v/sNOnBth88cw?version=3&#038;feature=oembed"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/sNOnBth88cw?version=3&#038;feature=oembed" type="application/x-shockwave-flash" width="500" height="375" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Ibarrrrrraki!</p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2011/ibarrrrraki/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>LOL, Internet</title>
		<link>http://noctus.net/2011/lol-internet</link>
		<comments>http://noctus.net/2011/lol-internet#comments</comments>
		<pubDate>Fri, 30 Sep 2011 21:07:33 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1867</guid>
		<description><![CDATA[Ende Juli bestellt und mit einem Termin ca. 2 Wochen darauf angekündigt sollte meine Internetverbindung in meiner neuen Wohnung geschaltet werden. Beim Anbieter fiel unsere Wahl auf Vodafone, da meine Freundin damit schon gute Erfahrung hatte und der Preis stimmte. Ein wenig mehr Unabhängigkeit von Big Pink konnte dabei auch nicht schaden. Ganz so einfach [...]]]></description>
			<content:encoded><![CDATA[<p>Ende Juli bestellt und mit einem Termin ca. 2 Wochen darauf angekündigt sollte meine Internetverbindung in meiner neuen Wohnung geschaltet werden. Beim Anbieter fiel unsere Wahl auf Vodafone, da meine Freundin damit schon gute Erfahrung hatte und der Preis stimmte. Ein wenig mehr Unabhängigkeit von Big Pink konnte dabei auch nicht schaden.</p>
<p>Ganz so einfach sollte es am Ende aber doch nicht werden: nachdem mein Anschluss ursprünglich zum 8. September geschaltet werden sollte und ich zuerst gar keine Information seitens Vodafone erhielt, fand ich nach einigen Anrufen und Nachfragen heraus, dass es beim Beantragen meines Anschlusses Probleme mit der WITA-Schnittstelle bei der Telekom gab. Über diese Schnittstelle sollen alternative Anbieter von Internetanschlüssen unkompliziert und ohne bürokratischen Aufwand Anschlüsse für ihre Kunden beantragen können. Sollen. Neben Performanceproblemen und Engpässen soll diese Schnittstelle von generischen und nichtssagenden Fehlermeldungen geplagt sein. Diese können dann auch nur so an den Kunden weitergegeben werden.</p>
<p>So liegt es meist dann auch bei diesem, zu erkunden, was genau überhaupt gerade geschieht. So auch in meinem Fall, da ich praktisch jede Woche bei Vodafone anrief um den aktuellen Stand anzufragen. Ein Telefonat Mitte September sollte mich dann schocken: die Telekom hatte angekündigt, die Probleme mit der Schnittstelle bis zum 2. November zu beheben. Ich sollte also noch mehr als 2 weitere Monate auf meinen regulären Anschluss warten. Da die berühmt-berüchtigte letzte Meile nach wie vor der Telekom gehört, wäre es in diese Fall egal gewesen, bei welchem Anbieter ich bin.</p>
<p>Umso erstaunter war ich dann allerdings, als vergangene Woche ein Schreiben bei mir eintraf, dass mein Anschluss nun doch plötzlich zum 27. September geschaltet werden sollte. Ungläubig fragte ich bei Vodafone nach und erhielt eine Bestätigung. Nicht die letzte, denn es folgten noch 2 SMS und 1 Anruf von Vodafone mit dem Hinweis der Freischaltung. Ich sollte doch darauf achten, an diesem Tag unbedingt zuhause zu sein.</p>
<p>Und tatsächlich erschien der Telekom-Techniker an diesem Tag um 9:30 Uhr und schaltete schnell und unkompliziert die Leitung frei. Er merkte zudem an, dass bedingt durch die Länge der Leitung und den Dämpfungswert nur ein Teil der von mir bestellten 6MBit zur Verfügung stehen würden. Dass ich nicht DSL 16.000 beantragt hatte, wunderte ihn etwas, aber mehr wurde mir von Vodafone nicht angeboten. Und Vodafone sollte richtig vermutet haben.</p>
<p>Denn tatsächlich nutzen kann ich nunmehr lediglich 3,5MBit. Eine Fallback-Lösung laut Telekom-Techniker, den ich kurz nach der Freischaltung anrief. Dieser kam auch nicht umhin, mich sogleich auf die Option von 50MBit per VDSL hinzuweisen. Bei einem Wechsel zur Telekom versteht sich. Ich machte deutlich, dass ich daran kein Interesse habe. Somit obliegt es der Verantwortung von Vodafone, die VDSL-Verbreitung weiter voranzutreiben.</p>
<p>Nun hatte ich also endlich meine reguläre Internetverbindung per DSL, wenn auch nicht berauschend schnell. (In meiner vorherigen Wohnung standen mir 13MBit zur Verfügung). Baulich bedingt musste die EasyBox von Vodafone nun allerdings im Vorsaal (ja, Silli das heißt in unserer Familie so <img src='http://noctus.net/wp-content/plugins/tango-smilies/tango/face-raspberry.png' alt=':-P' class='wp-smiley' /> ) stehen. Durch massive Wände und Ecken erhielt ich damit nur eine akzeptable Verbindung, die von Einbrüchen in Geschwindigkeit und Stabilität geplagt waren. Denn für unsere neue Wohnung hatten wir uns vorgenommen, ein wenig Kabelwulst abzubauen. WLAN erschien als das Mittel der Wahl. Und während ich bis zu diesem Zeitpunkt ein vollständiger Laie auf diesem Gebiet war, habe ich mich im Zuge meiner Schaltung bzgl. <a href="http://de.wikipedia.org/wiki/IEEE_802.11">IEEE 802.11</a> und seinen verschiedenen Varianten kundig gemacht.</p>
<p>Das Ziel war eine stabile und schnelle Verbindung. Zu diesem Zweck entschied ich mich dann schließlich auch, die EasyBox durch eine Verlängerung des Telefonkabels ins Wohnzimmer zu verlegen. Nach ein wenig eigener Recherche fand ich heraus, dass es vom dafür erforderlichen <a href="http://de.wikipedia.org/wiki/TAE">TAE</a>-Anschluss die Varianten Tele<strong>F</strong>on und <strong>N</strong>ebenstelle gibt, wobei für mich die Variante <strong>F</strong> relevant erschien. Bei einem Abstecher zum örtlichen M&amp;M-Computer-Store wurde mir allerdings zur N-Variante geraten, nachdem ich deutlich machte, dass ich damit einen DSL-Router/Modem anschließen möchte. Wieder zuhause gelang es mir allerdings dann mit Leibeskräften nicht, den Stecker in meine TAE-Buchse zu treiben. Mit den beiden äußeren Anschlüssen gab es jedoch keine Probleme. Am nächsten Tag tauschte ich das N- gegen ein F- Kabel und erreichte damit mein Ziel.</p>
<p>Ein weiser Mann ging eines Tages in sich und verkündete eines Tages: <strong>LOL, Internet</strong>.</p>
<p><object width="500" height="375"><param name="movie" value="http://www.youtube.com/v/xHw5T4_JmmM?version=3&#038;feature=oembed"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/xHw5T4_JmmM?version=3&#038;feature=oembed" type="application/x-shockwave-flash" width="500" height="375" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>Und damit entlasse ich euch wieder in die Weiten ebendiesen.</p>
<p><strong>Nachtrag</strong>: Um das ganze noch zu toppen, erhielt ich vergangenen Freitag von Vodafone eine Benachrichtigung, dass meine Kündigung eingegangen sei und mein Anschluss am 14. Oktober abgeschaltet wird. Nach einem geladenen Gespräch mit einem Vodafone-Mitarbeiter stellte sich heraus, dass Vodafone meine Beschwerde zur schlechten Informationspolitik als Stornierung meines Auftrags verstanden hat. Da diese freie Interpretation nicht auf einem Fehler meinerseits beruht, ermahnte ich den Sachbearbeiter, alle ihm zur Verfügung stehenden Hebel in Bewegung zu setzen, um diesen Unsinn wieder rückgängig zu machen. Warum sollte ich meinen Anschluss kündigen, nachdem er nach ewiger Wartezeit endlich nutzbar geworden ist? Ob Vodafone nun wirklich die „Reklamation der Stornierung“ durchführt, gilt abzuwarten.</p>
<p><strong>Nachtrag zum Nachtrag</strong>: Zwischenzeitlich musste ich schon an der Qualifikation der Mitarbeiter bei Vodafone zweifeln, nachdem mich einer von diesen informierte, dass „meine Kündigung“ nicht mehr abwendbar ist. Nach weiteren Telefonaten und dem dezenten Hinweis, dass auf diesem Wege ein bereits geschalteter Anschluss gekündigt würde, war die Stornierung der Kündigung nun plötzlich doch möglich. Sowohl bei der Kundenrückgewinnung als auch im Service-Bereich war man sich einig, dass meine Beschwerde zur schlechten Informationspolitik mitnichten als Kündigung aufgefasst werden kann. <strong>Fazit</strong>: es bleibt alles wie es ist. Hoffentlich.</p>
]]></content:encoded>
			<wfw:commentRss>http://noctus.net/2011/lol-internet/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Diplomarbeit: Gegenüberstellung von HTML5 und Adobe Flex</title>
		<link>http://noctus.net/2011/diplomarbeit-gegenueberstellung-von-html5-und-adobe-flex</link>
		<comments>http://noctus.net/2011/diplomarbeit-gegenueberstellung-von-html5-und-adobe-flex#comments</comments>
		<pubDate>Sat, 23 Jul 2011 13:32:52 +0000</pubDate>
		<dc:creator>Mathias</dc:creator>
		
		<guid isPermaLink="false">http://noctus.net/?p=1824</guid>
		<description><![CDATA[Als Abschluss meines Studiums der Medieninformatik wollte ich unbedingt ein praxisrelevantes Thema bearbeiten und dabei den Schwerpunkt auf die praktische Umsetzung legen. Ich bin nun einmal ein Pragmatiker durch und durch, weshalb ich zu viel Theorie schon immer ermüdend fand. Von der Idee zum konkreten Plan Nach einigen Vorschlägen meinerseits im Dialog mit der Firma, [...]]]></description>
			<content:encoded><![CDATA[<p>Als Abschluss meines Studiums der Medieninformatik wollte ich unbedingt ein praxisrelevantes Thema bearbeiten und dabei den Schwerpunkt auf die praktische Umsetzung legen. Ich bin nun einmal ein Pragmatiker durch und durch, weshalb ich zu viel Theorie schon immer ermüdend fand.</p>
<h3>Von der Idee zum konkreten Plan</h3>
<p>Nach einigen Vorschlägen meinerseits im Dialog mit der Firma, in der ich die Arbeit anzufertigen wünschte, fanden wir schließlich einen Themenkomplex: <a title="HTML5 (W3C Working Draft 25 May 2011)" href="http://www.w3.org/TR/2011/WD-html5-20110525/">HTML5</a>. Diese nahezu generalüberholte Fassung des HTML-Standards bot folgende Eigenschaften:</p>
<ul>
<li>ein umfangreiches Feld für Implementierungen,</li>
<li>viele augenscheinlich neue Möglichkeiten,</li>
<li>noch vergleichsweise jung,</li>
<li>dennoch schon ausreichend verbreitet.</li>
</ul>
<p>Ein idealer Kandidat also für eine praktische Umsetzung. Um eine gesunde Menge an Funktionen in Form eines Prototypen unter einen Hut zu bringen, musste ich mir nun nur noch die Art der Applikation überlegen. Nach einiger Überlegung schwebte mir eine Medienverwaltung vor, worin Medien verschiedenster Art eingebunden, verwaltet und betrachtet werden sollen.</p>
<p>Um dem ganzen Vorhaben dann noch eine Spur mehr Würze zu verpassen, kam von meiner Professorin der Vorschlag, hier eine Gegenüberstellung von HTML5 und dem <a title="Open source framework, web application software development | Flex - Adobe" href="http://www.adobe.com/products/flex/">Flex-Framework</a> von Adobe einfließen zu lassen. Letzteres ist in Verbindung mit dem Flash-Player als einer der bevorzugten Wege bekannt, reiche Medieninhalte im Web adäquat darzustellen.</p>
<h3>Die Arbeit</h3>
<p>Nach weiterer Rücksprache mit meiner Professorin erarbeiteten wir schließlich den konkreten Titel meiner Diplomarbeit:</p>
<p><img class="size-thumbnail wp-image-1828 alignleft" style="margin-right: 1em;" title="HTML5-Logo" src="http://noctus.net/wp-content/uploads/2011/07/HTML5_Logo_500-150x150.png" alt="HTML 5" width="120" height="120" /></p>
<p><img class="size-thumbnail wp-image-1829 alignright" style="margin-left: 1em;" title="Adobe-Flex-Logo" src="http://noctus.net/wp-content/uploads/2011/07/Flex-Logo-150x150.png" alt="Fx" width="120" height="120" /></p>
<p style="text-align: center; margin-top: 4em;"><strong>Gegenüberstellung der Technologien HTML5/JavaScript</strong><br />
<strong>und des Flex-Frameworks anhand der</strong><br />
<strong>prototypischen Umsetzung einer Medienverwaltung</strong></p>
<p style="clear: both; margin-top: 3em;">Ziel der Arbeit war es, durch die Entwicklung eines Prototypen einer Medienverwaltung zum einen in HTML5/JavaScript und zum anderen in Adobe Flex einen Vergleich hinsichtlich der Konzeption und schließlich Nutzbarkeit einzelner Funktionen zu ziehen. Das Ergebnis meiner Arbeit ist nun schließlich in meiner Diplomarbeit zu finden, welche ich hiermit öffentlich verfügbar mache:</p>
<div id="attachment_1833" class="wp-caption aligncenter" style="width: 221px"><a href="http://noctus.net/wp-content/uploads/2011/07/Diplomarbeit-HTML5-Flex.pdf"><img class="size-medium wp-image-1833 " title="Deckblatt der Diplomarbeit" src="http://noctus.net/wp-content/uploads/2011/07/Diplomarbeit-HTML5-Flex-211x300.png" alt="Deckblatt der Diplomarbeit" width="211" height="300" /></a><p class="wp-caption-text">Diplomarbeit im PDF-Format</p></div>
<p>Erstellt habe ich die Niederschrift übrigens nicht mit LaTeX, auch wenn dies bei vielen üblich ist und im Zuge dieser Arbeit sich das Erlernen dieser Auszeichnungssprache sicher gelohnt hätte. Allerdings wollte ich mir angesichts des straffen Zeitplans nicht auch noch diese Hürde stellen, weshalb ich mich auf das besann, womit ich mich auskenne: <a title="OpenOffice.org - The Free and Open Productivity Suite" href="http://www.openoffice.org/">OpenOffice</a>/<a title="LibreOffice" href="http://www.libreoffice.org/">LibreOffice</a>. Da ich darin seit eh und jeh Formatvorlagen verwende, gestaltete sich die konsistente Auszeichnung, Strukturierung und Formatierung der Inhalte recht einfach. Anspruchsvoller dagegen waren die verschiedenen Verzeichnisse. Angefangen von den Anpassungen für das Inhaltsverzeichnis (Beginn bei Überschrift 0, gesonderte Überschriften-Formatvorlagen für Anhang und Folgeseiten) über das Abkürzungsverzeichnis (basierend auf einer externen CSV-Datei, aktualisiert über eine automatische Suche der Begriffe im Dokument) bis hin zum Literaturverzeichnis (über eine externe Datenbank-Datei) habe ich hier wieder viel gelernt. Für die Erstellung des Klassendiagramms ist der Diagramm-Editor <a title="Dia" href="http://live.gnome.org/Dia">Dia</a> zum Einsatz gekommen.</p>
<h3>Die Verteidigung</h3>
<p>Dazu die Präsentation, welche mir für die Verteidigung als visuelle Stütze diente, daher nur einen kompakter Überblick darstellt:</p>
<div id="attachment_1836" class="wp-caption aligncenter" style="width: 310px"><a href="http://noctus.net/wp-content/uploads/2011/07/Praesentation-HTML5-Flex.pdf"><img class="size-medium wp-image-1836 " title="Präsentation zur Diplomarbeit" src="http://noctus.net/wp-content/uploads/2011/07/Praesentation-HTML5-Flex-300x224.png" alt="" width="300" height="224" /></a><p class="wp-caption-text">Präsentation im PDF-Format</p></div>
<p>Mein Verteidigungstermin war auf den Donnerstag, den 21. Juli 2011 um 11:00 Uhr angesetzt, ich nutzte allerdings die Zeit und betrat den Präsentationsraum in der Z343 der HTW Dresden bereits um 8:30 Uhr. Die verbleibende Zeit verbrachte ich damit, den Laptop aufzubauen, an den Beamer anzuschließen, für optimale Lichtverhältnisse zu sorgen und mir kurzerhand von einem alten Bekannten noch ein paar Lautsprecher zu besorgen. Vor Beginn ging ich noch ein letztes Mal die Präsentation, die Prototypen und zum Teil meine Diplomarbeit durch. Ich fühlte mich ausreichend vorbereitet aber natürlich dennoch unglaublich aufgeregt. Aber wie so üblich bei mir verflog die Aufregung mit Beginn meiner Präsentation. Und da ich entgegen meiner Befürchtung die Zeit so gut füllte, dass am Ende nur noch 5 Minuten übrig waren, kürzte ich zur Demonstration der beiden Prototypen ab.</p>
<p>Im Gutachten meiner Professorin und dem Zweitkontrolleur wurde mir ein hohes Verständnis der Materie und sehr guter Tiefgang bescheinigt. Ebenjener war jedoch auch Grund zur Kritik, da es mir nicht immer gelungen ist, diesen Tiefgang in eine verständliche Form zu bringen, welche die Arbeit zugänglicher gemacht hätte. So bedarf es teilweise schon fortgeschrittener Kenntnisse um meinen Ausführungen folgen zu können. Auch meine Schlussfolgerungen und die Gesamtbewertung von HTML5 und Adobe Flex seien nicht immer angemessen und hätten mit noch mehr Fakten hinterlegt werden sollen.</p>
<p>Im Fragen-Teil der Verteidigung konnte ich viele dieser Kritikpunkte allerdings durch nähere Ausführungen relativieren und damit die Komission überzeugen. Besonders gefreut habe ich mich in diesem Sinne auch über das Vorhaben meiner Professorin, sich mit HTML5 befassen zu wollen und ab nächstes Jahr in ihren Vorlesungen darauf einzugehen.</p>
<h3>Die Prototypen</h3>
<p>Den Quellcode der Prototypen mache ich hiermit ebenso öffentlich einsehbar:</p>
<div id="attachment_1840" class="wp-caption alignnone" style="width: 655px"><a href="http://noctus.net/wp-content/uploads/2011/07/Medienverwaltung-HTML5.zip"><img class="size-large wp-image-1840  " title="Medienverwaltung in HTML5/JavaScript" src="http://noctus.net/wp-content/uploads/2011/07/Medienverwaltung-HTML5-1024x698.png" alt="Abbildung des HTML5-Prototypen" width="645" height="440" /></a><p class="wp-caption-text">HTML5/JavaScript-Prototyp</p></div>
<div id="attachment_1841" class="wp-caption alignnone" style="width: 655px"><a href="http://noctus.net/wp-content/uploads/2011/07/Medienverwaltung-Flex.zip"><img class="size-large wp-image-1841  " title="Medienverwaltung in Adobe Flex" src="http://noctus.net/wp-content/uploads/2011/07/Medienverwaltung-Flex-1024x599.png" alt="Abbildung der Flex-Medienverwaltung" width="645" height="377" /></a><p class="wp-caption-text">Adobe-Flex-Prototyp</p></div>
<p>Beide Prototypen sollten über einen Webserver aufgerufen werden, welcher sie über http://localhost verfügbar macht. Dieser Host ist einer der wenigen, von welchem sämtliche Quellen Anfragen akzeptieren. Dies ist generell relevant für den domainübergreifenden Zugriff auf die Quelle „Mikan“ sowie speziell für die Interaktion mit der Quelle „Suika“ per WebSocket in Adobe Flex. In der Arbeit wird dieser Sachverhalt näher erläutert.</p>
<h3>Die Quellen</h3>
<p>Abschließend noch der Quellcode der mit den Protoypen nutzbaren Quellen:</p>
<div id="attachment_1844" class="wp-caption alignleft" style="width: 145px"><a href="http://noctus.net/wp-content/uploads/2011/07/Ringo.zip"><img class="size-thumbnail wp-image-1844  " title="Ringo" src="http://noctus.net/wp-content/uploads/2011/07/Ringo-150x150.jpg" alt="Apfel" width="135" height="135" /></a><p class="wp-caption-text">Ringo (PHP)</p></div>
<div id="attachment_1842" class="wp-caption alignleft" style="width: 145px"><a href="http://noctus.net/wp-content/uploads/2011/07/Ichigo.zip"><img class="size-thumbnail wp-image-1842  " title="Ichigo" src="http://noctus.net/wp-content/uploads/2011/07/Ichigo-150x150.jpg" alt="Erdbeere" width="135" height="135" /></a><p class="wp-caption-text">Ichigo (PHP &amp; MySQL)</p></div>
<div id="attachment_1843" class="wp-caption alignleft" style="width: 145px"><a href="http://noctus.net/wp-content/uploads/2011/07/Mikan.zip"><img class="size-thumbnail wp-image-1843  " title="Mikan" src="http://noctus.net/wp-content/uploads/2011/07/Mikan-150x150.jpg" alt="Mandarine" width="135" height="135" /></a><p class="wp-caption-text">Mikan (PHP)</p></div>
<div id="attachment_1845" class="wp-caption alignleft" style="width: 145px"><a href="http://noctus.net/wp-content/uploads/2011/07/Suika.zip"><img class="size-thumbnail wp-image-1845  " title="Suika" src="http://noctus.net/wp-content/uploads/2011/07/Suika-150x150.jpg" alt="Wassermelone" width="135" height="135" /></a><p class="wp-caption-text">Suika (Python)</p></div>
<p style="clear: both;">Für die Quelle „Ringo“ genügt PHP, „Ichigo“ erfordert zusätzlich eine Datenbank für die Auflistung und das Entfernen von Ressourcen. Die Quelle „Mikan“ ist wie in der Arbeit beschrieben über eine feste Adresse im Web abrufbar und benötigt ebenso nur PHP. Für die Quelle Suika ist Python sowie das Twisted-Framework erforderlich. Das verwendete txWebSocket-Modul wird bereits mitgeliefert.</p>
<p style="clear: both;">Und ja, die Namen der Quellen entsprechen den japanischen Bezeichnungen von Früchten. <img src='http://noctus.net/wp-content/plugins/tango-smilies/tango/face-wink.png' alt=';-)' class='wp-smiley' /> </p>
<h3 style="clear: both;">Schlusswort</h3>
<p style="clear: both;">Ich wünsche viel Spaß beim Lesen der Arbeit und Ausprobieren der Prototypen. Wenn jemand dadurch etwas Neues lernt oder sich angeregt fühlt, etwas Ähnliches oder Besseres zu entwickeln, fühle ich mich in meinem Vorhaben bestätigt. Ob am Ende ein Umsetzung in HTML5, Adobe Flex oder etwas ganz anderem steht ist dabei gleich. Ich für meinen Teil bin allerdings der festen Überzeugung, dass HTML5 immer mehr an Bedeutung gewinnen wird. Es bildet schon heute die feste Grundlage all meiner Projekte und ich hoffe, dass ich noch mehr Leute dazu bewegen kann, sich damit zu befassen. <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/2011/diplomarbeit-gegenueberstellung-von-html5-und-adobe-flex/feed/rss2</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

