<?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"
	>

<channel>
	<title>Skytecs Entwicklerblog</title>
	<atom:link href="http://blog.skytecag.com/index.php/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.skytecag.com</link>
	<description>Von Skytec für Entwickler - Informationen für Praktiker</description>
	<pubDate>Fri, 27 Jun 2008 08:53:46 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Java verteilt mit Kilim schnelle Nachrichten</title>
		<link>http://blog.skytecag.com/index.php/2008/06/27/java-verteilt-mit-kilim-schnelle-nachrichten/</link>
		<comments>http://blog.skytecag.com/index.php/2008/06/27/java-verteilt-mit-kilim-schnelle-nachrichten/#comments</comments>
		<pubDate>Fri, 27 Jun 2008 08:53:46 +0000</pubDate>
		<dc:creator>Gregor Ottmann</dc:creator>
		
		<category><![CDATA[Know-How]]></category>

		<category><![CDATA[Tools]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Kilim]]></category>

		<category><![CDATA[Message Passing]]></category>

		<category><![CDATA[Youtube]]></category>

		<guid isPermaLink="false">http://blog.skytecag.com/?p=190</guid>
		<description><![CDATA[Kennt Ihr dieses komische Gefühl, das einem beim Lesen eines Papers oder Verfolgen eines Vortrags überfällt? Dieses ungeile Gefühl, dass so ungefähr jeder Softwaremuckel da draußen so viel krasser als man selbst drauf ist, dass einem davon komisch wird? Nein? Dann schaut Euch mal den Vortrag über Message Passing mit Java und der Library &#8220;Kilim&#8221; [...]]]></description>
			<content:encoded><![CDATA[<p>Kennt Ihr dieses komische Gefühl, das einem beim Lesen eines Papers oder Verfolgen eines Vortrags überfällt? Dieses ungeile Gefühl, dass so ungefähr jeder Softwaremuckel da draußen so viel krasser als man selbst drauf ist, dass einem davon komisch wird? Nein? Dann schaut Euch mal den <a href="http://www.youtube.com/watch?v=37NaHRE0Sqw">Vortrag über Message Passing mit Java und der Library &#8220;Kilim&#8221;</a> an, den MHenze mir empfohlen hat.</p>
<p>OK, ich kriege nicht wirklich Komplexe, weil ich immerhin in der Lage bin, sowohl das Problem als auch den Lösungsansatz zu begreifen - nur komme ich mir irgendwie minderwertig vor, weil ich noch nie ein Problem hatte, das so einen wunderbar abstrakten, abgehobenen und irgendwie erregenden Lösungsweg erfordert hätte. Es sieht so aus, als müsste ich mir dringend ein paar ausgefallene Probleme, einen abgefahrenen Akzent und einen Satz wirklich feiner Ideen besorgen, um mich selbst wieder richtig ernst nehmen zu können.</p>
<p>Ach ja, einen <a href="http://www.malhar.net/sriram/kilim/">direkten Link zur Projektpage von Kilim</a> kriegt Ihr natürlich auch noch. Ich bin ja nicht so.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.skytecag.com/index.php/2008/06/27/java-verteilt-mit-kilim-schnelle-nachrichten/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Location Based Services mit ALOQA</title>
		<link>http://blog.skytecag.com/index.php/2008/05/13/location-based-services-mit-aloqa/</link>
		<comments>http://blog.skytecag.com/index.php/2008/05/13/location-based-services-mit-aloqa/#comments</comments>
		<pubDate>Tue, 13 May 2008 09:02:08 +0000</pubDate>
		<dc:creator>Gregor Ottmann</dc:creator>
		
		<category><![CDATA[Tools]]></category>

		<category><![CDATA[Android]]></category>

		<category><![CDATA[J2ME]]></category>

		<category><![CDATA[LBS]]></category>

		<category><![CDATA[Mobile Anwendungen]]></category>

		<guid isPermaLink="false">http://blog.skytecag.com/?p=189</guid>
		<description><![CDATA[Wir hatten schon vor einiger Zeit mit Leuten von der Uni München zu tun, die an einer API für die Realisierung von &#8220;Location Based Services&#8221; gebastelt haben, d.h. an Code für die Umsetzung von Funktionen, die auf die Position von Mobilgeräten reagieren. Als Uni-Projekt sah das schon nicht uninteressant aus, und heute habe ich von [...]]]></description>
			<content:encoded><![CDATA[<p>Wir hatten schon vor einiger Zeit mit Leuten von der Uni München zu tun, die an einer API für die Realisierung von &#8220;Location Based Services&#8221; gebastelt haben, d.h. an Code für die Umsetzung von Funktionen, die auf die Position von Mobilgeräten reagieren. Als Uni-Projekt sah das schon nicht uninteressant aus, und heute habe ich von unserem damaligen Kontakt erfahren, dass mittlerweile eine Firma für die Sache gegründet wurde, bei der besagter Kontakt geschäftsführert, die &#8220;<a href="http://www.aloqa.de/index_de.html">ALOQA GmbH</a>&#8220;.</p>
<p>Das Projekt von damals ist ziemlich gewachsen, inzwischen gibt es APIs für Android, normales Java und JavaScript - eine Version für Windows Mobile ist auch schon angekündigt. Ich hatte jetzt noch nicht wirklich die Gelegenheit, mir das alles im Detail anzusehen, aber <a href="http://dev.aloqa.com/">die Entwickler-Website von ALOQA</a> macht schon mal einen sehr guten Eindruck. Es scheint viel Doku zu geben und Beispiele habe ich auch gesehen - was will man mehr? Eine geeignete Lizenz vielleicht noch, aber die gibt es nach Aussage meines Kontakts scheinbar auch. Ich zitiere:</p>
<blockquote><p>Alle Schnittstellen und Softwaremodule können gemäß den Nutzungsbedingungen in einem bestimmten Rahmen kostenlos verwendet werden, solange der entwickelte Dienst / die mobile Anwendung Endnutzern kostenlos zur Verfügung steht.</p></blockquote>
<p>Klingt nicht verkehrt. Muss ich mir gelegentlich näher ansehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.skytecag.com/index.php/2008/05/13/location-based-services-mit-aloqa/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Quelloffener Kaffee</title>
		<link>http://blog.skytecag.com/index.php/2008/04/24/quelloffener-kaffee/</link>
		<comments>http://blog.skytecag.com/index.php/2008/04/24/quelloffener-kaffee/#comments</comments>
		<pubDate>Thu, 24 Apr 2008 06:17:15 +0000</pubDate>
		<dc:creator>Gregor Ottmann</dc:creator>
		
		<category><![CDATA[Aktuelles]]></category>

		<category><![CDATA[GPL]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Sun]]></category>

		<guid isPermaLink="false">http://blog.skytecag.com/?p=188</guid>
		<description><![CDATA[Juhuu, Sun öffnet jetzt wirklich alle Java-Quellen, so dass ich auf meinen Linuxkisten endlich nicht mehr irgendwelche dubiosen Restricted-Pakete installieren muss, um IT-Kaffee auf die Platte zu bekommen. Man könnte sagen, dass das ja auch lang genug gedauert hat und vermuten, dass Mono irgendwie doch irgendwas damit zu tun haben könnte - aber das würde [...]]]></description>
			<content:encoded><![CDATA[<p>Juhuu, Sun <a href="http://news.yahoo.com/s/infoworld/20080422/tc_infoworld/98999">öffnet jetzt wirklich alle Java-Quellen</a>, so dass ich auf meinen Linuxkisten endlich nicht mehr irgendwelche dubiosen Restricted-Pakete installieren muss, um IT-Kaffee auf die Platte zu bekommen. Man könnte sagen, dass das ja auch lang genug gedauert hat und vermuten, dass Mono irgendwie doch irgendwas damit zu tun haben könnte - aber das würde bedeuten, Sun zu kritisieren, und das wollen wir ja nicht. Da hacken wir lieber noch eine Runde auf Microsoft rum, das ist politisch deutlich korrekter und in den meisten Kreisen auch sozial verträglicher.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.skytecag.com/index.php/2008/04/24/quelloffener-kaffee/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Wenn die PHP-Session rumspinnt</title>
		<link>http://blog.skytecag.com/index.php/2008/04/18/wenn-die-php-session-rumspinnt/</link>
		<comments>http://blog.skytecag.com/index.php/2008/04/18/wenn-die-php-session-rumspinnt/#comments</comments>
		<pubDate>Fri, 18 Apr 2008 06:20:45 +0000</pubDate>
		<dc:creator>Gregor Ottmann</dc:creator>
		
		<category><![CDATA[Know-How]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Fuckup]]></category>

		<category><![CDATA[Session]]></category>

		<guid isPermaLink="false">http://blog.skytecag.com/?p=187</guid>
		<description><![CDATA[Ich war noch nie in der Situation, eine Website bei einem kommerziellen Horster horsten lassen zu müssen, aber für die, denen keine andere Wahl bleibt, könnte ich eventuell einen guten Tipp haben. Der Maxx hat nämlich heute eine Mail rumgeschickt, die den Eindruck macht, so manche schlaflose Nacht vermeiden zu können:
Falls jemand mal das „Vergnügen“ [...]]]></description>
			<content:encoded><![CDATA[<p>Ich war noch nie in der Situation, eine Website bei einem kommerziellen Horster horsten lassen zu müssen, aber für die, denen keine andere Wahl bleibt, könnte ich eventuell einen guten Tipp haben. Der Maxx hat nämlich heute eine Mail rumgeschickt, die den Eindruck macht, so manche schlaflose Nacht vermeiden zu können:</p>
<blockquote><p>Falls jemand mal das „Vergnügen“ haben sollte, eine Webanwendung auf einem Server eines der ganz großen deutschen Hoster zu betreiben und die PHP-Sessions mit ihm Lotto spielen sollten (das muss man auch erstmal merken), dann erspart Ihr Euch mit folgender Zeile in einer eigenen php.ini evtl. wertvolle Freizeit, erhaltet Eure Nerven und könnt die gewonnene Zeit für ein leckeres Bier nutzen:</p>
<p>session.save_path=/home/strato/www/&lt;first-two-letters-of-domain&gt;/&lt;domain&gt;/htdocs/sessions</p>
<p>Der Fehler ist nie wirklich reproduzierbar und die „aktive“ Session wird anscheinend mit dem ganz großen Würfel bestimmt. Meine Spekulation wäre ja, dass das /tmp Verzeichnis des Servers einfach voll ist (Anzahl Filehandles oder auch Inodes). Was aber doch verwunderlich ist, ist dass das dann keinen Fehler schmeisst, sondern scheinbar toll funktioniert… nur eben mit einer Zufalls-Session.</p></blockquote>
<p>Uuh, klingt ungroovy, also gar nicht tofte. Vor allem würde ich das für einen dieser Fehler halten, die einen mangels Reproduzierbarkeit ganz locker in klinische Zustände treiben können, und das muss ja nicht sein.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.skytecag.com/index.php/2008/04/18/wenn-die-php-session-rumspinnt/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SDL: XML für die, denen JSON nicht exotisch genug ist</title>
		<link>http://blog.skytecag.com/index.php/2008/04/14/sdl-xml-fur-die-denen-json-nicht-exotisch-genug-ist/</link>
		<comments>http://blog.skytecag.com/index.php/2008/04/14/sdl-xml-fur-die-denen-json-nicht-exotisch-genug-ist/#comments</comments>
		<pubDate>Mon, 14 Apr 2008 10:35:26 +0000</pubDate>
		<dc:creator>Gregor Ottmann</dc:creator>
		
		<category><![CDATA[Know-How]]></category>

		<category><![CDATA[Vermischtes]]></category>

		<category><![CDATA[sdl]]></category>

		<category><![CDATA[wtf]]></category>

		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://blog.skytecag.com/index.php/2008/04/14/sdl-xml-fur-die-denen-json-nicht-exotisch-genug-ist/</guid>
		<description><![CDATA[Du besitzt einen Mac und weigerst Dich standhaft, in reinen Microsoft-Umgebungen auch mal einen Windows-PC zu verwenden? Du würdest Dich lieber von einer Klippe stürzen, als eine Webapplikation mit J2EE oder .Net statt mit Ruby, Python oder INTERCAL zu realisieren? XML war für Dich nie ein Thema und JSON ärgert Dich inzwischen damit, dass es [...]]]></description>
			<content:encoded><![CDATA[<p>Du besitzt einen Mac und weigerst Dich standhaft, in reinen Microsoft-Umgebungen auch mal einen Windows-PC zu verwenden? Du würdest Dich lieber von einer Klippe stürzen, als eine Webapplikation mit J2EE oder .Net statt mit Ruby, Python oder INTERCAL zu realisieren? XML war für Dich nie ein Thema und JSON ärgert Dich inzwischen damit, dass es nicht mehr hip und obskur genug ist? Du bezeichnest jedes Programm, dass von mehr als 2 Leuten auf dem Planeten verstanden wird, als &#8220;Mainstreamkacke&#8221;?</p>
<p><a href="http://www.ikayzo.org/confluence/display/SDL/Home">Du solltest Dir unbedingt mal SDL ansehen, das wird Dir gefallen.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.skytecag.com/index.php/2008/04/14/sdl-xml-fur-die-denen-json-nicht-exotisch-genug-ist/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sharepoint und die Downloads aus dem Web Part</title>
		<link>http://blog.skytecag.com/index.php/2008/04/10/sharepoint-und-die-downloads-aus-dem-web-part/</link>
		<comments>http://blog.skytecag.com/index.php/2008/04/10/sharepoint-und-die-downloads-aus-dem-web-part/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 14:08:07 +0000</pubDate>
		<dc:creator>Gregor Ottmann</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Know-How]]></category>

		<category><![CDATA[c#]]></category>

		<category><![CDATA[gehirnverbiegung]]></category>

		<category><![CDATA[MOSS]]></category>

		<category><![CDATA[Sharepoint]]></category>

		<guid isPermaLink="false">http://blog.skytecag.com/index.php/2008/04/10/sharepoint-und-die-downloads-aus-dem-web-part/</guid>
		<description><![CDATA[Eigentlich ist die Anforderung ganz einfach und keineswegs unüblich: Man will auf einer Website irgendeine Datei dynamisch generieren, beispielsweise einen Excel-Report, die man dann per Klick auf einen Button zum Download anbietet. Sowas ist im Regelfall nicht schwer, außer natürlich, wenn man ein &#8220;Web Part&#8221; für Sharepoint baut. Wenn man das tut ist, wie ich [...]]]></description>
			<content:encoded><![CDATA[<p>Eigentlich ist die Anforderung ganz einfach und keineswegs unüblich: Man will auf einer Website irgendeine Datei dynamisch generieren, beispielsweise einen Excel-Report, die man dann per Klick auf einen Button zum Download anbietet. Sowas ist im Regelfall nicht schwer, außer natürlich, wenn man ein &#8220;Web Part&#8221; für Sharepoint baut. Wenn man das tut ist, wie ich inzwischen weiß, ziemlich vieles schwer, schmerzhaft und generell mehr oder weniger unbefriedigend.</p>
<p>An sich ist die Sache aj auch in ASP ganz easy und in vielen Blogposts beschrieben, beispielsweise bei den <a href="http://dotnetslackers.com/community/blogs/haissam/archive/2007/04/03/Downloading-Files-C_2300_.aspx">Dotnetslackers</a>. Das Problem ist nur, dass bei diesem Ansatz die Datei erst nach einem Postback generiert und an den Client geschickt wird, dieser Postback aber das momentan angezeigte Formular nicht neu vom Server lädt. Problem? Wieso Problem?</p>
<p>Ganz einfach: Sharepoint meint es gut mit uns und sorgt per JavaScript dafür, dass Formulare nicht öfter als einmal abgeschickt werden können, beispielsweise durch amokklickende Benutzer. Das führt dazu, dass nach dem Download der Datei das Formular hinüber ist, d.h. es nicht mehr abgeschickt werden kann, weil es ja schon mal abgeschickt wurde. Sehr blöde, und die Lösungen, von denen ich gelesen habe, waren allesamt extrem kompliziert zu implementieren, weil sie irgendwelche speziellen Download-Handler vorgesehen haben. Mensch, Leute, ich habe eine Deadline und nicht beliebig viel Budget - ich brauche eine EINFACHE Lösung. Meinetwegen auch einen kleinen Hack.</p>
<p>Einen solchen Hack habe ich dann auch hinbekommen. Diese Resubmit-Sperre wird von Sharepoint nämlich im onsubmit-Handler des Formulars aufgerufen, so dass man nur beim Klick auf den Downloadbutton genau diesen Handler wegschießen muss:</p>
<blockquote><p> exportButton = new Button();<br />
exportButton.Text = &#8220;Generate some Excel stuff&#8221;;</p>
<p>// the handler method generates the file, writes it to the response and ends the response.<br />
exportButton.Click += onExcelExportClicked;</p>
<p>// erase the form&#8217;s onsubmit handler when the button is clicked<br />
exportButton.OnClientClick = &#8220;this.form.onsubmit = function() {return true;}&#8221;;</p></blockquote>
<p>Hässlich, ja, und eventuell auch gefährlich, wenn man nicht aufpasst, aber es funktioniert. Die nächste Verbesserung wird sein, dass ich irgendwie nach dem Download den ursprünglichen onsubmit-Handler wieder herstelle oder so - aber das mache ich erst, wenn ich es brauche.</p>
<p><em>(Nur, falls irgendwer sich wundert: Das Posting mit dem identischen Codebeispiel im MSDN-Forum ist nicht geklaut, sondern auch von mir.)</em></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.skytecag.com/index.php/2008/04/10/sharepoint-und-die-downloads-aus-dem-web-part/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Excelfiles einfach generieren mit Flexcel</title>
		<link>http://blog.skytecag.com/index.php/2008/04/10/excelfiles-einfach-generieren-mit-flexcel/</link>
		<comments>http://blog.skytecag.com/index.php/2008/04/10/excelfiles-einfach-generieren-mit-flexcel/#comments</comments>
		<pubDate>Thu, 10 Apr 2008 06:46:07 +0000</pubDate>
		<dc:creator>Gregor Ottmann</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[Tools]]></category>

		<category><![CDATA[ASP]]></category>

		<category><![CDATA[Excel]]></category>

		<category><![CDATA[Generator]]></category>

		<category><![CDATA[Reporting]]></category>

		<guid isPermaLink="false">http://blog.skytecag.com/index.php/2008/04/10/excelfiles-einfach-generieren-mit-flexcel/</guid>
		<description><![CDATA[Eine Warnung vorweg: Die nachfolgende Toolempfehlung kostet Geld. Im Grunde ist das Teil zwar spottbillig, aber wenn man aus Prinzip nix benutzen mag, für das man seine $$$ auf den Tisch werfen muss, sollte man jetzt eine andere News lesen.
Also. Wir mussten neulich für einen Kunden Excel-Files erzeugen, und zwar total komplizierte. Das Ganze durfte [...]]]></description>
			<content:encoded><![CDATA[<p><em>Eine Warnung vorweg: Die nachfolgende Toolempfehlung kostet Geld. Im Grunde ist das Teil zwar spottbillig, aber wenn man aus Prinzip nix benutzen mag, für das man seine $$$ auf den Tisch werfen muss, sollte man jetzt eine andere News lesen.</em></p>
<p>Also. Wir mussten neulich für einen Kunden Excel-Files erzeugen, und zwar total komplizierte. Das Ganze durfte natürlich keine Excel-Installation auf dem Server voraussetzen, und CSV war definitiv keine Option, logo. Ein Fluch bildete sich schon auf unseren Lippen, als Paul ein Toolkit fand, das sich zur Rettung unserer Hinterteile in letzter Sekunde eignete: <a href="http://www.tmssoftware.com/site/flexcelnet.asp">TMS Flexcel Studio for .Net</a>.</p>
<p>Dieses Flexcel-Dings kann nicht nur beliebige Excel-Dateien einlesen, die darin enthaltenen Formeln berechnen, die Inhalte beliebig verändern und dann wieder eine Excel-Datei ausspucken. Nein, das wäre ja noch harmlos. Es enthält auch eine Reporting-Engine und kann Excel-Files als PDF oder HTML rendern, wobei Excel-Charts als PNG ausgegeben werden. Besonders geil ist das beiligende Tool, das eine beliebige Excel-Datei einlesen und daraus den Sourcecode in C#, VB oder Delphi generieren kann, den man bräuchte, um die Quelldatei programmatisch zu erzeugen&#8230; Das muss man echt mal gesehen haben.</p>
<p>Ach ja: Der Sourcecode der gesamten Komponente inklusive PDF-Library liegt bei, wenn man das Tool für sagenhaft günstige 125 EUR pro Entwickler kauft. Für 495 EUR gibt&#8217;s eine &#8220;Site Licence&#8221;, die dann von beliebig vielen Entwicklern einer Firma benutzt werden darf - da kann man nicht meckern. Insbesondere dann nicht, wenn man sich überlegt, wieviel eine Excel-Lizenz für den Server kosten würde. Oder die Eigenentwicklung so einer Killerkomponente.</p>
<p>Und nein, ich bin nicht zum reinen Microsoftie verkommen. Ich arbeite halt momentan mehr oder weniger ausschließlich mit dem Zeugs, hoffe aber darauf, irgendwann mal wieder was mit Java machen zu dürfen - und dann kriegt Ihr auch wieder Blogposts, die sich nicht um den MS-Krempel drehen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.skytecag.com/index.php/2008/04/10/excelfiles-einfach-generieren-mit-flexcel/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Confusion by Extension: Extensionsmethodierung im Scharf-C</title>
		<link>http://blog.skytecag.com/index.php/2008/03/17/confusion-by-extension-extensionsmethodierung-im-scharf-c/</link>
		<comments>http://blog.skytecag.com/index.php/2008/03/17/confusion-by-extension-extensionsmethodierung-im-scharf-c/#comments</comments>
		<pubDate>Mon, 17 Mar 2008 09:04:46 +0000</pubDate>
		<dc:creator>Gregor Ottmann</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[Know-How]]></category>

		<category><![CDATA[c#]]></category>

		<category><![CDATA[extension methods]]></category>

		<category><![CDATA[gehirnverbiegung]]></category>

		<guid isPermaLink="false">http://blog.skytecag.com/index.php/2008/03/17/confusion-by-extension-extensionsmethodierung-im-scharf-c/</guid>
		<description><![CDATA[Der einfachste Weg, um schönen Code komplett unverständlich zu kriegen, ist meiner Meinung nach definitiv AOP, d.h. aspektorientierte Programmierung. Diese total hippe Möglichkeit, um Code gewissermaßen um 90° versetzt zur Klassenhierarchie zu pflegen und mehr oder weniger deklarativ an Stellen einzubringen, mit denen man nicht gerechnet hätte, kann mit Fug und Recht als &#8220;das neue [...]]]></description>
			<content:encoded><![CDATA[<p>Der einfachste Weg, um schönen Code komplett unverständlich zu kriegen, ist meiner Meinung nach definitiv AOP, d.h. aspektorientierte Programmierung. Diese total hippe Möglichkeit, um Code gewissermaßen um 90° versetzt zur Klassenhierarchie zu pflegen und mehr oder weniger deklarativ an Stellen einzubringen, mit denen man nicht gerechnet hätte, kann mit Fug und Recht als &#8220;das neue GOTO&#8221; bezeichnet werden. Finde ich zumindest, und meine Meinung ist bekanntlich reichlich normativ.</p>
<p>Man kann sich also vorstellen, wie glücklich ich war, als ich gemerkt habe, dass Microsoft in C# mittlerweile eine spezielle Delikatesse namens &#8220;Extension Methods&#8221; anbietet. Das sind Methoden, die sich mehr oder weniger automatisch an Instanzen bestimmter Klassen hängen und so tun, als wären sie Teil der Klasse. Ja, das ist gewissermaßen AOP Deluxe: Die gesamte Verwirrung und Unverständlichkeit der AOP, nur nicht so mächtig wie AspectJ oder vergleichbare S/M-Technologien. Genial, das muss ich in Zukunft in jedem einzelnen Stück Code verwenden, von dem ich sicher weiß, dass es zukünftig nur von anderen gepflegt werden muss, nicht von mir selbst.</p>
<p>Ah, fast vergessen - einen Link gibt es ja auch noch: <a href="http://msdn2.microsoft.com/en-us/library/bb383977.aspx">Extension Methods bei MSDN</a>. Go and knock yourselves out.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.skytecag.com/index.php/2008/03/17/confusion-by-extension-extensionsmethodierung-im-scharf-c/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Configgerationiere Deine web.config mit ASPHere!</title>
		<link>http://blog.skytecag.com/index.php/2008/02/13/configge-deine-webconfig-mit-asphere/</link>
		<comments>http://blog.skytecag.com/index.php/2008/02/13/configge-deine-webconfig-mit-asphere/#comments</comments>
		<pubDate>Wed, 13 Feb 2008 08:01:05 +0000</pubDate>
		<dc:creator>Gregor Ottmann</dc:creator>
		
		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://blog.skytecag.com/index.php/2008/02/13/configge-deine-webconfig-mit-asphere/</guid>
		<description><![CDATA[Diese Deskriptoren machen mich ganz deskriptiv, egal für welche Technologie. Wenn ich eine web.xml basteln muss, werde ich ganz kribbelig und glaubt mir - bei einer web.config für ASP.NET ist das kein Stück besser. Können diese blöden Websites nicht einfach genau das tun, was ich mir so denke, statt von mir zu verlangen, dass ich [...]]]></description>
			<content:encoded><![CDATA[<p>Diese Deskriptoren machen mich ganz deskriptiv, egal für welche Technologie. Wenn ich eine web.xml basteln muss, werde ich ganz kribbelig und glaubt mir - bei einer web.config für ASP.NET ist das kein Stück besser. Können diese blöden Websites nicht einfach genau das tun, was ich mir so denke, statt von mir zu verlangen, dass ich es vernünftig aufschreibe? Ist das etwa zuviel verlangt? Scheinbar schon.</p>
<p>Dank PRogalinski ist der Schmerz zumindest bei der ASP-Konfickelei jetzt aber etwas weniger schlimm, denn er hat mir <a href="http://asphere.aspweb.cz">das web.config-Editiertooldings &#8220;ASPHere&#8221;</a> gezeigt, von dem ich ziemlich begeistert bin. OK, ich habe es nur mal kurz ausprobiert, aber meine vorhandenen Dateien konnte es einlesen und bearbeiten, ohne Fehler zu spucken - das ist ein gutes Zeichen.</p>
<p style="text-align: center"><a href="http://blog.skytecag.com/index.php/2008/02/13/configge-deine-webconfig-mit-asphere/asphere/" rel="attachment wp-att-181" title="ASPHere"><img src="http://blog.skytecag.com/downloads/2008/02/asphere.thumbnail.png" alt="ASPHere" /></a></p>
<p>Besonders fein finde ich bei dem Tool noch nicht mal unbedingt, dass man visuell configgen kann, sondern dass man eine übersichtliche Liste der möglichen Optionen nebst Hilfestexten, Tooltips und Links zu MSDN hat. Meistens ist es schließlich gar nicht so arg schwer, den Kram hinzuschreiben - nur weiß man halt von den meisten Optionen gar nicht, dass es sie überhaupt gibt, und da hilft so ein Optionsbrowser doch enorm. Wer sich mit ASP rumschlagen muss, sollte jedenfalls mal einen Blick auf das Dings werfen.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.skytecag.com/index.php/2008/02/13/configge-deine-webconfig-mit-asphere/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Von Typen mit Strings und assemblierter Sicherheit</title>
		<link>http://blog.skytecag.com/index.php/2008/02/10/von-typen-mit-strings-und-assemblierter-sicherheit/</link>
		<comments>http://blog.skytecag.com/index.php/2008/02/10/von-typen-mit-strings-und-assemblierter-sicherheit/#comments</comments>
		<pubDate>Sun, 10 Feb 2008 18:40:59 +0000</pubDate>
		<dc:creator>Gregor Ottmann</dc:creator>
		
		<category><![CDATA[.Net]]></category>

		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[Know-How]]></category>

		<guid isPermaLink="false">http://blog.skytecag.com/index.php/2008/02/10/von-typen-mit-strings-und-assemblierter-sicherheit/</guid>
		<description><![CDATA[Picture it: Sicily, 1922. A beautiful young girl meets an american guy who wants to make every single developer in the world throw up continuously. The girl was me and the guy was Bill Gates&#8230;
So oder ähnlich denkt man, wenn man a) zuviele Folgen der Golden Girls gesehen hat und b) gerade mit .NET arbeitet. [...]]]></description>
			<content:encoded><![CDATA[<blockquote>Picture it: Sicily, 1922. A beautiful young girl meets an american guy who wants to make every single developer in the world throw up continuously. The girl was me and the guy was Bill Gates&#8230;</p></blockquote>
<p>So oder ähnlich denkt man, wenn man a) zuviele Folgen der Golden Girls gesehen hat und b) gerade mit .NET arbeitet. Zumindest dann, wenn man gerade folgende Situation hatte:</p>
<ul>
<li>Ein WebPart enthält einen GridView mit einer ObjectDataSource, die auf ein eigenes DAL verweist</li>
<li>Das Part funktioniert in ASP-Seiten</li>
<li>Das Part funktioniert im Sharepoint mit voller Pulle Trustlevel</li>
<li>Das Part fliegt mit einem Hinweis, dass die DAL-Klasse nicht gefunden wurde, auseinander, wenn man es im GAC installiert.</li>
</ul>
<p>Des Rätsels Lösung war ganz einfach, wenn man nur weiß, wo man suchen muss. Wir hatten diesen Code (den ich aus einem Tutorial kopiert hatte) im Part:</p>
<blockquote><p>ObjectDataSource ods = new ObjectDataSource();<br />
ods.EnablePaging = true;<br />
ods.SelectMethod = &#8220;getItems&#8221;;<br />
ods.SelectCountMethod = &#8220;GetTotalItemCount&#8221;;<br />
ods.SortParameterName = &#8220;sortExpression&#8221;;<br />
ods.TypeName = typeof(AreDal).ToString();</p></blockquote>
<p>Die letzte Zeile musste wie folgt geändert werden, damit das Mistding vernünftige Klassennamen mit Assembly-Namen und Public-Key-Dingsbums ausspuckt:</p>
<blockquote><p>ods.TypeName = typeof(AreDal).AssemblyQualifiedName;</p></blockquote>
<p>NA DANN! Wieso ist das ToString bei dem Mist eigentlich nicht gleich so implementiert, dass es ordentlich funktioniert? Kann mir das irgendwer verraten? Nein? Naja, auch egal, ich hab&#8217;s ja jetzt.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.skytecag.com/index.php/2008/02/10/von-typen-mit-strings-und-assemblierter-sicherheit/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
