Planet Smalltalk

September 19, 2014

Pharo Weekly - Datatable support for Seaside

Esteban Maringolo announced the support of for Seaside.
Here is his announce. 

Hi folks,

This mail is just a heads-up to anybody already using DataTables
( or that developed a Seaside wrapper for it.
I just uploaded my initial working version of DataTables to STHub. If
your current wrapper is better than mine we can merge our efforts.

This initial version supports the basic features to instantiate a
DataTables jQuery object, plus support for AJAX+JSON responses and
also Server-side Processing

I still have to write a proper example of how to use it, but if you
load the DataTables-Magritte package it will include a
DTMagritteReport that you can use to replace the "stock" MAReport.

Once I have time I'll try to set up an example to show the different
ways it can be used. Meanwhile look at the DTMagritteReport class to
see a particular use case. It includes support for server side sorting
(multiple columns), filtering, pagination, search.

To load it with all the dependencies run:

Gofer it
  smalltalkhubUser: 'emaringolo' project: 'DataTables';
  package: 'ConfigurationOfDataTables';

(Smalltalk at: #ConfigurationOfDataTables)project development load: 'Magritte'.

The STHub is:!/~emaringolo/DataTables/


Torsten Bergmann - Visualize network latency using Pharo

Visualize network latency using Pharo. Read more here.


Torsten Bergmann - Bootstrap (V0.12.2) for Seaside

An updates version of Bootstrap (V0.12.2) for Seaside is available. You can easily load it from the Configuration Browser in Pharo 3.0 or the project site.

Beside more tests it features vertical tabs which is a simple wrapper of a component found on the web. 

Look at the online demo for Bootstrap to see how easy one can use them:

Torsten Bergmann - DataTables jQuery plugin for Seaside

If you build a web application using Seaside and Pharo, maybe using my Bootstrap wrapper project you might be interested in a good data table plugin to display tabular data.

There is a nice (commercial) jQuery plugin called DataTables. Esteban made it available as a plugin for Seaside now and describes this here.

September 18, 2014

Pharo News - Pharo Sprint Lille

<p>We are organising a small public Pharo Sprint in Lille end of September, 2014:</p> <ul><li> When? Friday, 26th September, starting at 10:00am</li><li> Where? RMoD, Inria Lille, <a href="">Building B, third floor</a></li></ul><p> As the building is not open to the public, please contact us before if you plan to come. </p>

September 17, 2014

Torsten Bergmann - Saucers 1.5

Torsten Bergmann - Pharo Sprint Lille 26th september

Smalltalk Jobs - Smalltalk Jobs – 9/17/2014

NeoSoft in France, near Tours, is looking for Smalltalk/Java developers.  There are two URLs but they are for the same job.

Filed under: Employment

Pharo News - Pharo Sprint Lille

<p>We are organising a small public Pharo Sprint in Lille end of September, 2014:</p> <ul><li> When? Friday, 26th September, starting at 10:00am</li><li> Where? RMoD, Inria Lille, <a href="">Building B, third floor</a></li></ul><p> As the building is not open to the public, please contact us before if you plan to come. </p>

Torsten Bergmann - SciSmalltalk v0.14 is released.

September 16, 2014

Torsten Bergmann - SortFunctions for Pharo

SortFunctions allow you to easily work with sorting in Smalltalk. Checkout the project at SmalltalkHub where you will also find the docu and examples.

Torsten Bergmann - Test Coverage with Hapao

Torsten Bergmann - Performance enhancement of list updating operation

Noury Bouraqadi - csv2html

Recently, we have to deal with a large number of experimental data (in csv format). Visual inspection (in html format) is a big problem. Existing csv2html converters do not meet our requirements. So we wrote one. Simple, easy to use. Source code is shown below: #!/bin/bash if [ $# -ne 2 ] then echo "Usage:… Continue reading

September 15, 2014

ESUG news - Vancouver Island Camp Smalltalk - Oct 3rd-6th, 2014

Camp Smalltalk; Smalltalk programmers getting together to share. Bugs will be fixed, neat tricks demonstrated and plans developed. Join us!

Smalltalk programmers love to share their enthusiasm, skills, problems and solutions with each other. Every now and then a bunch get together at a Camp Smalltalk in order to indulge in a near frenzy of sharing.

This is the first such event on Vancouver Island and we hope to welcome you to Makerspace Nanaimo where we will have space, desks, chairs, bandwidth and power - all that we really need aside from you. It won't even cost you anything to attend - though we will be asking for donations that will be split between MakerSpace as thanks for the facilities and ESUG to help fund other Camps

This particular Camp has grown like Topsy from a simple attempt to get the small number of Smalltalkers on the island together for a weekend of social programming into a gathering of nearly two dozen experts from all across Canada and the US west coast. If you're a newcomer to Smalltalk this might be a good chance to meet some experienced people that can help you.

If you are a Ruby user, or a web coder looking for something different and better, or simply curious about programming languages, consider joining us to learn how Smalltalk can help you. Seaside has become an important web tool and is written in Smalltalk by some of our confirmed attendees. The MIT Scratch language that is popular as a beginners system is also written in Smalltalk and the developer of the Raspberry Pi specific variant will be around.

If you're interested in joining us:

Joachim Tuchel - Camp Smalltalk on Vancouver Island (Canada)

Sometimes, you have the feeling you just live on the wrong side of the globe. If you are a Smalltalker or would like to learn more about this dynamic programing language and get in touch with a bunch of enthusiasts, you better be in North America the first weekend of October: This particular Camp has grown like Topsy from […]

September 13, 2014

David Buck (Simberon) - Camp Smalltalk in Nanaimo

Everything's booked.  My wife and I are heading to Nanaimo BC on October 3, 2014 to attend Camp Smalltalk.  I'll be demonstrating the mobile Smalltalk I'm developing - it will be a work in progress.  I may also be involved in a "Intro to Smalltalk" presentation there.  I'm heading back to Ottawa on October 6th.

If you're interested in attending, you can check out this link:
VanIsle CampSmalltalk

September 12, 2014

Pharo Weekly - There is no such thing as an unworthy change

Every time we improve the system with a little change, the system gets better. And in Pharo we do it daily. Thank you all for all your changes and enhancements. **You** make Pharo cool.

14000 FilterTest needs to be moved to a Debugger test package

14004 SpecLayout>>asArray(result is shadowed)

14001 MethodModified>>newMethod: (newMethod is Undeclared)

14010 Small code critics clean of Ring

13924 Adding a new method to a trait triggers a MethodRecategorized announcement for each user

13971 clean asReactiveVariable -> asValueHolder

13997 Small code critic clean of Collections-Streams

13992 NautilusRefactoring stores into method argument

13994 AJx86AssemblerTests>>testRegistersOf:(asm is shadowed)

13901 move DoubleLinkedListTests, LRUCacheTests and TTLCacheTests from Tests

13996 RBSentNotImplementedRule wrong

13993 remove two undeclared in System-Announcemetns

13990 RBImplementedNotSentRule slow

13205 Temporary variable declaration in blocks

13989 Temporary variables not read and writen in Gofer-Core

13837 remove TextEditorDialogWindow autoaccept preference

13987 remove empty package Settings-Tools

13985 OrderedCollection>>#do: and #reverseDo: are not consistent with the other enumerations

13986 move DebugSystemSettings to DebuggerModel package

13981 Nautilus should allow to compare two methods

13979 PragmaMenuBuilder relies on modifying a collection while iterating over it.

13983 Temporary variables not read AND written in LinkedList

13984 Temporary variables not read and written in ByteString class>>#initialize

13421 Problem in Monticello and the cached packages

13955 Rewrite Lint rules to use common tools

13928 Failing test: RBSearchTest>>#testAllSearches

13865 Cleaning menuMorph

13977 Temporary variable list is not read nor write in AnnouncementSpy>>#build

13976 MNU formattedCode on EyeSyntaxTreeInspector showing a RBLiteralNode

13962 canPerform: same as canUnderstand:

13943 Nautilus Refactoring 8: rename “showHierarchy”

13974 creating menus for ListModels is broken

13888 Clean the use of spec to initialize widget in the morphicAdapter hierarchy

13964 The examples in class WidgetExamples should be on the class side

13966 Cleanup MorphicTests package

13963 Cleanup Morphic-Widgets-Tree package

13968 Provide clickable examples for Athens

13970 Fix category typo in ProtoObject

13937 Unused methods in Slot package

13961 Job examples should be executable

13965 Clean method announcements : fix Monticello-Tests bug

13956 Clean method announcements – step 3

13954 Clean method announcements – step 2

13953 Clean method announcements – step 1

13927 Failing test: #testCurrentPackagesDoesNotContainScriptLoader

13960 Growl example in comment deprecated

7591 in 4.0, unskip #testMethodsWithUnboundGlobals

13849 PointerExplorer item menu needs PointerEyeElement to implement #accessorCode

12503 unreferenced parameter in SortHierarchically>>buildHierarchyForClasses:fromPackage:

13861 make NOCController default OController

13952 Pool access lookup crash

13811 Improve Pharo Environment Help Text

13929 RBBasicLintRuleTest class implements protocols

13930 remove empty packages NOCompiletion and NECompletion-Tests

13915 Remove apparently unneeded reference to ThreadSafeTranscript

13951 Small Settings Cleanup

13938 Opal, custom compilers and class side methods

Pharo Weekly - Seaside 3.1.3 is released

Seaside one of the most exciting web frameworks got a new release.

Hi Seaside users,

We have released Seaside 3.1.3 [1].

A big thanks to everyone involved for making this release happen!

best regards,
The Seaside Team


September 11, 2014

Ricardo Moran - Creando a Mendieta

Hola a todos!
Como continuación de la presentación de “Mendieta” (ver aquí), en este post les contaré un poco como se creó y listaré sus componentes por si desean fabricarse una.
Como primera medida construimos una versión acotada de la placa, sin la posibilidad de manerar motores de corriente continua, aunque sí servos. Aunque utilizamos el PIC 18F4550 pensando en la versión definitiva, también podríamos haber recurrido al PIC 18F2550, que posee las mismas características, con la diferencia de tener menos cantidad de pines de entrada/salida, pero de ser mas barato y ocupar menos lugar.
Luego de realizado y probado el prototipo, en una placa preperforada y uniendo los componentes con cables “a mano”, nos centramos en diseñar el circuito, que quedó de la siguiente manera:
Mendieta Mega
Una vez transferido el diseño a la placa de cobre, se hicieron los agujeros correspondientes con mecha de 1mm, y se soldaron estos componentes:
· PIC 18F4550;
· L293D;
· 40-pin socket;
· 16-pin socket;
· 470uF electrolytic capacitor;
· 4.7 uF electrolytic capacitor;
· 22pF ceramic capacitors (2);
· .1 uF ceramic capacitor;
· USB connector type B;
· resistors 1 kilohm (2), 330 ohms (1);
· crystal 20 MHz
· red LED;
· reset button;
· terminal block;
· pin strips;
· Molex 3 pin connector (9)
El resultado, que ya está funcionando perfectamente, quedó así:

Para terminar este post, les cuento que también diseñamos en Sketch Up una cajita contenedora, a fin de resguardar la electrónica y darle una mejor terminación al trabajo; la misma fue impresa con una impresora 3D. Les dejo una captura de pantalla del diseño 3D:
Diseño 3D

Esperamos sus comentarios y consultas…


Nicolas Petton - Amber has a new maintainer

As you have probably noticed, I’ve been a bit away from Amber for some time.

Herby has been the unofficial maintainer of Amber since then and he has done an amazing job!

So, after some discussions we decided to make it a bit more official, so here it is: Herbert Vojčík is the new maintainer of Amber.

It does not mean that I will totally disappear, I’ll stay around!


September 10, 2014

Cincom Smalltalk - Plans Are Underway for Vancouver Island Camp Smalltalk

Vancouver Island Camp Smalltalk will be taking place on beautiful Vancouver Island, British Columbia, Canada on October 3-5.

ESUG news - Smalltalks 2014

1. Invitation.

The Fundación Argentina de Smalltalk (FAST) invites you to the 8th International Conference on Smalltalk Technologies (Smalltalks), to be held from November 5th through November 7th at the Universidad Tecnológica Nacional, Facultad Regional Córdoba, located in the city of Córdoba, Argentina. Everyone, including teachers, students, researchers, developers and entrepreneurs, are welcome as speakers or attendees.

This year, we are extremely happy to announce Allen and Rebecca Wirfs-Brock will attend the conference. Allen was instrumental in developing Digitalk's Visual Smalltalk, as well as a leader in modular Smalltalk design. Rebecca created the field of Responsibility Driven Design, which spawned a variety of modern disciplines such as TDD and BDD. Their presence is just a preview of an oustanding presentation program you cannot afford to miss.

2. Registration.

Registration is free and now open at

Please make sure to register early to receive the conference's shirt, as well as to help us plan the conference's social events.

We are accepting donations from participants to help fund the conference's costs. Please see the Donate section at FAST's website,

Contributions are greatly appreciated, and can be received both in pesos for local attendees, as well as via Paypal for those coming from abroad. Please note that donors, including those that have already sent us their contribution (thank you!), will receive a set of thank you gifts as well as the conference's shirt. For those of you that need a receipt, we can provide those on site.

3. Sponsors.

In addition our generous attendee donation contributors, we would like to thank our sponsors. We would not be able to organize the conference without their help.

Platinum sponsors:

Silver sponsors:

Bronze sponsors:

Moreover, this year our official airline carrier is Aerolineas Argentinas. To book plane tickets with Aerolineas Argentinas, please go to

and select Smalltalks 2014 from the list of events (available soon).

4. Call for participation.

Talk proposal submission for the Industry Track is now open at our website:

If you need special arrangements (e.g. because you would like to hold a workshop session), please indicate so in the abstract. The Industry Track's submission deadline is October 13th.

Abstract submitters: please send us a photo and a short bio by answering to this email.

5. Related events.

For more information about related events, such as a Pharo Sprint or talks and presentations around the dates of the conference, please visit

In particular, we like to invite to you Squeakfest 2014, to be held at the same conference site on from November 3rd through November 4th. This companion event highlights Squeak and Etoys used in the context of education. To register, please go to the SqueakFest page under the related events for Smalltalks 2014.

We will update related event information as we get closer to the conference, so please check for updates.

For any additional questions please reply to this email.

See you in Córdoba!

Torsten Bergmann - Seaside 3.1.3

Torsten Bergmann - PointerDetective

A small tool to find references to an object visually. Code is on SmalltalkHub.

Also on PharoWeekly.

Torsten Bergmann - OSMMaps

OSMMaps is a Pharo package to interact with OpenStreetMap. Read more here.

Pharo Weekly - Pointer Detective

Ben Coman proposed a new pointer analysis tool :)

greetings all, I had an itch to scratch... I find it difficult using the tree list of the standard Pointer Explorer to track down why objects aren't garbage collected. I always fear I'm not going to notice getting caught in a reference loop. So I created a tool presenting an alternative view as a directed graph. The graph incrementally builds out from the target object as you explore it. Nodes are colourised to help manage complexity. The attached snapshot is produced from evaluating the following Workspace script... testObject := 'END5'. ref1 := { testObject. nil }. ref2 := { ref1 }. ref3 := PDTestResource new heldObject: ref2. ref1 at: 2 put: ref3. "note the reference loop this creates" PointerDetective openOn: testObject. Now I expect I'm duplicating something done before, but I couldn't find anything quickly and it was an opportunity for some goal direct learning of Morphic. Thanks to Roassal an option for a spring-force layout is provided. That code was copied rather than create a dependency, and might need to be rationalized later. The code is a bit rough from hacking around learning how to make things work, but its functional, so its time to get it out in the open. For more information please refer to the repository home page...!/~BenComan/PointerDetective cheers -ben

September 09, 2014

Torsten Bergmann - New Release of Essence Sharp: Nīsān-2 (Alpha Build 23)

A new Release of Essence Sharp: Nīsān-2 (Alpha Build 23) is available. Read more.

Torsten Bergmann - Invitation to Smalltalks 2014

The Fundación Argentina de Smalltalk (FAST) invites you to the 8th International Conference on Smalltalk Technologies. Read more.

Torsten Bergmann - Kontolino demo vide - a Seaside Smalltalk application from germany company Objektfabrik is now also demonstrated in a first video: