<?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>Twenty Square Meter &#187; Frank Gottschlich</title>
	<atom:link href="http://www.twentysqm.com/author/minzel/feed" rel="self" type="application/rss+xml" />
	<link>http://www.twentysqm.com</link>
	<description>Ihr Ansprechpartner für innovative Ideen</description>
	<lastBuildDate>Tue, 04 Oct 2011 18:35:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Facebook und ihre Folgen</title>
		<link>http://www.twentysqm.com/2010-08-26/facebook-und-ihre-folgen.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=facebook-und-ihre-folgen</link>
		<comments>http://www.twentysqm.com/2010-08-26/facebook-und-ihre-folgen.html#comments</comments>
		<pubDate>Thu, 26 Aug 2010 16:05:18 +0000</pubDate>
		<dc:creator>Frank Gottschlich</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.twentysqm.com/?p=1472</guid>
		<description><![CDATA[Es gibt sicherlich nur noch wenige Menschen auf dieser Welt die mit dem Begriff Facebook nichts mehr anfangen können. Facebook, ursprünglich für den Einsatz an einer Unversität gedacht, verbreitet sich immer weiter. Nur die wenigstens wissen aber, was mit Ihren Daten passiert. Facebook hat es sich wohl zur Aufgabe gemacht, die größte Datenschleuder im Netz [...]]]></description>
			<content:encoded><![CDATA[<p>Es gibt sicherlich nur noch wenige Menschen auf dieser Welt die mit dem Begriff Facebook nichts mehr anfangen können. Facebook, ursprünglich für den Einsatz an einer Unversität gedacht, verbreitet sich immer weiter. Nur die wenigstens wissen aber, was mit Ihren Daten passiert.</p>
<p>Facebook hat es sich wohl zur Aufgabe gemacht, die größte Datenschleuder im Netz zu werden und sammelt daher eifrig jede Information die der Benutzer auf der Plattform preis gibt. Sehr zur Freude des Betreiber, und mit großen Bedauern der jenigen, die bereits darum wissen. Facebook stellt seine Daten nicht wie jeder vernüftige Betreiber in einem, sagen wir es abgeschlossenen Bereich, zur Verfügung. Hier greift wohl auch der hinterhältige Trick, möglichst großen Anklang bei den großen Suchanbietern zu erhalten. Jede Information die bereit gestellt wird, wird auch als Querverweis in einem Suchergebnis erscheinen. Ob es sich dabei um den vollständigen Namen einer Person oder gar private Daten wie das, Alter, Telefonnummer oder gar den Beziehungsstatus einer Person handelt. Alle Informationen werden von Facebook tatkräftigt verarbeitet und verbreitet. Es gibt nur einen Schutz, den, in dem keine Informationen preis gegeben werden.</p>
<p>Ein jüngstes Ereignis, der miesen Machenschaften von Facebook, ist die Verwaltung der Benutzerdatenbank. Wer sich einmal bei Facebook angemeldet hat, hat i.d.R. keine Chance mehr seinen Account effektiv löschen zu lassen. So versuche ich selbst, seit fasst einem Monat meinen Account von der Plattform löschen zu lassen. Bisher leider ohne Erfolg. Bereits der erste Versuch war eine große Qual. So musste man sich durch endlose Hilfeseiten durchforsten die keinen Aufschluss gaben. Danach, endlich, im Impressum eine E-Mail Adresse. Nach der Aufforderung, und dem Feedback, das der Account gelöscht sei, musste ich wenig später feststellen das dieser nur gesperrt wurde. Meine Daten sind also immer noch im Bestand von Facebook. Hierauf habe ich zurück geschrieben und eine Frist für den 29.08.2010 gesetzt, das bis dahin mein Account und in diesem Zusammenhang all meine Daten gelöscht werden sollen. Zusätzlich verlangte ich eine schriftliche Bestätigung, das dies auch passiert ist. (Der Hintergrund dafür ist die erste Instanz für die rechtlichen Schritte)</p>
<p>Ich hoffe nicht das es bis zum Anwalt gehen muss. Aber anders schafft man es leider nicht seinen Account wirklich löschen zu lassen. Ich warne daher jeden, der diesen Beitrag liest, inständig zu überlegen, ob er sich bei Facebook wirklich anmelden will.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twentysqm.com/2010-08-26/facebook-und-ihre-folgen.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Google Sidebar entfernen (linker Rand)</title>
		<link>http://www.twentysqm.com/2010-05-10/google-sidebar-entfernen-linker-rand.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-sidebar-entfernen-linker-rand</link>
		<comments>http://www.twentysqm.com/2010-05-10/google-sidebar-entfernen-linker-rand.html#comments</comments>
		<pubDate>Mon, 10 May 2010 20:45:47 +0000</pubDate>
		<dc:creator>Frank Gottschlich</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.twentysqm.com/?p=1252</guid>
		<description><![CDATA[Es gibt ein nettes Tool was dabei hilft, die Sidebar (linker Rand) bei Google-Suchergebnissen zu eliminieren. Dazu wird die folgende Firefox Extension benötigt: https://addons.mozilla.org/de/firefox/addon/2108/ Danach unter Extras =&#62; Add-ons =&#62; Eigene Stile auf den Button „Neuen Stil erstellen” klicken. Im neuen Dialog einen Namen vergeben. Beispielsweise „Google-Suchseite Fix” und den folgenden Inhalt im großen Textfeld [...]]]></description>
			<content:encoded><![CDATA[<p>Es gibt ein nettes Tool was dabei hilft, die Sidebar (linker Rand) bei Google-Suchergebnissen zu eliminieren. Dazu wird die folgende Firefox Extension benötigt:</p>
<p><a href="https://addons.mozilla.org/de/firefox/addon/2108/">https://addons.mozilla.org/de/firefox/addon/2108/</a></p>
<p>Danach unter <strong>Extras =&gt; Add-ons =&gt; Eigene Stile</strong> auf den Button „<strong>Neuen Stil erstellen</strong>” klicken. Im neuen Dialog einen Namen vergeben. Beispielsweise „Google-Suchseite Fix” und den folgenden Inhalt im großen Textfeld einfügen:</p>
<pre class="brush: plain; title: ; notranslate">@namespace url(http://www.w3.org/1999/xhtml);
  @-moz-document domain(&quot;www.google.de&quot;) {
  #leftnav {
    display: none !important;
  }
  #center_col, #foot {
    margin-left: 0px !important;
  }
}
@namespace url(http://www.w3.org/1999/xhtml);
  @-moz-document domain(&quot;www.google.com&quot;) {
  #leftnav {
    display: none !important;
  }
  #center_col, #foot {
    margin-left: 0px !important;
  }
}</pre>
<p>So sollte es danach aussehen:</p>
<p><a href="http://www.twentysqm.com/wp-content/uploads/2010/05/google-navbar-entfernen-screen.png"><img src="http://www.twentysqm.com/wp-content/uploads/2010/05/google-navbar-entfernen-screen.png" alt="" title="google-navbar-entfernen-screen" width="600" height="496" class="alignnone size-full wp-image-1257" /></a></p>
<p>Mit einem Klick auf <strong>Speichern</strong> seid Ihr von der lästigen Sidebar befreit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twentysqm.com/2010-05-10/google-sidebar-entfernen-linker-rand.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Google-Layout endmündigt Anwender</title>
		<link>http://www.twentysqm.com/2010-05-07/google-layout-endmundigt-anwender.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=google-layout-endmundigt-anwender</link>
		<comments>http://www.twentysqm.com/2010-05-07/google-layout-endmundigt-anwender.html#comments</comments>
		<pubDate>Fri, 07 May 2010 16:47:59 +0000</pubDate>
		<dc:creator>Frank Gottschlich</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.twentysqm.com/?p=1248</guid>
		<description><![CDATA[Hallo zusammen, da ich für meine Arbeiten viele Recherchen in Kauf nehmen muss, bin ich ebenfalls auf eine schnelle und zuverlässige Suchmaschine angewiesen. Google bietet das. Allerdings wird mit dem neuen Google-Layout gegen Leute wie mich gearbeitet. Die neue Navigationsbar die sich anscheinend nicht mehr entfernen lässt, ist nun ein fester Bestandteil der Google-Suche. Angeblich [...]]]></description>
			<content:encoded><![CDATA[<p>Hallo zusammen,</p>
<p>da ich für meine Arbeiten viele Recherchen in Kauf nehmen muss, bin ich ebenfalls auf eine schnelle und zuverlässige Suchmaschine angewiesen. Google bietet das. Allerdings wird mit dem neuen Google-Layout gegen Leute wie mich gearbeitet. Die neue Navigationsbar die sich anscheinend nicht mehr entfernen lässt, ist nun ein fester Bestandteil der Google-Suche. Angeblich auch um im Wettberwerb weiter vorn zu bleiben (Quelle: <a href="http://www.taz.de/1/netz/netzkultur/artikel/1/neues-google-layout/">Neues Google-Layout</a>).</p>
<p>Ich als Vielnutzer bin nun durch diese „gebalte” Mehrinformation im Nachteil und darf 2 mal mehr schauen, dass ich mir nicht die Sidebar durchlese, anstatt die eigentlichen Suchergebnisse. Es wäre ja auch weiterhin nicht so schlimm, wenn sich diese Navigationsbar auch ausblenden liese. Aber dank Google wird der Anwender an dieser Stelle endmündigt. Es existiert schlicht weg keine Funktion um diese Sidebar auszublenden.</p>
<p>Die Google-Startseite vom Mozilla Firefox musste dadurch auch weichen und wurde durch die folgende ersetzt:</p>
<p><strong>http://www.google.de/webhp?hl=all</strong></p>
<p>Mit diesem Link ist das Hauptaufgenmerk zwar auf Englischsprachige Suchergebnisse gelenkt, aber dennoch für den deutschen Raum geeignet.</p>
<p>Für mich ist klar, sollte es eine einfache und vergleichbare Suchmaschine existieren werde ich mich umgehend von Google verabschieden. Leider ist man in der heutigen Zeit auf solche „Fachidoten” angewiesen und ich kann es mir auch nicht leisten, mir noch länger einen Kopf zu machen, wie ich diese Verunstaltung der Google-Suchseite entfernen kann.</p>
<p>Wiedereinmal ist der Kunde der verlierer … Danke an Google.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twentysqm.com/2010-05-07/google-layout-endmundigt-anwender.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Weiß Tomcat wieviel RAM Sie besitzen?</title>
		<link>http://www.twentysqm.com/2010-01-15/weiss-tomcat-wieviel-ram-sie-besitzen.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=weiss-tomcat-wieviel-ram-sie-besitzen</link>
		<comments>http://www.twentysqm.com/2010-01-15/weiss-tomcat-wieviel-ram-sie-besitzen.html#comments</comments>
		<pubDate>Fri, 15 Jan 2010 16:52:35 +0000</pubDate>
		<dc:creator>Frank Gottschlich</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://www.twentysqm.com/?p=1060</guid>
		<description><![CDATA[Ein Performanceproblem kann auftreten wenn Tomcat1 nicht weiß wieviel Arbeitsspeicher Ihr Server wirklich bereit hält. Hierzu wird man sich immer voll und ganz auf Ihre Konfigurationen verlassen und dementsprechend handeln. Wenn diese nicht gewissenhaft durchgeführt wurde, kann es unter anderem vorkommen, dass der Aufbau von sogenannten JavaServer Pages enorm verlangsamt wird. Dies ist nicht immer [...]]]></description>
			<content:encoded><![CDATA[<p>Ein Performanceproblem kann auftreten wenn Tomcat<sup><a href="http://www.twentysqm.com/2010-01-15/weiss-tomcat-wieviel-ram-sie-besitzen.html#footnote_0_1060" id="identifier_0_1060" class="footnote-link footnote-identifier-link" title=" http://tomcat.apache.org/ ">1</a></sup> nicht weiß wieviel Arbeitsspeicher Ihr Server wirklich bereit hält. Hierzu wird man sich immer voll und ganz auf Ihre Konfigurationen verlassen und dementsprechend handeln. Wenn diese nicht gewissenhaft durchgeführt wurde, kann es unter anderem vorkommen, dass der Aufbau von sogenannten JavaServer Pages enorm verlangsamt wird. Dies ist nicht immer auf den Tomcat selbst oder einer ineffizienten programmiertechnischen Entwicklung zurück zu führen.</p>
<p><strong>Hinweis:<br />
Die hier beschriebene Speicherverwaltung lässt sich erst ab der Tomcat Version 5.5.15 realisieren und konzentriert sich auf die Linux-Architektur!</strong></p>
<p><span style="color: #000080;"><strong><span id="more-1060"></span></strong></span>Auch wenn Tomcat einige gewisse Schwierigkeiten mit dem Umgang von großen JavaServer Pages mit sich bringt, so hilft der Kniff des Mitteilens, wieviel Arbeitsspeicher Ihr Server besitzt. Solche Angaben werden mit Hilfe der Variable <em>CATALINA_OPT</em> realisiert, die sich optional mit starten von Tomcat einbinden lässt. Dazu ist im Vorfeld eine Datei anzupassen. Sollte diese noch nicht vorhanden sein, erstellen Sie diese bitte:</p>
<pre class="brush: plain; title: ; notranslate">$CATALINA_HOME/bin/setenv.sh</pre>
<p>Neben anderen optionalen Parametern, auf die in diesem Beitrag aber kein Bezug genommen wird, soll es im folgendem um das Setzen der Variable für die Verwaltung des Arbeitsspeichers gehen. Der Inhalt dieser Datei, wird unter Linux wie folgt befüllt:</p>
<pre class="brush: plain; title: ; notranslate">export CATALINA_OPTS=&quot;$CATALINA_OPTS -Dorg.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER=true -Xms256m -Xmx2048m -XX:MaxPermSize=512m</pre>
<p>Zunächst dient die Angabe von <em>org.apache.jasper.runtime.BodyContentImpl.LIMIT_BUFFER</em> für die Möglichkeit der Verwaltung des Arbeitsspeicher. Diese ist hierzu auf <em>true</em> zu setzen und steht erst ab der Tomcat-Version 5.5.15 zur Verfügung. Die nachfolgenden Attribute sind wie folgt zu verstehen:</p>
<p><strong>-Xms256m</strong> (<em>Mininum des Java</em> Heap)<br />
<strong>-Xmx2048m</strong> (Maximum des Java Heap)<br />
<strong>-XX:MaxPermSize=512m </strong>(Permanent Generations Größe)</p>
<p>Die <em>Angabe von -Xmx2048m</em> verrät die Größe des RAMs. Stellen Sie diesen unter Linux <strong>zwingend</strong> auf den maximal zulässigen Arbeitsspeicher. Warum?, dies ist auf die Linux-Architektur zurück zu führen, welche den Arbeitsspeicher permanent und vollständig im Gebrauch hält. Sollte Tomcat nun nicht wissen, wieviel Arbeitsspeicher insgesamt zur Verfügung steht, wird er diesen auch nicht „beantragen”. Ist der Arbeitsspeicher zu diesem Zeitpunkt aber voll, so kann es zu merklichen Performance-Verlusten führen, da Tomcat selbst keinen freien Speicher findet. Linux bedient sich in diesem Fall des Auslagerns (SWAP). Wenn Tomcat weiß wieviel Arbeitsspeicher Sie wirklich besitzen, so wird bei Bedarf versucht, diesen auch zu allokieren. Der Linux-Kernel weiß nun das er viel zu viel Arbeitsspeicher hält und wird alte Daten Auslagern und Tomcat den RAM zusichern der gebraucht wird.</p>
<p>Mit einem Start oder Neustart von Tomcat wird die so eben angelegte, beziehungsweise angepasste Datei aufgerufen und Tomcat mit den entsprechenden Einstellungen gesetzt.</p>
<ol class="footnotes"><li id="footnote_0_1060" class="footnote"> <a href="http://tomcat.apache.org/">http://tomcat.apache.org/</a> </li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.twentysqm.com/2010-01-15/weiss-tomcat-wieviel-ram-sie-besitzen.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Webservices (WSDL) mit PHP</title>
		<link>http://www.twentysqm.com/2010-01-07/webservices-wsdl-mit-php.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=webservices-wsdl-mit-php</link>
		<comments>http://www.twentysqm.com/2010-01-07/webservices-wsdl-mit-php.html#comments</comments>
		<pubDate>Thu, 07 Jan 2010 22:37:30 +0000</pubDate>
		<dc:creator>Frank Gottschlich</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[soap]]></category>
		<category><![CDATA[webservice]]></category>
		<category><![CDATA[wsdl]]></category>

		<guid isPermaLink="false">http://www.twentysqm.com/?p=1015</guid>
		<description><![CDATA[Beim Thema Webservices mit PHP scheiden sich wohl die Geister. Nach dem ich aus aktuellem Anlass einige Bibliotheken getestet habe, bin ich zu sehr unterschiedlichen Erkenntnissen gelangt. Während einige Bibliotheken einen sehr schönen Ansatz haben und dem Gedanken der einfachen Handhabung nachkommen, funktionieren lediglich andere Bibliotheken die nicht unbedingt Benutzerfreundlich aber dafür fehlerfrei agieren können. [...]]]></description>
			<content:encoded><![CDATA[<p>Beim Thema Webservices mit PHP scheiden sich wohl die Geister. Nach dem ich aus aktuellem Anlass einige Bibliotheken getestet habe, bin ich zu sehr unterschiedlichen Erkenntnissen gelangt. Während einige Bibliotheken einen sehr schönen Ansatz haben und dem Gedanken der einfachen Handhabung nachkommen, funktionieren lediglich andere Bibliotheken die nicht unbedingt Benutzerfreundlich aber dafür fehlerfrei agieren können.</p>
<p>Folgende Bibliotheken wurden getestet:</p>
<ul>
<li>PHP2WSDL<sup><a href="http://www.twentysqm.com/2010-01-07/webservices-wsdl-mit-php.html#footnote_0_1015" id="identifier_0_1015" class="footnote-link footnote-identifier-link" title=" http://sourceforge.net/projects/php2wsdl ">1</a></sup></li>
<li>WSDLDocument<sup><a href="http://www.twentysqm.com/2010-01-07/webservices-wsdl-mit-php.html#footnote_1_1015" id="identifier_1_1015" class="footnote-link footnote-identifier-link" title=" http://code.google.com/p/wsdldocument ">2</a></sup></li>
<li>NuSoap<sup><a href="http://www.twentysqm.com/2010-01-07/webservices-wsdl-mit-php.html#footnote_2_1015" id="identifier_2_1015" class="footnote-link footnote-identifier-link" title=" PHP -5: http://sourceforge.net/projects/nusoap
PHP +5: http://code.google.com/p/nusoap-for-php5 ">3</a></sup></li>
</ul>
<p>Positiv hervorzuheben ist, dass jede Bibliothek unter der <a href="http://de.wikipedia.org/wiki/GNU_Lesser_General_Public_License">GNU Lesser General Public License</a> veröffentlicht wurde und somit frei für die eigene und kommerzielle Verwendung zur Verfügung steht.</p>
<p>Ausgangsbasis für alle getesteten Bibliotheken sind die folgenden 3 Klassen. Erstere ist die sogenannte Funktionsklasse. Sie beinhaltet die Klasse und Methoden die als Service zur Verfügung gestellt werden sollen. Als Beispiel wurde eine Klasse aufbereitet, welche die Grundrechenarten zur Verfügung stellt. Als Übergabeparameter werden jeweils zwei Zahlen vom Datentyp <em>float</em> verlangt. Der Rückgabewert ist in diesem Beispiel ebenfalls eine Zahl vom Typ <em>float</em>.</p>
<p><em>Mathematics.class.php</em></p>
<pre class="brush: php; title: ; notranslate">/**
 * Service class documentation.
 */
class Mathematics {

    /**
     * Addition of two numbers.
     *
     * @param float x
     * @param float y
     * @return float
     */
    public function add($x, $y) {
    	return $x + $y;
    }

    /**
     * Subtraction of two numbers.
     *
     * @param float x
     * @param float y
     * @return float
     */
    public function minus($x, $y) {
    	return $x - $y;
    }

    /**
     * Multiply of two numbers.
     *
     * @param float x
     * @param float y
     * @return float
     */
    public function multiply($x, $y) {
    	return $x * $y;
    }

    /**
     * Divide of two numbers.
     *
     * @param float x
     * @param float y
     * @return float
     */
    public function divide($x, $y) {
    	return $x / $y;
    }
}</pre>
<p>Bei der zweiten Klasse handelt es sich um die SoapClient.php. Diese wird als Test-Klasse gesehen und prüft die zu Verfügung stehenden Methoden. Diese muss bei der Verwendung von unterschiedlichen Bibliotheken auch entsprechend abgeändert werden. Aber im großen und ganzen ändert sich nur die URL zur Serverklasse. Ebenfalls kann es nötig sein diverse Bibliotheken vorher einzubinden.</p>
<p><em>ServerSoap.php</em></p>
<pre class="brush: php; title: ; notranslate">&lt;?php

ini_set('soap.wsdl_cache_enabled', &quot;0&quot;);

try {
	// create the client instance
	$client = new SoapClient('http://localhost/SoapServer.php');

	$baseMetrics = array(
		'add' =&gt; '+',
		'minus' =&gt; '-',
		'multiply' =&gt; '*',
		'divide' =&gt; '/'
	);
	$format = '%.2f %s %.2f = %.2f &lt;br /&gt;';

	foreach($baseMetrics as $key =&gt; $value) {
		// call the SOAP method
		$x = random(); $y = random();
		$result = $client-&gt;__soapCall($key, array('x' =&gt; $x, 'y' =&gt; $y));
		printf($format, $x, $value, $y, $result);
	}

} catch (SoapFault $fault) {
	echo '&lt;h2&gt;Fault&lt;/h2&gt;&lt;pre&gt;';
	print_r($fault);
	echo '&lt;/pre&gt;';
}

// seed with microseconds
function random() {
   list($usec, $sec) = explode(' ', microtime());
   mt_srand((float) $sec + ( (float) $usec * 100000));
   return mt_rand(1,9) / pi();
}

/*
echo 'Request: &lt;xmp&gt;'.$client-&gt;request.'&lt;/xmp&gt;';
echo 'Response: &lt;xmp&gt;'.$client-&gt;response.'&lt;/xmp&gt;';
echo 'Debug log: &lt;pre&gt;'.$client-&gt;debug_str.'&lt;/pre&gt;';
*/
?&gt;</pre>
<p>Die ServerSoap-Klasse soll an dieser Stelle nur grob erklärt werden. Beginnend mit einem <em>ini_set</em> wird die Cache-Funktion von Soap außer Kraft gesetzt. Zu Testzwecken ist dies zwingend erforderlich. Im Produktiveinsatz muss diese dann nicht mehr initiiert werden. Innerhalb einer try-catch Anweisung wird der eigentliche Prozess abgearbeitet. Hierfür wird ein SoapClient initialisiert, welche als erstes Argument die URL vom SoapServer trägt. Ab dem zweiten Argument wird ein Array mit Optionen erwartet, auf die an dieser Stelle aber nicht weiter eingegangen wird. In einem ersten Array werden alle Funktionsnamen festgehalten die getestet werden sollen. Dabei handelt es sich um die Grundrechenarten aus der <em>Mathematics.class.php</em>. Diese werden nach einander abgearbeitet. Mit dem client-Objekt wird ein sogenannter <em>__soapCall</em> gestartet. Das erste Argument trägt den Namen der Methode. Das zweite Argument trägt ein Array mit den jeweiligen Übergabeparametern die verarbeitet werden sollen. Abschließend ist nur noch zu sagen das die Zahlen, zum testen der Methoden, zufällig generiert werden. Hierfür wurde eine eigene random-Methode implementiert. Für fanatische Debugger wurde ganz zum Schluss dieser Klasse einige Ausgaben getätigt. Hier nun auskommentiert, da diese nicht mit jeder Bibliothek kompatibel sind.</p>
<p>Allgemein wird für jede Grundrechenart ein Request gestartet. Und in Form einer Gleichung auf dem Bildschirm ausgegeben. Die Rückgabe stellt das Ergebnis der jeweiligen Gleichung dar. Wie es nun mit den jeweiligen SoapServern aussieht, wird mit den folgenden, getesteten Bibliotheken erklärt.</p>
<p><strong>PHP2WSDL</strong></p>
<p>Dieses doch recht junge Projekt wurde vom Rumänen <a href="http://www.protung.ro/">Dragos Protung</a> veröffentlicht. Eine recht schlanke Bibliothek mit gerade mal 3 Bibliotheksklassen, ermöglicht es dem Anwender, aus einer bestehenden und dokumentierten PHP-Klasse ein WSDL-Dokument zu generieren. Der dahinter stehende Gedanke bezieht sich auf die Arbeitserleichterung, der zu registrierenden Klassen und Methoden. Bei der Verwendung dieser Bibliothek entfallen diese Schritte. Der Anwender hat lediglich eine wohl dokumentiere PHP-Klasse vorzulegen und muss sich um nichts anderes mehr kümmern.</p>
<p>So schön dies auch klingen mag, birgt diese Bibliothek, in der Version 1.0, eine schier von Formfehlern. So muss bereits bei der ersten Verwendung kleinere Anpassung an den Sourcen vorgenommen werden. Auch die automatische Generierung von Variablen läuft nicht fehlerfrei ab. So werden zum Beispiel an den bereits verwendeten Variablen, einer Methode in einer Klasse, fortlaufende Zahlen angehängt. Das ist natürlich unvorteilhaft, wenn das Script selbst die Dokumentationsvariablen und die Übergabeparameter der Methode vergleicht und dementsprechende Datentypen zuweist. Diese werden beim Anhängen von fortlaufenden Zahlen nicht mehr richtig erkannt und erhalten einen unbekannten Datentyp im WSDL-Dokument.</p>
<p>Zum aktuellen Zeitpunkt (Januar 2010) ist im hauseigenen Supportforum nachzulesen das der Entwickler an der nächsten Version (2.0) arbeitet, die solche Fehler einerseits beseitigen soll und neue Features und Unterstützungen für die Dokumentation und Datentypen von PHP bereit halten soll. Es bleibt abzuwarten ob hieraus noch was werden wird, da diese Meldung bereits mehrere Monate alt ist.</p>
<p>So, oder so ähnlich kann diesbezüglich die SoapServer-Klasse aussehen. Eine vernüftige Dokumentation habe ich leider nicht gefunden. Daher habe ich auskommentierte Funktionsaufrufe im folgendem Beispiel belassen. Die Pfade sind dementsprechend abzuändern.</p>
<p><em>SoapServer.php</em></p>
<pre class="brush: php; title: ; notranslate">&lt;?php

ini_set('soap.wsdl_cache_enabled', &quot;0&quot;);

require_once(&quot;../WSDLCreator.php&quot;);
//header(&quot;Content-Type: application/xml&quot;);

$test = new WSDLCreator(&quot;Mathematics&quot;, &quot;http://localhost/php2wsdl/SoapServer.php&quot;);
//$test-&gt;includeMethodsDocumentation(false);

$test-&gt;addFile(Mathematics.class.php&quot;);
$test-&gt;setClassesGeneralURL(&quot;http://localhost/php2wsdl/example&quot;);

$test-&gt;addURLToClass(&quot;Mathematics&quot;, &quot;http://localhost/php2wsdl/Mathematics.class.php&quot;);
$test-&gt;addURLToTypens(&quot;XMLCreator&quot;, &quot;http://localhost/php2wsdl&quot;);

$test-&gt;createWSDL();

$test-&gt;printWSDL(true); // print with headers
//print $test-&gt;getWSDL();
//$test-&gt;downloadWSDL();
//$test-&gt;saveWSDL(dirname(__FILE__).&quot;/test.wsdl&quot;, false);
?&gt;</pre>
<p>Ein unbestreitbarer Vorteil ist die einfache Integrierung von mehreren Dateien und Klassen. Es muss lediglich mittelst <em>addFile</em> eine neue Funktionsbibliothek hinzugefügt werden. Der Rest wird vom Script selbst erledigt. Aus den bereits genannten Nachteilen kommt beschwerend hinzu das ich mittelst dieser Bibliothek noch nie ein Response erhalten habe. Dieser war bisher immer NULL.</p>
<p><strong>WSDLDocument</strong></p>
<p>Bei dieser Bibliothek handelt es sich lediglich um eine Bibliothek die ein WSDL-Dokument generiert. Es verfolgt den gleichen Gedanken wie die PHP2WSDL-Bibliothek. Nur mit dem gravierenden Unterschied das diese fehlerfrei funktioniert. Datentypen werden aus der Dokumentation richtig erkannt und in einem WSDL-Dokument aufbereitet. Wie auch beim Vorgänger sind hier ebenfalls Komplexe Datentypen möglich. Dazu gehören unter anderem verschachtelte Arrays. Die Einbindung des Scripts, habe ich einfachshalber gleich in der Funktionsklasse Mathematics erledigt. Dazu ist folgender Quellcode in der Klasse Mathematics.class.php unterzubringen. Beim Aufruf erhält man dann das WSDL-Dokument.</p>
<pre class="brush: php; title: ; notranslate">header (&quot;content-type: text/xml&quot;);
require_once('WSDLDocument.php');
$wsdl = new WSDLDocument('Mathematics','urn:Mathematics');
echo $wsdl-&gt;saveXML();</pre>
<p>Dennoch sei gesagt, das dieses Dokument nach einer alten Spezifikation arbeitet. Eine entsprechende Anpassung ist aber relativ zügig realisiert. Was leider nicht funktioniert ist die Ansteuerung des Service selbst. Es wird hierbei wirklich nur ein XML-Dokument ausgegeben.</p>
<p><strong>NuSoap</strong></p>
<p>Nicht Perfekt, aber eine der am erfolgreichsten getesteten Bibliotheken, ist NuSoap. Diese kommt mit einer relativen großen Anzahl an Klassen daher und realisiert das generieren von WSDL-Dokumenten. Leider wird hier nicht der Gedanke des Parsens von PHP-Klassen verfolgt. Wie es von PHP-Soap bereits bekannt ist, müssen Methoden registriert und zusätzlich in der ServerSoap geschrieben werden. Da man dies eigentlich nur einmal macht, kann man diesen Mehraufwand allerdings vernachlässigen. Eine <em>Mathematics.class.php</em> wird hierbei nicht benötigt.</p>
<p><em>SoapServer.php</em></p>
<pre class="brush: php; title: ; notranslate">&lt;?php
// Pull in the NuSOAP code
require_once('lib/nusoap.php');
// Create the server instance
$server = new soap_server();
// Initialize WSDL support
$server-&gt;configureWSDL('Mathematics', 'urn:Mathematics');
// Register the method to expose
$server-&gt;register('add',
	array('x' =&gt; 'xsd:float', 'y' =&gt; 'xsd:float'),
	array('return' =&gt; 'xsd:float'),
	'urn:Mathematics',
	'urn:Mathematics#add',
	'rpc', 'encoded', 'Addition of two numbers.');
$server-&gt;register('minus',
	array('x' =&gt; 'xsd:float', 'y' =&gt; 'xsd:float'),
	array('return' =&gt; 'xsd:float'),
	'urn:Mathematics',
	'urn:Mathematics#minus',
	'rpc', 'encoded', 'Subtraction of two numbers.');
$server-&gt;register('multiply',
	array('x' =&gt; 'xsd:float', 'y' =&gt; 'xsd:float'),
	array('return' =&gt; 'xsd:float'),
	'urn:Mathematics',
	'urn:Mathematics#multiply',
	'rpc', 'encoded', 'Multiply of two numbers.');
$server-&gt;register('divide',
	array('x' =&gt; 'xsd:float', 'y' =&gt; 'xsd:float'),
	array('return' =&gt; 'xsd:float'),
	'urn:Mathematics',
	'urn:Mathematics#divide',
	'rpc', 'encoded', 'Divide of two numbers.');
// Define the method as a PHP function
function add($x, $y) { return ($x + $y); }
function minus($x, $y) { return ($x - $y); }
function multiply($x, $y) { return ($x * $y); }
function divide($x, $y) { return ($x / $y); }
// Use the request to (try to) invoke the service
$HTTP_RAW_POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : '';
$server-&gt;service($HTTP_RAW_POST_DATA);
?&gt;</pre>
<p>Wie man sieht, ist die Server-Klasse etwas größer geraten, als die bisherigen Methoden. Das WSDL-Dokument, wird ohne Frage richtig generiert. Ein Abzug in der B-Note gibt es für die doppelte Definierung der Methoden. Einmal für die Registrierung für den SoapServer und die eigentliche Bereitstellung. Ebenfalls zu beachten ist die Einbindung der <em>nusoap.php</em>-Bibliothek die hierbei in einem Unterordner namens <em>lib</em> liegt.</p>
<p><a href="http://www.twentysqm.com/wp-content/uploads/2010/01/NuSOAP-Mathematics-doc.png"><img src="http://www.twentysqm.com/wp-content/uploads/2010/01/NuSOAP-Mathematics-doc-300x188.png" alt="" title="NuSOAP-Mathematics-doc" width="300" height="188" class="alignnone size-medium wp-image-1050" /></a></p>
<p>Ein großer Pluspunkt ist die Aufbereitung einer „Startseite” des SoapServers. Grafisch, mittelst CSS, werden alle Funktionen und dessen registrierte Dokumentation angezeigt. Ein wirklich tolles Feature, was vielleicht die generelle Dokumntation abnehmen kann. Das eigentliche WSDL-Dokument lässt sich mit dem Paramater „?wsdl” erreichen und muss auch die URL beim SoapClient sein.</p>
<p>Diese Bibliothek wurde als erste vollständig und fehlerfrei getestet und ist somit auch für den allgemeinen Einsatz zu empfehlen. Schade nur das es keine Generierung aus der PHP-Dokumentation ermöglicht. Aber was nicht ist kann ja noch werden.</p>
<p><strong>Fazit</strong></p>
<p>NuSoap hat sich herausragend geschlagen. Mit einem kleinen Mehraufwand, Methoden zu registrieren und zusätzlich zu beschreiben, erledigt es die Aufgabe der Generierung des WSDL-Dokuments und die Abfrage der Services sehr gewissenhaft und konnte keine Fehler in der Verarbeitung vorweisen. Für Beginner eigenen sich dennoch Bibliotheken wie PHP2WSDL und WSDLDocument. Um ein Gefühl für die Materie zu erhalten sollte man sich auch vorher mit dem eigentlichen Aufbau von WSDL-Dokumenten beschäftigt haben.</p>
<ol class="footnotes"><li id="footnote_0_1015" class="footnote"> <a href="http://sourceforge.net/projects/php2wsdl/">http://sourceforge.net/projects/php2wsdl</a> </li><li id="footnote_1_1015" class="footnote"> <a href="http://code.google.com/p/wsdldocument">http://code.google.com/p/wsdldocument</a> </li><li id="footnote_2_1015" class="footnote"> PHP -5: <a href="http://sourceforge.net/projects/nusoap">http://sourceforge.net/projects/nusoap</a><br />
PHP +5: <a href="http://code.google.com/p/nusoap-for-php5">http://code.google.com/p/nusoap-for-php5</a> </li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.twentysqm.com/2010-01-07/webservices-wsdl-mit-php.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Nero 9 Lite - Versagt auf ganzer Linie</title>
		<link>http://www.twentysqm.com/2009-11-14/nero-9-lite-versagt-auf-ganzer-linie.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=nero-9-lite-versagt-auf-ganzer-linie</link>
		<comments>http://www.twentysqm.com/2009-11-14/nero-9-lite-versagt-auf-ganzer-linie.html#comments</comments>
		<pubDate>Sat, 14 Nov 2009 22:14:27 +0000</pubDate>
		<dc:creator>Frank Gottschlich</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[nero]]></category>

		<guid isPermaLink="false">http://www.twentysqm.com/?p=956</guid>
		<description><![CDATA[Nach dem ich heute auf die neue Nero 9 Lite Variante aufmerksam gemacht wurde, habe ich diese selbstverstädnlich gleich angetestet. Vorweg ist zu sagen, das die Software ein Programmstart und ca. 3 Minuten auf meinem Rechner überlebt hat, danach folgte die Deinstallation. Alles fing mit der Registrierung für Nero 9 Lite1 an. Schlimm genug das [...]]]></description>
			<content:encoded><![CDATA[<p>Nach dem ich heute auf die neue Nero 9 Lite Variante aufmerksam gemacht wurde, habe ich diese selbstverstädnlich gleich angetestet. Vorweg ist zu sagen, das die Software ein Programmstart und ca. 3 Minuten auf meinem Rechner überlebt hat, danach folgte die Deinstallation.</p>
<p>Alles fing mit der Registrierung für Nero 9 Lite<sup><a href="http://www.twentysqm.com/2009-11-14/nero-9-lite-versagt-auf-ganzer-linie.html#footnote_0_956" id="identifier_0_956" class="footnote-link footnote-identifier-link" title=" http://www.nero.com/deu/downloads-nero9-free.php ">1</a></sup> an. Schlimm genug das für kommende Spams auf diese Art E-Mail Adressen gesammelt werden. Für solche zwecke empfehle ich die Internetseite Trash-Mail<sup><a href="http://www.twentysqm.com/2009-11-14/nero-9-lite-versagt-auf-ganzer-linie.html#footnote_1_956" id="identifier_1_956" class="footnote-link footnote-identifier-link" title=" http://www.trash-mail.com/ ">2</a></sup>. Damit könnt Ihr euch eine sogenannte wegwerf - E-Mail-Adresse holen und müßt euch keine Gedanken um Spam von oder durch Nero machen. Nach Eingabe einer E-Mail Adresse könnt Ihr den Download-Button anklicken. (Es muss sich hierbei nicht zwangsläufig um eine bestehende E-Mail Adresse handeln. Wunschnamen werden auch akzeptiert, z.b. a@b.com.)</p>
<p>Die Installation von Nero 9 Lite wirkt genauso schwerfällig wie die völlig überladene Nero 9 Vollversion. Zumindest verlief diese etwas zügiger. Während der Installation besteht die Möglichkeit eine andere Sprache auszuwählen. Die übliche Serial wird hierbei automatisch eingetragen. Nach der üblichen Lizenzbestimmung erhält man über die benutzerdefinierte Installation einen Eindruck was alles Installiert werden soll. Hierbei beschränkt sich die Lite-Version auf „Nero StartSmart”. Eine weitere und unerfreuliche Sache sind zusätzliche, und das vermute ich jetzt einmal, Bibliotheken zur allgemeinen Verwendung von Nero, die Installiert werden müssen. Dazu gehört unteranderem das „Microsoft XML 4.0 SP2” und „Microsoft CRT 2005 KB973544”.</p>
<p style="text-align: center;"><a href="http://www.twentysqm.com/wp-content/uploads/2009/11/nero-9-lite-registrieren2.png"><img class="aligncenter size-medium wp-image-975" title="nero-9-lite-registrieren" src="http://www.twentysqm.com/wp-content/uploads/2009/11/nero-9-lite-registrieren2-300x172.png" alt="nero-9-lite-registrieren" width="300" height="172" /></a></p>
<p>Nach der Installation und dem Start von Nero StartSmart, wird der Anwender gezwungen sich zu registrieren. Gezwungen deshalb, da lediglich der Button „Erneut erinnern” exestiert und somit mit einer erneuten Nachfragen zu rechnen ist. Nach dem dieser nun betätigt wurde, bekommt man die eigentliche Programmoberfläche präsentiert und prompt den Hinweis an den Kopf geworfen, das man sich doch bitte die Vollversion kaufen soll. So etwas unhöfliches habe ich seit Jahren nicht mehr erlebt.</p>
<p style="text-align: center;"><a href="http://www.twentysqm.com/wp-content/uploads/2009/11/nero-9-lite-vollversion-meldung.png"><img class="aligncenter size-medium wp-image-969" title="nero-9-lite-vollversion-meldung" src="http://www.twentysqm.com/wp-content/uploads/2009/11/nero-9-lite-vollversion-meldung-300x175.png" alt="nero-9-lite-vollversion-meldung" width="300" height="175" /></a></p>
<p>Ab hier an habe ich mich dann so langsam gefragt, wieso ich diese Software wieder ernsthaft in betracht gezogen habe, nach dem ich vor etlichen Jahren durch solche Hinweise und etlichen Schnick-Schnack, mit dem nicht einmal ein Otto-Normal-Verbraucher etwas anfangen kann, abgewendet habe. Wie es der Zufall so will, war mein erster Klick auf der Startoberfläche, ein Klick ins Schwarze. Bilder erzählen dabei mehr als tausend Worte:</p>
<p style="text-align: center;"><a href="http://www.twentysqm.com/wp-content/uploads/2009/11/nero-9-lite-upgrade-meldung.png"><img class="aligncenter size-medium wp-image-968" title="nero-9-lite-upgrade-meldung" src="http://www.twentysqm.com/wp-content/uploads/2009/11/nero-9-lite-upgrade-meldung-300x213.png" alt="nero-9-lite-upgrade-meldung" width="300" height="213" /></a></p>
<p>Was nun kam, wird wohl jedem klar sein. Die Deinstallation folgte auf dem Fusse. Während diesem Prozess, kam es (bei vier getesteten!) immer zu einem nicht ganz nachvollziehbaren Fehler: „IPC logging process” und das dieser Dienst für die Deinstallation geschlossen werden muss. Ein Klick auf „Wiederholen” ergab keine weiteren Nachfragen und die Meldung das die Deinstallation erfolgreich abgeschlossen sei. Ein Blick hinter die Kulissen ergab allerdings das Verweise von und durch Nero nicht richtig entfernt wurden. Auch der Dateilink zu *.nrg wurde nicht richtig entfernt. Bei der Bereinigung half TuneUp Utilities 2010<sup><a href="http://www.twentysqm.com/2009-11-14/nero-9-lite-versagt-auf-ganzer-linie.html#footnote_2_956" id="identifier_2_956" class="footnote-link footnote-identifier-link" title=" http://www.tuneup.de/products/tuneup-utilities/ ">3</a></sup> und erledigte das, was Nero Lite nicht schaffte, den Müll richtig zu entfernen.</p>
<p><strong>Fazit</strong></p>
<p>Für alle die, die nach einem einfachen Brennprogramm suchen, kann ich an dieser Stelle leider nicht weiterhelfen. Es würde sonst auch den Rahmen des Beitrags sprengen. Gesagt soll nur sein das Nero seit der Version 6 stetig Berg ab steuert. Die Vollversion wirkt sich in der Installation teils noch schwerfälliger aus. Nero ab der Version 7 sind nicht nur überladen, sondern mit zahlreichen Anwendungen gespickt, die sich allesamt in das System fressen und sich teils nur noch mit rabiaten Mitteln entfernen lassen. Mein von damals geliebtes Nero Burning Rom erhält man nur noch für einen stolzen Preis von ca. 44 € und erhält dazu, und Entschuldigung für den Audruck, ein haufen Mist den wirklich keiner braucht. Das Nero Burning Rom ist auch nicht in der Nero 9 Lite vertreten. Meine Empfehlung ist daher, sich an Freeware Brennprogrammen zu orientieren oder auf andere kommerzielle Projekte, in diesem Bereich, zu setzen. Schlicht weg ist Nero 9 Lite nur ein Knochen der den Anwender dazu veranlassen soll, das Produkt zu kaufen.</p>
<ol class="footnotes"><li id="footnote_0_956" class="footnote"> <a href="http://www.nero.com/deu/downloads-nero9-free.php">http://www.nero.com/deu/downloads-nero9-free.php</a> </li><li id="footnote_1_956" class="footnote"> <a href="http://www.trash-mail.com/">http://www.trash-mail.com/</a> </li><li id="footnote_2_956" class="footnote"> <a href="http://www.tuneup.de/products/tuneup-utilities/">http://www.tuneup.de/products/tuneup-utilities/</a> </li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.twentysqm.com/2009-11-14/nero-9-lite-versagt-auf-ganzer-linie.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Windows 7 Benutzer automatisch anmelden</title>
		<link>http://www.twentysqm.com/2009-11-04/windows-7-benutzer-automatisch-anmelden.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=windows-7-benutzer-automatisch-anmelden</link>
		<comments>http://www.twentysqm.com/2009-11-04/windows-7-benutzer-automatisch-anmelden.html#comments</comments>
		<pubDate>Wed, 04 Nov 2009 13:28:23 +0000</pubDate>
		<dc:creator>Frank Gottschlich</dc:creator>
				<category><![CDATA[Anleitung]]></category>
		<category><![CDATA[Windows 7]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.twentysqm.com/?p=949</guid>
		<description><![CDATA[Leider wird im Internet nicht mehr auf inhaltliche Richtigkeit gelegt. So wird an vielen Stellen der Weg zur automatischen Anmeldung unter Windows 7, der gleiche wie unter Windows Vista beschrieben. Das ist selbstverständlich falsch. Folgender Befehl muss dennoch als Eingabeaufforderung eingegeben werden: netplwiz Mit der Bestätigung durch die ENTER-Taste öffnet sich der Dialog „Benutzerkonten”: Hier [...]]]></description>
			<content:encoded><![CDATA[<p>Leider wird im Internet nicht mehr auf inhaltliche Richtigkeit gelegt. So wird an vielen Stellen der Weg zur automatischen Anmeldung unter Windows 7, der gleiche wie unter Windows Vista beschrieben. Das ist selbstverständlich falsch. Folgender Befehl muss dennoch als Eingabeaufforderung eingegeben werden:</p>
<p><code>netplwiz</code></p>
<p><img src="http://www.twentysqm.com/wp-content/uploads/2009/11/netplwiz.png" alt="netplwiz" title="netplwiz" width="411" height="476" class="aligncenter size-full wp-image-950" /></p>
<p>Mit der Bestätigung durch die ENTER-Taste öffnet sich der Dialog „Benutzerkonten”:</p>
<p><img src="http://www.twentysqm.com/wp-content/uploads/2009/11/benutzerkonten.png" alt="benutzerkonten" title="benutzerkonten" width="476" height="515" class="aligncenter size-full wp-image-951" /></p>
<p>Hier nun wie aus Windows Vista bekannt, das Häckchen deaktivieren bei ”Benutzer müssen Benutzername und Kennwort eingeben”, den jeweiligen automatisch anzumeldenen Benutzernamen anklicken und mit einem Klick auf OK bestätigen. Danach erscheint der Dialog, zur Aufforderung der Eingabe des Benutzerpassworts:</p>
<p><img src="http://www.twentysqm.com/wp-content/uploads/2009/11/automatische-anmeldung.png" alt="automatische-anmeldung" title="automatische-anmeldung" width="464" height="256" class="aligncenter size-full wp-image-952" /></p>
<p>Wenn dies erledigt ist und mit OK bestätigt wurde, schließen sich beide Fenster und mit Hilfe eines Neustarts kann die Umsetzung auch gleich getestet werden.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twentysqm.com/2009-11-04/windows-7-benutzer-automatisch-anmelden.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Standard Java Runtime unter Ubuntu</title>
		<link>http://www.twentysqm.com/2009-10-29/standard-java-runtime-unter-ubuntu.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=standard-java-runtime-unter-ubuntu</link>
		<comments>http://www.twentysqm.com/2009-10-29/standard-java-runtime-unter-ubuntu.html#comments</comments>
		<pubDate>Thu, 29 Oct 2009 20:19:22 +0000</pubDate>
		<dc:creator>Frank Gottschlich</dc:creator>
				<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.twentysqm.com/?p=934</guid>
		<description><![CDATA[Eine Sache die mich unter Ubuntu immer wieder gestört hat, war die Standard-genutzte JRE/JDK von Java. Nun mehr bin ich über einen Befehl gestolpert, der genau für diese Konfigration gedacht ist. update-alternatives --config java Verständlicherweise ist dies nur möglich wenn mehr als eine Java-Runtime installiert ist. Dies ist oft der Fall. Besonders bei der Server [...]]]></description>
			<content:encoded><![CDATA[<p>Eine Sache die mich unter Ubuntu immer wieder gestört hat, war die Standard-genutzte JRE/JDK von Java. Nun mehr bin ich über einen Befehl gestolpert, der genau für diese Konfigration gedacht ist.</p>
<p><code>update-alternatives --config java</code></p>
<p>Verständlicherweise ist dies nur möglich wenn mehr als eine Java-Runtime installiert ist. Dies ist oft der Fall. Besonders bei der Server Edition<sup><a href="http://www.twentysqm.com/2009-10-29/standard-java-runtime-unter-ubuntu.html#footnote_0_934" id="identifier_0_934" class="footnote-link footnote-identifier-link" title=" Ubuntu Server Edition - http://www.ubuntu.com/products/whatIsubuntu/serveredition ">1</a></sup> von Ubuntu wird von haus aus nur die GIJ (GNU Interpreter for Java) mitgeliefert. Welche sich dadurch auszeichnet, das sich diese Runtime für fast nichts tiefgründigeres einsetzen lässt. Hintergrund ist die <a href="http://www.java.com/de/download/license.jsp">Lizenzvereinbarung von Sun Microsystems</a>. Durch die abgespeckte Version ist eine Bestätigung durch den Anwender nicht notwendig. Im gegensatz zu der vollwärtigen Runtime die auf jedem Linux-Betriebsystem nachinstalliert werden kann.</p>
<p>Mit dem oben genannten Befehl lässt sich nun eine Standard Runtime definieren die sich mittelst einer textbasierte GUI präsentiert:</p>
<p><img class="aligncenter size-full wp-image-936" title="ubuntu-config-java" src="http://www.twentysqm.com/wp-content/uploads/2009/10/ubuntu-config-java.png" alt="ubuntu-config-java" width="526" height="203" /></p>
<p>Mit dieser Methodik lassen sich viele Fehler bezüglich der Java Runtime schon im Vorfeld vermeiden, in dem keine abgespeckte, sondern vollwertige Runtime genutzt wird. Oft entfallen damit auch spezielle Konfigurationen am Server. Der folgende Befehlt gibt letztendlich Aufschluss ob nun standardmäßig die richtige Runtime genutzt wird.</p>
<p><code>java -version</code></p>
<p><img src="http://www.twentysqm.com/wp-content/uploads/2009/10/java-version.png" alt="java-version" title="java-version" width="521" height="80" class="aligncenter size-full wp-image-945" /></p>
<ol class="footnotes"><li id="footnote_0_934" class="footnote"> Ubuntu Server Edition - <a href="http://www.ubuntu.com/products/whatIsubuntu/serveredition">http://www.ubuntu.com/products/whatIsubuntu/serveredition</a> </li></ol>]]></content:encoded>
			<wfw:commentRss>http://www.twentysqm.com/2009-10-29/standard-java-runtime-unter-ubuntu.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twentysqm im neuen Glanz</title>
		<link>http://www.twentysqm.com/2009-08-28/twentysqm-im-neuen-glanz.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=twentysqm-im-neuen-glanz</link>
		<comments>http://www.twentysqm.com/2009-08-28/twentysqm-im-neuen-glanz.html#comments</comments>
		<pubDate>Fri, 28 Aug 2009 15:06:46 +0000</pubDate>
		<dc:creator>Frank Gottschlich</dc:creator>
				<category><![CDATA[Allgemein]]></category>

		<guid isPermaLink="false">http://www.twentysqm.com/?p=823</guid>
		<description><![CDATA[Auch hier musste nun einmal ein neues und frisches Theme her. Persönlich finde ich dieses auch viel aufgeschlossener und freundlicher. Trotzdem wird die Thematik klassisch und zeitlos weiter verfolgt. Durch diese Maßnahmen, werden sich an den einen und anderen Stellen noch einige wenige Anzeigefehler wiederfinden. Allerdings wird bereits mit Hochdruck daran gearbeitet um die nötigen [...]]]></description>
			<content:encoded><![CDATA[<p>Auch hier musste nun einmal ein neues und frisches Theme her. Persönlich finde ich dieses auch viel aufgeschlossener und freundlicher. Trotzdem wird die Thematik klassisch und zeitlos weiter verfolgt. Durch diese Maßnahmen, werden sich an den einen und anderen Stellen noch einige wenige Anzeigefehler wiederfinden. Allerdings wird bereits mit Hochdruck daran gearbeitet um die nötigen Anpassungen so schnell wie möglich abzuschließen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twentysqm.com/2009-08-28/twentysqm-im-neuen-glanz.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automatische Reinstallation für Apache2</title>
		<link>http://www.twentysqm.com/2009-08-27/automatische-reinstallation-fur-apache2.html?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=automatische-reinstallation-fur-apache2</link>
		<comments>http://www.twentysqm.com/2009-08-27/automatische-reinstallation-fur-apache2.html#comments</comments>
		<pubDate>Thu, 27 Aug 2009 13:26:24 +0000</pubDate>
		<dc:creator>Frank Gottschlich</dc:creator>
				<category><![CDATA[Linux / Unix]]></category>
		<category><![CDATA[debian]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.twentysqm.com/?p=809</guid>
		<description><![CDATA[Um den Apache2 vollständig, ink. Konfiguration, zu deinstallieren und wieder zu installieren, lässt sich folgende Methodik anwenden: aptitude -y purge '~iapache' &#038;&#038; sudo aptitude -y install apache2 Hierbei wird im ersten Schritt die Konfigurationen entfernt und im zweiten der Apache2 wieder installiert. Dieses Verfahren ermöglicht auch, eine zerstörte oder versehentliche gelöschte Konfiguration, wieder vollständig herzustellen. [...]]]></description>
			<content:encoded><![CDATA[<p>Um den Apache2 vollständig, ink. Konfiguration, zu deinstallieren und wieder zu installieren, lässt sich folgende Methodik anwenden:</p>
<p><code>aptitude -y purge '~iapache' &#038;& sudo aptitude -y install apache2</code></p>
<p>Hierbei wird im ersten Schritt die Konfigurationen entfernt und im zweiten der Apache2 wieder installiert. Dieses Verfahren ermöglicht auch, eine zerstörte oder versehentliche gelöschte Konfiguration, wieder vollständig herzustellen. Hierbei können auch bis zu zwei Durchläufe nötig sein.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.twentysqm.com/2009-08-27/automatische-reinstallation-fur-apache2.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

