SlideShare une entreprise Scribd logo
1  sur  25
Télécharger pour lire hors ligne
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!

Contenu connexe

Similaire à 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
 

Similaire à 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)
 

Dernier

Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesSanjay Willie
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI AgeCprime
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfLoriGlavin3
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsSergiu Bodiu
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxLoriGlavin3
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxLoriGlavin3
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch TuesdayIvanti
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity PlanDatabarracks
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesKari Kakkonen
 

Dernier (20)

Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your QueriesExploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
Exploring ChatGPT Prompt Hacks To Maximally Optimise Your Queries
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
A Framework for Development in the AI Age
A Framework for Development in the AI AgeA Framework for Development in the AI Age
A Framework for Development in the AI Age
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
Moving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdfMoving Beyond Passwords: FIDO Paris Seminar.pdf
Moving Beyond Passwords: FIDO Paris Seminar.pdf
 
DevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platformsDevEX - reference for building teams, processes, and platforms
DevEX - reference for building teams, processes, and platforms
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptxMerck Moving Beyond Passwords: FIDO Paris Seminar.pptx
Merck Moving Beyond Passwords: FIDO Paris Seminar.pptx
 
The State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptxThe State of Passkeys with FIDO Alliance.pptx
The State of Passkeys with FIDO Alliance.pptx
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
2024 April Patch Tuesday
2024 April Patch Tuesday2024 April Patch Tuesday
2024 April Patch Tuesday
 
How to write a Business Continuity Plan
How to write a Business Continuity PlanHow to write a Business Continuity Plan
How to write a Business Continuity Plan
 
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Testing tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examplesTesting tools and AI - ideas what to try with some tool examples
Testing tools and AI - ideas what to try with some tool examples
 

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