Bilder aus der Fotokiste

Ich habe ein bisschen in meiner Fotokiste gewühlt und da kamen folgende Bilder zum Vorschein.

Sonnenblume
Mimosas Auge
Grashüpfer
Käfer auf Salat

Die Bilder wurden alle mit einer DiMAGE Z1 gemacht, dies liegt allerdings schon ca. 6 Jahre zurück. Damals waren die 3 Megapixel noch fortschrittlich 😉 Allerdings ist das optische 8-fach-Zoom wirklich gut und auch für Nahaufnahmen brauchbar. Die Verzögerung beim Auslösen war jedoch ein grosser Nachteil.

Blogs von Blogspot auf ein WordPress-System weiterleiten

Kürzlich habe ich bemerkt, dass für einige Suchanfragen bei Google zuerst mein altes Blog und dann erst blog.esheep.ch erscheint. Das gefällt mir eher weniger, denn die Besucher sollen ja mein neues Blog sehen und natürlich auch meine neuen Beiträge lesen.

Blogspot erlaubt es leider nicht die Besucher per 301-Header weiterzuleiten, aber man hat die Möglichkeit eine eigene Domain einzutragen und auf diese werden dann auch die alten Einträge weitergeleitet. In meinem Fall war die alte Url: http://electronic-herd.blogspot.com/2009/12/losung-iphone-backup-funktioniert-nicht.html und dies wird auf http://blog.esheep.ch/2009/12/losung-iphone-backup-funktioniert-nicht.html weitergeleitet. Meine WordPress-Konfiguration benutzt allerdings andere Permalinks und so musste das Ganze noch ein bisschen angepasst werden.

In meinem Fall musste ich nur jeweils das “.html” am Ende entfernen. Da WordPress die Seite jeweils nicht finden kann, habe ich das 404-Template (Vorlage der Fehlerseite) entsprechend angepasst. Falls die “Endung” der Adresse auf “html” lautet, schneide ich diesen Teil ab und leite den Besucher auf die entsprechende korrekt URL um. Dies kann mit folgender Zeile erreicht werden:

Das 404-Template sollte bei dem Themes im Editor verfügbar sein, ansonsten muss man entweder das Theme anpassen oder sich ein neues suchen.

Bei der Suche nach Möglichkeiten zur Weiterleitung, fand ich einige Seiten im Internet, unter anderem auch dieses Blog: http://www.techcounter.com/wordpress/301-permanent-redirect-from-blogger-beta-to-wordpress Die Idee war eigentlich ganz gut, jedoch wollte ich das Ganze mit der Hauseigenen Funktion von Blogspot verbinden, den die Besucher per Javascript und Meta-Tag weiterleiten gefällt mir nicht besonders gut.


AF-S NIKKOR 18-200mm 1:3.5-5.6G ED VR II

Nachdem mein bisheriges “Hauptobjektiv” zu Bruch gegangen ist und die Reparatur beinahe so teuer ist wie das Objektiv selber, habe ich mir ein neues gekauft. Das 18-200mm Objektiv hat ein Plastik-Bajonett und eben dieses ist abgebrochen. Deshalb entschied ich mich auch dafür ein Objektiv zu kaufen welches über ein Stahlbajonett verfügt. Die Wahl viel schlussendlich auf ein AF-S Nikkor 18-200mm mit VR.

Technische Daten:

  • Maximale Blendenöffnung:
    • 18mm: f/3.5
    • 200mm: f/5.6
  • Nikons VR (Vibration Reduction) -System
    • Hilft Bewegungen (durch das Halten der Kamera in der Hand) auszugleichen. So können auch bei längeren Belichtungszeiten (1/15 oder 1/10 Sekunden) noch brauchbare Bilder geschossen werden.
    • Der “aktive Modus” soll bei kontinuierlichen Erschütterungen (z.B. Beim Autofahren oder im Flugzeug) helfen.
  • Der Silent Wave Motor sorgt für schnelles und leises Fokussieren
  • Internal Focusing: Die Optik, welche die Schärfe einstellt, ist innerhalb des Objektives, das heisst beim scharf stellen bewegt sich äusserlich nichts und insbesondere der Filterring dreht sich nicht (Dies ist beim benützen von Polfilter recht nützlich).
  • Fokus-Ring: Wenn man den Autofokus eingeschaltet hat und manuell scharf stellen oder nachbessern will, kann man einfach am Fokus-Ring drehen und der automatische Modus wird übergangen. Tippt man das nächste mal Auslöser an fokussiert das Objektiv wieder automatisch.

Mein Erster Eindruck

Das “AF-S Nikkor 18-200mm” ersetzt mein kaputtes 18-105mm und gleichzeitig auch gleich mein 55-200mm. Das 55-200mm-Objektiv verwendete ich vor allem mit der Nahlinse für Makroaufnahmen, mit dem 18-200mm wird die Nahlinse überflüssig. Dank dem IF (Internal Focusing) und äusserst geschickter Anordnung der Linsen kann man selbst bei 200mm noch bis ca 50cm vor die Bildebene scharf stellen. Da sich die Bildebene beim Sensor befindet und das Objektiv mit Kamera eine Länge von ca 30cm hat, berührt man beinahe das zu fotografierende Objekt. VR und die anderen Funktionen unterscheiden sich praktisch gar nicht von denen des Alten Objektives. Einzig der “Aktive Modus” der VR gab es nicht, allerdings hatte ich noch nicht die Gelegenheit den auszuprobieren, da ich selten aus fahrenden Autos fotografiere.

Alles in allem bin ich sehr zufrieden mit dem neuen Objektiv. Es ersetzt nicht nur mein 18-105mm sondern auch gleich mein Tele-Objektiv und bietet sich gleichzeitig als günstiger Makro-Ersatz an. Für alle diejenigen, welche nicht mehrere Objektive mittragen wollen und dennoch nicht auf ein Tele verzichten wollen kann ich dieses Objektiv empfehlen. Falls der Geldbeutel nicht soviel hergibt, bietet sich ein 18-105mm oder ein 18-55mm Objektiv von Nikon an. Beide haben ebenfalls VR und sind deutlich günstiger, allerdings fehlt beim 18-55mm der Fokusring und auch die Makro-Aufnahmen sind bei den günstigeren Objektiven nicht wirklich möglich.

Ein Bild sagt mehr als tausend Worte

Deshalb sind hier ein paar der ersten Bilder:

Blüte (170mm)
Lavendel mit Schmetterling (200mm)
Lavendel mit Biene (200mm)
Sommergewitter (18mm)
Sommergewitter (18mm)

Dies sind sicherlich nicht die letzten Bilder welche ich mit diesem Objektiv machen werde. Für den täglichen Gebrauch ist es das Beste was ich bis jetzt gesehen und ausprobiert habe.

Let’s bake a cake – Entwickeln eines Webprojektes mit CakePHP

Seit einiger Zeit suche ich eine brauchbare Alternative zu PHP um Webseiten zu erstellen. Neben ASP.NET, Ruby und Python habe ich auch ein bisschen JSP angeschaut. Alle Lösungen waren mir jedoch in irgend einem Punkt unsympathisch. Da ich einzelne PHP-Basierte Anwendungen weiter verwenden möchte kann ich nicht ohne weiteres auf Tomcat/Jetty, etc umsteigen, ansonsten wäre JSP mit Velocity eine annehmbare Lösung gewesen. Zusammen mit Apache und mod_proxy oder mod_jk ist die Lösung jedoch nicht optimal. Insbesondere wenn mehrere Projekte zusammen laufen sollen wird es unter Umständen mühsam. Aus diesem Grund habe ich mich dazu entschieden ein PHP-Framework auszuprobieren. Meine Wahl fiel schlussendlich auf CakePHP.

CakePHP ist ein relativ kleiens PHP-Framework (ca. 5 MB) und funktioniert mehr oder weniger eigenständig. Man muss ein Zipfile in das Webverzeichnis des neuen Projektes entpacken und CakePHP ist mehr oder weniger bereit. Das Framework konzentriert sich auf Datenbankanwendungen, die Idee dabei ist, dass möglichst viel Arbeit vom Framework übernommen wird, so können zum Beispiel die Datenbanken von Hand generiert werden, und dann automatisch die “Models” und “Controler” sowie “Views” welche die Daten aus der Datenbank holen, verarbeiten, anzeigen und schliesslich wieder zurück speichern. Validierungen können direkt aus der Datenbank übernommen werden (zb. die Prüfung ob eine Variable nicht Null sein darf oder ob bei einem INTEGER-Feld wirklich eine Zahl eingegeben wurde, usw).

Ziel dieser Automatisierung ist es jeweils möglichst schnell auf funktionieren CRUD (Create, Read, Update Delete) Anwendungen zu kommen, da heisst Daten können erstellt, ausgelesen, bearbeitet und gelöscht werden. Standardmässig können zwei Benutzerlevel benutzt werden (‘normal’ und ‘admin’). Mit Hilfe einer Rechteverwaltung kann das Konzept jedoch beliebig fein eingestellt werden, so können einzelne Benutzer erstellt werden, Gruppen mit mehren Benutzer sowie Rollen welche den Benutzer oder Gruppen zugewiesen werden können und Rechte welche den Rollen verteilt werden. Mit den Rechten lässt sich dann steuern wer auf welche Funktionen zugreifen darf, also wer welche Daten lesen, schreiben, und löschen darf. Zusätzlich gibt es diverse Hilfsklassen, welche lästige aber notwendige Aufgaben übernehmen. Bilder, Links, etc. können so einfach eingefügt werden, so wird korrekter HTML-Code generiert und alle Links und Bilder haben eine korrekt relative URL egal an welcher stelle man verlinkt. Mit dem URL-Rewriting wäre dies von Hand oftmals gar nicht so einfach. Andere Hilfsklassen ermöglichen die automatische Generierung eines RSS-Feeds oder stellen einfach und zuverlässig Ajax-Funktionen und Elemente bereit und füttern diese mit den Daten aus der Datenbank.

Trotz den vielen Features ist das Framework recht gut aufgeräumt. Der Code welche ein Programmierer in seinem Projekt verwendet ist vollständig in einem Verzeichnis enthalten, so kann Cake aktualisiert werden, ohne dass Dateien aus dem eigenen Projekt überschrieben werden. Zu fast jedem Problem findet man jemanden der dafür eine Lösung gefunden hat, sei es eine Hilfsklasse die schon vorhanden ist oder eine selber geschriebene die man hinzufügen kann, etc. Zu CakePHP gibt es eine recht ausführliche Dokumentation, welche treffender weise Cookbook heisst: http://book.cakephp.org/ und zwei brauchbare Tutorials, welche eine schnelle und einfach Einführung bieten: Getting Started

Die Dokumentation wird auch in andere Sprachen übersetzt, jedoch empfehle ich die englische Version, da die Übersetzungen teilweise maschinell und daher nicht sonderlich gut übersetzt sind.

Für Webprojekte mit Datenbanken kann ich CakePHP empfehlen. Design, Content und Daten können einfach getrennt werden. Ein Webdesigner kann am Design rumbasteln ohne dass er gross mit dem Code dahinter in Berührung kommt.

Falls ihr noch nicht von CakePHP überzeugt sind, könnt ihr ja noch ein paar andere Frameworks anschauen. Hier gibt es eine kleine Übersicht: http://www.phpframeworks.com/

Viel Spass beim ausprobieren!

Programmierst du noch oder backst du schon 😉

iPhone OS 4

Seit einiger Zeit hat Apple das neue “iPhone OS 4” freigegeben. Trotz den vielen Meldungen über Probleme beim Update konnte ich nicht widerstehen und habe mein iPhone 3G auf den neusten Stand gebracht. Da das iPhone 3G nicht mehr über die schnellste Hardware verfügt, sind einzelne Features (wie Multitasking oder allgemein die Video-Funktion) nicht nutzbar. Dennoch bin ich sehr zufrieden. Das Update funktionierte wunderbar, die Einstellungen blieben erhalten, die meisten Apps funktionieren auch mit OS 4 noch einwandfrei oder sie wurden rechtzeitig von den Programmierern aktualisiert.

Die neuen Features sind teilweise recht praktisch, teilweise einfach Gimmiks.

Auf meinem iPhone 3G kamen folgende neue Funktionen hinzu:

  • Apps können in “Ordner” zusammengefasst werden (war vorher nur mit Jailbreak möglich)
  • Bei den Emails gibt es neu einen “globalen Eingang” in welchem die Emails aller Mailkonten angezeigt werden. Ausserdem ist der Mail-Eingang jedes Accounts auf der Startseite des Mailprogramms verlinkt.
  • PDFs können neu mit der iBook-App von Apple geöffnet werden. iBook unterstützt auch die meisten anderen eBook-Formate.
  • Es lassen sich neu Playlist direkt auf dem iPod/iPhone erstellen.
  • Es ist nun möglich im Store Apps an Freunde zu “verschenken”
  • Bei den SMS/MMS-Nachrichten kann ein “Zeichenzähler” aktiviert werden. Sobald der Text länger als 1 Zeile wird, sieht man die Anzahl der Zeichen.
  • Sinnlos: die Kamera hat nun ein Digitales Zoom

Bei den neueren Modellen sind zusätzlich noch folgende Features verfügbar:

  • Multitasking (es können gleichzeitig mehrere Anwendungen geöffnet werden)
  • Man kann ein “Wallpaper” einrichten (war vorher auch nur mit Jailbreak möglich)
  • Spell Checker (die Rechtschreibung wird überprüft)
  • Bei Videos kann jetzt der Fokus durch Tippen auf den Bildschirm gewechselt werden.

Für’s erste bin ich sehr zufrieden mit dem Update. Im Moment verzichte ich auch auf ein Jailbreak. Die meisten Funktionen welche das Jailbreak bietet benötige ich sowieso nicht (oder nicht mehr), ausserdem scheint mein iPhone 3G ohne Jailbreak deutlich schneller zu laufen. (Vielleicht auch nur eine Täuschung ;-))

OS 4 wurde bereits geknackt und an einem Jailbreak für die iPhone 4-Hardware wird bereits fieberhaft gearbeitet. Wir werden sehen wie lange es dauert 😉

Abschliessend noch ein Tipp für alle die ihr iPhone 3G oder 3GS updaten möchten: Vor dem Update sollte eine normale Synchronisation und ein Backup gemacht werden. Falls das Backup übermässig lange dauert oder nicht vollständig durchgeführt werden kann, sollte dieses Problem VOR dem Update behoben werden. Falls ihr nicht wisst wie, findet ihr hier eine Anleitung: Lösung: iPhone Backups funktionieren nicht
Wenn das iPhone selten mit iTunes synchronisiert wird, dauert es eventuell ein bisschen länger als wenn die Synchronisation regelmässig erfolgt. Grundsätzlich funktioniert die Synchronisation und das Backup besser wenn es regelmässig durchgeführt wird (und dauert dann auch nicht mehr solange).

Viel Spass mit dem neuen OS.