22
…a long and winding tODE Dale Henrichs GemTalk Systems ESUG 2014

a long and winding tODE

  • Upload
    esug

  • View
    105

  • Download
    1

Embed Size (px)

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.

Citation preview

Page 1: a long and winding tODE

…a long and winding tODEDale Henrichs

GemTalk Systems ESUG 2014

Page 2: a long and winding tODE

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

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

the Object-centric Development Environment (2011)

Page 5: a long and winding tODE

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

the Object-centric Development Environment

Page 7: a long and winding tODE

the Object-centric Development Environment (2012)

Page 8: a long and winding tODE

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

the Object-centric Development Environment (2012)

Page 10: a long and winding tODE

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

tODE object shell

Page 12: a long and winding tODE

tODE object shell

Page 13: a long and winding tODE

tODE object shell

Page 14: a long and winding tODE

Debugger

Page 15: a long and winding tODE

Debugger/Browser nesting

Page 16: a long and winding tODE

Inspector (navigator)

Page 17: a long and winding tODE

git support

Page 18: a long and winding tODE

git commit log browsing

Page 19: a long and winding tODE

the Object-centric Development Environment (2014)

Page 20: a long and winding tODE

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

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

Resources

• GemTalk Systems

• http://gemtalksystems.com/

• GsDevKit GitHub project

• https://github.com/GsDevKit/gsDevKitHome#open-source-development-kit-for-gemstones-64-bit-