Rash thoughts about .NET, C#, F# and Dynamics NAV.


"Every solution will only lead to new problems."

Wednesday, 14. March 2007


Internet Information Services 7 Overview – Launch Event Session 2008

Filed under: .NET 3.0,Veranstaltungen — Steffen Forkmann at 12:44 Uhr

Bernhard Frank – Web Platform Architect Evangelist

Tags: ,

Tuesday, 13. March 2007


Delphi for PHP ab März erhältlich

Filed under: ASP.NET,Tools,Visual Studio — Steffen Forkmann at 13:43 Uhr

Ab März bringt CodeGear/Borland eine neue Entwicklungsumgebung für PHP heraus. Dabei wird die IDE auf den gewohnten Delphi-Komfort aufsetzen und eine Alternative zu Visual Studio 2005 / ASP.NET bieten. Besonders interessant dürfte der integrierte Debugger sein, da es momentan teilweise doch sehr anstrengend sein kann PHP zu debuggen. “Delphi for PHP” soll übrigens auch eine eigene Komponentenbibliothek (“VCL for PHP”) mitbringen, so dass viele Standardaufgaben wie LogIn usw. “out of the box” mitgeliefert werden. Die Visual Component Library ist nebenbei auch komplett in PHP 5 geschrieben, so dass man sie auf jeden Standardserver benutzen kann.

Als Einführungspreis gibt CodeGear 249,- USD an – als Studentenversion ist Delphi for PHP wohl für 99,- USD zu haben. 

Tags: , , ,

Betrag in Worten angeben (z.B. für einen Verrechnungsscheck)

Filed under: Navision — Steffen Forkmann at 10:02 Uhr

Will man beispielsweise einen Scheck bedrucken, so steht man vor der Problem einen Geldbetrag (z.b. 123,-) in Worten (also “Einhundertdreiundzwanzig”) angeben zu müssen. Der folgende Quellcode tut dies für Zahlen bis zu 100 Milliarden.
Die Idee dahinter ist die Ziffern der Zahl immer in Dreierblöcke zu zerlegen und dann diese Dreierblöcke als einzelne Gruppen zwischen 0 und 999 zu behandeln. Im Anschluss wird dann eine “Nachsilbe” (z.b. “tausend”) an den Block angefügt. So lassen sich auch sehr große Zahlen (die leider nur selten auf meinen Schecks stehen) leicht in Text umwandeln.

PROCEDURE GetAmountInWords @1105400001(p_Amount@1105400000 : Integer) r_Result : Text[1024]; VAR l_TempAmount@1105400001 : Text[1024]; BEGIN IF p_Amount = 0 THEN EXIT('Null'); l_TempAmount := FORMAT(p_Amount); r_Result := GetGroup(l_TempAmount,0); IF STRLEN(l_TempAmount) >= 1 THEN r_Result := GetGroup(l_TempAmount,1) + r_Result; IF STRLEN(l_TempAmount) >= 1 THEN r_Result := GetGroup(l_TempAmount,2) + r_Result; IF STRLEN(l_TempAmount) >= 1 THEN r_Result := GetGroup(l_TempAmount,3) + r_Result; IF STRLEN(l_TempAmount) >=1 THEN ERROR('Betrag wird nicht untersttzt.'); r_Result := UPPERCASE(COPYSTR(r_Result,1,1)) + COPYSTR(r_Result,2,STRLEN(r_Result)); END; PROCEDURE GetGroup @1105400003(VAR v_Text@1105400003 : Text[1024]; p_Group@1105400006 : Integer) r_Result : Text[1024]; VAR l_H@1105400000 : Text[250]; l_T@1105400001 : Text[250]; l_O@1105400002 : Text[250]; l_Value@1105400004 : Integer; l_Group@1105400005 : Text[3]; BEGIN FillGroup(v_Text); l_Group := COPYSTR(v_Text, STRLEN(v_Text)-2,STRLEN(v_Text)); EVALUATE(l_Value,COPYSTR(l_Group,1,1)); IF l_Value > 0 THEN IF l_Value = 1 THEN l_H := 'einhundert' ELSE l_H := GetDigit(l_Value) + 'hundert'; EVALUATE(l_Value,COPYSTR(l_Group,2,2)); IF (l_Value >= 10) AND (l_Value < 20) THEN l_O := GetTenToTwenty(l_Value) ELSE BEGIN EVALUATE(l_Value,COPYSTR(l_Group,2,1)); IF l_Value > 1 THEN l_T := GetTens(l_Value); EVALUATE(l_Value,COPYSTR(l_Group,3,1)); IF l_Value > 0 THEN BEGIN IF l_T = '' THEN l_O := GetDigit(l_Value) ELSE BEGIN IF l_Value = 1 THEN l_O := 'einund' ELSE l_O := GetDigit(l_Value) + 'und'; END; END; END; RemoveGroup(v_Text); r_Result := l_H + l_O + l_T; IF p_Group = 1 THEN BEGIN IF r_Result = 'eins' THEN r_Result := 'eintausend' ELSE r_Result := r_Result + 'tausend'; END; IF p_Group = 2 THEN BEGIN IF r_Result = 'eins' THEN r_Result := 'einemillion' ELSE r_Result := r_Result + 'millionen'; END; IF p_Group = 3 THEN BEGIN IF r_Result = 'eins' THEN r_Result := 'einemilliarde' ELSE r_Result := r_Result + 'milliarden'; END; END; PROCEDURE GetDigit @1105400004(p_Value@1105400000 : Integer) : Text[30]; BEGIN CASE p_Value OF 0: EXIT('null'); 1: EXIT('eins'); 2: EXIT('zwei'); 3: EXIT('drei'); 4: EXIT('vier'); 5: EXIT('fnf'); 6: EXIT('sechs'); 7: EXIT('sieben'); 8: EXIT('acht'); 9: EXIT('neun'); ELSE ERROR('%1 ist kein Einer',p_Value); END; END; PROCEDURE GetTenToTwenty @1105400005(p_Value@1105400000 : Integer) : Text[30]; BEGIN CASE p_Value OF 10: EXIT('zehn'); 11: EXIT('elf'); 12: EXIT('zwölf'); 13: EXIT('dreizehn'); 14: EXIT('vierzehn'); 15: EXIT('fünfzehn'); 16: EXIT('sechzehn'); 17: EXIT('siebzehn'); 18: EXIT('achtzehn'); 19: EXIT('neunzehn'); ELSE ERROR('%1 ist nicht zwischen 10 und 20',p_Value); END; END; PROCEDURE GetTens @1105400006(p_Value@1105400000 : Integer) : Text[30]; BEGIN CASE p_Value OF 2: EXIT('zwanzig'); 3: EXIT('dreizig'); 4: EXIT('vierzig'); 5: EXIT('fünfzig'); 6: EXIT('sechzig'); 7: EXIT('siebzig'); 8: EXIT('achtzig'); 9: EXIT('neunzig'); ELSE ERROR('%1 ist keine Zehner',p_Value); END; END; PROCEDURE FillGroup @1105400007(VAR v_String@1105400000 : Text[30]); BEGIN WHILE STRLEN(v_String) < 3 DO v_String := '0' + v_String; END; PROCEDURE RemoveGroup @1105400000(VAR v_String@1105400000 : Text[1024]); BEGIN v_String := COPYSTR(v_String,1,STRLEN(v_String) - 3); END;
Tags:

Wednesday, 7. March 2007


Microsoft Dynamics NAV 5.0 – Launch Roadshow

Filed under: msu solutions GmbH,Navision,Veranstaltungen — Steffen Forkmann at 14:34 Uhr

Ende April / Anfang Mai bietet Microsoft eine Launch Roadshow zu Navision 5.0:

Desweiteren präsentiert Microsoft die neue Navision-Version auch vom 15. – 21.03.2007 auf der CeBIT (Vortragsprogramm).

Tags: , , , , , , , , ,

Visual Studio 2005 SP1-Update für Windows Vista

Filed under: Visual Studio,Windows Vista — Steffen Forkmann at 11:08 Uhr

Endlich gibt es das bereits vor langer Zeit angekündigte VS2005-Update für Windows Vista. Damit fällt endlich die nervige Startmeldung weg. 😉

Download: Visual Studio 2005 Service Pack 1-Update für Windows Vista

Tags: ,

E-Mail-Spam über unsichere Kontaktformulare

Filed under: Security — Steffen Forkmann at 9:50 Uhr

Wie mir mein Provider heute mitgeteilt hat, wurde über meine ehemalige Firmenseite www.forksoft.de massiver E-Mail-Spam begangen. Ich habe an der Seite schon seit geraumer Zeit nichts mehr geändert, aber offensichtlich habe ich damals eine Sicherheitslücke in mein E-Mail-Kontaktformular eingebaut.

Das Problem ist, dass ich die übergebene Absenderadresse damals nicht ausreichend validiert habe. Wenn man z.B. folgendes einträgt, konnte man an ziemlich viele Mailadressen Spam versenden:

kunde@domain.de[Zeilenumbruch]Bcc: test1@spamopfer.de, test2@spamopfer.de, …

Die Lösung ist natürlich mehr Misstrauen auf die Benutzereingaben zu legen:

if(!preg_match( "/^([a-zA-Z0-9])+([.a-zA-Z0-9_-])*@([a-zA-Z0-9_-])" . "+(.[a-zA-Z0-9_-]+)+$/", $fromAddress) die("ungültiges mailformat");

Also merke: Alle Benutzereingaben sind böse!

Tags:

Sunday, 4. March 2007


Fotografieren und Wahrscheinlichkeitsrechnung

Filed under: Steffen,Wissenschaft — Steffen Forkmann at 12:28 Uhr

In einem lesenswerten Artikel erklären Dr. Piers Barnes und Nic Svenson wieviele Aufnahmen man statistisch machen muss, damit in einem Gruppenbild niemand blinzelt. Sie modelieren dabei die durchschnittliche “Blinzelrate” mit 10 pro Minute. Ein Blinzeln dauert dabei ungefähr 250ms während die Belichtungszeit mit 8ms angegeben wird. Dann werden einigen weitere Annahmen getätigt und Dr. Barnes gibt im Anschluss eine Faustformel für Gruppen mit max. 20 Personen ab:

“Divide the number of people by three if there’s good light and two if the light’s bad.”

Die Anzahl der benötigten Fotos steigt natürlich stark mit der Anzahl der Personen. Bei ca. 30 Personen braucht man schon 30 Fotos um eine 99% Chance auf ein gutes Bild zu haben – bei 50 Personen ist es dagegen schon statistisch aussichtslos.

Gefunden über: Farbfoto

Tags: ,

IntelliSense Everywhere

Filed under: Visual Studio — Steffen Forkmann at 10:51 Uhr

Microsoft hat Visual Studio 2005 mit dem ehrgeizigen Ziel konzipiert überall IntelliSense anzubieten. Das funktioniert in den meisten Fällen auch einwandfrei – aber es gibt ein paar wenige Ausnahmen. So wurde zum Beispiel vergessen Intellisense für Skin-Files in ASP.NET zu aktivieren.

Wenn man auf ein solches Problem stößt kann man unter Extra/Optionen/Text-Editor neue Dateierweiterungen an Text-Editoren binden. In dem speziellen Fall einfach “skin” Als Erweiterung angeben und den “Editor für benutzerdefinierte Steuerelemente” auswählen.

IntelliSense Optionen

Tags:

Thursday, 1. March 2007


Joost Einladungen zu vergeben

Filed under: Diverses — Sebastian Wolf at 19:45 Uhr

Ehemals “theveniceproject” jetzt Joost ist ein Programm mit welchem man übers Internet Fernsehen kann. Aber das ist nicht alles man kann sich auch mit anderen unterhalten und nach Programmen suchen. Joost verwendet die p2p Technik zum Streamen der Programme (verwendeter Codec: H.264/MPEG-4 AVC).

Es ist wirklich nicht schlecht, wenn noch ein paar mehr Programme dazukommen. Die Qualität kann sich auch sehen lassen, also kann man nur hoffen, dass es irgendwann das “normale” Fernsehen ersetzt. 😉 Wer hat schon immer einen Fernseher dabei? So wird dies in Zukunft hoffentlich möglich sein.

Ich bin schon seit einiger Zeit Beta Tester und habe somit die Möglichkeit 2 Glückliche einzuladen. Also schnell ein Kommentar mit E-Mail Adresse schreiben, denn wer zuerst kommt mahlt zuerst. 🙂

Tags:

Student Technology Conference 2007 (STC 2007)

Filed under: .NET,Veranstaltungen — Steffen Forkmann at 8:19 Uhr

Nachdem die STC 2006 wegen dem ImagineCup-Finale ausgefallen ist, steigt dieses Jahr  vom 21. bis 22. Mai 2007 wieder die beliebte Technologiekonferenz. Diesmal im Landschaftspark Duisburg

Ab jetzt kann man sich auf http://www.studentconference.de registrieren und sogar für bestimmte Themen auf der Agenda voten. Da ich vor 2 Jahren so viel Spaß auf der STC hatte, werde ich mich natürlich auch dieses Jahr dafür anmelden.

Die Teilnahmegebühr beträgt diesmal 50,- Euro; enthalten sind dabei der Zutritt zur Veranstaltung, die Verpflegung, die Veranstaltungsunterlagen und eine Übernachtung in der Sportschule Wedau vom 21. auf 22. Mai.

Unter den ersten zweihundert Anmeldungen (vor dem 01.04.2007) verlost Microsoft sogar noch 10 mal Office Professional 2007

Anmeldungsschluss ist der 07. Mai 2007.


Warning: Creating default object from empty value in /www/htdocs/w007928a/blog/wp-content/plugins/wp-referencesmap/GoogleMapsWrapper.php on line 55

Bericht und Bilder der STC 2007

Tags: , , ,