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 ( http://drgeo.eu/ ) 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 access to
source code, Dr. Geo integrated scripting and programmed figure as well as
code introspection from the application itself in an interactive
programming environment.
Hilaire currently teaches in a junior high school in Geneva where he uses
Dr. Geo to teach mathematics (geometry) and basic programming.
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 ( https://www.meetup.com/UKSTUG/events/cbklbryccmbdc/ ) to receive the
meeting details. Don’t forget to bring your laptop and drinks!
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 ( https://marcusdenker.de/ ) is a permanent researcher at INRIA
Lille - Nord Europe ( http://www.inria.fr/lille/ ). 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 languages. Marcus Denker received a PhD in
Computer Science from the University of Bern/Switzerland in 2008 and a
Dipl.-Inform. (MSc) from the University of Karlsruhe/Germany in 2004. He
co-founded Zweidenker GmbH ( https://zweidenker.de/ ) in 2009.
Given the current COVID-19 restrictions, 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 ( https://www.meetup.com/UKSTUG/events/cbklbrycclbhc/ ) to receive the
meeting details. Don’t forget to bring your laptop and drinks!
The next meeting of the UK Smalltalk User Group will be on Wednesday, July
30th.
Russell Allen will talk to us about Self ( https://selflanguage.org/ ).
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 ( https://twitter.com/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
challenges it faces for the future.
Given the current COVID-19 restrictions, this will be an online meeting
from home. Please note that the meeting will start later than usual, to
accommodate the speaker who will connect from Australia.
If you'd like to join us, please sign up in advance on the meeting's Meetup
page ( https://www.meetup.com/UKSTUG/events/cbklbrycckblc/ ) to receive the
meeting details. Don’t forget to bring your laptop and drinks!
The next meeting of the UK Smalltalk User Group will be on Wednesday, June
30th.
Hernan Wilkinson ( https://twitter.com/HernanWilkinson ) 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 ( https://github.com/hernanwilkinson/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 finally,
the main objective is not to carry out a static type checking (although it
supports it), but to augment the programmers experience increasing the
usability of current tools such as searching for senders and implementers,
and performing more accurate and safe refactorings.
In this talk Hernan will briefly show how LiveTyping is implemented to
later concentrate on the improvements made to the tools and the benefits it
brings when developing software with Smalltalk.
LiveTyping is currently implemented in Cuis Smalltalk (
https://cuis-smalltalk.org/ ) and has been successfully used for the last
two years in three different universities in Argentina when teaching Object
Oriented Programming and Design.
Given the current COVID-19 restrictions, 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 ( https://www.meetup.com/UKSTUG/events/cbklbryccjbfc/ ) to receive the
meeting details. Don’t forget to bring your laptop and drinks!
The next meeting of the UK Smalltalk User Group will be on Wednesday, May
26th.
Caffeine ( https://caffeine.js.org ) 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 ( https://blackpagedigital.com ) 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 online meeting
from home.
If you'd like to join us, please sign up in advance on the meeting's Meetup
page ( https://www.meetup.com/UKSTUG/events/cbklbrycchbjc/ ) to receive the
meeting details. Don’t forget to bring your laptop and drinks!
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 meeting from home.
If you'd like to join us, please sign up in advance on the meeting's Meetup
page ( https://www.meetup.com/UKSTUG/events/cbklbryccgblc/ ) to receive the
meeting details. Don’t forget to bring your laptop and drinks!
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 is a long standing member of the Open Source Smalltalk community. He
started Cuis Smalltalk ( https://www.cuis-smalltalk.org/ ) 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 Aires.
Given the current COVID-19 restrictions, 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 ( https://www.meetup.com/UKSTUG/events/cbklbryccfbgc/ ) to receive the
meeting details. Don’t forget to bring your laptop and drinks!
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 [1], created by Nicolas Petton, is a Smalltalk implemented in
JavaScript running in a web browser. Silk [2], 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 [3] 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 [4] 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 facade for a DOM node in the
browser allowing the programmer to build up and manipulate the DOM in a
direct way. Silk is so easy and intuitive that it never stood in the way
and just worked. So, I could just concentrate on the complexities of the
web (and the app).
In this presentation I will walk you through the setup, show you the Amber
tools and explore what you can do with Silk. I will try to justify my
enthusiasm and appreciation for Silk :-).
About me: My name is Christian Haider [5] and I use Smalltalk since the
mid-90s. Fortunately, I earn my living with Smalltalk and use it on a daily
bases (mostly VisualWorks). I like programming UIs and graphics. My largest
open source contribution is a PDF library [6], the most significant one is
Values [7].
[1] https://amber-lang.net/
[2]
https://smalltalkrenaissance.wordpress.com/2015/06/29/silk-is-just-too-flex…
[3] https://unsere-gelder.de/ (in German)[4]
https://covidcrt.uber.space/ (sources
at https://github.com/ChristianHaider/CoViD19UI)
[5] https://christianhaider.de/ (in German)[6]
https://wiki.pdftalk.de/doku.php
[7] https://wiki.pdftalk.de/doku.php?id=complexvalues
Given the current COVID-19 restrictions, 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 ( https://www.meetup.com/UKSTUG/events/cbklbryccdbgc/ ) to receive the
meeting details. Don’t forget to bring your laptop and drinks!
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 (
https://www.raspberrypi.org/ ), a popular family of ARM-based systems.
Interesting aspects that will be investigated are the overhead involved in
bringing the system to life and debugging it, adapting the system to
different Raspberry Pi models, and constraints due to properties of the
hardware and the Smalltalk-80 VM.
Michael Engel ( https://multicores.org/ ) is associate professor for
compiler design at the Norwegian University of Science and Technology
(NTNU) in Trondheim/Norway. His research interests lie on the intersection
of compilers, operating systems and modern hardware. In previous positions,
Michael worked at different German Universities as well as Oracle Labs
Cambridge and Leeds Beckett University. He also was founder and CTO of
kernel concepts, the first German company working with embedded Linux
systems in 1999.
Given the current COVID-19 restrictions, 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 ( https://www.meetup.com/UKSTUG/events/cbklbrycccbkc/ ) to receive the
meeting details. Don’t forget to bring your laptop and drinks!
The UK Smalltalk User Group will have an extra meeting this year on
Wednesday, December 30th.
feenk's Tudor Girba will present the latest in moldable development with
Glamorous Toolkit.
Moldable development is an approach to programming through which we make
the inside of software systems explainable. Glamorous Toolkit makes it
practical. And beautiful.
Given the current COVID-19 restrictions, 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 ( https://www.meetup.com/UKSTUG/events/275119813/ ) to receive the
meeting details. Don’t forget to bring your laptop and drinks!