Monthly Archives: October 2014

Pharo Days 2015 Pre-Announce

We are excited to announce the details so far for the Pharo Days 2015, to be held on Thursday January 29 and Friday January 30 at INRIA, Lille, France.

We’ll update this page moving forward. You can ask questions on the any of the Pharo mailing lists or you can email the Pharo Board. Official registration is not yet open, but there is a Doodle that should give an indication of who is coming and that can help us plan resources.

The Pharo Board

Continuous improvement at work…

14290 Menu translation should be the responsibility of menus (part 1)

14297 Kernel fixes for Spur

14302 Replace Announcer>>#on:send:to:s senders in NewValueHolder

14291 browse open a class side browser

14289 MNU in Finder>>computeWithMethodFinder:

14298 pre for 14297 Kernel fixes for Spur

14068 Should add spyFor: to systemProfiler

14296 Replace Announcer>>#on:send:to:s senders in NautilusCommon
14286 add a test for #sourceNode on Contexts for optimized blocks

14283 Slice for Spur integration

14284 fix #sourceNode for Blocks

14282 add SourceNode tab for IRInstruction and SymbolicBytecode
14276 Add UDPSocketEchoTest test/example

14222 Tests around KeyChain

14281 Replace Announcer>>#on:send:to:s senders in Nautilus
14241 add a inspector view for IRMethods

14254 AST method replaceWith: does not change source interval

14235 IRInterpreter should be replaced by IRVisitor

14272 #_foo: isBinary —> true

14221 Tests around Graphics

14271 RBCodeCruftLeftInMethodsRule>>initialize and RBAllAnyNoneSatisfyRule>>name have spelling errors
14269 Komitter: Improve layout for long repo names

14242 Installing a method is slow

14257 Replace Announcer>>#on:send:to:s senders in NativeBoost-Core

14240 evaluating nil and: [true] gives an infinite loop

14264 World Menu > Help > Pharo Zen DNU

14263 fix “search all source”

14262 small speedup of CompiledMethod>>#endPC

14270 Workaround: speed up code critique by not checking send messages for now

14228 critic rules running on all methods of a class extended by a package

14246 CompiledMethod>>hash can produce clashes

14257 Replace Announcer>>#on:send:to:s senders in NativeBoost-Core

14253 MC dependency warning should name which package is failing to load

14251 Add a scope browser: shows tree of scopes, corresponding source

14243 tiny refactoring in #compile:classified:withStamp:notifying:logSource:

14231 add “inspect method” to method menu in browser and everywhere
14218 Opal should be able to compile methods for SqueakV3PlusClosure and Spur
14177 Add properties to classes

14215 Fix for (Behavior new) compile:

14237 SymbolicBytecodeBuilder: rename #print to #addBytecode:

14239 add inspector view for byte code with source highlighting
13535 Class code wrongly styled in critic browser

14236 add #sourceInterval and #sourceNode to SymbolicBytecode

14238 Replace Announcer>>#on:send:to:s senders in NECompletion
14218 Opal should be able to compile methods for SqueakV3PlusClosure and Spur
14232 remove ByteCodeMethodConverter

14225 implement #symbolic by printing the SymbolicBytecode….

13318 no (strong) visual feedback for bytecode view while looking at a class definition
14217 GTTools version 1.0.7
14229 Replace Announcer>>#on:send:to:s senders in MonticelloGUI

14226 smallLintCritics optimisation is slow

14227 Replace Announcer>>#on:send:to:s senders in Monticello-Tests

13457 The Implementors of browser adds all methods added to its list

14204 OCStoreIntoReadOnlyVariableError: VersionnerProjectPanel>>#initializeGroupsWidget:

14224 add #symbolicBytecodes to CompiledMethod and clean up InstructionPrinter a little
14208 Move ByteArray close to WordArray, delete package Collection-Arrayed
14213 Replace Announcer>>#on:send:to:s senders in Monticello

14098 allClassesAndTraits significantly different from allClassesAndTraitsDo:

10288 Add a lint rule to check that class initialize method does not calls super initialize

14210 Replace Announcer>>#on:send:to:s senders in Komitter

14197 Little Morphic Package Reorganization

14198 Time>>print24 prints nanos, though it claims not to

14211 Replace Announcer>>#on:send:to:s senders in Manifest-CriticBrowser
14096 Rewrite lint rules to check classes and methods

6512 Traits should not use compiler

14203 OCStoreIntoReadOnlyVariableError: RecentMessageList>>#lastClasses

Building your own power tools: an Example

Using ZnLogEvents and GT Tools to look at HTTP traffic behind Monticello.

I love it when a plan comes together. Many small usability changes were added to GT Tools since they were included in Pharo 4. And a lot of small custom inspector presentations were added.  (be sure to select the 720p version)

This short screencast shows how to use ZnLogEvents and GT Tools in Pharo 4 to look at the HTTP traffic behing Monticello (more specifically, an MCSmalltalkhubRepository). This demonstrates how simple custom inspectors are combined to form a powerful tool - and how easy it is to learn about what is going on inside Pharo or inside your complex business app


Another week of effort in Pharo

13606 testSlotScopeParallelism is failing

14085 Image blocked when halt placed on setUp method and running a whole TestCase from Nautilus

14054 Cant load font from a path with accented characters

11021 MouseEvent>>blueButtonChanged

14075 Halt once in Rectangle>>setOrigin:corner:

14028 PluggableThreePhaseButtonMorph should be packaged with Morphic-Widgets-Basic

13668 remove the last StringHolder references

13635 Package Spec-Extensions just contains one accessor –> can be moved to the class

5625 TextDiffBuilder in System-FilePackage ?

14076 Move ProtocolRemovalException to Kernel-Exceptions

14048 two tests failing in EmbeddedFreeTypeFontInstallerTest

14079 Inconsistent information in debugger (pharo 4)

14061 windows systemfonts : wrong path in guessWindowsFontFolderPath

13131 Spec weirdness > MNU ToolDockingBarMorph>>popupEvent:in: on right click on button

14072 Failing test: BlockClosureTest>>#testTallyInstructions

14069 Finish cleaning RGFactory

14077 Move PseudoClassOrganization close to PseudoClass

13738 MNU: CompiledMethod>>hasRun

13705 Shared pool incorrectly defined as global

14071 OSWindow integration part1

13599 ClassOrganizer-Core: move to Kernel-Protocol

12111 (Date readFrom: 4.2.2013 readStream pattern: d.m.yy) ==>> 4 February 2020

13193 Regular expression field should not open debugger when making a syntax error
3841 FinderUI gets out of sync when more than one Finder open

10307 Monticello FTP repo should not keep username and should behave like MC HTTP

14067 More cleaning of Ring Factory

14034 add to Pharo3: substrings:

12828 Unfullfilled subclass responsibility in JPEGReadWriter

13879 Move Tests out of NECompletion

14065 Spec WorldModel should not change theme background

14057 fix the description and unique name RBFutureDeprecationWarningRule.

14062 Remove SmallInteger class>>#ccgCanConvertFrom:

14056 Missing DejaVu copyright notices

11996 Wrong exception handler problem (parrt 5/5)

11996 Wrong exception handler problem (4/5)

11996 Wrong exception handler problem (Part3)

11996 Wrong exception handler problem

14048 two tests failing in EmbeddedFreeTypeFontInstallerTest

11996 Wrong exception handler problem (Part1/5)
14055 Fix some failing tests related to Code Critics (due to accidental #halt)

13606 testSlotScopeParallelism is failing

14019 add critics rule for #withFirstCharacterDownshifted-> #uncapitalized

14049 add String>>substrings: and lint rule for #subStrings:

14035 openWorldWithSpec not taking over the world

14045 Categorize classes in System-Announcements

10572 Locking image with test icons (Glorp example)

13843 MOPTraitTes>>#testOrigin failing

14046 Deprecate SystemAnnouncement(class)>>fromInternal:

14044 Selfies shot with Pharo should give visual feedback

14008 Tests from Nautilus-Tests need to be moved to a nautilus test package

13949 stackAlignment on windows should be 16
14043 TabContainerMorph example gives DNU #instance
14037 #recompile does not recompile the classTrait
14038 #testSendersOfAt failing when running the tests in the image

14039 #testCurrent always fails when running all tests…

14041 Continue cleaning Ring Factory

14026 Cleanup System-Localization package and add tests

12873 IconicButton should absord property as instance variable

14032 Fix test cases and access singletons using slots

14030 MorphicTabManagerAdapter>>doesNotUnderstand: #tabSelected:

14018 backport #uncapitalized to Pharo3

14025 DateModel Broken in 3.0

14027 ensureTransparentColor is unused and looks dead

14029 Smart Suggestion Implementors does not work in Nautilus anymore

14023 Nautlilus: Jump to test class should not only work on instance side

14012 RGMetaclassDefinition and RGMetatraitDefinition DNU #category

14009 RBAddClassRefactoringTest should be moved close to the other refactoring tests

14007 DebuggerModelTest should be moved out of debugger package

14017 No senders of analyzeItemLabels

14022 Infinite loop in simple subclasses of SequenceableCollection

14020 Add test cases which check font installation process and registration on singletons

14006 3 tests fail for AsmJit in the Pharo4

13214 rename instance variable does not work on class side

14011 Many leftover methods after method announcement refactoring

Phratch 40 is out

Phratch 4.0 is out of the box !
Phratch 4.0 is cleaner, faster and more stable than phratch 3.0.
After the version 3.0 that was a release for usability and stability, phratch 4.0 is released to prepare the future.
The new features are:
– phratch is more modular, eg having a kernel and lots of addons.
– cleaning a lot the source code
– customizable environment
– each block can be made visible or invisible
– each category can be made visible or invisible
– it is possible to add translation for addons with the pragma <phratchTranslation: ‘fr’> in the class PhratchTranslator. This make the translation more modular.
– first integration of phratch with the pharo environment. Using the pragma at the class side of any class in Pharo make the class visible and usable in phratch.
– There is a lot of things to do with phratch, you are welcome to contribute ! The documentation for new features will arrive soon.
See you on

Another iteration follows another one

I’m always fascinated by the fact that when we do something every day, at the end we improved, changed, ….

14201 RBAssignmentOnBlockArgumentRule does not catch all assignments to block args

13174 Should warn against creating class #NameOfSubclass

14207 failing test testBehaviorRespectsPolymorphismWithTraitBehavior

14209 add back #allUnimplementedCalls

14206 remove empty RBRenameInstanceVariableRefactoringTest

7291 Creating a class with empty category should be an error

11243 Class>>copy does not preserve layout

14099 SmalllintManifestChecker duplicates RBSmalllintChecker>>#run
14098 allClassesAndTraits significantly different from allClassesAndTraitsDo:
14196 Do not use workspace as an editor

14086 RBSmalllintChecker is not applying rules in class-side

14133 UIManager should not overuse the workspace for editing

14195 In the ChangeSorter: DNU when trying to get a menu

14199 RBFindBlockArgumentAssignment is sometimes wrong
14189 OCSemanticWarning does not need #interactive

13588 Rename inst var should rename accessors too

14166 RectangleTest#testPointNearestTo failing since 40283
14183 Update Zn October 2014

14191 Add #deselectAll to TreeModel

14188 DNU when moving a method to a package

14187 Replace Announcer>>#on:send:to:s senders in Keymapping-Pragmas

14184 Replace Announcer>>#on:send:to:s senders in GroupManager

14185 Replace Announcer>>#on:send:to:s senders in Kernel

14186 remove AllowBlockArgumentAssignment from CCompilerContext
14175 GTools version 1.0.6
14179 deprecate the method in UIManager “deprecated” category

14162 Replace Announcer>>#on:send:to:s senders in Morphic-Widgets-Tree

14173 remove #allowBlockArgumentAssignment preference

14154 GTools version 1.0.5
14161 Replace Announcer>>#on:send:to:s senders in Morphic-Widgets-Windows

14169 There are undeclared in Zinc in Pharo4

14146 Disable “store into argument”-exception in non-interactive mode
13905 entering non existing issue numbers in slice maker

14164 using exampleWidget and not widgetExample

13088 Deleting class that is used in pool dictionaries leaves a “private” class pool entry

14159 Update Fuel

14155 Replace Announcer>>#on:send:to:s senders in Morphic-Widgets-Extra

14131 Improving some little tests in the system

14117 merge menuSpec and menuItemSpec

14119 Cleaning left over of docking bar in menu

14153 Replace Announcer>>#on:send:to:s senders in Morphic-Base

14150 Replace Announcer>>#on:send:tos senders in Morphic-Core

14149 IRDecompiler creates an extended method state object for all methods

14147 add Symbolic tab to inspector for IRMethod

14145 GTools version 1.0.4

13719 Failing test: RBRemoveClassTest>>#testRemoveClass

14144 unify #usePolymorphDiffMorph and #polymorphDiffToolsUsedByDefault

13718 Failing test: RBExtractMethodTest>>#testExtractMethodThatMovesTemporaryVariable

13222 HDLintReport generates invalid output

12774 DialogGroupAdderUI “item to add” list should be sorted, has superfluous periods after class names

14134 ecompletion raises DNU for some input

14082 Remove very old repositories in ScriptLoader

14138 Nautilus Refactoring 9: rename “showPackages”

14136 Replace senders of Announcer>>#on:send:to in Versionner-Spec-Browser
14128 “Print it” from Playground menu does not work

14117 merge menuSpec and menuItemSpec

14113 WorldSate stepList not properly cleaned when a morph is deleted

13641 Merge Package Key into package System-Platforms

14099 SmalllintManifestChecker duplicates RBSmalllintChecker>>#run

14129 Use Announcer>>#when:send:to: in Spec-Debugger

14124 Remove SystemAnnouncer subclass NautilusAnnouncer

14126 Remove SystemAnnouncer subclass GroupAnnouncer

10148 IRVisitor and IRInterpreter
14125 Remove SystemAnnouncer subclass TestAnnouncer

14122 Classes in Morphic-Examples should include real #example methods

12973 ChangeSorter CMD-W with menu open causes error

14120 decompiler view for GTInspector

14123 removed backgroundColor, fixed playgroundpage>>contents

13931 Integrate GTools

14100 use Announcer>>#when:do: and Announcer>>#when:send:to in Spec-Core

14116 RGDefinition is mispelled and its comment doesnt make sense

14101 Use Announcer>>#when:send:to: in Spec-MorphicAdapters

14102 Use Announcer>>#when:send:to: in Spec-Tools

12841 #testDebuggerTempAccess failures

14115 Merge RGDefinition and RGNamedDefinition

14114 use SizeMismatch, not just #error

13518 Strange color and wrong positions in the Find & Replace dialog

14111 Handle isInDockingBar conditional logic
14112 Hook decompiler into source access logic

14014 translatedIfCorresponds

14110 Remove RGObject

14090 use Announcer>>#when:do: in packages Announcements

14103 Use Announcer>>#when:send:to: in Spec-Inspector.

14087 use Announcer>>#when:send:to in packages Announcements

14095 use Announcer>>#when:send:do: and Announcer>>#when:do: in AnnouncementsTutorial
13864 Deleting last tab removes the toolbar and we cannot add tabs anymore

14088 procotol -> protocol

13607 Remove iVar MorphicModel: accessor
14105 Nautilus Refactoring 8.5: rename “showHierarchy”

12826 Zip FileSystem does not work

13867 MessageBrowser does not inform about certain syntax error

13293 We should add definedSelectors and extensionSelectors to ClassDescription

13934 Extra characters in string returned by String class>>new:streamContents:

13742 PluggablePanelMorph looks empty and is only used once in the system

14094 Deprecate a few unused String methods

13337 Moving a class to a package does not work anymore

13331 moving a group of methods class side raises an error

11475 Optimize FuelTests >> #tearDownTraits

Pharo Android VM is now working

Jean-Baptiste Arnaud just announced it…
Now the prototype of the Pharo Android VM works.
– Events are managed
– Resolution up to 1080p is managed.
– Most of the plugins seems to work.
– File plugin allows you to browse the sd card.
– fix the generator then jenkins. Merge with Pharo/Cog main and Make it available for the public.
– allow easy personalisation of the packaging, allow you to rename and change icon easily (for your own application, Squeak/Pharo Android VM, Phratch, DR geo, etc.).
– refine the jumpout logic to have a better graphical update and a better idle process (less consumption, faster reactive UI, UI updating during heavy computation, etc. ).
– package the android feature in the android plugin, show/hide the keyboard via primitive, etc. etc. + init configuration.
-many cool ideas but for later 🙂
Here is a youtube video to show the result:
Best Regards

New version of the QR Code generator

Jochen Rick announced a new version of his QRCode 🙂

I’ve got a new version of the QR Code generator:!/~JochenRick/QRCode

This one includes support for MicroQR, for UTF-8 encoding and other aspects of the latest QR standard (e.g., mirroring). I’ve also written a small Zinc web app which makes it easy to try out.

Glorp working with NBSQLite3


I am pleased to report that I have gotten Glorp working with NBSQLite3
enough to run Sven's 

As mentioned in my blog post, there is more work to be done to get
Glorp fully integrated with NBSQLite3, but preliminary results are