Autorenarchive

HowTo: Cross Domain Ajax mit JSONP und ASP.NET

image Eigentlich kann man Ajax Requests nur an Adressen senden die unter der gleichen Domain erreichbar sind wie die Seite auf der das Script ausgeführt wird. Der Grund dafür ist die Same Origin Policy in Javascript, diese besagt das der Port, das Protokoll und die Domain gleich sein müssen um Anfragen starten zu dürfen. Das ist zwar sicher, aber leider nicht immer praktisch.

Weiterlesen »

Nur noch wenige Tage: Multi-Touch Netbook und andere coole Preise gewinnen mit Windows Azure

125x125_WindowsAzure_DE Aufgabe beim Azure Now Gewinnspiel ist es, eine eigene Windows Azure Demo-Domäne einzurichten und dort eine Cloud Computing-Anwendung online zu stellen – nicht mehr. Das kann eine eigene Web-Anwendung sein oder ein Test-Projekt, das man bei Microsoft herunterladen kann. Dafür braucht man nicht länger als 15 Minuten und sichert sich hoffentlich noch ein schönes Weihnachtsgeschenk. :)

Alle Details, weiterführende Tutorials und Informationen zum Gewinnspiel findet Ihr hier: AzureNow Gewinnspiel – Jetzt teilnehmen!

Willkommen in der Software-Entwicklung

Haben Sie jemals einen dummen Fehler zweimal begangen?

-Willkommen in der realen Welt.

Haben Sie diesen Fehler hundertmal hintereinander gemacht?

-Willkommen in der Software-Entwicklung

(Tom DeMarco)

Was man alles mit Post-Its anstellen kann

Einer unser kreativen Kollegen fühlte sich am Freitag berufen dieses Kunstwerk zu erstellen und verzierte diesen Arbeitsplatz (nicht meiner) mit 2 Packungen Post-Its.

28102008022

Deeplol Photomosaic mit Silverlight und Deep Zoom

Unter http://robburke.net/images/deeplol.html gibt es ein Photomosaik aus 2442 Bildern von icanhascheezburger.com, diese Demo zeigt auf eine sehr coole Art was mit Deep Zoom alles möglich ist.

image image

image

image

Silverlight 2 Event Showcase

Für das Dresden Future Forum haben meine Kollegen ein Silverlight 2 Showcase umgesetzt. Unter http://silverlight.t-systems-mms.eu/dzf/ kann man sich die Videos der Vorträge (u.a. von Tim O’Reilly) inkl. der Slides anschauen. Ziemlich cool finde ich die Deep-Zoom-Bilderwand mit Bildern vom Future Forum.

image

HowTo: generische Listen => Lambda Ausdrücke

Seit der .Net Version 3.5 gibt es für Listen und Arrays eine Reihe neuer Funktionen um die Objekte zu durchsuchen, zu sortieren und zu ordnen. Um ein “Gefühl” für die neuen Funktionen zu bekommen habe ich eine kleine Demoanwendung geschrieben um ein Paar dieser neuen Funktionen auszuprobieren.

Grundlegende Informationen zu den Lambda Ausdrücken finden man hier: http://weblogs.asp.net/scottgu/archive/2007/04/08/new-orcas-language-feature-lambda-expressions.aspx 

http://www.outofcoffeeexception.de/2008/04/28/LambdaAusdruumlcke+In+C+30.aspx

            List<Person> Employees = PersonManager.GetRandomData(19);            

            Console.WriteLine("shows all employees");
            ViewPersonList(Employees);

            Console.ReadLine();
            Console.Clear();
            Console.WriteLine("shows all Liza's (Where)");
            ViewPersonList(Employees.Where(x => x.Firstname == "Liza").ToList());

            Console.ReadLine();
            Console.Clear();
            Console.WriteLine("order's all employees by PersonalId (OrderBy)");
            ViewPersonList(Employees.OrderBy(x => x.PersonalId).ToList());

            Console.ReadLine();
            Console.Clear();
            Console.WriteLine("order's all employees by surename and firstname (OrderBy)");
            ViewPersonList(Employees.OrderBy(x => x.Surname).ThenBy(x => x.Firstname).ToList());

            Console.ReadLine();
            Console.Clear();
            Console.WriteLine("employee statistics (Min,Max,Sum,Average)");
            Console.WriteLine("the youngest employee is:\t" + Employees.Min(x => x.Age) + "\tyears old");
            Console.WriteLine("the oldest employee is:\t\t" + Employees.Max(x => x.Age) + "\tyears old");
            Console.WriteLine("all employee's are:\t\t" + Employees.Sum(x => x.Age) + "\tyears old");
            Console.WriteLine("the average age is:\t\t" + Employees.Average(x => x.Age));

            Console.ReadLine();
            Console.Clear();
            Console.WriteLine("groups's all employees by age(GroupBy)");
            Console.WriteLine("order's all groups by age(OrderBy)");
            Console.WriteLine("order's all employees in group's by surename(OrderBy)");
            IEnumerable<IGrouping<int, Person>> query = Employees.GroupBy(x => x.Age);
            foreach (IGrouping<int, Person> AgeGroup in query.OrderBy(x => x.Key ))
            {
                Console.WriteLine("----------Age:" + AgeGroup.Key + "------------------");
                ViewPersonList(AgeGroup.ToList().OrderBy(x => x.Surname).ToList());
            }
            Console.ReadLine();



Den Beispielcode gibts hier.

HowTo: Generisches speichern und laden von XML Dateien bzw. wozu sind Generics gut?

Immmer wenn ich eine Xml Datei lesen oder schreiben will fange ich wieder an das Code-Snippet dafür zu suchen und an meine Objekttypen anzupassen. Also habe ich mir jetzt mal eine generische Version geschrieben. Das T steht dabei für den noch unbekannten Typ der erst zur Laufzeit übergeben wir.

public static void Save<T>(String path, T obj)
        {
            XmlSerializer Serializer = new XmlSerializer(typeof(T));
            FileStream Stream = new FileStream(path, FileMode.Create);
            Serializer.Serialize(Stream, obj);
            Stream.Close();
        }

        public static T Load<T>(String path)
        {
            XmlSerializer Serializer = new XmlSerializer(typeof(T));
            StreamReader Stream = new StreamReader(path);
            T myObject = (T)Serializer.Deserialize(Stream);
            Stream.Close();
            return myObject;
        }

Der Zugriff erfolgt so:

// Daten
            String TestString = "Hallo Xml Welt";
            //schreiben..
            Save<String>("C:\\test.xml", TestString);
            //und lesen
            Debug.WriteLine(Load<String>("C:\\test.xml"));

Jobs, Jobs, Jobs!

mitarbiter werben

Das Unternehmen für das Robert und ich arbeiten, die T-Systems Multimedia Solutions GmbH sucht zur Zeit 200 Mitarbeiter Deutschland weit. Um die offenen Stellen zu besetzen wurde allen Mitarbeitern bis zu 1000€ pro geworbenen Mitarbeiter geboten.
Wir Teilen uns die Kohle mit dir! Schicke dazu nach erfolgreicher Bewerbung eine Mail an Robert oder mich. Weitere Informationen zur Bewerbung findest du hier.

Offene Stellen im Bereich IT

Offene Stellen im Bereich Non-IT

T-Systems Multimedia Solutions – A Great Place To Work!

Der Trend geht zum zweit-iPod

…zumindest wenn es nach Amazon geht. Als ich heute mal wieder beim Internet Gemischtwarenladen vorbeischaute war ich erstaunt amüsiert was mir am neuen Produkten empfohlen wurde. Das solche automatischen Produktvorschläge fast nie sinnvolle Ergebnisse liefern ist ja bekannt, bei Amazon kann man sich sogar anschauen warum der Artikel vorgeschlagen wurde:

amazon

Weil ich einen iPod + Tasche erstanden habe könnte mir der 80 GB iPod auch gefallen – tut er auch, kaufen werde ich ihn aber nicht.

Wer ist unter uns oder whos.amung.us

Durch einfaches einbinden eines kleinen Buttons von whos.amung.us kann man sehen wer gerade den eigenen Blog durchstöbert und wo die Leute so herkommen. Zur auswahl gibts schicke Karten, z.b.

Besucherkarte

Besucherkarte

Die Aktuellen Karten für code-inside.de kann man hier finden, der Button auf code-inside ist rechts oben unter “Counter”.

Dateien per Namespace aufrufen

Ich hatte ver kurzem das Problem das ich auf eine XML Datei in meinem Projekt zugreifen musste aber den genauen Pfad nicht kannte. Das erzeugen eines dynamischen Pfades per “AppDomain.CurrentDomain.BaseDirectory” war nicht möglich da ich mit Usercontrols arbeitete und so nur den Pfad der Datei bekam die mein Uercontrol einbindet.
Gelöst habe ich das Problem in dem ich über den Namespace auf die XML Datei zugegriffen habe:

// XmlResource  = Namespace + Dateiname
string XmlResource = "CodeInside.WebApp." + "Daten.xml";

  using (Stream FileStream = System.Reflection.Assembly.
    GetExecutingAssembly().GetManifestResourceStream(XmlResource))
  {
    XmlSerializer Ser = new XmlSerializer(typeof(List));
    StreamReader Sr = new StreamReader(FileStream );
    List Data = (List)Ser.Deserialize(Sr);
    Sr.Close();
  }

Damit man auf die Datei auch zugreifen kann muss man in den Eigeschaften der Datei das Feld “Build Action” auf “Embedded Resource” stellen.
Embedded Resource

Wenn wir Häuser bauen würden wie wir Software entwickeln

Was würde passieren wenn man ein Bauprojekt so angeht wie ein Softwareprojekt?
Weiterlesen »

Noch mehr beeindruckende Javascript Spielerein

Nachdem Robert schon mal diesen Link gebloggt hat habe ich noch diese coolen Scripts gefunden:

60 More AJAX- and Javascript Solutions For Professional Coding

80+ AJAX-Solutions For Professional Coding

und noch eine Liste vieler nützliche Javascriptbibliotheken:

AJAX, DHTML and JavaScript Libraries

Tastenkombos bei Präsentationen sichtbar machen mit dem Key Presenter

key presenter
Die .Net User Group aus Dortmund(www.Do-DotNet.de) hat ein kleines Tool veröffentlicht welches man einsetzen kann um gedrückte Tasten während einer Präsentation, Screencast… zu visualisieren. Dank dieses Tools können die Zuschauer nachvollziehen welche Tastenkombos benutzt wurden. Das Tool gibt’s unter:
http://www.do-dotnet.de/front_content.php?idcat=7&idart=21
Der Key Presenter und viele andere Themen werden am 25.4 beim Treffen der Usergroup vorgestellt.