<?xml version="1.0"?>
<!--RSS Feed der byteBrauerei-->
<!--copyright byteBrauerei.de 2007--><rss version="2.0">
<channel>
  <title>byteBrauerei.de</title>
  <desription>byteBrauer Blog - C# | ASP.net | WCF | WPF, C#, ASP.net, HTML/CSS Blog</desription>
  <link>http://www.bytebrauerei.de/</link>
  <language>de-de</language>
  <copyright>byteBrauerei.de 2007</copyright>
  <item>
    <title>PointUI f&amp;uuml;r Windows Mobile - Kostenlos</title>
    <pubDate>Wed, 06 Feb 2008 09:58:14 GMT</pubDate>
    <link>www.bytebrauerei.de/articles.aspx?article=84b6d056-ee5a-4f2a-88be-958639e8b5bc</link>
    <description><![CDATA[<p>Gutes soll man unterst&#252;tzen! Dann tun wir dies mal:</p>  <p>PointUI ist eine Oberfl&#228;che f&#252;r Windows Mobile Ger&#228;te mit oder ohne Touch-Bedienung, welche die Einfachheit in den Vordergrund stellt. Microsoft spricht der Zeit mit seinem Handy-Betriebssystem Windows Mobile jedoch fast ausschlie&#223;lich Business-Anwender an, welche sich eher mit dem n&#252;chternen UI (User Interface) abfinden. Die aktuellen Mobile-Ger&#228;te (z.B. HTC) sind jedoch schon so gut ausgestattet und ausgereift, das auch private Anwender ihre Freude daran haben k&#246;nnen.&#160; Und die wollen schnell zu den meist genutzten Anwendungen gelangen und eine Oberfl&#228;che haben, die gut aussieht. Und hier kommt PointUI ins Spiel. </p>  <p><a title="http://www.pointui.com/" href="http://www.pointui.com/">http://www.pointui.com/</a></p>  <p>Selbst bei Microsoft ist man &#252;brigens von Pointui Home angetan. Einige bloggende Mitarbeiter des Unternehmens nannten das Produkt den bisher besten Versuch, eine alternative Oberfl&#228;che f&#252;r Windows Mobile zu schaffen.</p>  <p><a href="http://www.winfuture.de/news,37326.html" target="_blank">Bericht zu PointUI auf WinFuture</a></p>  <p>Ich habe es mit gleich mal installiert und bin begeistert. Und um vorweg gleich ein gro&#223;es Feature zu nennen: <strong>Es ist kostenlos</strong>. </p>  <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:e4e03295-3de4-4623-af78-adf570df8d70" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati-Tags: <a href="http://technorati.com/tags/Windows%20Mobile" rel="tag">Windows Mobile</a>,<a href="http://technorati.com/tags/PointUI" rel="tag">PointUI</a>,<a href="http://technorati.com/tags/Benutzer" rel="tag">Benutzer</a></div>]]></description>
    <comments>articles.aspx?article=84b6d056-ee5a-4f2a-88be-958639e8b5bc</comments>
    <category>Gefunden</category>
    <autor>André Finken</autor>
    <guid>84b6d056-ee5a-4f2a-88be-958639e8b5bc</guid>
  </item>
  <item>
    <title>Windows Vista Tasten Codes</title>
    <pubDate>Fri, 01 Feb 2008 17:08:10 GMT</pubDate>
    <link>www.bytebrauerei.de/articles.aspx?article=1f4f9329-4e2b-4de3-8f59-de5a11481821</link>
    <description><![CDATA[<p>Was viele nicht wissen, bzw. ich nicht wusste, sind die Windows Vista Tastencodes zur leichteren Bedienung mit der Tastatur. Ok, das man mit der Windows-Taste das Startmen&#252; &#246;ffnet, oder mit Windows + Tab die Tasks weiterschalten kann, das wissen noch die meisten. Aber das man z.B. mit Windows+Ziffer (Nummer) die Programme in der Schnellstartleiste sofort starten kann, das wusste ich nicht. Wer viel mit der Tastatur arbeitet und ungern mit der Maus, wer mit einem Notebook arbeitet oder wer Programmiert, der bedient gerne Windows &#252;ber die Tastatur. Der Griff zur Maus entf&#228;llt. Und besser noch: Man ist schneller als man mit der Maus sein k&#246;nnte. </p>  <p><u>Hier sind einige Tastenkombinationen zur schnelleren Bedienung:</u></p>  <ul>   <ul>     <ul>       <table cellspacing="5" cellpadding="2" width="498" border="0"><tbody>           <tr>             <td valign="top" width="134">Windows + Tab</td>              <td valign="top" width="347">schaltet unter Aero Glas zwischen den Task weiter</td>           </tr>            <tr>             <td valign="top" width="134">Windows + T</td>              <td valign="top" width="347">wechselt in der Miniaturansicht zwischen den Programmen in der Taskleiste</td>           </tr>            <tr>             <td valign="top" width="134">Windows + E</td>              <td valign="top" width="347">startet den Windows Explorer</td>           </tr>            <tr>             <td valign="top" width="134">Windows + L</td>              <td valign="top" width="347">meldet Windows ab</td>           </tr>            <tr>             <td valign="top" width="134">Windows + F</td>              <td valign="top" width="347">&#246;ffnet die Windows-Suche</td>           </tr>            <tr>             <td valign="top" width="134">Windows + 1..9</td>              <td valign="top" width="347">startet die Applikationen aus der Schnellstartleiste. Legt man den Internet-Explorer z.B. an die erste Stelle, so kann man diesen mit Windows+1 schnell starten</td>           </tr>            <tr>             <td valign="top" width="134">Windows + D</td>              <td valign="top" width="347">zeigt den Desktop. Ein erneutes dr&#252;cken von Windows+D zeigt wieder alle Fenster.</td>           </tr>            <tr>             <td valign="top" width="134">Windows + U</td>              <td valign="top" width="347">&#246;ffnet das Fenster f&#252;r die erleichterte Bedienung</td>           </tr>            <tr>             <td valign="top" width="134">Windows + M</td>              <td valign="top" width="347">minimiert laufende Tasks</td>           </tr>            <tr>             <td valign="top" width="134">Windows + Pause</td>              <td valign="top" width="347">&#246;ffnet die Systemeinstellungen</td>           </tr>            <tr>             <td valign="top" width="134">Windows + R</td>              <td valign="top" width="349">&#246;ffnet das Ausf&#252;hren-Men&#252;</td>           </tr>         </tbody></table>     </ul>     <em>Vielleicht einfach mal ausprobieren.</em> </ul>    <ul></ul>    <ul>Gestern erst habe ich durch Tobi gelernt, wie man im Internet-Explorer schnell wieder zur Home-Site kommt: Ein Druck auf <strong>Alt + Pos1 </strong>und ich bin wieder bei meinem Google-Schirm.</ul>    <ul>     <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1605ef43-b9b7-4376-a3c2-c795affa687a" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati-Tags: <a href="http://technorati.com/tags/Windows%20Vista" rel="tag">Windows Vista</a>,<a href="http://technorati.com/tags/Tasten" rel="tag">Tasten</a>,<a href="http://technorati.com/tags/Kombinationen" rel="tag">Kombinationen</a></div>   </ul> </ul>]]></description>
    <comments>articles.aspx?article=1f4f9329-4e2b-4de3-8f59-de5a11481821</comments>
    <category>Gefunden</category>
    <autor>André Finken</autor>
    <guid>1f4f9329-4e2b-4de3-8f59-de5a11481821</guid>
  </item>
  <item>
    <title>DSL Speed Check</title>
    <pubDate>Sat, 26 Jan 2008 09:59:51 GMT</pubDate>
    <link>www.bytebrauerei.de/articles.aspx?article=d63bbdc0-11b9-4e5d-a240-5935f9cfe5e5</link>
    <description><![CDATA[<p>Ich habe eine Kabel-Deutchland 26 MBit Leitung, bei der ich - zu unterschiedlichen Zeiten gemessen - zwischen 2 MBit und 30 MBit rausbekomme. Der Upload schwankt selten, die Differenzen kommen beim Download auf. Hab mir dann kurzer Hand dieses Tool besorgt, um das ein wenig im Auge zu behalten.</p>  <p>Ein kleiner Geschwindigkeitstest f&#252;r die eigene DSL Verbindung:</p> <!-- Anfang Speed Code - Änderungem am Copyright und an Links sind verboten und führen zur Deaktivierung des Tools-->  <div align="left">   <table style="border-collapse: collapse" bordercolor="#000000" width="500" bgcolor="#ffffff" border="1"><tbody>       <tr>         <td>           <p align="center"><iframe border="0" name="I1" align="middle" src="http://www.picture-speed.de/webmaster_weiss/index.pl?lang=de&amp;hintergrund=FFFFFF&amp;schriftfarbe=000000&amp;schriftart=Tahoma&amp;dienst=2" frameborder="0" width="475" scrolling="no" height="150"></iframe><span style="font-size: 7pt">               <br />(c) </span><a href="http://www.dsl-speed-messung.de" target="_blank"><span style="font-size: 7pt"><font color="#000000">Speed Test</font></span></a></p>         </td>       </tr>     </tbody></table> </div> <!-- Ende Speed Code -->  <p>&#160;</p>  <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:cbf2d75a-9923-4616-8698-c4f1a0c14c8c" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati-Tags: <a href="http://technorati.com/tags/DSL" rel="tag">DSL</a>,<a href="http://technorati.com/tags/Speed" rel="tag">Speed</a>,<a href="http://technorati.com/tags/Geschwindigkeit" rel="tag">Geschwindigkeit</a>,<a href="http://technorati.com/tags/Kabel%20Deutschland" rel="tag">Kabel Deutschland</a></div>]]></description>
    <comments>articles.aspx?article=d63bbdc0-11b9-4e5d-a240-5935f9cfe5e5</comments>
    <category>Gefunden</category>
    <autor>André Finken</autor>
    <guid>d63bbdc0-11b9-4e5d-a240-5935f9cfe5e5</guid>
  </item>
  <item>
    <title>Warum ein Blog? Und wenn: wie?</title>
    <pubDate>Thu, 27 Dec 2007 11:45:07 GMT</pubDate>
    <link>www.bytebrauerei.de/articles.aspx?article=b83dcbb5-a745-4503-9337-db0c6c156f5c</link>
    <description><![CDATA[<p><em>Warum sollte man ein Blog selbst schreiben, wenn es doch die ganzen &quot;noch&quot; kostenfreien Anbieter wie </em><a href="http://www.livejournal.com/" target="_blank"><em>LiveJournal</em></a><em>, </em><a href="http://wordpress.com/" target="_blank"><em>WordPress</em></a><em>, </em><a href="http://spaces.live.com/" target="_blank"><em>LiveSpace</em></a><em> und </em><a href="http://www.blogger.de/" target="_blank"><em>Blogger</em></a><em> gibt? </em></p>  <p>Die Nachteile von Blogs bei den o.g. Anbietern sind - meiner Meinung nach - gravierend: Werbem&#252;ll habe ich auf meinem Blog nicht gerne. Und wenn, dann will ich daf&#252;r das Geld bekommen. Auch m&#246;chte ich das Blog auf meiner URL laufen haben (<a href="http://www.bytebrauerei.de">http://www.bytebrauerei.de</a>) und nicht auf <a title="http://inkpark.home.services.spaces.live.com/default.aspx" href="http://inkpark.home.services.spaces.live.com/default.aspx">http://inkpark.home.services.spaces.live.com/default.aspx</a>. Sollte ich mich irgendwann f&#252;r einen anderen Blog-Anbieter entscheiden, wie bekomme ich dann meine Artikel r&#252;ber? Auch profitiert der Blog-Anbieter durch die Beliebtheit des eigenen Blogs - wechselt man den Anbieter, dann ist alles weg: Die externen Links, das Google-Ranking etc.&#160; </p>  <p align="left">Ein Blog ist eine art Tagebuch und der Name stammt von We<strong>b Log</strong> und&#160; Man kann sowohl das Blog wie auch der Blog sagen. WebLogs sind Mitte der 1990er Jahre zum ersten Mal aufgetreten und verteilen sich wie ein Virus &#252;ber das Web. Ob pers&#246;nliche Inhalte, technische, selbst geschriebene oder verweise auf andere Blogs, sie dienen der Verbreitung von Wissen und Transparenz nach einen eleganten Prinzip: Was wichtig ist wird oft genannt. An diesem Prinzip darf man sich kurz sto&#223;en, beruht es doch irgendwie auf Konformismus. Aber ich habe hier ja keine moralische Entscheidung zu treffen. Firmen nutzen Blogs f&#252;r Ihre Mitarbeiter, um den Kunden Informationen &#252;ber Fortschritte zu geben und Firmen lesen Blogs um Trends mitzubekommen und L&#246;sungen zu ihren Problemen zu finden. Egal was f&#252;r Inhalte wir suchen, es gibt Blogs welche sie uns liefern. Ob Malen im dunkeln, C# als Landessprache oder schokoladens&#252;chtige M&#252;tter, es findet sich zu jedem Thema ein Angebot. Und findet dieses Angebot keine Abnehmer, so stirbt es aus. Darwin in reinster Form. </p>  <p>Ich selbst habe, beim erstellen dieses Blogs, fast s&#228;mtliche Informationen aus anderen Blogs erhalten. Dabei gibt es gro&#223;e Blogs wie <a href="http://www.codeproject.com">www.codeproject.com</a> oder <a href="http://www.drweb.de">www.drweb.de</a> und es gibt kleine Blogs <a title="http://www.des-eisbaeren-blog.de" href="http://www.des-eisbaeren-blog.de">www.des-eisbaeren-blog.de</a>, welche hoch qualitative Informationen bieten. Bei aller Sch&#246;nheit eines Blogs: Es kommt auf den Inhalt an. Es gibt Seiten, da bleibe ich h&#228;ngen, weil sie wirklich gut gemacht sind. Doch aufhalten tut man sich dort nur, wenn auch der Inhalt stimmt. Und hat man die Seite als RSS-Feed abonniert, so ist das Layout der Seite eh futsch. Was nicht hei&#223;en soll, das interessanter Inhalt nur in h&#228;sslicher H&#252;lle zu finden ist. Tobi und ich haben uns bei unserem Blog mehr f&#252;r einen sachlich, n&#252;chternen Taint entschieden, so das man bei der Benutzung nicht lange suchen muss und findet wonach man sucht. </p>  <p>Wie findet man ein <a href="http://de.wikipedia.org/wiki/Blog" target="_blank">Blog</a>? Wenn ich bei Google etwas suche, dann passiert es das ich auf einem Blog lande. Merke ich dann, das sich die Site mit Inhalten besch&#228;ftigt die meinem Profil entsprechen und ich etwas lernen kann, so abonniere ich sie als <a href="http://de.wikipedia.org/wiki/RSS-Feed" target="_blank">RSS-Feed</a>. Nennt dann ein Autor ein anderes Blog als Quelle seines Wissens, so schaue ich vielleicht auch noch da rauf. Man hangelt sich halt durchs Web. Bin ich auf einem Blog &quot;angekommen&quot;, so m&#246;chte ich finden was ich gesucht habe. Dabei interessiert das Blog weniger als der gesuchte Artikel. Hier ist es wichtig, das die Links permanent sind, d.h. das, obwohl die Daten meist dynamisch aus einer Datenbank auf die Seite kommen, der externe Link zu den Daten sich nicht &#228;ndern darf. Andernfalls weisen die ganzen Links zum Blog irgendwann ins Leere. Die Grundfeatures eines Blogs sind, meiner Meinung nach, das die Eintr&#228;ge in umgekehrt chronologischer Reihenfolge zu finden sind, d.h. die neusten zuerst. Auch sollte ein Blog heute einen RSS-Feed anbieten, um den Lesern die M&#246;glichkeit zu geben, &#252;ber aktualisierte Inhalte informiert zu werden. Vielleicht kann man das Blog noch in Kategorien unterteilen, eine Suchm&#246;glichkeit schaffen und den Lesern das kommentieren der Artikel erm&#246;glichen. Doch damit sind wir bereits am Ende der Grundfeatures und alles andere ist &quot;nice to have&quot;. Zur Visualisierung der Inhalte gibt es, wieder meiner Meinung nach, ein Grundprinzip: &quot;Die M&#246;glichkeiten folgen dem Inhalt&quot; - und nicht, wie oft gesehen, andersherum. Technisch ist heute bereits so viel machbar, das &#252;ber den kl&#228;glichen Inhalt hinwegget&#228;uscht werden kann - f&#252;r einen Moment. Videos, Photos, Audio, Landkarten, Hyperlinks, Code, alles kann in den Content aufgenommen werden und ihn a) unterst&#252;tzen, oder b) von ihm ablenken. </p>  <p>Just ist mir aufgefallen, wie lang dieser Artikel bereits ist. Ich werde ihn also in zwei oder drei Teile splitten und hoffe das er f&#252;r den Leser etwas neues oder zu mindest interessantes bringt...</p>  <p></p>  <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:2a7ee689-843b-42b5-a0dd-2d6a9a868b41" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati-Tags: <a href="http://technorati.com/tags/Der%20eigene%20Blog" rel="tag">Der eigene Blog</a>,<a href="http://technorati.com/tags/Technik" rel="tag">Technik</a>,<a href="http://technorati.com/tags/Visualisierung" rel="tag">Visualisierung</a></div>  <p></p>  <p>&#160;</p>  <p>Zum zweiten Teil des Artikels: </p>]]></description>
    <comments>articles.aspx?article=b83dcbb5-a745-4503-9337-db0c6c156f5c</comments>
    <category>Lies das!</category>
    <autor>André Finken</autor>
    <guid>b83dcbb5-a745-4503-9337-db0c6c156f5c</guid>
  </item>
  <item>
    <title>PDF on the fly in C#</title>
    <pubDate>Mon, 24 Dec 2007 12:22:19 GMT</pubDate>
    <link>www.bytebrauerei.de/articles.aspx?article=01d0648d-f684-4a3c-bc13-4a318ced4e64</link>
    <description><![CDATA[<p>Ich habe vor, die byteBrauerei-Artikel auch als PDF-Download anzubieten und hatte nach einer g&#252;nstigen L&#246;sung gesucht. Da ja nicht Jeder alles selber machen muss, gebe ich hier mal einen kurzen &#220;berblick zu iTextSharp ab:</p>  <p>Auf <a href="http://sourceforge.net/projects/itextsharp/" target="_blank">SourceForge.net</a> wird die dll von <a href="http://itextsharp.sourceforge.net/" target="_blank">iTextSharp</a> zum Download angeboten. Ein <a href="http://itextsharp.sourceforge.net/tutorial/index.html" target="_blank">iTextSharp-Tutorial</a> gibt es auch. Man kann PDF&#180;s on the fly selbst erstellen, oder aus XML / HTML automatisch generieren lassen. Zudem soll sich aus Richtext (siehe Tutorial) auch ein PDF-Dokument generieren lassen. Jedoch mit einigen Einschr&#228;nkungen.</p>  <p>&#160;</p>  <div class="csharpcode">   <pre class="alt">Document document = <span class="kwrd">new</span> Document();</pre>

  <pre>PdfWriter.getInstance(document, <span class="kwrd">new</span> FileStream(<span class="str">&quot;myFile.pdf&quot;</span>, FileMode.Create));</pre>

  <pre class="alt">document.Open();</pre>

  <pre>document.Add(<span class="kwrd">new</span> Paragraph(<span class="str">&quot;Einfach mal was reinschreiben...&quot;</span>));</pre>

  <pre class="alt">document.Close();</pre>
</div>
<style type="text/css">

.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>

<p>&#160;</p>

<p>Ich selbst habe das Parsen von XML / HTML Dateien in ein PDF noch nicht ausprobiert, aber das Erstellen eines einfachen Dokumentes klappt gut und einfach. Auch ist es m&#246;glich, das Drucken / Speichern / Markieren von Text zu verhindern, falls man es braucht. Da alle anderen L&#246;sungen richtig in die Geldb&#246;rse greifen, ist dies vielleicht die beste und g&#252;nstigste Alternative.</p>

<p>&#160;</p>

<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:f5bb55d9-c4d6-4804-b682-53405a1858e9" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati-Tags: <a href="http://technorati.com/tags/PDF" rel="tag">PDF</a>,<a href="http://technorati.com/tags/C#" rel="tag">C#</a>,<a href="http://technorati.com/tags/ASP.net" rel="tag">ASP.net</a>,<a href="http://technorati.com/tags/on%20the%20fly" rel="tag">on the fly</a></div>]]></description>
    <comments>articles.aspx?article=01d0648d-f684-4a3c-bc13-4a318ced4e64</comments>
    <category>C#</category>
    <autor>André Finken</autor>
    <guid>01d0648d-f684-4a3c-bc13-4a318ced4e64</guid>
  </item>
  <item>
    <title>XAML und die WPF</title>
    <pubDate>Sun, 23 Dec 2007 10:23:11 GMT</pubDate>
    <link>www.bytebrauerei.de/articles.aspx?article=a28dbb1a-5f78-4603-9995-a7d597c74140</link>
    <description><![CDATA[<p>Bei den ganzen Abk&#252;rzungen kann man doch eigentlich nicht mehr durchblicken, oder? RRS, XML, HTML, XHTML, XAML, WPF, WCF, MSIL, XSL und XSLT sind dabei nur die Spitze des Eisberges. Ich habe mal versucht bei Google eine &#220;bersicht &#252;ber die Abk&#252;rzungen zu bekommen, wusste aber gar nicht genau, wonach ich suchen sollte?! Die einzige Chance sich durch dieses Dschungel zu k&#228;mpfen, ist bei <a href="http://www.wikipedia.org/" target="_blank">Wiki</a> nachzuschlagen und so Schritt f&#252;r Schritt hinter die Bedeutungen der Abk&#252;rzungen zu kommen.</p>  <p>Bei <a href="http://entwickler-press.de" target="_blank">EntwicklerPress</a> gab&#180;s in diesem Jahr einen sch&#246;nen Weihnachtskalender f&#252;r Entwickler, wobei die Geschenke hinter den T&#252;ren genau diese Abk&#252;rzungen gebrauchen. Hinter jeder T&#252;r verbarg sich ein eBook mit so sch&#246;nen Themen wie: <em>XSLT, </em><em>Software Lifecycle, </em><em>Visual C#, </em><em>Social Software, </em><em>Dateiformate etc.</em></p>  <ul>Heute, am 23. Dez. war XAML dran. XAML ist ja nun die XML-Beschreibungssprache f&#252;r die Windows Presentation Foundation, die Visualisierung, das Frontend. </ul>  <blockquote>   <p>Windows Vista wird gerne als Meilenstein in der Entwicklung von Betriebssvstemen aus dem Hause Microsoft bezeichnet. Es werden Vergleiche mit dem Umstieg von Windows 3.x auf Windows 95 gezogen, mit Superlativen wird nicht gespart. Tats&#228;chlich bringt das Betriebssystem viele n&#252;tzliche Neuerungen f&#252;r den t&#228;glichen Bedarf von typischen Windows-Benutzern. Hinter den Kulissen fand jedoch eine kleine Revolution statt. Diejenigen, die am meisten die Auswirkungen dieser Revolution zu sp&#252;ren bekommen, sind die Softwareentwickler. </p> </blockquote>  <p>Eine dieser gro&#223;en Entwicklungen wird die WPF sein und somit XAML, auch Silverlight ist in aller Munde. Die komplette Trennung von Code und Design, Daten und Layout. Hmm, wie oft wurde das bereits angek&#252;ndigt? Und wie lange dauert die Einf&#252;hrung? HTML und CSS, sowie XML und XSL sind f&#252;r mich solche Trennungen. </p>  <p>Zudem erlaubt mir meine Fantasie nicht, die M&#246;glichkeiten mit WPF zu erahnen. Ich &#246;ffne den Design-Editor und beginne mit dem definieren der Button-Gr&#246;&#223;e? Alles ist skalierbar und wartet auf die H&#228;nde eines begnadeten K&#252;nstlers. Eigentlich m&#252;sste ich einen Designer einstellen. Aber wer will das Privat schon :) ?</p>  <p>Wir Entwickler wissen, das wir nur in Ausnahmen wirklich gute Designer sind. Somit erstellen wir immer ein, f&#252;r uns, n&#252;tzliches Design und k&#246;nnen damit in den meisten F&#228;llen keinem Usability-Test standhalten. Ich selbst bin gespannt, wie sich die Entwicklung auswirken wird und werde mich in der n&#228;chsten Zeit mehr mit WPF, XAML und Silverlight besch&#228;ftigen und dar&#252;ber schreiben. </p>  <p>&#160;</p>  <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:7cf18f64-57fa-4b98-b03f-59b158837f7a" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati-Tags: <a href="http://technorati.com/tags/XAML" rel="tag">XAML</a>,<a href="http://technorati.com/tags/XMLWriter" rel="tag">XMLWriter</a>,<a href="http://technorati.com/tags/WPF" rel="tag">WPF</a>,<a href="http://technorati.com/tags/Silverlight" rel="tag">Silverlight</a>,<a href="http://technorati.com/tags/EntwicklerPress" rel="tag">EntwicklerPress</a></div>]]></description>
    <comments>articles.aspx?article=a28dbb1a-5f78-4603-9995-a7d597c74140</comments>
    <category>Technik</category>
    <autor>André Finken</autor>
    <guid>a28dbb1a-5f78-4603-9995-a7d597c74140</guid>
  </item>
  <item>
    <title>RSS-Feed per C# XMLWriter</title>
    <pubDate>Sat, 22 Dec 2007 11:58:55 GMT</pubDate>
    <link>www.bytebrauerei.de/articles.aspx?article=bad903be-4d35-4403-bedd-d121626e9f06</link>
    <description><![CDATA[<p>Habe mir sagen lassen, das ein Blog kein Blog ist, wenn er nicht &#252;ber RSS-Feeds verf&#252;gt. Ist was dran. </p>  <p>An dem Tag, an dem dieser Artikel ver&#246;ffentlicht wurde, sind wir mit unseren Techniken mehr als aktuell:</p>  <blockquote>   <p>Unser Microsoft Server l&#228;uft mit dem dotNet Framework 3.5 auf ASP.net, wir benutzen LinQ als Abfragesprache auf dem SQL-Server 2005 und als Sprache im Codebehind arbeiten wir mit C#. Zudem ist die Seite ohne Tabellen und Frames, nur mit CSS designed. </p> </blockquote>  <p>Wenn es nun darum geht, die Daten per RSS-Feed (XML) einem Feed-Reader zur Verf&#252;gung zu stellen, so ist das nicht so schwer wie man danken sollte, bzw. wie ich gedacht habe :)</p>  <p>&#160;</p> <style type="text/css">
.csharpcode, .csharpcode pre
{
	font-size: small;
	color: black;
	font-family: consolas, "Courier New", courier, monospace;
	background-color: #ffffff;
	/*white-space: pre;*/
}
.csharpcode pre { margin: 0em; }
.csharpcode .rem { color: #008000; }
.csharpcode .kwrd { color: #0000ff; }
.csharpcode .str { color: #006080; }
.csharpcode .op { color: #0000c0; }
.csharpcode .preproc { color: #cc6633; }
.csharpcode .asp { background-color: #ffff00; }
.csharpcode .html { color: #800000; }
.csharpcode .attr { color: #ff0000; }
.csharpcode .alt 
{
	background-color: #f4f4f4;
	width: 100%;
	margin: 0em;
}
.csharpcode .lnum { color: #606060; }</style>  <div class="csharpcode">   <pre class="alt">&#160;</pre>

  <pre>var articles = from a <span class="kwrd">in</span> db.Articles</pre>

  <pre class="alt">               orderby a.Date descending</pre>

  <pre>               select a;</pre>

  <pre class="alt">&#160;</pre>

  <pre>XmlTextWriter xml = <span class="kwrd">new</span> XmlTextWriter(fileName, <span class="kwrd">null</span>);</pre>

  <pre class="alt">&#160;</pre>

  <pre>xml.Formatting = Formatting.Indented;</pre>

  <pre class="alt">xml.WriteStartDocument();</pre>

  <pre>&#160;</pre>

  <pre class="alt">xml.WriteComment(<span class="str">&quot;RSS Feed der byteBrauerei&quot;</span>);</pre>

  <pre>xml.WriteComment(<span class="str">&quot;copyright byteBrauerei.de 2007&quot;</span>);</pre>

  <pre class="alt">xml.WriteRaw( <span class="str">&quot;&lt;rss version=\&quot;2.0\&quot;&gt;&quot;</span> );</pre>

  <pre>xml.WriteStartElement(<span class="str">&quot;channel&quot;</span>);</pre>

  <pre class="alt">&#160;</pre>

  <pre>xml.WriteElementString(<span class="str">&quot;title&quot;</span>, <span class="str">&quot;byteBrauerei.de&quot;</span>);</pre>

  <pre class="alt">xml.WriteElementString(<span class="str">&quot;desription&quot;</span>, </pre>

  <pre>        String.Format(<span class="str">&quot;{0} - {1}, C#, ASP.net, HTML/CSS Blog&quot;</span>, </pre>

  <pre class="alt">        Properties.Settings.Default.PageName, </pre>

  <pre>        Properties.Settings.Default.PageSlogan));</pre>

  <pre class="alt">xml.WriteElementString(<span class="str">&quot;link&quot;</span>, Properties.Settings.Default.WebSiteComplete);</pre>

  <pre>xml.WriteElementString(<span class="str">&quot;language&quot;</span>, <span class="str">&quot;de-de&quot;</span>);</pre>

  <pre class="alt">xml.WriteElementString(<span class="str">&quot;copyright&quot;</span>, <span class="str">&quot;byteBrauerei.de 2007&quot;</span>);</pre>

  <pre>&#160;</pre>

  <pre class="alt"><span class="kwrd">foreach</span> (Articles article <span class="kwrd">in</span> articles)</pre>

  <pre>{</pre>

  <pre class="alt">    xml.WriteStartElement(<span class="str">&quot;item&quot;</span>);</pre>

  <pre>&#160;</pre>

  <pre class="alt">    xml.WriteElementString(<span class="str">&quot;title&quot;</span>, article.Header);</pre>

  <pre>    xml.WriteElementString(<span class="str">&quot;pubDate&quot;</span>, article.Date.Value.ToString(<span class="str">&quot;R&quot;</span>));</pre>

  <pre class="alt">    xml.WriteElementString(<span class="str">&quot;link&quot;</span>, <span class="str">&quot;www.bytebrauerei.de/&quot;</span> + </pre>

  <pre>                Library.Web.BuildLink(<span class="str">&quot;articles&quot;</span>, <span class="str">&quot;article&quot;</span>, </pre>

  <pre class="alt">                article.Guid_Blog.ToString()));</pre>

  <pre>    xml.WriteStartElement(<span class="str">&quot;description&quot;</span>);</pre>

  <pre class="alt">    xml.WriteCData(article.Body);</pre>

  <pre>    xml.WriteEndElement();</pre>

  <pre class="alt">    xml.WriteElementString(<span class="str">&quot;comments&quot;</span>, Library.Web.BuildLink(<span class="str">&quot;articles&quot;</span>, <span class="str">&quot;article&quot;</span>, </pre>

  <pre>                article.Guid_Blog.ToString()));</pre>

  <pre class="alt">    xml.WriteElementString(<span class="str">&quot;category&quot;</span>, article.Category);</pre>

  <pre>    xml.WriteElementString(<span class="str">&quot;autor&quot;</span>, article.Autor);</pre>

  <pre class="alt">    xml.WriteElementString(<span class="str">&quot;guid&quot;</span>, article.Guid_Blog.ToString());</pre>

  <pre>    </pre>

  <pre class="alt">    xml.WriteEndElement();</pre>

  <pre>}</pre>

  <pre class="alt">&#160;</pre>

  <pre>xml.WriteEndElement();</pre>

  <pre class="alt">xml.WriteRaw(<span class="str">&quot;&lt;/rss&gt;&quot;</span>);</pre>

  <pre>xml.WriteEndDocument();</pre>

  <pre class="alt">xml.Close();</pre>
</div>

<p>&#160;</p>

<p>Die wichtigsten Elemente sind, f&#252;r den Kopf (channel-Tag), die Tags title, language, link und description - und f&#252;r die Artikel (item-Tag) die Tags title, pubDate, link, description, comments, category, autor und guid. </p>

<p>&#160;</p>

<p><a href="http://www.bytebrauerei.de/rss.xml" target="_blank">Und so schaut der Feed dann aus...</a></p>

<p>&#160;</p>

<div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6d465f3d-64ca-49dd-883c-c31fbafc77d8" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati-Tags: <a href="http://technorati.com/tags/RSS" rel="tag">RSS</a>,<a href="http://technorati.com/tags/XML" rel="tag">XML</a>,<a href="http://technorati.com/tags/C#" rel="tag">C#</a>,<a href="http://technorati.com/tags/XMLWriter" rel="tag">XMLWriter</a></div>]]></description>
    <comments>articles.aspx?article=bad903be-4d35-4403-bedd-d121626e9f06</comments>
    <category>XML/XSL</category>
    <autor>André Finken</autor>
    <guid>bad903be-4d35-4403-bedd-d121626e9f06</guid>
  </item>
  <item>
    <title>Live Writer im eigenen Blog</title>
    <pubDate>Sat, 22 Dec 2007 10:40:00 GMT</pubDate>
    <link>www.bytebrauerei.de/articles.aspx?article=a3c8a41f-f8e2-423f-ad7a-a416c9223831</link>
    <description><![CDATA[<p>Den <a href="http://get.live.com/writer/overview" target="_blank">Microsoft Live Writer</a> im eigenen Blog zu benutzen finden wir einfach mal richtig klasse. Das der Live Writer mit den Microsoft Live Spaces arbeitet ist klar und einleuchtend. Das er mit g&#228;ngigen Blogs wie WordPress, Blogger etc. arbeiten kann, k&#246;nnte man vermuten. Aber wenn man ein eigenes Blog baut, den Live Writer als Blog-Artikel-Tool zu benutzen, das ist ein Ding. </p>  <p>Aufmerksam wurde ich auf diese Tatsache, als ich das sehr gute Blog <a href="http://www.des-eisbaeren-blog.de" target="_blank">des Eisb&#228;ren Blog (goloroden.de)</a> las und den Artikel <a href="http://www.des-eisbaeren-blog.de/Blog/Permalink/ImplementingWindowsLiveWriterSupport.aspx" target="_blank">Implementing Windows Live Writer support</a> fand. Da wir hier unseren Blog komplett selbst geschrieben haben (ASP.net mit Codebehind C#), wurde auch erst ein Blogeditor per WCF-Service realisiert. Nur, einen kompletten HTML-Editor zu schreiben ist kein einfach Unterfangen. Und warum etwas neu erfinden, was es schon gibt? Also, ran an die Arbeit und den Live Writer &#252;ber <a href="http://www.xml-rpc.net/" target="_blank">XML-RPC</a> angebunden und alle Funktionen implementiert. </p>  <p>Der Live Writer verifiziert nun den Benutzer, erstellt neue Eintr&#228;ge, &#228;ndert und l&#246;scht vorhandene in dem er die Anfragen an unseren Service stellt. Zudem l&#228;d der Live Writer das Cascading-Style-Sheet (CSS) vom Blog herunter und zeigt die Artikel an denen man arbeitet gleich im fertigen Layout an. </p>  <p>&#160;</p>  <p>Auch in der MSDN von Microsoft gibt es gute Tips zur Implementierung des <a href="http://msdn2.microsoft.com/en-us/library/aa905665.aspx" target="_blank">MetaWeblogAPI</a>, die man sich ruhig mal anschauen sollte. </p>  <p>Zudem gibt es auf es das <a href="http://www.live-writer.de/project/" target="_blank">LiveWriterBlog</a> mit Tips und Plug-Ins.</p>  <p>&#160;</p>  <p>&#160;</p>  <div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:84a416ec-5d3b-4a0f-85e0-d337fdf5acbc" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px">Technorati-Tags: <a href="http://technorati.com/tags/Windows%20Live%20Writer" rel="tag">Windows Live Writer</a>,<a href="http://technorati.com/tags/Blog" rel="tag">Blog</a>,<a href="http://technorati.com/tags/Technik" rel="tag">Technik</a>,<a href="http://technorati.com/tags/ASP.NET" rel="tag">ASP.NET</a></div>]]></description>
    <comments>articles.aspx?article=a3c8a41f-f8e2-423f-ad7a-a416c9223831</comments>
    <category>Lies das!</category>
    <autor>André Finken</autor>
    <guid>a3c8a41f-f8e2-423f-ad7a-a416c9223831</guid>
  </item>
</channel></rss>
