SlideShare uma empresa Scribd logo
1 de 25
Baixar para ler offline
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!

Mais conteúdo relacionado

Semelhante a 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
 
Docker in the Enterprise
Docker in the EnterpriseDocker in the Enterprise
Docker in the EnterpriseSaul 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, 2017Manideep Konakandla
 
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 svccMaarten Balliauw
 
Going Production with Docker and Swarm
Going Production with Docker and SwarmGoing Production with Docker and Swarm
Going Production with Docker and SwarmC4Media
 
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 2017Adrian Sanabria
 
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 2015Henry 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 2014Maarten 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 201Amazon 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 examAhmed AbouZaid
 
Docker-N-Beyond
Docker-N-BeyondDocker-N-Beyond
Docker-N-Beyondsantosh007
 
Survey of Container Build Tools
Survey of Container Build ToolsSurvey of Container Build Tools
Survey of Container Build ToolsMichael 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
 

Semelhante a 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)
 

Último

Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodJuan lago vázquez
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Angeliki Cooney
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Victor Rentea
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesrafiqahmad00786416
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...Zilliz
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontologyjohnbeverley2021
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelDeepika Singh
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024The Digital Insurer
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdfSandro Moreira
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusZilliz
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Zilliz
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Jeffrey Haguewood
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businesspanagenda
 

Último (20)

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin WoodPolkadot JAM Slides - Token2049 - By Dr. Gavin Wood
Polkadot JAM Slides - Token2049 - By Dr. Gavin Wood
 
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
Biography Of Angeliki Cooney | Senior Vice President Life Sciences | Albany, ...
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
ICT role in 21st century education and its challenges
ICT role in 21st century education and its challengesICT role in 21st century education and its challenges
ICT role in 21st century education and its challenges
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Six Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal OntologySix Myths about Ontologies: The Basics of Formal Ontology
Six Myths about Ontologies: The Basics of Formal Ontology
 
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot ModelMcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
Mcleodganj Call Girls 🥰 8617370543 Service Offer VIP Hot Model
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 
[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf[BuildWithAI] Introduction to Gemini.pdf
[BuildWithAI] Introduction to Gemini.pdf
 
Exploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with MilvusExploring Multimodal Embeddings with Milvus
Exploring Multimodal Embeddings with Milvus
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 

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 ***