<?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>BigBasti&#039;s Blog &#187; Programme</title>
	<atom:link href="http://blog.bigbasti.com/category/programme/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.bigbasti.com</link>
	<description>About Me &#38; my Digital Lifestyle</description>
	<lastBuildDate>Wed, 25 Jan 2012 12:31:57 +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>Visual Studio 2010 und das Intellisense im Vergleich</title>
		<link>http://blog.bigbasti.com/visual-studio-2010-und-das-intellisense-im-vergleich/</link>
		<comments>http://blog.bigbasti.com/visual-studio-2010-und-das-intellisense-im-vergleich/#comments</comments>
		<pubDate>Thu, 04 Aug 2011 09:43:20 +0000</pubDate>
		<dc:creator>Sebastian Gross</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programme]]></category>

		<guid isPermaLink="false">http://blog.bigbasti.com/?p=1765</guid>
		<description><![CDATA[Da ich Beruflich auch viel im Javaumfeld arbeite, komme ich in Kontakt mit verschiedenen IDEs. Am besten gefällt hier das kostenlose NetBeans von Sun Oracle. Und bereits nach kurzer Zeit sieht man die vielen Unterschiede der IDEs, besonders fällt hier aber der Unterschied des Code Completion Features der IDEs auf.

Im Visual Studio haben wir ...]]></description>
			<content:encoded><![CDATA[<p>Da ich Beruflich auch viel im Javaumfeld arbeite, komme ich in Kontakt mit verschiedenen IDEs. Am besten gefällt hier das kostenlose <a href="http://netbeans.org/">NetBeans</a> von <del>Sun</del> Oracle. Und bereits nach kurzer Zeit sieht man die vielen Unterschiede der IDEs, besonders fällt hier aber der Unterschied des Code Completion Features der IDEs auf.</p>
<p>Im Visual Studio haben wir Intellisense kennen- und lieben gelernt, es ist schnell und liefert uns die Informationen die wir haben wollen. Doch schaut man hier mal auf das andere Ufer, wird man schnell feststellen, dass hier doch tatsächlich noch Nachholbedarf besteht.</p>
<p>Schauen wir uns beispielsweise ein typischen Intellisense Pupup an, der uns Informationen zu der Methode Create() der HttpWebRequest-Klasse liefert:</p>
<div class="wp-caption aligncenter" style="width: 504px"><a href="http://server.bigbasti.com/uploads/uploads/48211111524337363.png"><img class="  " title="Intellisense Pupup" src="http://server.bigbasti.com/uploads/uploads/48211111524337363.png" alt="Intellisense Pupup" width="494" height="123" /></a><p class="wp-caption-text">Intellisense Pupup</p></div>
<p>Wir bekommen eine Auflistung der uns zur Verfüfung stehenden Methoden (1) und die markierte Methode wirft noch ein weiteres Popup auf, welches uns den Methodenkopf, eine Kurze Beschreibung und die möglichen Exceptions liefert (2).</p>
<p>Eigentlich doch alles was manbraucht, stimmt! Vergleichen wir das Ganze doch mal mit dem "Intellisense" von NetBeans 7:</p>
<div class="wp-caption aligncenter" style="width: 468px"><a href="http://server.bigbasti.com/uploads/uploads/4821111658724323.png"><img class="  " title="NetBeans Popup" src="http://server.bigbasti.com/uploads/uploads/4821111658724323.png" alt="NetBeans Popup" width="458" height="355" /></a><p class="wp-caption-text">NetBeans Popup</p></div>
<p>Was haben wir hier, als erstes taucht, wie im Visual Studio auch, eine Liste mit dem möglichen Befehlen auf (1), diese ist hier etwas großzügiger gestaltet und nimmt etwas mehr Platz auf dem Bildschirm ein, liefert uns aber auch auf den ersten Blick den Return-Typ der Funktion (das was rechtsbündig in der Liste steht) - Im VS müsste man erst die Methode auswählen und auf den "Hilfspopup" warten um an diese Information zu kommen.</p>
<p>Als zweites taucht auch hier ein weiteres Popup auf, mit Details zur Funktion an sich (2). Und das ist der Teil wo es interessant wird, denn hier bekommen viel mehr Informationen als im VS.<br />
Als erstes fällt auf, dass es viel mehr zu lesen gibt, hier wird nämlich das dazugehörige Javadoc geladen und angezeigt, dieses bietet natürlich eine Fülle an Informationen und sogar Beispielcode für die gerade gewählte Funktion.</p>
<p>Um diese Informationen im VS zu erhalten müssen wir die Funktion markieren und dann [F1] drücken, damit sich dann der Browser öffnet und uns zu dem passenden Artikel auf MSDN navigiert, wo wir dann alle nötigen Infos inkl. Beispiele finden, aber warum der Umweg?</p>
<p>Als nächstes fällt auf, dass das in dem zweiten Popup auch Links auftauchen (3), diese kann man natürlich auch anklicken und man wird innerhalb des kleinen Fensters zu dem geklickten Dokueintrag weitergeleitet - das ist wirklich sehr sehr praktisch! Dazu kommt noch oben eine kleine Navigation (4) um zwischen den besuchten Seiten zu wählen, den Artikel im Browser zu öffnen oder direkt zu der gewählten Klasse zu wechseln.</p>
<p>Das macht wirklich Spaß mit dieser Hilfe zu arbeiten und man kann schnell die nötigen Informationen nachschlagen ohne überhaupt die Maus bewegen zu müssen.</p>
<p>Natürlich bin ich mit dessen bewusst, dass es auch für das VS Erweiterungen gibt wie <a href="http://www.jetbrains.com/resharper/">ReSharper</a> oder <a href="http://devexpress.com/Products/Visual_Studio_Add-in/Coding_Assistance/">CodeRush</a>, die sich dieser "Schwäche" annehmen und versuchen es zu verbessern, diese kosten aber erstens Geld und machen aber auch nicht alles perfekt.</p>
<p>Aber es gibt auch Sachen die mich umgekehrt an NetBeans extrem stören, wie zb. die Tatsache, dass NetBeans sich nicht mehrkt welchen Befehl ich als letztes benutzt habe.</p>
<div class="wp-caption aligncenter" style="width: 461px"><a href="http://server.bigbasti.com/uploads/uploads/482111128523717276.png"><img title="Netbeans popup" src="http://server.bigbasti.com/uploads/uploads/482111128523717276.png" alt="" width="451" height="273" /></a><p class="wp-caption-text">Sehr sehr nervig!</p></div>
<p>Wenn wir das obere Bild anschauen, will ich die methode callVRFY() aufrufen und das mehr fach hintereinander. NetBeans wird mir jedes Mal den Vorschlag genau so machen wie wir ihn hier sehen, ich muss also jedes Mal 12x [Pfeil nach unten] drücken um den Eintrag auszuwählen oder den Namen direkt voll ausschreiben.</p>
<p>Visual Studio reagiert hier deutlich intelligenter, denn es merkt sich, dass man diese Methode nun 2x benutzt hat und schlägt beim nächsten Mal wenn man "call" tippt direkt die callVRFY() Methode als erstes vor.</p>
<p>Eine weitere Sache die bei Visual Studio genial ist, ist die Tatsache, dass ich eigentlich den "call"-Teil des Methodennamen überspringen kann und direkt anfangen kann "VRFY" zu tippen, Intellisense würde dennoch erkennen, dass ich die "callVRFY" Methode meine und diese für mich auswählen.</p>
<p>Beispiel:</p>
<div class="wp-caption aligncenter" style="width: 311px"><a href="http://server.bigbasti.com/uploads/uploads/482111134265241395.png"><img title="Visual Studio Popup" src="http://server.bigbasti.com/uploads/uploads/482111134265241395.png" alt="" width="301" height="156" /></a><p class="wp-caption-text">Visual Studio Popup</p></div>
<p>Wie man sieht schlägt mit VS hier alle Klassen &amp; Methoden vor die "response" im Namen haben. - Super!</p>
<p>Das sind nun natürlich zwei "Kleinigkeiten" die ich mir hier herausgepickt habe, aber glaubt mir wenn man plötzlich auf diese verzichten muss ist das mehr als nervig!</p>
<p>Zum Schluss kann ich sagen, dass beide IDEs von ein an der lernen können und dass ich, egal mit welcher IDE ich gerade arbeite das ein oder andere Feature aus der anderen IDE vermisse. Bleibt noch zu hoffen, dass die Entwickler sich gegenseitig auf die Finger schauen und diese netten kleinen Features gegenseitig "ausleihen" <img src='http://blog.bigbasti.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Wie steht ihr dazu? Seit ihr mit dem Intellisense glücklich, nutzt ihr Erweiterungen (ReSharper etc..)?</p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.bigbasti.com/?flattrss_redirect&amp;id=1765&amp;md5=f37ad6604a437b54990f4a5e51cb5136" title="Flattr" target="_blank"><img src="http://blog.bigbasti.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigbasti.com/visual-studio-2010-und-das-intellisense-im-vergleich/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wuala: Konkurrenz für Dropbox?</title>
		<link>http://blog.bigbasti.com/wuala-konkurrenz-fur-dropbox/</link>
		<comments>http://blog.bigbasti.com/wuala-konkurrenz-fur-dropbox/#comments</comments>
		<pubDate>Mon, 07 Feb 2011 14:11:23 +0000</pubDate>
		<dc:creator>Sebastian Gross</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[Programme]]></category>

		<guid isPermaLink="false">http://blog.bigbasti.com/?p=1583</guid>
		<description><![CDATA[Ich denke die meisten von euch werden den Synchronisations Dienst Dropbox kennen, wenn nicht dann hier eine kurze Zusammenfassung:
Dropbox ist ein Webdienst, der ein Netzwerk-Dateisystem für die Synchronisation von Dateien zwischen verschiedenen Rechnern und Benutzern bereitstellt und damit gleichzeitig eine Online-Datensicherung ermöglicht. Zum Zugriff gibt es Programme für die BetriebssystemeMac OS X, iOS, Linux, Android, Blackberry und Microsoft Windows.


Ich nutze ...]]></description>
			<content:encoded><![CDATA[<p>Ich denke die meisten von euch werden den Synchronisations Dienst <a href="http://db.tt/VQNcEjb" target="_blank">Dropbox </a>kennen, wenn nicht dann hier eine kurze Zusammenfassung:</p>
<blockquote><p><a href="http://db.tt/VQNcEjb" target="_blank"><strong>Dropbox</strong> </a>ist ein Webdienst, der ein Netzwerk-<a title="Dateisystem" href="http://de.wikipedia.org/wiki/Dateisystem">Dateisystem</a> für die Synchronisation von Dateien zwischen verschiedenen Rechnern und Benutzern bereitstellt und damit gleichzeitig eine <a title="Online-Datensicherung" href="http://de.wikipedia.org/wiki/Online-Datensicherung">Online-Datensicherung</a> ermöglicht. Zum Zugriff gibt es Programme für die Betriebssysteme<a title="Mac OS X" href="http://de.wikipedia.org/wiki/Mac_OS_X">Mac OS X</a>, <a title="Apple iOS" href="http://de.wikipedia.org/wiki/Apple_iOS">iOS</a>, <a title="Linux" href="http://de.wikipedia.org/wiki/Linux">Linux</a>, <a title="Android (Betriebssystem)" href="http://de.wikipedia.org/wiki/Android_(Betriebssystem)">Android</a>, <a title="Blackberry" href="http://de.wikipedia.org/wiki/Blackberry">Blackberry</a> und <a title="Microsoft Windows" href="http://de.wikipedia.org/wiki/Microsoft_Windows">Microsoft Windows</a>.</p></blockquote>
<div class="wp-caption aligncenter" style="width: 468px"><img src="http://server.bigbasti.com/uploads/uploads/722111428334764913.png" alt="" width="458" height="130" /><p class="wp-caption-text">Dropbox Logo</p></div>
<p>Ich nutze Dropbox nun schon seit mehreren Jahren und bin begeistert und würde es jedem sofort empfehlen. Wers testen mag kann sich hier mit 250 MB Extra Speicher anmelden <a href="http://db.tt/VQNcEjb" target="_blank">klick </a>(Ref Link von mir).</p>
<p>Seit einiger Zeit gibt es aber nun auch Konkurrenz namens Wuala.</p>
<div class="wp-caption aligncenter" style="width: 396px"><img src="http://server.bigbasti.com/uploads/uploads/7221114376193937.png " alt="" width="386" height="133" /><p class="wp-caption-text">Wuala Logo</p></div>
<p>Im Grunde verfolgt Wuala eine ähnliche Idee wie Dropbox, nämlich einen Speicher anzubieten, der von überall auf der Welt erreichbar ist und zwischen mehreren Computern Synchron ist.</p>
<p>Was Wuala aber besonders macht, ist die Art der Aufbewahrung eurer Daten, denn Wuala verschlüsselt eure Daten BEVOR diese ins Internet übertragen werden. Das bedeutet, dass niemand außer euch Zugriff auf eure Daten erlangen kann, nicht mal Wuala selbst. Das macht diesen Speicher besonders sicher!</p>
<p>Übrigens wird euer Passwort niemals übertragen bei Wuala, das bedeutet, wenn euer Passwort weg ist, kommt ihr nie wieder an eure Daten, also aufpassen.</p>
<p>Falls ich euch nun doch neugierig gemacht habe könnt ihr euch <a href="http://www.wuala.com/de/referral/4B3P6HF443NGBNFN563G" target="_blank">hier über meinen Ref Link</a> mit einem GB extra anmelden.</p>
<p>Wenn ihr dann erst einmal angemeldet seit könnt ihr unter Optionen-&gt;Speicher kaufen-&gt;Code einlösen noch folgende Codes einlösen und euren Speicher erweitern:</p>
<ul>
<li>I-KNOW-DOMINIK : 1 GB</li>
<li>I-KNOW-CAROLA : 1 GB</li>
<li>I-KNOW-FABIUS : 1 GB</li>
<li>I-KNOW-LUZIUS : 1 GB</li>
<li>I-KNOW-THOMAS : 1 GB</li>
<li>I-KNOW-JONAS : 1 GB</li>
<li>I-KNOW-MARCEL : 1 GB</li>
<li>I-KNOW-MARIUS : 1 GB</li>
<li>I-KNOW-DARIO : 1 GB</li>
<li>CONNECT-WITH-SUPPORT : 1 GB</li>
<li>SKYFISH-IS-COOL : 1 GB</li>
</ul>
<p>Jeder dieser Codes bringt euch dann nochmal 1GB extra. Es bleibt abzuwarten, wie sich dieser Dienst entwickelt (Dropbox hat auch klein angefangen) und vielleicht wird die Bedienung auch noch überarbeitet und vereinfacht, dann bin ich auch definitiv aktiv dabei, aber so wie es nun ist ist es mir einfach zu umständlich, und so paranoid bin ich noch nicht <img src='http://blog.bigbasti.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.bigbasti.com/?flattrss_redirect&amp;id=1583&amp;md5=ab3db3eb8af45ceeddd3bc7545de607b" title="Flattr" target="_blank"><img src="http://blog.bigbasti.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigbasti.com/wuala-konkurrenz-fur-dropbox/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>ScreenShot Helper &#8211; erleichert den Umgang mit Bildern in der Windows Zwischenablage</title>
		<link>http://blog.bigbasti.com/screenshot-helper-erleichert-den-umgang-mit-bildern-in-der-windows-zwischenablage/</link>
		<comments>http://blog.bigbasti.com/screenshot-helper-erleichert-den-umgang-mit-bildern-in-der-windows-zwischenablage/#comments</comments>
		<pubDate>Tue, 29 Jun 2010 09:42:15 +0000</pubDate>
		<dc:creator>Sebastian Gross</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Programme]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.bigbasti.com/?p=1052</guid>
		<description><![CDATA[Heute mal etwas in eigener Sache: Ich habe mal wieder ein kleines Tool für Windows fertiggestellt welches euch das leben etwas erleichern kann. Die Rede ist von ScreenShot Helper.
Bild 1: Benachrichtigung über eine neue Grafik in der Zwischenablage
ScreenShot Helper ist dafür gedacht Grafiken, die ihr in die Zwischenablage steckt schnell und einfach zu verarbeiten. ...]]></description>
			<content:encoded><![CDATA[<p>Heute mal etwas in eigener Sache: Ich habe mal wieder ein kleines Tool für Windows fertiggestellt welches euch das leben etwas erleichern kann. Die Rede ist von<a href="http://hp.bigbasti.com/de/software.aspx?show=ssh" target="_blank"> ScreenShot Helper</a>.</p>
<p style="text-align: center;"><a href="http://blog.bigbasti.com/uploads/ssh1_big.png"><img class="aligncenter size-full wp-image-1053" title="ssh1_big" src="http://blog.bigbasti.com/uploads/ssh1_big.png" alt="" width="506" height="137" /></a><em>Bild 1: Benachrichtigung über eine neue Grafik in der Zwischenablage</em></p>
<p>ScreenShot Helper ist dafür gedacht Grafiken, die ihr in die Zwischenablage steckt schnell und einfach zu verarbeiten. Ein Bleispiel: Ihr wollt einem Bekannten einen Fehler oder etwas anderes zeigen, dass auf eurem Bildschirm passiert. Wenn ihr nur die Windows Tools verwendet müsst ihr erst einen Screenshot machen, dann Paint (oder ein anderes Bildprogramm) starten die Grafik dort einfügen, das Bild speichern, nun müsst ihr eine Webseite suchen auf die ihr das hochladen wollt um dann schließlich den Link zu bekommen, den ihr eurem Freund geben könnt.</p>
<p>Mit ScreenShot Helper wird dieser Vorgang stark vereinfacht. Das Programm erkennt automatisch, dass eine neue Grafik in der Zwischenablage ist und zeigt euch das Fenster aus Bild1. Nun könnt ihr mit einem Klick das Bild speichern oder es mit ebenfalls einem Klick hochladen und bekommt direkt den Link den ihr weiter verteilen könnt.</p>
<p>Ich bin mir dessen völlig bewusst, dass es sehr viele sehr ähnliche Tools da draußen im Web gibt die diese und noch weitere Funktionalitäten bieten. Ich wollte aber einfach nur ein leichtes schnelles Tool haben, dass genau das macht was ich brauche und dass ich weiter anpassen kann.</p>
<p>Vielleicht könnt ihr ja auch soetwas gut gebrauchen. <a href="http://hp.bigbasti.com/de/software.aspx?show=ssh" target="_blank">Hier gehts zum Programm</a>.</p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.bigbasti.com/?flattrss_redirect&amp;id=1052&amp;md5=a62ef9261163e49509c43af7865ef648" title="Flattr" target="_blank"><img src="http://blog.bigbasti.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigbasti.com/screenshot-helper-erleichert-den-umgang-mit-bildern-in-der-windows-zwischenablage/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7 und seine Schönheitsfehler Teil 2: Die Taskleiste</title>
		<link>http://blog.bigbasti.com/windows-7-und-seine-schonheitsfehler-teil-2-die-taskleiste/</link>
		<comments>http://blog.bigbasti.com/windows-7-und-seine-schonheitsfehler-teil-2-die-taskleiste/#comments</comments>
		<pubDate>Thu, 05 Nov 2009 18:18:08 +0000</pubDate>
		<dc:creator>Sebastian Gross</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programme]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.bigbasti.com/?p=578</guid>
		<description><![CDATA[Letzte Woche habe ich unter Windows 7 etwas sehr seltsames beobachtet. Nach dem ich ein kleines Programm geschrieben hatte, dass ich zwischendurch nutzen wollte, wollte ich dieses an die Taskleiste "pinnen", damit ich es immer schnell griffbereit habe!
Bild 1: Links: Wie es sein sollte. Rechts: So sieht das "Problem" aus

Doch Pustekuchen! Ich konnte das ...]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.bigbasti.com/uploads/win77.png"><img class="alignleft size-full wp-image-662" title="win7" src="http://blog.bigbasti.com/uploads/win77.png" alt="win7" width="53" height="53" /></a>Letzte Woche habe ich unter Windows 7 etwas sehr seltsames beobachtet. Nach dem ich ein kleines Programm geschrieben hatte, dass ich zwischendurch nutzen wollte, wollte ich dieses an die Taskleiste "pinnen", damit ich es immer schnell griffbereit habe!</p>
<p style="text-align: center;"><a href="http://blog.bigbasti.com/uploads/win75.png"><img class="aligncenter size-full wp-image-580" title="win75" src="http://blog.bigbasti.com/uploads/win75.png" alt="win75" width="554" height="146" /></a><em>Bild 1: Links: Wie es sein sollte. Rechts: So sieht das "Problem" aus</em></p>
<p>Doch Pustekuchen! Ich konnte das Programm, ja nicht mal eine Verknüpfung, die auf das Programm linkte an die Taskleiste pinnen! Seltsam, denn andere Programme, auch selbstgeschriebene, konnte ich problemlos anpinnen!</p>
<p>Woran kann das liegen? Alle Optionen, die man von anderen Programmen kennt waren nicht da! Die ganze Jumplist hatte nur den Eintrag "Fenster schließen". Die anderen Optionen wie "Programm an die Taskleiste pinnen" waren alle weg!</p>
<p>Die erste Vermutung war natürlich, es liegt am Code! - Son Mist - Also habe ich losgelegt und das Programm Stück für Stück von verschiedenen Codeteilen befreit bis ich garkeinen Code mehr im Programm hatte. Aber das "Problem" war immernoch nicht behoben!</p>
<p>Wie gesagt konnte ich andere Programme, die ich selbst gemacht habe anpinnen, nur dieses eine nicht. Also habe ich das getan, was jeder kompetente Programmierer tun würde, ich befragte Google! <img src='http://blog.bigbasti.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Leider konnte ich nichts wirklich brauchbares finden, das meinen Fall bestätigte. Schließlich wollte ich schon aufgeben und das Projekt neu anlegen, in der Hoffnung es würde nicht wieder auftauchen.</p>
<p>Zu meinem Glück habe ich davor ein Skript (an dem ich zur Zeit etwas herum spiel) verwendet, dass dieses Programm  (zusammen mit vielen anderen Dateien) umbenannt hatte. Nun hieß das Programm "ax4b.exe". und Überraschung - ich konnte es anpinnen.</p>
<p><strong>Es lag am Namen!</strong></p>
<p>Als ich dem Programm wieder seinen Originalnamen verlieh konnte ich es wieder nicht anpinnen! Achja, das Programm heißt "Uploadhelper.exe"</p>
<p>Wie es also scheint, sind bestimmte Programme unter Windows 7 von der Fähigkeit befreit sich an die Taskleiste pinnen zu können.</p>
<p>Wie ich dann nach einer weiteren Internetrecherche herausgefunden habe gibt es einen Registryeintrag namens "AddRemovenames" derhier zu finden ist:</p>
<blockquote><p><em>HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Explorer\FileAssociation\AddRemoveNames</em></p></blockquote>
<p style="text-align: center;"><a href="http://blog.bigbasti.com/uploads/win76.png"><img class="aligncenter size-full wp-image-584" title="win76" src="http://blog.bigbasti.com/uploads/win76.png" alt="win76" width="594" height="402" /></a><em>Bild 2: Der Registryeintrag mit den "verbotenen" Namen</em></p>
<p>Dieser enthält alle Schlüsselwörter, die alle Programme, die eins dieser Wörter im Namen <span style="text-decoration: underline;">beinhalten</span>, nicht an die Taskleiste pinnen lässt! Diese Wörter sind:</p>
<blockquote><p><em>Documentation;Help;Install;More Info;Readme;Read me;Read First;Setup;Support;What's New;Remove</em></p></blockquote>
<p>Und da mein Programm das Wort "help" im Namen hatte wurde es von dieser Regel betroffen.</p>
<p>Es scheint so zu sein, dass Microsoft keine Hilfe oder Setup Programme in der Taskleiste sehen will. Wobei ich wirklich nicht verstehen kann, warum "Documentation" in der Liste steht!</p>
<p>Also hat man als Entwickler nun die Wahl: Entweder man benennt sein Programm um, oder man löscht den entsprechenden Eintrag aus diesem Registryeintrag. Von dem letzteren würde ich allerdings abraten, da es ein enormer Eingriff in die Benutzereinstellungen wäre, und wer weiß, vielleicht benutzen noch andere Dienste diesen Eintrag und funktionieren dann eventuell nicht mehr!</p>
<p>Wenn man von dieser Beschränkung nichts weiß, kann es einen schon in den Wahnsinn treiben, denn wer vermutet denn bitte, dass es an dem Namen liegt?</p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.bigbasti.com/?flattrss_redirect&amp;id=578&amp;md5=46265961243d22bbc04ef2fcf0ba2d8a" title="Flattr" target="_blank"><img src="http://blog.bigbasti.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigbasti.com/windows-7-und-seine-schonheitsfehler-teil-2-die-taskleiste/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Probleme beim Klonen einer WebSpere Portal 6.1 Installation</title>
		<link>http://blog.bigbasti.com/probleme-beim-klonen-einer-webspere-portal-61-installation/</link>
		<comments>http://blog.bigbasti.com/probleme-beim-klonen-einer-webspere-portal-61-installation/#comments</comments>
		<pubDate>Thu, 29 Oct 2009 08:14:39 +0000</pubDate>
		<dc:creator>Sebastian Gross</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programme]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Support]]></category>

		<guid isPermaLink="false">http://blog.bigbasti.com/?p=532</guid>
		<description><![CDATA[Das Klonen eines WebSphere Portal Servers ist eine komplexe Angelegenheit die sich gut und gerne etwas länger hinzieht. Umso besser, dass IBM eine Anleitung dazu stellt.

Doch auch wenn man der Anleitung genau folgt kann es zu unerwarteten Problemen kommen, die dort nicht erläutert werden.

Das ist mir passiert und da ich schon ne Weile gebraucht ...]]></description>
			<content:encoded><![CDATA[<p>Das Klonen eines WebSphere Portal Servers ist eine komplexe Angelegenheit die sich gut und gerne etwas länger hinzieht. Umso besser, dass IBM eine <a href="http://www.ibm.com/developerworks/websphere/library/techarticles/0902_lamb/0902_lamb.html" target="_blank">Anleitung dazu stellt</a>.</p>
<p>Doch auch wenn man der Anleitung genau folgt kann es zu unerwarteten Problemen kommen, die dort nicht erläutert werden.</p>
<p>Das ist mir passiert und da ich schon ne Weile gebraucht habe um auf die Lösung zu kommen, könnte es auch andere interessieren.</p>
<p>Das Problem ist/war, dass bei Schritt 2. in der Anleitung von IBM:</p>
<blockquote><p>To delete the scheduled tasks, run the following ConfigEngine task:<br />
&lt;profile_home&gt;/ConfigEngine/ConfigEngine.sh action-clean-scheduled-tasks</p></blockquote>
<p class="displaycodeliquid">Eine Menge von Fehlern ausgespuckt werden:</p>
<p class="displaycodeliquid" style="text-align: center;"><a href="http://blog.bigbasti.com/uploads/puttyscreen1.png"><img class="aligncenter size-full wp-image-534" title="puttyscreen1" src="http://blog.bigbasti.com/uploads/puttyscreen1.png" alt="puttyscreen1" width="455" height="296" /></a><em>Bild 1: Der Stacktrace der Exception</em></p>
<p class="displaycodeliquid">Dabei werden folgende Fehler ausgespuckt:</p>
<blockquote>
<p class="displaycodeliquid">ERROR XSDB6: Another instance of Derby may have already booted the database</p>
<p>Could not shutdown the database!<br />
[sqlproc] SQL Exception: Database 'xxxdb' not found.</p>
<p>ERROR: Error during the execution of the sql files.</p></blockquote>
<p class="displaycodeliquid">Dabei sind die Fehler etwas verwirrend wie ich fand, denn der erste besagt, dass die Datenbank die seit Version 6.1 nun "derby" heißt und nicht mehr "cloudscape" und der zweite sagt, dass diese nicht gefunden wurde!</p>
<p class="displaycodeliquid">Nungut, nach einer langen Suche in den Logs und einer engen Zusammenarbeit mit Google war die Lösung dann doch ganz einfach!</p>
<p class="displaycodeliquid">Dabei bringt der erste Fehler es auf den Punkt! Es läuft bereits eine Instanz der Datenbank. Was aber nicht der Fall ist. Aber das Skript glaubt das, da der user dafür noch in einer Session "eingeloggt ist".</p>
<p class="displaycodeliquid">Wenn man diese Session-Dateien (*.lck) löscht, wird der Weg für einen erneuten Login durch das Skript frei.</p>
<p>Diese Dateien liegen im Verzeichnis <!--[if gte mso 9]><xml> <w:WordDocument> <w:View>Normal</w:View> <w:Zoom>0</w:Zoom> <w:HyphenationZone>21</w:HyphenationZone> <w:PunctuationKerning /> <w:ValidateAgainstSchemas /> <w:SaveIfXMLInvalid>false</w:SaveIfXMLInvalid> <w:IgnoreMixedContent>false</w:IgnoreMixedContent> <w:AlwaysShowPlaceholderText>false</w:AlwaysShowPlaceholderText> <w:Compatibility> <w:BreakWrappedTables /> <w:SnapToGridInCell /> <w:WrapTextWithPunct /> <w:UseAsianBreakRules /> <w:DontGrowAutofit /> </w:Compatibility> <w:BrowserLevel>MicrosoftInternetExplorer4</w:BrowserLevel> </w:WordDocument> </xml><![endif]--><!--[if gte mso 9]><xml> <w:LatentStyles DefLockedState="false" LatentStyleCount="156"> </w:LatentStyles> </xml><![endif]--><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;">&lt;wp_profile&gt;/PortalServer/derby/wpsdb.</span></p>
<p class="displaycodeliquid" style="text-align: center;"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;"><a href="http://blog.bigbasti.com/uploads/puttyscreen2.png"><img class="aligncenter size-full wp-image-535" title="puttyscreen2" src="http://blog.bigbasti.com/uploads/puttyscreen2.png" alt="puttyscreen2" width="516" height="67" /></a><em>Bild 2: Die zwei LCK-Dateien, die die Session blockieren</em></span></p>
<p class="displaycodeliquid"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;">Wenn man nun diese zwei Dateien löscht läuft das Skript ganz normal durch. Der weitere Cloning-prozess verlief dann relativ unspektakulär.</span></p>
<p class="displaycodeliquid"><span style="font-size: 12pt; font-family: &quot;Times New Roman&quot;;">Lösungsquelle war ein <a href="http://www-01.ibm.com/support/docview.wss?uid=swg21381003" target="_blank">IBM-Hilfe</a> Dokument, dass zwar für was anderes Gedacht war aber das Problem sehr ähnlich war!<br />
</span></p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.bigbasti.com/?flattrss_redirect&amp;id=532&amp;md5=9382cf2a03a820e9e1b68a4cab68bef1" title="Flattr" target="_blank"><img src="http://blog.bigbasti.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigbasti.com/probleme-beim-klonen-einer-webspere-portal-61-installation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual Studio 2010 Beta 2 &#8211; Erster Eindruck</title>
		<link>http://blog.bigbasti.com/visual-studio-2010-beta-2-erster-eindruck/</link>
		<comments>http://blog.bigbasti.com/visual-studio-2010-beta-2-erster-eindruck/#comments</comments>
		<pubDate>Wed, 21 Oct 2009 17:49:36 +0000</pubDate>
		<dc:creator>Sebastian Gross</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programme]]></category>
		<category><![CDATA[CSharp]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.bigbasti.com/?p=492</guid>
		<description><![CDATA[Seit heute ist die zweite Beta vom Visual Studio 2010 für die breite Masse verfügbar. Seit Beta 2 läuft das gute Stück Software auch unter Windows 7.
Bild 1: Der Ladebildschirm vom Visual Studio 2010

Microsoft hat VS10 ja ziemlich stark überarbeitet, zB basiert die Oberfläche nun auf WPF. Und zusammen mit dem neuen Visual Studio ...]]></description>
			<content:encoded><![CDATA[<p>Seit heute ist die zweite Beta vom Visual Studio 2010 für die breite Masse verfügbar. Seit Beta 2 läuft das gute Stück Software auch unter Windows 7.</p>
<p style="text-align: center;"><a href="http://blog.bigbasti.com/uploads/vs20102.png"><img class="aligncenter size-full wp-image-493" title="vs20102" src="http://blog.bigbasti.com/uploads/vs20102.png" alt="vs20102" width="543" height="383" /></a><em>Bild 1: Der Ladebildschirm vom Visual Studio 2010</em></p>
<p><a href="http://blog.bigbasti.com/uploads/dotnet4.png"><img class="size-full wp-image-494 alignleft" title="dotnet4" src="http://blog.bigbasti.com/uploads/dotnet4.png" alt="dotnet4" width="82" height="82" /></a>Microsoft hat VS10 ja ziemlich stark überarbeitet, zB basiert die Oberfläche nun auf WPF. Und zusammen mit dem neuen Visual Studio wird auch das .NET Framework 4.0 eingeführt, welches zur Zeit auch in der zweiten Beta vorliegt.</p>
<p>Nach dem man VS gestartet hat wird man wie auch in den letzten Versionen von einem Begrüßungsbildschirm empfangen.</p>
<p>Aber es wird sofort auffallen, dass die gesamte Oberfläche viel aufgeräumter ist, man wird nicht mehr mit seitenweise Text beworfen und die ganzen anderen kleinen Bereiche sind auch verschwunden!</p>
<p>Das Design an Sich ist im schlichten Blau gehalten, das sich durch alle Bereiche zieht. Auch nach dem man ein neues Projekt angelegt hat bleibt die Übersichtlichkeit erhalten und man wird nicht von 10 Funktionsleisten abgelenkt.</p>
<p><a href="http://blog.bigbasti.com/uploads/hellow3.png"><img class="aligncenter size-medium wp-image-502" title="hellow3" src="http://blog.bigbasti.com/uploads/hellow3-300x231.png" alt="hellow3" width="518" height="398" /></a></p>
<p style="text-align: center;"><em>Bild 2: Die erste Anwendung mit Framework 4.0 <img src='http://blog.bigbasti.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </em></p>
<p>Ich hatte bisher nur wenig Zeit um großartig viel auszuprobieren. Ich habe lediglich ein paar Zeilen geschrieben um zu schauen wie der neue Codeeditor sich schlägt.</p>
<p>Und man muss leider sagen, dass man merkt, dass es noch im Beta Stadium ist, denn Intellisense ist nicht so schnell wie in VS9 und ist öfter mal verwirrt. Auch kommt es vor, dass es irgendwo aufpoppt wo es garnicht hingehört!</p>
<p><a href="http://blog.bigbasti.com/uploads/vs20103.png"><img class="aligncenter size-full wp-image-501" title="vs20103" src="http://blog.bigbasti.com/uploads/vs20103.png" alt="vs20103" width="525" height="450" /></a></p>
<p style="text-align: center;"><em>Bild 3: Der Codeeditor</em></p>
<p>Der Editor an sich hat ein paar neue Features bekommen, zumindest sichtbare, denn nun werden fünf statt vier Farben benutzt um den Code zu formatieren und werden auch gleiche Begriffe hervorgehoben.</p>
<p>Ich freu mich trozdem schon auf weitere tests mit der IDE. Was habt ihr für Erfahrungen sammeln können?</p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.bigbasti.com/?flattrss_redirect&amp;id=492&amp;md5=4cdf262baa701af8b09f2e5afac48128" title="Flattr" target="_blank"><img src="http://blog.bigbasti.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigbasti.com/visual-studio-2010-beta-2-erster-eindruck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Windows 7  überzeugt mit tollem Treibermanagement</title>
		<link>http://blog.bigbasti.com/windows-7-uberzeugt-mit-tollem-treibermanagement/</link>
		<comments>http://blog.bigbasti.com/windows-7-uberzeugt-mit-tollem-treibermanagement/#comments</comments>
		<pubDate>Sun, 11 Oct 2009 18:12:44 +0000</pubDate>
		<dc:creator>Sebastian Gross</dc:creator>
				<category><![CDATA[Allgemein]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Programme]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.bigbasti.com/?p=465</guid>
		<description><![CDATA[Seit nun ca 2 Monaten nutze ich Windows 7 Professional und bin sehr begeistert von diesem "Besten Windows aller Zeiten" wie Microsoft es sagt.

Warum? Nicht nur dass es sehr schnell läuft, die neuen Netzwerk Funktionen, dank welcher LAN Party noch mehr Spaß machen werden aber auch die neue Taskleiste (die "Superbar") sehr gut umgesetzt ...]]></description>
			<content:encoded><![CDATA[<p>Seit nun ca 2 Monaten nutze ich Windows 7 Professional und bin sehr begeistert von diesem "Besten Windows aller Zeiten" wie Microsoft es sagt.</p>
<p>Warum? Nicht nur dass es sehr schnell läuft, die neuen Netzwerk Funktionen, dank welcher LAN Party noch mehr Spaß machen werden aber auch die neue Taskleiste (die "Superbar") sehr gut umgesetzt ist.</p>
<p>Was einem aber nicht gleich ins Auge springt, sind die Neuerungen "unter der Haube". So ist mir heute, als ich meinen Drucker an dem PC anschloss folgendes aufgefallen:</p>
<p style="text-align: center;"><a href="http://blog.bigbasti.com/uploads/treiber.png"><img class="aligncenter size-full wp-image-466" title="treiber" src="http://blog.bigbasti.com/uploads/treiber.png" alt="treiber" width="536" height="242" /></a><em>Bild 1: Automatisch Treiberinstallation</em></p>
<p>Wie immer wenn man ein neues Gerät an dem Computer schließt erscheint der Treiber Assistent und versucht passende Treiber zu finden. Dies gelang ihm aber in früheren Windows Versionen aber (so gut wie) nie!</p>
<p>So musste ich immer meine Treiber CD von Canon rauskramen und die Treiber installieren, die ca 100 MB Groß waren, warum auch immer!</p>
<p>So war ich umsomehr überrascht als Windows alles eigenständig erkannte und installierte. Und das mit nur 10 MB statt 100! Das ganze habe ich gleich auch noch mit einem Nokia 95 getestet, dass eigentlich die Nokia PC Suite benötigt.</p>
<p>Auch diese wurde heruntergeladen und installiert! Also hier mal ein riesen Komplement an Microsoft.</p>
<p>Windows 7 ist in meinen Augen ein sehr gelungenes OS geworden! Ich selber nutze es auf meinem Macbook Unibody neben Snow Leopard. Wobei ich Mac OS schon seit knapp einem Monat nicht mehr gebootet habe, was schon was heißt finde ich!</p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.bigbasti.com/?flattrss_redirect&amp;id=465&amp;md5=1a0caff57ab2ca624cef65712dedfaae" title="Flattr" target="_blank"><img src="http://blog.bigbasti.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigbasti.com/windows-7-uberzeugt-mit-tollem-treibermanagement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>VB.NET: PuTTY Sessions aus der Registry exportieren</title>
		<link>http://blog.bigbasti.com/vbnet-putty-sessions-aus-der-registry-exportieren/</link>
		<comments>http://blog.bigbasti.com/vbnet-putty-sessions-aus-der-registry-exportieren/#comments</comments>
		<pubDate>Tue, 06 Oct 2009 08:34:56 +0000</pubDate>
		<dc:creator>Sebastian Gross</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Programme]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[VB]]></category>
		<category><![CDATA[Windows]]></category>

		<guid isPermaLink="false">http://blog.bigbasti.com/?p=458</guid>
		<description><![CDATA[Wer mit PuTTY (ein SSH Client für Windows, zu finden hier) schon mal gearbeitet hat, weis, dass es ein sehr mächtiges Werkzeug ist. Doch leider hat PuTTY einen entscheidenden Nachteil, denn es speichert alle Einstellungen in der Windows Registry.

Warum ist das schlecht? Nun, wenn man zB. mehrere Arbeitsplätze hat oder PuTTY gern mal auf ...]]></description>
			<content:encoded><![CDATA[<p>Wer mit PuTTY (ein SSH Client für Windows, zu finden <a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">hier</a>) schon mal gearbeitet hat, weis, dass es ein sehr mächtiges Werkzeug ist. Doch leider hat PuTTY einen entscheidenden Nachteil, denn es speichert alle Einstellungen in der Windows Registry.</p>
<p>Warum ist das schlecht? Nun, wenn man zB. mehrere Arbeitsplätze hat oder PuTTY gern mal auf einem USB Stick mitnehmen will hat das Problem, dass er alle Einstellungen an jedem Rechner für jeden Benutzer aufs neue festlegen muss.</p>
<p>Das ist natürlich nicht allzu schön und wird problematisch, sobald man mehr als einen Server hat auf den man verbinden will!</p>
<p>An dieser Stelle hat der Blogger "<a href="http://socialistsushi.com/2005/11/17/portaputty" target="_blank">socialistsushi</a>" angesetzt und PuTTY so umgeschrieben, dass es seine Sessions lokal im PuTTY Ordner speichert. Das ist eine super Sache, da man nun alle seine Session immer dabei hat!</p>
<p>Aber ein Problem gibts da noch, denn wenn man grade umsteigt muss man alle seine Sessions neu anlegen, da Porta PuTTY (Wie das Tool heißt) die Sessions nur aus dem eigenen Ordner lesen kann!</p>
<p>Da ich das selber grade benötigte habe ich ein kleines Tool gebastelt, das für euch eure Sessions, die ihr bereits in der Registry angelegt habt exportiert, sodass ihr diese mit Porta PuTTY nutzen könnt.</p>
<p style="text-align: center;"><a href="http://blog.bigbasti.com/uploads/export.jpg"><img class="aligncenter size-full wp-image-459" title="export" src="http://blog.bigbasti.com/uploads/export.jpg" alt="export" width="430" height="121" /></a><br />
<em>Bild 1: Das kleine Tool Exportiert die Sessions aus der Registry</em></p>
<p>Eure Registry Sessions sind also nur einen Mausklick entfernt!</p>
<p>Das Demoprojekt inkl. dem build gibts hier: <a href="http://blog.bigbasti.com/exportmysessions" target="_blank">Download</a></p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.bigbasti.com/?flattrss_redirect&amp;id=458&amp;md5=d9742526550b1a579cc07b4d342467ee" title="Flattr" target="_blank"><img src="http://blog.bigbasti.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigbasti.com/vbnet-putty-sessions-aus-der-registry-exportieren/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Entwicklung unter UNIX-basierenden Systemen</title>
		<link>http://blog.bigbasti.com/net-entwicklung-unter-unix-basierenden-systemen/</link>
		<comments>http://blog.bigbasti.com/net-entwicklung-unter-unix-basierenden-systemen/#comments</comments>
		<pubDate>Sun, 30 Aug 2009 18:11:29 +0000</pubDate>
		<dc:creator>Sebastian Gross</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[CSharp]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Programme]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[VB]]></category>

		<guid isPermaLink="false">http://blog.bigbasti.com/?p=352</guid>
		<description><![CDATA[Seit längerem befindet sich das Projekt "Mono" in der Entwicklung und ist nun in der Version 2.4 verfügbar. Dank Mono wird .NET Plattformunabhängig und liefert das, was Microsoft schon längst hätte bringen sollen!

Mit MonoDevelop wird gleich auch eine sehr gute IDE zum Entwickeln mitgebracht! Diese läuft auf allen gängigen Systemen einschließlich Mac OS X. ...]]></description>
			<content:encoded><![CDATA[<p>Seit längerem befindet sich das Projekt "<a href="http://www.mono-project.com/Main_Page" target="_blank">Mono</a>" in der Entwicklung und ist nun in der Version 2.4 verfügbar. Dank Mono wird .NET Plattformunabhängig und liefert das, was Microsoft schon längst hätte bringen sollen!</p>
<p>Mit MonoDevelop wird gleich auch eine sehr gute IDE zum Entwickeln mitgebracht! Diese läuft auf allen gängigen Systemen einschließlich Mac OS X. Da das ganze auch noch open Source ist, ist es auch kostenlos zu haben!</p>
<p>Durch dieses Projekt wird Linux natürlich sehr interessant für .NET Entwickler und wird in Zukunft definitiv dazu führen dass es viele Anwendungen für alle geben wird, so wie es jetzt mit Java ist!</p>
<p>Ist die IDE Erstmal eingerichtet erinnert diese erstmal stark an Netbeans oder Eclipse:</p>
<p style="text-align: center;"><a href="http://blog.bigbasti.com/uploads/bildschirmfoto-2009-08-30-um-194735.png"><img class="aligncenter size-full wp-image-353" title="bildschirmfoto-2009-08-30-um-194735" src="http://blog.bigbasti.com/uploads/bildschirmfoto-2009-08-30-um-194735.png" alt="bildschirmfoto-2009-08-30-um-194735" width="660" height="458" /></a><em>Bild 1: MonoDevelop in einem C# Projekt</em></p>
<p>Diese wird ebenfalls stetig weiter entwickelt und erinnert jetzt schon sehr an der Visual Studio aus dem Hause Microsoft!</p>
<p>Einen compiler bekommt man natürlich auch gleich mit geliefert! Den man zb auch über die Konsole aufrufen kann:</p>
<p style="text-align: center;"><a href="http://blog.bigbasti.com/uploads/bildschirmfoto-2009-08-30-um-194838.png"><img class="aligncenter size-full wp-image-354" title="bildschirmfoto-2009-08-30-um-194838" src="http://blog.bigbasti.com/uploads/bildschirmfoto-2009-08-30-um-194838.png" alt="bildschirmfoto-2009-08-30-um-194838" width="588" height="409" /></a><em>Bild 2: Das aus Bild 1 kompilierte &amp; ausgeführte Projekt</em></p>
<p>Leider steht noch nicht das komplette .NET Framework, welches demnächst in der Version 4.0 erscheint verfügbar, sondern wird langsam stetig erweitert!</p>
<p>Wenn euer Interesse geweckt wurde und ihr das mal testen wollt, kann ich ein Video im <a href="http://www.microsoft.com/germany/msdn/solve/codeclips/library.aspx?id=msdn_de_36044" target="_blank">MSDN</a> empfehlen, welches die ersten Schritte sehr gut beschreibt und eine komplette kleine Anleitung liefert!</p>
<p>Ich werde demnächst das ganze mal auf dem Mac testen und gucken ob das ganze schon mit Java konkurrieren kann!</p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.bigbasti.com/?flattrss_redirect&amp;id=352&amp;md5=f57dc5004d1c15a3347c8cb60298b449" title="Flattr" target="_blank"><img src="http://blog.bigbasti.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigbasti.com/net-entwicklung-unter-unix-basierenden-systemen/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Codeklau &amp; wie man eigenen Code schützen kann Teil 1</title>
		<link>http://blog.bigbasti.com/codeklau-wie-man-eigenen-code-schutzen-kann-teil-1/</link>
		<comments>http://blog.bigbasti.com/codeklau-wie-man-eigenen-code-schutzen-kann-teil-1/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 22:21:58 +0000</pubDate>
		<dc:creator>Sebastian Gross</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Computer]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Programme]]></category>
		<category><![CDATA[Programmierung]]></category>
		<category><![CDATA[Tipps & Tricks]]></category>
		<category><![CDATA[Visual Basic]]></category>
		<category><![CDATA[Tutorials]]></category>
		<category><![CDATA[VB]]></category>
		<category><![CDATA[Windows]]></category>
		<category><![CDATA[Workaround]]></category>

		<guid isPermaLink="false">http://blog.bigbasti.com/?p=279</guid>
		<description><![CDATA[In dieser Reihe möchte ich darüber schreiben welche Probleme die Arbeit mit modernen Programmiersprachen mit sich bringt und wie man diese möglichst eindämmen und gering halten kann.

In dem ersten Teil werde ich darauf eingehen, wie und warum es möglich ist Code aus fertigen Applikationen zu extrahieren.

Das größte Problem, das jeder Closed-Source Programmierer hat, ist ...]]></description>
			<content:encoded><![CDATA[<p>In dieser Reihe möchte ich darüber schreiben welche Probleme die Arbeit mit modernen Programmiersprachen mit sich bringt und wie man diese möglichst eindämmen und gering halten kann.</p>
<p>In dem ersten Teil werde ich darauf eingehen, wie und warum es möglich ist Code aus fertigen Applikationen zu extrahieren.</p>
<p>Das größte Problem, das jeder<a href="http://de.wikipedia.org/wiki/Closed_Source" target="_blank"> Closed-Source</a> Programmierer hat, ist es den erstellten Code nicht für andere einsichtbar zu halten damit dieser nicht geklaut oder ohne Einwilligung oder Lizenzzahlungen weiterverwendet werden kann!</p>
<p>Aber wie ist es überhaupt möglich Code zu klauen wenn mann nur die fertige Applikation hat?</p>
<p>Zuerst sollte man sagen, dass es keinen 100%igen Schutz gibt! Alles kann geknackt oder modifiziert werden. Alle Firmen, die das gegenteil versprechen sind einfach nur unprofessionell. Denn alle Schutzmechanismen die es gibt sorgen lediglich dafür, dass man mehr Aufwand aufbringen muss, um diese wieder zu umgehen.</p>
<p>Früher war Codeklau noch sehr harte Arbeit, denn früher waren alle Anwendungen kompiliert, wurden also beim Erstellen direkt in <a href="http://de.wikipedia.org/wiki/Maschinensprache" target="_blank">Maschinencode</a> gewandelt! Diesen <a href="http://de.wikipedia.org/wiki/Maschinensprache" target="_blank">Maschinencode</a> wieder in lesbaren Quelltext zu wandeln ist sogut wie unmöglich, was man aber machen kann ist es diesen zu "<a href="http://de.wikipedia.org/wiki/Disassembler" target="_blank">Deassimblieren</a>" (engl. <a href="http://de.wikipedia.org/wiki/Disassembler" target="_blank">Disassamble</a>). Bei diesem Vorgang wird der vorliegende Native Code (Maschinencode) in ein für den Menschen lesbaren <a href="http://de.wikipedia.org/wiki/Assembler_%28Informatik%29" target="_blank">Assembler Code</a> umgewandelt.</p>
<p>Was man hier noch wissen sollte, ist dass früher (vor langer langer Zeit) alles in Assembler programmiert wurde. Assembler ist eine Sprache, die es dem Programmierer Erleichtert Code zu schreiben, dabei werden Befehle benutzt die der Prozessor, auf dem später der Code ausgeführt werden soll versteht. Somit muss man sich nicht mit Nullen und Einsen herumschlagen sondern hat was, was man auch einigermaßen lesen kann.</p>
<p style="text-align: center;"><a href="http://blog.bigbasti.com/uploads/5623_2.jpg"><img class="aligncenter size-full wp-image-281" title="5623_2" src="http://blog.bigbasti.com/uploads/5623_2.jpg" alt="5623_2" width="446" height="346" /></a><em>Grafik 1: So könnte ein Programm nach dem Disassamble-Vorgang aussehen</em></p>
<p><a href="http://de.wikipedia.org/wiki/H%C3%B6here_Programmiersprache#Vergleich_zur_Assemblersprache" target="_blank">Hier</a> findet ihr ein kleines Beispiel wie sich Assembler von einer Hochsprache wie zb. C++ unterscheidet!</p>
<p>Mit diesem erzeugten Assembler Code kann man nun weiter "arbeiten" und versuchen den Ablauf des Programms zu verstehen und diesen dann auch eventuell zu kopieren, zu klauen! Das ist natürlich je nach Größe extrem aufwendig und langwierig.</p>
<p>Übrigens: genauso gehen die so genannten "Cracker" vor wenn sie versuchen bestimmte Sicherheitmechanismen von Programmen oder Spielen zu deaktivieren. Sie suchen nach diesen Ereignissen in dem Assembler Code und versuchen diese umzuleiten oder zu löschen, sodass die "Gecrackte" Software dann anschließend zb. ohne gültige Lizenz oder ein Spiel ohne die Original CD im Laufwerk benutzt werden kann! Wer darüber mehr wissen will sollte einen Blick in die "Hacker-Bibel von Cyberdemon98" werfen.</p>
<p>Natürlich kann man mit diesem Vorgehen nicht wirklich Code "klauen" sondern mehr versuchen zu verstehen wie ein Programm arbeitet um dann zb. andere Programme darauf abzustimmen ("<a href="http://de.wikipedia.org/wiki/Schnittstelle_(UML)" target="_blank">Schnittstellen</a>" schafften). Diesen Vorgang nennt man dann <a href="http://de.wikipedia.org/wiki/Reverse_Engineering" target="_blank">reverse Engeneering</a> (deut. Umgekehrtes entwickeln).</p>
<p>Ein berühmtes Beispiel dafür ist der Instant Messaging Dienst ICQ, dieses Unternehmen hat keinerlei Spezifikationen über den Dienst oder das Protokoll veröffentlicht. Alle ICQ-Clients wie QIP, Miranda oder andere basieren komplett auf Reverse Engeneering! Deswegen kommt es auch oft, dass man sich gegenseitig keine Dateien schicken kann oder die Status-Nachricht eines Freundes lesen kann weil er einen anderen Client verwendet. Dies liegt einfach daran dass die Entwickler "raten" müssen wie diese Funktionen funktionieren und Kompabilitäten nur schwer geschaffen werden können! Dadurch geht ICQ sicher, dass nur ihr eigener Client perfekt funktioniert und alle Features beherrscht!</p>
<table style="height: 502px;" border="0" width="524">
<tbody>
<tr>
<td>
<p style="text-align: center;"><a href="http://blog.bigbasti.com/uploads/c-flow.png"><img class="aligncenter size-full wp-image-287" title="c-flow" src="http://blog.bigbasti.com/uploads/c-flow.png" alt="c-flow" width="340" height="470" /></a><em></em></p>
</td>
</tr>
<tr>
<td>
<p style="text-align: center;"><em>Grafik 2: Diese Schritte durchläuft C++ Code während der Compilierung</em></p>
</td>
</tr>
</tbody>
</table>
<p>Diese Codevariante, die so genannten unmanaged-code hervorbringt, der aus Maschinencode besteht erstellen die "alten" Programmiersprachen wie Delphi, C, VB6 und C++. Die Obere Grafik zeigt, dass nach der Kompilierung des Quelltextes, dieser noch weitere Schritte durchläuft und schließlich als Binäre Datei vorliegt, die nur auf einem bestimmten CPU-Typ und Betriebssystem läuft!</p>
<p>Die neueren Programmiersprachen wie etwa Microsofts .NET (Worunter auch C#, VB.NET fällt) oder Java verfolgen einen komplett anderen Ansatz der managed code erzeugt und förmlich zum Codeklauen einlädt!</p>
<p style="text-align: center;"><a href="http://blog.bigbasti.com/uploads/20011114_1x.png"><img class="aligncenter size-full wp-image-294" title="20011114_1x" src="http://blog.bigbasti.com/uploads/20011114_1x.png" alt="20011114_1x" width="519" height="320" /></a><em>Grafik 3: Compilierung von Managedcode Programmen (.NET &amp; Java)</em></p>
<p>Die Sprachen, die managed Code erzeugen, erzeugen nämlich keinen Maschinencode sondern so genannte <a href="http://de.wikipedia.org/wiki/.NET#Assemblys" target="_blank">Assemblys </a>welche eine Art Vorkompilierte Programme sind die nicht lauffähig sind.</p>
<p>Grafik 3 beschreibt im Oberen Teil, den Kompilierungs Prozess, der ziemlich einfach gestrickt ist. Der Code wird garnicht "Richtig" kompiliert sondern nur für die spätere Ausführung vorbereitet.</p>
<p>Warum ist das so? Nun heutzutage müssen Programme laufen, und nicht nur auf dem PC auf dem Sie geschrieben wurden sondern auch auf anderen und sogar auf anderen Betriebssystemen. Das ganze nennt sich dann <a href="http://de.wikipedia.org/wiki/Plattformunabh%C3%A4ngigkeit" target="_blank">Plattformunabhängigkeit</a>!</p>
<p>Java Programm zb. können auf allen gängigen Betriebssystemen ausgeführt werden. Egal ob Windows, Solaris, Mac OS oder Linux Java Programme funktionieren! Und damit das möglich ist dürfen die Programme nicht kompiliert werden!</p>
<p>Denn wenn ein Programm kompiliert wird wird es in Maschinencode umgewandelt. Und da jede Prozessorarchitektur einen eigenen Maschinencode hat und jedes Betriebssystem auch anders aufgebaut ist kann ein kompiliertes Programm immer nur auf dem System ausgeführt werden für das es kompiliert wurde!</p>
<p>Um dieses Problem zu umgehen werden Java Programme nur Vorkompiliert (zu so genannten Assemblys)  und dann wenn die gestartet werden (egal auf welchem Betriebssystem) werden sie erst "richtig" kompiliert, für das System auf dem sie gerade gestartet werden!</p>
<p>Warum ist das gut? Naja, so kann man ein Programm schreiben, und es ohne daran viel zu machen auf allen Systemen benutzen. Leider hat das System auch viele Schattenseiten, denn um ein solches vorkompiliertes Programm ausführen zu können muss eine Virtuelle Maschine installiert sein, die unser vorkompiliertes Programm "zu ende kompiliert" im Falle von Java ist es die JVM (<a href="http://de.wikipedia.org/wiki/Java_Virtual_Machine" target="_blank">Java Virtual Machine</a>) diese kompiliert das Programm passend zum Betriebssystem und sorgt für dessen korrekte Ausführung.</p>
<p>Desweiteren sind diese Programme natürlich auch langsamer als die Nativen, denn zb. die Java Programme müssen vor deren Start erst kompiliert werden und laufen in einer Virtuellen Maschine, was natürlich auch Geschwindigkeitseinbußen. (vergleichbar mit einem Virtuell ausgeführten Betriebssystem durch VMWare und co)</p>
<p>Aber nun schweife ich schon wieder ab! Was wichtig ist, ist dass die Managedcode Programme nicht in Maschinencode kompiliert werden. Der Zustand in dem sie dann verweilen macht es uns sehr leicht das Programm wieder zurück in Quelltext zu verwandeln und diesen dann zu Klauen!</p>
<p>Dieser Vorgang, bei dem eine Kompilierte Datei wieder in <span style="text-decoration: underline;">lesbaren</span> Quelltext verwandelt wird nennt man <a href="http://de.wikipedia.org/wiki/Decompiler" target="_blank">Dekompilierung</a>. Anders als beim Disassambling wird hierbei der Original Quelltext den der Programmierer geschrieben hat fast perfekt wiederhergestellt!</p>
<p>Davon sind alle managedcode Sprachen betroffen, da sie alle nach dem Prinzip aus Bild 3 arbeiten! (zb. Java, C#, VB.NET)</p>
<p>Für jede Sprache gibt es auch den passenden Decompiler, der den Original Quellentext in Sekunden herausspuckt! Viele dieser Decompiler sind hochkomplexe Programme und deswegen auch nicht kostenlos! Besonders wenns an das dekompilieren von Nativen Programmen geht wird man keine kostenlosen Programme finden die brauchbare Ergebnisse liefern!</p>
<p>Um Java Programme (.jar-Dateien) zu dekompilieren empfehle ich den <a href="http://java.decompiler.free.fr/?q=jdgui" target="_blank">JD Java Compiler</a>, dieser ist kostenlos und arbeitet sehr zuverlässig!</p>
<p style="text-align: center;"><a href="http://blog.bigbasti.com/uploads/screenshot1.png"><img class="aligncenter size-full wp-image-297" title="screenshot1" src="http://blog.bigbasti.com/uploads/screenshot1.png" alt="screenshot1" width="536" height="457" /></a><em>Bild 4: Der Java Decompiler in Action</em></p>
<p>Natürlich muss man auf so etwas wie Kommentare und Ordnungen verzichten, da diese bei dem Kompilierungs Prozess automatisch aus dem Quelltext gelöscht werden, da der Prozessor damit nix anfangen kann!</p>
<p>Um .NET Programme oder DLLs zu dekompilieren, wobei hier disassimbliren besser passt kann ich das Tool <a href="http://www.red-gate.com/products/reflector/index.htm" target="_blank">.NET Reflector von Redgate</a> empfehlen, es ist einfach zu benutzen und funktioniert perfekt!</p>
<p style="text-align: center;"><a href="http://www.red-gate.com/products/reflector/images/screenshot_full_screen.gif"><img class="aligncenter" title=".NET Reflector" src="http://www.red-gate.com/products/reflector/images/screenshot_full_screen.gif" alt="" width="489" height="587" /></a><em>Bild 5: Arbeiten mit dem .NET Reflector</em></p>
<p>Das Gute hierdran ist, dass man sogar in die .NET System Prozesse schauen kann um diese besser zu verstehen! Dieses Programm ist ebenfalls kostenlos nach einer Registrierung zu haben!</p>
<p>Wer das ganze mal ausprobieren will kann das gerne ja mal machen. Sucht euch einfach mal ein einfaches Java Programm, dabei ist es egal ob es ein Desktop Java Programm ist ober ein Mobile Programm aus dem J2ME. zb. den <a href="http://www.opera.com/mini/download/nokia/nokia_n90/" target="_blank">Opera Mini</a> und schaut euch mal dessen Innereien an.</p>
<p>Wenn ihr mal ein .NET Programm dekompilieren wollt kann ich für den Einstieg eins der Programme empfehlen, die ich hier im Blog veröffentlicht habe. (Schaut zb. in dem Letzten Beitrag. Ladet die Beispiel Datei herunter und entpackt den Ordner und geht in den Ordner TreeViewDemo\bin\debug\ dort müsstet ihr eine .exe Datei finden an der ihr euch austoben könnt!)</p>
<p>Als Ergänzung will ich noch sagen, dass ein Programm immer in managedcode UND in unmanagedcode kompiliert werden kann und somit manchmal nicht (so einfach) dekompiliert werden kann!</p>
<p>Wie man seinen Code schützen kann werde ich dann in dem zweiten Teil behandeln, da der hier ja schon ein bissl zuu lang geworden ist!</p>
<p><strong>Interessiert dich dieses Thema? Möchtest du hier mehr Beiträge darüber lesen? Schreib ein Kommentar was dir gefallen hat oder was nicht.</strong></p>
<p class="wp-flattr-button"></p> <p><a href="http://blog.bigbasti.com/?flattrss_redirect&amp;id=279&amp;md5=94f42aae8004e55b924696592294d9bb" title="Flattr" target="_blank"><img src="http://blog.bigbasti.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://blog.bigbasti.com/codeklau-wie-man-eigenen-code-schutzen-kann-teil-1/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

