00:00:14.330
hi today I'd like to talk about mobile ubi it's my first english presentation
00:00:23.750
thank you nice to meet you I mutual
00:00:31.590
mercy I'm came from Tokyo please call me itchy my Twitter account and good akiha
00:00:38.489
account is message wife I didn't love the programming and lighting called
00:00:44.250
anytime anywhere now especially with Ruby language i am writing called any
00:00:55.260
time but my popular my most popular open
00:01:00.690
source product is PHP based NZ just do it pro ha japanese do be snowed as a
00:01:08.330
programmer fro means hot tub i'm called according while in the hot tub now i'm
00:01:18.119
working at japanese startup company week who is of rogue apps that had released
00:01:25.259
food photo sharing application for the iphone android but the application are
00:01:31.320
not built on mobile ubi their native application anti September I had worked
00:01:37.770
at observateur that it released a teeny mobile is javascript-based iphone and
00:01:44.430
android development framework but now i'm working on mobile v it's competitive
00:01:52.649
titanium over a movie ha mobile v is my private project it is not for business
00:02:00.439
mobile ruby is iphone application development environment built on em Ruby
00:02:05.780
you can create iOS application using Ruby em Ruby provides bridge between
00:02:13.420
and a movie you can make you can call native classes and functions instead of
00:02:19.450
objective-c currently mobility support iOS only but I have fun for the Android
00:02:26.950
version i confirmed am Ruby can learn on android devices i'm already deleted
00:02:34.120
mobile week based game application i have a demo frisky
00:02:48.689
so a pretty big okay
00:02:55.290
okay sorry
00:03:05.280
it's a mobile Louie based application it's already released in that i found
00:03:13.260
the ios app store it's a simple game it's very students as smooth animation
00:03:20.370
it's like native application
00:03:41.890
you can download this game from iOS App Store pre such mobile Ruby in da in the
00:03:49.930
store mov mov is the latest movie
00:03:55.150
implements by matts i had a movie first time at 2010 at that time it's called
00:04:02.250
library em em rupee is designed for embedded systems it means small memory
00:04:09.220
and modular modular structure em ruby is more compact sang as a Looby implements
00:04:17.130
OS 10 m Ruby binary is round 406 kilobytes but Sylvie is over 2 megabytes
00:04:26.700
American even smaller a movie has modular structure if you want remove
00:04:32.919
mast library you can you can remove it easily so a movie support multiple
00:04:40.180
virtual machines Sylvie does not support yet instead M ruby has many limitations
00:04:47.680
em ruby is built on is all specifications it means M Ruby does not
00:04:54.070
support sled and many classes almost all Ruby standard libraries are not
00:05:00.340
supported so Louie James is not supported as a supported and M Ruby
00:05:08.860
still alpha bedroom sometimes I found em Ruby bugs what will be provided to be
00:05:17.770
power to the mobile devices especially mobile phone do you know during a wax
00:05:23.590
works is WX how what is rua based iphone
00:05:29.950
application to chain development to change samee removal ubi rule is a
00:05:35.770
popular language allowed embedded systems the syntax near action spricht
00:05:43.680
works was born about three years ago but it is not popular yet why the code is
00:05:51.789
lower engage I think they're their bridge bridge library is
00:05:57.500
one of Guru language does need a powerful language support i think rua
00:06:04.010
does not have enough dynamic programming capability metaprogramming is most
00:06:10.370
important more most powerful capability in rubies rubies metaprogramming can
00:06:16.400
make good lapping native libraries and make dsl for iOS hello world hello world
00:06:27.590
called iOS developer can understand this sample code it's really similar
00:06:34.610
objective-c in half of first half the
00:06:42.800
code defined the new cross my art bill done inherited from you I ought to be a
00:06:48.680
coke across and define new delegate methods to define method M ruby has not
00:06:56.990
sup support keyword argument yet it to point of a feature and M Ruby's hash is
00:07:04.070
not ordered it as same as a ruby 1.8 my
00:07:11.390
alert view defined on Ruby code it's ludicrous and objectivity grass Ruby and
00:07:18.830
objective-c both side can touch my alert view class in second half create my art
00:07:27.590
view instance and show these art box then call when you call objective-c
00:07:35.210
method you need start underscores as a slide shots uncontrollable if you want
00:07:43.100
to iOS application on movie TV you need to understand objective-c and the cocoa
00:07:48.950
libraries is it nonsense I think so too
00:07:54.490
I'm aiming for the disco or next version it looks like a true read Ruby code it's
00:08:01.130
not a similar Objective C octave recalled loved SQL
00:08:07.480
and provide good tsf to Ruby programmers so mobile ubi will up the cocoa
00:08:13.980
libraries and good dsl to Ruby programmers but I've at first I focus to
00:08:21.730
make cocoa bridge on a movie its fourth base line of mobile Ruby after that I
00:08:27.670
will make creating new api's I will talk
00:08:34.390
about mobile be internal mobility has made up five components at first a movie
00:08:40.960
is main components of mobile UV it was patched and some configuration changed
00:08:47.470
and second component is a movie see Frank it's an interface with c function
00:08:55.300
and am Ruby a movie see Frank provide an interface to M Ruby and sea level
00:09:02.980
functions it's same as the BDL library on see Ruby the code the code cords a
00:09:12.310
put c function from louie in tannery its combat do big swing to c string look up
00:09:19.600
puts function pointer to sorry look up put function pointer and the course of
00:09:26.800
function a movie can call all c function without specific extensions this
00:09:33.460
component is independent for EM Ruby WV if you want use it you can you can use
00:09:42.160
it sound component is improving Coco it's an interface to the objective stick
00:09:49.870
and Coco libraries I'm Ruby Coco is a bridge for Coco libraries which is the
00:09:57.820
iOS and OS 10 framework this library provided transparency communication with
00:10:04.840
am Ruby and Coco libraries em Ruby sorry
00:10:10.000
I'm Ruby Coco provide create a new class create new instance of cocoa class on em
00:10:16.240
Ruby you can also inherited from existing cocoa class on
00:10:21.430
Ruby in area of hello world example we inherited from you I add view from a to
00:10:28.930
my art view you attribute is a across and my Arab you defined in Ruby
00:10:36.660
cocoa and cocoa and ludacris can man create transparency natural interface
00:10:43.860
delegation and broke functions supported in this library in this library the
00:10:51.550
hardest part is a memory management objective c use difference counting and
00:10:58.260
am really use a mark and zip it's a different it's hot it's hard to free
00:11:06.940
object comp collector e in both environment now all objectivity classes
00:11:14.140
deletes method over later it's awful bottleneck for them for the performance
00:11:22.620
it affect all object thuds are included
00:11:28.330
and not related with a moving object each still have a problem that it cannot
00:11:36.550
detect the circular reference i will fix some some future probably i will delight
00:11:44.260
in a temporal first component is mobile
00:11:49.810
UV common it's for future ladies when we did it android version this library
00:11:57.550
provides common utt among iOS and Android bathroom can't currently it
00:12:03.550
provides require the choir and the road method or a standard em Ruby does not
00:12:09.459
support required and the load methods a rest component is Moby Ruby iOS mobile
00:12:18.339
Ruby iOS is the main part of the mobile Ruby it provides iOS specific utility
00:12:25.690
that are included xcode integration in the first version this component is poor
00:12:33.300
I don't know xcode I don't know xcode deeply I need to help about X coding
00:12:40.310
integration in the future mobi rupee will provide good lapa ap is it has some
00:12:50.100
compatibility between iOS and Android when you when you use third ap aight you
00:12:57.750
can use cocoa aps at the same time and load map I don't have detailed plan so
00:13:06.870
it's my private project I don't have a boss and management section I am I am
00:13:13.079
fast product label button until end of first quarter of the next year this
00:13:19.470
version support almost all objectives she futures I plan to start writing API
00:13:27.209
and tutorial documents after that I will touch next version it will have a lap
00:13:34.170
the FBI so you can call in Looby style
00:13:43.220
current status I already do this the mobile ubi game upper never rejected
00:13:49.410
this application in September I finally released mobile the alpha version it's a
00:13:55.260
first public version I'm keeping to update now I focus to lighting test code
00:14:01.740
until recently I like a lot a few tests re i start i used 12 ECI from two weeks
00:14:12.690
ago I think mobile luby's hardest part is red because mm Ruby does not suppose
00:14:21.000
that I load limited sled future and testing now currently mobile ruby is not
00:14:31.260
for ordinary Ruby programmers it's for EM Ruby and cocoa Jacques if you know of
00:14:38.630
objective-c and have interest to them in a movie please join to the diss my
00:14:45.209
project now i have three frequency equations
00:14:52.670
it's big question is the first question first question is the first different
00:14:59.519
from the Ruby motion Ruby motion is Arab oil based and the compiler to native
00:15:06.449
code it's only for the iOS about mobile
00:15:11.699
ubi will this Android bathroom and will be emotionally extended Ruby syntax and
00:15:18.800
the B motion is not open source will be
00:15:24.240
motion and mobile Ruby maybe we have a same goal but approach is very different
00:15:32.300
if you if we want makes a person i recommend to use Ruby motion it's stable
00:15:40.499
and faster than current mobile UV and second question can i use Ruby gems no M
00:15:49.199
Ruby does not have compatibility with Cee Cee Lo extension api's you need to
00:15:56.639
lighten II extension home m Ruby Bobby and matt has a discuss about em Ruby's
00:16:03.600
bajando be gems and at the third question can i use existing cocoa
00:16:10.589
libraries yes you can use almost all existing libraries I think cocoa pod
00:16:17.550
will be a good partner Coco Coco coco pots is a library manager for the Xcode
00:16:25.459
if you have more questions free to this
00:16:31.290
account mobile UV and post the github issues I really want a team mate
00:16:41.120
currently I'm are wrong if you have interest to this project please contact
00:16:47.399
two priests contacts to me thank you very much
00:18:00.000
hello everyone and the second part is a
00:18:05.260
title is M Ruby meet at eos autos a
00:18:10.470
first of all let us introduce observers hey I'm massage takahashi oh sorry I'm
00:18:19.780
massage takahashi and lobbyists and web application developer evil publisher and
00:18:26.260
the founder of nihon divino chi Japan regroup and I'm sorry but I'm not
00:18:32.350
embedded guide i'm very new before and it was and my name is Yuri your money
00:18:41.380
I'm holy programa though I intelligent and very system okay a before toast we'd
00:18:57.310
like to ask you some questions please
00:19:02.980
raise your hand I've used adios autos who a one two three four five six thank
00:19:11.110
you about 10 people and please raise your hand I loved I always they're not
00:19:17.320
interested in a bit so much I don't mind okay no problem thank you very much i
00:19:24.880
love iOS too so at today's topics here
00:19:31.860
what emitted systems and in showing a demo and explain how to use em Ruby with
00:19:38.740
Otto's a primal for I'm afraid of this
00:19:47.440
talk as you aware i'm not though I don't
00:19:54.910
talk well I can't talk well and the a
00:20:05.690
exit sorry so a no tox might be tired
00:20:10.879
and boring so we can change the title new title is who moving for ninjas thank
00:20:21.919
you I think emitted systems are very
00:20:27.620
different with for example web application and enterprise the systems if web application and apologize systems
00:20:36.019
are like some lights and embedded systems are like ninja injured we know
00:20:41.629
ninja some light is playing the leading
00:20:51.110
role and the powerful soldier and they are in front and the very remarkable MHC
00:21:00.769
seems very different as they are playing the supporting law and the austere
00:21:07.129
soldier and they're behind and they control others control other things so
00:21:16.330
even if movie is widely in some right word same robe is not might not be fit
00:21:23.720
to ninjas well I think if it we saw what
00:21:33.019
need of ended system or a water ninjas rules its main purpose of immune systems
00:21:39.740
are controlling other devices a subtract sensors and actuators and the very
00:21:50.360
important need of amulets system and its Ruby hidden as much as possible in other
00:21:57.409
words they should consume less resources the resources here are not only space
00:22:03.379
but also times a time is resources 08
00:22:12.830
immune systems are widely spaced around us a for example digital cameras a
00:22:20.600
microwave ovens a B vending machines automobiles a traffic signals they be
00:22:29.910
used in embedded systems many ninjas are hidden behind our daily life is we'd
00:22:37.740
like to use em Ruby with them eh but we
00:22:52.140
make a p dot yeah we make a simple a
00:22:59.190
movie demos quick now hey here is a demo
00:23:07.680
hardware we use food it fm3 microcontroller aboard a US m ruby
00:23:16.350
system hey its core is a arm cortex m3
00:23:21.900
and it has a 128 kilobytes lamp and one
00:23:28.410
megabyte long it can be connected to pc on co and it has small LED the
00:23:42.990
application in this demo has two tasks the first tasks is M will be interactive
00:23:48.780
shell like i lv you can send a memo be
00:23:54.990
called from pc to the board then we would evaluate the code and respond
00:24:00.300
delayed dissolved a thrill CEOs the second test is bringing a eat ask the
00:24:07.020
board has hardware clock so the task use it and turn on and turn off the LED at
00:24:15.240
intervals of 1 seconds per 1 seconds so let's try the demo
00:24:48.290
now we're preparing a video device and a
00:24:58.870
co speedo and me I did so I think models
00:25:09.280
hey hey okay a comment about
00:25:25.380
this is a console on any movies initialization is dumped in don't a
00:25:40.300
this is both of us and this is a boat
00:25:47.880
thank you this is arm chip and this is
00:25:56.260
LED blinking now endo e oops sorry
00:26:14.400
p I and now have type A equals one and a
00:26:24.190
be equal to a plus p equal three and the
00:26:34.210
finish your method a day food and a in
00:26:42.989
Davos so a 2 3 is 9 and 4 10 is 100 okay
00:26:57.519
it works
00:27:10.230
right
00:27:23.030
latest our requirement first blinking LEDs cyclically second passing and
00:27:33.640
coordinating from my code at good inland
00:27:38.900
time sod CL communication without roasting data we should explain the
00:27:49.180
priority of tasks each task has a priority and if an updated task has
00:27:57.410
higher priority the lower priority task must become waiting immediately it's
00:28:05.030
important that led blinking task has higher priority item a movie task Rishi
00:28:15.680
cyclic blinking blinking task edit ability task is activated at livia
00:28:22.850
intervals after turning on or turning of the LED the task is terminated the
00:28:34.580
interactive MV task when the LED task is
00:28:40.580
activated the status is saved when l dt task is dominated my v task is running
00:28:50.110
Emily task is continent if a task are interrupted at all star system is suited
00:29:00.380
to certify taught these requirements
00:29:07.990
altos tesco system with us sorry there
00:29:15.710
are many others in the world but reaches tapas SP for our system tapas SP is an
00:29:24.110
open source real-time operating system its lessons is like PSD style and its
00:29:31.880
code is based on my micro item specification I did i disturb us all dinner in
00:29:40.730
television model the first kinase has
00:29:46.100
many variants please use tapas SP because it's the standard profile of
00:29:53.780
tapas alto scanners now change to speak
00:30:01.400
out okay and now we explain the eggs
00:30:09.610
implementation of the system and let's show the see the component of our system
00:30:18.920
a do is a timer LED and co a we use them
00:30:28.850
with two plus one tasks the main task activate and will be task and editors
00:30:35.380
after that main task is sleeping in
00:30:42.220
topples you can write your application with three files a civilized and hit a
00:30:49.970
virus and computer CFG file configuration files of toppers
00:30:57.430
configuration files defined tasks and other things with this file you can
00:31:04.730
locate the memory of tasks statically study curly and statically memory
00:31:11.810
allocation is important for embedded systems then we talk about very basic of
00:31:21.880
Ruby tonos the NT of my bbm is a struct
00:31:30.230
struct MLB state this and the function
00:31:35.300
Emma be open generate a vm and it's finished with the function Emma be
00:31:41.510
closed in all the most we use puzzle and
00:31:47.960
code generator but it's option optional when you use
00:31:53.719
compiled code you don't need puzzle and code generator but you want to you want
00:32:01.369
to do like this demo you must include them in this is the digest of the demo
00:32:10.669
code hey jay king context and generating
00:32:19.489
under enjoys puzzle and passing do be called a generating white coat and write
00:32:25.669
the bytecode and and evaluating it
00:32:39.110
but 100 qoy to alarm is too small for a
00:32:44.129
movie so we need to dye it so we use
00:32:49.860
three way to shrink our lamb thighs modify including MLB conf dot H and a
00:32:56.429
applying symbol of our a part and shrinking my video first a modifying
00:33:05.370
including MLB conf dot H file this file
00:33:10.590
use a macro definition to configure a movie subtract em avi use fold em Emily
00:33:19.799
Franco log 3 marks and others and so on
00:33:25.460
we use a treatment close to reduce a our
00:33:32.519
memories the second way is applying
00:33:38.009
symbols are a part a symbol in a blue B are implemented with a hush data
00:33:44.009
structure so our punch ain't to use re
00:33:49.309
instead of hush to reduce memory use the
00:33:58.590
soul is a shrinking my belief my belief is a movie standard library written in
00:34:06.330
blue be a so you can remove it to deduce
00:34:12.599
from hey by the way it is on emulator of
00:34:20.129
FMT board the America is a qemu qm patched version with DUI in Java you can
00:34:29.639
download them on the net from this teeth URL so the conclusion you can use em
00:34:40.800
loopy with our toes a whale and a we hope these talks helps your MLB life
00:34:47.149
thank you so much i loved i'ma start