4 avril 2018
Vous ne savez pas trop comment utiliser l’outil Lint pour Smalltalk dans votre dialecte de Smalltalk préféré, que ce soit Pharo, Instantiations Smalltalk (auparavant VisualAge Smalltalk), Dolphin Smalltalk ou VisualWorks?
Vous devez tout premièrement savoir que cet outil porte différents noms selon l’environnement Smalltalk que vous utilisez. Il est connu sous le nom de Quality Assistant dans Pharo, SmallLint dans Instantiations Smalltalk, Code Mentor dans Dolphin et Code Critic dans VisualWorks!
Une série de 2 articles (ici et ici) vous introduit à cet outil et à la construction de règles!
Leave a Comment » | Dolphin, informatique, langage de programmation, Pharo, Smalltalk, VisualAge, VisualWorks | Tagué: Code Critic, Code Mentor, Dolphin, Dolphin Smalltalk, Instantiations Smalltalk, Lint, Pharo, Quality Assistant, SmallLint, Smalltalk, VAST, VisualAge Smalltalk, VisualWorks, VW | Permalien
Publié par endormitoire
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!
Leave a Comment » | Dolphin, MySQL, ObjectStudio, Pharo, Smalltalk, SQL, Squeak, sudoku, VisualAge, VisualWorks | Tagué: 8 queens, bingo, Chess, crossover, CSV, database, diophantine equation, Dolphin, eight queens, framework, Freewill, GA, genetic algorithm, genetic blends, glorp, knapsack, mathematics, Monte Carlo, music, MySQL, NeoCSV, ObjectStudio, operators, ORM, Pharo, quadratic equation, resource-constrained, Rush, Ruzzle, sélection, Smalltalk, SQL, Squeak, Sudoku, termination, Traveling Salesman, TSP, VisualAge, VisualWorks | Permalien
Publié par endormitoire
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
Une version pour Pharo.
Teachable
Disponible pour VisualWorks et Squeak.
DoubleAgent
Disponible pour VisualWorks.
Leave a Comment » | Dolphin, Pharo, Smalltalk, Squeak, VisualAge, VisualWorks | Tagué: BabyMock, Dolphin, DoubleAgent, MiniSMock, mock, Mocketry, Pharo, SMock, Squeak, Teachable, VisualAge, VisualWorks | Permalien
Publié par endormitoire
15 décembre 2014
L’épisode #3 du podcast Smalltalk Reflections est maintenant disponible ici !
Leave a Comment » | Smalltalk | Tagué: Amber Smalltalk, Ambrai Smalltalk, Context, Essence#, gemstone, GNU Smalltalk, ObjectStudio, Pharo, RedLine, Smalltalk, Smalltalk MT, Smalltalk/V, Smalltalk/X, Squeak, StrongTalk, VA Smalltalk, Visual Agents, Visual Smalltalk Enterprise, VisualWorks | Permalien
Publié par endormitoire
27 Mai 2014
Si vous êtes contraint de mesurer la performance de votre application en Smalltalk, bien que les outils de profilage disponibles suffisent habituellement à la tâche, il arrive qu’on doive recourir aux bonnes vieilles méthodes.
Leave a Comment » | Gemstone, Smalltalk, VisualWorks | Tagué: gemstone, mesurer, mesures, performance, profilage, profiler, Smalltalk, VisualWorks | Permalien
Publié par endormitoire
23 Mai 2014
2048, ce petit jeu si simple et pourtant si complexe et prenant! J’en suis accroc! La version originale, pour jouer en ligne, est ici.
Grabriele Cirulli, son auteur, cause des mots de tête à plusieurs millions de personnes!
Qu’à cela ne tienne, j’ai maintenant une raison de plus de m’y intéresser!!
En effet, Cincom a décidé de lancer un concours de programmation (avec VisualWorks ou ObjectStudio) pour le meilleur programme de résolution de 2048, annoncé ici.
Quelques idées d’algorithmes se retrouvent ici, ici, et ici (en français).
J’entends déjà l’insomnie qui me guette se pouffer de rire!
Leave a Comment » | Smalltalk | Tagué: 2048, algorithme, Cincom, jeu, ObjectStudio, Smalltalk, VisualWorks | Permalien
Publié par endormitoire
1 Mai 2014
Vous avez une de ces classes qui se comporte partiellement comme une collection mais qui n’en est pas une? Qui plus est, vous n’avez pas fait hériter celle-ci de Collection? Tout ce dont vous avez besoin c’est d’implémenter quelques fonctionnalités du protocole d’énumération sans trop exposer les détails internes de ladite classe au reste du monde?
Il existe maintenant une librairie appelée ExternalEnumeration (pour VisualWorks mais le code est facile portable à d’autres dialectes) qui fait tout ce dont vous avez besoin!
Leave a Comment » | Smalltalk | Tagué: enumération, enumerating, itérateur, iterator, Smalltalk, VisualWorks | Permalien
Publié par endormitoire