Ajaxed + CLASP 2.0

Sonntag, 8. Juli 2007

Heute mal wieder zwei Links für Leute die noch ASP Classic Projekt betreuen.

Ajaxed - Ein Projekt das die ähnliche Funktionalität bereitstellen will, wie xajax für PHP

CLASP 2.0 - ein ASP.NET ähnliches Framework für ASP Classic. Schaut sehr vielversprechend aus. Leider ist wegen der Schließung von GotDotNet gerade kein Download möglich.
Ich habe bei den Betreuern angefragt, ob es eine alternative Downloadmöglichkeit gibt. Mal sehen ob jemand antwortet :-)






Euro Symbol mit WriteExcel ausgeben

Dienstag, 13. März 2007

Wer auch daran verzweifelt, das Euro-Symbol in Perl mit WriteExcel in einem String ausgeben zu wollen, dem kann hier geholfen werden.
Write Euro symbol in string?

Resharper "Tutorial"

Mittwoch, 7. März 2007

Wer sich Resharper neu zulegt, sollte unbedingt Joe White's: The 31 Days of ReSharper durchgehen, um die Power von diesem Tool wirklich ausnutzen zu können.

Vim Cheat-Sheet/Tutorial

Montag, 26. Februar 2007

Es gibt ja Editoren, mit denen verbindet man eine Hassliebe.
Vi/Vim ist bei mir so ein Fall. Ich könne gut ohne leben, aber unter *nix gib es halt nicht besseres und außerdem ist er fast überall vorhanden.

Leider geht es mir bei der Bedienung immer wie bei Perl.
Alles leuchtet einem ein und eine Woche später hat man es dann wieder vergessen.

Daher zwei Links von mir, die einem Gelegenheits-Vim-User einen schnellen Überblick geben:

Vim Cheat-Sheet
Efficient editing with Vim
Gerade darüber gestolpert:

The Top 20 replies by programmers when their programs do not work

Meine persönlichen Top 5 aus der Liste:

5. "Auf meinem Rechner funktioniert alles einwandfrei."
4. "Das muss ein Hardwarefehler sein!"
3. "Sicher, dass du dir keinen Virus eingefangen hast?"
2. "Warum willst du das so machen?""

1. "Gestern hat es noch funktioniert!"

Automatisch generierte Avatarbilder

Mittwoch, 24. Januar 2007

Eine Nette Idee hatte da Don Park. Er erstellt aus der IP-Adresse seiner Besucher automatisch Avatarbilder. Das Ganze nennt sich dann Identicon und schaut so aus:



Seine Spezifikationen gibt es hier.

Nachdem die Idee so einfach und genial ist, gibt es auch schon viele Adaptionen:

MonsterID PHP
Wordpress Plugin MonsterID
Visiglyph PHP
.Net 2.0 Implementierung
Noch eine .Net 2.0 Implementierung
Don Parks Client Side Canvas Implemeniterung

Auf alle Fälle eine Nette Idee, auf die man bestimmt häufiger in nächster Zeit stoßen wird :-)

Ich hatte beim Deployment einer ASP.NET Anwendung das Problem, dass mehrere Aspx-Seiten über eine OutputCache Direktive verfügten, die von den Entwicklern auf ihren Entwicklerrechnern immer wieder geändert wurden um beim Debuggen den Cache abzuschalten.


Leider ist es öfters passiert, dass diese Änderungen aus Unachtsamkeit ihren Weg in unsere Versionsverwaltung gefunden haben und somit auch auf den Webservern für eine erhöhte Last gesorgt haben.


Das Problem lässt sich einfach umgehen, indem man den OutputCache nicht direkt in der Aspx-Seite konfiguriert, sondern in der Web.config Cache-Profile [1] anlegt und diese dann den Aspx-Seiten zuweist. Da bei uns jeder Entwickler für seine Web.config verantwortlich ist und diese nie in die Versionsverwaltung gelangen, eine perfekte Lösung. Und so einfach geht es:


Aus

<%@ OutputCache Location="ServerAndClient" VaryByParam="*" Duration="180"%>
 
in der ASP Seite wird

<%@ OutputCache CacheProfile="DefautCache"%>
 
in der Web.config werden dann unter folgende Einträge hinzugefügt:

<caching>
  <outputCacheSettings>
    <outputCacheProfiles>
      <addname="DefaultCache"duration="180"
        location="ServerAndClient"
        varyByParam="*"/>

    </outputCacheProfiles>
  </outputCacheSettings>
</caching>
 

Vorteile:
• Nun muss der Entwickler nur noch einen Parameter in seiner Web.config ändern um den Cache abzuschalten
• andere Cache-Zeiten können nun zentral in der Web.config konfiguriert werden
• Durch die Möglichkeit mehrere Profile zu erstellen bleibt man flexibel, auch bei unterschiedlichen Anforderungen in verschiedenen Seiten

[1] MSDN How to: Set the Cacheability of an ASP.NET Page Declaratively

VCalendar und ganztägiger Termin in Outlook

Donnerstag, 16. November 2006

Ich hatte heute das Problem, dass ein per Code generierter VCalendar-Termin in Outlook nicht als ganztägiger Termin angezeigt wurde, obwohl das Flag X-MICROSOFT-CDO-ALLDAYEVENT gesetzt war.
Die Lösung seht ihr an diesem vereinfachtem Beispiel. Der einzige Unterschied ist, dass DTEND um einen Tag erhöht werden muss. Der Zeitanteil der beiden Daten muss auch den Wert "000000" haben, sonst funktioniert es nicht.
(Getestet mit Outlook 2007 Beta)

Funktioniert nicht:
BEGIN:VCALENDAR
PRODID:---
METHOD:PUBLISH
VERSION:2.0
BEGIN:VEVENT
UID:123456
SUMMARY:Test-Termin
DTSTART;VALUE=DATE:20061122T000000
DTEND;VALUE=DATE:20061122T000000
CLASS:PUBLIC
PRIORITY:5
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
END:VEVENT
END:VCALENDAR

Funktioniert:
BEGIN:VCALENDAR
PRODID:---
METHOD:PUBLISH
VERSION:2.0
BEGIN:VEVENT
UID:123456
SUMMARY:Test-Termin
DTSTART;VALUE=DATE:20061122T000000
DTEND;VALUE=DATE:20061123T000000
CLASS:PUBLIC
PRIORITY:5
X-MICROSOFT-CDO-ALLDAYEVENT:TRUE
END:VEVENT
END:VCALENDAR

Refactoring Contest gestartet

Mittwoch, 15. November 2006

Billy McCafferty lädt seit heute zu einem wöchentlichen "Refactoring Contest" ein.
Jeden Dienstag wird es ein .Net 2.0 Programm geben, in dem sich mehrere Unschönheiten verstecken, welche durch Refactoring aufgelöst werden sollen.
Eine genaue Beschreibung mit Lösungsansätzen, in Form vom Hinweisen auf die zu verwendenden Refactorisierungsmethode(n), helfen auch den Neulingen auf diesem Gebiet schnell einzusteigen und ihr Wissen Woche um Woche zu erweitern.
Der Schwierigkeitsgrad soll jede Woche gesteigert werden, so dass bald auch "alte Hasen" die ein oder andere Kopfnuss zu knacken bekommen werden.

Hier nochmal die Spielregeln und hier gehts direkt zum 1. Contest.

Wie wahr, wie wahr...

Samstag, 17. Juni 2006

"One of the most wrong-headed sentenced in all of software development is “let’s build the framework first, and then the application will be easy.” No, no, no. I’m never going to be a part of (or be the cause of) this exercise in stupidity ever again."


Ist mir gerade beim Lesen von Jeremy D. Miller Artikel Inversion of Control with the Plugin Pattern unter gekommen. Ich finde dieser Absatz ist ein wunderbar Abschluß für diese Woche.
(Seite 1 von 1, insgesamt 10 Einträge)