Ab wann wird eigentlich etwas zur Routine? Diese Frage habe ich mir gerade gestellt, weil ich gerade erneut ein Scholarship von Apple für die diesjährige WWDC im Juni (11. Juni - 15. Juni) in San Francisco bekommen habe. Das ist das dritte Mal in Folge. Keine schlechte Performance also ... . Vielleicht kann ich mich ja bei dieser Gelegenheit gleich direkt bei Apple vorstellen? Ich bin mal gespannt, was die Antwort von Apple in den nächsten Wochen bringen wird. San Francisco ich komme wieder!
Labels: Apple, San Francisco, WWDC
Der Trick der zersägten Jungfrau ist so ziemlich jedem bekannt, nur nicht den Bauarbeitern, die momentan in meiner Wohnung Renovierungsarbeiten durchführen. Für die Sanierung der Versorgungsleitungen musste in der Küche eine Wand entfernt werden. Derjenige, der dafür die Mauersäge zur Anwendung brachte, muss gleich locker flockig los gelegt haben. Dabei hat er leider sämtliche Elektrokabel, die ebenfalls in diesem Schacht verlegt sind, mit einem chirurgisch sauberen Schnitt getrennt. Dabei ging er vermutlich auch ohne Rücksicht auf Verluste vor, wie man anhand dieser Steckdose sehr schön sehen kann.
Fazit war, dass ich, als ich gegen 21 Uhr nach Hause kam, einen abgetauten Tiefkühlschrank und keinen Strom vorfand. Die Sicherungen ließen sich nicht mehr aktivieren sondern flogen sofort wieder raus. Nach einem Telefonat mit dem Bauleiter war klar, dass sich das Problem an diesem Abend nicht mehr lösen lässt. Momentan sind die Elektriker damit beschäftigt meine Wohnung wieder unter Strom zu setzen. Mal schauen, welche Überraschung mich heute abend erwartet.
So, das Interview ist gelaufen und ich muss zugeben, dass ich immer noch freudig erregt darüber bin. Apple sucht zur Verstärkung des Localization & Engineering Teams neue Mitarbeiter. In dieser Abteilung wird sämtliche bei Apple entwickelte Software zusammengestellt und es werden Integrationstests durchgeführt. Das klingt nach einer interessanten Aufgabe.
Die Atmoshpäre während des Gesprächs war sehr locker. Zunächst haben wir über einige meiner Projekte (u.a. auch die Diplomarbeit) gesprochen. Dann gab es ein paar fachliche Fragen rund um Cocoa/Objective-C und Unix/Linux. Leider musste ich beim Unterschied zwischen Hard- und Softlinks passen, aber mittlerweile hat Google mir dazu auch die passende Antwort geliefert. Zum Schluss konnte ich noch ein paar Fragen stellen, obwohl sich der Großteil meiner Fragen schon während des Gesprächs beantwortet hatte. Insgesamt dauerte das Interview knapp eine halbe Stunde.
Gerade habe ich noch eine Thank-you-note an Apple geschickt und mich nochmal für die Möglichkeit des Interviews bedankt. Innerhalb der nächsten Wochen soll ich dann eine Nachricht erhalten, wie der Prozess evtl. weitergeht. Momentan befinden sie sich noch in der Sondierungsphase. Sollte ich dann eine Runde weiterkommen, wird es wohl noch weitere Interviews geben. Ich bin jedenfalls gespannt.
Gestern finde ich in meinem Posteingang eine E-Mail von Apple, in der sie schreiben, dass sie mein Resumé gelesen haben und deshalb gerne ein Telefoninterview mit mir machen möchten. Wow, darüber freue ich mich echt riesig. Allerdings ist mir der Zweck dieses Interviews noch nicht klar. Job? Praktikum? Ich glaube, dass sollte ich vorher noch in Erfahrung bringen
Das Interview findet morgen Abend statt. Jemand vom Localization & Release Engineering Department wird mich dann anrufen. Um mich auf mein erstes Telefoninterview in meinem Leben vorzubereiten, habe ich für heute gleich noch einen Termin mit meinem Versicherungsberater gemacht. Er hat sich unter anderem auf Bewerbungen spezialisiert und ich hoffe, dass er mir noch ein paar wertvolle Tips geben kann. Also, drückt mir alle die Daumen.
Bei der Implementierungsaufgabe meiner Diplomarbeit ist heute das erste zählbare Ergebnis herausgekommen: Verschiedene Threads einer Task laufen auf unterschiedlichen Prozessoren. :-)
Doch zunächst ein kurzer Exkurs für diejenigen, die noch nicht wissen womit ich mich in meiner Diplomarbeit beschäftige. Seit letztem Jahr gibt es eine Multiprozessorvariante des Fiasco-Mikrokerns, die ein sehr einfaches Benutzermodell umsetzt. Die Limitierungen dieses Modells werden jedoch als zu restriktiv angesehen, um damit vernünftig ein System zu bauen. Daher entwickle ich die Multiprozessorvariante weiter und beseitige einige dieser Einschränkungen.
Dafür habe ich drei Modelle entworfen und in den letzten zwei Wochen angefangen das Modell 1 zu implementierten. Dieses Modell sieht vor, dass Tasks nicht mehr nur auf einen Prozessor beschränkt sind, sondern einzelne Threads zur besseren Lastverteilung auch auf andere Prozessoren verteilt werden können. Seit vorhin funktioniert das Erzeugen und Ausführen solcher Remote-Threads. Damit funktioniert der größte Teil von Modell 1 und es gibt nur noch ein paar kleinere Dinge zu untersuchen.
Nach Ostern kann es dann mit Modell 2 losgehen, wobei ich schon einige Grundlagen dafür im Modell 1 implementieren musste. Trotzdem wird diese Erweiterung noch ein ganzes Stück schwieriger zu implementieren sein. Beim Debugging wird mir Qemu wieder sehr helfen, wenn das System mal wieder an irgendeinem Punkt einfach stehen bleibt. Mein Betreuer hat schon vorgeschlagen nach Abschluss der Arbeit etwas an Fabrice Bellard zu spenden, denn ohne Qemu wäre die Entwicklung etliche Größenordnungen komplizierter.