What’s new?

19 juillet 2016

What’s new?

After a major data loss (I haven’t given up on getting back all my data, mostly code repositories and databases!), I had to start all my pet projects from scratch. Luckily, it’s easier second time around as they say! And, lucky me, I store all my personal stuff on the web! So here’s a list of what’s coming up on this blog.


Even though I had a decent working version of the genetic algorithm program to find the best ruzzle grid (original posts in French here, here and here), I wasn’t satisfied with the code.  It slowly evolved from a bunch of code snippets into something I could somehow call a genetic algorithm.  Problem was that my solution was tailored for this specific problem only!  Since I lost all the Smalltalk code, I redid the whole thing from scratch : better design, simpler API, more flexible framework.  I can currently solve a TSP problem, the best ruzzle grid search and a diophantine equation.

I also plan to provide examples of the 8 queens problem, the knapsack problem, a quadratic equation problem, a resource-constrained problem and a simple bit-based example with the GA framework.  Besides, the are now more selection operators, more crossover operators, more termination detectors (as well as support for sets of termination criteria!), cleaner code and the list goes on!  So I’ll soon publish a GA framework for Pharo.

As most of you know, the Rush fan in me had to pick a project name in some way related to my favorite band!  So the framework will be called Freewill, for the lyrics in the song :

Each of us
A cell of awareness
Imperfect and incomplete
Genetic blends
With uncertain ends
On a fortune hunt that’s far too fleet


A stupid quest I’ll address after the first version of my GA framework is published.  It all started with a simple question related to the game of bingo (don’t ask!) : can we estimate the number of bingo cards sold in an event based on how many numbers it takes for each card configuration to have a winner?  So it’s just a matter of generating millions of draws and cards à la Monte Carlo and averaging how many numbers it takes for every configuration.  Why am I doing that?  Just because I’m curious!


There’s been a lot of action on the Pharo side and Glorp.  I plan on having a serious look at the latest Glorp/Pharo combo and even participate to the development!


I’ll translate my articles (in French here, here and here) on the SQL sudoku solver in English and test the whole thing on the latest MySQL server.  Besides, db4free has upgraded to a new MySQL server version!


I had done a port of NeoCSV to Dolphin right before losing all my code data.  Wasn’t hard to port so I’ll redo it as soon as I reinstall Dolphin!


It’s time to reinstall VisualAge, VisualWorks, Squeak, ObjectStudio and Dolphin and see what’s new in each environment!  From what I saw, there’s a lot of new and interesting stuff on the web side.  Add to that the fact that most social media platforms have had significant changes in their respective APIs recently, so there’s a lot to learn there!


That’s a wrap folks!

Glorp, PostgresV2 et Pharo 4

3 avril 2015

Des détails quant à la compatibilité de Glorp et du driver natif de PostgreSQL (PostgreSQL Client V2) avec Pharo 4.

Glorp, NBSQLite3 et Pharo 4

3 avril 2015

NBSQLite3 (la version Native Boost de SQLite3) a été incorporé à Glorp pour la version 4 de Pharo! Plus de détails ici.

Smalltalk en vrac (6)

4 février 2015


Un article qui présente Seaside.

Blocs et contextes : comment ça fonctionne?

Une liste des liens utiles sur GlORP est disponible ici.



Readability, un package pour faire de l’analyse de texte et calculer des métriques de lisibilité et de complexité de textes (en anglais).

Un prototype à essayer : Window Plague Doctor.

OpenStreetMap est maintenant intégré à Roassal !  Les détails ici.

Pour les nostalgiques : le vidéo d’une démo de Pong sur Pharo.

Grafoscopio : comment expliquer?  Le plus simple c’est de consulter ceci.

Une implémentation de µKanren (Microkanren) est maintenant disponible pour Pharo : sur GitHub ou sur SmalltalkHub.

Une présentation intitulée Graphics and Visualization.

PharoCloud utilise maintenant PillarHub pour sa base de connaissances.

Quelques scripts utiles pour Pharo.

Présentation sur Pharo à Mons, en Belgique, le 19 février 2015.

Un article sur LampSort.

Présentation à FOSDEM 2015 : Pharo Status.

Une nouvelle version de PunQLite et son annonce.

PharoLauncher est maintenant aussi disponible dans le PharoCloud.



Un vidéo qui montre une implémentation (avec Minecraft) de Game Of Life de Conway .

ShareItProject présente Squeak pour DiamndTouch.



Un nouveau livre sur Smalltalk : Programming Smalltalk – Object-Orientation from the Beginning: An introduction to the principles of programming



Il y a maintenant une version de Grease pour VAST!

Twitter Bootstrap pour Seaside a été porté sur VAST!



Les derniers développements de Context.



Vous voulez essayer Squeak de votre navigateur internet?  C’est mainenant possible avec SqueakJS, ici.

Smalltalk en vrac (4)

31 janvier 2015


Le tout dernier podcast de Smalltalk Reflections : Garbage Collection.


Un package pour l’immutabilité dans Squeak.


Pharo a maintenant un bytecode debugger, un rejeton possible grâce au moldable debugger.

La documentation de Pharo (les livres sur Pharo),  est maintenant intégrée au processus de Continuous Integration (CI).  Dans un avenir rapproché, ces livres seront rappatriés à cette adresse.

Roassal sur écran géant!

Mise à jour sur le Rewrite Tool.

L’élégance du code de Pharo.

NBSQLite3 for Pharo : accédez à SQLite pour Pharo. L’annonce ici.

Pour pouvoir communiquer entre deux images, il y a RemoteAnnouncements.

Visualiser les changements dans Pharo 3.0.

SQLite3, GlORP, Pharo et la persistence : les options qui s’offrent à vous.


Un nouveau add-on pour les assertions.

ESUG 2012

20 septembre 2012

Pour les intéressés et les fans de Smalltalk, les diapos (en anglais) de la conférence 2012 de ESUG (European Smalltalk User Group) sont disponibles ici sur slideshare.