Neues von Apple… WWDC2009

Gerade erst angefangen, ist die Keynote der diesjährigen World Wide Developer Conference (WWDC) auch schon wieder vorbei. Wieder waren die Gerüchte, die sich im Internet tummelten sehr nah an dem dran, was Apple heute präsentiert hat. Aber wie in (fast) jedem Jahr hat sich auch diesmal wieder das ein oder andere dazwischen gemogelt, was man so nicht erwartet hatte. Im Folgenden mein persönlicher Überblick über die Neuigkeiten.

Mac OSX 10.6 aka Snow Leopard

Nun ist es also raus. Im September soll Snow Leopard auf den Markt kommen. Also noch vor Windows 7, das für Oktober angekündigt ist. Im Wesentlichen hat Apple am Motor geschraubt. Während sich an der Oberfläche nur sehr wenig verändert hat, soll Snow Leopard eine um einiges bessere Performance mitbringen. Hier ein paar Eckdaten:

  • Neuer Finder um 64-bit und das neue Grand Central zu unterstützen
  • Integration von Exposé im Dock
  • Bessere Stacks
  • Time Machine Backup 50% schneller
  • Standard Aufgaben sind wesentlich schneller, z.B. Wake Up: doppelt so schnell
  • Installation nur noch halb so groß (6GB statt vorher 12GB)
  • Vollständige Exchange Unterstützung in Mail, Adressbuch und iCal

Gerade der letzte Punkt ist sehr interessant. Denn ein in meiner Firma genutztes „Feature“ von Exchange, nämlich die Ressourcen-Buchung, wird vom Microsoft-Eigenen Entourage nicht unterstützt. Von Snow Leopard hingegen schon. Man darf gespannt sein.
Interessant ist, dass bei diesem Update Besitzer des aktuellen Betriebssystems „Leopard“ günstiger weg kommen als bisher. Eine einzelne Lizenz kostet dann nur noch 29$, das Family Pack mit 5 Lizenzen 49$. Eine Vollversion schlägt wie üblich mit 129$ zu Buche. Wie die Europreise sein werden steht noch nicht fest, aber die Erfahrung zeigt, dass wohl lediglich das Währungssymbol ausgetauscht wird.

iPhone OS 3.0

Das Update auf das iPhone OS 3.0 bringt im wesentlichen die Funktionen mit, die schon seit einiger Zeit bekannt waren:

  • Copy&Paste
  • Querformat Tastatur in Mail, SMS etc…
  • MMS
  • Spotlight Suche
  • iPhone als Modem am Laptop (Tethering)

Dazu kommen allerdings noch einige Funktionen, mit denen niemand oder nur wenige gerechnet haben, die darüber hinaus aber auch teilweise während der Präsentation garnicht aufgetaucht sind. Sie sind deshalb aber nicht minder interessant:

  • CalDav Support im Kalender
  • Erstellen von Meetings über Exchange
  • Film, Serien und Bücherdownload aus dem AppStore
  • Bluetooth jetzt auch für Datentransfer, z.B. Spiele
  • Dock-Anschluß jetzt auch für Drittanbieter offen

Unter anderem dank des letzten Punktes wird es von TomTom in naher Zukunft eine Navigationslösung für das iPhone geben. Das ganze inkl. einer Halterung für’s Auto in der das iPhone auch aufgeladen werden kann. Neben einem leistungsstärkeren Lautsprecher enthält die Vorrichtung auch eine Anschlußmöglichkeit für das Autoradio. Ob für alle Modelle wird sich noch zeigen.
Das Update wird ab 17. Juni zur Verfügung stehen und ist für iPhone Besitzer kostenlos. iPod touch Benutzer müssen knapp 10$/€ auf den virtuellen Ladentisch legen müssen.

iPhone 3G S

Ebenfalls ein Wunsch vieler, der heute in Erfüllung gegangen ist: Ein neues iPhone-Modell. Von außen unterscheidet es sich von dem bisherigen Modell iPhone 3G nicht, aber das „S“ in iPhone 3G S steht laut Phil Schiller für „Speed“, also Geschwindigkeit. Mit einem Geschwindigkeitszuwachs von bis zu 100% wird da geworben. Ob das wirklich so ist, wird sich noch zeigen. Aber einige andere Punkte scheinen mir persönlich noch interessanter:

  • Bessere Kamera (3MP) und neue Spezialfunktionen („tap focus“, besseres Verhalten bei wenig Licht, Macro-Aufnahmen)
  • Video-Aufnahme Funktion mit Schnittmöglichkeit
  • Voice Control (ab jetzt kann man mit seinem iPhone reden)
  • Apple’s In-Ear Kopfhörer statt der bisherigen Stereo-Kopfhörer
  • Bessere Batterielaufzeit
  • Kompass

Und natürlich auch alle Funktionen, die das OS 3.0 mit bringt. Zusammen mit dem iPhone OS 3.0 bildet das neue iPhone eine runde Sache und nimmt den Kritikern einiges an Wind aus den Segeln. Nun muß sich zeigen, ob es auch hält, was es verspricht und ob nicht vielleicht doch nochmal irgendetwas zu bemängeln sein wird, was andere Telefone schon seit Jahren können :-)

Hardware

Hardwaremäßig gab es aus meiner Sicht keine sonderlich großen Überraschungen. Im Wesentlichen erhält das 15″ MacBook Pro ebenfalls eine eingebaute Batterie (mit 7 Stunden Laufzeit), wie das 17″ Modell. Das 13″ MacBook unibody wird zum 13″ MacBook Pro aufgewertet und alle Modelle erhalten einen SD-Card Slot. Ausserdem wird alles ein Stück billiger. Überrascht? Ich eigentlich auch nicht, also weiter zum – aus meiner Sicht – interessanteren Teil.

Safari 4

Irgendwo zwischen Snow Leopard und iPhone OS 3.0 wurden noch ein paar Worte über die neue Version von Safari verloren. Apple’s eigener Browser liegt nun in Version 4 vor und bringt 150 neue Features mit. Neben diesen ist er auch nochmal deutlich schneller als sein Vorgänger und schlägt laut Phil Schiller auch Google Chrome. Im iPhone OS 3.0 kommt, wie bisher auch, eine abgespeckte Version gleich mit. Wer sich den Boliden auf seinem Mac installieren will kann sich das Paket beiApplerunterladen. Auserdem gibt es auch eine vollständige Liste über die150 Features.

Schweinegrippe zieht ihre Kreise

Vor ein paar Tagen noch ein weit entferntes Problem, ist die Schweinegrippe nun auch in Deutschland ein Thema geworden. Erste Verdachtsfälle in den letzten Tagen haben sich als negativ herausgestellt, haben aber dazu geführt, dass ein größeres Bewußtsein geschaffen wurde und das nicht nur unter Tagesschau guckern. Gestern habe ich die ersten jugendlichen beobachten können, die einem Freund (?) mit Schnupfen verbal die Schweinegrippe unterschieben wollten. Nunja, haben wir sowas früher nicht alle getan?

Für mich persönlich ist die Krankheit nun nochmal ein Stückchen näher gerückt. Der erste Verdachtsfall in Hamburg ist aufgetreten. Eine junge Frau liegt im UKE auf Isolierstation und wird dort entsprechend betreut. Ob es die Schweinegrippe ist, die sie dort hin gebracht hat, muß sich noch zeigen. Von meiner Seite auf jeden Fall gute Besserung.

Für alle die den Verlauf der Ausbreitung verfolgen wollen, gibt es eine google-Karte mit entsprechendverzeichneten Fällen. Aber bitte nicht gleich in Panik ausbrechen. Diese wäre im Moment noch vollkommen unbegründet.

Apple lädt zur iPhone OS 3.0 Vorstellung

Apple hat heute Journalisten eingeladen um einen ersten Blick auf das zukünftige iPhone OS 3.0 zu gewähren. Das Event soll am 17. März 2009 statt finden. Gleich wurden die ersten bereits seit einiger Zeit schwelenden Spekulationen über verbesserungen und neue Features laut. Ganz vorne dabei: MMS unterstützung und Copy&Paste.

Auch über die Möglichkeit, dass Prozesse nun doch im Hintergrund laufen dürfen wird spekuliert. Dies könnte eine Alternative zum längst überfälligen Push-Dienst sein, den Apple bereits mit dem iPhone OS 2.0 angekündigt hatte. Dabei sollte aus Ressourcengründen vermieden werden, dass zu viele Applikationen im Hintergrund laufen. Stattdessen sollten Programme wie ICQ oder IRC über den Apple eigenen Push-Dienst Nachrichten zugeschustert bekommen, wie das z.B. schon von MS Exchange Servern bekannt ist. Bis heute allerdings ist davon nichts zu sehen.

Nun keimt die Hoffnung vieler Entwickler wieder auf, man könne in Zukunft vielleicht doch Applikationen bauen, die parallel zu anderen Programmen laufen dürfen. Gleichzeitig stellt sich aber die Frage, wie ob die alten Geräte das überhaupt packen können. Teilweise stürzen heute ja schon allein laufende Programme wegen Speichermangel ab. Aus diesem Grund wird gemunkelt, dass es gleichzeitig auch ein neues iPhone geben wird, mit neuem Prozessor und mehr Speicher. Was ich mich allerdings schon die ganze Zeit frage: Von den 16GB Flashspeicher für Musik etc. hab ich gerade mal die Hälfte belegt. Warum kann da die andere Hälfte nicht als Swap benutzt werden?

Das nächste größere Feature über das spekuliert wird ist vektorbasierte GPS Standortbestimmung, die den Einsatz des iPhone als Navigationslösung möglich macht. Zu guterletzt hofft die Gemeinde auf die Möglichkeit das iPhone als Modem einsetzen zu können. Damit könnte man mit Laptop und iPhone bestückt unterwegs auf einem großen Display im Internet surfen oder Anwendungen benutzen, die es auf dem iPhone nicht gibt und eine Internetverbindung benötigen. Das alles ohne eine zusätzliche UMTS-Karte.

Bislang sind alle diese Punkte Spekulationen, aber schon seit beginn der iPhone Ära Kritikpunkte aus den Reihen von Entwicklern und Benutzern. Es bleibt abzuwarten, wie gut Apple in der letzten Zeit zugehört hat.

T3BLOG in bestehende Seite integrieren

Ich arbeite gerade an einer Zusammenfassung der Schritte, die ich durchgeführt habe, um den T3BLOG in meine bestehende Webseite zu integrieren. Für alle die inzwischen danach gefragt haben besteht also Hoffnung, bald eine kleine Anleitung zu haben, mit deren Hilfe die Integration ein wenig einfacher sein wird. Bitte gebt mir noch ein bisschen Zeit, da ich mich gerade noch an einer anderen Baustelle festgebissen habe. Da ich aber selber weiss, dass warten immer ein unangenehmes Gefühl ist, werde ich mich bemühen schnell an die Arbeit zu gehen. Sobald ich fertig bin, werde ich euch über den Blog informieren.

Komische Standardeinstellung Apache+Debian Etch

Durch einen Serverabsturz bin ich heute auf eine etwas verwirrende Standardeinstellung im Apache gestoßen, die laut einigen Foren offenbar nur Debian Etch betrifft.

MaxRequestsPerChild 0

macht den Apache in einigen Situationen zu einem Speicherfresser. Das ganze geht soweit, das der Kernel keinen neuen Speicher mehr allociieren kann, kein Speicher mehr für andere Anwendungen zur Verfügung steht und das System damit lahmgelegt wird. Das ganze äußert sich zunächst dadurch das außer PING nichts mehr funktioniert. Ein Server reboot richtet dann wieder alles, allerdings ist es dann nur eine Frage der Zeit, bis das Problem erneut zuschlägt. Wer in seinem „syslog“ Meldungen finden, die wiefolgt aussehen:

kernel: Mem-info:
kernel: Node 0 DMA per-cpu:
kernel: cpu 0 hot: high 0, batch 1 used:0
kernel: cpu 0 cold: high 0, batch 1 used:0
kernel: Node 0 DMA32 per-cpu:
kernel: cpu 0 hot: high 186, batch 31 used:179
kernel: cpu 0 cold: high 62, batch 15 used:49
kernel: Node 0 Normal per-cpu: empty
kernel: Node 0 HighMem per-cpu: empty
kernel: Free pages:        8012kB (0kB HighMem)
kernel: Active:117054 inactive:113464 dirty:0 writeback:0 unstable:0 free:2003 slab:5445 mapped:1 pagetables:11467
kernel: Node 0 DMA free:3996kB min:24kB low:28kB high:36kB active:3980kB inactive:3840kB present:6556kB pages_scanned:9555 all_unreclaimable? yes
kernel: lowmem_reserve[]: 0 993 993 993
kernel: Node 0 DMA32 free:4016kB min:4016kB low:5020kB high:6024kB active:464236kB inactive:450016kB present:1017008kB pages_scanned:1088596 all_unreclaimable? yes
kernel: lowmem_reserve[]: 0 0 0 0
kernel: Node 0 Normal free:0kB min:0kB low:0kB high:0kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
kernel: lowmem_reserve[]: 0 0 0 0
kernel: Node 0 HighMem free:0kB min:128kB low:128kB high:128kB active:0kB inactive:0kB present:0kB pages_scanned:0 all_unreclaimable? no
kernel: lowmem_reserve[]: 0 0 0 0
kernel: Node 0 DMA: 1*4kB 1*8kB 1*16kB 0*32kB 0*64kB 1*128kB 1*256kB 1*512kB 1*1024kB 1*2048kB 0*4096kB = 3996kB
Feb 24 15:19:42 catfish kernel: Node 0 DMA32: 2*4kB 15*8kB 9*16kB 5*32kB 10*64kB 1*128kB 1*256kB 1*512kB 0*1024kB 1*2048kB 0*4096kB = 4016kB
kernel: Node 0 Normal: empty
kernel: Node 0 HighMem: empty
kernel: Swap cache: add 3754206, delete 3754206, find 550796/967590, race 100+121
kernel: Free swap  = 0kB
kernel: Total swap = 2104504kB
kernel: Free swap:            0kB
kernel: 261872 pages of RAM
kernel: 5006 reserved pages
kernel: 46543 pages shared
kernel: 0 pages swap cached
kernel: printk: 180 messages suppressed.
kernel: oom-killer: gfp_mask=0x201d2, order=0
kernel:
kernel: Call Trace:
kernel:  [<ffffffff802a666e>] out_of_memory+0x33/0x216
kernel:  [<ffffffff8020e020>] __alloc_pages+0x220/0x2a9
kernel:  [<ffffffff80210db1>] __do_page_cache_readahead+0x95/0x206
kernel:  [<ffffffff8022683e>] sync_page+0x0/0x42
kernel:  [<ffffffff8025cad3>] io_schedule+0x28/0x33
kernel:  [<ffffffff8022683e>] sync_page+0x0/0x42
kernel:  [<ffffffff8025cd6a>] __wait_on_bit_lock+0x5b/0x66
kernel:  [<ffffffff8023d749>] __lock_page+0x5e/0x64
kernel:  [<ffffffff802116ed>] filemap_nopage+0x148/0x314
kernel:  [<ffffffff80208718>] __handle_mm_fault+0x375/0x91a
kernel:  [<ffffffff8020a69c>] do_page_fault+0x39d/0x706
kernel:  [<ffffffff8025c35e>] thread_return+0x0/0xe7
kernel:  [<ffffffff802588e5>] error_exit+0x0/0x84

der sollte mal in sein Apache Konfigurationsfile schauen und darüber nachdenken den besagten Wert z.B. wiefolgt abzuändern:

MaxRequestsPerChild 100

Damit wird verhindert, dass der Prozess Amok läuft, denn nach 100 Requests wird er einfach abgesetzt und ein neuer tritt an seine Stelle. Mal sehen, ob das jetzt auch hilft…

Pro 7 verdirbt TV-Lust

Es ist einfach unglaublich. Seit Jahren schau ich kaum noch Fernsehen. Jegliche Versuche Serien zu schauen sind oft schon nach 3-4 Folgen kläglich gescheitert. Mit „Terminator Sarah Connor Cronicles“ hab ich jetzt mal einen neuen Versuch gestartet. 6 Folgen hab ich geschafft, ohne eine zu verpassen, dafür extra Zeit frei gehalten.

Und was nun?

Pro7 packt die Sendung für die letzten 3 Folgen sang und klanglos ins Nachtprogramm 0:40 Uhr (welcher Bundesbürger mit nem normalen Job ist denn dann noch auf den Beinen?!). Stattdessen wurden dann heute 2 Stunden Simsons am Stück gesendet. Ist das im Vergleich der absolute Quotenrenner? Für mich ist das Experiment an dieser Stelle wieder gescheitert. Offenbar muß ich es dann doch machen wie viele Bekannte und Freunde. Serien einfach aus dem Internet laden und schauen wann und wo ich will. Im Fernsehen werde ich es nach der heutigen Aktion wohl nicht mehr machen, oder es mir zumindest mehr als einmal reiflich überlegen Termine um einen „unsicheren“ Sendeplatz herum zu legen. Traurig, aber wahr…

Unternehmen fordern Unterstützung

War heute Abend unterwegs und höre im Radio Sätze wie: „Airbus fordert Unterstützung“ und „Von der Regierung wird erwartet“. Ich maße mir nun nicht an, dass ich den kompletten wirtschaftlichen Durchblick habe. Ich habe auch nichts dagegen, dass die Regierung mit einem Rettungspaket gezielt versucht, die Wirtschaft vor dem Ruin zu bewahren. Aber irgendwie kann ich mich mit dem derzeitigen Ton, der aus der Wirtschaft zu hören ist nicht anfreunden. Als ich noch ein Kind war und mein Taschengeld auf den Kopf gehauen habe, bin ich auf jeden Fall nicht auf die Idee gekommen zu meinen Eltern zu laufen und nochmal Taschengeld zu „fordern“. Man hat mal gefragt, vielleicht auch gebettelt, aber gefordert? Nein. Was habe ich in meiner Erziehung nur verpaßt? Vielleicht kann mir da ja jemand helfen…

Erste Erfahrung mit T3BLOG

Wie ja schon vor Kurzem geschrieben, habe ich auf eine neue BLOG-Lösung umgestellt. Das etwas schwerfällige und veraltete TIMTAB mußte dem neuen System T3BLOG der schweizer Firma Snowflake weichen. Was grundsätzlich positiv stimmt, ist die Tatsache, dass Snowflake den Blog selbst einsetzt. Im Folgenden möchte ich meine ersten Erfahrungen mit T3BLOG schildern und euch damit helfen zu entscheiden ob T3BLOG auch etwas für euch sein könnte.

Obwohl das System so ausgelegt ist, dass man den Blog als eigenständige TYPO3 Instanz laufen läßt, ist es über einige Umwege möglich ihn auch dazu zu bewegen sich in die bereits bestehende Seite einzugliedern. Ersteres geht recht schnell von der Hand, während zweiteres in etwa so lange dauert TIMTAB einzurichten. Denn die ein oder andere Stolperfalle bringt die Einrichtung mit sich, die man hauptsächlich über TypoScript erledigt.

T3BLOG kurz und knapp – Was bei der Einrichtung auffällt

Nachdem ich die Extension jetzt soweit an meine Bedürfnisse angepasst habe, ziehe ich dennoch ein positives Fazit. Im Grunde ist T3BLOG recht übersichtlich aufgebaut und macht im Großen und Ganzen was es soll. Und das recht komfortabel. Allerdings merkt man der Extension an, dass sie noch recht neu ist. Im Folgenden ein paar Punkte, die seitens der Entwickler nochmal überdacht werden sollten:

PageBrowser:

Im PageBrowser scheint es noch an der Berechnung der ‚Vorigen‘ und ‚Nächsten‘ Seite zu haken. Hier wird eher wild in der Gegend rumgesprungen statt zur korrekten Seite zu linken.

Wenn man einen Kategoriefilter einschaltet und ein PageBrowser angezeigt wird, so wird der Filter gelöscht, sobald man Gebrauch vom PageBrowser macht.

RSS:

Der RSS-Feed für Posts enthält nur die Überschrift. Mich persönlich stört es, wenn ich einen Feed abbonniert habe, ich aber erst auf die Webseite wechseln muß, um den Beitrag zu lesen. Um T3BLOG trotzdem dazu zu bewegen, muß man dann schon im Code rumwerkeln.

Man hat keine Möglichkeit den Content im RSS-Feed als HTML ausgeben zu lassen. Wieder muß der Leser auf die Seite wechseln, um Bilder, Links etc. zu sehen. Gerade wenn man im Text darauf referenziert, ist das sehr verwirrend.

Trackback:

Eine andere Webseite per Trackback anzupingen funktioniert. Den ausgegebenen Trackback Link von T3BLOG woanders einzutragen scheint aber keinen Effekt zu haben (Getestet mit WP).

Der Link, der beim Trackback auf einen anderen Blog mitgegeben wird, wird auf der T3BLOG Seite nicht mehr korrekt dekodiert. Das führt dazu, dass man immer die Listenansicht, nicht aber die Einzelansicht bekommt. Problem scheinen hier ein paar auskommentierte Zeilen in der class.blogList.php zu sein, die angeblich „not needed anymore“ sind.

Content Elemente:

Es ist ja schon sehr komfortabel, dass man in seinem Blogbeitrag mehrere Content Elemente zusammenbauen kann, wie auf einer richtigen Seite. Was allerdings richtig nervt, ist die Tatsache, dass diese innerhalb eines Posts falschrum ausgegeben werden. Nun kann ich die ja zum Glück umsortieren. Klappt auch, wird aber beim Anlegen des nächsten Posts wieder kaputt gemacht. Warum hab ich noch nicht herausgefunden. Vielleicht haben die Entwickler von Snowflake ne Idee?

Fazit:

Version 1 überzeugt durch einen robusten Aufbau. Die Kinderkrankheiten sind (bis auf die Sache mit den Content Elementen) zunächst sicherlich verschmerzbar. Aber Aufgrund des Umfangs, den die Extension jetzt schon hat, bin ich guter Dinge, dass die Probleme bald von Snowflake behoben werden.

Kritische Sicherheitslücke in TYPO3

Im TYPO3 Kern wurde eine Sicherheitslücke entdeckt, die durch ein Update gepatcht werden kann, das seit vorgestern zur Verfügung steht. Das Update wird dringenst empfohlen, da ein Angreifer sich durch die Lücke Zugriff zum Dateisystem verschaffen kann.

Bekanntestes Opfer dieser Sicherheitslücke ist aktuell wohl Wolfgang Schäuble. Seine Webseite war über 11 Stunden mit einem Link auf den Arbeitskreises Vorratsdatenspeicherung versehen.

Nähere Informationen zu dem Fehler, seinen Auswirkungen und die betroffenen Versionen findet man im aktuellenTYPO3 Security Bulletin.

Sortierung im T3BLOG RSS-Feed

Und weil der Blog so viel Spaß macht, gleich noch was. Wer T3BLOG installiert hat und vorher was anderes benutzt hat, z.B. TIMTAB, wird vermutlich seine alten Posts akribisch von Hand umgezogen haben. Je nach Reihenfolge wird man sich danach irgendwie wundern, warum im RSS-Feed plötzlich ältere Posts vor den neueren auftauchen. Das liegt daran, dass die Standardeinstellung eine Sortierung nach Erstellungsdatum vorsieht und nicht etwa nach dem Datum, das man in dem entsprechenden Feld eingegeben hat. Hier hilft ein bischen TypoScript im Template. Statt nach ‚crdate‘ läßt man nach ‚date‘ sortieren:

plugin.tx_t3blog_pi1.rss.postItemOrderBy = date DESC

RSS jetzt auch gleich mit Text

Da ich mich selbst immer aufrege, wenn RSS-Feeds immer nur mit der Titelzeile daher kommen und man dann für den eigentlichen Inhalt immer auf die Betreiberseite muß, habe ich das bei mir eben mal angepaßt. Jetzt sollte es also auch keine Probleme mehr geben, den Feed z.B. im Google Reader auf dem „Mobile Device“ zu lesen.

Für alle, die selbst die neue T3Blog-Extension benutzen und ihren RSS-Feed mit dem Text erweitern wollen, müssen ein bischen PHP basteln. Zu Ändern ist die Datei unter pi1/widget/rss/class.rss.php im Extension-Verzeichnis. Zeile 134 sollte nach der Änderung so aussehen:

$xmlObj->setRecFields('tx_t3blog_post','title,author,uid,cat,date,text');

Lediglich der Parameter ‚text‘ ist dazu gekommen.