Category Archives: Unsorted

Dispatching tasks to multiple VMs


[ann] PetitParser on github


I just finished the migration of PetitParser (1) on Github: <> .

I created a release v1.9.2 which mirrors latest release of Smalltalkhub.



[ann] Ethereum driver

Hi All!

I have being working on releasing versions (i should do it more often).
 I am happy to announce Fog v1.0.0-beta. I think I found a API that i like
enough. So, i took the courage to pass to 1.

 Thew new version changes many things:  Redefines the roll of the session,
it minimize the roll of the connection, it cleans up the code, it defines a
more verbose but less magic API. It generates proxies for the contracts.

It supports now all the types including: maps and arrays.

Goodnight :)



Pharo Ethereum Driver

Fog is a library that allows the user to connect to an ethereum based
blockchain data base.

Is based on the Javascript canonical implementation done by Ethereum
community Ethereum Javascript API
Download code <>Iceberg
/ Baseline

	baseline: 'Fog';
	repository: 'github://sbragagnolo/Fog/src';

[Ann] Teapot on github


I just want to let you know that the source code of Teapot was moved from
Smalltalkhub to GitHub.

The new repository is located at: <>  


[Ann] JSONSchema for Pharo


This is an implementation of JSON Schema for the pharo language. It is used to define the structure and values of a JSON string and to validate it. The schema itself can be externalized for being consumed by a third party.

I like to announce the availability of a JSON schema implementation for pharo. As part of my implementation of OpenAPI (which is to be released a bit later) I factored out the JSON schema part into its own repository because I think it is useful. I release it even it is not really finished. Code is mostly undocumented and a lot of features are missing from the full spec. I will improve it slowly and add features as I need them or they being requested

Hope you like it!



The documentation so far (from <>)

It can be loaded by downloading it in pharo via

  Metacello new
    repository: 'github://zweidenker/JSONSchema';
    baseline: #JSONSchema;

Defining a schema

These are the expression to create a schema model inside pharo.

schema := {
  #name -> JSONSchema string.
  #dateAndTime -> (JSONSchema stringWithFormat: 'date-time').
  #numberOfPets -> JSONSchema number } asJSONSchema.

defines as schema that can parse the following JSON:

jsonString := '{
  "name" : "John Doe",
  "dateAndTime" : "1970-01-01T14:00:00",
  "numberOfPets" : 3

Reading/Writing a value using a schema

To parse the value from JSON we only need to invoke:

value := schema read: jsonString

The object in value will have name as a string, dateAndTime as a DateAndTime object and numberOfPets as a SmallInteger object.

The schema can also be used to write out the value as JSON. This is especially useful if we want to ensure that only valid JSON is written. For this invoke

jsonString := schema write: value.

Serialize/Materialize a schema

Addtionally to reading and writing objects a schema can be serialized to string.

schemaString := NeoJSONWriter toStringPretty: schema.


	"type" : "object",
	"properties" : {
		"name" : {
			"type" : "string"
		"numberOfPets" : {
			"type" : "number"
		"dateAndTime" : {
			"type" : "string",
			"format" : "date-time"

If we would get a schema as string we can instantiate by invoking

schema := JSONSchema fromString: schemaString.

Nested schemas

Schemas can be nested in any depth. And it can be specified by using the literal Array syntax.

schema := {
  #name -> JSONSchema string.
  #address -> {
    #street -> JSONSchema string.
    #number -> JSONSchema number
  } } asJSONSchema


JSON Schema has a defined set of constraints that can be specified. E.g. for a number the inerval of the value can be specified by

numberSchema := JSONSchema number.
numberSchema interval
  minimum: 1;
  exclusiveMaximum: 100

constraining the number value to be greater or equal to 1 and smaller than 100.

Zinc HTTP Components version 3.0.1

I finally merged and synced all Zinc HTTP Components repos and did a full release on Pharo versions 3 to 7.

Main README was updated

Green build for Pharo 7 RC1 (linux 64-bit) using BaselineOfZincHTTPComponents

Green builds for Pharo 3, 4, 5 and 6 using ConfigurationOfZincHTTPComponents (#stable 3.0.1)

If there are any problems or issues, don't hesitate to ask.


[ann] New Pharo success story

Well done Tomohiro Oda and others !!!