<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"><channel><title>Guille Polito</title><description>Welcome to my website! I am a researcher at Inria on testing and language implementations.</description><link>https://guillep.github.io/</link><item><title>Exceptional rant</title><link>https://guillep.github.io/blog/2026-09-04-exceptions</link><guid isPermaLink="true">https://guillep.github.io/blog/2026-09-04-exceptions</guid><description>A personal journey from the familiar termination model of exceptions to Pharo&apos;s resumable exceptions—and why explicit callbacks can make better interfaces.</description><pubDate>Fri, 04 Sep 2026 00:00:00 GMT</pubDate></item><item><title>StackOverflowException Plz.</title><link>https://guillep.github.io/blog/2026-08-07-overflow</link><guid isPermaLink="true">https://guillep.github.io/blog/2026-08-07-overflow</guid><description>A small tour of Pharo&apos;s stack, stack pages, recursion, and the surprisingly elegant way to make stack overflow less of a VM panic button.</description><pubDate>Fri, 07 Aug 2026 00:00:00 GMT</pubDate></item><item><title>I Put My Tests in a Sandbox. They Stopped Biting.</title><link>https://guillep.github.io/blog/2026-08-03-sandbox</link><guid isPermaLink="true">https://guillep.github.io/blog/2026-08-03-sandbox</guid><description>Notes from an ESUG&apos;26 talk about the Pharo Sandbox.</description><pubDate>Mon, 03 Aug 2026 00:00:00 GMT</pubDate></item><item><title>Onion Pharo</title><link>https://guillep.github.io/blog/2014-11-07-onion-pharo</link><guid isPermaLink="true">https://guillep.github.io/blog/2014-11-07-onion-pharo</guid><description>Exploring a minimal Pharo by layering it into phases, starting from the classes needed to run the class builder.</description><pubDate>Fri, 07 Nov 2014 00:00:00 GMT</pubDate></item><item><title>Replacing bash with pharo</title><link>https://guillep.github.io/blog/2014-01-23-replacing-bash-with-pharo</link><guid isPermaLink="true">https://guillep.github.io/blog/2014-01-23-replacing-bash-with-pharo</guid><description>Making Pharo act as a shell interpreter, with a custom command line handler to run Pharo scripts from the terminal.</description><pubDate>Thu, 23 Jan 2014 00:00:00 GMT</pubDate></item><item><title>Oz object spaces in Esug 2013</title><link>https://guillep.github.io/blog/2013-09-06-oz-object-spaces-in-esug-2013</link><guid isPermaLink="true">https://guillep.github.io/blog/2013-09-06-oz-object-spaces-in-esug-2013</guid><description>A summary of what was presented about Oz object spaces at ESUG 2013, plus links to the paper, the demo video and the new logo.</description><pubDate>Fri, 06 Sep 2013 00:00:00 GMT</pubDate></item><item><title>Recover a broken image with Oz</title><link>https://guillep.github.io/blog/2013-08-26-recover-a-broken-image-with-oz</link><guid isPermaLink="true">https://guillep.github.io/blog/2013-08-26-recover-a-broken-image-with-oz</guid><description>Using Oz object spaces to recover an image that crashes on startup, by loading it, inspecting the active process and fixing the offending literal.</description><pubDate>Mon, 26 Aug 2013 00:00:00 GMT</pubDate></item><item><title>Customizing ZeroConf scripts</title><link>https://guillep.github.io/blog/2013-07-30-customizing-zeroconf-scripts</link><guid isPermaLink="true">https://guillep.github.io/blog/2013-07-30-customizing-zeroconf-scripts</guid><description>A step-by-step guide to building your own ZeroConf scripts for custom Pharo images and VMs.</description><pubDate>Tue, 30 Jul 2013 00:00:00 GMT</pubDate></item><item><title>Installing Pharo in many flavors</title><link>https://guillep.github.io/blog/2013-07-23-installing-pharo-in-many-flavors</link><guid isPermaLink="true">https://guillep.github.io/blog/2013-07-23-installing-pharo-in-many-flavors</guid><description>A summary of the many ways to install and deploy Pharo: manual downloads, the Ubuntu PPA, ZeroConf scripts and the Pharo Launcher.</description><pubDate>Tue, 23 Jul 2013 00:00:00 GMT</pubDate></item><item><title>Bootstrap revival - the basics</title><link>https://guillep.github.io/blog/2013-05-06-bootstrap-revival-the-basics</link><guid isPermaLink="true">https://guillep.github.io/blog/2013-05-06-bootstrap-revival-the-basics</guid><description>Rebuilding the Pharo bootstrap around object spaces, mirrors and an AST interpreter to overcome VM limitations.</description><pubDate>Mon, 06 May 2013 00:00:00 GMT</pubDate></item><item><title>When optimal matters</title><link>https://guillep.github.io/blog/2013-03-23-when-optimal-matters</link><guid isPermaLink="true">https://guillep.github.io/blog/2013-03-23-when-optimal-matters</guid><description>On premature optimization, why it is not the whole story, and how profiling helps you find the critical 3% of your code.</description><pubDate>Sat, 23 Mar 2013 00:00:00 GMT</pubDate></item><item><title>Keymappings 101 - for Pharo 2.0</title><link>https://guillep.github.io/blog/2013-03-19-keymappings-101-for-pharo-2-0</link><guid isPermaLink="true">https://guillep.github.io/blog/2013-03-19-keymappings-101-for-pharo-2-0</guid><description>A tutorial on the Keymappings library for Pharo 2.0: building key combinations, mapping them to shortcuts and attaching them to morphs.</description><pubDate>Tue, 19 Mar 2013 00:00:00 GMT</pubDate></item><item><title>Pharo 2.0 Released</title><link>https://guillep.github.io/blog/2013-03-18-pharo-2-0-released</link><guid isPermaLink="true">https://guillep.github.io/blog/2013-03-18-pharo-2-0-released</guid><description>A tour of Pharo 2.0: new development tools, NativeBoost, Fuel, the Spec and Keymappings UI libraries, and a revamped internals.</description><pubDate>Mon, 18 Mar 2013 00:00:00 GMT</pubDate></item><item><title>The Bootstrap Chronicles - The end of a phase</title><link>https://guillep.github.io/blog/2012-08-22-the-bootstrap-chronicles-the-end-of-a-phase</link><guid isPermaLink="true">https://guillep.github.io/blog/2012-08-22-the-bootstrap-chronicles-the-end-of-a-phase</guid><description>Wrapping up the GSOC 2012 bootstrap project: declarative kernel descriptions and the future of bootstrapping Pharo.</description><pubDate>Wed, 22 Aug 2012 00:00:00 GMT</pubDate></item><item><title>The Bootstrap Chronicles Chapter 4 – Pump up with Fuel</title><link>https://guillep.github.io/blog/2012-06-30-the-bootstrap-chronicles-chapter-4</link><guid isPermaLink="true">https://guillep.github.io/blog/2012-06-30-the-bootstrap-chronicles-chapter-4</guid><description>Using Fuel to import packages and run SUnit tests on the bootstrapped image, plus a bootstrap-from-the-bootstrap experiment.</description><pubDate>Sat, 30 Jun 2012 00:00:00 GMT</pubDate></item><item><title>Smalltalk behind the scenes: the meta model</title><link>https://guillep.github.io/blog/2012-06-17-smalltalk-behind-the-scenes-the-meta-model</link><guid isPermaLink="true">https://guillep.github.io/blog/2012-06-17-smalltalk-behind-the-scenes-the-meta-model</guid><description>How the Smalltalk meta-model works and how you can build your own metaclass loop from scratch.</description><pubDate>Sun, 17 Jun 2012 00:00:00 GMT</pubDate></item><item><title>The Bootstrap Chronicles Chapter 3 - It&apos;s Alive!</title><link>https://guillep.github.io/blog/2012-06-17-the-bootstrap-chronicles-chapter-3-its-alive</link><guid isPermaLink="true">https://guillep.github.io/blog/2012-06-17-the-bootstrap-chronicles-chapter-3-its-alive</guid><description>The working bootstrap implementation: building a guest image inside a host one and reporting packaging and initialization bugs.</description><pubDate>Sun, 17 Jun 2012 00:00:00 GMT</pubDate></item><item><title>The Bootstrap Chronicles Chapter 2 - Don&apos;t mess with the VM</title><link>https://guillep.github.io/blog/2012-06-11-the-bootstrap-chronicles-chapter-2-do-not-mess-with-the-vm</link><guid isPermaLink="true">https://guillep.github.io/blog/2012-06-11-the-bootstrap-chronicles-chapter-2-do-not-mess-with-the-vm</guid><description>The VM restrictions that make bootstrapping hard: the special objects array, compact classes, primitives and the hacks used to work around them.</description><pubDate>Mon, 11 Jun 2012 00:00:00 GMT</pubDate></item><item><title>The Bootstrap Chronicles Chapter 1 - Preparing the soil</title><link>https://guillep.github.io/blog/2012-06-08-the-bootstrap-chronicles-chapter-1-preparing-the-soil</link><guid isPermaLink="true">https://guillep.github.io/blog/2012-06-08-the-bootstrap-chronicles-chapter-1-preparing-the-soil</guid><description>First steps towards building a new Pharo image from scratch, adapting the SystemTracer and tracing packaging problems.</description><pubDate>Fri, 08 Jun 2012 00:00:00 GMT</pubDate></item><item><title>Bootstrapping: finding the missing link</title><link>https://guillep.github.io/blog/2012-06-02-bootstrapping-finding-the-missing-link</link><guid isPermaLink="true">https://guillep.github.io/blog/2012-06-02-bootstrapping-finding-the-missing-link</guid><description>An introduction to the Pharo bootstrap project: what a bootstrap is, why Pharo needs one, and the current status of the GSOC effort.</description><pubDate>Sat, 02 Jun 2012 00:00:00 GMT</pubDate></item><item><title>The Image Dilemma</title><link>https://guillep.github.io/blog/2012-06-01-the-image-dilemma</link><guid isPermaLink="true">https://guillep.github.io/blog/2012-06-01-the-image-dilemma</guid><description>Comparing image-based and file-based development environments: configuration, development process and the tools each approach enables.</description><pubDate>Fri, 01 Jun 2012 00:00:00 GMT</pubDate></item><item><title>Understanding Object Formats in CogVM</title><link>https://guillep.github.io/blog/2012-05-30-understanding-object-formats-in-cogvm</link><guid isPermaLink="true">https://guillep.github.io/blog/2012-05-30-understanding-object-formats-in-cogvm</guid><description>How Smalltalk objects are represented in the CogVM: object fields, headers, compact classes and immediate objects.</description><pubDate>Wed, 30 May 2012 00:00:00 GMT</pubDate></item></channel></rss>