<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>//kouder</title>
	
	<link>http://kouder.net</link>
	<description>Building Software</description>
	<lastBuildDate>Fri, 25 May 2012 12:51:51 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/kouder" /><feedburner:info uri="kouder" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>kouder</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Node.js in the Cloud</title>
		<link>http://feedproxy.google.com/~r/kouder/~3/ni0PjTLzKHw/</link>
		<comments>http://kouder.net/2012/05/25/node-js-in-the-cloud/#comments</comments>
		<pubDate>Fri, 25 May 2012 12:47:06 +0000</pubDate>
		<dc:creator>Dariusz</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kouder.net/?p=316</guid>
		<description><![CDATA[I will come back to Berlin and I&#8217;m proud to host this Event at the Darksidebakery. A short technical, overview on our Node.js Support in Windows Azure. Here are the details: Node.js in the Cloud Join us for this brief overview on Node.js and Windows Azure Support. We will cover the following topics Node.js &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p>I will come back to Berlin and I&#8217;m proud to host this Event at the <a title="Darksidebakery" href="http://darksidebakery.de">Darksidebakery</a>. A short technical, overview on our Node.js Support in Windows Azure. Here are the details:</p>
<div>
<blockquote>
<h4>Node.js in the Cloud</h4>
<p>Join us for this brief overview on Node.js and Windows Azure Support. We will cover the following topics</p>
<ul>
<li>Node.js &#8211; a short intro and how is Microsoft engaged</li>
<li>Brief overview on Windows Azure</li>
<li>Node.js on Windows Azure</li>
<li>Tools and Demos</li>
<li>Use cases</li>
<li>Q&amp;A</li>
</ul>
</blockquote>
<p>As we are in Berlin this event will be in English. If you are interested, please register via Eventbrite:</p>
<p><a title="Register for Node.js in the Cloud" href="http://bit.ly/nodejsonazure">Register for Node.js in the Cloud</a></p>
<p>Hope to see you in Berlin!</p>
</div>
<img src="http://feeds.feedburner.com/~r/kouder/~4/ni0PjTLzKHw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kouder.net/2012/05/25/node-js-in-the-cloud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kouder.net/2012/05/25/node-js-in-the-cloud/</feedburner:origLink></item>
		<item>
		<title>Windows 8 Hackathon – Leipzig Edition</title>
		<link>http://feedproxy.google.com/~r/kouder/~3/w3X5ouuZKdw/</link>
		<comments>http://kouder.net/2012/05/16/windows-8-hackathon-leipzig-edition/#comments</comments>
		<pubDate>Wed, 16 May 2012 05:06:32 +0000</pubDate>
		<dc:creator>Dariusz</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://kouder.net/?p=309</guid>
		<description><![CDATA[Du bist leidenschaftlicher Coder? Du erzielst gerne Ergebnisse? Du hast einfach Spaß mit Leuten zusammen Ideen auszutauschen und zu realisieren? Dann komme doch zum Windows 8 Hackathon nach Leipzig! Wir veranstalten zusammen mit der ALT.NET Berlin, der .NET Developer Group Braunschweig, der .NET User Group Dresden und der .NET User Group Leipzig einen Windows 8 Hackathon. [...]]]></description>
			<content:encoded><![CDATA[<p>Du bist leidenschaftlicher Coder? Du erzielst gerne Ergebnisse? Du hast einfach Spaß mit Leuten zusammen Ideen auszutauschen und zu realisieren? Dann komme doch zum Windows 8 Hackathon nach Leipzig! Wir veranstalten zusammen mit der ALT.NET Berlin, der .NET Developer Group Braunschweig, der .NET User Group Dresden und der .NET User Group Leipzig einen Windows 8 Hackathon.</p>
<p>Wie für einen wahren Hackathon üblich findet das Coding Nachts statt. Wir starten am 15.Juni um 19.00 Uhr und wollen bis morgens um 07.00 Uhr durchmachen. Ziel ist es eine Windows 8 App zu schreiben, die Technologie hierfür bleibt vollkommen Euch überlassen. Ob C# und XAML, HTML5 und JavaScript oder DirectX mit C++, Ihr habt die Wahl wie die technische Umsetzung aussieht. Technische Unterstützung Vor-Ort ist vorhanden, ebenso Verpflegung in Form eines kostenfreien Grillbuffets samt Getränken.</p>
<p>Mein Kollege Tom Wendel und ich werden auch Vor-Ort sein. Wir freuen uns!</p>
<p>Um Dich für den Hackathon zu registrieren folge diesem <a href="http://dotnet-leipzig.de/veranstaltungen/dnug-event-2012-windows-8-hackathon/">Link</a>.</p>
<img src="http://feeds.feedburner.com/~r/kouder/~4/w3X5ouuZKdw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kouder.net/2012/05/16/windows-8-hackathon-leipzig-edition/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kouder.net/2012/05/16/windows-8-hackathon-leipzig-edition/</feedburner:origLink></item>
		<item>
		<title>Metro Style Apps für Windows 8</title>
		<link>http://feedproxy.google.com/~r/kouder/~3/HLcp3wXNVS0/</link>
		<comments>http://kouder.net/2012/04/25/metro-style-apps-fur-windows-8-2/#comments</comments>
		<pubDate>Wed, 25 Apr 2012 07:27:42 +0000</pubDate>
		<dc:creator>Dariusz</dc:creator>
				<category><![CDATA[Featured]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://kouder.net/?p=284</guid>
		<description><![CDATA[Auf der letztjährigen //build Konferenz in Anaheim wurde Windows 8 das erste Mal der Entwicklergemeinde offiziell vorgestellt und in Form der Windows 8 Developer Preview konnte man gleich praktische Entwicklererfahrung sammeln. Das war letzten September und in der Zwischenzeit hat sich einiges getan. Die Consumer Preview von Windows 8 ist verfügbar und die Windows 8 [...]]]></description>
			<content:encoded><![CDATA[<p>Auf der letztjährigen //build Konferenz in Anaheim wurde Windows 8 das erste Mal der Entwicklergemeinde offiziell vorgestellt und in Form der Windows 8 Developer Preview konnte man gleich praktische Entwicklererfahrung sammeln. Das war letzten September und in der Zwischenzeit hat sich einiges getan. Die Consumer Preview von Windows 8 ist verfügbar und die Windows 8 Release Preview für Anfang Juni bereits angekündigt. Mit der Consumer Preview von Windows 8 stehen dem Entwickler Visual Studio 11 Express Beta und Blend für Visual Studio 11 Beta zur Verfügung. Mit diesen Tools lassen sich Windows 8 Metro Style Apps entwickeln und in den Windows Store publizieren.</p>
<h4>WinRT als Grundlage</h4>
<p>Die WinRT APIs sind die Basis und zentrale Schnittstelle zum Betriebssystem für die Entwicklung einer Metro Style App. Ob Dateizugriff, Zugriff auf XML Dokumente, Sensoren, Netzwerkzugriff, etc&#8230;, die WinRT bietet Anwendungsentwicklern die entsprechende Funktion in einer einheitlichen API. Einheitlich in der Form, das es die gleiche API für C++, C#, Visual Basic oder JavaScript ist.</p>
<p>Ein Beispiel soll hier den Zugriff auf die WinRT verdeutlichen. Die Webcam lässt sich über die WinRT Klasse Windows.Media.MediaCapture.CameraCaptureUI ansprechen. Der folgende C++ Code spricht die Kamera genauso an</p>
<pre class="csharpcode"><span class="kwrd">using</span> <span class="kwrd">namespace</span> Windows::Media::Capture;

...

auto cam = <span class="kwrd">ref</span> <span class="kwrd">new</span> CameraCaptureUI();

task&lt;StorageFile^&gt;( cam-&gt;CaptureFileAsync( CameraCaptureUIMode::Photo )).then([<span class="kwrd">this</span>](StorageFile^ file)
{
    task&lt;IRandomAccessStream^&gt;( file-&gt;OpenAsync(Windows::Storage::FileAccessMode::Read)).then([<span class="kwrd">this</span>](IRandomAccessStream^ stream)
    {
        BitmapImage^ image = <span class="kwrd">ref</span> <span class="kwrd">new</span> BitmapImage();
        image-&gt;SetSource(stream);
        photo-&gt;Source = image;
    });
});</pre>
<p>wie der nachfolgende JavaScript Code</p>
<pre class="csharpcode"><span class="kwrd">var</span> capture = Windows.Media.Capture;

...

<span class="kwrd">var</span> dialog = <span class="kwrd">new</span> capture.CameraCaptureUI();
dialog.captureFileAsync( camera.CameraCaptureUIMode.photo ).then( <span class="kwrd">function</span>( file ) {
    imageElement.src = URL.createObjectUrl(file);
});</pre>
<p>Bestehendes Know-How nutzen</p>
<p>Richtig! Es ist vollkommen egal ob man Windows 8 Metro Style Apps mit C++ oder mit JavaScript schreibt. Mit beiden Sprachen hat man die Möglichkeit eine Metro Style App zu schreiben die in Funktion der anderen in nichts nachsteht. Nun, ganz so ist es nicht, da man mit der Oberflächenvisualisierung die ein oder andere Möglichkeit mehr hat. Denn aufbauend auf der WinRT kommt nun die Visualisierungstechnologie zum Zuge. Das ist im Falle von C++ zum Beispiel DirectX oder auch XAML, das ebenso die verwendete Technologie für C# und Visual Basic ist. Nutzt man JavaScript hingegen kann man mit HTML5 und CSS3 bestehendes Webentwickler Know-how anwenden.</p>
<h4>Metro Style Apps mit XAML</h4>
<p>Hat man Beispielsweise C# und Silverlight oder WPF Know How so liegt es nahe eine Metro Style App mit XAML und C# zu bauen. Es sind die gleichen Techniken und Entwurfsmuster die hier zum Einsatz kommen.</p>
<pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">Grid</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">Grid.ColumnDefinitions</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">ColumnDefinition</span> <span class="attr">Width</span><span class="kwrd">="Auto"</span><span class="kwrd">/&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">ColumnDefinition</span> <span class="attr">Width</span><span class="kwrd">="*"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">Grid.ColumnDefinitions</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">Button</span> <span class="attr">x:Name</span><span class="kwrd">="backButton"</span> <span class="attr">Click</span><span class="kwrd">="GoBack"</span> <span class="attr">IsEnabled</span><span class="kwrd">="{Binding Frame.CanGoBack, ElementName=pageRoot}"</span> <span class="attr">Style</span><span class="kwrd">="{StaticResource BackButtonStyle}"</span><span class="kwrd">/&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">TextBlock</span> <span class="attr">x:Name</span><span class="kwrd">="pageTitle"</span> <span class="attr">Text</span><span class="kwrd">="{StaticResource AppName}"</span> <span class="attr">Grid</span>.<span class="attr">Column</span><span class="kwrd">="1"</span> <span class="attr">Style</span><span class="kwrd">="{StaticResource PageHeaderTextStyle}"</span><span class="kwrd">/&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">Grid</span><span class="kwrd">&gt;</span></pre>
<p>Das ist die Defintion der Überschrift samt Back-Buttons aus dem Visual Studio Default Grid Projekt Template. Das ist XAML, das XAML das WPF und Silverlight Entwickler kennen und lieben. Und liebgewonnene Entwurfsmuster wie das populäre MVVM (Model-View-ViewModel) können auch weiter verwendet werden. Unter Umständen lassen sich auch bestehende View Modelle aus Projekten übernehmen.</p>
<h4>Metro Style Apps mit HTML5</h4>
<p>Webentwicklern steht eine neue Welt offen. Mit den bisherigen Kenntnissen zu HTML5, CSS3 und JavaScript lassen sich nun Windows 8 Metro Style Apps schreiben. Auch populäre Frameworks wie z.B. jQuery lassen sich nutzen und weiterverwenden. Ein weiterer Satz an Funktionalitäten kommt in Form der WinJS. Die WinJS ist eine JavaScript Bibliothek die hilfreiche Funktionalität anbietet und auch visuelle Animationen und Controls und weiteres beherbergt. Mit der WinJS verwandeln sich Standard div Elemente in Windows 8 konforme Steuerelemente.</p>
<pre class="csharpcode"><span class="kwrd">&lt;</span><span class="html">div</span> <span class="attr">id</span><span class="kwrd">="template"</span> <span class="attr">data-win-control</span><span class="kwrd">="WinJS.Binding.Template"</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;</span><span class="html">div</span> <span class="attr">class</span><span class="kwrd">="item"</span><span class="kwrd">&gt;</span>
        <span class="kwrd">&lt;</span><span class="html">h2</span> <span class="attr">data-win-bind</span><span class="kwrd">="textContent: title"</span><span class="kwrd">&gt;&lt;/</span><span class="html">h2</span><span class="kwrd">&gt;</span>
    <span class="kwrd">&lt;/</span><span class="html">div</span><span class="kwrd">&gt;</span>
<span class="kwrd">&lt;/</span><span class="html">div</span><span class="kwrd">&gt;</span>

<span class="kwrd">&lt;</span><span class="html">div</span> <span class="attr">class</span><span class="kwrd">="myList"</span> <span class="attr">data-win-control</span><span class="kwrd">="WinJS.UI.ListView"</span><span class="kwrd">&gt;&lt;/</span><span class="html">div</span><span class="kwrd">&gt;</span></pre>
<p>Das obige HTML Fragment definiert zuerst ein Template und ein weiteres div Element das ein ListView Control gefüllt mit Daten wird wenn der folgende JavaScript Code ausgeführt wird</p>
<pre class="csharpcode">onready: <span class="kwrd">function</span>( element, options ) {

    <span class="kwrd">var</span> list = <span class="kwrd">new</span> WinJS.Binding.List([
        { title: <span class="str">"Artikel 1"</span> },
        { title: <span class="str">"Artikel 2"</span> },
        { title: <span class="str">"Artikel 3"</span> }
    ]);

    <span class="kwrd">var</span> template = document.getElementById(<span class="str">"template"</span>);
    <span class="kwrd">var</span> listView = document.querySelector(<span class="str">".myList"</span>).winControl;

    WinJS.UI.setOptions(listView, {
        itemDataSource: list.dataSource,
        itemTemplate: template
    });
}</pre>
<p>Ein paar Zeilen HTML und JavaScript lassen eine Liste mit Daten auf dem Bildschirm erscheinen.</p>
<h4>Am Horizont: Der Windows Store</h4>
<p>Egal in welcher Sprache man seine eigene Metro Style App entwickelt aus Visual Studio heraus hat man direkt die Möglichkeit die Anwendung in den Windows Store zu publizieren. Man benötigt dazu einen Developer Account der für den Windows Store freigeschalten ist. Wie man an einen solchen Account in der momentanen pre-release Phase kommt ist hier <a href="http://www.msdn-online.de/win8events">im Detail</a> beschrieben.</p>
<h4>Eine Reise beginnt</h4>
<p>Selbst wenn man noch nicht mit dem Gedanken gespielt hat Windows 8 Metro Style Apps zu entwickeln, mit den heutigen Know-how rund um Silverlight / WPF oder HTML5 / CSS3 besitzt Ihr bereits die Grundlage technisch für die Windows 8 Platform Metro Style Apps zu schreiben. Es fehlen nur noch die letzten 20%, das kennen lernen der Plattform, der Möglichkeiten, um diese in eine gute App Idee umzusetzen.</p>
<img src="http://feeds.feedburner.com/~r/kouder/~4/HLcp3wXNVS0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kouder.net/2012/04/25/metro-style-apps-fur-windows-8-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kouder.net/2012/04/25/metro-style-apps-fur-windows-8-2/</feedburner:origLink></item>
		<item>
		<title>Windows 8 Events</title>
		<link>http://feedproxy.google.com/~r/kouder/~3/nRIl5bO_W8A/</link>
		<comments>http://kouder.net/2012/03/23/windows-8-events/#comments</comments>
		<pubDate>Fri, 23 Mar 2012 14:01:52 +0000</pubDate>
		<dc:creator>Dariusz</dc:creator>
				<category><![CDATA[On Tour]]></category>
		<category><![CDATA[Windows 8]]></category>

		<guid isPermaLink="false">http://kouder.net/?p=248</guid>
		<description><![CDATA[Im Laufe der nächsten 3 Monate veranstalten wir eine Reihe von Windows 8 Events. Dabei gibt es verschiedene Formate die ausführlich auf der offiziellen deutschen Event Webseite beschrieben sind. Ich möchte einfach nochmals klarstellen an wen sich die einzelnen Formate wirklich richten. Windows 8 Camps (Einsteiger) Ein Windows 8 Camp ist eine eintägige Veranstaltung die primär an [...]]]></description>
			<content:encoded><![CDATA[<p>Im Laufe der nächsten 3 Monate veranstalten wir eine Reihe von Windows 8 Events. Dabei gibt es verschiedene Formate die ausführlich auf der <a title="Windows 8 Events auf MSDN Online" href="http://www.msdn-online.de/win8events">offiziellen deutschen Event Webseite</a> beschrieben sind.</p>
<p>Ich möchte einfach nochmals klarstellen an wen sich die einzelnen Formate wirklich richten.</p>
<h2>Windows 8 Camps (Einsteiger)</h2>
<p>Ein Windows 8 Camp ist eine eintägige Veranstaltung die primär an Einsteiger in die Windows 8 Metro Style App Entwicklung gedacht ist. In 5 Sessions werden die wichtigsten Dinge bezüglich dem Einsteig in die App Entwicklung erläutert und die Grundkonzepte von Windows 8 erklärt. Das Format richtet sich primär an <strong>Entwickler</strong> und <strong>technische Entscheider</strong> die einen Überblick bekommen möchten. Wichtig: Wer bereits das CeBIT Entwicklerforum für Windows 8 besucht hat oder den TechTalk zu Windows 8 besucht hat, wird vermutlich nicht viel neues erfahren.</p>
<h2>Windows 8 UX Camps (Einsteiger)</h2>
<p>Ebenso eine eintägige Einführungsveranstaltung, allerdings mit kompletten Fokus auf UX. Dieser Workshop richtet sich primär an <strong>Designer</strong> und <strong>Entwickler</strong> die mehr über das Metro UX Konzept erfahren möchten.</p>
<h2>Windows 8 Trainings (Fortgeschritten)</h2>
<p>Die Windows 8 Trainings sind nun für fortgeschrittene Entwickler gedacht. Diese gibt es in zwei Ausprägungen: einmal für <strong>.NET Entwickler</strong> und zum anderen für Entwickler die mit <strong>HTML5 und JavaScript</strong> Windows 8 Metro Style Apps entwickeln möchten. Es handelt sich hierbei ebenfalls um ein eintägiges Format welches ziemlich Code-lastig in die speziellen Bereiche der Windows 8 Metro Style App abtaucht und viele Codebeispiele enthält. Die Teilnehmer erhalten am Ende des Events ein komplettes Hands-on Lab und können die gezeigten Beispiele zu Hause in aller Ruhe ausprobieren. Es ist allerdings kein wirkliches Hands-on Training Vor-Ort.</p>
<h2>Windows 8 Hackathon (Einsteiger + Fortgeschritten)</h2>
<p>Bei einem Hackathon geht es darum in einer vorgegebenen Zeit eine Anwendung zu entwickeln. Entweder nach freier Wahl oder vorbestimmt durch das Thema des Hackathon. Ein Hackathon setzt voraus das man einen eigenen Rechner mitbringt und die Windows 8 Consumer Preview samt Visual Studio 11 Express installiert hat. Gerne auch virtuell. Am Anfang gibt es eine kleine Zusammenfassung der wichtigsten Punkte von Windows 8 und danach steigt man in die Entwicklung ein. Es werden Vor-Ort Leute da sein die bei Fragen helfen können und am Ende werden fertige oder auch nicht fertige Projekt vorgestellt. Überlicherweise geht ein Hackathon über 12 Stunden und startet am späten Abend, so dass man eine ganze Nacht mit einem Haufen Geeks rumhängt und codet. Der Hackathon eigent sich auch für Einsteiger, da man sich in Gruppen zusammenschliessen kann und eine Aufgabe gemeinsam löst und entwickelt. Man profitiert dabei von Erfahrungen der anderen und selbst wenn man nicht selbst codet, die Kommunikation zwischen den einzelnen Leuten bringt schon einen großen Mehrwert.</p>
<h2> Windows 8 App Excellence Labs</h2>
<p>Die Windows 8 App Excellence Labs sind ein besonderes Angebot unsererseits. Wenn Ihr eine fertige Windows 8 App habt so könnt Ihr von uns für das Windows 8 App Excellence Lab nominiert werden. In diesem Lab wird die Anwendung nach den Qualitätskriterien für den Windows Store vorab geprüft und Experten geben Euch noch die letzten Tipps für Eure App. Natürlich nur im Bereich technische Realisierung und UX Design Konformität. Ist der Ausgang im Windows 8 App Excellence Lab erfolgreich, so könnt Ihr Eure Windows 8 App für den <strong>Windows Store</strong> einreichen und das noch vor dem eigentlichen Release. Das bringt Euch den Vorteil das Eure App im Store ist wenn Windows 8 generell verfügbar sein wird und damit eine der ersten die von vielen Konsumenten installiert werden können.</p>
<h2>Fragen?</h2>
<p>Falls Ihr noch die ein oder andere Frage habt, kontaktiert mich doch einfach, entweder hier in den Comments oder über das Kontaktformular oder über Twitter an <a title="Writeline auf Twitter" href="http://twitter.com/writeline">@writeline</a></p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<img src="http://feeds.feedburner.com/~r/kouder/~4/nRIl5bO_W8A" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kouder.net/2012/03/23/windows-8-events/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kouder.net/2012/03/23/windows-8-events/</feedburner:origLink></item>
		<item>
		<title>Warten mit Spin.js</title>
		<link>http://feedproxy.google.com/~r/kouder/~3/4h3lOsfw1IU/</link>
		<comments>http://kouder.net/2012/03/13/warten-mit-spinjs/#comments</comments>
		<pubDate>Tue, 13 Mar 2012 16:08:15 +0000</pubDate>
		<dc:creator>Dariusz</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://kouder.net/?p=222</guid>
		<description><![CDATA[Spin.js ist eine Bibliothek zum Anzeigen von Wartekreisen besser als &#8220;Spinner&#8221; bekannt. Die Library benutzt hierfür keine Grafiken sondern macht das ausschliesslich über CSS3 bzw. über einen VML Fallback für ältere IE Versionen. Die Handhabung ist denkbar einfach. Möchte man in einem div Element einen Spinner anzeigen so übergibt man dieses der Methode spin() var [...]]]></description>
			<content:encoded><![CDATA[<p><a title="Spin.js" href="http://fgnass.github.com/spin.js/">Spin.js</a> ist eine Bibliothek zum Anzeigen von Wartekreisen besser als &#8220;Spinner&#8221; bekannt. Die Library benutzt hierfür keine Grafiken sondern macht das ausschliesslich über CSS3 bzw. über einen VML Fallback für ältere IE Versionen.</p>
<p>Die Handhabung ist denkbar einfach. Möchte man in einem div Element einen Spinner anzeigen so übergibt man dieses der Methode spin()</p>
<pre>var output = document.getElementById("output");
var spinner = new Spinner();
spinner.spin( output );</pre>
<p>Damit erzeugt man die Spinning Animation zentriert in diesem DIV Element.</p>
<h2>Einsatzszenario Grafiken laden</h2>
<p>Typischerweise benötigt man einen Spinner wenn man Sachen asynchron nachlädt und die Zeitspanne des Nachladens länger dauert als die Gesamte Anzeige. Möchte man zum Beispiel eine große Grafik dynamisch nachladen ohne das ein leeres Grafikelement angezeigt wird so kann man hier Spin.js einsetzen.</p>
<pre>function loadImage(url, element) {
    var spinner = new Spinner();
    var img = new Image();

    img.onload = function() {
        element.appendChild( this );
        spinner.stop();
    }

    spinner.spin( element );
    img.src = url;
}</pre>
<p>Die Funktion loadImage erwartet die URL der Grafik-Ressource sowie ein Container Element, z.B. ein DIV um den Spinner zu setzen und danach die Grafik anzuzeigen.</p>
<p>Das schöne an <a title="spin.js" href="http://fgnass.github.com/spin.js/">Spin.js</a> ist die Flexibilität der Spinner. Auf der Projektseite lassen sich verschiedene Einstellungen testen und die Optionen werden sogleich als JavaScript zur Verfügung gestellt</p>
<img src="http://feeds.feedburner.com/~r/kouder/~4/4h3lOsfw1IU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kouder.net/2012/03/13/warten-mit-spinjs/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kouder.net/2012/03/13/warten-mit-spinjs/</feedburner:origLink></item>
		<item>
		<title>Programmiersprache – Egal</title>
		<link>http://feedproxy.google.com/~r/kouder/~3/xs7N7_rqiwM/</link>
		<comments>http://kouder.net/2011/12/20/programmiersprache-egal/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 10:01:59 +0000</pubDate>
		<dc:creator>Dariusz</dc:creator>
				<category><![CDATA[Coding]]></category>

		<guid isPermaLink="false">http://kouder.net/?p=143</guid>
		<description><![CDATA[Programmiersprachen gibt es wie Sand am Meer. Zu Viele um sich einen wirklich vollständigen Überblick zu verschaffen und genug um spezifische Aufgaben in einer bestimmten Sprache besonders elegant lösen zu können. Ich selbst habe unterschiedliche Sprachen benutzt oder benutze diese noch. Ob C#, C++, Ruby oder JavaScript, jede Sprache hat Vor- und Nachteile. Doch was [...]]]></description>
			<content:encoded><![CDATA[<p>Programmiersprachen gibt es wie Sand am Meer. Zu Viele um sich einen wirklich vollständigen Überblick zu verschaffen und genug um spezifische Aufgaben in einer bestimmten Sprache besonders elegant lösen zu können.</p>
<p>Ich selbst habe unterschiedliche Sprachen benutzt oder benutze diese noch. Ob C#, C++, Ruby oder JavaScript, jede Sprache hat Vor- und Nachteile. Doch was mir in den letzten Jahren immer mehr auffällt ist das es nicht auf die Sprache ankommt. Auch auf Frameworks und Tooling möchte ich nicht all zu sehr eingehen, da hat jede Sprache eine breite Basis und auch gute Unterstützung und je nach Einsatzszenario auch dedizierte Frameworks wie z.B. ASP.NET MVC oder Ruby on Rails.</p>
<p>Vielmehr möchte ich auf einen Paradigmenwechsel anhand meiner eigenen Erfahrung eingehen, welcher den Umgang mit API&#8217;s drastisch ändern wird.</p>
<h2>Do you speak Asynchron?</h2>
<p>Unabhängig von der Wahl einer Programmiersprache werden sich viele Teile verschiedener Technologien in Richtung Asynchrone Programmierung ändern. Teilweise hat man solche Dinge heute schon in einzelnen Frameworks drinnen um z.B. Berechnungen in seperaten Tasks zu verpacken und die Aufgaben so auf mehrere Prozessorkerne zu verteilen.</p>
<pre><code>var task = Task.Factory.StartNew( () =&gt; { CallSomeFreakingAlgorithm(); }�
</code>// work goes on, we can watch task</pre>
<p>Hier wird Asynchronität (C# Code) genutzt um Performance zu steigern indem man die Maschinenressourcen ausnutzt und dem Framework das Verteilen der Aufgabe auf Rechnerkerne bzw. Threads überlässt. Doch asynchrone Programmierung wird auch genutzt um ein performantes oder sagen wir lieber reaktionsfreudiges UI zu erstellen. Das wird primär im Web Umfeld sehr stark genutzt, immmer dann wenn man mit JavaScript per AJAX Aufrufe dynamische Seiteninhalte aktualisiert oder Funktionen aufruft.</p>
<p><code>$.getJSON( 'http://xyz.de', function( data ) {<br />
$.each( data, function( key, value ) {<br />
// do something with the result });<br />
</code>}); // do something else</p>
<p>Dieser AJAX Aufruf (per jQuery) wird abgefeuert und weiterer Code kann abgearbeitet werden.</p>
<h2>APIs werden Asynchron</h2>
<p>Die Muster asynchroner Programmierung finden sich in immer mehr Bibliotheken und APIs wieder. Schreibt man heutzutage eine Anwendung für das Windows Phone in Silverlight so hat man mit asynchronen Aufrufen zu tun. Synchrone Aufrufe gehören der Vergangenheit an wenn es um ein schnelles, bedienbares UI geht. Da liegt es nahe das Funktionalität eines Devices über ein Betriebssystem zur Verfügung gestellt wird, eben auch asynchron angeboten wird.</p>
<p>Der Dateizugriff den man bisher vermutlich meist synchron benutzt hat, ist plötzlich nur noch asynchron anzusprechen.</p>
<p>Doch asynchrone Muster haben auch einen wichtigen Unterschied. Wo man bisher z.B. auf ein Dateisystem synchron zugegriffen hat</p>
<pre><code>// Pseudo Code var file = fs.Open();� </code>var content = file.ReadToEndAsString();
console.log( content );</pre>
<p>und sicher sein konnte das der Inhalt zu dem Zeitpunkt des Zugriffs vorhanden ist, so muss man bei einer asynchronen API entsprechend mit Callbacks arbeiten</p>
<pre><code>// Node.js Code var fs = require( 'fs' ); fs.readFile( "somefile.txt", function( data ) { // callback for input data }); </code></pre>
<p>Das sieht bei diesem einfachen Zugriff auf den Inhalt noch sehr einfach und übersichtlich aus, wird aber durchaus komplexer bei mehreren ineinander verschachtelten Aufrufen.</p>
<pre><code>// Node.js multipart/form-data, taken from Felix Geisendörfer function upload_file(req, res) { req.setBodyEncoding('binary'); var stream = new multipart.Stream(req); stream.addListener('part', function(part) { part.addListener('body', function(chunk) { var progress = (stream.bytesReceived / stream.bytesTotal * 100).toFixed(2); var mb = (stream.bytesTotal / 1024 / 1024).toFixed(1); sys.print("Uploading "+mb+"mb ("+progress+"%)\015"); // chunk could be appended to a file if the uploaded file needs to be saved }); }); stream.addListener('complete', function() { res.sendHeader(200, {'Content-Type': 'text/plain'}); res.sendBody('Thanks for playing!'); res.finish(); sys.puts("\n=&gt; Done"); }); } </code></pre>
<h2>Asynchronität &#8211; Nicht Egal!</h2>
<p>Ganz gleich mit welcher Programmiersprache man letztlich Anwendungen entwickelt, mit asynchronen Aufrufen umzugehen ist essentiell. Es stellt sich also nicht die Frage ob man zum Beispiel für Windows 8 mit C# / XAML oder JavaScript / HTML5 entwickelt, sondern es ist wichtig mit beiden Sprachen asynchron entwickeln zu können und damit ist nicht die Sprachmöglichkeit gemeint sondern der Umgang als Entwickler mit dieser Sprache.</p>
<img src="http://feeds.feedburner.com/~r/kouder/~4/xs7N7_rqiwM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kouder.net/2011/12/20/programmiersprache-egal/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kouder.net/2011/12/20/programmiersprache-egal/</feedburner:origLink></item>
		<item>
		<title>Star Wars: The Old Republic – Mobil aufbereiten</title>
		<link>http://feedproxy.google.com/~r/kouder/~3/B155JP2MY_o/</link>
		<comments>http://kouder.net/2011/12/19/star-wars-the-old-republic-mobil-aufbereiten/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 14:39:31 +0000</pubDate>
		<dc:creator>Dariusz</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[jQuery Mobile]]></category>

		<guid isPermaLink="false">http://kouder.net/?p=135</guid>
		<description><![CDATA[Am 20. Dezember ist es soweit. Star Wars: The Old Republic erscheint offiziell und Scharen von MMO Junkies werden sich in das nächste Abenteuer stürzen &#8211; Inklusive mir. Das Wochenlange anteasern neuer Videos habe ich mit Interesse verfolgt, leider nicht von meinen mobilen Endgeräten. Die Videos wurden allesamt per Flash zur Verfügung gestellt und die [...]]]></description>
			<content:encoded><![CDATA[<p>Am 20. Dezember ist es soweit. <a title="Star Wars: The Old Republic" href="http://www.swtor.com/de">Star Wars: The Old Republic</a> erscheint offiziell und Scharen von MMO Junkies werden sich in das nächste Abenteuer stürzen &#8211; Inklusive mir. Das Wochenlange anteasern neuer Videos habe ich mit Interesse verfolgt, leider nicht von meinen mobilen Endgeräten. Die Videos wurden allesamt per Flash zur Verfügung gestellt und die Sternenkarte benutzt gar Java (oder war es Unity?). Sprich: Privat benutze ich keine Android Geräte. Da ich mich sehr viel mit Web beschäftige und einen Screencast zu jQuery Mobile aufnehmen wollte, habe ich das gleich kombiniert. Eine kleine, überschaubare Star Wars: The Old Republic Demo Anwendung mit jQuery Mobile.</p>
<p>Die Anwendung ist auf Windows Azure gehostet und hier ist der Link: <a title="SWTOR Demo App" href="http://dpnodecast.cloudapp.net">Star Wars: The Old Republic Mobiler Klassenbrowser</a>.</p>
<p>In der Demo nutze ich jQuery Mobile nur Rudimentär. Ich verwende lediglich CSS Klassen und jQuery Mobile Custom Attribute um das Look &amp; Feel zu bekommen. Die Demo ist als ASP.NET MVC3 Anwendung erstellt, in der nächsten Version von MVC ist jQuery Mobile dann auch gleich Bestandteil des Standardprojekttemplates.</p>
<p>Wer anschauen möchte wie die Demo Anwendung von einer Stillosen weißen Webseite in eine Mobil-freundliche Variante angepasst wird kann sich dieses Video reinziehen.</p>
<p><iframe src="http://www.youtube.com/embed/9qz524H8UGU?hd=1" frameborder="0" width="560" height="315"></iframe></p>
<p>Im übrigen, ich spiele auf Sith Triumvirate einen Söldner und ja, ich finde 2:30h in der Warteschlange auch ziemlich Blöde!</p>
<img src="http://feeds.feedburner.com/~r/kouder/~4/B155JP2MY_o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kouder.net/2011/12/19/star-wars-the-old-republic-mobil-aufbereiten/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://kouder.net/2011/12/19/star-wars-the-old-republic-mobil-aufbereiten/</feedburner:origLink></item>
		<item>
		<title>Socket.io, Node.js und Windows Azure</title>
		<link>http://feedproxy.google.com/~r/kouder/~3/F9NQzAycKL0/</link>
		<comments>http://kouder.net/2011/12/16/socket-io-node-js-und-windows-azure/#comments</comments>
		<pubDate>Fri, 16 Dec 2011 08:07:03 +0000</pubDate>
		<dc:creator>Dariusz</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Node.js]]></category>
		<category><![CDATA[Windows Azure]]></category>

		<guid isPermaLink="false">http://kouder.net/?p=100</guid>
		<description><![CDATA[Seit einigen Tagen ist das Windows Azure SDK für Node.js erschienen und erleichtert somit das Publizieren von Node.js Anwendungen auf Windows Azure. In meinem bisherigen Post über Node.js auf Windows Azure habe ich noch die manuelle Installation von Node.js samt Anpassung einer Worker Role beschrieben. Dies ist jetzt komplett hinfällig. Mit dem SDK werden eine [...]]]></description>
			<content:encoded><![CDATA[<p>Seit einigen Tagen ist das <a title="Windows Azure SDK for Node.js" href="https://www.windowsazure.com/en-us/develop/nodejs/">Windows Azure SDK für Node.js</a> erschienen und erleichtert somit das Publizieren von Node.js Anwendungen auf Windows Azure. In meinem bisherigen Post über <a title="Node.js auf Windows Azure" href="http://kouder.net/2011/10/24/node-js-auf-windows-azure-hosten/">Node.js auf Windows Azure</a> habe ich noch die manuelle Installation von Node.js samt Anpassung einer Worker Role beschrieben. Dies ist jetzt komplett hinfällig. Mit dem SDK werden eine Reihe von Powershell Commandlets installiert die eine Anwendung komplett von der Kommandozeile erstellen, testen und publizieren lassen.</p>
<h2>Sanity Check</h2>
<p>Nach dem herunterladen vom SDK habe ich mir die Beispiele angeschaut. Es wird Schritt für Schritt erklärt wie man den Azure Service anlegt, eine Rolle hinzufügt, den Code anpasst und das ganze zuerst im Emulator und dann auch in der Cloud ausführt.</p>
<p>Die <a href="https://www.windowsazure.com/en-us/develop/nodejs/tutorials/getting-started/" title="Windows Azure Node.js Tutorial">Beispiele</a> zeigen wie man mit den Azure Diensten Storage, Tables und Queues arbeiten kann. Lediglich die Möglichkeit einen Diagnose Output zu machen habe ich in den Tutorials vermisst. Ich weiß auch nicht ob im Azure Node Package Module die Implementierung vorhanden ist. Der übliche Weg über <em>console.out</em> funktioniert im Emulator nicht und natürlich auch nicht in der Cloud. Das gilt es noch zu prüfen, ansonsten muss man sich wohl mit dem Azure Table Storage behelfen und selbst wegschreiben.</p>
<h2>Socket.IO</h2>
<p>Getestet habe ich nun mit Socket.IO, einer Bibliothek die bidirektionale TCP Kommunikation ermöglicht. Hier zu werden, je nach Browser Unterstützung, WebSockets, Long-Polling, Server Side Events oder auch Flash verwendet und der Entwickler hat eine transparente API. Zum installieren der verschiedenen Pakete unter Node.js benutzt man <em>npm</em>. Die aktuelle Node Version unterstützt npm auch auf Windows.</p>
<pre class="prettyprint ">npm install socket.io</pre>
<p>Nach der Installation kann man das <a title="Simple Socket.IO Sample" href="http://socket.io/#how-to-use">Beispiel </a>von der Socket.IO Webseite nehmen. Ich habe lediglich zwei Änderungen gemacht. In der <em>server.js</em> - welche einfach nur die <em>app.js</em> umbenannt ist - habe ich den Port angepasst. Da man die Anwendung sowohl im Emulator wie auch in der Cloud ohne Änderungen lauffähig haben will, überlässt man die Portwahl der Windows Azure Infrastruktur.</p>
<pre class="prettyprint ">app.listen( process.env.port );</pre>
<p>Die <em>index.html</em> enthält eine kleine Modifikation um die Ausgabe  direkt im Browser zu haben anstatt in der Debugging Console des Browsers.</p>
<pre class="prettyprint ">
&lt;html&gt;
&lt;head&gt;
  &lt;script src='/socket.io/socket.io.js'&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
&lt;h1&gt;socket.io demo&lt;/h1&gt;
&lt;div id=&quot;output&quot;&gt;&lt;/div&gt;
&lt;/body&gt;
  &lt;script&gt;
    var output = document.getElementById( &quot;output&quot; );
    var socket = io.connect( 'http://localhost:81' );
    socket.on( 'news', function( data ) {
      output.innerHTML = JSON.stringify( data );
      socket.emit( 'my other event', { my: 'data' });
    });
  &lt;/script&gt;
&lt;/html&gt;
</pre>
<h2>Node.js support &#8211; checked</h2>
<p>Der direkte Node.js Support auf Windows Azure ist ein Riesenvorteil im Vergleich zu einem selbstgestrickten Deployment wie ich es oben schon erwähnt hatte. Das Windows Azure SDK für Node.js erlaubt es einfach Node.js Anwendungen in die Windows Azure Cloud zu deployen, die Commandlets lassen sich in beliebige Buildskripte integrieren und gegen Automatisierungen im Build Prozess hat wohl keiner was. Vor allem die Möglichkeit lokal wie gewohnt zu entwickeln, per npm neue Module zu installieren und im Azure Emulator gleich zu testen, vereinfacht die Entwicklung von Cloud-basierten Diensten ungemein. Ich habe Socket.IO hier getestet, ein weiteres Beispiel wäre <a href="http://www.interoperabilitybridges.com/Azure/Getting_Started_Guide_Node_with_MongoDB.asp" title="Tutorial Node.js and MongoDB on Windows Azure">Node.js im Zusammenspiel mit MongoDB auf Windows Azure</a>.</p>
<img src="http://feeds.feedburner.com/~r/kouder/~4/F9NQzAycKL0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kouder.net/2011/12/16/socket-io-node-js-und-windows-azure/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kouder.net/2011/12/16/socket-io-node-js-und-windows-azure/</feedburner:origLink></item>
		<item>
		<title>November Fundstücke</title>
		<link>http://feedproxy.google.com/~r/kouder/~3/m2x7S49dExI/</link>
		<comments>http://kouder.net/2011/11/11/november-fundstucke/#comments</comments>
		<pubDate>Fri, 11 Nov 2011 13:21:49 +0000</pubDate>
		<dc:creator>Dariusz</dc:creator>
				<category><![CDATA[On the Web]]></category>

		<guid isPermaLink="false">http://h1979515.stratoserver.net/2011/11/11/november-fundstucke/</guid>
		<description><![CDATA[Von Zeit zu Zeit speichere ich Webreferenzen in OneNote die ich mir zu einem sp&#228;teren Zeitpunkt anschaue. Vielleicht sind die Dinge auch f&#252;r andere Interessant, here we go. Markdown Mode f&#252;r Visual Studio Github hat mich als erstes mit Markdown konfrontiert. Seit dem liebe ich es und schreibe auch meinen Blog in diesem Format. Obwohl [...]]]></description>
			<content:encoded><![CDATA[<p>Von Zeit zu Zeit speichere ich Webreferenzen in OneNote die ich mir zu einem sp&auml;teren Zeitpunkt anschaue. Vielleicht sind die Dinge auch f&uuml;r andere Interessant, here we go.</p>
<h2>Markdown Mode f&uuml;r Visual Studio</h2>
<p>Github hat mich als erstes mit <a title="Markdown" href="http://daringfireball.net/projects/markdown/">Markdown</a> konfrontiert. Seit dem liebe ich es und schreibe auch meinen Blog in diesem Format. Obwohl die Extension schon l&auml;nger existiert bin ich erst jetzt auf diese Aufmerksam geworden.&nbsp;</p>
<p style="padding-left: 30px;"><em>This extension provides support for editing files that use the <a href="http://daringfireball.net/projects/markdown/">Markdown</a> syntax. In the current version, it supports the following features:</em></p>
<ul>
<li><em>Syntax highlighting (for      Markdown and HTML)</em></li>
<li><span><em>A live preview window of the      file you are editing</em></span></li>
<li><em>A rudimentary margin with      buttons for showing the preview window and copying the HTMLized version      of the file you are editing to the clipboard.</em></li>
</ul>
<p>Link: <a title="Markdown Mode Visual Studio Extension" href="http://visualstudiogallery.msdn.microsoft.com/0855e23e-4c4c-4c82-8b39-24ab5c5a7f79/description">Markdown Mode Extension f&uuml;r Visual Studio</a></p>
<h2>Freckle Time Tracking</h2>
<p>Zeiterfassung ist ein wichtiges Thema f&uuml;r viele Entwickler. Vor allem wenn die Zeiterfassung so einfach von der Hand geht wie mit Freckle. Das sch&ouml;ne an Freckle, es l&auml;sst sich noch mit Github kombinieren und erstellt bei Bedarf seit kurzem auch Rechnungen, wobei letzteres noch in Beta ist. Freckle kostest Stand heute 12$ im Monat, ob es sich lohnt kann man in 30 Tagen Test herausfinden.</p>
<p style="padding-left: 30px;"><em><span class="full-image-block ssNonEditable"><span><img src="http://letsfreckle.com/stylesheets/assets/title-test2.png" alt="Time tracking, _not_ hair pulling" /></span></span></em></p>
<p><em> </em></p>
<p class="tall" style="padding-left: 30px;"><em><strong>Tracking your time</strong>&mdash;for your clients, for yourself&mdash;doesn&#8217;t have to be a dreaded task. Dispense with the preparation, avoidance, and gnashing of teeth.&nbsp;<strong>Freckle&nbsp;</strong>eliminates all the nonsense between you and your work.</em></p>
<p class="tall">Link: <a href="http://letsfreckle.com">Let&#8217;s freckle</a></p>
<h2>Helicon Zoo</h2>
<p>Helicon Zoo erlaubt es unterschiedliche Web Frameworks auf dem IIS in einer Shared Hosting Umgebung zu installieren.&nbsp;</p>
<p style="padding-left: 30px;"><em>Helicon Zoo is a simple and powerful solution for setting up development and production environment with various web frameworks on Windows systems with IIS. It includes such popular frameworks as Ruby on Rails, Django, Node.js and more. Zoo can be used as a platform for Windows shared technology hosting, as well as a development platform for Windows based workstations. It supports IIS 7, IIS 7.5 and IIS Express and uses Web Platform Installer to provide you a simple tool to deploy applications and entire environments.</em></p>
<p style="padding-left: 30px;"><em>Inside: Python 2.7 + pip, Django 1.3, Ruby 1.9.2, Rails 3.0, Perl Strawberry 5.12 and Mojolicious 1.34</em><em>&nbsp;</em></p>
<p>Link: <a href="http://www.helicontech.com/zoo/">Helicon Zoo</a></p>
<h2>Yahoo! Cocktails</h2>
<p>Klingt s&uuml;ffig, verspricht viel. Ein Framework um Anwendungen nahtlos auf dem Desktop und im Web laufen zu lassen. Zusammenspiel von HTML5, Node.js, CSS3 und JavaScript.</p>
<p style="padding-left: 30px;"><em><span>Developers, time to geek out. Yahoo! has been working behind the scenes for the past several months on an exciting new technology that we think will deeply impact the web developer community. We call it &ldquo;Cocktails&rdquo; and it&rsquo;s the technology powering Livestand, which we launched today at&nbsp;</span><a href="http://ycorpblog.com/2011/11/01/product-runway2011/">Product Runway</a><span>.</span></em></p>
<p style="padding-left: 30px;"><em>&ldquo;Cocktails&rdquo; is a mix of HTML5, Node.JS, CSS3, JavaScript and a lot of ingenious, creative mind-bending tricks from Yahoo!&rsquo;s engineers. Today, we are announcing two Cocktails: Yahoo!&rsquo;s Mojito, an environment-agnostic JavaScript web application framework, and Yahoo! Manhattan, a hosted platform for Mojito-based applications.</em></p>
<p>Link: <a href="http://developer.yahoo.com/blogs/ydn/posts/2011/11/yahoo-announces-cocktails-%E2%80%93-shaken-not-stirred/">Weiterf&uuml;hrende Infos zu Manhatten, Cocktails und Mojito</a></p>
<h2>JavaScript ASCII Raytracer</h2>
<p>Dieser hat es mir besonders angetan. Ein Raytracer der ASCII ausgibt. Zwar total Sinnlos, aber irgendwie Saucool!</p>
<p>Link: <a href="https://github.com/trevlovett/AsciiTracer">JavaScript ASCII Raytracer auf Github</a></p>
<h2>Notifier.js</h2>
<p>Eine JavaScript Bibliothek um Notifications im Browser anzuzeigen. Die Notifications werden gestackt und entsprechend ausgeblendet. Die <a href="http://opensource.srirangan.net/notifier.js/">Demo Seite</a> zeigt die unterschiedlichen M&ouml;glichkeiten.</p>
<p>Link: <a href="https://github.com/Srirangan/notifer.js/">Notifier.js auf Github</a></p>
<h2>Nodeup &#8211; A Node.js Podcast</h2>
<p>Node.js ist in aller Munde. Die meisten brauchen es eigentlich gar nicht, trotzdem frickeln viele damit rum. Ja, ich auch, bin halt irgendwie doch Geek. Jetzt gibt es eine Podcast Serie die sich <a href="http://nodejs.org">Node.js</a> verschrieben hat: Nodeup. Sechs folgend sind bisher raus.</p>
<p>Link: <a href="http://nodeup.com/">Nodeup</a></p>
<h2>C++ Reference</h2>
<p>Neben JavaScript ist auch &nbsp;C++ wieder ein wichtiger Bestandteil meiner Arbeit. Da habe ich im Netz gleich eine nette Referenz gefunden die auch C++11 abdeckt.</p>
<p>Feature Auszug der Seite&nbsp;</p>
<div>
<table border="0" cellspacing="0" cellpadding="0">
<tbody>
<tr>
<td>
<p style="padding-left: 30px;"><a href="http://en.cppreference.com/w/cpp/container/forward_list"><span lang="en-US">forward_list</span></a><span lang="en-US"> </span><span lang="en-US">(C++11 feature)</span></p>
</td>
</tr>
<tr>
<td>
<p style="padding-left: 30px;"><a href="http://en.cppreference.com/w/cpp/container/set"><span lang="en-US">set</span></a></p>
</td>
</tr>
<tr>
<td>
<p style="padding-left: 30px;"><a href="http://en.cppreference.com/w/cpp/container/multiset"><span lang="en-US">multiset</span></a></p>
</td>
</tr>
<tr>
<td>
<p style="padding-left: 30px;"><a href="http://en.cppreference.com/w/cpp/container/map"><span lang="en-US">map</span></a></p>
</td>
</tr>
<tr>
<td>
<p style="padding-left: 30px;"><a href="http://en.cppreference.com/w/cpp/container/multimap"><span lang="en-US">multimap</span></a></p>
</td>
</tr>
<tr>
<td>
<p style="padding-left: 30px;"><a href="http://en.cppreference.com/w/cpp/container/unordered_set"><span lang="en-US">unordered_set</span></a><span lang="en-US"> </span><span lang="en-US">(C++11 feature)</span></p>
</td>
</tr>
<tr>
<td>
<p style="padding-left: 30px;"><a href="http://en.cppreference.com/w/cpp/container/unordered_multiset"><span lang="en-US">unordered_multiset</span></a><span lang="en-US"> </span><span lang="en-US">(C++11 feature)</span></p>
</td>
</tr>
<tr>
<td>
<p style="padding-left: 30px;"><a href="http://en.cppreference.com/w/cpp/container/unordered_map"><span lang="en-US">unordered_map</span></a><span lang="en-US"> </span><span lang="en-US">(C++11 feature)</span></p>
</td>
</tr>
<tr>
<td>
<p style="padding-left: 30px;"><a href="http://en.cppreference.com/w/cpp/container/unordered_multimap"><span lang="en-US">unordered_multimap</span></a><span lang="en-US"> </span><span lang="en-US">(C++11 feature)</span></p>
</td>
</tr>
</tbody>
</table>
</div>
<p>Link: <a href="http://en.cppreference.com/w/cpp">C++ Reference</a></p>
<img src="http://feeds.feedburner.com/~r/kouder/~4/m2x7S49dExI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kouder.net/2011/11/11/november-fundstucke/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kouder.net/2011/11/11/november-fundstucke/</feedburner:origLink></item>
		<item>
		<title>Lower Case JSON Serialization in ASP.NET MVC</title>
		<link>http://feedproxy.google.com/~r/kouder/~3/hyxTQYNsQLA/</link>
		<comments>http://kouder.net/2011/11/02/lower-case-json-serialization-in-asp-net-mvc/#comments</comments>
		<pubDate>Wed, 02 Nov 2011 14:38:32 +0000</pubDate>
		<dc:creator>Dariusz</dc:creator>
				<category><![CDATA[Coding]]></category>
		<category><![CDATA[ASP.NET MVC]]></category>

		<guid isPermaLink="false">http://h1979515.stratoserver.net/2011/11/02/lower-case-json-serialization-in-asp-net-mvc/</guid>
		<description><![CDATA[In ASP.NET MVC kann man .NET Objektstrukturen mit Hilfe der Json Funktion der abstrakten Controller Klasse in JSON serialisieren. Eine Klasse mit der folgenden Definition public class EntryData { public string Project { get; set; } public string User { get; set; } public DateTime Date { get; set; } } wird zum Beispiel über [...]]]></description>
			<content:encoded><![CDATA[<p>In ASP.NET MVC kann man .NET Objektstrukturen mit Hilfe der <em>Json</em> Funktion der abstrakten Controller Klasse in JSON serialisieren. Eine Klasse mit der folgenden Definition</p>
<pre class="prettyprint ">public class EntryData
{
  public string Project { get; set; }
  public string User { get; set; }
  public DateTime Date { get; set; }
}</pre>
<p>wird zum Beispiel über diese Controller Action</p>
<pre class="prettyprint ">[HttpPost]
public ActionResult Echo( EntryData newEntry )
{
  return Json( newEntry );
}</pre>
<p>in die entsprechende JavaScript Notation umgewandelt</p>
<pre class="prettyprint ">{
  &quot;Project&quot;: &quot;hi&quot;,
  &quot;User&quot;: &quot;kuck&quot;,
  &quot;Date&quot;: &quot;/Date(1320015600000)/&quot;
}</pre>
<p>Das sieht soweit ganz gut aus. Allerdings möchte ich in JavaScript mit der entsprechenden lowerCamelCase Notation arbeiten, des weiteren soll das Datum auch entsprechend in ISO UTC serialisiert werden, das lässt sich mit der <em>Json</em> Funktion standardmässig nicht realisieren.</p>
<p>Nach einiger Recherche habe ich auf Codeplex das Projekt <a title="JSON.NET" href="http://json.codeplex.com">JSON.NET</a> gefunden. In JSON.NET kann die Serialisierung in vielen Bereichen parametrisiert werden. So kann man CamelCase sowie Datumsformattierungen anpassen. JSON.NET ist als Nuget Package verfügbar und lässt sich schnell mittels <em>Install-Package Newtonsoft.Json</em> installieren.</p>
<p>Für die Serialisierung habe ich auf Jason&#8217;s Blog (welch Wortspiel) eine eigene ActionResult Implementierung names <a title="JsonNetresult custom ActionResult implementation" href="http://james.newtonking.com/archive/2008/10/16/asp-net-mvc-and-json-net.aspx">JsonNetResult</a> gefunden die man einfach in seine Controller Methoden einbinden kann.</p>
<p>Damit sieht die Methode im Controller folgendermaßen aus</p>
<pre class="prettyprint ">
[HttpPost]
public ActionResult Echo( EntryData newEntry )
{
  return new JsonNetResult
  {
    Data = newEntry,
    Formatting = Formatting.Indented,
    SerializerSettings = new JsonSerializerSettings
    {
      ContractResolver = new CamelCasePropertyNamesContractResolver(),
      Converters = { new IsoDateTimeConverter() }
    }
  };
}</pre>
<p>und das Ergebnis ist mein gewünschtes JSON Format:</p>
<pre class="prettyprint ">
{
  &quot;project&quot;: &quot;hi&quot;,
  &quot;user&quot;: &quot;kuck&quot;,
  &quot;date&quot;: &quot;2011-10-31T00:00:00&quot;
}</pre>
<img src="http://feeds.feedburner.com/~r/kouder/~4/hyxTQYNsQLA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://kouder.net/2011/11/02/lower-case-json-serialization-in-asp-net-mvc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://kouder.net/2011/11/02/lower-case-json-serialization-in-asp-net-mvc/</feedburner:origLink></item>
	</channel>
</rss>

