Geiler Trailer, geile App, geile Community!

Monday, August 22, 2011 10:29:16 PM (Mitteleuropäische Sommerzeit, UTC+02:00)

An einem Freitag dem 13. März 2009 erblickte die deutsche Version von dotnet-kicks.de das Licht der Welt. Die erfolgreiche Entwicklung dieser Community zeigt uns, dass dieses Geburtsdatum kein Unglück gebracht hat.
Ganz im Gegenteil: dotnet-kicks.de hat sich inzwischen fest in der .NET Community etabliert.
Der dotnet-kicks.de – Button wurde von unzähligen Bloggern und Webmastern eingebunden, darunter befinden sich auch einige prominente Seiten wie zum Beispiel die MSDN oder die Webseite der dotnetpro.
Es hat sich ein fester Besucherstamm gebildet, der täglich auf dotnet-kicks.de vorbei schaut, wie im Spy zu sehen ist.
Klaus und Gordon haben von Anfang an entscheidend bei  der Entwicklung und beim Aufbau der Community beigetragen. Man denke nur an die mutige Postkartenaktion von Gordon.
Klaus hat ebenfalls viel Freizeit für die Entwicklung und die Behebung kleinerer Fehler geopfert.
Vielen Dank an euch beide!
Bei unserer neuesten Aktion hat Gordon erneut gezeigt, dass er nicht nur hervorragend coden kann, sondern, dass er nebenbei noch ein ausgezeichneter Mediengestalter ist. Wie das folgende Video zeigt:

Nach dem Gordon schon die ein oder andere App im Windows Phone Marketplace hat, hat er jetzt auch eine App für dotnet-kicks.de geschrieben.
Ich habe diese App von Anfang an mit getestet und kann nur sagen: Installationsbefehl!
Für so eine App braucht es natürlich auch eine API, diese habe ich vor kurzem entwickelt und möchte euch diese auch nicht vorenthalten. Wer die API ernsthaft nutzen möchte, kann mich gern nach der URL und einem API Key fragen Smiley

Es gibt Gerüchte, die behaupten, dass Gordon demnächst eine Webcastserie veröffentlichen wird, die zeigt, wie die größten Hürden bei der Entwicklung der App überwunden wurden. Schaut doch einfach demnächst öfter auf seinem Blog vorbei.

Das wichtigste habe ich mir für den Schluss aufgehoben, der Download-Link für die kostenlose dotnet-kicks.de - App:

Download für Windows Phone


Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


Meine Erfahrungen mit Hetzner Root Servern

Monday, March 21, 2011 11:08:15 PM (Mitteleuropäische Zeit, UTC+01:00)

Anfang März 2010 liefen das dotnet-forum.de, dotnet-kicks.de sowie der thumbscreator.net auf einem kleinen virtuellen Server bei Hosteurope. Der Server war zuverlässig, aber hatte zu wenig Arbeitsspeicher was den installierten SQL Server stark ausgebremst hatte.
Ich machte mich also auf die Suche nach einem Server mit mehr Speicher, größerer Festplatte und mehr Rechenleistung. Bei der Suche nach einem passenden Server spielte auch der Preis eine große Rolle, da sämtliche Webseiten, die auf dem neuen Webserver laufen sollten, kein bzw. wenig Geld einbringen. Bei diesen Anforderungen war die Auswahl der Anbieter nicht sehr groß.

Hetzner-Erfahrungen

Da ich von Thomas Bandt und Gordon Breuer schon von Hetzner gehört hatte, hab ich mir die Firma und deren Produkte etwas genauer angesehen. Der günstigste Root-Server mit 8 GB RAM und einem Intel Quadcore Prozessor kostete monatlich nur 49€. Zu diesen 49€ kamen noch 20€ für die Windows Server Lizenz und eine einmalige Einrichtungsgebühr von 100€ hinzu. Trotzdem sind die knapp 70€ im Monat im Vergleich zur Konkurrenz sehr günstig gewesen. Bei Mitbewerbern kann man für vergleichbare Server ganz leicht 200€ und mehr pro Monat auf den Tisch legen. Der Preis passte also. Nun blieb die Frage nach der Qualität der Hardware und des Supports. Ich erkundigte mich bei Gordon und Thomas, die beide langjährige Hetzner Kunden waren. Beide haben mit Hetzner keine schlechten Erfahrungen gemacht, also bestellte ich den EQ4 Server. Der erste Eindruck von dem Server war durchweg positiv. Das Raid 0 war nur ein Software Raid aber dies lässt sich unter Windows ganz einfach managen. Die restliche Hardware bestand aus gewöhnlichen Desktop-Komponenten soweit ich das über verschiedene Tools wie zum Beispiel SiSoft Sandra feststellen konnte. Das war mir aber relativ egal. Wenn irgendetwas kaputt gehen sollte, hab ich ja ein Backup und den Hetzner Support. Da ich auch keine hochkritischen Anwendungen auf dem Server laufen lassen wollte, brauchte ich keine extrem hohe Verfügbarkeit. Nach dem der Server knapp zwei Wochen lief, begrüßte mich Windows beim Login mit einem Dialog, der mich fragte, warum der Server unerwartet neu gestartet wurde. Ich hatte keine Ahnung was passiert war und ignorierte die Fehlermeldung vorerst. Einige Wochen später waren meine Webseiten für einige Minuten nicht erreichbar und ich musste erneut feststellen, dass der Server aus irgendeinem Grund neu gestartet wurde. Ein Blick in das Windows Event Log gab folgende Details preis:

- <Event xmlns="http://schemas.microsoft.com/win/2004/08/events/event">
- <System>
  <Provider Name="Microsoft-Windows-Kernel-Power" Guid="{331C3B3A-2005-44C2-AC5E-77220C37D6B4}" />
  <EventID>41</EventID>
  <Version>2</Version>
  <Level>1</Level>
  <Task>63</Task>
  <Opcode>0</Opcode>
  <Keywords>0x8000000000000002</Keywords>
  <TimeCreated SystemTime="2010-04-12T20:32:53.575254600Z" />
  <EventRecordID>2876</EventRecordID>
  <Correlation />
  <Execution ProcessID="4" ThreadID="8" />
  <Channel>System</Channel>
  <Computer>OWNEROR-L24TE01</Computer>
  <Security UserID="S-1-5-18" />
  </System>
- <EventData>
  <Data Name="BugcheckCode">0</Data>
  <Data Name="BugcheckParameter1">0x0</Data>
  <Data Name="BugcheckParameter2">0x0</Data>
  <Data Name="BugcheckParameter3">0x0</Data>
  <Data Name="BugcheckParameter4">0x0</Data>
  <Data Name="SleepInProgress">false</Data>
  <Data Name="PowerButtonTimestamp">0</Data>
  </EventData>
  </Event>

Nach kurzen googlen fand ich einen MS KB Eintrag zu diesem Problem, der im Wesentlichen aussagt, dass Windows neu gestartet wurde, weil irgendwas mit der Hardware nicht stimmte, als mögliche Ursachen nennt Microsoft bei diesem Bugcheck-Code zum Beispiel  Übertaktung oder Stromausfall. Ich meldete mich darauf hin beim Hetzner Support, der auch schnell reagierte und den Arbeitsspeicher austauschte. Leider ohne Erfolg. Beim nächsten Reset wurde das Netzteil getauscht. Was natürlich jedes Mal einen längeren Ausfall der Webseiten nach sich zog. Die Resets wurden leider nicht weniger, inzwischen hinterließen die Resets auch Datenverlust und beschädigten sogar einmal die SQL Server Installation, was wieder einen längeren Ausfall der Webseiten nach sich zog.

Hetzner1

Der Hetzner Support war stets bemüht irgendetwas zu unternehmen um den Fehler zu finden. Im Laufe der Zeit wurde die gesamte Hardware durchgetauscht. Fehler an der Infrastruktur wie zum Beispiel Kühlung, Stromversorgung usw. schloss Hetzner aus.
Auf der Softwareseite habe ich natürlich auch alles Erdenkliche getan, um den Fehler einzukreisen. Von Belastungstests (Prime95), Virus- und Malewarescans bis hin zum Einsatz von verschiedenen Diagnose-Tools hab ich alles versucht.
Als das alles nichts geholfen hat, habe ich mich entschlossen, einen zweiten Server bei Hetzner zu mieten und alles nochmal neu zu installieren. Leider hat mir Hetzner die Einrichtungsgebühr für den neuen Server in Höhe von 100€ nicht erlassen. Zitat: „Ein bereits durchgeführter HW-Check zeigt keine HW-Fehler. Muss also ein Fehler an der Software sein, daher kann ich Ihnen bei einer Neubestellung preislich leider nicht entgegenkommen.”
Ich bekam also wie bestellt einen neuen EQ4 Server und dieses Mal in einem anderen Rechenzentrum. Eigentlich dürfte der Fehler jetzt nicht noch einmalmal auftauchen. Weit gefehlt, nach wenigen Tagen gab es den ersten Reset. Das Spiel mit dem Support begann von vorne und die Resets traten alle paar Tage auf:

Hetzner2

Nach einem Jahr bei Hetzner ist meine Geduld am Ende. Ich habe alles gekündigt und bin nun zu Strato umgezogen.

Wie ich oben schon beschrieben habe, kenne ich zwei zufriedene Hetzner-Kunden. Entweder ich habe ein unglaubliches Pech gehabt oder das Modell EQ4 ist mit falscher oder falsch konfigurierter Hardware ausgestattet.

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


Urlrewriting.net auf dem IIS 7.5 installieren

Saturday, May 01, 2010 6:00:07 PM (Mitteleuropäische Sommerzeit, UTC+02:00)

Thomas Bandt und Albert Weinert haben vor über 4 Jahren ein sehr populäres URL Rewriting Framework veröffentlicht welches das suchmaschinenfreundliche Umschreiben von URLs in ASP.NET ermöglicht. Dieses Framework wird zum Beispiel von dotnet-kicks.de verwendet.
Bis jetzt lief dotnet-kicks bei mir auf einem IIS 6 wo es bei der Installation von Urlrewriting.net eigentlich nichts zu beachten gab.

Heute hab ich dotnet-kicks.de auf einem IIS 7.5 aufgesetzt wo das Umschreiben der URLs nicht ohne weiteres funktionierte.

Hier eine kurze Anleitung wie es im IIS 7.5 zum laufen gebracht werden kann:

1. Application Pool

Der Application Pool der Webanwendung muss auf Classic und .NET Version 2.0 eingestellt werden:

ApplicationPool

Anschließend wird in den erweiterten Einstellungen des Application Pools der Schalter “Enable 32-Bit Applications” auf true gesetzt.

ApplicationPool_32bit

2. Wildcard script mapping

Auf learn.iis.net ist sehr schön beschrieben wie das Wildcard script mapping im IIS 7 classic pipeline mode eingerichtet wird. Bei mir sieht das Ergebnis in der Web.config dann folgendermaßen aus:

<handlers>
<remove name="StaticFile" />
<remove name="ASP.NET-ISAPI-2.0-Wildcard" />
<add name="ASP.NET-ISAPI-2.0-Wildcard" path="*" verb="*" modules="IsapiModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Unspecified" requireAccess="None" preCondition="classicMode,runtimeVersionv2.0,bitness32" />
<add name="StaticFile" path="*" verb="*" modules="StaticFileModule,DefaultDocumentModule,DirectoryListingModule" scriptProcessor="C:\Windows\Microsoft.NET\Framework\v2.0.50727\aspnet_isapi.dll" resourceType="Either" requireAccess="Read" preCondition="bitness32" />
</handlers>

Dabei ist die Reihenfolge der Einträge ‘ASP.NET-ISAPI-2.0-Wildcard’ und ‘StaticFile’ zu beachten. ‘StaticFile’ muss nach ‘ASP.NET-ISAPI-2.0-Wildcard’ kommen!

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


Kicken ist jetzt noch einfacher mit dem Internet Explorer 8

Monday, May 18, 2009 9:35:36 AM (Mitteleuropäische Sommerzeit, UTC+02:00)

Ist man im Netz unterwegs und stolpert über einen interessanten .NET Artikel, kann man diesen bei dotnet-kicks.de eintragen um diesen Artikel anderen zu empfehlen und bewerten zu lassen.
Um Artikel bei dotnet-kicks.de einzustellen, die noch keinen Kick-It! Button haben, kann man z.B. folgendes Formular nutzen: http://dotnet-kicks.de/submit

Wer mit dem IE8 unterwegs ist, hat es jetzt deutlich einfacher Artikel zu veröffentlichen. Man markiert einfach den Text auf der Webseite der später als Beschreibung dienen soll, dann erscheint ein blaues Schnellinfo-Logo hinter dem sich ein Kontextmenü verbirgt. Dort gibt es eine so genannte Schnellinfo die alle relevanten Daten zu dotnet-kicks.de überträgt.

SchnellinfoDNK

Um die Schnellinfo zu installieren genügt ein Klick auf diesen Link:

IE8 Schnellinfo für dotnet-kicks.de installieren

Wer den Firefox nutzt, kann das dotnet-kicks.de - Bookmarklet verwenden.

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


Dotnet-kicks.de Button in Google Blogger (Blogspot) integrieren

Monday, May 04, 2009 4:30:42 PM (Mitteleuropäische Sommerzeit, UTC+02:00)

Wer seinen Blog bei Google betreibt, kann sehr einfach einen Button von dotnet-kicks.de unter jeden Blogpost einsetzen. Die folgenden Schritte sind dafür notwendig:

1.    einloggen in den Blog
2.    auf Anpassen klicken um die Konfigurationsoberfläche aufzurufen
3.    auf den Tab Layout klicken
4.    im Menü auf HTML bearbeiten klicken
5.    den Haken in der CheckBox Vorlagen zum Erweitern von Widgets setzen
6.    in dem HTML Code nach <data:post.body/> suchen (etwa in der Mitte)
7.    direkt danach wird folgender HTML Code eingefügt:

<!-- dotnet-kicks.de Button Start -->
<p><a expr:href='&quot;http://dotnet-kicks.de/submit/?url=&quot; + data:post.url + &quot;&amp;title=&quot; + data:post.title' expr:id='data:widget.instanceId + &quot;_kickit&quot;' ><img border="0" alt='Kick It on dotnet-kicks.de' expr:src='&quot;http://dotnet-kicks.de/Services/Images/KickItImageGenerator.ashx?url=&quot; + data:post.url'/></a></p>
<!-- dotnet-kicks.de Button End -->

8.    Auf Vorlage Speichern klicken
9.    Fertig!

dnk_blogspot

Ab sofort wird unter jedem Beitrag der dotnet-kicks.de – Button angezeigt.

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


dotnet-kicks.de Buttons “für Fortgeschrittene”

Tuesday, April 28, 2009 10:55:32 PM (Mitteleuropäische Sommerzeit, UTC+02:00)

Im letzten Blogpost habe ich gezeigt wie die Buttons in den eigenen Blog eingebunden werden können.

Wer die Farben des Buttons an sein Blogdesign anpassen möchte, kann das über weitere, optionale URL Parameter tun. Den Parametern wird jeweils ein Hex-Wert für die Farbe übergeben.

Sowas kann dabei herauskommen:

KickItImageGenerator

Für diesen Button hab ich diese URL verwendet:

Hier noch einmal die URL Parameter in der Übersicht:

border Farbe des Rahmens
cfgcolor Schriftfarbe (kick it-de)
bgcolor Hintergrundfarbe - (kick it-de)
fgcolor Schriftfarbe des Counters (1)
cbgcolor Hintergrundfarbe des Counters (1)

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


Den dotnet-kicks.de – Button in dasBlog integrieren …

Tuesday, April 28, 2009 10:23:53 PM (Mitteleuropäische Sommerzeit, UTC+02:00)

… ist ganz einfach :-)

Um den dotnet-kicks.de – Button automatisch in jeden Blogpost bei dasBlog zu intergieren, wechselt man einfach in das Verzeichnis des des Themes, welches man nutzt.
Bei mir sieht der Pfad folgendermaßen aus:

httpdocs/themes/kubrick/

Dort öffnet man die Datei itemTemplate.blogtemplate. In dieser Datei fügt man den folgenden  HTML Code dort ein, wo er später im Blogpost erscheinen soll.

<a href="http://dotnet-kicks.de/kick/?url=<%PermalinkUrl%>"><img src="http://dotnet-kicks.de/Services/Images/KickItImageGenerator.ashx?url=<%PermalinkUrl%>" border="0" alt="Kick it on dotnet-kicks.de" /></a>

Meine itemTemplate.blogtemplate – Datei sieht dann folgendemaßen aus:

<div class="navigation">
<div class="aligncenter"><%PreviousLink("&laquo;&nbsp;",40)%></div>
<div class="aligncenter"><%MainPageentryLink("letzter Beitrag", "")%></div>
<div class="aligncenter"><%NextLink("&nbsp;&raquo;",40)%></div>
</div>

<div class="post">

<h2><%ItemTitle%></h2>
<small><%when%></small>
<br />
<div class="entry">
<%ItemBody%>
</div>
<p>
<a href="http://dotnet-kicks.de/kick/?url=<%PermalinkUrl%>"><img src="http://dotnet-kicks.de/Services/Images/KickItImageGenerator.ashx?url=<%PermalinkUrl%>" border="0" alt="Kick it on dotnet-kicks.de" /></a>
</p>
<p class="postmetadata">
Posted in <%categoryLinks%>&nbsp;|<%commentLink%>&nbsp;
<%editButton%>&nbsp;
<%trackbackList%>&nbsp;
<%enclosure%>
<br clear="all">
</p>

</div>

Das war’s auch schon!

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


Den .NET-Zeitgeist finden

Wednesday, April 22, 2009 11:40:17 PM (Mitteleuropäische Sommerzeit, UTC+02:00)

Zeitgeist Wie sagt man im Englischen, wenn man einen Satz mit der Wortgruppe „dem Zeitgeist entsprechend“ formulieren möchte?

Was hat diese Frage mit .NET zu tun?

Wo kann man aktuelle Trends in der Microsoft Entwicklerwelt erkennen?

Wo kann man ablesen, wer sich wann für welches .NET Thema interessiert?

Vor allem, wo kann man dem .NET-Zeitgeist begegnen?

Die Antwort auf all diese Fragen findet man im aktuellen Artikel auf dem Blog von dotnet-kicks.de.

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de


dotnet-kicks.de ist online

Friday, March 13, 2009 8:14:47 PM (Mitteleuropäische Zeit, UTC+01:00)

dotnet_final_big_rgb_6317ECAF Nach dem es schon der ein oder andere mitbekommen hat ;-) möchte ich es mir nicht nehmen lassen auch darüber zu bloggen, dass dotnet-kicks.de am 11.3.2009 nach einer Aufsehen erregenden Postkartenaktion online gegangen ist.

Was ist dotnet-kicks.de?

Dotnet-kicks.de hilft dabei, die tägliche Flut an Artikeln, News, Events und vor allem Blogeinträgen im .NET Bereich zu filtern. User können wichtige und interessante Artikel hervorheben, in dem die sie die Artikel kicken. Mit jedem Kick wird ein Artikel für andere interessanter. Um so Mehr Kicks ein Artikel bekommen hat, um so länger hält er sich auf der Startseite. Artikel die weniger interessant sind, rutschen schnell auf die hinteren Seiten ab.

Warum bei dotnet-kicks.de veröffentlichen?

In der englischsprachigen .NET Community findet man kaum noch Blogger die ihre Artikel nicht beim Englischen Pedant dotnetkicks.com veröffentlichen. Es hat sich dort schnell rumgesprochen, dass gute Beiträge sehr viele Besucher auf den eigenen Blog lenken. Ryan Lanciaux spricht vom so genannten "DotNetKicks Effect"  Neben diesem direkten Vorteil bietet dotnet-kicks.de die Möglichkeit, an themenrelevante Backlinks zu gelangen, was sehr interessant für Suchmaschinen ist.
Um Missbrauch vorzubeugen, kann jeder User Artikel als Spam melden, die 3 Moderatoren übernehmen dann das Löschen.

Wie ist dotnet-kicks.de entstanden und wer steckt dahinter?

Als ich mir im Dezember 2007 dotnetkicks.com angesehen habe, fand ich das Konzept sehr interessant und hatte die Idee, so etwas auch für den deutschsprachigen Raum aufzuziehen. Als ich feststellte, das DotNetKicks ein Open Source Projekt war, habe ich spontan die deutsche URL registriert :-) Kurz danach stellte ich fest, dass es sehr viel Aufwand ist das gesamte System zu lokalisieren und zu übersetzen. Mit Klaus Bock und Gordon Breuer fand ich zwei sehr engagierte Mitstreiter die bereit waren an der Lokalisierung mitzuarbeiten. Ende des letzten Jahres gesellte sich Günther Foidl dazu, er hat sich auf das Testen spezialisiert. Zu Beginn des Projekts hat Rainer Schuster gute Grundlagenarbeit geleistet, um das doch sehr komplexe System zum Laufen zu bringen :-)  Für die Zusammenarbeit haben wir Subversion eingesetzt, das Bugtracking und die Kommunikation lief über interne Unterforen im dotnet-forum.de.

What else?

Als Anlaufstelle für News rund um dotnet-kicks.de dient ein eigener Blog in dem Klaus, Gordon und ich auf euer Feedback gespannt sind. Es gibt, wie könnte es auch anders sein, einen Twitteraccount in dem alle Artikel veröffentlicht werden, die auf der Startseite erscheinen.

Ich möchte mich ganz herzlich bei allen bedanken, die mich tatkräftig bei diesem Projekt unterstützt haben.
Vielen Dank auch für das Verständnis aller Postkartenempfänger ;-)

Wenn ihnen der Artikel gefallen hat oder er für sie hilfreich war,
bitte "kicken" sie ihn.

Kick it on dotnet-kicks.de