## 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.

Ruzzle

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

Bingo

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!

Glorp

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!

Sudoku

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!

NeoCSV

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!

Smalltalk

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!

## Dolphin

5 mars 2016

Pour ceux qui en auraient raté l’annonce, Dolphin Smalltalk (version 7) est maintenant open source.

Les packages/contributions sont maintenant sur GitHub ici, le wiki est ici,  le Gitter (l’équivalent de IRC mais pour GitHub) est ici, et finalement la branche de développement de Dolphin (image et machine virtuelle) sont ici.

Vous voulez convertir du code d’un autre dialecte de Smalltalk pour l’importer dans Dolphin?  Vous trouverez très certainement une implémentation de SIF (Smalltalk Interchange Format) sur Web pour faciliter la transition.

Sinon, si vous devez communiquer avec un autre dialecte de Smalltalk et échanger des données, il y a SIXX (Smalltalk Instance eXchange in XML).

Si vous développez sur Windows et pour Windows, je vous recommande très fortement de jeter un coup d’oeil à Dolphin!

## GitHub

28 février 2016

Git

Le temps aura finalement eu raison de moi!

Il y a longtemps, j’avais abandonné avec peine CVS (avec WinCVS) pour passer à SVN (avec TortoiseSVN).  Après des années de loyaux services, il semble bien que comme toute la planète utilise Git et plus particulièrement GitHub, je n’avais d’autre choix que de me convertir!

De plus, comme tout le développement de Squeak, Pharo et Dolphin (ainsi que plusieurs contributions/projets pour ces divers environnements) est maintenant sur GitHub, avais-je le choix?

La première chose qui saute aux yeux pour un développeur Smalltalk, c’est la facilité avec laquelle il est facile de gérer les artefacts d’un projet.  Alors qu’il est souvent impossible de gérer le code Smalltalk en même temps que toutes les ressources « extérieures » d’un projet (scripts SQL, icônes, images, fichiers de configuration, etc) dans les outils de contrôle de version intégrés aux divers environnement Smalltalk, rien n’est plus facile avec GitHub!

En plus, GitHub ce n’est pas que pour gérer du code!  Que ce soit pour de la documentation ou l’écriture d’un roman, aucune différence!

Pour un excellent tutoriel sur Git, je recommande fortement celui de TutorialsPoint (en anglais) ou celui de ProGit en français. Après vos premiers pas, cette cheat sheet vous sera utile.

Pendant que j’y pense, je suis ici!

WinMerge

Tandis qu’on parle de gérer le changements, je ne peux me séparer du logiciel de comparaison de fichiers WinMerge. Si vous avez souvent à comparer différentes versions de fichiers, c’est de loin l’outil qu’il vous faut!

## Smalltalk en vrac (26)

20 février 2016

Smalltalk

Tous les détails sur la toute dernière version de la VM pour Pharo et Squeak, Cog!

Les fines nuances de Process>>#isSuspended de Squeak et Pharo expliquées ici.

Dolphin

Plimbole, un séquenceur de musique générative.

Pharo

Tous les livres sur Pharo sont maintenant regroupés ici.

Les exercices et tutoriels sur Magritte sont maintenant ici.

Tout le matériel sur Spec se trouve maintenant ici.

Tester des projets Pharo avec Travis CI : un excellent billet sur le sujet!

## Quelques moqueries!

4 février 2016

Non, il ne s’agit pas d’un billet humoristique! Mais dans ce cas-ci, moquerie se veut la traduction imprécise (à dessein) du terme mock, qui signifie plutôt simulacre dans le cas qui nous occupe.

Un mock, c’est un outil comme un autre.  Même si parfois j’ai l’impression qu’on surévalue grandement son utilité.  En 20 ans de Smalltalk, je n’ai eu qu’à travailler avec des mocks seulement 2 fois!

Plusieurs solutions existent pour votre environnement de développement favori!

Mocketry

Disponible pour Squeak, Pharo, aussi la version pour VisualWorks dans le Cincom Public Repository

SMock

Disponible pour Dolphin,et Pharo.

MiniSMock

Une version pour VisualAge,

BabyMock

Teachable

Disponible pour VisualWorks et Squeak.

DoubleAgent

Disponible pour VisualWorks.

## Dolphin Smalltalk 7

5 janvier 2016

Dolphin Smalltalk est maintenant open source! La présentation de la version 7 est ici.

Mais si, tout comme moi, vous possédez la version Dolphin X6 (Community Edition ou la version Pro) installée sur votre ordi, sachez qu’il existe (pour l’instant) quelques problèmes lors de l’installation de la version 7.  Les détails ici.

## Smalltalk en vrac (15)

31 mars 2015

Smalltalk

Dram 242 est en nomination aux Belgian Whisky Awards 2015 dans la catégorie Whisky Shop of the Year! Leur site web a été construit, vous l’aurez deviné, avec Smalltalk!

Pharo

Sondage : vous utilisez Pharo sur quelle plate-formes?

SmallWorlds, un jeu d’aventure en mode texte, a été porté de la version Dolphin à Pharo !

DynaCase : un outil pour faire de la modélisation et des diagrammes UML. Quelques exemples (ici et ici) de ce que l’outil peut faire.

Vous désirez générer des noms de fichiers avec un incrément comme extension de façon à avoir des noms uniques et ordonnés?  Il existe VersionedFile!

De nouveaux chapitres pour les divers livres reliés à Pharo sont disponibles!