Design-Fehler von Sony

Ich mag meine PS3 (Slim), sie ist schnell, leise und dank Spielen wie Worms, Guitar Hero und Fifa 10 auch absolut gesellschaftsfähig. Was ich allerdings überhaupt nicht verstehe: Warum hat Sony keinen USB-Anschluss auf der Rückseite des Geräts integriert? An diesen hätte man zum Beispiel ohne Probleme die Empfänger für die Gitarren anschließen können, oder dauerhaft eine Festplatte verbinden können.

Gibt es für diese Sparmaßnahme eine rationale Erklärung?

Fortschritt, der sich selber überholt

Ich mag mein Fedora-System. Linux im Allgemeinen sowieso. Aber beim Lesen dieses Blogeintrags, auf den ich über Planet Fedora gestoßen bin, ist mir eines mal wieder bewusst geworden und unangenehm aufgefallen:

So sehr ich dafür bin, dass ständig neue Programme entwickelt werden, so unpraktisch ist es, dass es ständig neue Programme gibt. In obigem Blogeintrag werden die Programme Shotwell und Gnote erwähnt. Shotwell ist ein Foto-Managementprogramm und tritt die „Nachfolge“ von F-Spot an, da es das standardmäßig installierte Programm zur Fotoverwaltung in Fedora 13 sein wird. Gleiches gilt für Gnote, das Tomboy als Programm für Notizen ersetzt.

Auch wenn ich den Vorteil der neuen Programme sehe, so ist der Aufwand, der durch die ständige Neuorganisation aufgrund der neuen Programme entsteht doch erheblich. Ich beneide ein wenig die Leute, die seit Jahren Programme wie iTunes für ihre Musik einsetzen oder Picasa für ihre Fotos. Sie haben wenigstens nicht das Problem, dass aufwändig und in stundenlanger Kleinarbeit erstellte Bibliotheken mit dem nächsten Release neu erstellt werden müssen. Gerade bei den Sachen, die sich über einen langen Zeitraum ansammeln, also hauptsächlich Fotos und Musik ist dieser ständige Wechsel einfach nervig!

Daher, liebe Softwareentwickler: Bitte stellt sicher, dass wenn schon ein Wechsel der Programme forciert wird, wenigstens alle Daten sauber übernommen werden können!

Interviewfragen I

Zu Beginn direkt mal ein Klassiker:

Schreiben Sie ein Programm, welches die Zahlen von 1 bis 100 ausgibt. Immer, wenn eine Zahl durch 3 teilbar ist, soll statt der Zahl das Wort foo ausgegeben werden, ist die Zahl durch 5 teilbar das Wort bar. Ist die Zahl sowohl durch 3 als auch durch 5 teilbar, soll das Wort foobar anstatt der Zahl ausgegeben werden.

Mögliche Lösung:

for ($i = 1; $i <= 100; $i++) {
  if ($i % 3 == 0) {
    echo "foo";
  }
  if ($i % 5 == 0) {
    echo "bar";
  }
  if ($i % 3 != 0 && $i % 5 != 0) {
    echo $i;
  }
  echo "\n";
}

Interviewfragen – Einleitung

So, da ich ja inzwischen festangestellter Softwareentwickler bin und auf dem Weg dorthin auch einige Vorstellungsgespräche hatte, möchte ich hier eine neue Reihe starten, in der ich Programmierfragen erläutere, die in solchen technischen Jobinterviews vorkommen können. Die Fragen sind üblicherweise nicht übermäßig kompliziert und es gibt im Allgemeinen auch nicht die korrekte Lösung, aber es gibt durchaus bessere und schlechtere Lösungen. Eine mögliche Lösung werde ich immer im Eintrag selber erwähnen, andere Ideen sind in den Kommentaren gerne willkommen.

Woher ich die Fragen habe? Teilweise aus eigenen Vorstellungsgesprächen, teilweise von StackOverflow, teilweise auf anderen Seiten gefunden. Wo immer möglich werde ich die Quelle angeben.

Auch wenn hin und wieder mal Fragen zu einer speziellen Programmiersprache dabei sein werden, sollten die Fragen üblicherweise ohne Kenntnis einer speziellen Sprache zu beantworten sein. Meine Lösungsvorschläge werde ich auch in Pseudocode niederschreiben.

Ich hoffe, ich kann mit dieser Serie dem einen oder der anderen helfen und/oder Freude bereiten.

Gedanken über Google

Kristian Köhntopp hat in seinem Blog mal wieder einen äußerst interessanten Beitrag veröffentlicht: Das Google-Missverständnis. Insbesondere folgender Satz hat mich fasziniert:

Es gibt noch etwas anderes, das mich sehr fasziniert, und das ist die geringe Zahl von beobachtbaren Fuck-Ups bei Google.

Denn genau das habe ich letzte Woche, als Google die Javascript Closure Tools freigegeben hat, auch gedacht: Ich kenne diese Tools noch nicht, aber sie sind von Google, sie sind bestimmt gut! Google Mail, Maps, Documents, Groups – alles Beispiele von Software, die es für einen Großteil der Internetnutzer „einfach richtig“ macht.

Nur so ein Gedanke.