This time in Squeak 4.6, released in July, 2015 (4.0 was released in March, 2010). It’s 32-bit, so I had a bunch of libraries to install into a container before I could get this going.

Show thread

And another, this time in Squeak 3.9, released in Mar, 2008 (3.0 was released in June, 2001). I quite like the Unix-like handles on the corners of the windows, and the same handles for resizing splits.

Show thread

Once again, now in Squeak 2.8, released in August, 2000 (2.0 was released in May, 1998). Now I know where the assortment of window border colours came from! This seems to be the last version to use the eponymous MVC-based user interface. I love left-hand scrollbars. Morphic is available as a preview. No unit testing classes.

Show thread

I would have liked to have also taken a look at versions 1.1–1.3 tonight but I can’t find versions of the VM which both compile and are compatible with the image formats. 😤

Show thread

Going back to Squeak 2.8… by default it displays in 8-bit colour, and results in every colour being translucent. You can make things out if you place it over a dark background. It also does this in 16-bit. It’s fine in 32-bit, except for text selections, the background of which become completely transparent.

Show thread

I do not — and do not want to — know enough about the X windowing system to know why it does this, but since Squeak 3 doesn’t do this, I feel annoyingly compelled to find out why.

Show thread

Turns out, Squeak 3 does do this after all, it just defaults to 32-bit colour… but Squeak 4 does not, at any colour depth. Squeak 4’s VM was new and support for X windows uses a plugin architecture, perhaps the back-end was reworked.

Show thread

I think I’ve found the inflection point: Squeak 3.10.2 suffers from translucency, but Squeak 4.0 — which was a re-licensing release and should be functionally equivalent to 3.10.2 — does not.

Show thread

The 3.10.2 image run in the VM released with 4.0 also doesn’t have any problems with translucency… so at least I know the VM is the issue, and not the image.

Show thread

Back to the ‘Hello, world!’ Shouter class: this time in Squeak 1.31, released in January, 1998. This looks almost identical to Squeak 2.8 but the Method Finder is missing and Morphic shows much earlier progress.

Show thread

Squeak 1.13 is the earliest (and last) version of Squeak I’d like to get running, but whilst the earliest Unix port (from 1.22) compiles fine, it has a segmentation fault. I wonder whether it would be quicker to run the Mac release in an emulator.

Show thread

I found the Unix port release for 1.13. It also compiles fine. It does not have a segmentation fault. It does immediately exit with ‘Could not find an 8-bit PseudoColor visual’.

Show thread

I’ve continued to explore Squeak these past two days and I’m coming to the conclusion that due to a combination of some not particularly platform independent features of early images, and the time it took the Unix VM to reach feature parity with the Mac releases, I’m going to have a hard time exploring very early versions of Squeak.

Show thread

Here’s Squeak 1.13, from October, 1996! The image, changes and sources files are on the Squeak Web site, but the Macintosh VM (or its installer) isn’t… so this one is from the 1.20 release (although it seems fine). Morphic is not present in this release, it’s strictly MVC!

Show thread
Follow

I started this thread with Pharo, a Squeak fork, but there is another fork, Cuis. Its functionality is quite pared-down from Squeak, with quite fewer classes. The layout of the system browser, debugger and so on is similar to their early Morphic versions in Squeak.

· · Web · 4 · 4 · 4

I’m ending this thread with Dan Banay’s very recent by-the-book (the blue one!) implementation of Smalltalk, which runs Xerox PARC’s release of Smalltalk-80 version 2 very nicely. github.com/dbanay/Smalltalk

Show thread

I’m not particularly interested in commercial implementations and I have more than enough to explore: Smalltalk’s implementation of the original model-view-controller pattern, Squeak’s self-hosted virtual machine simulator and early versions of Morphic, and Cuis’s modern yet minimal class library.

Show thread

@amdt I started #Smalltalk with Squeak, then Pharo for many years, and now I am using Cuis. Cuis is a craftsman job: clean, coherent and easy to understand. Its GUI Morphic has been vastly redesigned to be coherent and much easier to use. I like it very much. There is the VectorGraphics system written in Smalltalk (no external library). See my recent post on the experimental circular toolbar.

@drgeo I like Pharo’s features but exploring how some things are implemented involves so many levels of indirection and abstraction… so Cuis is refreshing! I hope something can be done about the font size and window colours, though. 😅

@amdt @drgeo

You get it right: Pharo grows in complexity at a point you can't understand its code. That's the conclusion I got too.
Font size can be changed, the graphic theme too (there are dark themes), see the Preference menu.

Regarding font, the pre-rendered bitmap font are computed with the #CuisSmalltalk VectorGraphics packages (100% #smalltalk code)

@hilaire That’s quite a bit nicer than the defaults! I’ll have a play around with the preferences.

@amdt @drgeo Font size is easy. Just click on the Desktop and Preferences -> Font Size.

What would be better colors?

@amdt @drgeo Anyway these colors are themeable. You can subclass the Theme class and then set it to your preferences.

@amdt I didn't know about Cuis. I should check it out!

@amdt Oh, by the way, the #CuisSmalltalk Morphic system is not at all similar to the earlier version of #Squeak Morphic. It is also a redesign.
The more notable two points are:
1. Each Morph comes with its own coordinates system (origin at its top left) in Squeak/Pharo each Morph as its origin at the top left of the screen and its annoying when composing Morphs
2. The canvas will be vectorized. The code is already working.
There are other nice features like its package system.

@hilaire @amdt ad 1. I applaud you for the design decision, it's annoying in squeak and I stumble over it a lot
Sign in to participate in the conversation
Mastodon

Server run by the main developers of the project 🐘 It is not focused on any particular niche interest - everyone is welcome as long as you follow our code of conduct!