GST023 - The NeXT Episode
Unser Gast (00:00:00)
- Mateus "@seanlilmateus" Armando
- "Lange Namen und die Ämter"
- Hat eine Fachinformatik Ausbildung und ein abgebrochenes Informatikstudium vorzuweisen
- Arbeitet bei der Deutschen Telekom
- Ist in der MacRuby (http://macruby.org/) und RubyMotion (http://www.rubymotion.com/) Szene aktiv
- Ruby is Magic: Cupcakes! https://speakerdeck.com/railsbros_dirk/ruby-is-magic-cupcakes
Arbeiten der Telekom (00:03:55)
- Mateus automatisiert Dinge mit Ruby auf der Arbeit, ansonsten kommt es weniger zum Einsatz
- Mateus testet Mobilfunkentgeräte mit dem Netz der Telekom
- Zentrale Stelle für mehrere Länder
- Funktionieren die Geräte mit dem Netz der Telekom?
- Softwaretests, Funktests
- Mateus bekommt oft mal neue Geräte zum Testen in die Hand
- Die neuen Apple Geräte werden von speziell ausgewählten Personen getestet; Apple ist da etwas pingelig :)
- Wenn Hersteller Mist machen, dürfen die Geräte nicht ins Netz der Telekom
- Das Notification System eines ungenannten Devices hat vor einiger Zeit für großflächige Ausfälle gesorgt
- Für Sicherheitsrelevante Fragen gibt es noch mal eine eigene Abteilung
- Security Research Labs (Karsten Nohl) - "Rooting SIM cars": https://srlabs.de/rooting-sim-cards/
- Wireshark: http://www.wireshark.org/
- Wireshark und GSM: http://wiki.wireshark.org/GsmProtocolFamily
GSM Hacking, Security und Co (00:14:30)
- Testgeräte und -installation sind extrem teuer
- Base Transceiver Station: http://en.wikipedia.org/wiki/Basetransceiverstation
- Mehr Augen, finden mehr Fehler; bisher wurden Mobilfunkstandards wenig von der "Masse" unter die Lupe genommen
- Einige Fehler müssen sowohl beim Hersteller als auch auf Netzebene behandelt werden
- NTT DOCOMO: http://www.nttdocomo.co.jp/english/
- NTT DOCOMO Ausfälle: http://www.geek.com/mobile/ntt-docomo-asks-google-to-limit-android-data-use-1463313/ http://www.techinasia.com/docomo-outage-line/
C, Java, NeXT, WebObjects, Erlang… (00:19:35)
- Mateus hat mit C im jungen Jahren angefangen - Basti hat mit BASIC angefangen: 1 : 00 ;-)
- Wir machen einen Ausflug durch diverse Programmiersprachen und Umgebungen, die NeXT und Apple durchgemacht haben
- Mateus hat während seiner Ausbildung bei T-Systems Erlang programmiert
- Ruby wurde irgendwann zu Mateus' Hobby
- PyObjC: http://pythonhosted.org/pyobjc/
- RubyCocoa: http://rubycocoa.sourceforge.net/
- Wir rätzeln, seit wann Ruby in OS X dabei ist
- Der Ruby-Guy bei Apple war Laurent Sansonetti (@lrz)
- Apple Scripting Bridge: https://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/ScriptingBridgeConcepts/Introduction/Introduction.html
MacRuby & RubyMotion (00:27:30)
- Bertrand Serlet: http://en.wikipedia.org/wiki/Bertrand_Serlet
- Bertrand Serlet basht Windows Vista https://www.youtube.com/watch?v=n9UPhwmjJ-Y
- Laurent ist zu Bertrand gegangen und hat vorgeschlagen Ruby auf der Objective-C Runtime laufen zu lassen
- Das war der Anfang von MacRuby: http://macruby.org/
- Es stand im Raum, ob Apple nicht MacRuby für das iPhone verfügbar machen wird (das war 2008)
- ABER: MacRuby ist Garbage Collected und es gibt und gab auf dem iPhone nie GC.
- Es wurde versucht MacRuby ohne GC zu bauen - nicht einfach
- Automatic Reference Counting: http://en.wikipedia.org/wiki/AutomaticReferenceCounting
- Garbage Collector in OS X 10.8 ist deprecated
- Laurent Sansonetti gründet 2012 eine Firma und präsentiert: RubyMotion: http://www.hipbyte.com http://www.rubymotion.com/
- RubyMotion ist MacRuby mit ARC für iOS! Kommerzielle Lizenz, kostet ~150 EUR
- Wir rekapitulieren: RubyCocoa, MacRuby, RubyMotion
- RubyMotion gibt es auch für Mac
- Shizuo @watson1978 Fujita arbeitet zusammen mit Laurent an MacRuby und RubyMotion
- ARC bei Objective-C wird zur Compile-Zeit gemacht
- MacRuby wird auch kompiliert, mit LLVM
- Bindings machen Probleme bei MacRuby und RubyMotion
- Blocks in Ruby sind Closures (http://en.wikipedia.org/wiki/Closure(computerscience)) und sind sehr schwer in MacRuby zu implementieren
- Weak Reference: http://en.wikipedia.org/wiki/Weak_reference
- Es gibt WeakRef in Ruby! http://www.ruby-doc.org/stdlib-2.0/libdoc/weakref/rdoc/WeakRef.html
- Ruby Binding: http://www.ruby-doc.org/core-2.0.0/Binding.html
- How to Marshal Procs Using Rubinius: http://yehudakatz.com/2011/11/19/how-to-marshal-procs-using-rubinius/
- Kernel#eval ist in RubyMotion nicht verfügbar, weil das die AppStore Richtlinien nicht erlauben
- Ansonsten geht alles in RubyMotion, inkl. REPL
- Im Laufzeitverhalten sind RubyMotion Anwendungen ohne Unterschied zu Anwendungen in Objective-C
- Das Kompilat ist grundsätzlich nicht voneinander zu unterscheiden
Objective-C Runtime (01:08:00)
- Objective-C Runtime ist noch nicht so weit wie die JVM mit unterstützten Sprachen, aber es gibt trotzdem einiges
- Nu: http://programming.nu/
- F-Script: http://www.fscript.org/
- eero: http://eerolanguage.org/
- Es war wahrscheinlich nicht von Anfang so gedacht, aber das Design lässt es sehr gut zu
- Damals sollte auf OpenStep (https://en.wikipedia.org/wiki/OpenStep) Java laufen
- Es gibt ein GNUStep (http://www.gnustep.org/) basiertes System, dass sich mit Smalltalk programmieren lässt (http://etoileos.com/etoile/)
Probleme mit RubyMotion (01:12:45)
- Bis vor kurzem gab es noch viele Probleme mit Blöcken in Bezug auf Speicherlücken
- Für Ruby-Entwickler sind Blöcke absolut normal und werden überall verwendet
- Viele Bugs sind entdeckt worden bei der (falschen) Verwendung von CoreData (https://en.wikipedia.org/wiki/Core_Data)
- Wichtig ist, CoreData ist keine Datenbank, aber man kann dort Objekte ablegen
- CoreData ist sehr mächtig und nicht leicht zu verstehen
- Da CoreData ein Teil von iCloud-Sync ist, führt dass dazu das iCloud-Sync oft nicht richtig umgesetzt ist
- RubyMotion ist nicht Ruby, sondern ein Dialekt von Ruby
- Beispiel ist, dass man mit der Block-API von Objective-C interagieren muss
- Named Arguments sind verhalten sich unterschiedlich
- In Objective-C sind die Named-Arguments Teil des Methodenname
- Die großflächige Verwendung von Named-Arguments wird sich in Ruby noch etwas hinziehen
- Wenn man für iOS entwickeln will, aber keine Lust auf Objective-C hat, dann macht man was falsch
- Dokumentation ist in Objective-C und die Laufzeitumgebung mit all ihren Eigenheiten ist eben auch Objective-C
- Aber: RubyMotion ist nach Mateus die beste Möglichkeit Objective-C zu lernen
- RubyMotion ist sehr viel kompakter als Objective-C, daher die bevorzugte Umgebung von Mateus
Apple iPhone Event (01:30:20)
- Wir wollen keine goldenen iPhones
- Event war leider nicht live
- Im Home-Office-Cologne gab es Rudelgucken mit Tippspiel
- Enttäuschung, dass es keine Mac News gab
- Wieder kein AppleTV SDK :-)
- iPhone ist so wichtig, dass nichts parallel vorgestellt wird
- Aber: Mavericks und Mac Pros werden kommen, aber ohne Event ist der Mac Pro eher unwahrscheinlich
- Neue iPads und iPods stehen auch noch aus, aber dafür lohnt sich auch ein eigenes Event
- Eigentlich haben sie Material für noch 2 Events
- Dirk wünscht sich ein AppleTV mit SDK und der Möglichkeit einen Playstation Controller anzuschließen
- Der Coup des Jahres wäre eine AppleTV Spieleconsole
- iPhone/iPod als Controller für Spiele inkl. Secondscreen
- Wir gehen nicht davon aus, dass Apple einen eigenen Controller bauen wird/kann
- Am Anfang noch vorsichtig im Bereich, in letzter Zeit wird das ganze sehr ernsthaft verfolgt, Stichwort: Grafikleistung und OpenGL 3
- In Bezug auf Independent-Spiele ist Apple bereits da wo Microsoft und Sony gerne hinmöchten
- Das Event war das Ende der Ära Steve Jobs und der Beginn der Ära Jony Ive
- Basti findet das "non" lustig ist, wenn die Löcherhülle auf dem 5C ist (https://www.apple.com/iphone-5c/design/images/casesgallerywhitewhite2x.png)
- Die Position des iPhone 5C ist noch unklar
- Weder ein Billig-Phone
- Gute Leistungsdaten
- Es ist aber bunt
- Basti sagt nach wie vor, Apple hat es nicht nötig ein Billig-iPhone zu bringen
- Unterschied momentan ist die Qualität der Anwendungen
- Hintergrund wird nicht sein, mehr Umsatz über iPhones zu machen, sondern iOS weiterzuverbreiten
- Das 'C' steht wahrscheinlich für 'Color' und nicht 'Cheap' ;-)
- Wir warten weiterhin auf das 4k-Display…
Kommentare
Neuer Kommentar