GemStone Update 2023

E
ESUGESUG
GemStone Update
Norm Green and:[ James Foster ]
ESUG 2023
Lyon, France
August 30, 2023
2
Academia vs Business…
Part 1
GemTalk: Who We Are
4
Our History
• 41 Years of Continuous Operation
– Founded: 1982 (as Servio Logic Corporation)
– First Version of GemStone Shipped: 1986
– Name Changed from Servio to GemStone: 1995
– Acquired by Brokat: July 2000
– Management buyout: June 2001
– Acquired by VMware: May 2010
– Acquired by GemTalk Systems: May 2013
5
Financial and Trading Vertical
Kapital is the world leading derivatives trading and
management system – since 1993
DBO is a very large precious metals trading and settlement
system.
- since 1990
ICE is the world’s fastest growing electronic trading exchange
– since 1994
MMI Holdings – Financial portfolio management system. –
since 1995
Lifeware – Cloud-based insurance management solutions –
since 2000
Guava – Financial & treasury Software – since 1998
GemStone Powered Business
6
Manufacturing Vertical
Works application for semiconductor manufacturing
– since 1991
Semiconductor manufacturing software – since 1998
GemStone Powered Business
HVAC software – since 2012
Adhesives Manufacturing – since 1997
7
Utilities Vertical
TCMS II- Trouble Call Management System V2
GemStone Powered Business
GemTalk provides remote administration and emergency on-call support to augment FPL staff
8
Telecommunications Vertical
Telecom Service Provisioning for Argentina – since 2004
GemStone Powered Business
CONDIS – Inventory and cable management – since 1993
Telecom Workflow Management – since 2013
Government Vertical
Border Security – since 1996
Visa Processing – since 2004
Dutch Agricultural Institute – agriculture data collection
– since 1998
GemStone Powered Business
10
GemTalk Partners
11
GemTalk In the Community…
▪ Conferences and Groups
▪ Pharo Consortium (Industrial Member)
▪ ESUG (Platinum Sponsor)
▪ FAST (Platinum Sponsor)
12
The GemTalk Team
13
GemTalk – The Next Generation
▪ Welcome Kurt Kilpela!
▪ Joined GemTalk on May, 2019
▪ From Kurt’s Cover Letter:
Early in my education, I was
introduced to Smalltalk. Prior to
this, my training was in Java, C, and
C++. Initially, it felt bizarre. In
just a few days, I fell in love.
14
GemTalk – The Next Generation
▪ Welcome Andres Valloud!
▪ Joined GemTalk in June, 2022
▪ Projects
▪ x86_64 native code generator improvements
▪ ARM aarch64 native code generator
15
GemTalk – The Next Generation
▪ Welcome Alissa Friel!
▪ Joined GemTalk in August, 2023
▪ BSc. Computer Science,
Portland State University
Part 2
GemStone Software:
A Lightning Tutorial
17
How Many Have A Good
Feel For What
GemStone Is?
How Many Have Actually
Used GemStone ?
18
So What Is This GemStone Thing?
• A solution to the limitations of traditional Smalltalk:
1. Object space limited to one VM.
2. Object space limited to one host.
3. Object space limited to available RAM.
4. Object changes (since last image save) lost when VM exits.
19
Welcome To The World Of GemStone!
• Object space visible to thousands of VMs on
thousands of machines.
• Object space limited by disk, not RAM.
• Object changes managed by ACID transactions
– Atomic
– Consistent
– Isolated
– Durable
• Object changes guaranteed persistent once
committed.
20
Key Features Of GemStone
• Scalability
– Billions of objects
– Thousands of users.
– Thousands of machines.
– Thousands of transactions per second.
– Terabytes of data.
21
Key Features Of GemStone
• Concurrency
– Multiple user sessions.
– Built-in database transactions.
• Commit
• Abort
• Continue
– Optimistic Concurrency
• Reduced Conflict Collections
– Pessimistic Concurrency
• Object-level read/write locks.
– Namespaces
• Shared and private.
22
Key Features Of GemStone
• Security
– Object-level security.
• User, group, world permissions.
– Login Security
• User-id / Password
• Single-Sign-On (GSSAPI / Kerberos)
• LDAP
• PAM
• X509 Certificate
– Administrative Privileges
• #GarbageCollection
• #OtherPassword
• #SystemControl
23
Key Features Of GemStone
• 100% Smalltalk (“It’s turtles, all the way down”)
– All objects, all the time.
– Classes, methods, blocks, exceptions.
– ANSI Smalltalk compliant
24
Key Features Of GemStone
• Very Large Collection Support
– Collections of millions of objects.
– Optimized searches using b-tree Indexes:
• Equality Indexes (a = b)
– AllEmployees detect:{:each| each.lastName = ‘Ducasse’ }
• Identity Indexes (a == b)
– AllEmployees select:{:each| each.countryOfOrigin == #France }
25
Key Features Of GemStone
• Interfaces to Other Smalltalks
– VisualWorks® - GemBuilder for VisualWorks®
– VA Smalltalk® - GemBuilder for VA Smalltalk®
– Pharo – tODE, GsDevKit, Sparkle, gt4Gemstone
– Jade / Jadeite (Dolphin, open source)
• Interfaces To Other Languages
– C/C++ - GemBuilder for C
– Java – GemBuilder for Java
• Interfaces to Relational Databases
– Oracle – GemConnect for Oracle
– Postgres – GemConnect for Postgres
– Sybase – GemConnect for Sybase (open source)
26
GemStone/S 64 Platforms
• Object Server (Database)
– Linux:
• x86_64 (Intel / AMD)
• aarch64 (ARM) ** NEW ** (non-production only)
– Apple MacOS:
• x86_64
• M1, M2 (Apple Silicone)
– Oracle Solaris: x86_64
– IBM: AIX PowerPC 64 bit
– Raspberry Pi aarch64
• Object Clients
– All of the above, and:
• Microsoft Windows 10,11
27
GemBuilder for Smalltalk (GBS) Platforms
• Cincom® VisualWorks® 9.1.1
– MS Windows 10/11
– Linux 32/64 bit
• Instantiations VA Smalltalk™ 11.0.1, 10.0.2, 8.6.3
– MS Windows 10/11
28
Jade IDE
• Open source IDE for all versions of GemStone
• Written in Dolphin Smalltalk by James Foster
• MS Windows only
• Supports all versions of GemStone
• Free of charge
• Rich set of tools
– Browsers
– Inspectors
– Debuggers
• https://github.com/jgfoster/Jade
Jade System Browser
29
30
Jadeite IDE
• Fork of the Jade project
• Currently in development at GemTalk for a customer in
Europe
• Support for source code control with Rowan and Git
• Support for Tonal file format
• Migration tools from other SCM systems
31
GemStone/S Licensing Models
• Community Editions
– Free (as in beer) for any use (including commercial)
• Perpetual
– Buy once, own it forever
• Annual Subscription
– Pay annually, cancel any time.
• Value Added Reseller (VAR)
– Percentage of royalties
32
GemStone Community Edition
Starter Limited Full Extended SPC Extended CPU Extended Full
License Kind Perpetual Subscription Subscription Subscription Subscription Subscription
Cores 2 2 2 2 4 4
SPC 1 G 2 G 2G 4G 2G 4G
Gems 10 20 Unlimited Unlimited Unlimited Unlimited
Disk 10G 50G Unlimited Unlimited Unlimited Unlimited
Development DB Unlimited Unlimited Unlimited Unlimited Unlimited Unlimited
Production DB 1 2 Unlimited Unlimited Unlimited Unlimited
Tech Support Community Community 5 tickets 10 tickets 10 tickets 20 tickets
Price Free Free $1500/yr $3000/yr $3000/yr $6000/yr
Distribution With Product Email addr Sales Sales Sales Sales
Source: http://gemtalksystems.com/index.php/lc-licensing/
33
Support Models
• Web Support (24 x 7)
– https://techsupport.gemtalksystems.com
– Help requests processed 8 am – 5 pm Pacific Time
• Emergency 24 x 7 Support
– Available for a premium
– GemTalk provides an emergency phone number
– Call back to the customer within 15 minutes
• Mailing Lists
– GLASS – Open source projects: Seaside / GLASS / tODE
– GemStone Smalltalk – GemStone-specific
– Sign up at:
• https://lists.gemtalksystems.com/mailman/listinfo/
Part 3
Roadmap
35
On Agile Programming…
36
Recent GS/64 Server Releases
• Version 3.7.0
– August 2023 September 2023
• Version 3.7.1
– February 2024
• Version 3.6.x
– 3.6.6: May 2023
– 3.6.7: December 2023
37
New In Version 3.6
• Support for DARE (Data At Rest Encryption)
– Optional encryption of database extents and tranlogs
– Encryption done at the database page level
• Each page is encrypted individually
– Encryption Mode: XTS-AES
• XTS == XEX-based tweaked-codebook mode with ciphertext
stealing
• Support for 128 and 256 bit XTS keys
• XTS is supported by: BestCrypt, TrueCrypt, VeraCrypt,
DiskCryptor, MS Bitlocker, wolfCrypt.
– Private key (and passphrase) required to start encrypted
GemStone database.
38
New In Version 3.6
• Support for DARE (Data At Rest Encryption)
– Encrypt / decrypt via copydbf utility
• Creating an encrypted database extent:
$GEMSTONE/bin/copydbf –e dbCert.pem –s 128 
–K /home/normg/certs 
$GEMSTONE/data/extent0.dbf $GEMSTONE/data/extent0.sdbf
• Starting an encrypted database:
$GEMSTONE/bin/startstone –D dbPrivateKey.pem 
–J ~/secrets/passphrase.txt –K /home/normg/keys
-z $GEMSTONE/data/system.conf normstone
39
New In Version 3.6
• Restricted System >>performOnServer:
– If enabled, each UserProfile has a whitelist of permited
performOnServer: commands.
– Only commands on the whitelist may be executed.
– Default whitelist is empty.
– Example of adding a permitted command (git)
|up|
up := AllUsers userWithId: ‘normg’.
up addPrivilege: ‘NoPerformOnServer’ ;
addPerformOnServerCommands: (Array with: ‘/usr/bin/git’) .
40
New In Version 3.6
• 4 New Special Classes
– Also known as immediate objects
– Value encoded in the object ID
– Never occupy disk space
• SmallDate
• SmallDateAndTime
• SmallScaledDecimal
• SmallTime
41
New In Version 3.6
• gslist output as JSON:
normg@moop>gslist -j
{"GemStoneServers":[
{
"Name":"norm",
"Host":"moop",
"HostId":"b6f9ea8dee7eca73",
"Ip":"10.94.141.31",
"Status":"Exists",
"Type":"Stone",
"Version":"3.6.0",
"Creator":"normg",
"Started":"2020-09-21T12:44:59.000-07:00",
"Pid": 7733,
"Port": 38423, ….
42
New in Version 3.6
• Amazon AWS Customer Master Key (CMK) Support
– Encrypted data stored in GemStone.
– Encryption keys managed by AWS.
– Cloud user controls if/when data is unlocked and accessed.
43
Version 3.7
• Performance, performance, performance!
– We’ve made everything faster
• startstone
• stopstone
• markForCollection
• Backup
• Restore
• page reclaim
• Smalltalk VM (thanks Andres!)
44
Version 3.7
• Support Monitoring GemStone with Prometheus
– “Prometheus is an open-source systems monitoring and
alerting toolkit originally built at SoundCloud. Since its
inception in 2012, many companies and organizations have
adopted Prometheus, and the project has a very active
developer and user community. It is now a standalone open
source project and maintained independently of any company.”
- https://prometheus.io
45
Prometheus Monitoring Sample
46
Version 3.7
• Faster Smalltalk VM on x86_64
– Native code generator optimized by Andres Valloud
– Reduce number of instructions and number of branches
– Better branch prediction
– Average ~35% improvement
47
Version 3.7
• Microsoft Azure Customer Master Key (CMK) Support
– Encrypted data stored in GemStone.
– Encryption keys managed by Azure.
48
Version 3.7
• Fast Instance Migration
– Migrate and commit all instances of up to 2000 classes in a
single operation.
– Multi-threaded: uses multiple C threads for speed.
– Typical Use Case: Add a new instance variable.
49
Version 3.7
• OpenSSL upgraded from v1.1.1x to version v3.0.x
• ssh Support
– New Class: GsSshSocket
– Execute remote commands via ssh
• sftp Support
– New Classes: GsSftpSocket, GsSftpRemoteFile
– Upload and download files via sftp
50
Version 3.7
• Faster Read Streams on Strings
– New Class: ReadByteStream
– Optimized for reading String and byte objects.
• String Auto Promotion to Unicode16
– When a code point greater than 255 is added to a String, it is
promoted to Unicode16.
51
Version 3.7
• New Cryptographic Hash Methods (to play nicer with
Pharo…)
– We can now a hash result as any of:
• LargeInteger
• String
• ByteArray (new)
‘abc’ perform: #sha256Sum
-Answers a String of hex digits
‘abc’ perform: #sha256SumBytes
-Answers a ByteArray
52
Version 3.7
• Native Support for FileSystem
– FileSystem is now included in the GemStone base image
– Code ported from Pharo
– Major Classes
• FileReference
• FileSystem
• FileLocator
• FsFileDescriptor
53
Version 3.7
• New GsSecureSocket features:
– GsSecureSocket == GemStone’s TLS Socket Interface
– Pre-shared keys (PSK)
• Connect using a secret known to both the client and server.
– Anonymous TLS
• Encrypted connection with no authentication
54
Version 3.7
• Customer-defined Special (Immediate) Objects
– 16 new Immediate classes for use by customers
– Each instance stores up to 56 bits of customer-defined data
– Example: Money
• Currency (4 bits):
– Euro
– US$
– CAN$
– Yen
• Amount (52 bits)
– Answers a Scaled Decimal
• Example code shipped in:
– $GEMSTONE/examples/smalltalk/Money.gs
55
Version 3.7
• One-time Passwords
– Create a temporary password valid for a single login.
– Password lifetime specified in seconds.
– Example:
GsCurrentSession currentSession
createOneTimePasswordForUserId: ‘NormG’
validForSeconds: 60
56
Version 3.7
• Rowan – GemStone’s New Package Manager
– Preview Version Only.
– Talk to Dale
57
Version 3.7.1
• Native Code Support on Linux ARM64
– 3.7.0 supports only interpreted mode
• Still More VM improvements on Linux x86_64
– Thanks Again Andres!
• Bug fixes
58
Version 3.8 and Beyond…
• Native ROWAN support
– ROWAN is a new package manager that supports FileTree
and Tonel repositories.
– https://github.com/GemTalk/Rowan
• Pharo Support (Sparkle)
– Not GBS for Pharo
– Inspectors and debuggers
– Work In progress.
– https://github.com/GemTalk/Sparkle
– No GA date yet.
– Martin’s UK Smalltalk talk: https://vimeo.com/676889959
– More in Martin McClure’s talk Thursday @ 9 am
59
New Open-Source Projects
• Jadite For Pharo
– Pharo IDE for GemStone Code Development Using Rowan
– Work in progress, NOT ready for prime-time
– Talk to Dale
• https://github.com/GemTalk/JadeiteForPharo
60
New Open-Source Projects
• GemConnect for Postgres
– 100% Smalltalk code via FFI
– Requires GemStone/64 v3.6.2 or later
– Available as open source on github:
• https://github.com/GemTalk/GemConnect-for-Postgres
• GemConnect for RabbitMQ
– 100% Smalltalk code via FFI
– Requires GemStone/64 v3.6.4 or later
– Available as open source on github:
• https://github.com/GemTalk/GemConnectForRabbitMQ
Questions?
61
GemTalk Systems LLC
15220 NW Greenbrier Pkwy., Suite 240
Beaverton, Oregon, 97006
Mobile: (503) 804-2041
norm.green@gemtalksystems.com
Norman R. Green
Senior VP & Chief Technical Officer
www.gemtalksystems.com
®
1 de 61

Recomendados

GemStone Update por
GemStone Update GemStone Update
GemStone Update ESUG
83 visualizações49 slides
Gemstone RoadMap por
Gemstone RoadMapGemstone RoadMap
Gemstone RoadMapESUG
242 visualizações43 slides
GemStone/S 64 Update por
 GemStone/S 64 Update GemStone/S 64 Update
GemStone/S 64 UpdateESUG
350 visualizações47 slides
GemStone/64 product update and road map por
GemStone/64 product update and road mapGemStone/64 product update and road map
GemStone/64 product update and road mapESUG
503 visualizações53 slides
Glass por
GlassGlass
GlassESUG
260 visualizações39 slides
Gemstone 64 Product Overview por
Gemstone 64 Product OverviewGemstone 64 Product Overview
Gemstone 64 Product OverviewESUG
960 visualizações45 slides

Mais conteúdo relacionado

Similar a GemStone Update 2023

GemStone/64 Update por
GemStone/64 UpdateGemStone/64 Update
GemStone/64 UpdateESUG
349 visualizações40 slides
Secure container: Kata container and gVisor por
Secure container: Kata container and gVisorSecure container: Kata container and gVisor
Secure container: Kata container and gVisorChing-Hsuan Yen
395 visualizações40 slides
Abc beagleboard Getting To Know It por
Abc beagleboard Getting To Know ItAbc beagleboard Getting To Know It
Abc beagleboard Getting To Know Itrviolachurch
1K visualizações44 slides
.NET Memory Primer (Martin Kulov) por
.NET Memory Primer (Martin Kulov).NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov)ITCamp
527 visualizações30 slides
14 scaleabilty wics por
14 scaleabilty wics14 scaleabilty wics
14 scaleabilty wicsashish61_scs
538 visualizações87 slides
WebRTC Browsers n Stacks Implementation differences por
WebRTC Browsers n Stacks Implementation differencesWebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differencesAlexandre Gouaillard
4.8K visualizações42 slides

Similar a GemStone Update 2023(20)

GemStone/64 Update por ESUG
GemStone/64 UpdateGemStone/64 Update
GemStone/64 Update
ESUG349 visualizações
Secure container: Kata container and gVisor por Ching-Hsuan Yen
Secure container: Kata container and gVisorSecure container: Kata container and gVisor
Secure container: Kata container and gVisor
Ching-Hsuan Yen395 visualizações
Abc beagleboard Getting To Know It por rviolachurch
Abc beagleboard Getting To Know ItAbc beagleboard Getting To Know It
Abc beagleboard Getting To Know It
rviolachurch1K visualizações
.NET Memory Primer (Martin Kulov) por ITCamp
.NET Memory Primer (Martin Kulov).NET Memory Primer (Martin Kulov)
.NET Memory Primer (Martin Kulov)
ITCamp527 visualizações
14 scaleabilty wics por ashish61_scs
14 scaleabilty wics14 scaleabilty wics
14 scaleabilty wics
ashish61_scs538 visualizações
WebRTC Browsers n Stacks Implementation differences por Alexandre Gouaillard
WebRTC Browsers n Stacks Implementation differencesWebRTC Browsers n Stacks Implementation differences
WebRTC Browsers n Stacks Implementation differences
Alexandre Gouaillard4.8K visualizações
Loom promises: be there! por Jean-Francois James
Loom promises: be there!Loom promises: be there!
Loom promises: be there!
Jean-Francois James101 visualizações
Next generation storage: eliminating the guesswork and avoiding forklift upgrade por Jisc
Next generation storage: eliminating the guesswork and avoiding forklift upgradeNext generation storage: eliminating the guesswork and avoiding forklift upgrade
Next generation storage: eliminating the guesswork and avoiding forklift upgrade
Jisc1.9K visualizações
GemStone/S 64bit por ESUG
GemStone/S 64bitGemStone/S 64bit
GemStone/S 64bit
ESUG385 visualizações
Ethereum Devcon1 Report (summary writing) por Tomoaki Sato
Ethereum Devcon1 Report (summary writing)Ethereum Devcon1 Report (summary writing)
Ethereum Devcon1 Report (summary writing)
Tomoaki Sato3.7K visualizações
Chronicle accelerate building a digital currency por Peter Lawrey
Chronicle accelerate   building a digital currencyChronicle accelerate   building a digital currency
Chronicle accelerate building a digital currency
Peter Lawrey661 visualizações
Travelling to the far side of Andromeda por Jose Miguel Esparza
Travelling to the far side of AndromedaTravelling to the far side of Andromeda
Travelling to the far side of Andromeda
Jose Miguel Esparza1.9K visualizações
CSF18 - GDPR - Sami Laiho por NCCOMMS
CSF18 - GDPR - Sami LaihoCSF18 - GDPR - Sami Laiho
CSF18 - GDPR - Sami Laiho
NCCOMMS222 visualizações
Designs, Lessons and Advice from Building Large Distributed Systems por Daehyeok Kim
Designs, Lessons and Advice from Building Large Distributed SystemsDesigns, Lessons and Advice from Building Large Distributed Systems
Designs, Lessons and Advice from Building Large Distributed Systems
Daehyeok Kim120 visualizações
Open Source Investments in Mainframe Through the Next Generation - Showcasing... por Open Mainframe Project
Open Source Investments in Mainframe Through the Next Generation - Showcasing...Open Source Investments in Mainframe Through the Next Generation - Showcasing...
Open Source Investments in Mainframe Through the Next Generation - Showcasing...
Open Mainframe Project646 visualizações
Introduction of Java GC Tuning and Java Java Mission Control por Leon Chen
Introduction of Java GC Tuning and Java Java Mission ControlIntroduction of Java GC Tuning and Java Java Mission Control
Introduction of Java GC Tuning and Java Java Mission Control
Leon Chen20.5K visualizações
ODSA Sub-Project Launch por Netronome
 ODSA Sub-Project Launch ODSA Sub-Project Launch
ODSA Sub-Project Launch
Netronome582 visualizações
ODSA Sub-Project Launch por ODSA Workgroup
ODSA Sub-Project LaunchODSA Sub-Project Launch
ODSA Sub-Project Launch
ODSA Workgroup322 visualizações
Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014 por Alec Tucker
Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014
Internet of Things, Mobility & .Net Micro Framework SydMobNet March 2014
Alec Tucker2.2K visualizações

Mais de ESUG

Workshop: Identifying concept inventories in agile programming por
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingESUG
9 visualizações16 slides
Technical documentation support in Pharo por
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in PharoESUG
27 visualizações39 slides
The Pharo Debugger and Debugging tools: Advances and Roadmap por
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapESUG
56 visualizações44 slides
Sequence: Pipeline modelling in Pharo por
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoESUG
86 visualizações22 slides
Migration process from monolithic to micro frontend architecture in mobile ap... por
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...ESUG
19 visualizações35 slides
Analyzing Dart Language with Pharo: Report and early results por
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsESUG
106 visualizações30 slides

Mais de ESUG(20)

Workshop: Identifying concept inventories in agile programming por ESUG
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG9 visualizações
Technical documentation support in Pharo por ESUG
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
ESUG27 visualizações
The Pharo Debugger and Debugging tools: Advances and Roadmap por ESUG
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG56 visualizações
Sequence: Pipeline modelling in Pharo por ESUG
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG86 visualizações
Migration process from monolithic to micro frontend architecture in mobile ap... por ESUG
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG19 visualizações
Analyzing Dart Language with Pharo: Report and early results por ESUG
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG106 visualizações
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6 por ESUG
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG37 visualizações
A Unit Test Metamodel for Test Generation por ESUG
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG49 visualizações
Creating Unit Tests Using Genetic Programming por ESUG
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG46 visualizações
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes por ESUG
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG52 visualizações
Exploring GitHub Actions through EGAD: An Experience Report por ESUG
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG17 visualizações
Pharo: a reflective language A first systematic analysis of reflective APIs por ESUG
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG57 visualizações
Garbage Collector Tuning por ESUG
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
ESUG20 visualizações
Improving Performance Through Object Lifetime Profiling: the DataFrame Case por ESUG
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG43 visualizações
Pharo DataFrame: Past, Present, and Future por ESUG
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG43 visualizações
thisContext in the Debugger por ESUG
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
ESUG36 visualizações
Websockets for Fencing Score por ESUG
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
ESUG18 visualizações
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript por ESUG
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ESUG46 visualizações
Advanced Object- Oriented Design Mooc por ESUG
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
ESUG85 visualizações
A New Architecture Reconciling Refactorings and Transformations por ESUG
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG28 visualizações

Último

DevsRank por
DevsRankDevsRank
DevsRankdevsrank786
11 visualizações1 slide
What Can Employee Monitoring Software Do?​ por
What Can Employee Monitoring Software Do?​What Can Employee Monitoring Software Do?​
What Can Employee Monitoring Software Do?​wAnywhere
21 visualizações11 slides
Generic or specific? Making sensible software design decisions por
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisionsBert Jan Schrijver
6 visualizações60 slides
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... por
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...Deltares
9 visualizações26 slides
Fleet Management Software in India por
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India Fleetable
11 visualizações1 slide
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... por
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...Deltares
9 visualizações24 slides

Último(20)

DevsRank por devsrank786
DevsRankDevsRank
DevsRank
devsrank78611 visualizações
What Can Employee Monitoring Software Do?​ por wAnywhere
What Can Employee Monitoring Software Do?​What Can Employee Monitoring Software Do?​
What Can Employee Monitoring Software Do?​
wAnywhere21 visualizações
Generic or specific? Making sensible software design decisions por Bert Jan Schrijver
Generic or specific? Making sensible software design decisionsGeneric or specific? Making sensible software design decisions
Generic or specific? Making sensible software design decisions
Bert Jan Schrijver6 visualizações
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t... por Deltares
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
DSD-INT 2023 Thermobaricity in 3D DCSM-FM - taking pressure into account in t...
Deltares9 visualizações
Fleet Management Software in India por Fleetable
Fleet Management Software in India Fleet Management Software in India
Fleet Management Software in India
Fleetable11 visualizações
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J... por Deltares
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
DSD-INT 2023 3D hydrodynamic modelling of microplastic transport in lakes - J...
Deltares9 visualizações
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit... por Deltares
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...
DSD-INT 2023 FloodAdapt - A decision-support tool for compound flood risk mit...
Deltares13 visualizações
El Arte de lo Possible por Neo4j
El Arte de lo PossibleEl Arte de lo Possible
El Arte de lo Possible
Neo4j38 visualizações
SUGCON ANZ Presentation V2.1 Final.pptx por Jack Spektor
SUGCON ANZ Presentation V2.1 Final.pptxSUGCON ANZ Presentation V2.1 Final.pptx
SUGCON ANZ Presentation V2.1 Final.pptx
Jack Spektor22 visualizações
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon por Deltares
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - AfternoonDSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
DSD-INT 2023 - Delft3D User Days - Welcome - Day 3 - Afternoon
Deltares13 visualizações
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra... por Marc Müller
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra....NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
.NET Developer Conference 2023 - .NET Microservices mit Dapr – zu viel Abstra...
Marc Müller38 visualizações
Winter '24 Release Chat.pdf por melbourneauuser
Winter '24 Release Chat.pdfWinter '24 Release Chat.pdf
Winter '24 Release Chat.pdf
melbourneauuser9 visualizações
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)... por Deltares
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
DSD-INT 2023 Modelling litter in the Yarra and Maribyrnong Rivers (Australia)...
Deltares9 visualizações
Unleash The Monkeys por Jacob Duijzer
Unleash The MonkeysUnleash The Monkeys
Unleash The Monkeys
Jacob Duijzer7 visualizações
SAP FOR TYRE INDUSTRY.pdf por Virendra Rai, PMP
SAP FOR TYRE INDUSTRY.pdfSAP FOR TYRE INDUSTRY.pdf
SAP FOR TYRE INDUSTRY.pdf
Virendra Rai, PMP23 visualizações
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut... por Deltares
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
DSD-INT 2023 Machine learning in hydraulic engineering - Exploring unseen fut...
Deltares6 visualizações
HarshithAkkapelli_Presentation.pdf por harshithakkapelli
HarshithAkkapelli_Presentation.pdfHarshithAkkapelli_Presentation.pdf
HarshithAkkapelli_Presentation.pdf
harshithakkapelli11 visualizações
Advanced API Mocking Techniques por Dimpy Adhikary
Advanced API Mocking TechniquesAdvanced API Mocking Techniques
Advanced API Mocking Techniques
Dimpy Adhikary19 visualizações
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ... por Deltares
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
DSD-INT 2023 Wave-Current Interaction at Montrose Tidal Inlet System and Its ...
Deltares9 visualizações

GemStone Update 2023

  • 1. GemStone Update Norm Green and:[ James Foster ] ESUG 2023 Lyon, France August 30, 2023
  • 4. 4 Our History • 41 Years of Continuous Operation – Founded: 1982 (as Servio Logic Corporation) – First Version of GemStone Shipped: 1986 – Name Changed from Servio to GemStone: 1995 – Acquired by Brokat: July 2000 – Management buyout: June 2001 – Acquired by VMware: May 2010 – Acquired by GemTalk Systems: May 2013
  • 5. 5 Financial and Trading Vertical Kapital is the world leading derivatives trading and management system – since 1993 DBO is a very large precious metals trading and settlement system. - since 1990 ICE is the world’s fastest growing electronic trading exchange – since 1994 MMI Holdings – Financial portfolio management system. – since 1995 Lifeware – Cloud-based insurance management solutions – since 2000 Guava – Financial & treasury Software – since 1998 GemStone Powered Business
  • 6. 6 Manufacturing Vertical Works application for semiconductor manufacturing – since 1991 Semiconductor manufacturing software – since 1998 GemStone Powered Business HVAC software – since 2012 Adhesives Manufacturing – since 1997
  • 7. 7 Utilities Vertical TCMS II- Trouble Call Management System V2 GemStone Powered Business GemTalk provides remote administration and emergency on-call support to augment FPL staff
  • 8. 8 Telecommunications Vertical Telecom Service Provisioning for Argentina – since 2004 GemStone Powered Business CONDIS – Inventory and cable management – since 1993 Telecom Workflow Management – since 2013
  • 9. Government Vertical Border Security – since 1996 Visa Processing – since 2004 Dutch Agricultural Institute – agriculture data collection – since 1998 GemStone Powered Business
  • 11. 11 GemTalk In the Community… ▪ Conferences and Groups ▪ Pharo Consortium (Industrial Member) ▪ ESUG (Platinum Sponsor) ▪ FAST (Platinum Sponsor)
  • 13. 13 GemTalk – The Next Generation ▪ Welcome Kurt Kilpela! ▪ Joined GemTalk on May, 2019 ▪ From Kurt’s Cover Letter: Early in my education, I was introduced to Smalltalk. Prior to this, my training was in Java, C, and C++. Initially, it felt bizarre. In just a few days, I fell in love.
  • 14. 14 GemTalk – The Next Generation ▪ Welcome Andres Valloud! ▪ Joined GemTalk in June, 2022 ▪ Projects ▪ x86_64 native code generator improvements ▪ ARM aarch64 native code generator
  • 15. 15 GemTalk – The Next Generation ▪ Welcome Alissa Friel! ▪ Joined GemTalk in August, 2023 ▪ BSc. Computer Science, Portland State University
  • 16. Part 2 GemStone Software: A Lightning Tutorial
  • 17. 17 How Many Have A Good Feel For What GemStone Is? How Many Have Actually Used GemStone ?
  • 18. 18 So What Is This GemStone Thing? • A solution to the limitations of traditional Smalltalk: 1. Object space limited to one VM. 2. Object space limited to one host. 3. Object space limited to available RAM. 4. Object changes (since last image save) lost when VM exits.
  • 19. 19 Welcome To The World Of GemStone! • Object space visible to thousands of VMs on thousands of machines. • Object space limited by disk, not RAM. • Object changes managed by ACID transactions – Atomic – Consistent – Isolated – Durable • Object changes guaranteed persistent once committed.
  • 20. 20 Key Features Of GemStone • Scalability – Billions of objects – Thousands of users. – Thousands of machines. – Thousands of transactions per second. – Terabytes of data.
  • 21. 21 Key Features Of GemStone • Concurrency – Multiple user sessions. – Built-in database transactions. • Commit • Abort • Continue – Optimistic Concurrency • Reduced Conflict Collections – Pessimistic Concurrency • Object-level read/write locks. – Namespaces • Shared and private.
  • 22. 22 Key Features Of GemStone • Security – Object-level security. • User, group, world permissions. – Login Security • User-id / Password • Single-Sign-On (GSSAPI / Kerberos) • LDAP • PAM • X509 Certificate – Administrative Privileges • #GarbageCollection • #OtherPassword • #SystemControl
  • 23. 23 Key Features Of GemStone • 100% Smalltalk (“It’s turtles, all the way down”) – All objects, all the time. – Classes, methods, blocks, exceptions. – ANSI Smalltalk compliant
  • 24. 24 Key Features Of GemStone • Very Large Collection Support – Collections of millions of objects. – Optimized searches using b-tree Indexes: • Equality Indexes (a = b) – AllEmployees detect:{:each| each.lastName = ‘Ducasse’ } • Identity Indexes (a == b) – AllEmployees select:{:each| each.countryOfOrigin == #France }
  • 25. 25 Key Features Of GemStone • Interfaces to Other Smalltalks – VisualWorks® - GemBuilder for VisualWorks® – VA Smalltalk® - GemBuilder for VA Smalltalk® – Pharo – tODE, GsDevKit, Sparkle, gt4Gemstone – Jade / Jadeite (Dolphin, open source) • Interfaces To Other Languages – C/C++ - GemBuilder for C – Java – GemBuilder for Java • Interfaces to Relational Databases – Oracle – GemConnect for Oracle – Postgres – GemConnect for Postgres – Sybase – GemConnect for Sybase (open source)
  • 26. 26 GemStone/S 64 Platforms • Object Server (Database) – Linux: • x86_64 (Intel / AMD) • aarch64 (ARM) ** NEW ** (non-production only) – Apple MacOS: • x86_64 • M1, M2 (Apple Silicone) – Oracle Solaris: x86_64 – IBM: AIX PowerPC 64 bit – Raspberry Pi aarch64 • Object Clients – All of the above, and: • Microsoft Windows 10,11
  • 27. 27 GemBuilder for Smalltalk (GBS) Platforms • Cincom® VisualWorks® 9.1.1 – MS Windows 10/11 – Linux 32/64 bit • Instantiations VA Smalltalk™ 11.0.1, 10.0.2, 8.6.3 – MS Windows 10/11
  • 28. 28 Jade IDE • Open source IDE for all versions of GemStone • Written in Dolphin Smalltalk by James Foster • MS Windows only • Supports all versions of GemStone • Free of charge • Rich set of tools – Browsers – Inspectors – Debuggers • https://github.com/jgfoster/Jade
  • 30. 30 Jadeite IDE • Fork of the Jade project • Currently in development at GemTalk for a customer in Europe • Support for source code control with Rowan and Git • Support for Tonal file format • Migration tools from other SCM systems
  • 31. 31 GemStone/S Licensing Models • Community Editions – Free (as in beer) for any use (including commercial) • Perpetual – Buy once, own it forever • Annual Subscription – Pay annually, cancel any time. • Value Added Reseller (VAR) – Percentage of royalties
  • 32. 32 GemStone Community Edition Starter Limited Full Extended SPC Extended CPU Extended Full License Kind Perpetual Subscription Subscription Subscription Subscription Subscription Cores 2 2 2 2 4 4 SPC 1 G 2 G 2G 4G 2G 4G Gems 10 20 Unlimited Unlimited Unlimited Unlimited Disk 10G 50G Unlimited Unlimited Unlimited Unlimited Development DB Unlimited Unlimited Unlimited Unlimited Unlimited Unlimited Production DB 1 2 Unlimited Unlimited Unlimited Unlimited Tech Support Community Community 5 tickets 10 tickets 10 tickets 20 tickets Price Free Free $1500/yr $3000/yr $3000/yr $6000/yr Distribution With Product Email addr Sales Sales Sales Sales Source: http://gemtalksystems.com/index.php/lc-licensing/
  • 33. 33 Support Models • Web Support (24 x 7) – https://techsupport.gemtalksystems.com – Help requests processed 8 am – 5 pm Pacific Time • Emergency 24 x 7 Support – Available for a premium – GemTalk provides an emergency phone number – Call back to the customer within 15 minutes • Mailing Lists – GLASS – Open source projects: Seaside / GLASS / tODE – GemStone Smalltalk – GemStone-specific – Sign up at: • https://lists.gemtalksystems.com/mailman/listinfo/
  • 36. 36 Recent GS/64 Server Releases • Version 3.7.0 – August 2023 September 2023 • Version 3.7.1 – February 2024 • Version 3.6.x – 3.6.6: May 2023 – 3.6.7: December 2023
  • 37. 37 New In Version 3.6 • Support for DARE (Data At Rest Encryption) – Optional encryption of database extents and tranlogs – Encryption done at the database page level • Each page is encrypted individually – Encryption Mode: XTS-AES • XTS == XEX-based tweaked-codebook mode with ciphertext stealing • Support for 128 and 256 bit XTS keys • XTS is supported by: BestCrypt, TrueCrypt, VeraCrypt, DiskCryptor, MS Bitlocker, wolfCrypt. – Private key (and passphrase) required to start encrypted GemStone database.
  • 38. 38 New In Version 3.6 • Support for DARE (Data At Rest Encryption) – Encrypt / decrypt via copydbf utility • Creating an encrypted database extent: $GEMSTONE/bin/copydbf –e dbCert.pem –s 128 –K /home/normg/certs $GEMSTONE/data/extent0.dbf $GEMSTONE/data/extent0.sdbf • Starting an encrypted database: $GEMSTONE/bin/startstone –D dbPrivateKey.pem –J ~/secrets/passphrase.txt –K /home/normg/keys -z $GEMSTONE/data/system.conf normstone
  • 39. 39 New In Version 3.6 • Restricted System >>performOnServer: – If enabled, each UserProfile has a whitelist of permited performOnServer: commands. – Only commands on the whitelist may be executed. – Default whitelist is empty. – Example of adding a permitted command (git) |up| up := AllUsers userWithId: ‘normg’. up addPrivilege: ‘NoPerformOnServer’ ; addPerformOnServerCommands: (Array with: ‘/usr/bin/git’) .
  • 40. 40 New In Version 3.6 • 4 New Special Classes – Also known as immediate objects – Value encoded in the object ID – Never occupy disk space • SmallDate • SmallDateAndTime • SmallScaledDecimal • SmallTime
  • 41. 41 New In Version 3.6 • gslist output as JSON: normg@moop>gslist -j {"GemStoneServers":[ { "Name":"norm", "Host":"moop", "HostId":"b6f9ea8dee7eca73", "Ip":"10.94.141.31", "Status":"Exists", "Type":"Stone", "Version":"3.6.0", "Creator":"normg", "Started":"2020-09-21T12:44:59.000-07:00", "Pid": 7733, "Port": 38423, ….
  • 42. 42 New in Version 3.6 • Amazon AWS Customer Master Key (CMK) Support – Encrypted data stored in GemStone. – Encryption keys managed by AWS. – Cloud user controls if/when data is unlocked and accessed.
  • 43. 43 Version 3.7 • Performance, performance, performance! – We’ve made everything faster • startstone • stopstone • markForCollection • Backup • Restore • page reclaim • Smalltalk VM (thanks Andres!)
  • 44. 44 Version 3.7 • Support Monitoring GemStone with Prometheus – “Prometheus is an open-source systems monitoring and alerting toolkit originally built at SoundCloud. Since its inception in 2012, many companies and organizations have adopted Prometheus, and the project has a very active developer and user community. It is now a standalone open source project and maintained independently of any company.” - https://prometheus.io
  • 46. 46 Version 3.7 • Faster Smalltalk VM on x86_64 – Native code generator optimized by Andres Valloud – Reduce number of instructions and number of branches – Better branch prediction – Average ~35% improvement
  • 47. 47 Version 3.7 • Microsoft Azure Customer Master Key (CMK) Support – Encrypted data stored in GemStone. – Encryption keys managed by Azure.
  • 48. 48 Version 3.7 • Fast Instance Migration – Migrate and commit all instances of up to 2000 classes in a single operation. – Multi-threaded: uses multiple C threads for speed. – Typical Use Case: Add a new instance variable.
  • 49. 49 Version 3.7 • OpenSSL upgraded from v1.1.1x to version v3.0.x • ssh Support – New Class: GsSshSocket – Execute remote commands via ssh • sftp Support – New Classes: GsSftpSocket, GsSftpRemoteFile – Upload and download files via sftp
  • 50. 50 Version 3.7 • Faster Read Streams on Strings – New Class: ReadByteStream – Optimized for reading String and byte objects. • String Auto Promotion to Unicode16 – When a code point greater than 255 is added to a String, it is promoted to Unicode16.
  • 51. 51 Version 3.7 • New Cryptographic Hash Methods (to play nicer with Pharo…) – We can now a hash result as any of: • LargeInteger • String • ByteArray (new) ‘abc’ perform: #sha256Sum -Answers a String of hex digits ‘abc’ perform: #sha256SumBytes -Answers a ByteArray
  • 52. 52 Version 3.7 • Native Support for FileSystem – FileSystem is now included in the GemStone base image – Code ported from Pharo – Major Classes • FileReference • FileSystem • FileLocator • FsFileDescriptor
  • 53. 53 Version 3.7 • New GsSecureSocket features: – GsSecureSocket == GemStone’s TLS Socket Interface – Pre-shared keys (PSK) • Connect using a secret known to both the client and server. – Anonymous TLS • Encrypted connection with no authentication
  • 54. 54 Version 3.7 • Customer-defined Special (Immediate) Objects – 16 new Immediate classes for use by customers – Each instance stores up to 56 bits of customer-defined data – Example: Money • Currency (4 bits): – Euro – US$ – CAN$ – Yen • Amount (52 bits) – Answers a Scaled Decimal • Example code shipped in: – $GEMSTONE/examples/smalltalk/Money.gs
  • 55. 55 Version 3.7 • One-time Passwords – Create a temporary password valid for a single login. – Password lifetime specified in seconds. – Example: GsCurrentSession currentSession createOneTimePasswordForUserId: ‘NormG’ validForSeconds: 60
  • 56. 56 Version 3.7 • Rowan – GemStone’s New Package Manager – Preview Version Only. – Talk to Dale
  • 57. 57 Version 3.7.1 • Native Code Support on Linux ARM64 – 3.7.0 supports only interpreted mode • Still More VM improvements on Linux x86_64 – Thanks Again Andres! • Bug fixes
  • 58. 58 Version 3.8 and Beyond… • Native ROWAN support – ROWAN is a new package manager that supports FileTree and Tonel repositories. – https://github.com/GemTalk/Rowan • Pharo Support (Sparkle) – Not GBS for Pharo – Inspectors and debuggers – Work In progress. – https://github.com/GemTalk/Sparkle – No GA date yet. – Martin’s UK Smalltalk talk: https://vimeo.com/676889959 – More in Martin McClure’s talk Thursday @ 9 am
  • 59. 59 New Open-Source Projects • Jadite For Pharo – Pharo IDE for GemStone Code Development Using Rowan – Work in progress, NOT ready for prime-time – Talk to Dale • https://github.com/GemTalk/JadeiteForPharo
  • 60. 60 New Open-Source Projects • GemConnect for Postgres – 100% Smalltalk code via FFI – Requires GemStone/64 v3.6.2 or later – Available as open source on github: • https://github.com/GemTalk/GemConnect-for-Postgres • GemConnect for RabbitMQ – 100% Smalltalk code via FFI – Requires GemStone/64 v3.6.4 or later – Available as open source on github: • https://github.com/GemTalk/GemConnectForRabbitMQ
  • 61. Questions? 61 GemTalk Systems LLC 15220 NW Greenbrier Pkwy., Suite 240 Beaverton, Oregon, 97006 Mobile: (503) 804-2041 norm.green@gemtalksystems.com Norman R. Green Senior VP & Chief Technical Officer www.gemtalksystems.com ®