New consortium member

Hi

We are happy to announce that CS department of University of Bretagne Occidental is now an academic member of the Pharo Consortium.

Stef

Pharodays draft website

Hi guys

Here is the draft of the pharo days 2017 conference

http://www.pharo.org/2017pharodays

Full program and registration is coming.

Stef

Snaker&Ladder: A new book chapter

Hi

I just finished a new book chapter for “Learning Object-Oriented Programming, Design and TDD with Pharo”. I’m looking for a better name.

Available here: SnakesAndLadders

If you have feedback, you are welcome. Please use this email stephane.ducasse@inria.fr

The full draft of the book is available here.

https://ci.inria.fr/pharo-contribution/view/Books/job/LearningObjectOrientedProgramming/120/artifact/build/book.pdf

If you have some ideas let me know.

Stef

Vector graphics Pharo poster

Hi

With the board and Inria graphists we designed this poster to present what is Pharo.

Feel free to use it.

http://files.pharo.org/media/2017-02-PharoPoster.pdf

Stef

More (old) Enhancements

60357
19601 [Epicea] Epicea monitor is off by default
https://pharo.fogbugz.com/f/cases/19601

19600 [Epicea] OmNullReference shuld provide #globalName
https://pharo.fogbugz.com/f/cases/19600

60356
19590 Integrate new Epicea release
https://pharo.fogbugz.com/f/cases/19590
60355
19593 TClassDescription>>#isTestCase should be in SUnit-Core
https://pharo.fogbugz.com/f/cases/19593

19558 GtDebugger should not call #updateSelectionInterval in #updateBrowser
https://pharo.fogbugz.com/f/cases/19558

60354
19596 move #outerMostContext to the KernelPackage
https://pharo.fogbugz.com/f/cases/19596

19597 move #definitionForNautilus &co. to the Kernel
https://pharo.fogbugz.com/f/cases/19597

19595 Protocol *GT-SpotterExtensions-Core-private in MCWorkingCopy should be moved to accessing
https://pharo.fogbugz.com/f/cases/19595

19594 isTestMethods &co. should be SUnit extensions, not part of Nautilus
https://pharo.fogbugz.com/f/cases/19594

60353
19574 update BaselineOfIDE
https://pharo.fogbugz.com/f/cases/19574
60352
19554 #~~ should be a primitive and a compile-time inlined selector to be consistent with #==
https://pharo.fogbugz.com/f/cases/19554

19573 more rigid ThemeIcons defaultUrl
https://pharo.fogbugz.com/f/cases/19573

60351
19534 Unify Epicea UIs
https://pharo.fogbugz.com/f/cases/19534
60350
19556 Glamour version 4.31
https://pharo.fogbugz.com/f/cases/19556
Changes:

– fixes example GLMBasicExamples>>#morphWithCustomInteraction
– adds example GLMBasicExamples>>#changingTabsInComposite
– case 19505 Setting the selection using #initialize: does not work in a pharo script presentation.
– case 19504 Glamour should preserve the selection when updating a text presentation
– Put example browser into World / Help menu.
– better tests for the FT renderer in Glamour
– synchronize packages with Pharo
60349
19570 QA 3.3.0
https://pharo.fogbugz.com/f/cases/19570

60348
19557 GTDebugger should use FastTable in the object inspector for thisContext
https://pharo.fogbugz.com/f/cases/19557

19561 Drag&Drop FastTable Example Does Not Work
https://pharo.fogbugz.com/f/cases/19561

19536 “Instance variables not read and written” critique false positive on classes with certain slots
https://pharo.fogbugz.com/f/cases/19536

19559 GTMoldableDebugger>>updateBrowser should not call #update
https://pharo.fogbugz.com/f/cases/19559

60347
19551 GLMPopper should accept cmd L shortcut to remote popup and cancel text changes
https://pharo.fogbugz.com/f/cases/19551

19552 Cancelling changes by cmd L should not request user confirmation
https://pharo.fogbugz.com/f/cases/19552

60346
19565 QA v3.2.11
https://pharo.fogbugz.com/f/cases/19565
60345
19548 Fix Spec Integration class comments and examples
https://pharo.fogbugz.com/f/cases/19548

19545 Add comment about OC translator subclasses (for effect / for value)
https://pharo.fogbugz.com/f/cases/19545

19555 Nautilus should sort all binary methods before non-binary methods
https://pharo.fogbugz.com/f/cases/19555

19550 Typo in settings: Popup notifaction –> Popup notification
https://pharo.fogbugz.com/f/cases/19550

60344
19509 controling class assignment
https://pharo.fogbugz.com/f/cases/19509

19515 complileSilently:classified: method does not set properly the package
https://pharo.fogbugz.com/f/cases/19515

19217 Add printOn: method on WeakAnnouncementSubscription to improve readibility
https://pharo.fogbugz.com/f/cases/19217

19540 TabMorph should refresh content in background by defer message
https://pharo.fogbugz.com/f/cases/19540

60343
19532 Improve TBehaviour >> lookupSelector:
https://pharo.fogbugz.com/f/cases/19532

19501 GlobalIdentifierTest leaves a file present in $data directory
https://pharo.fogbugz.com/f/cases/19501

60342
19531 Latest GTTools integration broke the bootstrap
https://pharo.fogbugz.com/f/cases/19531
60341
19521 localMethods should be moved to TBehavior where localSelectors methods are defined
https://pharo.fogbugz.com/f/cases/19521

19528 Split larger variable entries in the Variables menu into submenus
https://pharo.fogbugz.com/f/cases/19528

60340
19529 Mouseover an empty submenu causes UI lockdown
https://pharo.fogbugz.com/f/cases/19529

19526 readString should check NULL condition
https://pharo.fogbugz.com/f/cases/19526

19520 Epicea: Tests lacking files cleanup
https://pharo.fogbugz.com/f/cases/19520
60339
Moose

http://files.pharo.org/image/60/60339.zip

60338
19514 ConfigurationOfFuel has no latest FuelTests version
https://pharo.fogbugz.com/f/cases/19514

19421 Failing test: WeakAnnouncerTest>>#testNoDeadWeakSubscriptions
https://pharo.fogbugz.com/f/cases/19421

19512 References to Tab -> should be TabMorph
https://pharo.fogbugz.com/f/cases/19512

18729 DNU on showing menu in CriticBrowser (code pane)
https://pharo.fogbugz.com/f/cases/18729

60337
19491 ClassRemoved announced when it is not removed from superclass subclasses list
https://pharo.fogbugz.com/f/cases/19491

19490 ClassAdded should be announcer after notifying superclass about new subclass
https://pharo.fogbugz.com/f/cases/19490

19494 ClassModificationApplied is not announced when traitComposition of class or trait is changed
https://pharo.fogbugz.com/f/cases/19494
60336
19493 Load new FastTable config
https://pharo.fogbugz.com/f/cases/19493

19488 STONWriterTests>>#testDictionaryWithComplexKeys is order dependent
https://pharo.fogbugz.com/f/cases/19488

19495 TabMorph should fork morph building in lesser priority than active process
https://pharo.fogbugz.com/f/cases/19495
60335
19486 TabMorph helper method to prevent blinking when morph retrieval is too fast
https://pharo.fogbugz.com/f/cases/19486

19469 Debbuging Super call inside a debugger does not call the super method but the self one.
https://pharo.fogbugz.com/f/cases/19469

19306 taskbarIcon on class side should be defined only in Object class by using taskbarIconName redefined by subclasses
https://pharo.fogbugz.com/f/cases/19306

60334
19479 Typo in name attribute of GRVariableAssignedLiteralRule
https://pharo.fogbugz.com/f/cases/19479

19478 Criticsbrowser shows a refactoring class name instead of the text diff
https://pharo.fogbugz.com/f/cases/19478

19438 Widen tolerance for DelayScheduler timing tests
https://pharo.fogbugz.com/f/cases/19438
60333
19484 BaselineOfMorphic references unexisting class
https://pharo.fogbugz.com/f/cases/19484

19483 Add bootstrap specific code in Monticello
https://pharo.fogbugz.com/f/cases/19483

More enhancements before release…

60454
Moose

60452
19874 URL in ZnCharacterEncoderTests>>#testByteEncoderFromUrl must be changed
https://pharo.fogbugz.com/f/cases/19874

19868 RBMoveMethodToClassRefactoring not works with class side methods
https://pharo.fogbugz.com/f/cases/19868

19862 Evaluating code in a diff morph raise an error
https://pharo.fogbugz.com/f/cases/19862

19864 Add support for Server Name Indication (SNI) to Zodiac/SSLPlugin
https://pharo.fogbugz.com/f/cases/19864
60451
19863 RBMoveMethodToClassRefactoring reset method protocol
https://pharo.fogbugz.com/f/cases/19863

60449
19857 add option #argsAsArray
https://pharo.fogbugz.com/f/cases/19857

19809 Failing test: WeakAnnouncerTest>>#testNoDeadWeakSubscriptions
https://pharo.fogbugz.com/f/cases/19809

60448
19856 FileReference { #spotterPreviewItemsIn: . #spotterPreviewZipItemsIn: } relies on #doesNotUnderstand:
https://pharo.fogbugz.com/f/cases/19856

19854 Rename refactoring from source code by cmd r should support all kind of ast nodes
https://pharo.fogbugz.com/f/cases/19854

19850 OrderedCollection Inspector indexes not right for similar items
https://pharo.fogbugz.com/f/cases/19850

60447
19847 removeLink: needs to invalidate
https://pharo.fogbugz.com/f/cases/19847

60446
19842 add simple api for testing if a link is installed in a node
https://pharo.fogbugz.com/f/cases/19842

19841 Format as you read can produce confusing “contents has been modified” questions
https://pharo.fogbugz.com/f/cases/19841

19843 add simple demo of logging self sends
https://pharo.fogbugz.com/f/cases/19843

60445
19844 remove some trivial duplicated code from TabsExample>>#open
https://pharo.fogbugz.com/f/cases/19844

19845 add printOn: to ReflectiveMethod
https://pharo.fogbugz.com/f/cases/19845

19846 Make spotter work with ReflectiveMethods.
https://pharo.fogbugz.com/f/cases/19846
60444
19839 add support for signedByteAt:signedByteAt:put:
https://pharo.fogbugz.com/f/cases/19839

60443
19837 Epicea: integrate release 8.1.3
https://pharo.fogbugz.com/f/cases/19837

CHANGE LOG:

– Log browser:
* Display changes in a FastTableModel instead of a TreeModel, much faster for many changes.
* Remove “x filtered entries” display as well as “See 50 more” and “See all” buttons, to make the list of changes look more as a standard list (to the user eyes). Also, implementation was not nice.
* Big code clean up.
* Show number of active filters in tab (small visual improvement).
* Increase initial width.
– Fix case 19737: class removal annoucement now comes after class is renamed to AnObsolete (workaround).
– Fix case 19263: Catch all errors on redo and undo.
– Merge with fix to case 19819 by Denis. Thanks!
– Multiple code clean-ups
* Code Critic runs.
* Reduce direct explicit references to EpMonitor.
* Others.
– Add tests of apply and revert changes.
– Split EpLog into a new superclass to conform a hierarchy, which has now EpSorterLog.
– Ombu:
* Shutdown flush should be performed by all OmDeferrers, not only by all OmSessionStores.
* Workaround needed because can”t get real file stream position from ZnBufferedWriteStream (+ would need special care of WideStrings).
* Remove OmDirectoryStore and OmCompositeStore since they are not used anymore (continuous-style EpPriorView was the user).
* The Ston”s OmEntryReader should not receive the stream as parameter and then store it in the Ston reader. This produced was confussing and produced concurrency issues.
60442
19838 ZnMonticelloServerDelegate>>#repositoryListing sends self self
https://pharo.fogbugz.com/f/cases/19838

19668 importIcons:fromFolder:inClass:category: sends unimplemented methods
https://pharo.fogbugz.com/f/cases/19668

19833 CairoLibrary unix module location assumptions too restrictive
https://pharo.fogbugz.com/f/cases/19833
60441
19826 Off by one error in FTTableContainerMorph>>#calculateStartIndexWhenShowing:
https://pharo.fogbugz.com/f/cases/19826

19828 Class side methods + hierarchy selection eats the selected class.
https://pharo.fogbugz.com/f/cases/19828
60440
19834 Error in horizontal scrollbar
https://pharo.fogbugz.com/f/cases/19834

19831 catalog refresh retrieves an empty collection
https://pharo.fogbugz.com/f/cases/19831

19823 exported source of the package MonticelloFileTree-Core in pharo-core repository contains strange extension
https://pharo.fogbugz.com/f/cases/19823
60439
19822 ScriptingExtensions tests must be standalone
https://pharo.fogbugz.com/f/cases/19822

19809 Failing test: WeakAnnouncerTest>>#testNoDeadWeakSubscriptions
https://pharo.fogbugz.com/f/cases/19809

60438
19786 MonticelloFileTree-Core package exported to Git contains a strange extension
https://pharo.fogbugz.com/f/cases/19786

19825 circular dependency between Renraku and Refactoring-Critics
https://pharo.fogbugz.com/f/cases/19825

19824 fix #scrollBarDownButtonBoundsFor: calculation
https://pharo.fogbugz.com/f/cases/19824

19819 Epicea browser doesnt refresh when tests produce code changes
https://pharo.fogbugz.com/f/cases/19819
60437
19814 OSPlatform current needs to differentiate 32 and 64 bits
https://pharo.fogbugz.com/f/cases/19814

19821 loading of the BaselineOfIDE is broken
https://pharo.fogbugz.com/f/cases/19821

60436
Moose
This brings changes to the inspector, debugger and fast table renderer for glamour.
Detailed changes:

– added support for refresh in the Inspector/Playground. The refresh uses the stepping mechanism from Morphic. There exists a setting to start/stop the refresh. Each presentation can decide if it wants refresh or not.

– the Glamour renderer for fast table uses now a LRUCache for storing the string representation returned by the #format: block. This is disabled by default and configureable per presentation. By default it is enabled for the Raw presentation and the collection presentations.

– the debugger now offers access to variables defined in the playground when debugging code from the playground

– the inspector uses GTInspectorVariableNode to model variables in the Raw view.

– fixed inspector issues with collections

Also fixes issues:
– case 18899 Raw presentation from the debugger inspector raises error when the rawSelection comes from another presentation
– case 17949 Missing evaluator presentation for the current context in debugger
– case 19753 Disappearing content in the context inspector from GTDebugger when tags are used
– case 19720 Add method scoped [Evaluator] tab to debugger
– case 14569 GTInspector should do live updates of objects and their slots
60435
19816 Packages postfix must be removed
https://pharo.fogbugz.com/f/cases/19816

19815 BaselineOfBasicTools still loads Polymorph-TaskbarIcons
https://pharo.fogbugz.com/f/cases/19815

19807 Assert:equals: rule should target only tests
https://pharo.fogbugz.com/f/cases/19807

60434
19801 Remove SublimishTheme
https://pharo.fogbugz.com/f/cases/19801

60433
19809 Failing test: WeakAnnouncerTest>>#testNoDeadWeakSubscriptions
https://pharo.fogbugz.com/f/cases/19809

19799 Nautilus rebuilds the package view twice when adding a new protocol
https://pharo.fogbugz.com/f/cases/19799

19810 Non weak announcements in the SystemAnnouncer
https://pharo.fogbugz.com/f/cases/19810
60429
19793 SHTextStylerST80 always parser code as method if workspace is nil
https://pharo.fogbugz.com/f/cases/19793

19797 Add access methods in PharoCommonTools instead of using DNU
https://pharo.fogbugz.com/f/cases/19797

60428
19796 Remove duplicate code from SublimishTheme
https://pharo.fogbugz.com/f/cases/19796

18785 FileList: filter field does not show the actual filter
https://pharo.fogbugz.com/f/cases/18785

19795 Fix PackageTasksPlugin
https://pharo.fogbugz.com/f/cases/19795

PhD position at SCG

Applications are invited for PhD candidates at the Software Composition Group, University of Bern, Switzerland.

The Software Composition Group carries out research in software engineering and programming languages, with a view to enabling software evolution.  The SCG is led by Prof. Oscar Nierstrasz and is part of the Institute of Computer Science at the University of Bern.

Applicants will contribute to the ongoing SNSF project, “Agile Software Analysis”, and towards the planned successor project:

http://scg.unibe.ch/research/snf16

The candidate must have a MSc in Computer Science (equivalent to a Swiss MSc), should demonstrate strong programming skills, and have research interests in several of the following areas:

– software evolution
– program understanding
– dynamic analysis
– static analysis
– software modeling
– model-driven engineering
– secure software engineering
– programming language design
– domain specific languages
– virtual machine technology

Female candidates are especially welcome to apply. To apply, please send an email including your research statement and your CV, with at least two references, to Prof. Oscar Nierstrasz (oscar@inf.unibe.ch), by June 1, 2017.

Kind regards,
Oscar Nierstrasz

Fossil and FileTree

Hi all,

I have written a simple integration of FileTree with Fossil to avoid the 2-step
Pharo- and shell-level work to add/delete/commit files.

At the operating system command prompt, init a new Fossil project:

os% mkdir ~/repo
os% cd ~/repo
os% fossil init myproject.fossil
project-id: 3c05c3016eeabf8e87816ee218c6a86d3c87b950
server-id: ff42bc86dba1a26b1d94b64685f7c09d02581617
admin-user: laptop-user (initial password is “1fe2ff”)

Open the repository:

os% mkdir ~/myproject
os% cd ~/myproject
os% fossil open ~/repo/myproject.fossil

In a fresh Pharo 6 image – I used v60411 – install FossilFileTree:

Metacello new
baseline: ‘FossilFileTree’;
repository: ‘github://PierceNg/FossilFileTree’;
load.

Write code in Pharo. Open Monticello Browser. Add a “fossilfiletree”
repository, using ~/myproject as the directory. Save to said repository
from within Monticello Browser. Done.

Full blog post here:

http://www.samadhiweb.com/blog/2017.02.28.fossil.filetree.html

Pierce

Smalltalk jobs in Germany

Hi guys

Tomcat is looking for Smalltalkers in Germany.

Requirements:

2-3 Y. ST-experience (no matter which system) and wants to work for longer time in Germany, beginning in next 4-10 weeks.

Contact them not me 🙂

richard.v-lavante@tomcat.de

christian.mann@tomcat.de

Stef

[Consortium] 20 – 26 march 2017

Hello!

This is my weekly ChangeLog, from 20 March 2017 to 26 March 2017.
You can see it in a better format by going here: http://log.smallworks.eu/web/search?from=20/3/2017&to=26/3/2017

ChangeLog
=========

23 March 2017:
————–

*    Fixed (again!) build process for linux (libssh2 version was not correct).

22 March 2017:
————–

*    I made another pass to some problems on *icebeg>* : added a new “branch browser” to compare sources from remote
branchs and added a couple of fixes to make the system a bit stronger… still working on this 🙂

*    I spent some time again on VM building, where a couple of issues arised:

=== Build windows VM with cygwin instead mingw
[Nico Cellier](https://github.com/nicolas-cellier-aka-nice) moved the [OSVM](https://github.com/OpenSmalltalk/opensmalltalk-vm)
to cygwin as part of his effort to produce Win64 VMs (and to align PharoVM with the other VMs flavours built).

This was a cool work, but it requires some work for our side to properly build the [PharoVM](https://github.com/pharo-project/pharo-vm).

=== Fix a problem with SDL2 and linux
SDL2 version was upgraded, but there was a remaining problem when building it, so I needed to track down the
problem and fix it.

Overall, the process are ok now… nevertheless I cannot merge the changes to make them available for users
because with latest VM sources there are some problems here and there (not all tests pass). So I’m waiting
for Eliot 🙂

20 March 2017:
————–

*    I added edit of repositories to [Iceberg](https://github.com/npasserini/iceberg) 🙂

This is usefull when you make a mistake and do not locate sources properly when cloning or when you want to
re-locate repository after moving it in your disk.

cheers!
Esteban