a long and winding tode
DESCRIPTION
Title: ... a long and winding tODE Speaker: Dale Henrichs Mon, August 18, 11:30am – 12:00pm Video: https://www.youtube.com/watch?v=P1DDt_RTXzs Abstract: tODE (the Object-centric Development Environment) has been under development by Dale for several years. Originally written to run in a web-browser, the current version of tODE runs with a Pharo3.0 client against a GemStone/S 3.x server. In addition to the unique windowing environment and Smalltalk-based scripting shell, tODE now features fully integrated support for git-based development and a novel interface to the file system. The new interface extends the object space beyond the bounds of the image and onto the file system where objects and scripts can be shared between images and users. In this talk, Dale will describe and demonstrate the newest features. Bio: Dale has been working in Smalltalk since 1985 when he developed an internal application on the Tektronix 4404. The internal application was used at Tektronix for at least 25 years and may still be in use today! Since 1985 he has been lucky enough to work in Smalltalk nearly full-time, spending the last 15 years at GemStone give or take a couple of years.TRANSCRIPT
![Page 1: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/1.jpg)
…a long and winding tODEDale Henrichs
GemTalk Systems ESUG 2014
![Page 2: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/2.jpg)
GLASS/GemTools (2007)
• GemStone, Linux, Apache, Seaside, Smalltalk
• a VMware Appliance
• GemTools
• OmniBrowser based development environment for GLASS
![Page 3: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/3.jpg)
GemTools (2011)
• OmniBrowser starting to fade
• GemTools continued to exhibit poor WAN performance and really needed to be replaced!
![Page 4: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/4.jpg)
the Object-centric Development Environment (2011)
![Page 5: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/5.jpg)
the Object-centric Development Environment
• difficult to implement IN Seaside a debugger to DEBUG Seaside
• had to know “too much Seaside” to implement tools
• shouldn’t need Phd in client-side programming to write simple tools
![Page 6: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/6.jpg)
the Object-centric Development Environment
![Page 7: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/7.jpg)
the Object-centric Development Environment (2012)
![Page 8: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/8.jpg)
thin tODE client
• two window types in tODE: list and text
• single pane windows mean minimum network round trips
• window specification (contents/menus/actions) specified in a STON object
• all tool code is written in terms of server environment
• STON used to pass objects between client and server
![Page 9: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/9.jpg)
the Object-centric Development Environment (2012)
![Page 10: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/10.jpg)
object shell
• CLI for Smalltalk modeled on the UNIX shell
• commands with posix-style argument handling
• scripts implemented as Smalltalk workspaces callable from the CLI
• directory structure based on objects instead of files
![Page 11: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/11.jpg)
tODE object shell
![Page 12: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/12.jpg)
tODE object shell
![Page 13: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/13.jpg)
tODE object shell
![Page 14: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/14.jpg)
Debugger
![Page 15: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/15.jpg)
Debugger/Browser nesting
![Page 16: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/16.jpg)
Inspector (navigator)
![Page 17: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/17.jpg)
git support
![Page 18: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/18.jpg)
git commit log browsing
![Page 19: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/19.jpg)
the Object-centric Development Environment (2014)
![Page 20: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/20.jpg)
Status
• tODE was “released” as pre-alpha in June
• I still need to write more documentation
• roughly 1/2 of the commands will be rewritten
• this fall a Senior project at Hasso Plattner Institut will port tODE client to Squeak
![Page 21: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/21.jpg)
GsDevkit (alpha)
• Open Source Development Kit for GemStone/S 64 Bit
• GitHub project: https://github.com/GsDevKit/gsDevKitHome
• set of installation and management scripts
• Pharo/Squeak compatibility layer (GLASS)
• support Seaside, Magritte, Pier, Zinc and other projects ported to GemStone/S
• “FREE for commercial use” license
• 2CPU, 2GB SPC, 50G repository
![Page 22: a long and winding tODE](https://reader034.vdocument.in/reader034/viewer/2022051609/547ea7f3b37959582b8b551f/html5/thumbnails/22.jpg)
Resources
• GemTalk Systems
• http://gemtalksystems.com/
• GsDevKit GitHub project
• https://github.com/GsDevKit/gsDevKitHome#open-source-development-kit-for-gemstones-64-bit-