SlideShare a Scribd company logo
2
Most read
8
Most read
14
Most read
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 1
Cruiser:
A Tool to Package Pharo Applications
Vincent BLONDEAU
9/11/2018
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 2
►PhD: Test Selection Practices in a Large IT Company
►Post doc @ Lam Research:
Full stack team (Chris Thorgrimsson)
Who I am
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 3
All Begins with….
300 mm WaferThe Product
Single Chip
Source:IntelMuseum
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 4
Which Get Turned Into…
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 5
And Go Into Things Like This…
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 6
►We write the software that runs the machines
►We are responsible for infrastructure
Operational infrastructure
—The core set of code/libraries/frameworks that run the machines
Tooling infrastructure
—Tools for the developers
—CI: Jenkins
—SCM: Store, Git
—Test: Sunit, ATAC
What my Team Does
Java
JavaScript
Smalltalk
C/C++/C#
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 7
An Example Machine
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 8
►It is currently the leading Smalltalk “idea incubator”
If we like what we see, we will invest in porting
►Adopted by the Smalltalk academic & research community
Engagement with the academic community is vital
I am with Lam because of this engagement
►Pharo embraces opensource
If we commit to backing work in Pharo (or Squeak) we will commit to
making that work open
Lam Research does not use Pharo so why Pharo?
—Roassal
—IntelSoft
—GraphQL
—ObjectChanges
—Snowglobe
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 9
Packaging tool:
Where configurating and adding new features is easy
With the good Virtual Machine
Without writing to the file system
Without access to developers tools
Cruiser
A First Thing to do
Idea Executable
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 10
What does that do?
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 11
►List of actions for the packaging
►Actions grouped by topic:
Initialization
Copy
Configure
Cleaning Actions
User operations
Finalizing
►Based on the settings engine
Pragmas: no strong coupling
Actions are easy to create
How it Works
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 12
►Repository: https://github.com/VincentBlondeau/Cruiser
►Tested and working with
Windows
Pharo 7.0 (Beta)
How to use it?
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 13
An Example with the Pharo Launcher
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 14
►Cruiser
Package Pharo applications
—No write access
—No developer tools
Highly configurable
Fast deployment
Conclusion
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 15
►Integration inside the Pharo Launcher
►Support other platforms
►Solve new bugs due to the evolution of Pharo 7
►Avoid to use ProcessWrapper DLL
Implies no-blocking FFI multi-threading
►Add new features
Loading baseline and configurations
Copy Resources
Other ideas?
Future Work
Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 16
https://github.com/
VincentBlondeau/
Cruiser
Summary
Cruiser: A Tool to Package Pharo Applications

More Related Content

PPTX
Terraform Basics
PDF
How Fast is AI in Pharo? Benchmarking Linear Regression
PDF
Bloc for Pharo: Current State and Future Perspective
PDF
PharoJS: Hijack the JavaScript Ecosystem
PDF
Design Principles for a High-Performance Smalltalk
PDF
Infrastructure Deployment with Docker & Ansible
PDF
Artifactory Essentials Workshop on August 27, 2020 by JFrog
PDF
Introduction to Terraform and Google Cloud Platform
Terraform Basics
How Fast is AI in Pharo? Benchmarking Linear Regression
Bloc for Pharo: Current State and Future Perspective
PharoJS: Hijack the JavaScript Ecosystem
Design Principles for a High-Performance Smalltalk
Infrastructure Deployment with Docker & Ansible
Artifactory Essentials Workshop on August 27, 2020 by JFrog
Introduction to Terraform and Google Cloud Platform

What's hot (20)

PDF
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
PDF
Terratest
PPTX
Introduction to Agile-Scrum
PDF
Pub/Sub Temelleri, RabbitMQ ve Apache Kafka
PDF
Terraforming your Infrastructure on GCP
PDF
Basics of agile
PPTX
Infrastructure as Code Presentation v5.pptx
PDF
PPTX
Agile scrum fundamentals
PPTX
Meetup 23 - 03 - Application Delivery on K8S with GitOps
PPTX
Agile with slack
PDF
Kubernetes Networking with Cilium - Deep Dive
PPTX
Introduction to Scrum.ppt
PDF
Netflix in the cloud 2011
PDF
Integrating systems in the age of Quarkus and Camel
PPTX
Agile Retrospectives
PPTX
PDF
Metal³ – Metal Kubed, Bare Metal Provisioning for Kubernetes | Kim Bảo Long
PDF
Agile vs Waterfall | Difference between Agile and Waterfall | Edureka
PPTX
Westpac Bank Tech Talk 1: Dive into Apache Kafka
Who Is A DevOps Engineer? | DevOps Skills You Must Master | DevOps Engineer M...
Terratest
Introduction to Agile-Scrum
Pub/Sub Temelleri, RabbitMQ ve Apache Kafka
Terraforming your Infrastructure on GCP
Basics of agile
Infrastructure as Code Presentation v5.pptx
Agile scrum fundamentals
Meetup 23 - 03 - Application Delivery on K8S with GitOps
Agile with slack
Kubernetes Networking with Cilium - Deep Dive
Introduction to Scrum.ppt
Netflix in the cloud 2011
Integrating systems in the age of Quarkus and Camel
Agile Retrospectives
Metal³ – Metal Kubed, Bare Metal Provisioning for Kubernetes | Kim Bảo Long
Agile vs Waterfall | Difference between Agile and Waterfall | Edureka
Westpac Bank Tech Talk 1: Dive into Apache Kafka
Ad

Similar to Cruiser: A Tool to Package Pharo Applications (20)

PDF
Cross-platform development with Pharo - The PharoLauncher case
PDF
Pharo 7.0 and 8.0 alpha
PDF
Pharo Update
PDF
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
PDF
2013 lecture-01-introduction
PDF
A Taste of Pharo 7.0
PDF
What is (not) Pharo 8?
PDF
Fosdem 13: Pharo 2.0 update
PDF
Pharo consortium V20
PDF
Application Development with Pharo
PDF
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
PPTX
RAD Studio XE7 Tour Live Online - Move your VCL Into the Future
PDF
Pharo Update
PDF
Nicholas Foo
PDF
Nicholas Foo
PDF
2013-Smalltalks-conference: Pharo is Yours
PDF
Applications in Pharo
PDF
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
PPTX
Delphi 1 to Delphi XE7: 20 years of Continuous Innovation by David I
PPTX
RAD studio XE7 first look webinar
Cross-platform development with Pharo - The PharoLauncher case
Pharo 7.0 and 8.0 alpha
Pharo Update
2013 pharo is yours revisited. Santiago DCC University of Chile Presentation.
2013 lecture-01-introduction
A Taste of Pharo 7.0
What is (not) Pharo 8?
Fosdem 13: Pharo 2.0 update
Pharo consortium V20
Application Development with Pharo
Pharo: Programming in an Immersive World (Stéphane Ducasse Technology Stream)
RAD Studio XE7 Tour Live Online - Move your VCL Into the Future
Pharo Update
Nicholas Foo
Nicholas Foo
2013-Smalltalks-conference: Pharo is Yours
Applications in Pharo
Inria Tech Talk - Programmation Pharo - Mercredi 26 septembre 2018
Delphi 1 to Delphi XE7: 20 years of Continuous Innovation by David I
RAD studio XE7 first look webinar
Ad

More from ESUG (20)

PDF
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
PDF
Micromaid: A simple Mermaid-like chart generator for Pharo
PDF
Directing Generative AI for Pharo Documentation
PDF
Even Lighter Than Lightweiht: Augmenting Type Inference with Primitive Heuris...
PDF
Composing and Performing Electronic Music on-the-Fly with Pharo and Coypu
PDF
Gamifying Agent-Based Models in Cormas: Towards the Playable Architecture for...
PDF
Analysing Python Machine Learning Notebooks with Moose
PDF
FASTTypeScript metamodel generation using FAST traits and TreeSitter project
PDF
Migrating Katalon Studio Tests to Playwright with Model Driven Engineering
PDF
Package-Aware Approach for Repository-Level Code Completion in Pharo
PDF
Evaluating Benchmark Quality: a Mutation-Testing- Based Methodology
PDF
An Analysis of Inline Method Refactoring
PDF
Identification of unnecessary object allocations using static escape analysis
PDF
Control flow-sensitive optimizations In the Druid Meta-Compiler
PDF
Clean Blocks (IWST 2025, Gdansk, Poland)
PDF
Encoding for Objects Matters (IWST 2025)
PDF
Challenges of Transpiling Smalltalk to JavaScript
PDF
Immersive experiences: what Pharo users do!
PDF
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
PDF
Cavrois - an Organic Window Management (ESUG 2025)
ShowUs: Pharo Stream Deck (ESUG 2025, Gdansk)
Micromaid: A simple Mermaid-like chart generator for Pharo
Directing Generative AI for Pharo Documentation
Even Lighter Than Lightweiht: Augmenting Type Inference with Primitive Heuris...
Composing and Performing Electronic Music on-the-Fly with Pharo and Coypu
Gamifying Agent-Based Models in Cormas: Towards the Playable Architecture for...
Analysing Python Machine Learning Notebooks with Moose
FASTTypeScript metamodel generation using FAST traits and TreeSitter project
Migrating Katalon Studio Tests to Playwright with Model Driven Engineering
Package-Aware Approach for Repository-Level Code Completion in Pharo
Evaluating Benchmark Quality: a Mutation-Testing- Based Methodology
An Analysis of Inline Method Refactoring
Identification of unnecessary object allocations using static escape analysis
Control flow-sensitive optimizations In the Druid Meta-Compiler
Clean Blocks (IWST 2025, Gdansk, Poland)
Encoding for Objects Matters (IWST 2025)
Challenges of Transpiling Smalltalk to JavaScript
Immersive experiences: what Pharo users do!
ChatPharo: an Open Architecture for Understanding How to Talk Live to LLMs
Cavrois - an Organic Window Management (ESUG 2025)

Recently uploaded (20)

PDF
Agricultural_Statistics_at_a_Glance_2022_0.pdf
PDF
Heart disease approach using modified random forest and particle swarm optimi...
PDF
Assigned Numbers - 2025 - Bluetooth® Document
PDF
Reach Out and Touch Someone: Haptics and Empathic Computing
PDF
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
PDF
Getting Started with Data Integration: FME Form 101
PDF
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
PDF
A comparative analysis of optical character recognition models for extracting...
PPTX
Tartificialntelligence_presentation.pptx
PDF
August Patch Tuesday
PDF
Encapsulation theory and applications.pdf
PPTX
TLE Review Electricity (Electricity).pptx
PDF
Mobile App Security Testing_ A Comprehensive Guide.pdf
PDF
Machine learning based COVID-19 study performance prediction
PDF
Building Integrated photovoltaic BIPV_UPV.pdf
PPTX
A Presentation on Artificial Intelligence
PPT
Teaching material agriculture food technology
PDF
Empathic Computing: Creating Shared Understanding
PPTX
Digital-Transformation-Roadmap-for-Companies.pptx
PPTX
SOPHOS-XG Firewall Administrator PPT.pptx
Agricultural_Statistics_at_a_Glance_2022_0.pdf
Heart disease approach using modified random forest and particle swarm optimi...
Assigned Numbers - 2025 - Bluetooth® Document
Reach Out and Touch Someone: Haptics and Empathic Computing
Video forgery: An extensive analysis of inter-and intra-frame manipulation al...
Getting Started with Data Integration: FME Form 101
Blue Purple Modern Animated Computer Science Presentation.pdf.pdf
A comparative analysis of optical character recognition models for extracting...
Tartificialntelligence_presentation.pptx
August Patch Tuesday
Encapsulation theory and applications.pdf
TLE Review Electricity (Electricity).pptx
Mobile App Security Testing_ A Comprehensive Guide.pdf
Machine learning based COVID-19 study performance prediction
Building Integrated photovoltaic BIPV_UPV.pdf
A Presentation on Artificial Intelligence
Teaching material agriculture food technology
Empathic Computing: Creating Shared Understanding
Digital-Transformation-Roadmap-for-Companies.pptx
SOPHOS-XG Firewall Administrator PPT.pptx

Cruiser: A Tool to Package Pharo Applications

  • 1. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 1 Cruiser: A Tool to Package Pharo Applications Vincent BLONDEAU 9/11/2018
  • 2. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 2 ►PhD: Test Selection Practices in a Large IT Company ►Post doc @ Lam Research: Full stack team (Chris Thorgrimsson) Who I am
  • 3. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 3 All Begins with…. 300 mm WaferThe Product Single Chip Source:IntelMuseum
  • 4. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 4 Which Get Turned Into…
  • 5. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 5 And Go Into Things Like This…
  • 6. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 6 ►We write the software that runs the machines ►We are responsible for infrastructure Operational infrastructure —The core set of code/libraries/frameworks that run the machines Tooling infrastructure —Tools for the developers —CI: Jenkins —SCM: Store, Git —Test: Sunit, ATAC What my Team Does Java JavaScript Smalltalk C/C++/C#
  • 7. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 7 An Example Machine
  • 8. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 8 ►It is currently the leading Smalltalk “idea incubator” If we like what we see, we will invest in porting ►Adopted by the Smalltalk academic & research community Engagement with the academic community is vital I am with Lam because of this engagement ►Pharo embraces opensource If we commit to backing work in Pharo (or Squeak) we will commit to making that work open Lam Research does not use Pharo so why Pharo? —Roassal —IntelSoft —GraphQL —ObjectChanges —Snowglobe
  • 9. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 9 Packaging tool: Where configurating and adding new features is easy With the good Virtual Machine Without writing to the file system Without access to developers tools Cruiser A First Thing to do Idea Executable
  • 10. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 10 What does that do?
  • 11. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 11 ►List of actions for the packaging ►Actions grouped by topic: Initialization Copy Configure Cleaning Actions User operations Finalizing ►Based on the settings engine Pragmas: no strong coupling Actions are easy to create How it Works
  • 12. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 12 ►Repository: https://github.com/VincentBlondeau/Cruiser ►Tested and working with Windows Pharo 7.0 (Beta) How to use it?
  • 13. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 13 An Example with the Pharo Launcher
  • 14. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 14 ►Cruiser Package Pharo applications —No write access —No developer tools Highly configurable Fast deployment Conclusion
  • 15. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 15 ►Integration inside the Pharo Launcher ►Support other platforms ►Solve new bugs due to the evolution of Pharo 7 ►Avoid to use ProcessWrapper DLL Implies no-blocking FFI multi-threading ►Add new features Loading baseline and configurations Copy Resources Other ideas? Future Work
  • 16. Lam Research Corp.Cruiser: A Tool to Package Pharo Applications 16 https://github.com/ VincentBlondeau/ Cruiser Summary