Small rewrites

I am certainly guilty of doing way too much work manually instead of writing short scripts to automate it. Of course if I am not familiar with the available tools it may be faster to do it by hand as

Changing class prefixes

The standard approach to handling class name clashes (as Pharo has no namespaces) is to use short prefixes, typically the initials of the project: OP for OpenPonk, PP for PetitParser, etc. But what i

Changing background picture

Are you tired of constantly seeing the same white (or gray) background in Pharo? I know I am. Thankfully it is very easy to change. Just run the following (provide a path to your own image): 1234Worl

Moving project from SmalltalkHub to GitHub

Update 2017: This guide remains here for historical reasons. The script presented here works, but is severely flawed in respect to history ordering and merging. If you are migrating, you should use g

Testing Pharo projects with Travis

Writing tests is nice and all, but if you have to manually run your whole suite every time you make changes, you will soon go crazy. Likewise when accepting contributions to your project you wouldn’t

Singleton variations

I end up using a Singleton pattern from time to time, however in Pharo there are several variations commonly used; each with some subtle differences that may confuse a programmer not familiar with the

Conditional Halting in Pharo

One of great ways you can explore the guts of a program is to simply run it, poke around and observe results, both from the outside (you are clicking around GUI and observing the external state), and

Transforming Deprecated Code with RewriteTool

Deprecating code is quite common practice. You want to move forward, fix bad code and improve your API. However this can easily become daunting task, because there may be a lot of code to change, or y