Geekstammtisch

Geekstammtisch

Das heimelige Nerdgespräch über Webentwicklung, Ruby/Rails und mehr

GST023 - The NeXT Episode

Audio herunterladen: MP3 | AAC | OGG | OPUS

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