<?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>blog.matthias-balke.de &#187; Coding</title>
	<atom:link href="http://blog.matthias-balke.de/category/coding/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.matthias-balke.de</link>
	<description>infos von und rund um matthias-balke.de</description>
	<lastBuildDate>Fri, 02 Jul 2010 08:21:16 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>JIRA Bugtracker</title>
		<link>http://blog.matthias-balke.de/2010/05/17/jira-bugtracker/</link>
		<comments>http://blog.matthias-balke.de/2010/05/17/jira-bugtracker/#comments</comments>
		<pubDate>Mon, 17 May 2010 17:54:57 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[atlassian]]></category>
		<category><![CDATA[jira]]></category>

		<guid isPermaLink="false">http://blog.matthias-balke.de/?p=343</guid>
		<description><![CDATA[Auf der Suche nach einem Bugtracker für meine OpenSource library jcodebaseHQ fand ich herraus, dass es von Atlassian JIRA für OpenSource Projekte zum Teil gratis gibt. JIRA ist ein professioneller Bugtracker, der über die normalen Bedürfnisse hinnausreicht und professionelle Features wie agieles Projekt Management bietet. Ich habe mich also neulich einmal für eine Testphase von [...]]]></description>
			<content:encoded><![CDATA[<p>Auf der Suche nach einem Bugtracker für meine OpenSource library jcodebaseHQ fand ich herraus, dass es von <a title="Atlassian.com" href="http://www.atlassian.com" target="_blank">Atlassian</a> JIRA für OpenSource Projekte zum Teil gratis gibt.</p>
<p>JIRA ist ein professioneller Bugtracker, der über die normalen Bedürfnisse hinnausreicht und professionelle Features wie agieles Projekt Management bietet.</p>
<p>Ich habe mich also neulich einmal für eine Testphase von JIRA angemeldet, und war begeistert, was man damit alles machen kann, wie durchdacht die Oberfläche wirkt. Daher werde ich auch für das OpenSource Projekt bei Atlassian anfragen, ob auch ich eine &#8220;OpenSource Lizenz&#8221; bekomme.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.matthias-balke.de/2010/05/17/jira-bugtracker/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse Plugin für Haskell</title>
		<link>http://blog.matthias-balke.de/2009/11/23/eclipse-plugin-fur-haskell/</link>
		<comments>http://blog.matthias-balke.de/2009/11/23/eclipse-plugin-fur-haskell/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 17:31:40 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[haskell]]></category>
		<category><![CDATA[plugin]]></category>

		<guid isPermaLink="false">http://blog.matthias-balke.de/?p=295</guid>
		<description><![CDATA[Auf der Suche nach einer Haskell IDE fand ich ein Plugin für Eclipse, welches mit dem bekannten GHC Compiler zusammen arbeitet. Dafür einfach als Update-URL in Eclipse die folgende Url verwenden: http://eclipsefp.sf.net/updates Das Plugin installieren und Eclipse neustarten. Danach muss man unter den Eclipse Einstellungen nur noch den Pfad zum GHC festlegen und schon kann [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.matthias-balke.de/wp-content/2008/05/eclipse.png"><img class="size-full wp-image-52 alignleft" title="Eclipse Logo" src="http://blog.matthias-balke.de/wp-content/2008/05/eclipse.png" alt="Eclipse Logo" width="128" height="128" /></a>Auf der Suche nach einer Haskell IDE fand ich ein Plugin für Eclipse, welches mit dem bekannten <a title="GHC Compiler" href="http://haskell.org/ghc/download.html" target="_blank">GHC Compiler</a> zusammen arbeitet. Dafür einfach als Update-URL in Eclipse die folgende Url verwenden:</p>
<p><a title="Haskell Plugin für Eclipse" href="http://eclipsefp.sf.net/updates" target="_blank">http://eclipsefp.sf.net/updates</a></p>
<p><a title="Haskell Plugin für Eclipse" href="http://eclipsefp.sf.net/updates" target="_blank"></a><span id="more-295"></span></p>
<p>Das Plugin installieren und Eclipse neustarten. Danach muss man unter den Eclipse Einstellungen nur noch den Pfad zum GHC festlegen und schon kann man Haskell in Eclipse entwickeln.</p>
<p><a href="http://blog.matthias-balke.de/wp-content/2009/11/eclipse_haskell_settings.png"><img class="aligncenter size-medium wp-image-297" title="eclipse Haskell Einstellungen" src="http://blog.matthias-balke.de/wp-content/2009/11/eclipse_haskell_settings-300x195.png" alt="eclipse Haskell Einstellungen" width="300" height="195" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.matthias-balke.de/2009/11/23/eclipse-plugin-fur-haskell/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apache2 + PHP + MySQL + memcached unter Mac OS 10.5</title>
		<link>http://blog.matthias-balke.de/2009/02/07/apache2-php-mysql-memcached-unter-mac-os-105/</link>
		<comments>http://blog.matthias-balke.de/2009/02/07/apache2-php-mysql-memcached-unter-mac-os-105/#comments</comments>
		<pubDate>Sat, 07 Feb 2009 16:15:03 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Server]]></category>
		<category><![CDATA[apache2]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.matthias-balke.de/?p=194</guid>
		<description><![CDATA[Nachdem ich lange Zeit zum Entwickeln von PHP Anwendungen MAMP benutzt habe, gefiel mir doch irgendwan das ganze nicht mehr! Warum sollte ich denn MAMP installieren, wenn doch das meiste schon mit Mac OS 10.5 (Leopard) installiert wird? Was nicht jeder weiß: Bei Mac OS 10.5 ist standardmäßig schon Apache2 und PHP5 installiert. Manchem mag [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem ich lange Zeit zum Entwickeln von PHP Anwendungen MAMP benutzt habe, gefiel mir doch irgendwan das ganze nicht mehr! Warum sollte ich denn MAMP installieren, wenn doch das meiste schon mit Mac OS 10.5 (Leopard) installiert wird?</p>
<p>Was nicht jeder weiß: Bei Mac OS 10.5 ist <span style="text-decoration: underline;">standardmäßig</span> schon Apache2 und PHP5 installiert. Manchem mag das schon reichen, aber früher oder später braucht man doch meist eine Datenbank. Häufig kommt MySQL zum einsatz, die es auch als fertiges Build für Mac OS gibt.</p>
<p>Mir fehlte nun noch memcached und die passende PHP Erweiterung memcache, welche sich aber auch beide leicht einrichten lassen, wenn man über mache Stolpersteine bescheid weiß!<span id="more-194"></span></p>
<p>Ich werde in meinen Beispielen immer den Editor vim benutzen. Natürlich kann man genau so gut jeden anderen Editor benutzen!</p>
<h3><span style="text-decoration: underline;">Apache2</span></h3>
<p>Der Apache2 Webserver muss nicht weiter konfiguriert werden, die Websites liegen standardmäßig unter:</p>
<blockquote><p><strong>/Library/WebServer/Documents</strong> bzw. <strong>/Users/&lt;username&gt;/Sites</strong></p></blockquote>
<p>zugreifen kann man dann über:</p>
<blockquote><p><strong>http://localhost/</strong> bzw. <strong>http://localhost/~&lt;username&gt;/</strong></p></blockquote>
<h3><span style="text-decoration: underline;">PHP5</span></h3>
<p>Als erstes aktiviert man nun PHP5 in der Apache2 Konfiguration:</p>
<blockquote><p>$ sudo vim /etc/apache2/httpd.conf</p></blockquote>
<p>Nun sucht man nach dieser Zeile</p>
<blockquote><p><span style="color: #ff0000;">#LoadModule php5_module        libexec/apache2/libphp5.so</span></p></blockquote>
<p>und entfernt das Kommentarzeichen am Anfang</p>
<blockquote><p><span style="color: #008000;">LoadModule php5_module        libexec/apache2/libphp5.so</span></p></blockquote>
<p>speichert die Datei wieder ab und beendet den Edtitor (unter vim :wq).<br />
Nun starten wir den Apache2 neu, damit PHP5 geladen wird. Neustarten kann man den Server mit dem Befehl:</p>
<blockquote><p>$ sudo apachectl restart</p></blockquote>
<p>Um zu testen ob PHP wie gewünscht arbeitet, legt man eine Datei in seinem Webverzeichnis mit folgendem Inhalt an:</p>
<blockquote><p>&lt;?php phpinfo(); ?&gt;</p></blockquote>
<p>Diese speichert man z.B. als info.php. Ruft man diese nun über den Webserver auf (z.B. http://localhost/info.php) sollten Informationen über die PHP Installation angezeigt werden.</p>
<h3><span style="text-decoration: underline;">MySQL</span></h3>
<p>Die Installation von MySQL verläuft sehr reibungslos. Dafür läd man einfach das passende Disc Image (dmg) runter <a title="MySQL Download" href="http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg" target="_blank">http://dev.mysql.com/downloads/mysql/5.1.html#macosx-dmg<br />
</a>Danach muss ma nur noch den Installer durchlaufen lassen.</p>
<p>Da die Pfade für mysqld unter Mac etwas anders sind als üblich sollte man noch einen Symlink einrichten, damit Anwendungen wie phpMyAdmin usw. auch auf MySQL zugreifen können:</p>
<blockquote><p>$ sudo mkdir /var/mysql/<br />
$ sudo chown _mysql /var/mysql<br />
$ sudo ln -s /tmp/mysql.sock /var/mysql/mysql.sock</p></blockquote>
<p>Um den MySQL Server zu starten, kann man einfach in die Systemsteuerung gehen und unter MySQL den Server starten. Alternativ kann man den Server auch aus dem Terminal mit dem folgenden Befehl steuern (wobei start <strong>oder</strong> stop zu wählen ist):</p>
<blockquote><p>$ sudo /Library/StartupItems/MySQLCOM/MySQLCOM start|stop</p></blockquote>
<h3><span style="text-decoration: underline;">phpMyAdmin</span></h3>
<p>Wer gerne phpMyAdmin nutzen möchte läd dies einfach von der Autorenseite nach: <a title="phpMyAdmin Download" href="http://www.phpmyadmin.net/home_page/downloads.php" target="_blank">http://www.phpmyadmin.net/home_page/downloads.php</a> und entpackt es ins Webverzeichnis.</p>
<p><span style="text-decoration: underline;"><span style="color: #ff0000;">Man sollte nun nur noch das root Passwort ändern, da dieses standardmäßig nicht gesetzt ist!</span></span></p>
<h3><span style="text-decoration: underline;">memcached</span></h3>
<p>Auch wenn man nach einigem Suchen ein Installationsscript findet, was verspricht alles notwendige runterzuladen und zu installieren, sollte man von diesem Abstand nehmen. Das hört sich zwar sehr gut an, doch werden <span style="text-decoration: underline;"><em>meist veraltete</em></span> Versionen der Programme installiert.</p>
<p>Die aktuellen Sourcen von <a title="memcached" href="http://www.danga.com/memcached" target="_blank">memcached</a> und <a title="libevent" href="http://www.monkey.org/~provos/libevent/" target="_blank">libevent</a> (welches von memcached benötigt wird) lassen sich einwandfrei unter Mac OS X kompilieren und installieren!</p>
<p>In meinem Beispiel verwende ich die zur Zeit aktuellen Sourcen. Man sollte aber <strong><span style="text-decoration: underline;">immer die aktuellste stable build</span></strong> benutzen!</p>
<p>Die aktuellen Sourcen von libevent ( <a title="libevent" href="http://www.monkey.org/~provos/libevent/" target="_blank">http://www.monkey.org/~provos/libevent/</a> ) runterladen<a title="libevent" href="http://www.monkey.org/~provos/libevent/" target="_blank"><br />
</a></p>
<p>Danach müssen die Sourcen noch wie folgt entpackt und compiliert werden:</p>
<blockquote><p>$ tar xzf libevent-1.4.9-stable.tar.gz<br />
$ cd libevent-1.4.9-stable<br />
$ ./configure<br />
$ make<br />
$ sudo make install</p></blockquote>
<p>Für memcached die Sourcen hier ( <a title="memcached" href="http://www.danga.com/memcached/download.bml" target="_blank">http://www.danga.com/memcached/download.bml </a>) runterladen</p>
<p>Wieder entpacken und compilieren</p>
<blockquote><p>$ tar xzf memcached-1.2.6.tar.gz<br />
$ cd memcached-1.2.6<br />
$ ./configure<br />
$  make<br />
$ sudo make install</p></blockquote>
<p>Danach ist memcached einsatzbereit!<br />
Starten kann man den Dienst z.B. mit:</p>
<blockquote><p>$ sudo /usr/local/bin/memcached -d -l 127.0.0.1 -m 32 -p 11211 -u nobody</p></blockquote>
<h3><span style="text-decoration: underline;">PHP Extension memcache</span></h3>
<p>Um memcached auch in PHP nutzen zu können braucht man die PHP Extension <a title="PHP Extension memcache" href="http://de.php.net/memcache" target="_blank">memache</a>. Diese kann man ganz einfach kompilieren, wenn man weiß, dass der Apache2 und PHP5 unter Mac OS 10.5 standardmäßig als 64bit binaries kompiliert wurden. Denn dementsprechend muss man auch 64bit extensions kompilieren.</p>
<p>Hierfür läd man sich als erstes die Sourcen von memcache ( <a title="PHP Extension memcache download" href="http://pecl.php.net/package/memcache" target="_blank">http://pecl.php.net/package/memcache</a> ) herrunter.<br />
Danach werden die Sourcen wie folgt entpackt und kompiliert:</p>
<blockquote><p>$ gunzip -c memcache-2.2.4.tgz | tar -xvf -<br />
$ cd memcache-2.2.4</p></blockquote>
<p>Nun erstellt muss man dem Compiler sagen, dass man eine 64bit Version benötigt:</p>
<blockquote><p>$ export CCFLAGS=&#8221;-arch x86_64&#8243;</p></blockquote>
<p>Nun wie üblich kompilieren:</p>
<blockquote><p>$ ./configure<br />
$  make<br />
$ sudo make install</p></blockquote>
<p>Zur Sicherheit kann man noch testen, ob das erstellen der 64bit Version erfolgreich war, indem man folgenden Befehl ausführt:</p>
<blockquote><p>$ file modules/memcache.so</p></blockquote>
<p>Dabei sollte eine Ausgabe wie diese erscheinen (wichtig ist das 64bit!):</p>
<blockquote><p><span style="color: #008000;">modules/memcache.so: Mach-O 64-bit bundle x86_64</span></p></blockquote>
<p><span style="color: #000000;">Nun muss der Apache noch einmal neugestartet werden, damit das Modul geladen wird. Ob das ganze geklappt hat kann man nun sehen, indem man wieder die info.php vom Anfang aufruft und auf der Seite nach &#8220;memcache&#8221; sucht. Es sollte nun eine eigene Sekti</span>on geben, die über die Einstellungen für memcache informiert.<span style="color: #ff0000;"><em> Falls diese Sektion nicht vorhanden ist bitte unten bei den Tipps zum Fehler beheben schauen!</em></span></p>
<p>Nun sollte die PHP Erweiterung memcache verfügbar sein. Man kann nun eine php Testdatei mit folgendem Inhalt erzeugen:</p>
<blockquote><p>&lt;?php<br />
$memcache = new Memcache;<br />
$memcache-&gt;connect(&#8216;localhost&#8217;, 11211) or die (&#8220;Could not connect&#8221;);</p>
<p>$version = $memcache-&gt;getVersion();<br />
echo &#8220;Server&#8217;s version: &#8220;.$version.&#8221;&lt;br/&gt;\n&#8221;;</p>
<p>$tmp_object = new stdClass;<br />
$tmp_object-&gt;str_attr = &#8216;test&#8217;;<br />
$tmp_object-&gt;int_attr = 123;</p>
<p>$memcache-&gt;set(&#8216;key&#8217;, $tmp_object, false, 10) or die (&#8220;Failed to save data at the server&#8221;);<br />
echo &#8220;Store data in the cache (data will expire in 10 seconds)&lt;br/&gt;\n&#8221;;</p>
<p>$get_result = $memcache-&gt;get(&#8216;key&#8217;);<br />
echo &#8220;Data from the cache:&lt;br/&gt;\n&#8221;;</p>
<p>var_dump($get_result);<br />
?&gt;</p></blockquote>
<p><strong>Herzlichen Glückwunsch alles ist fertig eingerichtet!</strong></p>
<p><strong><br />
</strong></p>
<h3><span style="text-decoration: underline;">Fehlerbehebung</span></h3>
<p>Falls die memcache Sektion in der info.php nicht vorhanden ist kann es sein, dass das PHP Modul nicht richtig geladen werden konnte. Um dies genauer zu untersuchen hilft ein Blick in das Apache log:</p>
<blockquote><p>$ tail -f /var/log/apache2/error_log</p></blockquote>
<p>Mit diesem Befehl wird die Logdatei kontinuierlich angezeigt. Man kann also beobachten welche Einträge wärend des Startens des Apache erzeugt werden!</p>
<p><strong>Typische Fehlermeldung:<br />
</strong><em>PHP Warning:  PHP Startup: Unable to load dynamic library &#8216;/usr/lib/php/extensions/no-debug-non-zts-20060613/memcache.so&#8217; &#8211; (null) in Unknown on line 0</em></p>
<p><strong>Lösungsansätze:</strong></p>
<ul>
<li> Das Modul ist nicht passend für den Apache Server (evtl. keine 64bit Version kompiliert?).</li>
<li>Die Datei existiert nicht / ist nicht lesbar?</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://blog.matthias-balke.de/2009/02/07/apache2-php-mysql-memcached-unter-mac-os-105/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Browser Screenshots</title>
		<link>http://blog.matthias-balke.de/2008/11/30/browser-screenshots/</link>
		<comments>http://blog.matthias-balke.de/2008/11/30/browser-screenshots/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 07:05:54 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[browsershots]]></category>
		<category><![CDATA[developement]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://blog.matthias-balke.de/?p=130</guid>
		<description><![CDATA[Ich bin gerade einmal mehr wieder auf das Problem gestoßen, dass ich wissen möchte, wie eine Seite die ich gerade entwickel in einem Browser aussieht, den ich gerade nicht zur Verfügung habe. Es ging dabei um den Internet Explorer, den es nun einmal nicht für Mac OS X gibt. Ich erinnerte mich allerdings daran, dass [...]]]></description>
			<content:encoded><![CDATA[<p>Ich bin gerade einmal mehr wieder auf das Problem gestoßen, dass ich wissen möchte, wie eine Seite die ich gerade entwickel in einem Browser aussieht, den ich gerade nicht zur Verfügung habe. Es ging dabei um den Internet Explorer, den es nun einmal nicht für Mac OS X gibt.</p>
<p>Ich erinnerte mich allerdings daran, dass ich ein mal eine Seite gefunden hatte, die einen Screenshot von einer gegeben URL erstellt, den man dann herunterladen kann.<span id="more-130"></span></p>
<p>Auf meiner Suche nach einer ähnlichen Seite bin ich fündig geworden! Und zwar bei <a title="browsershots.org" href="http://browsershots.org">browsershots.org</a>.</p>
<p>Die Seite bietet noch einiges mehr als nur einen Browser. Man kann zwischen volgenden Betriebssystemen wählen:</p>
<ul>
<li>Linux</li>
<li>Windows</li>
<li>Mac OS X</li>
<li>BSD</li>
</ul>
<p>Außerdem stehen folgende Browser in verschiedensten Versionen zur Verfügung:</p>
<ul>
<li>Firefox 2 und 3</li>
<li>Internet Explorer 4 &#8211; 8</li>
<li>Opera 7 &#8211; 9</li>
<li>Chrome</li>
<li>Konqueror</li>
<li>und viele mehr</li>
</ul>
<p>Diese Seite ist also ein Traum für alle Webentwickler. Da man schnell die Darstellung in vielen Browsern überprüfen kann.</p>
<p>UPDATE: Da man auf die Screenshots immer ein paar Minuten warten muss hatte ich sie vorhin beim bloggen noch nicht gesehen. Einige Screenshots taugen nicht wirklich was, da das System die Seite noch nicht geladen hatte als der Screenshot gemacht wurde:</p>
<p style="text-align: center;"><a href="http://blog.matthias-balke.de/wp-content/2008/11/ac47bcb9e535f0541d146a35e94f8148.png"><img class="size-medium wp-image-138 aligncenter" style="border: 0pt none;" title="Probleme mit browsershots.org" src="http://blog.matthias-balke.de/wp-content/2008/11/ac47bcb9e535f0541d146a35e94f8148-300x225.png" alt="" width="300" height="225" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.matthias-balke.de/2008/11/30/browser-screenshots/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Manually Resizing Eclipse IDE Window</title>
		<link>http://blog.matthias-balke.de/2008/09/08/manually-resizing-eclipse-ide-window/</link>
		<comments>http://blog.matthias-balke.de/2008/09/08/manually-resizing-eclipse-ide-window/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 13:57:16 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[aptana]]></category>
		<category><![CDATA[Eclipse]]></category>

		<guid isPermaLink="false">http://blog.matthias-balke.de/?p=77</guid>
		<description><![CDATA[Nachdem mein Aptana heute mal wieder beschlossen hat, die linke obere Ecke des Fensters bei den Koordinaten 0,-30 zu beginnen, habe ich mal nach einem Weg gesucht diesen Fehler manuell zu beheben. Nach ein bischen googlen haben ich dann die Lösung für Eclipse gefunden, was bekanntlicherweise ja die Plattform für Aptana ist: Anyway, here is [...]]]></description>
			<content:encoded><![CDATA[<p>Nachdem mein Aptana heute mal wieder beschlossen hat, die linke obere Ecke des Fensters bei den Koordinaten 0,-30 zu beginnen, habe ich mal nach einem Weg gesucht diesen Fehler manuell zu beheben. Nach ein bischen googlen haben ich dann die Lösung für Eclipse gefunden, was bekanntlicherweise ja die Plattform für Aptana ist:<span id="more-77"></span></p>
<blockquote><p>Anyway, here is the workaround:</p>
<p>1. cd {workspace}/.metadata/.plugins/org.eclipse.ui.workbench/</p>
<p>2. open workbench.xml file</p>
<p>3. change height, width, x, and y values on the 4th line to reasonable values</p>
<p>4. save and close file.</p>
<p>5. launch Eclipse/RadRails</p>
<p>That&#8217;s it.</p>
<p><a href="http://www.docuverse.com/blog/donpark/2006/12/09/manually-resizing-eclipse-ide-window">Don Park&#8217;s Daily Habit &#8211; Manually Resizing Eclipse IDE Window</a>.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://blog.matthias-balke.de/2008/09/08/manually-resizing-eclipse-ide-window/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>GridBagLayout handeln lernen</title>
		<link>http://blog.matthias-balke.de/2008/06/19/gridbaglayout-handeln-lernen/</link>
		<comments>http://blog.matthias-balke.de/2008/06/19/gridbaglayout-handeln-lernen/#comments</comments>
		<pubDate>Thu, 19 Jun 2008 12:51:27 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[GridBagLayout]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog.matthias-balke.de/?p=59</guid>
		<description><![CDATA[Wer mit Java GUIs erstellen will bekommt verschiedene GUI LayoutManager zur Unterstützung mitgeliefert. Diese bieten die Alternative zum Pixelgenauen positionieren. Ein sehr mächtiges Layout hierfür ist das GridBagLayout. Beim GridBagLayout gibt man den Komponenten eine Position in einem Gitternetz und definiert über wieviele Gittereinheiten sie sich erstrecken soll. Weitere Informationen zum GridBagLayout gibts bei Sun. [...]]]></description>
			<content:encoded><![CDATA[<p>Wer mit Java GUIs erstellen will bekommt verschiedene GUI LayoutManager zur Unterstützung mitgeliefert. Diese bieten die Alternative zum Pixelgenauen positionieren. Ein sehr mächtiges Layout hierfür ist das <a href="http://java.sun.com/docs/books/tutorial/uiswing/layout/gridbag.html">GridBagLayout</a>.</p>
<p>Beim GridBagLayout gibt man den Komponenten eine Position in einem Gitternetz und definiert über wieviele Gittereinheiten sie sich erstrecken soll.<br />
Weitere Informationen zum GridBagLayout gibts bei <a href="http://java.sun.com/docs/books/tutorial/uiswing/layout/gridbag.html">Sun</a>.<span id="more-59"></span></p>
<p>Ich habe nun mal eine Methode aus einem Tutorial aufgepeppt, um viele benötigte Parameter mit etwas weniger Tipparbeit zu setzen. Wem das zu viele Parameter sind, der kann die Methode ja einfach um die nicht benötigten Parameter kürzen.</p>
<pre lang="java">/**
* Mit dieser Methode können Komponenten im
* Container angeordnet werden
*/
static void addComponent( Container cont,
GridBagLayout gbl,
Component c,
int x, int y,
int width, int height,
double weightx, double weighty,
int fill, int orientation,
int insertsTop, int insertsLeft,
int insertsBottom, int insertsRight)
{
GridBagConstraints gbc = new GridBagConstraints();
// In welche Richtung soll sich die Komponente ausdehnen?
gbc.fill = fill;

// In welche Richtung soll die Komponente ausgerichtet sein?
gbc.anchor = orientation;

// Bei welcher Gridnummer beginnt die Komponente
gbc.gridx = x; gbc.gridy = y;

// über wieviele Grids erstreckt sich diese Komponente
gbc.gridwidth = width; gbc.gridheight = height;
gbc.weightx = weightx; gbc.weighty = weighty;

// Margin werte für jede Komponente in Pixel
gbc.insets = new Insets(insertsTop, insertsLeft,
                        insertsBottom, insertsRight);

// Copntraints setzen
gbl.setConstraints( c, gbc );

// Komponenten hinzufügen
cont.add( c );
}</pre>
<p>Ein Aufruf der Methode könnte dann wie folgt aussehen:</p>
<pre lang="java">//               Container,     GBL   Component       x, y, w, h, wx,  wy,  filling of space,              orientation of component,      inserts (Top, Left, Bottom, Right)
addComponent(this.getJFrame(), gbl, textFeldLabel,    0, 0, 1, 1, 0.0, 0.0, GridBagConstraints.NONE,        GridBagConstraints.WEST,        30, 15, 0, 15);
addComponent(this.getJFrame(), gbl, textFeld,         1, 0, 3, 1, 1.0, 0.0, GridBagConstraints.HORIZONTAL,  GridBagConstraints.WEST,        30,  0, 0, 15);
addComponent(this.getJFrame(), gbl, okButton,         2, 2, 1, 1, 1.0, 0.0, GridBagConstraints.NONE,        GridBagConstraints.EAST,        20,  0, 5,  5);
addComponent(this.getJFrame(), gbl, abbrechenButton,  3, 2, 1, 1, 0.0, 0.0, GridBagConstraints.NONE,        GridBagConstraints.EAST,        20,  0, 5, 15);</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.matthias-balke.de/2008/06/19/gridbaglayout-handeln-lernen/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Javamethoden mit unbestimmter Parameteranzahl</title>
		<link>http://blog.matthias-balke.de/2008/06/01/javamethoden-mit-unbestimmter-parameteranzahl/</link>
		<comments>http://blog.matthias-balke.de/2008/06/01/javamethoden-mit-unbestimmter-parameteranzahl/#comments</comments>
		<pubDate>Sun, 01 Jun 2008 12:45:50 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Varargs]]></category>

		<guid isPermaLink="false">http://blog.matthias-balke.de/?p=58</guid>
		<description><![CDATA[Gerade eben bin ich auf das Problem gestoßen, dass Eclipse mich die Java-Funktion printf nicht benutzen lassen wollte. Daher wollte ich mir eine äquivalente Methode für meine Zwecke schreiben. Dafür brauchte ich die Möglichkeit eine vorher nicht definierte Anzahl an Parametern an eine Methode zu übergeben. Das ist durchaus möglich in Java und nennt sich [...]]]></description>
			<content:encoded><![CDATA[<p>Gerade eben bin ich auf das Problem gestoßen, dass Eclipse mich die Java-Funktion printf nicht benutzen lassen wollte. Daher wollte ich mir eine äquivalente Methode für meine Zwecke schreiben. Dafür brauchte ich die Möglichkeit eine vorher nicht definierte Anzahl an Parametern an eine Methode zu übergeben.</p>
<p>Das ist durchaus möglich in Java und nennt sich <a title="Varargs in Java" href="http://java.sun.com/j2se/1.5.0/docs/guide/language/varargs.html" target="_blank">Varargs</a>. Man hängt an den Typen der unbeschränkten Variablen einfach drei Punkte an, dadurch kennzeichnet man diesen Parameter als Vararg Parameter. Es kann pro Methode immer nur einen Vararg Parameter geben, und zwar den letzten!</p>
<p>Hier ein kurzes Beispiel wie Varargs genutzt wird:<span id="more-58"></span></p>
<pre lang="java">/**
*
* @param text Text in dem die %s ersetzt werden sollen
* @param ersatz Die einzufügenden Texte (beliebig viele)
* @return Den Text mit ersetzen Platzhaltern
*/
public String ersetzeText(String text, String... ersatz){

for (int i = 0; i < ersatz.length; i++) {
text = text.replaceFirst("%s", ersatz[i] );
}

return text;
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.matthias-balke.de/2008/06/01/javamethoden-mit-unbestimmter-parameteranzahl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Eclipse und der Visual Editor für Java</title>
		<link>http://blog.matthias-balke.de/2008/05/08/eclipse-und-der-visual-editor-fur-java/</link>
		<comments>http://blog.matthias-balke.de/2008/05/08/eclipse-und-der-visual-editor-fur-java/#comments</comments>
		<pubDate>Thu, 08 May 2008 16:53:32 +0000</pubDate>
		<dc:creator>matthias</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[Eclipse]]></category>
		<category><![CDATA[Visual Editor]]></category>

		<guid isPermaLink="false">http://blog.matthias-balke.de/?p=51</guid>
		<description><![CDATA[Ich arbeite gerade mal wieder an unserem Java-Projekt für die Uni. Man hat uns gesagt, wir sollten den im Eclipse vorhandenen Visual Editor (GUI Editor) benutzen. Also haben sich alle Teammitglieder das komplette Paket besorgt. Nach einem Tag, an dem alle einmal Kontakt mit dem GUI Editor hatten, hatte keiner mehr Lust damit weiter zu [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.matthias-balke.de/wp-content/2008/05/eclipse.png"><img class="alignleft alignnone size-full wp-image-52" style="border: 0pt none; float: left;" title="Eclipse Logo" src="http://blog.matthias-balke.de/wp-content/2008/05/eclipse.png" alt="Eclipse Logo" width="128" height="128" /></a></p>
<p>Ich arbeite gerade mal wieder an unserem Java-Projekt für die Uni. Man hat uns gesagt, wir sollten den im Eclipse vorhandenen Visual Editor (GUI Editor) benutzen. Also haben sich alle Teammitglieder das komplette Paket besorgt.</p>
<p>Nach einem Tag, an dem alle einmal Kontakt mit dem GUI Editor hatten, hatte keiner mehr Lust damit weiter zu arbeiten! Der Editor ist Freeware also darf man sich eigentlich nicht beschweren, aber ich möchte hier eine Warnung an alle aussprechen, die vor haben mit den Visual Editor zu arbeiten: <strong>Lasst es sein!</strong> Programmiert eure GUI einfach selber, da habt ihr noch viel mehr Kontrolle und weniger Herzrasen zwischendurch, weil der Editor mal wieder nicht macht was er sollte!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.matthias-balke.de/2008/05/08/eclipse-und-der-visual-editor-fur-java/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
	</channel>
</rss>
