SlideShare a Scribd company logo
Getting Started with Cuis Smalltalk
Getting Started with Cuis Smalltalk
"Yay, Juan. You GO, guy! ...a great example of malleable software (and a clever mind) at
work." Dan Ingalls
"I like it... It's nice and clean and simple and pretty. Nice stuff!" Alan Kay
"I think you have a very elegant design aesthetic." John Maloney
"Cuis represents the best of Squeak: Elegant simplicity, high quality, and a sense of
vision... I really do appreciate Cuis."
"It has a clean, crisp feel and is a pleasure to use." David T. Lewis
"It's one of the smallest, definitely the fastest, and probably the best structured (Squeak)
kernel that has been built." Andreas Raab
"If you would like to see Morphic done beautifully, ...check out Cuis. ...I simply cannot
rave enough about how wonderful an experience it's been to work with." Casey
Ransberger
Getting Started with Cuis Smalltalk
Who I'm?
Germán S. Arduino
● Software Developer and Researcher
● Focused in Information Security and Special Projects
● Founder and Owner of Arduino Software
● Chief of R&D at Grupo Sancor Seguros
● Long time Smalltalker and loving it more each day
●
About.me/garduino
●
Getting Started with Cuis Smalltalk
What is Cuis Smalltalk?
A complete development environment written in itself
● A pure Object Oriented language
● A Smalltalk-80 environment derived from Squeak
● Simple, small, clean
● Open source, free and multiplatform
● Developed in Argentina by Juan Vuletich
●

http://www.jvuletich.org/aboutMe.html
Getting Started with Cuis Smalltalk
How Cuis is different?
●

Active attitude towards system complexity

●

Code Quality

●

Simplicity

●

Code Management
Getting Started with Cuis Smalltalk
How Cuis is different?
●

Cuis evolves in a controlled way. I can follow it!
2/3 mails / day are an average that permit me to keep updated with the Cuis
progress and sometimes contribute!
Getting Started with Cuis Smalltalk
How Cuis is different?
●

Cuis evolves in a controlled way. I can follow it!
2/3 mails / day are an average that permit me to keep updated with the Cuis
progress and sometimes contribute!

●

Compact
Below 500 Classes, 100KLoC, 8MB base image (3,6MB after #reduceCuis)

A comparison of number of classes:
eToys 5.0: 2236 Squeak 4.4: 2511 Pharo 2.0: 3226 Cuis 4.2: 496
Getting Started with Cuis Smalltalk
Some of the main ideas and goals for Cuis:
●

●
●

●

Close to the ideas in Smalltalk-80 and "Design
Principles Behind Smalltalk"
Includes only kernel functionality + dev tools
Includes a greatly simplified and enhanced Morphic as
the main UI
Reasonably stable. Smalltalk kernel should not
change much
Getting Started with Cuis Smalltalk
Some of the main ideas and goals for Cuis:
●

Full support of Closures

●

It works with Cog or Stack VM
Getting Started with Cuis Smalltalk
What is the audience?
●
Smalltalkers who want a simple and consistent
system they can really master
●
●

●

Teachers and students learning Smalltalk
Developers working for devices with little memory or
CPU power
People wanting to experiment with new directions in
language design, UI frameworks, etc
Getting Started with Cuis Smalltalk
What is the audience?
●

●

People wanting a reasonable kernel on which to build
optional packages
MicroISV programmers (See my talk “Smalltalk and
MicroISV's”:
http://www.slideshare.net/garduino1/smalltalk-andmicroisvs)
Packages in Cuis
●

●

The packages implementation in Cuis 4 is based in
PackageInfo
It uses Package names to prefix Classes and Methods
categories

●

More details in http://wiki.squeak.org/squeak/3329

●

Extension is .pck.st
Code Management in Cuis
Packages
●

Code that is not part of the core image should be
stored in packages (Examples: Applications,
Frameworks, Libraries)

Cuis Code
●

Patches, fixes, code that is meant to be part of Cuis
and that do not belong to any package is
automatically stored in Change Sets
Packages Dependency
●

Packages implement provides / requires

●

Packages can specify dependencies on features

●

Include version / version.revision

●

Automatically numbered by Cuis

When a package is installed, its requirements are
loaded in proper order
●

A package may be installed using the FileList or
from a workspace with
●

Feature require: 'Swazoo'
Code Management in Cuis
Code Management in Cuis
Code Management in Cuis
ChangeSets (Cuis core code)
●

Manages only code of Cuis Core image

●

Code not in packages is captured into changesets

●

Named in the form:
1827-CPUWatcherFix-GermanArduino-2013Sep19-09h20m-gsa.1.cs.st

●

●

Managed automatically, not need of make them
'current' or 'active' (“make the changes goes to me”)
Load changeset with 'FileIn' or 'Install'
Demo Time
Packages availables
Aida Web

Swazoo

Sport

Yaxo

JSON

RegEx

Artefact

WebClient

Crypto-NaCl

Cryptography

FFI

Linear-Algebra

Styled Text
Editor

Signal
Processing

Network

SandstoneDB

Simple Logger

SQLite

PetitParser

Cypress

ContentPack

Solitaire

Interlingua Dict

Ropes
Work in Progress
Morphic 3 *

OpenShift

UI

Comanche

Iliad

Zinc

* Morphic 3 References
http://www.jvuletich.org/Morphic3/Morphic3-200911.html
http://www.jvuletich.org/Morphic3/Morphic3-201006.html

http://www.fast.org.ar/smalltalks2009/videos/Cuis+and+Morphic+3
Community
English Mailing List cuis@jvuletich.org
●
Spanish talks about Cuis also in
squeakros@gruposyahoo.com.ar
● Cuis Web Site http://www.cuis-smalltalk.org
● Juan's Place: http://www.jvuletich.org
● GitHub Home of Cuis:
https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev
●
Community
Author/Admin: Juan Vuletich
●
Contributors:
●

Bernhard Pieber

Germán Arduino

Casey Ransberger

Hannes Hirzel

Ken Dickey

*** Your name here ***
Final Words

Questions?
Final Words

Thanks You!

More Related Content

Similar to Getting Started with Cuis Smalltalk

PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
Puppet
 
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Demi Ben-Ari
 
ImpressCMS Workshop at FSOSS 2010
ImpressCMS Workshop at FSOSS 2010ImpressCMS Workshop at FSOSS 2010
ImpressCMS Workshop at FSOSS 2010
INBOX International inc.
 
Docker in the Enterprise
Docker in the EnterpriseDocker in the Enterprise
Docker in the Enterprise
Saul Caganoff
 
BSides SF talk on Docker Images Security - Feb 13, 2017
BSides SF talk on Docker Images Security - Feb 13, 2017BSides SF talk on Docker Images Security - Feb 13, 2017
BSides SF talk on Docker Images Security - Feb 13, 2017
Manideep Konakandla
 
Is Docker Secure?
Is Docker Secure?Is Docker Secure?
Is Docker Secure?
Manideep Konakandla
 
Fsoss 2010 en
Fsoss 2010 enFsoss 2010 en
Fsoss 2010 en
Steve Kenow
 
Using nu get the way you should svcc
Using nu get the way you should   svccUsing nu get the way you should   svcc
Using nu get the way you should svcc
Maarten Balliauw
 
Going Production with Docker and Swarm
Going Production with Docker and SwarmGoing Production with Docker and Swarm
Going Production with Docker and Swarm
C4Media
 
Are Your Containers as Secure as You Think?
Are Your Containers as Secure as You Think?Are Your Containers as Secure as You Think?
Are Your Containers as Secure as You Think?
DevOps.com
 
Open Source Defense for Edge 2017
Open Source Defense for Edge 2017Open Source Defense for Edge 2017
Open Source Defense for Edge 2017
Adrian Sanabria
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
Jordan Open Source Association
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015
Henry Huang
 
Justin Cormack - The 10 Container Security Tricks That Will Help You Sleep At...
Justin Cormack - The 10 Container Security Tricks That Will Help You Sleep At...Justin Cormack - The 10 Container Security Tricks That Will Help You Sleep At...
Justin Cormack - The 10 Container Security Tricks That Will Help You Sleep At...
Codemotion
 
Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014
Maarten Balliauw
 
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Amazon Web Services
 
Kubernetes Security Best Practices - With tips for the CKS exam
Kubernetes Security Best Practices - With tips for the CKS examKubernetes Security Best Practices - With tips for the CKS exam
Kubernetes Security Best Practices - With tips for the CKS exam
Ahmed AbouZaid
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyond
santosh007
 
Survey of Container Build Tools
Survey of Container Build ToolsSurvey of Container Build Tools
Survey of Container Build Tools
Michael Ducy
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
yalini97
 

Similar to Getting Started with Cuis Smalltalk (20)

PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
PuppetConf 2016: A Tale of Two Hierarchies: Group Policy & Puppet – Matt Ston...
 
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
Kubernetes, Toolbox to fail or succeed for beginners - Demi Ben-Ari, VP R&D @...
 
ImpressCMS Workshop at FSOSS 2010
ImpressCMS Workshop at FSOSS 2010ImpressCMS Workshop at FSOSS 2010
ImpressCMS Workshop at FSOSS 2010
 
Docker in the Enterprise
Docker in the EnterpriseDocker in the Enterprise
Docker in the Enterprise
 
BSides SF talk on Docker Images Security - Feb 13, 2017
BSides SF talk on Docker Images Security - Feb 13, 2017BSides SF talk on Docker Images Security - Feb 13, 2017
BSides SF talk on Docker Images Security - Feb 13, 2017
 
Is Docker Secure?
Is Docker Secure?Is Docker Secure?
Is Docker Secure?
 
Fsoss 2010 en
Fsoss 2010 enFsoss 2010 en
Fsoss 2010 en
 
Using nu get the way you should svcc
Using nu get the way you should   svccUsing nu get the way you should   svcc
Using nu get the way you should svcc
 
Going Production with Docker and Swarm
Going Production with Docker and SwarmGoing Production with Docker and Swarm
Going Production with Docker and Swarm
 
Are Your Containers as Secure as You Think?
Are Your Containers as Secure as You Think?Are Your Containers as Secure as You Think?
Are Your Containers as Secure as You Think?
 
Open Source Defense for Edge 2017
Open Source Defense for Edge 2017Open Source Defense for Edge 2017
Open Source Defense for Edge 2017
 
JOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in ProductionJOSA TechTalks - Docker in Production
JOSA TechTalks - Docker in Production
 
A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015A Summary about Hykes' Keynote on Dockercon 2015
A Summary about Hykes' Keynote on Dockercon 2015
 
Justin Cormack - The 10 Container Security Tricks That Will Help You Sleep At...
Justin Cormack - The 10 Container Security Tricks That Will Help You Sleep At...Justin Cormack - The 10 Container Security Tricks That Will Help You Sleep At...
Justin Cormack - The 10 Container Security Tricks That Will Help You Sleep At...
 
Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014Using NuGet the way you should - TechDays NL 2014
Using NuGet the way you should - TechDays NL 2014
 
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
Smaller is Better - Exploiting Microservice Architectures on AWS - Technical 201
 
Kubernetes Security Best Practices - With tips for the CKS exam
Kubernetes Security Best Practices - With tips for the CKS examKubernetes Security Best Practices - With tips for the CKS exam
Kubernetes Security Best Practices - With tips for the CKS exam
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyond
 
Survey of Container Build Tools
Survey of Container Build ToolsSurvey of Container Build Tools
Survey of Container Build Tools
 
Top 10 dev ops tools (1)
Top 10 dev ops tools (1)Top 10 dev ops tools (1)
Top 10 dev ops tools (1)
 

Recently uploaded

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
panagenda
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
shyamraj55
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
Pixlogix Infotech
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
名前 です男
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
ssuserfac0301
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
jpupo2018
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Speck&Tech
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Wask
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Alpen-Adria-Universität
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
Brandon Minnick, MBA
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
Hiroshi SHIBATA
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
Zilliz
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
Postman
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
DanBrown980551
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
Tatiana Kojar
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
Matthew Sinclair
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
Daiki Mogmet Ito
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
MichaelKnudsen27
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
DianaGray10
 

Recently uploaded (20)

HCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAUHCL Notes and Domino License Cost Reduction in the World of DLAU
HCL Notes and Domino License Cost Reduction in the World of DLAU
 
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with SlackLet's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
Let's Integrate MuleSoft RPA, COMPOSER, APM with AWS IDP along with Slack
 
Best 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERPBest 20 SEO Techniques To Improve Website Visibility In SERP
Best 20 SEO Techniques To Improve Website Visibility In SERP
 
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
みなさんこんにちはこれ何文字まで入るの?40文字以下不可とか本当に意味わからないけどこれ限界文字数書いてないからマジでやばい文字数いけるんじゃないの?えこ...
 
Taking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdfTaking AI to the Next Level in Manufacturing.pdf
Taking AI to the Next Level in Manufacturing.pdf
 
Project Management Semester Long Project - Acuity
Project Management Semester Long Project - AcuityProject Management Semester Long Project - Acuity
Project Management Semester Long Project - Acuity
 
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
Cosa hanno in comune un mattoncino Lego e la backdoor XZ?
 
Digital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying AheadDigital Marketing Trends in 2024 | Guide for Staying Ahead
Digital Marketing Trends in 2024 | Guide for Staying Ahead
 
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing InstancesEnergy Efficient Video Encoding for Cloud and Edge Computing Instances
Energy Efficient Video Encoding for Cloud and Edge Computing Instances
 
Choosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptxChoosing The Best AWS Service For Your Website + API.pptx
Choosing The Best AWS Service For Your Website + API.pptx
 
Introduction of Cybersecurity with OSS at Code Europe 2024
Introduction of Cybersecurity with OSS  at Code Europe 2024Introduction of Cybersecurity with OSS  at Code Europe 2024
Introduction of Cybersecurity with OSS at Code Europe 2024
 
Generating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and MilvusGenerating privacy-protected synthetic data using Secludy and Milvus
Generating privacy-protected synthetic data using Secludy and Milvus
 
WeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation TechniquesWeTestAthens: Postman's AI & Automation Techniques
WeTestAthens: Postman's AI & Automation Techniques
 
5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides5th LF Energy Power Grid Model Meet-up Slides
5th LF Energy Power Grid Model Meet-up Slides
 
Skybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoptionSkybuffer SAM4U tool for SAP license adoption
Skybuffer SAM4U tool for SAP license adoption
 
20240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 202420240607 QFM018 Elixir Reading List May 2024
20240607 QFM018 Elixir Reading List May 2024
 
How to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For FlutterHow to use Firebase Data Connect For Flutter
How to use Firebase Data Connect For Flutter
 
TrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy SurveyTrustArc Webinar - 2024 Global Privacy Survey
TrustArc Webinar - 2024 Global Privacy Survey
 
Nordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptxNordic Marketo Engage User Group_June 13_ 2024.pptx
Nordic Marketo Engage User Group_June 13_ 2024.pptx
 
UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6UiPath Test Automation using UiPath Test Suite series, part 6
UiPath Test Automation using UiPath Test Suite series, part 6
 

Getting Started with Cuis Smalltalk

  • 1. Getting Started with Cuis Smalltalk
  • 2. Getting Started with Cuis Smalltalk "Yay, Juan. You GO, guy! ...a great example of malleable software (and a clever mind) at work." Dan Ingalls "I like it... It's nice and clean and simple and pretty. Nice stuff!" Alan Kay "I think you have a very elegant design aesthetic." John Maloney "Cuis represents the best of Squeak: Elegant simplicity, high quality, and a sense of vision... I really do appreciate Cuis." "It has a clean, crisp feel and is a pleasure to use." David T. Lewis "It's one of the smallest, definitely the fastest, and probably the best structured (Squeak) kernel that has been built." Andreas Raab "If you would like to see Morphic done beautifully, ...check out Cuis. ...I simply cannot rave enough about how wonderful an experience it's been to work with." Casey Ransberger
  • 3. Getting Started with Cuis Smalltalk Who I'm? Germán S. Arduino ● Software Developer and Researcher ● Focused in Information Security and Special Projects ● Founder and Owner of Arduino Software ● Chief of R&D at Grupo Sancor Seguros ● Long time Smalltalker and loving it more each day ● About.me/garduino ●
  • 4. Getting Started with Cuis Smalltalk What is Cuis Smalltalk? A complete development environment written in itself ● A pure Object Oriented language ● A Smalltalk-80 environment derived from Squeak ● Simple, small, clean ● Open source, free and multiplatform ● Developed in Argentina by Juan Vuletich ● http://www.jvuletich.org/aboutMe.html
  • 5. Getting Started with Cuis Smalltalk How Cuis is different? ● Active attitude towards system complexity ● Code Quality ● Simplicity ● Code Management
  • 6. Getting Started with Cuis Smalltalk How Cuis is different? ● Cuis evolves in a controlled way. I can follow it! 2/3 mails / day are an average that permit me to keep updated with the Cuis progress and sometimes contribute!
  • 7. Getting Started with Cuis Smalltalk How Cuis is different? ● Cuis evolves in a controlled way. I can follow it! 2/3 mails / day are an average that permit me to keep updated with the Cuis progress and sometimes contribute! ● Compact Below 500 Classes, 100KLoC, 8MB base image (3,6MB after #reduceCuis) A comparison of number of classes: eToys 5.0: 2236 Squeak 4.4: 2511 Pharo 2.0: 3226 Cuis 4.2: 496
  • 8. Getting Started with Cuis Smalltalk Some of the main ideas and goals for Cuis: ● ● ● ● Close to the ideas in Smalltalk-80 and "Design Principles Behind Smalltalk" Includes only kernel functionality + dev tools Includes a greatly simplified and enhanced Morphic as the main UI Reasonably stable. Smalltalk kernel should not change much
  • 9. Getting Started with Cuis Smalltalk Some of the main ideas and goals for Cuis: ● Full support of Closures ● It works with Cog or Stack VM
  • 10. Getting Started with Cuis Smalltalk What is the audience? ● Smalltalkers who want a simple and consistent system they can really master ● ● ● Teachers and students learning Smalltalk Developers working for devices with little memory or CPU power People wanting to experiment with new directions in language design, UI frameworks, etc
  • 11. Getting Started with Cuis Smalltalk What is the audience? ● ● People wanting a reasonable kernel on which to build optional packages MicroISV programmers (See my talk “Smalltalk and MicroISV's”: http://www.slideshare.net/garduino1/smalltalk-andmicroisvs)
  • 12. Packages in Cuis ● ● The packages implementation in Cuis 4 is based in PackageInfo It uses Package names to prefix Classes and Methods categories ● More details in http://wiki.squeak.org/squeak/3329 ● Extension is .pck.st
  • 13. Code Management in Cuis Packages ● Code that is not part of the core image should be stored in packages (Examples: Applications, Frameworks, Libraries) Cuis Code ● Patches, fixes, code that is meant to be part of Cuis and that do not belong to any package is automatically stored in Change Sets
  • 14. Packages Dependency ● Packages implement provides / requires ● Packages can specify dependencies on features ● Include version / version.revision ● Automatically numbered by Cuis When a package is installed, its requirements are loaded in proper order ● A package may be installed using the FileList or from a workspace with ● Feature require: 'Swazoo'
  • 18. ChangeSets (Cuis core code) ● Manages only code of Cuis Core image ● Code not in packages is captured into changesets ● Named in the form: 1827-CPUWatcherFix-GermanArduino-2013Sep19-09h20m-gsa.1.cs.st ● ● Managed automatically, not need of make them 'current' or 'active' (“make the changes goes to me”) Load changeset with 'FileIn' or 'Install'
  • 20. Packages availables Aida Web Swazoo Sport Yaxo JSON RegEx Artefact WebClient Crypto-NaCl Cryptography FFI Linear-Algebra Styled Text Editor Signal Processing Network SandstoneDB Simple Logger SQLite PetitParser Cypress ContentPack Solitaire Interlingua Dict Ropes
  • 21. Work in Progress Morphic 3 * OpenShift UI Comanche Iliad Zinc * Morphic 3 References http://www.jvuletich.org/Morphic3/Morphic3-200911.html http://www.jvuletich.org/Morphic3/Morphic3-201006.html http://www.fast.org.ar/smalltalks2009/videos/Cuis+and+Morphic+3
  • 22. Community English Mailing List cuis@jvuletich.org ● Spanish talks about Cuis also in squeakros@gruposyahoo.com.ar ● Cuis Web Site http://www.cuis-smalltalk.org ● Juan's Place: http://www.jvuletich.org ● GitHub Home of Cuis: https://github.com/Cuis-Smalltalk/Cuis-Smalltalk-Dev ●
  • 23. Community Author/Admin: Juan Vuletich ● Contributors: ● Bernhard Pieber Germán Arduino Casey Ransberger Hannes Hirzel Ken Dickey *** Your name here ***