pharo-users@lists.pharo.org

Any question about pharo is welcome

View all threads

Creating tiny Pharo images

ES
erik.stel@gmail.com
Sat, Dec 31, 2022 6:07 PM

Hi all.

I have created a bootstrap helper package to create tiny Pharo images. I use this for CodeParadise, but it can also be used to create tiny images which run outside the browser. It can create both 32 and 64 bit images. A tiny image is around 200 to 300Kb.

Two example usages are present. See the README in the repo.

https://github.com/ErikOnBike/TinyBootstrap

Happy 2023 and happy Smalltalking!

Hi all.\ \ I have created a bootstrap helper package to create tiny Pharo images. I use this for CodeParadise, but it can also be used to create tiny images which run outside the browser. It can create both 32 and 64 bit images. A tiny image is around 200 to 300Kb.\ \ Two example usages are present. See the README in the repo.\ \ [https://github.com/ErikOnBike/TinyBootstrap](https://github.com/ErikOnBike/TinyBootstrap "https://github.com/ErikOnBike/TinyBootstrap")\ \ Happy 2023 and happy Smalltalking!
TM
Tim Mackinnon
Sun, Jan 1, 2023 12:51 PM

This is awesome Erik - thanks for documenting it. There are so many things we can pursue in 2023!

Tim

On 31 Dec 2022, at 13:08, erik.stel@gmail.com wrote:


Hi all.

I have created a bootstrap helper package to create tiny Pharo images. I use this for CodeParadise, but it can also be used to create tiny images which run outside the browser. It can create both 32 and 64 bit images. A tiny image is around 200 to 300Kb.

Two example usages are present. See the README in the repo.

https://github.com/ErikOnBike/TinyBootstrap

Happy 2023 and happy Smalltalking!

This is awesome Erik - thanks for documenting it. There are so many things we can pursue in 2023! Tim > On 31 Dec 2022, at 13:08, erik.stel@gmail.com wrote: > >  > Hi all. > > I have created a bootstrap helper package to create tiny Pharo images. I use this for CodeParadise, but it can also be used to create tiny images which run outside the browser. It can create both 32 and 64 bit images. A tiny image is around 200 to 300Kb. > > Two example usages are present. See the README in the repo. > > https://github.com/ErikOnBike/TinyBootstrap > > Happy 2023 and happy Smalltalking! >
ES
erik.stel@gmail.com
Sun, Jan 15, 2023 9:30 PM

Hi all.

I added a 'dynamic' image to the TinyBootstrap repo. It is a tiny image containing a pre-installed code loader. This code loader allows you to load additional classes and methods and (optionally) save this in the image. Code (in the form of a class method) can be executed from the command line. Once the image has the required content and functions as expected, it can be 'fused' in which case the code loader is removed from the image and only the defined functionality remains. To allow code to be installed from a regular Pharo 10 image, a small TinyTools repo is available which allows generation of code files. It also contains a small 'Inspector' class which simply prints out all classes (and optionally methods) which are present in the image. Installing this class is explained in the TinyTools readme.

The encoder/decoder combi used is an adapted version of the encoder/decoder in CodeParadise which are used to send code and objects between browser and application server.

Have fun Smalltalking to tiny images!
https://github.com/ErikOnBike/TinyTools
https://github.com/ErikOnBike/TinyBootstrap/blob/main/README.md#dynamic-image

Hi all.\ \ I added a 'dynamic' image to the TinyBootstrap repo. It is a tiny image containing a pre-installed code loader. This code loader allows you to load additional classes and methods and (optionally) save this in the image. Code (in the form of a class method) can be executed from the command line. Once the image has the required content and functions as expected, it can be 'fused' in which case the code loader is removed from the image and only the defined functionality remains. To allow code to be installed from a regular Pharo 10 image, a small TinyTools repo is available which allows generation of code files. It also contains a small 'Inspector' class which simply prints out all classes (and optionally methods) which are present in the image. Installing this class is explained in the TinyTools readme.\ \ The encoder/decoder combi used is an adapted version of the encoder/decoder in CodeParadise which are used to send code and objects between browser and application server. \ \ Have fun Smalltalking to tiny images! \ [https://github.com/ErikOnBike/TinyTools](https://github.com/ErikOnBike/TinyTools "https://github.com/ErikOnBike/TinyTools")\ [https://github.com/ErikOnBike/TinyBootstrap/blob/main/README.md#dynamic-image](https://github.com/ErikOnBike/TinyBootstrap/blob/main/README.md#dynamic-image "https://github.com/ErikOnBike/TinyBootstrap/blob/main/README.md#dynamic-image")