Archiv für die Kategorie „Programmierung“

Algorithmus zur Neuberechnung verwackelter Bilder

Der Forscher Rob Fergus vom MIT [acronym=CSAIL]Computer Science and Artificial Intelligence Laboratory[/acronym] (Computer Science and Artificial Intelligence Laboratory) hat in Zusammenarbeit mit anderen Wissenschaftlern, unter anderem von der University of Toronto, einen Algorithmus entworfen um verwackelte Bilder fast komplett verwackelungsfrei zu rechnen.

Das Resultat kann sich sehen lassen. In dem Begleitheft zur Präsentation finden sich weitere solcher Beispielberechnungen, sowie der verkürzte Pseudocode in der Matlab-Notation. Beispielhaft wurde auch der neue Algorithmus mit dem Anti-Verwackelungsfilter von Adobe Photoshop verglichen, bei dem letzterer an den Algorithmus von Rob Fergus nicht heran kam.

Die Algorithmen sollen zwischen Verwackelung und Bewegungsunschärfe unterscheiden können und letztere unberührt lassen. Bewegungsunschärfe wird durch eine merkliche Bewegung der fotografierten Objekte während der Belichtung verursacht, beispielsweise beim Flügelschlag eines Vogels.

Wir werden sehen, ob in naher Zukunft der Algorithmus in Alltagsgegenständen, wie Digitalkameras, Handys oder in Bildbearbeitunsprogrammen zum Einsatz kommt.

Share

URL Rewriting Basics

Suchmaschinenfreundliche URLs sind ein wichtiger Bestandteil der Optimierung einer Website. Für die Besucher wird mit dem richtigen URL Design die Lesbarkeit von Links deutlich erleichtert, man spricht daher auch von “sprechenden URLs”. Eine selbsterklärende Struktur erhöht dabei auch die Usability. Insbesondere Suchmaschinen verlangen nach statischen URLs. Dynamische URLs mit Parameterübergabe wie z.B. “?id=642″ werden, wenn überhaupt, in den hinteren Ergebnislisten verschwinden. Deshalb werde ich hier kurz die Grundlagen des URL Rewriting erklären.

Was ist nun der Unterschied zwischen einer normalen und einer umgeschrieben URL? Schauen wir uns ein Beispiel dafür an, wie eine übliche URL mit Parameterangaben aussieht:

http://www.obststand.de/index.php?page=shop&kategorie=obst&item=apfel

Im Zusammenhang mit URL Rewriting und URL Design fällt das Stichwort mod_rewrite. Das Apache Modul mod_rewrite hilft uns unsere URLs umzuwandeln. Desweiteren brauchen wir Zugriff auf die .htaccess Datei, in die wir die Rewrite Rules schreiben. Um das einfache Beispiel von oben in eine schönere Form zu bringen, müssen wir sie mit Hilfe von regulären Ausdrücken umschreiben. Das sieht dann folgendermaßen aus:

RewriteEngine On
RewriteRule ^([a-z]+)/([a-z]+)/([a-z]+)/{0,1}$ index.php?page=$1&kategorie=$2&item=$3

Dieser Code wird in die .htaccess Datei geschrieben. Die umgeschriebene URL sieht danach folgendermaßen aus:

http://www.obststand.de/shop/obst/apfel/

Man kann deutlich erkennen, dass URL Rewriting Suchmaschinen sowie Besuchern gleichermaßen zu gute kommt. Besonders bei Suchmaschinen spielt sie eine wichtige Rolle, den Websites mit dynamischen Links werden erst ab einer bestimmten Relevanz indiziert. Kleinere Projekte mit schlechtem URL Design haben deshalb geringe Chancen auf eine gute Listung bei den Suchmaschinen. Es ist daher absolut sinnvoll URL Rewriting einzusetzen.

Share

Standard XHTML und CSS Template

Es ist zwar nichts weltbewegendes, aber da es für den ein oder anderen praktischen Nutzen haben kann, schreibe ich es trotzdem: Manuela Hoffmann von pixelgraphix hat sich die Mühe gemacht und ein Standard Template für XHTML und CSS erstellt. Da die Umsetzung eines neuen Designs fast immer nach dem selben Schema abläuft, ist es durchaus sinnvoll sich eine Vorlage zu basteln um sich Arbeit zu sparen. Ich verfüge schon seit längerem über meine eigene Vorlage, das Template von Manuela ist aber auch nicht schlecht. Es beinhaltet die standardmäßigen Elemente #wrapper, #header, #navi, #content, #sidebar, #footer und eine entsprechende CSS Datei dazu. Wer sich so ein Template noch nicht selbst schon gebastelt hat, dem empfehle ich den Download dieser Vorlage.

Share

Blog CMS Marke Eigenbau

http://wordpress.org

Als ich heute über die Veröffentlichung von WordPress 2.0 las, kamen mir kurz Zweifel, ob es eine gute Idee war meinen Blog selbst zu programmieren.

Hätte ich vorher einen Blick auf die verschiedenen Publishing Systeme geworfen, ich weiß nicht, ob ich dann trotzdem selbst eines produziert hätte.

Das Backend von WordPress zum Beispiel gefällt mir auf Grund seiner Funktionen zum Veröffentlichen neuer Einträge sehr gut. Das ist bei MovableType auch so, im Allgemeinen funktionieren die Backends der Blogs sehr gut. Nicht weiter verwunderlich eigentlich, die Anwender sind meist normale Menschen, die es so einfach wie möglich mögen.

Der Visualhype Blog bietet solch umfangreiche Funktionen zwar nicht, aber dafür war es ein riesen Spaß das Blog CMS zu programmieren. Ich habe dabei einige Sachen dazugelernt, zum Beispiel sind mod_rewrite und RSS Feeds jetzt meine Freunde. Der Weblog ist im übrigen XHTML 1.0 Strict valid und hält sich somit an die aktuellen Webstandards. Auch die Suchmaschinenoptimierung war mir bei dem Projekt wichtig, erste Ranking Ergebnisse werde ich in 2-3 Wochen präsentieren.

Also, an alle Webentwickler da draußen die sich einen Weblog zulegen wollen: Warum nicht selbst einen programmieren? Für mich war es eine gute Entscheidung und ich bereue es nicht.
Die Installation von Wordpress hätte mich 5 Minuten gekostet, der Wissenszuwachs wäre jedoch gleich null gewesen. So habe ich was dabei gelernt und hatte dabei meinen Spaß. In diesem Sinne, gute Nacht!

Share