SlideShare a Scribd company logo
1 of 35
Download to read offline
Mars
                               Just another world

jueves 21 de octubre de 2010
Mars
                               Just another world

jueves 21 de octubre de 2010
Who I am?




jueves 21 de octubre de 2010
Who I am?


                               I really don’t know (yet)




jueves 21 de octubre de 2010
Once upon a time...




                               There was Squeak...

jueves 21 de octubre de 2010
jueves 21 de octubre de 2010
...and Squeak had a lot of colors
                (yes... many people like them... just
                              not me)




jueves 21 de octubre de 2010
...and other not so good
                       things
                    • no good keybinding and manual handling of
                          tools.
                    • no cool widgets (like trees, etc.)
                    • no native user interface (of course, not
                          Polymorph either)




jueves 21 de octubre de 2010
Then came Pharo!


                                       A profesional
                                       open-source
                                         Smalltalk




jueves 21 de octubre de 2010
jueves 21 de octubre de 2010
Pharo has good UI
                            improvements
                • With time, it incorporates
                 • Polymorph!
                 • A good set of key binds (like cmd+w,
                          finally!)
                • ...and most of this changes are now on
                      Squeak too.



jueves 21 de octubre de 2010
jueves 21 de octubre de 2010
So, why Mars?

                • Because native applications rocks
                 • The mac experience matters
                 • We should be able to produce that
                          experience using Pharo.




jueves 21 de octubre de 2010
And what’s Mars?

                An model, view, controller user interface
            framework for building native applications for the
                        OSX, iPhone and iPad




jueves 21 de octubre de 2010
Architecture in a slide


                • Cocoa/CocoaTouch
                • The ObjectiveCBridge
                • Model,View, Controller


jueves 21 de octubre de 2010
The bridge




jueves 21 de octubre de 2010
Objective-C bridge


                • Made by John McIntosh
                • Present by default in all the latest vm builds
                • Used on real applications for the iPhone


jueves 21 de octubre de 2010
Objective-C bridge
                • An object in Pharo forward mesages to
                      Objective-C
                • A proxy in Objective-C side interacts with a
                      correspondent object in Pharo side.
                • Everything is handled by semaphores waiting
                      to do something, at both sides
                    • Yes, the coordination of that interaction is
                          tricky, but the bridge does that for us.


jueves 21 de octubre de 2010
The architecture




jueves 21 de octubre de 2010
Architecture:View
                •     As said, any control has it’s corresponding ObjectiveC
                      object.
                    •     Everything is inside an Application
                    •     Everything is
                         •     a Window,
                         •     a child of a Window, or
                         •     a Dialog
                    •     There are lot’s of controls already made, and more to
                          come



jueves 21 de octubre de 2010
Architecture: Controller
                • Mars handles it’s actions through callbacks
                      installed as a proxy between Pharo and
                      ObjectiveC
                • Any callback installed is a independent
                      process in Pharo side
                    • Yes, there are lots of processes if you run
                          Mars right now.



jueves 21 de octubre de 2010
Architecture: Model
                • It uses a standard “model” mechanism
                • For malleability, we can use
                      MRModelAdaptor
                    • It “borrows” something I saw in Dolphin.
                    • It is an adaptor for any model I need
                          (well... at least any model I needed, but I
                          can grow it later)


jueves 21 de octubre de 2010
Really small demo




jueves 21 de octubre de 2010
Problems




jueves 21 de octubre de 2010
Problems found

                • The “dead lock” problem
                 • Changed by changing the VM structure
                • But now there are other problem: no
                      scheduled proccess
                    • Being worked on by John and Eliot.
                          Thanks!



jueves 21 de octubre de 2010
The future




                               Texto




jueves 21 de octubre de 2010
Next steps
                       Make it work, make it right, make it fast


                • We are still someplace between “make it
                      work” and “make it right”... but we will
                      succeed! (and very soon)
                • Needs testing (Maybe with FScript)
                • Needs documentation
                • Last minute addition: MRNibObject
jueves 21 de octubre de 2010
Far next steps


                • Mars for Linux and Windows?
                 • There are design issues, and abstraction
                          layers are never a good idea (IMHO)




jueves 21 de octubre de 2010
I would like to see... (1)
                Modular pharo in a standard (and/or Cog) VM


                    Standard VM   MarsPlugin




                                                    MarsWorld

                    PharoKernel     Mars

                                                  Other packages




jueves 21 de octubre de 2010
I would like to see (2)

                • The “great and unique and fantastique tool
                      rebuilding call”
                    • Our tools are most of the times old
                    • And our tools are always ugly
                    • Yes, it is an heresy... but a needed one.

jueves 21 de octubre de 2010
Where is Mars?
                           http://www.squeaksource.com/Mars


                        http://code.google.com/p/marsonpharo



                 http://groups.google.com/group/marsonpharo



jueves 21 de octubre de 2010
Where is Mars?
                           http://www.squeaksource.com/Mars
                           (lots of garbage there, so be careful)

                        http://code.google.com/p/marsonpharo



                 http://groups.google.com/group/marsonpharo



jueves 21 de octubre de 2010
Where is Mars?
                           http://www.squeaksource.com/Mars
                           (lots of garbage there, so be careful)

                     http://code.google.com/p/marsonpharo
                    (Nothing right now there, but binaries and
                      oneclicks will be there in the future)

                 http://groups.google.com/group/marsonpharo



jueves 21 de octubre de 2010
Where is Mars?
                           http://www.squeaksource.com/Mars
                           (lots of garbage there, so be careful)

                     http://code.google.com/p/marsonpharo
                    (Nothing right now there, but binaries and
                      oneclicks will be there in the future)

                http://groups.google.com/group/marsonpharo
               (No trafic, but specific questions and etc. can be
                                  sent there)

jueves 21 de octubre de 2010
Questions?




jueves 21 de octubre de 2010

More Related Content

What's hot

Sharing content between hippo and solr
Sharing content between hippo and solrSharing content between hippo and solr
Sharing content between hippo and solrJettro Coenradie
 
Realities of Mainlining -- Case of the TOMOYO Linux project
Realities of Mainlining -- Case of the TOMOYO Linux projectRealities of Mainlining -- Case of the TOMOYO Linux project
Realities of Mainlining -- Case of the TOMOYO Linux projectToshiharu Harada, Ph.D
 
Debugging your JavaScript
Debugging your JavaScriptDebugging your JavaScript
Debugging your JavaScriptDiogo Antunes
 
Ops for Developers
Ops for DevelopersOps for Developers
Ops for DevelopersMojo Lingo
 
Jeff mc cune sf 2010
Jeff mc cune sf 2010Jeff mc cune sf 2010
Jeff mc cune sf 2010Puppet
 
Advanced android
Advanced androidAdvanced android
Advanced androiddonnfelker
 
Successful development without QA
Successful development without QASuccessful development without QA
Successful development without QAPavel Gabriel
 
Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_studentsScott Motte
 
Pythonic APIs - Anthony Baxter
Pythonic APIs - Anthony BaxterPythonic APIs - Anthony Baxter
Pythonic APIs - Anthony Baxterknappt
 
Ruby on Windows (RubyConf.tw 2011)
Ruby on Windows (RubyConf.tw 2011)Ruby on Windows (RubyConf.tw 2011)
Ruby on Windows (RubyConf.tw 2011)Ming-hsuan Chang
 
Introduction to jQuery :: CharlotteJS
Introduction to jQuery :: CharlotteJSIntroduction to jQuery :: CharlotteJS
Introduction to jQuery :: CharlotteJSgjj391
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.jsTroy Miles
 

What's hot (14)

Rapid Prototyping
Rapid PrototypingRapid Prototyping
Rapid Prototyping
 
Sharing content between hippo and solr
Sharing content between hippo and solrSharing content between hippo and solr
Sharing content between hippo and solr
 
Realities of Mainlining -- Case of the TOMOYO Linux project
Realities of Mainlining -- Case of the TOMOYO Linux projectRealities of Mainlining -- Case of the TOMOYO Linux project
Realities of Mainlining -- Case of the TOMOYO Linux project
 
Debugging your JavaScript
Debugging your JavaScriptDebugging your JavaScript
Debugging your JavaScript
 
Ops for Developers
Ops for DevelopersOps for Developers
Ops for Developers
 
Jeff mc cune sf 2010
Jeff mc cune sf 2010Jeff mc cune sf 2010
Jeff mc cune sf 2010
 
Advanced android
Advanced androidAdvanced android
Advanced android
 
Successful development without QA
Successful development without QASuccessful development without QA
Successful development without QA
 
Presentation to wdim_students
Presentation to wdim_studentsPresentation to wdim_students
Presentation to wdim_students
 
Pythonic APIs - Anthony Baxter
Pythonic APIs - Anthony BaxterPythonic APIs - Anthony Baxter
Pythonic APIs - Anthony Baxter
 
Oscon 2010
Oscon 2010Oscon 2010
Oscon 2010
 
Ruby on Windows (RubyConf.tw 2011)
Ruby on Windows (RubyConf.tw 2011)Ruby on Windows (RubyConf.tw 2011)
Ruby on Windows (RubyConf.tw 2011)
 
Introduction to jQuery :: CharlotteJS
Introduction to jQuery :: CharlotteJSIntroduction to jQuery :: CharlotteJS
Introduction to jQuery :: CharlotteJS
 
Introduction to Node.js
Introduction to Node.jsIntroduction to Node.js
Introduction to Node.js
 

Viewers also liked

Unlocking value: museums and the web 09
Unlocking value: museums and the web 09Unlocking value: museums and the web 09
Unlocking value: museums and the web 09Europeana
 
Reunió famílies cicle mitjà 2016 2017
Reunió famílies cicle mitjà 2016 2017Reunió famílies cicle mitjà 2016 2017
Reunió famílies cicle mitjà 2016 2017Mercè Puig
 
MeeboMe Widget Instructions
MeeboMe Widget InstructionsMeeboMe Widget Instructions
MeeboMe Widget InstructionsPeter Thayer
 
Compliance In A Box Documentum Deployment Solution
Compliance In A Box Documentum Deployment SolutionCompliance In A Box Documentum Deployment Solution
Compliance In A Box Documentum Deployment Solutionairsch
 
Prehistoria 2
Prehistoria 2Prehistoria 2
Prehistoria 2joanmolar
 
Clearing Paper Jams
Clearing Paper JamsClearing Paper Jams
Clearing Paper JamsPeter Thayer
 
Archives in the Hadron Collider
Archives in the Hadron ColliderArchives in the Hadron Collider
Archives in the Hadron ColliderEuropeana
 
Delicious Linkroll Instructions
Delicious Linkroll InstructionsDelicious Linkroll Instructions
Delicious Linkroll InstructionsPeter Thayer
 
Impact workshop glasgow
Impact workshop glasgowImpact workshop glasgow
Impact workshop glasgowEuropeana
 
PELÀEZ HERMANOS S.A
PELÀEZ HERMANOS S.APELÀEZ HERMANOS S.A
PELÀEZ HERMANOS S.Ajennynaranjo
 
110322 Social media för företag
110322 Social media för företag110322 Social media för företag
110322 Social media för företagPetter Kolseth
 
Projecte Educatiu del Centre
Projecte Educatiu del CentreProjecte Educatiu del Centre
Projecte Educatiu del CentreMercè Puig
 
Lite färsk omvärldsbevakning
Lite färsk omvärldsbevakningLite färsk omvärldsbevakning
Lite färsk omvärldsbevakningPetter Kolseth
 
Europeana Publishing Framework (Concept) at Culture Jam
Europeana Publishing Framework (Concept) at Culture JamEuropeana Publishing Framework (Concept) at Culture Jam
Europeana Publishing Framework (Concept) at Culture JamEuropeana
 
Meet Charlie Redux
Meet Charlie ReduxMeet Charlie Redux
Meet Charlie Redux倉博 胡
 
Mobiel leren: Another hype?
Mobiel leren: Another hype?Mobiel leren: Another hype?
Mobiel leren: Another hype?Rob Nadolski
 
Vår sköna nya (digitala) omvärld
Vår sköna nya (digitala) omvärldVår sköna nya (digitala) omvärld
Vår sköna nya (digitala) omvärldPetter Kolseth
 

Viewers also liked (20)

Unlocking value: museums and the web 09
Unlocking value: museums and the web 09Unlocking value: museums and the web 09
Unlocking value: museums and the web 09
 
Reunió famílies cicle mitjà 2016 2017
Reunió famílies cicle mitjà 2016 2017Reunió famílies cicle mitjà 2016 2017
Reunió famílies cicle mitjà 2016 2017
 
MeeboMe Widget Instructions
MeeboMe Widget InstructionsMeeboMe Widget Instructions
MeeboMe Widget Instructions
 
Compliance In A Box Documentum Deployment Solution
Compliance In A Box Documentum Deployment SolutionCompliance In A Box Documentum Deployment Solution
Compliance In A Box Documentum Deployment Solution
 
Prehistoria 2
Prehistoria 2Prehistoria 2
Prehistoria 2
 
Clearing Paper Jams
Clearing Paper JamsClearing Paper Jams
Clearing Paper Jams
 
Reading points
Reading pointsReading points
Reading points
 
Archives in the Hadron Collider
Archives in the Hadron ColliderArchives in the Hadron Collider
Archives in the Hadron Collider
 
Vida jaufre
Vida jaufreVida jaufre
Vida jaufre
 
Delicious Linkroll Instructions
Delicious Linkroll InstructionsDelicious Linkroll Instructions
Delicious Linkroll Instructions
 
Impact workshop glasgow
Impact workshop glasgowImpact workshop glasgow
Impact workshop glasgow
 
PELÀEZ HERMANOS S.A
PELÀEZ HERMANOS S.APELÀEZ HERMANOS S.A
PELÀEZ HERMANOS S.A
 
Reef - ESUG2011
Reef  - ESUG2011Reef  - ESUG2011
Reef - ESUG2011
 
110322 Social media för företag
110322 Social media för företag110322 Social media för företag
110322 Social media för företag
 
Projecte Educatiu del Centre
Projecte Educatiu del CentreProjecte Educatiu del Centre
Projecte Educatiu del Centre
 
Lite färsk omvärldsbevakning
Lite färsk omvärldsbevakningLite färsk omvärldsbevakning
Lite färsk omvärldsbevakning
 
Europeana Publishing Framework (Concept) at Culture Jam
Europeana Publishing Framework (Concept) at Culture JamEuropeana Publishing Framework (Concept) at Culture Jam
Europeana Publishing Framework (Concept) at Culture Jam
 
Meet Charlie Redux
Meet Charlie ReduxMeet Charlie Redux
Meet Charlie Redux
 
Mobiel leren: Another hype?
Mobiel leren: Another hype?Mobiel leren: Another hype?
Mobiel leren: Another hype?
 
Vår sköna nya (digitala) omvärld
Vår sköna nya (digitala) omvärldVår sköna nya (digitala) omvärld
Vår sköna nya (digitala) omvärld
 

Similar to Mars - ESUG 2010

Mobile, Media & Touch
Mobile, Media & TouchMobile, Media & Touch
Mobile, Media & TouchTim Wright
 
Concurrency
ConcurrencyConcurrency
Concurrencyehuard
 
Agile Enterprise Devops and Cloud - Interop 2010 NYC
Agile Enterprise Devops and Cloud - Interop 2010 NYCAgile Enterprise Devops and Cloud - Interop 2010 NYC
Agile Enterprise Devops and Cloud - Interop 2010 NYCChef Software, Inc.
 
Scaling webappswithrabbitmq
Scaling webappswithrabbitmqScaling webappswithrabbitmq
Scaling webappswithrabbitmqAlvaro Videla
 
Groovy to infinity and beyond - SpringOne2GX - 2010 - Guillaume Laforge
Groovy to infinity and beyond - SpringOne2GX - 2010 - Guillaume LaforgeGroovy to infinity and beyond - SpringOne2GX - 2010 - Guillaume Laforge
Groovy to infinity and beyond - SpringOne2GX - 2010 - Guillaume LaforgeGuillaume Laforge
 
Linked data and Muruca @ COST a32 - Munich
Linked data and Muruca @ COST a32 - MunichLinked data and Muruca @ COST a32 - Munich
Linked data and Muruca @ COST a32 - MunichChristian Morbidoni
 
Mastering Xcode 3
Mastering Xcode 3Mastering Xcode 3
Mastering Xcode 3Libin Pan
 
JamRTC @ Wonder WebRTC unConference
JamRTC @ Wonder WebRTC unConferenceJamRTC @ Wonder WebRTC unConference
JamRTC @ Wonder WebRTC unConferenceLorenzo Miniero
 
Day 1 slides UNO summer 2010 robotics workshop
Day 1 slides UNO summer 2010 robotics workshop Day 1 slides UNO summer 2010 robotics workshop
Day 1 slides UNO summer 2010 robotics workshop Raj Dasgupta
 
The Platypus Problem
The Platypus ProblemThe Platypus Problem
The Platypus ProblemJeff Eaton
 
Eclipse Virgo presentation at OSGi Users' Forum UK (27 Apr 2010)
Eclipse Virgo presentation at OSGi Users' Forum UK (27 Apr 2010)Eclipse Virgo presentation at OSGi Users' Forum UK (27 Apr 2010)
Eclipse Virgo presentation at OSGi Users' Forum UK (27 Apr 2010)mfrancis
 
Groovy 1 7 Update, past, present, future - S2G Forum 2010
Groovy 1 7 Update, past, present, future - S2G Forum 2010Groovy 1 7 Update, past, present, future - S2G Forum 2010
Groovy 1 7 Update, past, present, future - S2G Forum 2010Guillaume Laforge
 
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP GroupDeveloping Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Groupminddog
 
Plone Conference 2010 – Where we go from here
Plone Conference 2010 – Where we go from herePlone Conference 2010 – Where we go from here
Plone Conference 2010 – Where we go from hereEric Steele
 
Lessons Learned from CityOpenSource
Lessons Learned from CityOpenSourceLessons Learned from CityOpenSource
Lessons Learned from CityOpenSourceMarco Montanari
 

Similar to Mars - ESUG 2010 (20)

Mobile, Media & Touch
Mobile, Media & TouchMobile, Media & Touch
Mobile, Media & Touch
 
Concurrency
ConcurrencyConcurrency
Concurrency
 
Agile Enterprise Devops and Cloud - Interop 2010 NYC
Agile Enterprise Devops and Cloud - Interop 2010 NYCAgile Enterprise Devops and Cloud - Interop 2010 NYC
Agile Enterprise Devops and Cloud - Interop 2010 NYC
 
Cocoa for Scientists
Cocoa for ScientistsCocoa for Scientists
Cocoa for Scientists
 
Scaling webappswithrabbitmq
Scaling webappswithrabbitmqScaling webappswithrabbitmq
Scaling webappswithrabbitmq
 
Groovy to infinity and beyond - SpringOne2GX - 2010 - Guillaume Laforge
Groovy to infinity and beyond - SpringOne2GX - 2010 - Guillaume LaforgeGroovy to infinity and beyond - SpringOne2GX - 2010 - Guillaume Laforge
Groovy to infinity and beyond - SpringOne2GX - 2010 - Guillaume Laforge
 
Linked data and Muruca @ COST a32 - Munich
Linked data and Muruca @ COST a32 - MunichLinked data and Muruca @ COST a32 - Munich
Linked data and Muruca @ COST a32 - Munich
 
Mastering Xcode 3
Mastering Xcode 3Mastering Xcode 3
Mastering Xcode 3
 
JamRTC @ Wonder WebRTC unConference
JamRTC @ Wonder WebRTC unConferenceJamRTC @ Wonder WebRTC unConference
JamRTC @ Wonder WebRTC unConference
 
Agile or Fragile
Agile or FragileAgile or Fragile
Agile or Fragile
 
Day 1 slides UNO summer 2010 robotics workshop
Day 1 slides UNO summer 2010 robotics workshop Day 1 slides UNO summer 2010 robotics workshop
Day 1 slides UNO summer 2010 robotics workshop
 
The Platypus Problem
The Platypus ProblemThe Platypus Problem
The Platypus Problem
 
Eclipse Virgo presentation at OSGi Users' Forum UK (27 Apr 2010)
Eclipse Virgo presentation at OSGi Users' Forum UK (27 Apr 2010)Eclipse Virgo presentation at OSGi Users' Forum UK (27 Apr 2010)
Eclipse Virgo presentation at OSGi Users' Forum UK (27 Apr 2010)
 
Is these a bug
Is these a bugIs these a bug
Is these a bug
 
Check Please!
Check Please!Check Please!
Check Please!
 
Splash
SplashSplash
Splash
 
Groovy 1 7 Update, past, present, future - S2G Forum 2010
Groovy 1 7 Update, past, present, future - S2G Forum 2010Groovy 1 7 Update, past, present, future - S2G Forum 2010
Groovy 1 7 Update, past, present, future - S2G Forum 2010
 
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP GroupDeveloping Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
Developing Plugins on OpenVBX at Greater San Francisco Bay Area LAMP Group
 
Plone Conference 2010 – Where we go from here
Plone Conference 2010 – Where we go from herePlone Conference 2010 – Where we go from here
Plone Conference 2010 – Where we go from here
 
Lessons Learned from CityOpenSource
Lessons Learned from CityOpenSourceLessons Learned from CityOpenSource
Lessons Learned from CityOpenSource
 

More from Esteban Lorenzano

Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.Esteban Lorenzano
 
Tide - The missing web framework
Tide - The missing web frameworkTide - The missing web framework
Tide - The missing web frameworkEsteban Lorenzano
 
Smalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhoneSmalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhoneEsteban Lorenzano
 
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...Esteban Lorenzano
 
Seaside, El framework hereje
Seaside, El framework herejeSeaside, El framework hereje
Seaside, El framework herejeEsteban Lorenzano
 

More from Esteban Lorenzano (8)

Spec 2.0
Spec 2.0Spec 2.0
Spec 2.0
 
Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.Pharo: A roadmap to solid evolution.
Pharo: A roadmap to solid evolution.
 
Voyage by example
Voyage by exampleVoyage by example
Voyage by example
 
Tide - The missing web framework
Tide - The missing web frameworkTide - The missing web framework
Tide - The missing web framework
 
Voyage - PharoConf 2012
Voyage - PharoConf 2012Voyage - PharoConf 2012
Voyage - PharoConf 2012
 
Smalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhoneSmalltalk in the pocket - Building applications for the iPhone
Smalltalk in the pocket - Building applications for the iPhone
 
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
Cruzando Fronteras - Respuestas revolucionarias a la crisis de las web-applic...
 
Seaside, El framework hereje
Seaside, El framework herejeSeaside, El framework hereje
Seaside, El framework hereje
 

Recently uploaded

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticscarlostorres15106
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Mattias Andersson
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsRizwan Syed
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 3652toLead Limited
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Neo4j
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfngoud9212
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Mark Simos
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationSafe Software
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfAlex Barbosa Coqueiro
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr BaganFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024Lorenzo Miniero
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Scott Keck-Warren
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions
 

Recently uploaded (20)

Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmaticsKotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
Kotlin Multiplatform & Compose Multiplatform - Starter kit for pragmatics
 
Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?Are Multi-Cloud and Serverless Good or Bad?
Are Multi-Cloud and Serverless Good or Bad?
 
Scanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL CertsScanning the Internet for External Cloud Exposures via SSL Certs
Scanning the Internet for External Cloud Exposures via SSL Certs
 
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
Tech-Forward - Achieving Business Readiness For Copilot in Microsoft 365
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024Build your next Gen AI Breakthrough - April 2024
Build your next Gen AI Breakthrough - April 2024
 
DMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special EditionDMCC Future of Trade Web3 - Special Edition
DMCC Future of Trade Web3 - Special Edition
 
Bluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdfBluetooth Controlled Car with Arduino.pdf
Bluetooth Controlled Car with Arduino.pdf
 
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
Tampa BSides - Chef's Tour of Microsoft Security Adoption Framework (SAF)
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry InnovationBeyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
Beyond Boundaries: Leveraging No-Code Solutions for Industry Innovation
 
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptxE-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
E-Vehicle_Hacking_by_Parul Sharma_null_owasp.pptx
 
Unraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdfUnraveling Multimodality with Large Language Models.pdf
Unraveling Multimodality with Large Language Models.pdf
 
"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan"ML in Production",Oleksandr Bagan
"ML in Production",Oleksandr Bagan
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024SIP trunking in Janus @ Kamailio World 2024
SIP trunking in Janus @ Kamailio World 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024Advanced Test Driven-Development @ php[tek] 2024
Advanced Test Driven-Development @ php[tek] 2024
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
Pigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping ElbowsPigging Solutions Piggable Sweeping Elbows
Pigging Solutions Piggable Sweeping Elbows
 

Mars - ESUG 2010

  • 1. Mars Just another world jueves 21 de octubre de 2010
  • 2. Mars Just another world jueves 21 de octubre de 2010
  • 3. Who I am? jueves 21 de octubre de 2010
  • 4. Who I am? I really don’t know (yet) jueves 21 de octubre de 2010
  • 5. Once upon a time... There was Squeak... jueves 21 de octubre de 2010
  • 6. jueves 21 de octubre de 2010
  • 7. ...and Squeak had a lot of colors (yes... many people like them... just not me) jueves 21 de octubre de 2010
  • 8. ...and other not so good things • no good keybinding and manual handling of tools. • no cool widgets (like trees, etc.) • no native user interface (of course, not Polymorph either) jueves 21 de octubre de 2010
  • 9. Then came Pharo! A profesional open-source Smalltalk jueves 21 de octubre de 2010
  • 10. jueves 21 de octubre de 2010
  • 11. Pharo has good UI improvements • With time, it incorporates • Polymorph! • A good set of key binds (like cmd+w, finally!) • ...and most of this changes are now on Squeak too. jueves 21 de octubre de 2010
  • 12. jueves 21 de octubre de 2010
  • 13. So, why Mars? • Because native applications rocks • The mac experience matters • We should be able to produce that experience using Pharo. jueves 21 de octubre de 2010
  • 14. And what’s Mars? An model, view, controller user interface framework for building native applications for the OSX, iPhone and iPad jueves 21 de octubre de 2010
  • 15. Architecture in a slide • Cocoa/CocoaTouch • The ObjectiveCBridge • Model,View, Controller jueves 21 de octubre de 2010
  • 16. The bridge jueves 21 de octubre de 2010
  • 17. Objective-C bridge • Made by John McIntosh • Present by default in all the latest vm builds • Used on real applications for the iPhone jueves 21 de octubre de 2010
  • 18. Objective-C bridge • An object in Pharo forward mesages to Objective-C • A proxy in Objective-C side interacts with a correspondent object in Pharo side. • Everything is handled by semaphores waiting to do something, at both sides • Yes, the coordination of that interaction is tricky, but the bridge does that for us. jueves 21 de octubre de 2010
  • 19. The architecture jueves 21 de octubre de 2010
  • 20. Architecture:View • As said, any control has it’s corresponding ObjectiveC object. • Everything is inside an Application • Everything is • a Window, • a child of a Window, or • a Dialog • There are lot’s of controls already made, and more to come jueves 21 de octubre de 2010
  • 21. Architecture: Controller • Mars handles it’s actions through callbacks installed as a proxy between Pharo and ObjectiveC • Any callback installed is a independent process in Pharo side • Yes, there are lots of processes if you run Mars right now. jueves 21 de octubre de 2010
  • 22. Architecture: Model • It uses a standard “model” mechanism • For malleability, we can use MRModelAdaptor • It “borrows” something I saw in Dolphin. • It is an adaptor for any model I need (well... at least any model I needed, but I can grow it later) jueves 21 de octubre de 2010
  • 23. Really small demo jueves 21 de octubre de 2010
  • 24. Problems jueves 21 de octubre de 2010
  • 25. Problems found • The “dead lock” problem • Changed by changing the VM structure • But now there are other problem: no scheduled proccess • Being worked on by John and Eliot. Thanks! jueves 21 de octubre de 2010
  • 26. The future Texto jueves 21 de octubre de 2010
  • 27. Next steps Make it work, make it right, make it fast • We are still someplace between “make it work” and “make it right”... but we will succeed! (and very soon) • Needs testing (Maybe with FScript) • Needs documentation • Last minute addition: MRNibObject jueves 21 de octubre de 2010
  • 28. Far next steps • Mars for Linux and Windows? • There are design issues, and abstraction layers are never a good idea (IMHO) jueves 21 de octubre de 2010
  • 29. I would like to see... (1) Modular pharo in a standard (and/or Cog) VM Standard VM MarsPlugin MarsWorld PharoKernel Mars Other packages jueves 21 de octubre de 2010
  • 30. I would like to see (2) • The “great and unique and fantastique tool rebuilding call” • Our tools are most of the times old • And our tools are always ugly • Yes, it is an heresy... but a needed one. jueves 21 de octubre de 2010
  • 31. Where is Mars? http://www.squeaksource.com/Mars http://code.google.com/p/marsonpharo http://groups.google.com/group/marsonpharo jueves 21 de octubre de 2010
  • 32. Where is Mars? http://www.squeaksource.com/Mars (lots of garbage there, so be careful) http://code.google.com/p/marsonpharo http://groups.google.com/group/marsonpharo jueves 21 de octubre de 2010
  • 33. Where is Mars? http://www.squeaksource.com/Mars (lots of garbage there, so be careful) http://code.google.com/p/marsonpharo (Nothing right now there, but binaries and oneclicks will be there in the future) http://groups.google.com/group/marsonpharo jueves 21 de octubre de 2010
  • 34. Where is Mars? http://www.squeaksource.com/Mars (lots of garbage there, so be careful) http://code.google.com/p/marsonpharo (Nothing right now there, but binaries and oneclicks will be there in the future) http://groups.google.com/group/marsonpharo (No trafic, but specific questions and etc. can be sent there) jueves 21 de octubre de 2010
  • 35. Questions? jueves 21 de octubre de 2010