Posts

Showing posts from 2021

JsSqueak - Wednesday, December 29th

For our December meeting, Florin Mateoc will show us JsSqueak , a JavaScript implementation of (JavaScript compiled) Squeak. Whereas SqueakJS or TruffleSqueak are implementations of the Squeak stack VM which run the Squeak bytecodes, JsSqueak compiles all the Squeak code to JavaScript (including the VM plugins), it exports the image state as one big JavaScript storeString, and then loads them, and runs the JavaScript implemented minimal VM (mostly primitives) and the JavaScript-translated Squeak methods as one combined JavaScript application. The compiled JavaScript application can be run either in a browser or in Node.js While JavaScript, especially with its newest additions, is a very powerful language, which allows us to implement most Smalltalk-specific features (e.g. processes/green threads are implemented using generator functions and recursive yield* for all invocations, DNU is implemented using proxies and proto manipulation, the Smalltalk parallel class hierarchy is implemente

A Tour of Architectural Abstraction with Objective-S - Wednesday, November 24th

This month, the UKSTUG will take a look at Objective-S , an architecture-oriented programming language based on Smalltalk and Objective-C, by hosting his creator Marcel Weiher. As per Alan Kay, “Code seems large and complicated for what it does” . Objective-S addresses one source of this accidental complexity: using software architectural abstraction to directly expresses the much wider variety of architectural styles typical of modern software systems, compared to traditional programming languages that still follow the call/return architectural style of scientific programs from the early days of computing. Marcel Weiher started his forays into dynamic object-oriented computing by implementing Objective-C on his Amiga 35 years ago and hasn’t stopped since. Stops on the way have been at Apple, the BBC, Microsoft and various startups, as well as contributing to Squeak. He is currently a principal software engineer at Citymapper and PhD student at HPI, where he is trying to distill some

Cincom Smalltalk 9.1 - Wednesday, October 27th

For this month's meeting, Cincom Smalltalk product manager Arden Thomas will discuss recent product changes and improvements and demonstrate some tools and features of ObjectStudio and VisualWorks 9.1. Arden started working with Smalltalk in 1986, looking for a better way to do software development – and he found it. Arden built factory floor layout tools for IBM, worked at ParcPlace as an SE, an instructor, and consultant, and at a hedge fund building financial analysis tools. Arden is currently the product manager for Cincom Smalltalk. This will be an online meeting from home. If you'd like to join us, please sign up in advance on the meeting's Meetup page to receive the meeting details. Don’t forget to bring your laptop and drinks!   Update 30 November 2021: the recording of the presentation is now available on Vimeo .

Dr. Geo - Wednesday, September 29th

The next meeting of the UK Smalltalk User Group will be on Wednesday, September 29th. For this month's meeting, we take a look at an example of an application written in Smalltalk. Specifically, one that fits in a cultural tradition that is as old as Smalltalk itself, if not older: that of using computers as tools to teach powerful ideas and to augment thinking. Dr. Geo is an interactive geometry software with programming capabilities in Smalltalk. Dr. Geo aims to be an open, easy to study, modify and extend interactive geometry software. Ten years old kids use Dr. Geo to explore Euclidean geometric sketches; agile kids extend and program it with its embedded dynamic Pharo language and user interface. Hilaire Fernandes started the development of Dr. Geo in 1996. In 1998, he ported it to GNU/Linux at a time where no interactive geometry software existed on this system. It latter became officially a GNU application blessed by Richard Stallman. In the spirit of free software and acce

One year of presentations

With the latest uploads, we have now reached one full year of published UKSTUG presentations. These cover most of the Smalltalk dialects and a wide range of topics. You can check out all the presentations on Vimeo . Many thanks to all the presenters, and to everyone who attended the meetings!

Variables in Pharo - Wednesday, August 25th

The next meeting of the UK Smalltalk User Group will be on Wednesday, August 25th. Marcus Denker will talk about Variables in Pharo. We like to say that “Everything is an Object” in Smalltalk. This is true in many cases: Classes, methods, even the execution stack are reflectively available as objects. This talk shows how this idea can be extended to Variables and how Pharo implements first-class Variables for Globals, instance Variables, Class Variables, and even temporary variables. This presentation explores the Variable hierarchy, shows how variables simplify the compiler and how the reflective API provided by variables is used by the debugger. In a hands-on tutorial, we extend the language by defining new kinds of Variables. Marcus is a permanent researcher at INRIA Lille - Nord Europe . Before, he was a postdoc at the PLEIAD lab/DCC University of Chile and the Software Composition Group, University of Bern. His research focuses on reflection and meta-programming for dynamic langu

Self - Wednesday 28th July 2021

The next meeting of the UK Smalltalk User Group will be on Wednesday, July 30th. Russell Allen will talk to us about Self . Dating back to the late 1980s, Self is a prototype based programming language and environment in the broader Smalltalk family. Although Self has always been a niche research system, its influence can still be seen in areas as diverse as the fast VMs of Java and Javascript, in the prototype semantics of Javascript, and in the Morphic user interface used by Squeak, Pharo and Cuis. Russell Allen has a background in law and computers and first came across Self in the late 1990s. Around 2008 he helped get Self running on Linux x86, set up the Self website and GitHub account, and for the last decade or so he has been helping keep Self as a project alive. In this talk, Russell will demonstrate Self as a running system, including the object semantics, language, and the multi-user Morphic development environment. he’ll talk about the current status of the project and the

LiveTyping - Wednesday, June 30th

 The next meeting of the UK Smalltalk User Group will be on Wednesday, June 30th.   Hernan Wilkinson will talk about his LiveTyping project. Currently, almost all mainstream dynamically typed languages support type annotation a la Strongtalk. Python calls it "type hints", TypeScript is JavaScript+type annotations, PHP calls it "type declarations" and Ruby does it through a tool called Sorbet. All of them annotate the types in the source code and it is the programmer who must write and maintain the annotation. In all cases, it is not mandatory for the system to correctly type check for it to run. LiveTyping is a type system proposal for Smalltalk, that seeks similar objectives but implemented in a different way. First, it is the environment itself that collects and maintains the types based on the execution of the system, not the programmer. Second, the types are not interleaved in the source code, thus maintaining the syntax and simplicity of the language. And fin

Craig Latta on Caffeine - Wednesday, May 26th

  The next meeting of the UK Smalltalk User Group will be on Wednesday, May 26th. Caffeine is a livecoded integration of the SqueakJS Smalltalkvirtual machine with the Web platform and its many frameworks. Craig Latta will show the current state of Caffeine development through live manipulation and combination of those frameworks. The primary vehicle is a Caffeine app called Worldly, combining the A-Frame VR framework, screen-sharing, and the Chrome Debugging Protocol into an immersive virtual-reality workspace. Craig Latta is a livecoding composer from California. He studied music at Berkeley, where he learned Smalltalk as an improvisation practice. He has worked as a research computer scientist at Atari Games, IBM's Watson lab, and Lam Research. In 2016 he began combining Smalltalk technologies with the Web platform, with an emphasis on spatial computing. He is currently exploring spatial audio for immersive workspaces. Given the current COVID-19 restrictions, this will be an o

Pharo 9: A giant leap - Wednesday, April 28th

The next meeting of the UK Smalltalk User Group will be on Wednesday, April 28th. Esteban Lorenzano will give us an update on Pharo : What's new? What is updated? What remains? This talk will present (and show working!) the Pharo 9 roadmap and principal changes made to Pharo since the release of the previous version. Esteban studied Computer Sciences at Universidad de Buenos Aires, and worked since 1994 in many object-oriented and low-level technologies in different software companies, serving in various positions from junior programmer to senior architect. In 2007 he co-founded Smallworks to offer Pharo-based agile development projects. Since 2012 he dedicated full time to developing the Pharo code and community. He works for the Pharo Consortium in Lille, France, as lead developer for Pharo and being responsible with the coordination of new releases and the implementation and maintenance of several Pharo libraries. Given the current COVID-19 restrictions, this will be an online

Vector Graphics in Cuis Smalltalk - Wednesday 31st March

The next meeting of the UK Smalltalk User Group will be on Wednesday, March 31st.   In this meeting, Juan Vuletich will present a Vector Graphic implementation in Cuis Smalltalk. Graphics for interactive software have traditionally been constrained for performance reasons. The consequence is that most software has serious trouble adapting to higher resolution screens, requires platform specific widget kits, provides limited functionality, and has sub optimal visual quality. But improvements in computing power over the last couple of decades enable a brighter future: Cuis Smalltalk provides a VectorGraphics based implementation of the Morphic UI framework that addresses all these issues. Juan Vuletich is a long standing member of the Open Source Smalltalk community. He started Cuis Smalltalk 12 years ago and has led it ever since. He has been contributing kernel code to Squeak and the Squeak VM for over 20 years. He holds an Ms.Sc. in Computer Science from the University of Buenos Air

Amber with Silk - Wednesday, February 24th

 The next meeting of the UK Smalltalk User Group will be on Wednesday, February 24th.   Christian Haider will guide us in a tour of the Amber dialect of Smalltalk and its Silk web framework. In his own words... Amber , created by Nicolas Petton, is a Smalltalk implemented in JavaScript running in a web browser. Silk , written by the Amber maintainer Herby Vojčík, is a web framework in Amber.    I was looking for a good solution for the web for a long time. At the last ESUG, I was bugging everybody about a Smalltalk in the browser, because I decided to redo the frontend of my current project in Smalltalk instead of JavaScript. There were some developments, but only Amber was available. So I tried it for real on a little side project ( sources ) to see if this route is viable - spoiler: it is!   Silk, the web framework, caught my attention and I fell in love with it. Silk is very simple, straight forward and powerful, just the properties I love Smalltalk for. A Silk is basically a faca

A Bare-Metal Smalltalk-80 System for the Raspberry Pi - Wednesday, January 27th

The next meeting of the UK Smalltalk User Group will be on Wednesday, January 27th. For this presentation, guest speaker Michael Engel will bring us back to basics with a bare-metal Smalltalk-80 system for the Raspberry Pi. In 2020, the Xerox PARC research laboratory celebrated its 50th anniversary. One of the most important developments coming out of PARC is the Smalltalk system, which integrates a programming language, operating system and graphical user interface. Today, most of the Smalltalk systems run in hosted mode on a conventional operating system. This contradicts Dan Ingalls' idea that "an operating system is a collection of things that don't fit inside a language; there shouldn't be one". Accordingly, original Smalltalk systems, e.g. for the Alto workstation, ran on the bare metal of the computer. In this talk, we will discuss an approach to create a bare-metal Smalltalk-80 implementation for the Raspberry Pi , a popular family of ARM-based systems. In