Stoppt die Vorratsdatenspeicherung! Jetzt klicken & handeln!Willst du auch bei der Aktion teilnehmen? Hier findest du alle relevanten Infos und Materialien:

Archiv für Allgemein

Systematisches Chaos


Bildquellen: carlsilver, NoShoes
Gerade habe ich bei Heise die Meldung “Chaotisches Roboter-Lager beschleunigt Auslieferung” durchgelesen. Und ich muss sagen, es beeindruckt mich immer wieder wie Roboter Systeme sich autonom selbst organisieren können. Wie ein Bienenschwarm wuseln auch in diesem Fall eine Menge kleiner oranger Roboter durch eine Lagerhalle und verwalten die Waren auf eine für Menschen chaotisch wirkende Weiße die aber letztendlich viel effektiver ist als ein sauber gegliedertes, von Menschen verwaltetes, System. Ähnliche Prinzipien gab es zwar schon etliche Jahre davor, aber der Unterschied ist meiner Meinung nach dass sich hier die kompletten Regale frei bewegen und je nach Bedarf zu den Paket-Packern und den Lieferanten fahren. Dadurch können die Waren auf einer Seite ins System eingeschleust werden und auf der anderen Seite kommen sie bei Bedarf wieder heraus, ohne das es jemanden interessieren muss wie und was die Roboter da jetzt genau machen (-> Black Box Prinzip?).

Allerdings muss man Anmerken das die Ludolfs dem System auch sehr nahe kommen und das gänzlich ohne Computer-Unterstützung ;-)

Sammelleidenschaft 2.0

Eigentlich wollte ich letztens, bei einer heißen Tasse Kaffee, einen schönen Artikel über das Thema soziale bzw. personalisierte Netzwerke schreiben und darin unter anderem die Frage aufwerfen warum es denn eigentlich noch keine Last.fm-Klone für andere Themen gibt. Last.fm!? Kennt Ihr nicht? — Kein Problem, hier ein kurze Zusammenfassung: Last.fm ist im Prinzip eine riesige Musik Datenbank gekoppelt mit den üblichen Community-Funktionen (Foren, Gruppen, Nachrichten, usw.). Das besondere an dem Projekt ist allerdings dass es einem, basierend auf den Hörgewohnheiten und Profilen anderer Benutzer, Musik vorschlägt die einem auch gefallen könnte. Dies wird durch irgendwelche geheimen, hochkomplizierten Algorithmen die im Hintergrund ablaufen erreicht.

Und da diese Technologie ja ziemlich gut ankommt, hab ich mich gefragt wieso es solche Projekte nicht auch für andere Themengebiete wie z.B.: Filme, Bücher, Serien oder Software gibt. So nach dem Motto: “Füttere mich mit deinen Daten und ich sage dir was dir wahrscheinlich auch gefallen könnte” ;-)

Nur als ich dann Anfing im Internet ein bisschen zu recherchieren bemerkte ich schnell das es solche Seiten ja schon längst gibt — oh man bin ich mal wieder langsam ;-)

Natürlich hab ich mir dann gleich einige Kandidaten angeschaut und mich auch bei einem Projekt, das mich irgendwie angesprochen hat, angemeldet. Die Webseite heißt „listal“ (kein Schreibfehler – nur ein L) und scheint relativ neu zu sein (momentan leider nur auf Englisch verfügbar). Im Prinzip funktioniert die Seite wie Last.fm nur das man hier neben der Musik auch Filme, Serien und Spiele bewerten kann. Nach kurzem ausprobieren hatte ich dann auch den Dreh raus und nach dem ich einige Filme bewertet hatte und diese in meinem Profil erschienen, überkam mich urplötzlich eine, wahrscheinlich aus früheren Zeiten stammende, Sammelleidenschaft und ich bewertete und „taggte“ über 3 Stunden lang bisher gesehene Filme. Da ich ja ein kleiner Filmjunkie bin habe ich mittlerweile auch schon mehr als 700 bereits gesehene Filme bewertet und sogar einen Kumpel dazu gebracht sich auch anzumelden ;-)

Mein Fazit


Eigentlich würde ich mich bei solchen System ja nicht freiwillig anmelden, da meine Daten ja auch wunderbar kommerziell ausgewertet werden können (Stichwort: Data-Mining). Allerdings ist meine Neugier und die Aussicht auf interessante Statistiken und Erkenntnisse über meinen eigenen Geschmack und die vielen neuen Dinge die man in solchen Netzwerken entdecken kann, zumindest für mich zu groß um zu widerstehen ;-)

Jedoch melde ich mich zumindest (in Zukunft zumindest) immer anonym an damit man wenigstens keine Verbindung zu meiner Person hat. Nicht dass ich dann auf einmal Post bekomme mit “personalisierter” Werbung -– muss ja nicht sein ;-)

Natürlich gibt es noch andere ähnliche „soziale“ Systeme für andere Sparten:
Digg (News), StumbleUpon (Bookmarks), Delicious (Bookmarks)

So ich hoffe der Artikel hat den ein oder anderen interessiert :-)

Strategien für browserunabhängiges JavaScript

Heute hat mich eine Kollegin gefragt wie Sie Ihre tollen selbst entwickelten JavaScript Funktionen am besten browserunabhängig machen kann, da Sie diese nur im Internet Explorer entwickelt hatte… Komischerweise ist aus meiner Antwort, mal wieder, ein halber Roman geworden und deshalb habe ich mich dazu entschieden den Inhalt nach dem Absenden nicht einfach ins Datennirwana abzuschieben sondern in meinem Blog zu veröffentlichen.

Hier die verschiedenen Strategien, die mir spontan eingefallen sind, um das eigene Script browserunabhängig zu machen:
  1. Browserweiche
    Eine einfache aber auch unflexible Lösung ist es eine Browserweiche einzurichten, wodurch der Besucher, je nach Browser, auf eine speziell angepasste Seite geleitet wird. Früher wurde diese Methode sehr oft angewendet, heute allerdings ist es aus Gründen der Barrierefreiheit, Suchmaschinenoptimierung und diversen anderen Gründen nicht unbedingt beliebt. Zudem verursacht die Variante einen großen Mehraufwand, da bei Updates alle browserspezifischen Seiten angepasst werden müssen.
    Fazit: Einfach einzurichten und zu testen aber schränkt Besucher ein und macht die Wartung der Seiten kompliziert.
  2. Verzweigungen nutzen
    Bei dieser Methode wird der Browsertyp in einer Variable abgespeichert, wodurch dann im weiteren Verlauf des eigenen Skripts einfache Abfragen eingebaut werden können um die für den jeweiligen Browser benötigte Funktion zu starten — z.B.: Fazit: Relativ einfach umzusetzen. Könnte nur mit der Zeit kompliziert und verwirrend werden, außerdem es kann sein das sich der Code in den browserspezifischen Bereichen unnötigerweise wiederholt.
  3. Einheitliche Grundfunktionen nutzen
    Mittlerweile haben die meisten Browserhersteller ja endlich gemerkt das es irgendwie schlauer ist Ihre JavaScript Implementierungen dem Standard anzupassen. Daher währe es prinzipiell möglich nur diese einheitlichen Funktionen zu nutzen und somit das eigene Skript browserunabhängig zu machen. Aber das wäre ja schon fast ein bisschen zu einfach, denn in der Realität gibt es doch diverse kleine Unterschiede zwischen den JavaScript Implementierungen wodurch ich bezweifele das diese Methode für größere Projekte erfolgreich sein wird.
    Fazit: Gut zu warten und Standardkonform, aber nicht alle JavaScript Implementierungen halten sich an den Standard…
  4. Grundfunktionen auslagern
    Für diese Variante sucht man sich die browserabhängigen „low-level“ Funktionen die man verwenden will zusammen und kopiert diese dann in eine eigene Datei. Der Trick dabei ist das man dieses ausgelagerte „Grundgerüst“, auf dem später alle Funktionen aufbauen, einfach für jeden Browser kopiert und dann jeweils an seine Eigenheiten anpasst. Zum Schuss muss dann nur noch das eigentliche Skript so angepasst werden das über eine Browsererkennung entschieden wird welche der ausgelagerten Bibliotheken (z.B. lib_opera.js, lib_firefox.js, etc.) geladen werden soll.
    Diese Methode kann man natürlich auch mit der vorherigen kombinieren so das man nur eine Datei erhält und jeweils in den Grundfunktionen zwischen dem Browser unterscheidet.
    Fazit: Anfänglich etwas mehr Arbeit um die Grundfunktionen zu erarbeiten und für alle Browser anzupassen, aber später sind die Projekte leichter zu warten und die Änderungen müssen nur an einer Stelle durchgeführt werden.
  5. Vorhandene Bibliotheken nutzen
    Natürlich sind die hier erwähnten Ideen hier nicht neu, daher gab es schon einige schlaue Leute die so eine Basisbibliothek, wie oben erwähnt, entwickelt haben. Da gibt es einige ziemlich gute die auch kostenlos zur Verfügung gestellt werden — also warum das Rad neu erfinden?

    Meine Favoriten sind übrigens: Prototype oder jQuery.

    Fazit: Keine eigene Arbeit notwendig aber man muss sich in die Bibliothek einlernen und eventuell kann es mit der Lizenz (z.B. bei kommerzieller Nutzung) Probleme geben.
Ich hab zwar leider keine super tolle Universallösung für euch aber ich hoffe dieser Überblick hat euch weitergeholfen ?

.NET Developer Group Ulm

.NET Developer Group Ulm Logo Gestern war ich beim 9. Treffen der .NET Developer Group Ulm, die es nun schon seit einem Jahr gibt. Für die auf Microsoft’s .NET Technologie spezialisierte Usergroup haben sich mittlerweile schon über 100 Mitglieder aus der Region um Ulm angemeldet.

Und ich bin seit Anfang an dabei, und dies nicht nur weil mein Chef die Gruppe gegründet hat, sondern auch weil mich die Themen interessieren und ich auf dem Laufenden bleiben will ;-)

Dieses mal gab es einen sehr interessanten Vortrag zum Thema Windows Workflow Foundation (WF) mit ASP.NET. Durch den flexiblen Zeitrahmen konnte uns Hardy Erlinger die „Director’s Cut“ Version seiner Präsentation zeigen und so war der Vortrag sehr umfassend und gespickt mit vielen hilfreichen Tipps von der Erstellung eines einfachen Beispiels bis hin zum Aufbau einer komplexeren Double Opt-In Newsletter-Anmeldung. Und obwohl ich wahrscheinlich nie dazu kommen werde die WF privat einzusetzen, fand ich den Vortrag doch sehr inspirierend und interessant. Außerdem kann es ja auch vorkommen dass ich durch meine Arbeit irgendwann auf die Technologie zurückgreifen muss. Letztendlich fand ich aber die Idee an sich, also dass man den kompletten Workflow bzw. die Programmabläufe grafisch aufbauen und verändern kann, sehr beeindruckend. Meiner Meinung nach eine sehr innovative Technologie die man auf jeden Fall im Auge behalten sollte…

» Termine und weitere Informationen zur .NET Developer Group Ulm