We are proud to announce the release of Pharo 2.0! You can find information about Pharo at: http://www.pharo-project.org About this release ------------------ All in all, there were over 1600 issues treated in the issue tracker and 1350 improvements integrated into 2.0. http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3A... Read it again, yes 1350 is huge, take two minutes and have a look at the list of improvements! Now you got the feel of the effort. And this was a true community effort. It is possible because people worldwide helped! We want to deeply thank them. We want to thank Inria for its constant support, in particular for the salary of Igor Stasenko and Esteban Lorenzano, and for the help in the infrastructure. We have accomplished this huge task for a better system because we were together. Do not forget that we are working on a consortium to support our system: - http://consortium.pharo.org (for companies and organizations) - http://association.pharo.org (for individuals) Our goal is to build a system so that we can make a living with our creativity and programming skills. You can find information about Pharo on http://www.pharo-project.org. In particular, you may be interested in: - Joining us and getting help http://www.pharo-project.org/community - Getting the Pharo By Example book (available as a free PDF): http://www.pharobyexample.org - Watching the screencasts http://www.pharocasts.com - Reporting problems http://www.pharo-project.org/community/issue-tracking - Reading the forth coming book http://rmod.lille.inria.fr/pbe2 - Reading the Pharo vision document http://bit.ly/HNkEru Thanks a lot for your participation, energy and fun. -- The Pharo Team Summarized issues for 2.0 ================== UI --- - Spec - Widget enhancements - Layout improvements/cleanups - Keybindings - New icons (famfam) - Growl style notifications - Revamp progress bar Developer tools --------------- - Nautilus browser - Critics browser - Improved version diff browsing - Spotlight - Revamp Code Completion and smart chars - Interactive navigation using ctrl/cmd+click over classes/methods - Shout themes - Andreas profiler Networking ----------- - Update Zinc - Zodiac (SSL) System ------- - System Announcer - RPackage replacing PackageInfo - Command line tools / Headless mode - Native boost - Update Ring metamodel - Fuel serializer - Freetype fonts Kernel ------ - DateAndTime refactoring - Updated FileSystem and replaced FileDirectory VM -- - Latests cog builds - SSLPlugin - FilePlugin enhancements - SocketPlugin fixes - Included libraries: freetype2, cairo Cleanups ------------- - FileDirectory removed (replaced by FileSystem) - SmartRefStream and ReferenceStream removed (replaced by Fuel) - PackageInfo deprecated (replaced by RPackage) Other ------- - Zeroconf scripts - Continuous Integration for every aspect of our release process. Not all the changes are reported here, but this is to give you an impression, you can find better explanation here: https://code.google.com/p/pharo/wiki/ActionsInPharo20
Ben On Mar 18, 2013, at 11:12 AM, Marcus Denker <marcus.denker@inria.fr> wrote:
We are proud to announce the release of Pharo 2.0!
You can find information about Pharo at: http://www.pharo-project.org
About this release ------------------ All in all, there were over 1600 issues treated in the issue tracker and 1350 improvements integrated into 2.0.
http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3A...
Read it again, yes 1350 is huge, take two minutes and have a look at the list of improvements! Now you got the feel of the effort. And this was a true community effort. It is possible because people worldwide helped! We want to deeply thank them.
We want to thank Inria for its constant support, in particular for the salary of Igor Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
We have accomplished this huge task for a better system because we were together. Do not forget that we are working on a consortium to support our system:
- http://consortium.pharo.org (for companies and organizations) - http://association.pharo.org (for individuals)
Our goal is to build a system so that we can make a living with our creativity and programming skills.
You can find information about Pharo on http://www.pharo-project.org. In particular, you may be interested in:
- Joining us and getting help http://www.pharo-project.org/community - Getting the Pharo By Example book (available as a free PDF): http://www.pharobyexample.org - Watching the screencasts http://www.pharocasts.com - Reporting problems http://www.pharo-project.org/community/issue-tracking - Reading the forth coming book http://rmod.lille.inria.fr/pbe2 - Reading the Pharo vision document http://bit.ly/HNkEru
Thanks a lot for your participation, energy and fun.
-- The Pharo Team
Summarized issues for 2.0 ==================
UI ---
- Spec - Widget enhancements - Layout improvements/cleanups - Keybindings - New icons (famfam) - Growl style notifications - Revamp progress bar
Developer tools ---------------
- Nautilus browser - Critics browser - Improved version diff browsing - Spotlight - Revamp Code Completion and smart chars - Interactive navigation using ctrl/cmd+click over classes/methods - Shout themes - Andreas profiler
Networking -----------
- Update Zinc - Zodiac (SSL)
System -------
- System Announcer - RPackage replacing PackageInfo - Command line tools / Headless mode - Native boost - Update Ring metamodel - Fuel serializer - Freetype fonts
Kernel ------
- DateAndTime refactoring - Updated FileSystem and replaced FileDirectory
VM --
- Latests cog builds - SSLPlugin - FilePlugin enhancements - SocketPlugin fixes - Included libraries: freetype2, cairo
Cleanups -------------
- FileDirectory removed (replaced by FileSystem) - SmartRefStream and ReferenceStream removed (replaced by Fuel) - PackageInfo deprecated (replaced by RPackage)
Other -------
- Zeroconf scripts - Continuous Integration for every aspect of our release process.
Not all the changes are reported here, but this is to give you an impression, you can find better explanation here: https://code.google.com/p/pharo/wiki/ActionsInPharo20
Thanks to everybody for all the energy put in this good version. Stef On Mar 18, 2013, at 11:21 AM, Benjamin <benjamin.vanryseghem.pharo@gmail.com> wrote:
Ben
On Mar 18, 2013, at 11:12 AM, Marcus Denker <marcus.denker@inria.fr> wrote:
We are proud to announce the release of Pharo 2.0!
You can find information about Pharo at: http://www.pharo-project.org
About this release ------------------ All in all, there were over 1600 issues treated in the issue tracker and 1350 improvements integrated into 2.0.
http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3A...
Read it again, yes 1350 is huge, take two minutes and have a look at the list of improvements! Now you got the feel of the effort. And this was a true community effort. It is possible because people worldwide helped! We want to deeply thank them.
We want to thank Inria for its constant support, in particular for the salary of Igor Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
We have accomplished this huge task for a better system because we were together. Do not forget that we are working on a consortium to support our system:
- http://consortium.pharo.org (for companies and organizations) - http://association.pharo.org (for individuals)
Our goal is to build a system so that we can make a living with our creativity and programming skills.
You can find information about Pharo on http://www.pharo-project.org. In particular, you may be interested in:
- Joining us and getting help http://www.pharo-project.org/community - Getting the Pharo By Example book (available as a free PDF): http://www.pharobyexample.org - Watching the screencasts http://www.pharocasts.com - Reporting problems http://www.pharo-project.org/community/issue-tracking - Reading the forth coming book http://rmod.lille.inria.fr/pbe2 - Reading the Pharo vision document http://bit.ly/HNkEru
Thanks a lot for your participation, energy and fun.
-- The Pharo Team
Summarized issues for 2.0 ==================
UI ---
- Spec - Widget enhancements - Layout improvements/cleanups - Keybindings - New icons (famfam) - Growl style notifications - Revamp progress bar
Developer tools ---------------
- Nautilus browser - Critics browser - Improved version diff browsing - Spotlight - Revamp Code Completion and smart chars - Interactive navigation using ctrl/cmd+click over classes/methods - Shout themes - Andreas profiler
Networking -----------
- Update Zinc - Zodiac (SSL)
System -------
- System Announcer - RPackage replacing PackageInfo - Command line tools / Headless mode - Native boost - Update Ring metamodel - Fuel serializer - Freetype fonts
Kernel ------
- DateAndTime refactoring - Updated FileSystem and replaced FileDirectory
VM --
- Latests cog builds - SSLPlugin - FilePlugin enhancements - SocketPlugin fixes - Included libraries: freetype2, cairo
Cleanups -------------
- FileDirectory removed (replaced by FileSystem) - SmartRefStream and ReferenceStream removed (replaced by Fuel) - PackageInfo deprecated (replaced by RPackage)
Other -------
- Zeroconf scripts - Continuous Integration for every aspect of our release process.
Not all the changes are reported here, but this is to give you an impression, you can find better explanation here: https://code.google.com/p/pharo/wiki/ActionsInPharo20
On 18 Mar 2013, at 11:26, stephane ducasse <stephane.ducasse@free.fr> wrote:
Thanks to everybody for all the energy put in this good version.
Stef
Finally, 2.0 released ! My general feeling is that of gratitude towards the community for everybody's contributions. Sven
On Mar 18, 2013, at 11:21 AM, Benjamin <benjamin.vanryseghem.pharo@gmail.com> wrote:
Ben
On Mar 18, 2013, at 11:12 AM, Marcus Denker <marcus.denker@inria.fr> wrote:
We are proud to announce the release of Pharo 2.0!
You can find information about Pharo at: http://www.pharo-project.org
About this release ------------------ All in all, there were over 1600 issues treated in the issue tracker and 1350 improvements integrated into 2.0.
http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3A...
Read it again, yes 1350 is huge, take two minutes and have a look at the list of improvements! Now you got the feel of the effort. And this was a true community effort. It is possible because people worldwide helped! We want to deeply thank them.
We want to thank Inria for its constant support, in particular for the salary of Igor Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
We have accomplished this huge task for a better system because we were together. Do not forget that we are working on a consortium to support our system:
- http://consortium.pharo.org (for companies and organizations) - http://association.pharo.org (for individuals)
Our goal is to build a system so that we can make a living with our creativity and programming skills.
You can find information about Pharo on http://www.pharo-project.org. In particular, you may be interested in:
- Joining us and getting help http://www.pharo-project.org/community - Getting the Pharo By Example book (available as a free PDF): http://www.pharobyexample.org - Watching the screencasts http://www.pharocasts.com - Reporting problems http://www.pharo-project.org/community/issue-tracking - Reading the forth coming book http://rmod.lille.inria.fr/pbe2 - Reading the Pharo vision document http://bit.ly/HNkEru
Thanks a lot for your participation, energy and fun.
-- The Pharo Team
Summarized issues for 2.0 ==================
UI ---
- Spec - Widget enhancements - Layout improvements/cleanups - Keybindings - New icons (famfam) - Growl style notifications - Revamp progress bar
Developer tools ---------------
- Nautilus browser - Critics browser - Improved version diff browsing - Spotlight - Revamp Code Completion and smart chars - Interactive navigation using ctrl/cmd+click over classes/methods - Shout themes - Andreas profiler
Networking -----------
- Update Zinc - Zodiac (SSL)
System -------
- System Announcer - RPackage replacing PackageInfo - Command line tools / Headless mode - Native boost - Update Ring metamodel - Fuel serializer - Freetype fonts
Kernel ------
- DateAndTime refactoring - Updated FileSystem and replaced FileDirectory
VM --
- Latests cog builds - SSLPlugin - FilePlugin enhancements - SocketPlugin fixes - Included libraries: freetype2, cairo
Cleanups -------------
- FileDirectory removed (replaced by FileSystem) - SmartRefStream and ReferenceStream removed (replaced by Fuel) - PackageInfo deprecated (replaced by RPackage)
Other -------
- Zeroconf scripts - Continuous Integration for every aspect of our release process.
Not all the changes are reported here, but this is to give you an impression, you can find better explanation here: https://code.google.com/p/pharo/wiki/ActionsInPharo20
+1 Doru On Mon, Mar 18, 2013 at 12:13 PM, Sven Van Caekenberghe <sven@stfx.eu>wrote:
On 18 Mar 2013, at 11:26, stephane ducasse <stephane.ducasse@free.fr> wrote:
Thanks to everybody for all the energy put in this good version.
Stef
Finally, 2.0 released !
My general feeling is that of gratitude towards the community for everybody's contributions.
Sven
On Mar 18, 2013, at 11:21 AM, Benjamin < benjamin.vanryseghem.pharo@gmail.com> wrote:
Ben
On Mar 18, 2013, at 11:12 AM, Marcus Denker <marcus.denker@inria.fr>
wrote:
We are proud to announce the release of Pharo 2.0!
You can find information about Pharo at: http://www.pharo-project.org
About this release ------------------ All in all, there were over 1600 issues treated in the issue tracker and 1350 improvements integrated into 2.0.
http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3A...
Read it again, yes 1350 is huge, take two minutes and have a look at
the list of
improvements! Now you got the feel of the effort. And this was a true community effort. It is possible because people worldwide helped! We want to deeply thank them.
We want to thank Inria for its constant support, in particular for the salary of Igor Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
We have accomplished this huge task for a better system because we were together. Do not forget that we are working on a consortium to support our system:
- http://consortium.pharo.org (for companies and organizations) - http://association.pharo.org (for individuals)
Our goal is to build a system so that we can make a living with our creativity and programming skills.
You can find information about Pharo on http://www.pharo-project.org. In particular, you may be interested in:
- Joining us and getting help http://www.pharo-project.org/community - Getting the Pharo By Example book (available as a free PDF): http://www.pharobyexample.org - Watching the screencasts http://www.pharocasts.com - Reporting problems http://www.pharo-project.org/community/issue-tracking - Reading the forth coming book http://rmod.lille.inria.fr/pbe2 - Reading the Pharo vision document http://bit.ly/HNkEru
Thanks a lot for your participation, energy and fun.
-- The Pharo Team
Summarized issues for 2.0 ==================
UI ---
- Spec - Widget enhancements - Layout improvements/cleanups - Keybindings - New icons (famfam) - Growl style notifications - Revamp progress bar
Developer tools ---------------
- Nautilus browser - Critics browser - Improved version diff browsing - Spotlight - Revamp Code Completion and smart chars - Interactive navigation using ctrl/cmd+click over classes/methods - Shout themes - Andreas profiler
Networking -----------
- Update Zinc - Zodiac (SSL)
System -------
- System Announcer - RPackage replacing PackageInfo - Command line tools / Headless mode - Native boost - Update Ring metamodel - Fuel serializer - Freetype fonts
Kernel ------
- DateAndTime refactoring - Updated FileSystem and replaced FileDirectory
VM --
- Latests cog builds - SSLPlugin - FilePlugin enhancements - SocketPlugin fixes - Included libraries: freetype2, cairo
Cleanups -------------
- FileDirectory removed (replaced by FileSystem) - SmartRefStream and ReferenceStream removed (replaced by Fuel) - PackageInfo deprecated (replaced by RPackage)
Other -------
- Zeroconf scripts - Continuous Integration for every aspect of our release process.
Not all the changes are reported here, but this is to give you an impression, you can find better explanation here: https://code.google.com/p/pharo/wiki/ActionsInPharo20
-- www.tudorgirba.com "Every thing has its own flow"
+1 to that! Thanks to all On Mar 18, 2013, at 7:13 AM, Sven Van Caekenberghe <sven@stfx.eu> wrote:
On 18 Mar 2013, at 11:26, stephane ducasse <stephane.ducasse@free.fr> wrote:
Thanks to everybody for all the energy put in this good version.
Stef
Finally, 2.0 released !
My general feeling is that of gratitude towards the community for everybody's contributions.
Sven
---> Save our in-boxes! http://emailcharter.org <--- Johan Fabry - http://pleiad.cl/~jfabry PLEIAD lab - Computer Science Department (DCC) - University of Chile
Congrats! Norbert Am 18.03.2013 um 11:12 schrieb Marcus Denker <marcus.denker@inria.fr>:
We are proud to announce the release of Pharo 2.0!
You can find information about Pharo at: http://www.pharo-project.org
About this release ------------------ All in all, there were over 1600 issues treated in the issue tracker and 1350 improvements integrated into 2.0.
http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3A...
Read it again, yes 1350 is huge, take two minutes and have a look at the list of improvements! Now you got the feel of the effort. And this was a true community effort. It is possible because people worldwide helped! We want to deeply thank them.
We want to thank Inria for its constant support, in particular for the salary of Igor Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
We have accomplished this huge task for a better system because we were together. Do not forget that we are working on a consortium to support our system:
- http://consortium.pharo.org (for companies and organizations) - http://association.pharo.org (for individuals)
Our goal is to build a system so that we can make a living with our creativity and programming skills.
You can find information about Pharo on http://www.pharo-project.org. In particular, you may be interested in:
- Joining us and getting help http://www.pharo-project.org/community - Getting the Pharo By Example book (available as a free PDF): http://www.pharobyexample.org - Watching the screencasts http://www.pharocasts.com - Reporting problems http://www.pharo-project.org/community/issue-tracking - Reading the forth coming book http://rmod.lille.inria.fr/pbe2 - Reading the Pharo vision document http://bit.ly/HNkEru
Thanks a lot for your participation, energy and fun.
-- The Pharo Team
Summarized issues for 2.0 ==================
UI ---
- Spec - Widget enhancements - Layout improvements/cleanups - Keybindings - New icons (famfam) - Growl style notifications - Revamp progress bar
Developer tools ---------------
- Nautilus browser - Critics browser - Improved version diff browsing - Spotlight - Revamp Code Completion and smart chars - Interactive navigation using ctrl/cmd+click over classes/methods - Shout themes - Andreas profiler
Networking -----------
- Update Zinc - Zodiac (SSL)
System -------
- System Announcer - RPackage replacing PackageInfo - Command line tools / Headless mode - Native boost - Update Ring metamodel - Fuel serializer - Freetype fonts
Kernel ------
- DateAndTime refactoring - Updated FileSystem and replaced FileDirectory
VM --
- Latests cog builds - SSLPlugin - FilePlugin enhancements - SocketPlugin fixes - Included libraries: freetype2, cairo
Cleanups -------------
- FileDirectory removed (replaced by FileSystem) - SmartRefStream and ReferenceStream removed (replaced by Fuel) - PackageInfo deprecated (replaced by RPackage)
Other -------
- Zeroconf scripts - Continuous Integration for every aspect of our release process.
Not all the changes are reported here, but this is to give you an impression, you can find better explanation here: https://code.google.com/p/pharo/wiki/ActionsInPharo20
2013/3/18 Norbert Hartl <norbert@hartl.name>
Congrats!
Norbert
Am 18.03.2013 um 11:12 schrieb Marcus Denker <marcus.denker@inria.fr>:
We are proud to announce the release of Pharo 2.0!
You can find information about Pharo at: http://www.pharo-project.org
About this release ------------------ All in all, there were over 1600 issues treated in the issue tracker and 1350 improvements integrated into 2.0.
http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3A...
Read it again, yes 1350 is huge, take two minutes and have a look at the
list of
improvements! Now you got the feel of the effort. And this was a true community effort. It is possible because people worldwide helped! We want to deeply thank them.
We want to thank Inria for its constant support, in particular for the salary of Igor Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
We have accomplished this huge task for a better system because we were together. Do not forget that we are working on a consortium to support our system:
- http://consortium.pharo.org (for companies and organizations) - http://association.pharo.org (for individuals)
Our goal is to build a system so that we can make a living with our creativity and programming skills.
You can find information about Pharo on http://www.pharo-project.org. In particular, you may be interested in:
- Joining us and getting help http://www.pharo-project.org/community - Getting the Pharo By Example book (available as a free PDF): http://www.pharobyexample.org - Watching the screencasts http://www.pharocasts.com - Reporting problems http://www.pharo-project.org/community/issue-tracking - Reading the forth coming book http://rmod.lille.inria.fr/pbe2 - Reading the Pharo vision document http://bit.ly/HNkEru
Thanks a lot for your participation, energy and fun.
-- The Pharo Team
Summarized issues for 2.0 ==================
UI ---
- Spec - Widget enhancements - Layout improvements/cleanups - Keybindings - New icons (famfam) - Growl style notifications - Revamp progress bar
Developer tools ---------------
- Nautilus browser - Critics browser - Improved version diff browsing - Spotlight - Revamp Code Completion and smart chars - Interactive navigation using ctrl/cmd+click over classes/methods - Shout themes - Andreas profiler
Networking -----------
- Update Zinc - Zodiac (SSL)
System -------
- System Announcer - RPackage replacing PackageInfo - Command line tools / Headless mode - Native boost - Update Ring metamodel - Fuel serializer - Freetype fonts
Kernel ------
- DateAndTime refactoring - Updated FileSystem and replaced FileDirectory
VM --
- Latests cog builds - SSLPlugin - FilePlugin enhancements - SocketPlugin fixes - Included libraries: freetype2, cairo
Cleanups -------------
- FileDirectory removed (replaced by FileSystem) - SmartRefStream and ReferenceStream removed (replaced by Fuel) - PackageInfo deprecated (replaced by RPackage)
Other -------
- Zeroconf scripts - Continuous Integration for every aspect of our release process.
Not all the changes are reported here, but this is to give you an impression, you can find better explanation here: https://code.google.com/p/pharo/wiki/ActionsInPharo20
What about issue tracking? All issues at google code are locked and I can not sign in at FogBugz (it isn't public yet?) regards Nicolai
As I said previously, we are encountering issues with the deployment of the website allowing to register. Hopefully, it should be deployed very soon Ben On Mar 18, 2013, at 12:29 PM, Nicolai Hess <nicolaihess@web.de> wrote:
2013/3/18 Norbert Hartl <norbert@hartl.name> Congrats!
Norbert
Am 18.03.2013 um 11:12 schrieb Marcus Denker <marcus.denker@inria.fr>:
We are proud to announce the release of Pharo 2.0!
You can find information about Pharo at: http://www.pharo-project.org
About this release ------------------ All in all, there were over 1600 issues treated in the issue tracker and 1350 improvements integrated into 2.0.
http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3A...
Read it again, yes 1350 is huge, take two minutes and have a look at the list of improvements! Now you got the feel of the effort. And this was a true community effort. It is possible because people worldwide helped! We want to deeply thank them.
We want to thank Inria for its constant support, in particular for the salary of Igor Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
We have accomplished this huge task for a better system because we were together. Do not forget that we are working on a consortium to support our system:
- http://consortium.pharo.org (for companies and organizations) - http://association.pharo.org (for individuals)
Our goal is to build a system so that we can make a living with our creativity and programming skills.
You can find information about Pharo on http://www.pharo-project.org. In particular, you may be interested in:
- Joining us and getting help http://www.pharo-project.org/community - Getting the Pharo By Example book (available as a free PDF): http://www.pharobyexample.org - Watching the screencasts http://www.pharocasts.com - Reporting problems http://www.pharo-project.org/community/issue-tracking - Reading the forth coming book http://rmod.lille.inria.fr/pbe2 - Reading the Pharo vision document http://bit.ly/HNkEru
Thanks a lot for your participation, energy and fun.
-- The Pharo Team
Summarized issues for 2.0 ==================
UI ---
- Spec - Widget enhancements - Layout improvements/cleanups - Keybindings - New icons (famfam) - Growl style notifications - Revamp progress bar
Developer tools ---------------
- Nautilus browser - Critics browser - Improved version diff browsing - Spotlight - Revamp Code Completion and smart chars - Interactive navigation using ctrl/cmd+click over classes/methods - Shout themes - Andreas profiler
Networking -----------
- Update Zinc - Zodiac (SSL)
System -------
- System Announcer - RPackage replacing PackageInfo - Command line tools / Headless mode - Native boost - Update Ring metamodel - Fuel serializer - Freetype fonts
Kernel ------
- DateAndTime refactoring - Updated FileSystem and replaced FileDirectory
VM --
- Latests cog builds - SSLPlugin - FilePlugin enhancements - SocketPlugin fixes - Included libraries: freetype2, cairo
Cleanups -------------
- FileDirectory removed (replaced by FileSystem) - SmartRefStream and ReferenceStream removed (replaced by Fuel) - PackageInfo deprecated (replaced by RPackage)
Other -------
- Zeroconf scripts - Continuous Integration for every aspect of our release process.
Not all the changes are reported here, but this is to give you an impression, you can find better explanation here: https://code.google.com/p/pharo/wiki/ActionsInPharo20
What about issue tracking? All issues at google code are locked and I can not sign in at FogBugz (it isn't public yet?)
regards Nicolai
For those of you that want to know a bit more: http://code.google.com/p/pharo/w/edit/ActionsInPharo20 Here is a log of all the actions done in 2.0. The idea is not to replicate the bug tracker, as it is easy to get a complete list [http://code.google.com/p/pharo/issues/list?can=1&q=milestone%3D2.0 here]. Instead, the idea is to have a list of the major improvements with some explanations. ==UI== We started a long term effort on the Pharo UI. * *Spec: a new way to build UI.* We started to rethink the way we build user interfaces in Pharo. Spec has been developed by Benjamin van Ryseghem under the guidance of Stéphane Ducasse. Spec is based on a declarative syntax to specify user interfaces and on valueHolder port composition. Spec supports widgets definition, reuse and composition. New widgets can be created by composing existing widgets. Many existing tools have been reimplemented using Spec. We wrote a tutorial for Spec. Spec will be used for the UIPainter that we will develop for Pharo 3.0. In Pharo 3.0 we will revisit and improve Spec. One of the idea is that Spec should be independent of Morphic so that we can use it to build native tools or with Amber. * *Widget enhancements.* Several important widgets were greatly enhanced. This effort was led by Benjamin van Ryseghem. For example, multiple selection and single selection lists were unified. A new widget list has been developed from scratch and it exhibits massive speed improvements. * *Layout improvements/cleanups.* We improved the protocol used for creating LayoutFrame. We cleaned its implementation and simplify clients code. Now instance of layoutFrame are systematically well initialized. Clients do not need to check against nil values and a new protocol avoids to be forced to specify rectangle when only one number is required. * *Keybindings.* Keybindings is a new library developed by Guillermo Polito to manage key bindings. We started to use it to define widgets keybinding as well as menu shortcut. In Pharo 3.0 we will systematically rewrite all the hard-coded bindings with it and write a documentation. It supports: * source code navigation * running tests * basic refactoring * creating classes * and many more shortcuts: see "Shortcuts Description" in the window menu (triangle on the top right) in Nautilus * *New icons (famfam).* Pharo now uses new icons. We are looking for designers that could help us to define the UI look of the future Pharo versions. * *"Growl" style notifications.* To avoid to get UI blocked by simple notifications, Pharo now uses a growl like notification systems. * *Revamp progress bar.* We started to rewrite the progress bar framework. We introduced the Job class and notification to specify progress bar. * *Rectangle intersection improvements.* Rectangle intersection is a central part for UI redrawing and invalidating screen regions. Rectangle intersection is then an important functionality. We started to address the problem of the non-specification of the intersection of non overlapping rectangles. We introduced the intersect:ifNone protocol. As a side effect this improves the damage recording mechanisms and provide a faster system. ==Developer tools== * *Nautilus browser.* Nautilus, a new code browser has been developed by B. van Ryseghem. It supports: in place hierarchy, groups, refactorings, multiple views, icon navigation and many other features. Nautilus has a plugin infrastructure so everybody can use existing plugin or write new ones. Nautilus is fully navigable using shortcut. In Pharo 3.0 we plan to rewrite Nautilus using Spec. * *Critics browser.* From Pharo 2.0 on we want to systematically run rule checking rules. We revisited the SmallLint rules to customize them to Pharo and we better documented them. We developed a new browser that will helps you to apply SmallLint rules. In particular it supports the notion of todos. We can mark an issue as a false positive or as todos and get the bar green. We wrote a complete chapter on the Critics Browser. We will start to work on an infrastructure to systematically evaluate SmallLint rules on the projects published in the Pharo distribution. * *Omnipresence of the Refactoring Engine.* We believe that Pharo itself should use the best tools it has to change itself. This is why we decided to introduce the Refactoring Engine and SmallLint rule checkers. Note that this move to integrate extra tool is not against our vision to produce a minimal core. Once we have fast fuel based package loading we will be able to remove Metacello from the core. * *Improved version diff browsing.* We improved the diff and merging tool. * *Spotlight.* Spotlight is a ubiquitous tool to find classes and methods. You can activate it just press shift+enter. * *Revamp E/O Completion and smart chars.* In the past, smart characters (automatically closing parenthesis, single quote...) did not play well with auto completeion. In addition, they were duplicated functionality between two automatic ecompletion algorithms. In Pharo 2.0 we unified the two algorithms under a single umbrella and integrate them smoothly with smart-characters. * *Interactive navigation using "ctrl/cmd+click" over classes/methods.* Now Pharo supports the interactive navigation of source code using cmd/ctrl-click on selectors and class names in the source-code [implementors, senders, users]. * *Shout themes.* Several syntax highlighting themes have been defined. * *Andreas profiler.* As a tribute to Andreas Raab, we included an alternate profiler developed by Andreas. ==Networking== * *New version of Zinc.* Zinc is developed by Sven Van Caekenberghe. New versions of Zinc the http client/server library has been integrated. * *Zodiac (SSL).* Zodiac is an extension of Zinc to support SSL connections. ==System== * *System Announcer.* Pharo had a change notification system. A change notification system is important because tools can register to events to update or react without getting coupled with the system. The problem was that the previous change notification broadcasted only symbols and not plain objects. It was limiting the power that we can get about first class objects. In addition not all the events were raised and competing with Announcements (announcements raised plain objects). In Pharo 2.0, we redefined system events as Announcements, introduced a System Announcer whose responsibility is to raise announcement for all the events and removed the old SystemChangeNotifier. This sets up the basis for the future communication between tools. * *RPackage replacing PackageInfo.* PackageInfo is a way to identify if a method belongs to a package. The implementation is based on dynamic queries. Such queries it leads to problems to produce new generation browser and tools. We defined a new implementation of the package management of Pharo. The idea is to represent package as real objects. In Pharo3.0 we will continue to remove the dependency to PackageInfo. * *Manifest: Package metadata.* We introduce the notion of package metadata. Package metadata are used to manage all false positives or todos of SmallLint so that you do not have to check all the time rule results. Each package can now have a class named ManifestNameOfXPackageNameX. It will be the place to add documentation and other information. * *Command line tools / Headless mode.* We really want to make sure that Pharo can be used in non interactive mode and that we can pass scripts to it on the command-line. For this reason we continued to work on making sure that Pharo can be used headless. In particular we introduced a new way to handle command line parameters. See `pharoVM my.image --help` and `pharoVM my.image --list` * st Handle .st source files * Fuel Handle fuel files * config Install and inspect Metacello Configurations from the command line * save Rename the image and changes file * test Run tests from command line * update Load updates * printVersion Print image version * eval Evaluate directly passed-in one line script * *Native boost.* NativeBoost is a library that generates assembly code on the fly. It is used to generate FFI calls. By default [http://www.esug.org/wiki/pier/Conferences/2011/Schedule-And-Talks/Native-boo... NativeBoost] is included mostly for future use. In Pharo3.0 vector graphics will be used and Nativeboost will be used to invoke the graphics primitives. * *Ring metamodel.* Ring is a new meta model introduced in Pharo 1.4. It is used to represent code that is not currently executed. Ring has an API that is polymorphic with a subpart of the core executing entities of Pharo (Class and CompiledMethod). This has the nice property that the tools that manipulate such entities can also manipulate ring objects. Hence Ring supports of image browsing. In Pharo 3.0 we will rewrite certain tools to use ring and deprecate some abstractions like pseudo-classes and file packages. * *Fuel.* Fuel is one of the fastest and versatile object serializer. In Pharo 2.0, we decided to use fuel as a default serializer. In particular, on error the execution stack is saved now in fuel format. Therefore it is possible to reopen a debugger on a similar image for debugging purpose. * *Freetype fonts.* We offer now a better handling of freetype fonts and their management. * *Metacello: a universal package map.* Metacello is a framework to describe is included in the default image. In the future Pharo will be managed by Metacello. The idea also is that once we have fast fuel based package loading we will be able to remove Metacello from the core. ==Kernel== * *New object-oriented and powerful filesystem.* The old library to support file was dated and cumbersome to use. This version of Pharo uses FileSystem a new framework developed by Colin Putney. We revisited and integrated deeply into Pharo core. A full chapter is available in the new book http://rmod.lille.inria.fr/pbe2/. The work includes a complete removal of FileDirectory. There is a compatibility package to support the transition. Enjoy the new and clean API. * *DateAndTime refactoring.* All the DateAndTime internals are now UTC-based. This prevents bugs in certain edge-cases where the image is moved through different time-zones, most prominently for daylight saving time. ==VM== * Latests cog builds * SSLPlugin * FilePlugin enhancements * SocketPlugin fixes * Included libraries: freetype2, cairo ==Large Cleanups== * *FileDirectory removal.* FileDirectory the old file system has been removed. It is packaged as a separate package to support migration to Pharo2.0. * *Deprecation of old serialization framework.* *ReferenceStream* and *SmartRefStream* are removed. In addition, *DataStream* is cleaned to be only used by Monticello. For a general purpose serializer, use *[http://rmod.lille.inria.fr/web/pier/software/Fuel Fuel]* instead. * *Large amount of bugs fixes.* You already guessed in addition we integrated *a lot* of small improvements, cleanups and bug fixes. ==Continuous Integration== * *Zeroconf scripts.* Weren't you fed up not be able to install Pharo from a single command line or to pass it arguments? Using a nice debugger and an interactive environment development does not mean that Pharo developers do not value automatic scripts and love command line. Yes we do and we want the best of both worlds! Since Pharo 2.0, Pharo supports a way to define and handle command line argument and offer zero conf scripts. We even wrote a chapter on them. Here is a nice start with a zero-conf bash scripts: `wget --quiet -O - http://files.pharo.org/script/ciPharo20PharoVM.sh | bash` * *CI for everything.* A new infrastructure to support continuous integration is now in place. * First new images and vms are mirrored under http://files.pharo.org/ * Second the key parts of pharo are automatically built on [https://ci.inria.fr/pharo/] * Third community project can be hosted at [http://ci.inria.fr/pharo-contribution/]
THANK you all! More or less my feelings: Luc 2013/3/18 stephane ducasse <stephane.ducasse@free.fr>
For those of you that want to know a bit more: http://code.google.com/p/pharo/w/edit/ActionsInPharo20
Here is a log of all the actions done in 2.0. The idea is not to replicate the bug tracker, as it is easy to get a complete list [ http://code.google.com/p/pharo/issues/list?can=1&q=milestone%3D2.0 here]. Instead, the idea is to have a list of the major improvements with some explanations.
==UI== We started a long term effort on the Pharo UI.
* *Spec: a new way to build UI.* We started to rethink the way we build user interfaces in Pharo. Spec has been developed by Benjamin van Ryseghem under the guidance of Stéphane Ducasse. Spec is based on a declarative syntax to specify user interfaces and on valueHolder port composition. Spec supports widgets definition, reuse and composition. New widgets can be created by composing existing widgets. Many existing tools have been reimplemented using Spec. We wrote a tutorial for Spec. Spec will be used for the UIPainter that we will develop for Pharo 3.0. In Pharo 3.0 we will revisit and improve Spec. One of the idea is that Spec should be independent of Morphic so that we can use it to build native tools or with Amber.
* *Widget enhancements.* Several important widgets were greatly enhanced. This effort was led by Benjamin van Ryseghem. For example, multiple selection and single selection lists were unified. A new widget list has been developed from scratch and it exhibits massive speed improvements.
* *Layout improvements/cleanups.* We improved the protocol used for creating LayoutFrame. We cleaned its implementation and simplify clients code. Now instance of layoutFrame are systematically well initialized. Clients do not need to check against nil values and a new protocol avoids to be forced to specify rectangle when only one number is required.
* *Keybindings.* Keybindings is a new library developed by Guillermo Polito to manage key bindings. We started to use it to define widgets keybinding as well as menu shortcut. In Pharo 3.0 we will systematically rewrite all the hard-coded bindings with it and write a documentation. It supports: * source code navigation * running tests * basic refactoring * creating classes * and many more shortcuts: see "Shortcuts Description" in the window menu (triangle on the top right) in Nautilus
* *New icons (famfam).* Pharo now uses new icons. We are looking for designers that could help us to define the UI look of the future Pharo versions.
* *"Growl" style notifications.* To avoid to get UI blocked by simple notifications, Pharo now uses a growl like notification systems.
* *Revamp progress bar.* We started to rewrite the progress bar framework. We introduced the Job class and notification to specify progress bar.
* *Rectangle intersection improvements.* Rectangle intersection is a central part for UI redrawing and invalidating screen regions. Rectangle intersection is then an important functionality. We started to address the problem of the non-specification of the intersection of non overlapping rectangles. We introduced the intersect:ifNone protocol. As a side effect this improves the damage recording mechanisms and provide a faster system.
==Developer tools==
* *Nautilus browser.* Nautilus, a new code browser has been developed by B. van Ryseghem. It supports: in place hierarchy, groups, refactorings, multiple views, icon navigation and many other features. Nautilus has a plugin infrastructure so everybody can use existing plugin or write new ones. Nautilus is fully navigable using shortcut. In Pharo 3.0 we plan to rewrite Nautilus using Spec.
* *Critics browser.* From Pharo 2.0 on we want to systematically run rule checking rules. We revisited the SmallLint rules to customize them to Pharo and we better documented them. We developed a new browser that will helps you to apply SmallLint rules. In particular it supports the notion of todos. We can mark an issue as a false positive or as todos and get the bar green. We wrote a complete chapter on the Critics Browser. We will start to work on an infrastructure to systematically evaluate SmallLint rules on the projects published in the Pharo distribution.
* *Omnipresence of the Refactoring Engine.* We believe that Pharo itself should use the best tools it has to change itself. This is why we decided to introduce the Refactoring Engine and SmallLint rule checkers. Note that this move to integrate extra tool is not against our vision to produce a minimal core. Once we have fast fuel based package loading we will be able to remove Metacello from the core.
* *Improved version diff browsing.* We improved the diff and merging tool.
* *Spotlight.* Spotlight is a ubiquitous tool to find classes and methods. You can activate it just press shift+enter.
* *Revamp E/O Completion and smart chars.* In the past, smart characters (automatically closing parenthesis, single quote...) did not play well with auto completeion. In addition, they were duplicated functionality between two automatic ecompletion algorithms. In Pharo 2.0 we unified the two algorithms under a single umbrella and integrate them smoothly with smart-characters.
* *Interactive navigation using "ctrl/cmd+click" over classes/methods.* Now Pharo supports the interactive navigation of source code using cmd/ctrl-click on selectors and class names in the source-code [implementors, senders, users].
* *Shout themes.* Several syntax highlighting themes have been defined.
* *Andreas profiler.* As a tribute to Andreas Raab, we included an alternate profiler developed by Andreas.
==Networking==
* *New version of Zinc.* Zinc is developed by Sven Van Caekenberghe. New versions of Zinc the http client/server library has been integrated.
* *Zodiac (SSL).* Zodiac is an extension of Zinc to support SSL connections.
==System==
* *System Announcer.* Pharo had a change notification system. A change notification system is important because tools can register to events to update or react without getting coupled with the system. The problem was that the previous change notification broadcasted only symbols and not plain objects. It was limiting the power that we can get about first class objects. In addition not all the events were raised and competing with Announcements (announcements raised plain objects). In Pharo 2.0, we redefined system events as Announcements, introduced a System Announcer whose responsibility is to raise announcement for all the events and removed the old SystemChangeNotifier. This sets up the basis for the future communication between tools.
* *RPackage replacing PackageInfo.* PackageInfo is a way to identify if a method belongs to a package. The implementation is based on dynamic queries. Such queries it leads to problems to produce new generation browser and tools. We defined a new implementation of the package management of Pharo. The idea is to represent package as real objects. In Pharo3.0 we will continue to remove the dependency to PackageInfo.
* *Manifest: Package metadata.* We introduce the notion of package metadata. Package metadata are used to manage all false positives or todos of SmallLint so that you do not have to check all the time rule results. Each package can now have a class named ManifestNameOfXPackageNameX. It will be the place to add documentation and other information.
* *Command line tools / Headless mode.* We really want to make sure that Pharo can be used in non interactive mode and that we can pass scripts to it on the command-line. For this reason we continued to work on making sure that Pharo can be used headless. In particular we introduced a new way to handle command line parameters. See `pharoVM my.image --help` and `pharoVM my.image --list` * st Handle .st source files * Fuel Handle fuel files * config Install and inspect Metacello Configurations from the command line * save Rename the image and changes file * test Run tests from command line * update Load updates * printVersion Print image version * eval Evaluate directly passed-in one line script
* *Native boost.* NativeBoost is a library that generates assembly code on the fly. It is used to generate FFI calls. By default [ http://www.esug.org/wiki/pier/Conferences/2011/Schedule-And-Talks/Native-boo...] is included mostly for future use. In Pharo3.0 vector graphics will be used and Nativeboost will be used to invoke the graphics primitives.
* *Ring metamodel.* Ring is a new meta model introduced in Pharo 1.4. It is used to represent code that is not currently executed. Ring has an API that is polymorphic with a subpart of the core executing entities of Pharo (Class and CompiledMethod). This has the nice property that the tools that manipulate such entities can also manipulate ring objects. Hence Ring supports of image browsing. In Pharo 3.0 we will rewrite certain tools to use ring and deprecate some abstractions like pseudo-classes and file packages.
* *Fuel.* Fuel is one of the fastest and versatile object serializer. In Pharo 2.0, we decided to use fuel as a default serializer. In particular, on error the execution stack is saved now in fuel format. Therefore it is possible to reopen a debugger on a similar image for debugging purpose.
* *Freetype fonts.* We offer now a better handling of freetype fonts and their management.
* *Metacello: a universal package map.* Metacello is a framework to describe is included in the default image. In the future Pharo will be managed by Metacello. The idea also is that once we have fast fuel based package loading we will be able to remove Metacello from the core.
==Kernel==
* *New object-oriented and powerful filesystem.* The old library to support file was dated and cumbersome to use. This version of Pharo uses FileSystem a new framework developed by Colin Putney. We revisited and integrated deeply into Pharo core. A full chapter is available in the new book http://rmod.lille.inria.fr/pbe2/. The work includes a complete removal of FileDirectory. There is a compatibility package to support the transition. Enjoy the new and clean API.
* *DateAndTime refactoring.* All the DateAndTime internals are now UTC-based. This prevents bugs in certain edge-cases where the image is moved through different time-zones, most prominently for daylight saving time.
==VM== * Latests cog builds * SSLPlugin * FilePlugin enhancements * SocketPlugin fixes * Included libraries: freetype2, cairo
==Large Cleanups== * *FileDirectory removal.* FileDirectory the old file system has been removed. It is packaged as a separate package to support migration to Pharo2.0.
* *Deprecation of old serialization framework.* *ReferenceStream* and *SmartRefStream* are removed. In addition, *DataStream* is cleaned to be only used by Monticello. For a general purpose serializer, use *[ http://rmod.lille.inria.fr/web/pier/software/Fuel Fuel]* instead.
* *Large amount of bugs fixes.* You already guessed in addition we integrated *a lot* of small improvements, cleanups and bug fixes.
==Continuous Integration== * *Zeroconf scripts.* Weren't you fed up not be able to install Pharo from a single command line or to pass it arguments? Using a nice debugger and an interactive environment development does not mean that Pharo developers do not value automatic scripts and love command line. Yes we do and we want the best of both worlds! Since Pharo 2.0, Pharo supports a way to define and handle command line argument and offer zero conf scripts. We even wrote a chapter on them. Here is a nice start with a zero-conf bash scripts: `wget --quiet -O - http://files.pharo.org/script/ciPharo20PharoVM.sh | bash`
* *CI for everything.* A new infrastructure to support continuous integration is now in place. * First new images and vms are mirrored under http://files.pharo.org/ * Second the key parts of pharo are automatically built on [ https://ci.inria.fr/pharo/] * Third community project can be hosted at [ http://ci.inria.fr/pharo-contribution/]
Congrats ! Jannik 2013/3/18 Luc Fabresse <luc.fabresse@gmail.com>
THANK you all! More or less my feelings:
Luc
2013/3/18 stephane ducasse <stephane.ducasse@free.fr>
For those of you that want to know a bit more: http://code.google.com/p/pharo/w/edit/ActionsInPharo20
Here is a log of all the actions done in 2.0. The idea is not to replicate the bug tracker, as it is easy to get a complete list [ http://code.google.com/p/pharo/issues/list?can=1&q=milestone%3D2.0 here]. Instead, the idea is to have a list of the major improvements with some explanations.
==UI== We started a long term effort on the Pharo UI.
* *Spec: a new way to build UI.* We started to rethink the way we build user interfaces in Pharo. Spec has been developed by Benjamin van Ryseghem under the guidance of Stéphane Ducasse. Spec is based on a declarative syntax to specify user interfaces and on valueHolder port composition. Spec supports widgets definition, reuse and composition. New widgets can be created by composing existing widgets. Many existing tools have been reimplemented using Spec. We wrote a tutorial for Spec. Spec will be used for the UIPainter that we will develop for Pharo 3.0. In Pharo 3.0 we will revisit and improve Spec. One of the idea is that Spec should be independent of Morphic so that we can use it to build native tools or with Amber.
* *Widget enhancements.* Several important widgets were greatly enhanced. This effort was led by Benjamin van Ryseghem. For example, multiple selection and single selection lists were unified. A new widget list has been developed from scratch and it exhibits massive speed improvements.
* *Layout improvements/cleanups.* We improved the protocol used for creating LayoutFrame. We cleaned its implementation and simplify clients code. Now instance of layoutFrame are systematically well initialized. Clients do not need to check against nil values and a new protocol avoids to be forced to specify rectangle when only one number is required.
* *Keybindings.* Keybindings is a new library developed by Guillermo Polito to manage key bindings. We started to use it to define widgets keybinding as well as menu shortcut. In Pharo 3.0 we will systematically rewrite all the hard-coded bindings with it and write a documentation. It supports: * source code navigation * running tests * basic refactoring * creating classes * and many more shortcuts: see "Shortcuts Description" in the window menu (triangle on the top right) in Nautilus
* *New icons (famfam).* Pharo now uses new icons. We are looking for designers that could help us to define the UI look of the future Pharo versions.
* *"Growl" style notifications.* To avoid to get UI blocked by simple notifications, Pharo now uses a growl like notification systems.
* *Revamp progress bar.* We started to rewrite the progress bar framework. We introduced the Job class and notification to specify progress bar.
* *Rectangle intersection improvements.* Rectangle intersection is a central part for UI redrawing and invalidating screen regions. Rectangle intersection is then an important functionality. We started to address the problem of the non-specification of the intersection of non overlapping rectangles. We introduced the intersect:ifNone protocol. As a side effect this improves the damage recording mechanisms and provide a faster system.
==Developer tools==
* *Nautilus browser.* Nautilus, a new code browser has been developed by B. van Ryseghem. It supports: in place hierarchy, groups, refactorings, multiple views, icon navigation and many other features. Nautilus has a plugin infrastructure so everybody can use existing plugin or write new ones. Nautilus is fully navigable using shortcut. In Pharo 3.0 we plan to rewrite Nautilus using Spec.
* *Critics browser.* From Pharo 2.0 on we want to systematically run rule checking rules. We revisited the SmallLint rules to customize them to Pharo and we better documented them. We developed a new browser that will helps you to apply SmallLint rules. In particular it supports the notion of todos. We can mark an issue as a false positive or as todos and get the bar green. We wrote a complete chapter on the Critics Browser. We will start to work on an infrastructure to systematically evaluate SmallLint rules on the projects published in the Pharo distribution.
* *Omnipresence of the Refactoring Engine.* We believe that Pharo itself should use the best tools it has to change itself. This is why we decided to introduce the Refactoring Engine and SmallLint rule checkers. Note that this move to integrate extra tool is not against our vision to produce a minimal core. Once we have fast fuel based package loading we will be able to remove Metacello from the core.
* *Improved version diff browsing.* We improved the diff and merging tool.
* *Spotlight.* Spotlight is a ubiquitous tool to find classes and methods. You can activate it just press shift+enter.
* *Revamp E/O Completion and smart chars.* In the past, smart characters (automatically closing parenthesis, single quote...) did not play well with auto completeion. In addition, they were duplicated functionality between two automatic ecompletion algorithms. In Pharo 2.0 we unified the two algorithms under a single umbrella and integrate them smoothly with smart-characters.
* *Interactive navigation using "ctrl/cmd+click" over classes/methods.* Now Pharo supports the interactive navigation of source code using cmd/ctrl-click on selectors and class names in the source-code [implementors, senders, users].
* *Shout themes.* Several syntax highlighting themes have been defined.
* *Andreas profiler.* As a tribute to Andreas Raab, we included an alternate profiler developed by Andreas.
==Networking==
* *New version of Zinc.* Zinc is developed by Sven Van Caekenberghe. New versions of Zinc the http client/server library has been integrated.
* *Zodiac (SSL).* Zodiac is an extension of Zinc to support SSL connections.
==System==
* *System Announcer.* Pharo had a change notification system. A change notification system is important because tools can register to events to update or react without getting coupled with the system. The problem was that the previous change notification broadcasted only symbols and not plain objects. It was limiting the power that we can get about first class objects. In addition not all the events were raised and competing with Announcements (announcements raised plain objects). In Pharo 2.0, we redefined system events as Announcements, introduced a System Announcer whose responsibility is to raise announcement for all the events and removed the old SystemChangeNotifier. This sets up the basis for the future communication between tools.
* *RPackage replacing PackageInfo.* PackageInfo is a way to identify if a method belongs to a package. The implementation is based on dynamic queries. Such queries it leads to problems to produce new generation browser and tools. We defined a new implementation of the package management of Pharo. The idea is to represent package as real objects. In Pharo3.0 we will continue to remove the dependency to PackageInfo.
* *Manifest: Package metadata.* We introduce the notion of package metadata. Package metadata are used to manage all false positives or todos of SmallLint so that you do not have to check all the time rule results. Each package can now have a class named ManifestNameOfXPackageNameX. It will be the place to add documentation and other information.
* *Command line tools / Headless mode.* We really want to make sure that Pharo can be used in non interactive mode and that we can pass scripts to it on the command-line. For this reason we continued to work on making sure that Pharo can be used headless. In particular we introduced a new way to handle command line parameters. See `pharoVM my.image --help` and `pharoVM my.image --list` * st Handle .st source files * Fuel Handle fuel files * config Install and inspect Metacello Configurations from the command line * save Rename the image and changes file * test Run tests from command line * update Load updates * printVersion Print image version * eval Evaluate directly passed-in one line script
* *Native boost.* NativeBoost is a library that generates assembly code on the fly. It is used to generate FFI calls. By default [ http://www.esug.org/wiki/pier/Conferences/2011/Schedule-And-Talks/Native-boo...] is included mostly for future use. In Pharo3.0 vector graphics will be used and Nativeboost will be used to invoke the graphics primitives.
* *Ring metamodel.* Ring is a new meta model introduced in Pharo 1.4. It is used to represent code that is not currently executed. Ring has an API that is polymorphic with a subpart of the core executing entities of Pharo (Class and CompiledMethod). This has the nice property that the tools that manipulate such entities can also manipulate ring objects. Hence Ring supports of image browsing. In Pharo 3.0 we will rewrite certain tools to use ring and deprecate some abstractions like pseudo-classes and file packages.
* *Fuel.* Fuel is one of the fastest and versatile object serializer. In Pharo 2.0, we decided to use fuel as a default serializer. In particular, on error the execution stack is saved now in fuel format. Therefore it is possible to reopen a debugger on a similar image for debugging purpose.
* *Freetype fonts.* We offer now a better handling of freetype fonts and their management.
* *Metacello: a universal package map.* Metacello is a framework to describe is included in the default image. In the future Pharo will be managed by Metacello. The idea also is that once we have fast fuel based package loading we will be able to remove Metacello from the core.
==Kernel==
* *New object-oriented and powerful filesystem.* The old library to support file was dated and cumbersome to use. This version of Pharo uses FileSystem a new framework developed by Colin Putney. We revisited and integrated deeply into Pharo core. A full chapter is available in the new book http://rmod.lille.inria.fr/pbe2/. The work includes a complete removal of FileDirectory. There is a compatibility package to support the transition. Enjoy the new and clean API.
* *DateAndTime refactoring.* All the DateAndTime internals are now UTC-based. This prevents bugs in certain edge-cases where the image is moved through different time-zones, most prominently for daylight saving time.
==VM== * Latests cog builds * SSLPlugin * FilePlugin enhancements * SocketPlugin fixes * Included libraries: freetype2, cairo
==Large Cleanups== * *FileDirectory removal.* FileDirectory the old file system has been removed. It is packaged as a separate package to support migration to Pharo2.0.
* *Deprecation of old serialization framework.* *ReferenceStream* and *SmartRefStream* are removed. In addition, *DataStream* is cleaned to be only used by Monticello. For a general purpose serializer, use *[ http://rmod.lille.inria.fr/web/pier/software/Fuel Fuel]* instead.
* *Large amount of bugs fixes.* You already guessed in addition we integrated *a lot* of small improvements, cleanups and bug fixes.
==Continuous Integration== * *Zeroconf scripts.* Weren't you fed up not be able to install Pharo from a single command line or to pass it arguments? Using a nice debugger and an interactive environment development does not mean that Pharo developers do not value automatic scripts and love command line. Yes we do and we want the best of both worlds! Since Pharo 2.0, Pharo supports a way to define and handle command line argument and offer zero conf scripts. We even wrote a chapter on them. Here is a nice start with a zero-conf bash scripts: `wget --quiet -O - http://files.pharo.org/script/ciPharo20PharoVM.sh | bash`
* *CI for everything.* A new infrastructure to support continuous integration is now in place. * First new images and vms are mirrored under http://files.pharo.org/ * Second the key parts of pharo are automatically built on [ https://ci.inria.fr/pharo/] * Third community project can be hosted at [ http://ci.inria.fr/pharo-contribution/]
-- ~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
Wiii :D Felicitaciones! On Mon, Mar 18, 2013 at 11:51 AM, jannik laval <jannik.laval@gmail.com>wrote:
Congrats !
Jannik
2013/3/18 Luc Fabresse <luc.fabresse@gmail.com>
THANK you all! More or less my feelings:
Luc
2013/3/18 stephane ducasse <stephane.ducasse@free.fr>
For those of you that want to know a bit more: http://code.google.com/p/pharo/w/edit/ActionsInPharo20
Here is a log of all the actions done in 2.0. The idea is not to replicate the bug tracker, as it is easy to get a complete list [ http://code.google.com/p/pharo/issues/list?can=1&q=milestone%3D2.0here]. Instead, the idea is to have a list of the major improvements with some explanations.
==UI== We started a long term effort on the Pharo UI.
* *Spec: a new way to build UI.* We started to rethink the way we build user interfaces in Pharo. Spec has been developed by Benjamin van Ryseghem under the guidance of Stéphane Ducasse. Spec is based on a declarative syntax to specify user interfaces and on valueHolder port composition. Spec supports widgets definition, reuse and composition. New widgets can be created by composing existing widgets. Many existing tools have been reimplemented using Spec. We wrote a tutorial for Spec. Spec will be used for the UIPainter that we will develop for Pharo 3.0. In Pharo 3.0 we will revisit and improve Spec. One of the idea is that Spec should be independent of Morphic so that we can use it to build native tools or with Amber.
* *Widget enhancements.* Several important widgets were greatly enhanced. This effort was led by Benjamin van Ryseghem. For example, multiple selection and single selection lists were unified. A new widget list has been developed from scratch and it exhibits massive speed improvements.
* *Layout improvements/cleanups.* We improved the protocol used for creating LayoutFrame. We cleaned its implementation and simplify clients code. Now instance of layoutFrame are systematically well initialized. Clients do not need to check against nil values and a new protocol avoids to be forced to specify rectangle when only one number is required.
* *Keybindings.* Keybindings is a new library developed by Guillermo Polito to manage key bindings. We started to use it to define widgets keybinding as well as menu shortcut. In Pharo 3.0 we will systematically rewrite all the hard-coded bindings with it and write a documentation. It supports: * source code navigation * running tests * basic refactoring * creating classes * and many more shortcuts: see "Shortcuts Description" in the window menu (triangle on the top right) in Nautilus
* *New icons (famfam).* Pharo now uses new icons. We are looking for designers that could help us to define the UI look of the future Pharo versions.
* *"Growl" style notifications.* To avoid to get UI blocked by simple notifications, Pharo now uses a growl like notification systems.
* *Revamp progress bar.* We started to rewrite the progress bar framework. We introduced the Job class and notification to specify progress bar.
* *Rectangle intersection improvements.* Rectangle intersection is a central part for UI redrawing and invalidating screen regions. Rectangle intersection is then an important functionality. We started to address the problem of the non-specification of the intersection of non overlapping rectangles. We introduced the intersect:ifNone protocol. As a side effect this improves the damage recording mechanisms and provide a faster system.
==Developer tools==
* *Nautilus browser.* Nautilus, a new code browser has been developed by B. van Ryseghem. It supports: in place hierarchy, groups, refactorings, multiple views, icon navigation and many other features. Nautilus has a plugin infrastructure so everybody can use existing plugin or write new ones. Nautilus is fully navigable using shortcut. In Pharo 3.0 we plan to rewrite Nautilus using Spec.
* *Critics browser.* From Pharo 2.0 on we want to systematically run rule checking rules. We revisited the SmallLint rules to customize them to Pharo and we better documented them. We developed a new browser that will helps you to apply SmallLint rules. In particular it supports the notion of todos. We can mark an issue as a false positive or as todos and get the bar green. We wrote a complete chapter on the Critics Browser. We will start to work on an infrastructure to systematically evaluate SmallLint rules on the projects published in the Pharo distribution.
* *Omnipresence of the Refactoring Engine.* We believe that Pharo itself should use the best tools it has to change itself. This is why we decided to introduce the Refactoring Engine and SmallLint rule checkers. Note that this move to integrate extra tool is not against our vision to produce a minimal core. Once we have fast fuel based package loading we will be able to remove Metacello from the core.
* *Improved version diff browsing.* We improved the diff and merging tool.
* *Spotlight.* Spotlight is a ubiquitous tool to find classes and methods. You can activate it just press shift+enter.
* *Revamp E/O Completion and smart chars.* In the past, smart characters (automatically closing parenthesis, single quote...) did not play well with auto completeion. In addition, they were duplicated functionality between two automatic ecompletion algorithms. In Pharo 2.0 we unified the two algorithms under a single umbrella and integrate them smoothly with smart-characters.
* *Interactive navigation using "ctrl/cmd+click" over classes/methods.* Now Pharo supports the interactive navigation of source code using cmd/ctrl-click on selectors and class names in the source-code [implementors, senders, users].
* *Shout themes.* Several syntax highlighting themes have been defined.
* *Andreas profiler.* As a tribute to Andreas Raab, we included an alternate profiler developed by Andreas.
==Networking==
* *New version of Zinc.* Zinc is developed by Sven Van Caekenberghe. New versions of Zinc the http client/server library has been integrated.
* *Zodiac (SSL).* Zodiac is an extension of Zinc to support SSL connections.
==System==
* *System Announcer.* Pharo had a change notification system. A change notification system is important because tools can register to events to update or react without getting coupled with the system. The problem was that the previous change notification broadcasted only symbols and not plain objects. It was limiting the power that we can get about first class objects. In addition not all the events were raised and competing with Announcements (announcements raised plain objects). In Pharo 2.0, we redefined system events as Announcements, introduced a System Announcer whose responsibility is to raise announcement for all the events and removed the old SystemChangeNotifier. This sets up the basis for the future communication between tools.
* *RPackage replacing PackageInfo.* PackageInfo is a way to identify if a method belongs to a package. The implementation is based on dynamic queries. Such queries it leads to problems to produce new generation browser and tools. We defined a new implementation of the package management of Pharo. The idea is to represent package as real objects. In Pharo3.0 we will continue to remove the dependency to PackageInfo.
* *Manifest: Package metadata.* We introduce the notion of package metadata. Package metadata are used to manage all false positives or todos of SmallLint so that you do not have to check all the time rule results. Each package can now have a class named ManifestNameOfXPackageNameX. It will be the place to add documentation and other information.
* *Command line tools / Headless mode.* We really want to make sure that Pharo can be used in non interactive mode and that we can pass scripts to it on the command-line. For this reason we continued to work on making sure that Pharo can be used headless. In particular we introduced a new way to handle command line parameters. See `pharoVM my.image --help` and `pharoVM my.image --list` * st Handle .st source files * Fuel Handle fuel files * config Install and inspect Metacello Configurations from the command line * save Rename the image and changes file * test Run tests from command line * update Load updates * printVersion Print image version * eval Evaluate directly passed-in one line script
* *Native boost.* NativeBoost is a library that generates assembly code on the fly. It is used to generate FFI calls. By default [ http://www.esug.org/wiki/pier/Conferences/2011/Schedule-And-Talks/Native-boo...] is included mostly for future use. In Pharo3.0 vector graphics will be used and Nativeboost will be used to invoke the graphics primitives.
* *Ring metamodel.* Ring is a new meta model introduced in Pharo 1.4. It is used to represent code that is not currently executed. Ring has an API that is polymorphic with a subpart of the core executing entities of Pharo (Class and CompiledMethod). This has the nice property that the tools that manipulate such entities can also manipulate ring objects. Hence Ring supports of image browsing. In Pharo 3.0 we will rewrite certain tools to use ring and deprecate some abstractions like pseudo-classes and file packages.
* *Fuel.* Fuel is one of the fastest and versatile object serializer. In Pharo 2.0, we decided to use fuel as a default serializer. In particular, on error the execution stack is saved now in fuel format. Therefore it is possible to reopen a debugger on a similar image for debugging purpose.
* *Freetype fonts.* We offer now a better handling of freetype fonts and their management.
* *Metacello: a universal package map.* Metacello is a framework to describe is included in the default image. In the future Pharo will be managed by Metacello. The idea also is that once we have fast fuel based package loading we will be able to remove Metacello from the core.
==Kernel==
* *New object-oriented and powerful filesystem.* The old library to support file was dated and cumbersome to use. This version of Pharo uses FileSystem a new framework developed by Colin Putney. We revisited and integrated deeply into Pharo core. A full chapter is available in the new book http://rmod.lille.inria.fr/pbe2/. The work includes a complete removal of FileDirectory. There is a compatibility package to support the transition. Enjoy the new and clean API.
* *DateAndTime refactoring.* All the DateAndTime internals are now UTC-based. This prevents bugs in certain edge-cases where the image is moved through different time-zones, most prominently for daylight saving time.
==VM== * Latests cog builds * SSLPlugin * FilePlugin enhancements * SocketPlugin fixes * Included libraries: freetype2, cairo
==Large Cleanups== * *FileDirectory removal.* FileDirectory the old file system has been removed. It is packaged as a separate package to support migration to Pharo2.0.
* *Deprecation of old serialization framework.* *ReferenceStream* and *SmartRefStream* are removed. In addition, *DataStream* is cleaned to be only used by Monticello. For a general purpose serializer, use *[ http://rmod.lille.inria.fr/web/pier/software/Fuel Fuel]* instead.
* *Large amount of bugs fixes.* You already guessed in addition we integrated *a lot* of small improvements, cleanups and bug fixes.
==Continuous Integration== * *Zeroconf scripts.* Weren't you fed up not be able to install Pharo from a single command line or to pass it arguments? Using a nice debugger and an interactive environment development does not mean that Pharo developers do not value automatic scripts and love command line. Yes we do and we want the best of both worlds! Since Pharo 2.0, Pharo supports a way to define and handle command line argument and offer zero conf scripts. We even wrote a chapter on them. Here is a nice start with a zero-conf bash scripts: `wget --quiet -O - http://files.pharo.org/script/ciPharo20PharoVM.sh | bash`
* *CI for everything.* A new infrastructure to support continuous integration is now in place. * First new images and vms are mirrored under http://files.pharo.org/ * Second the key parts of pharo are automatically built on [ https://ci.inria.fr/pharo/] * Third community project can be hosted at [ http://ci.inria.fr/pharo-contribution/]
--
~~Dr. Jannik Laval~~ Ãcole des Mines de Douai Enseignant-chercheur http://www.jannik-laval.eu
_______________________________________________ Esug-list mailing list Esug-list@lists.esug.org http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Note that this can also be found on our new issue tracker: https://pharo.fogbugz.com/default.asp?W6 Ben On Mar 18, 2013, at 11:12 AM, Marcus Denker <marcus.denker@inria.fr> wrote:
We are proud to announce the release of Pharo 2.0!
You can find information about Pharo at: http://www.pharo-project.org
About this release ------------------ All in all, there were over 1600 issues treated in the issue tracker and 1350 improvements integrated into 2.0.
http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3A...
Read it again, yes 1350 is huge, take two minutes and have a look at the list of improvements! Now you got the feel of the effort. And this was a true community effort. It is possible because people worldwide helped! We want to deeply thank them.
We want to thank Inria for its constant support, in particular for the salary of Igor Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
We have accomplished this huge task for a better system because we were together. Do not forget that we are working on a consortium to support our system:
- http://consortium.pharo.org (for companies and organizations) - http://association.pharo.org (for individuals)
Our goal is to build a system so that we can make a living with our creativity and programming skills.
You can find information about Pharo on http://www.pharo-project.org. In particular, you may be interested in:
- Joining us and getting help http://www.pharo-project.org/community - Getting the Pharo By Example book (available as a free PDF): http://www.pharobyexample.org - Watching the screencasts http://www.pharocasts.com - Reporting problems http://www.pharo-project.org/community/issue-tracking - Reading the forth coming book http://rmod.lille.inria.fr/pbe2 - Reading the Pharo vision document http://bit.ly/HNkEru
Thanks a lot for your participation, energy and fun.
-- The Pharo Team
Summarized issues for 2.0 ==================
UI ---
- Spec - Widget enhancements - Layout improvements/cleanups - Keybindings - New icons (famfam) - Growl style notifications - Revamp progress bar
Developer tools ---------------
- Nautilus browser - Critics browser - Improved version diff browsing - Spotlight - Revamp Code Completion and smart chars - Interactive navigation using ctrl/cmd+click over classes/methods - Shout themes - Andreas profiler
Networking -----------
- Update Zinc - Zodiac (SSL)
System -------
- System Announcer - RPackage replacing PackageInfo - Command line tools / Headless mode - Native boost - Update Ring metamodel - Fuel serializer - Freetype fonts
Kernel ------
- DateAndTime refactoring - Updated FileSystem and replaced FileDirectory
VM --
- Latests cog builds - SSLPlugin - FilePlugin enhancements - SocketPlugin fixes - Included libraries: freetype2, cairo
Cleanups -------------
- FileDirectory removed (replaced by FileSystem) - SmartRefStream and ReferenceStream removed (replaced by Fuel) - PackageInfo deprecated (replaced by RPackage)
Other -------
- Zeroconf scripts - Continuous Integration for every aspect of our release process.
Not all the changes are reported here, but this is to give you an impression, you can find better explanation here: https://code.google.com/p/pharo/wiki/ActionsInPharo20
_______________________________________________ Esug-list mailing list Esug-list@lists.esug.org http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
That is a really impressive amount of work. I really feel like I am betting on a good horse here - a young colt with some great years of racing ahead. A very small thing (a personal preference only if it does not align with your philosophy). You might you title that page "Pharo 2.0 Release Notes". Its just one industry convention that I am partial to and what I google for when I am looking for the history of some software. cheers -ben Benjamin wrote:
Note that this can also be found on our new issue tracker: https://pharo.fogbugz.com/default.asp?W6
Ben
On Mar 18, 2013, at 11:12 AM, Marcus Denker <marcus.denker@inria.fr> wrote:
We are proud to announce the release of Pharo 2.0!
You can find information about Pharo at: http://www.pharo-project.org
About this release ------------------ All in all, there were over 1600 issues treated in the issue tracker and 1350 improvements integrated into 2.0.
http://code.google.com/p/pharo/issues/list?can=1&q=Milestone%3D2.0+status%3A...
Read it again, yes 1350 is huge, take two minutes and have a look at the list of improvements! Now you got the feel of the effort. And this was a true community effort. It is possible because people worldwide helped! We want to deeply thank them.
We want to thank Inria for its constant support, in particular for the salary of Igor Stasenko and Esteban Lorenzano, and for the help in the infrastructure.
We have accomplished this huge task for a better system because we were together. Do not forget that we are working on a consortium to support our system:
- http://consortium.pharo.org (for companies and organizations) - http://association.pharo.org (for individuals)
Our goal is to build a system so that we can make a living with our creativity and programming skills.
You can find information about Pharo on http://www.pharo-project.org. In particular, you may be interested in:
- Joining us and getting help http://www.pharo-project.org/community - Getting the Pharo By Example book (available as a free PDF): http://www.pharobyexample.org - Watching the screencasts http://www.pharocasts.com - Reporting problems http://www.pharo-project.org/community/issue-tracking - Reading the forth coming book http://rmod.lille.inria.fr/pbe2 - Reading the Pharo vision document http://bit.ly/HNkEru
Thanks a lot for your participation, energy and fun.
-- The Pharo Team
Summarized issues for 2.0 ==================
UI ---
- Spec - Widget enhancements - Layout improvements/cleanups - Keybindings - New icons (famfam) - Growl style notifications - Revamp progress bar
Developer tools ---------------
- Nautilus browser - Critics browser - Improved version diff browsing - Spotlight - Revamp Code Completion and smart chars - Interactive navigation using ctrl/cmd+click over classes/methods - Shout themes - Andreas profiler
Networking -----------
- Update Zinc - Zodiac (SSL)
System -------
- System Announcer - RPackage replacing PackageInfo - Command line tools / Headless mode - Native boost - Update Ring metamodel - Fuel serializer - Freetype fonts
Kernel ------
- DateAndTime refactoring - Updated FileSystem and replaced FileDirectory
VM --
- Latests cog builds - SSLPlugin - FilePlugin enhancements - SocketPlugin fixes - Included libraries: freetype2, cairo
Cleanups -------------
- FileDirectory removed (replaced by FileSystem) - SmartRefStream and ReferenceStream removed (replaced by Fuel) - PackageInfo deprecated (replaced by RPackage)
Other -------
- Zeroconf scripts - Continuous Integration for every aspect of our release process.
Not all the changes are reported here, but this is to give you an impression, you can find better explanation here: https://code.google.com/p/pharo/wiki/ActionsInPharo20
_______________________________________________ Esug-list mailing list Esug-list@lists.esug.org http://lists.esug.org/mailman/listinfo/esug-list_lists.esug.org
Could you or someone on team look at the code in "examples" of Step 3 of the Announcements "book" in the HelpBrowser ? This has caused emerg in linux x86 on an Atom netbook and Win7 64-bit HoPr Sp1 on an i7 with the 2.0 release ... not the intended result ... I have the silly idea that in a "base" release of a 2.0 St that any neophyte should be able to trust code 1) to be an exemplar of St best practices 2) not to cause newbie panic [ I well remember my first couple of days with Smalltalk/PM on OS/2 1.3 ( ? surely not OS/2 2.0 ) after being so pleased with MS QuickHelp for MS DOS "Quick C with Assembler" ;-) ] ( to loop from '87 Zenith Eazy PC 512k to 2009 Asus EeePC 900A ;-)
Robert, On 19 Mar 2013, at 13:10, Robert Shiplett <grshiplett@gmail.com> wrote:
Could you or someone on team look at the code in "examples" of Step 3 of the Announcements "book" in the HelpBrowser ?
This has caused emerg in linux x86 on an Atom netbook and Win7 64-bit HoPr Sp1 on an i7 with the 2.0 release ... not the intended result ...
I have the silly idea that in a "base" release of a 2.0 St that any neophyte should be able to trust code 1) to be an exemplar of St best practices 2) not to cause newbie panic [ I well remember my first couple of days with Smalltalk/PM on OS/2 1.3 ( ? surely not OS/2 2.0 ) after being so pleased with MS QuickHelp for MS DOS "Quick C with Assembler" ;-) ] ( to loop from '87 Zenith Eazy PC 512k to 2009 Asus EeePC 900A ;-)
Smalltalk is one of the ultimate malleable systems: you can literally change everything, including the whole infrastructure the system is built on. So yes, you can shoot yourself in the foot. On the other hand, I agree that Pharo should be as stable as possible: the VM should not crash and a proper exception and debugger should always pop up. [ But again, the debugger and exception system are implemented in Smalltalk and you can change/break them ]. Maybe you could provide the actual code snippet ? Sven -- Sven Van Caekenberghe http://stfx.eu Smalltalk is the Red Pill
Pharo 2.0 HelpBrowser Announcements STEP 3 QUOTE: In Pharo there is a global called "World" pointing to the desktop morph. This world also has an announcer we can use to demonstrate the features of the framework: | announcer | World announcer on: WindowOpened send: #value to: [ Transcript show: 'A new window was opened';cr]. So anytime a window is opened in the system a message is shown in the transcript: Transcript open. | announcer | World announcer on: WindowOpened send: #value to: [:ea | ea inspect. Transcript show: 'A new window was opened';cr].
Hi Robert, The following two work for me in Pharo 2.0 World announcer on: WindowOpened send: #value to: [ Transcript show: 'A new window was opened'; cr ]. World announcer on: WindowOpened send: #value: to: [ :announcement | Transcript show: 'A new window was opened ', announcement printString; cr ]. Note the #value and #value: selectors, matching the zero and one argument blocks. I would guess that opening the Inspector inside the block creates an infinite loop ;-) Sven On 19 Mar 2013, at 15:47, Robert Shiplett <grshiplett@gmail.com> wrote:
Pharo 2.0 HelpBrowser Announcements STEP 3
QUOTE:
In Pharo there is a global called "World" pointing to the desktop morph. This world also has an announcer we can use to demonstrate the features of the framework:
| announcer | World announcer on: WindowOpened send: #value to: [ Transcript show: 'A new window was opened';cr].
So anytime a window is opened in the system a message is shown in the transcript:
Transcript open.
| announcer | World announcer on: WindowOpened send: #value to: [:ea | ea inspect. Transcript show: 'A new window was opened';cr].
Folks, How is the neophyte to be warned that DO IT will be fine, but INSPECT IT will be nasty ? I see nothing to suggest to the user of that bit of HELP to be wary of using that code in a workspace ... What puzzles me is that I was using CTRK-C then CTRL-D ( habit ? ) ... but I also had installed Prof Stef ... and had made the HelpBrowser UNCLOSABLE and SecondFromTop ... it failed pronto when I came to Pharo on this Win7 after it failed in Precise Puppy Linux 4.5 ( the linux netbook is with Japanese books on a big work table outside this little office but I recall steps as Start, load Prof Stef, walk thru some Stef steps; open Sys Browser, go to Announcements, open HelpBrowser ) error handling fails BUT recovery is about 3 steps (CR, exit, abort debugger ) so that much is Very good ... friend among friendly folks, R Canada On 19 March 2013 12:07, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Hi Robert,
The following two work for me in Pharo 2.0
World announcer on: WindowOpened send: #value to: [ Transcript show: 'A new window was opened'; cr ].
World announcer on: WindowOpened send: #value: to: [ :announcement | Transcript show: 'A new window was opened ', announcement printString; cr ].
Note the #value and #value: selectors, matching the zero and one argument blocks.
I would guess that opening the Inspector inside the block creates an infinite loop ;-)
Sven
On 19 Mar 2013, at 15:47, Robert Shiplett <grshiplett@gmail.com> wrote:
Pharo 2.0 HelpBrowser Announcements STEP 3
QUOTE:
In Pharo there is a global called "World" pointing to the desktop morph. This world also has an announcer we can use to demonstrate the features of the framework:
| announcer | World announcer on: WindowOpened send: #value to: [ Transcript show: 'A new window was opened';cr].
So anytime a window is opened in the system a message is shown in the transcript:
Transcript open.
| announcer | World announcer on: WindowOpened send: #value to: [:ea | ea inspect. Transcript show: 'A new window was opened';cr].
On 19 Mar 2013, at 16:22, Robert Shiplett <grshiplett@gmail.com> wrote:
How is the neophyte to be warned that DO IT will be fine, but INSPECT IT will be nasty ?
Read my mail again: you simply created an infinite loop (opening a new window triggers your code, your code opens an inspector, which triggers your code, â¦). Yes, it would be nice if stack overflow was handled as an exception, we are just not there yet. Infinite loops are problematic everywhere. BTW: the essence of your bug report _is_ valid: there should not be an emergency evaluator. Sven -- Sven Van Caekenberghe http://stfx.eu Smalltalk is the Red Pill
*** System error handling failed *** cannot copy, so screenshot must do ? [image: Inline images 1] A friendly place where any question about pharo is welcome ...
can you please print SystemVersion current and Smalltalk vm version and that happens after running what exactly? the example from sven or your original example? On 2013-03-19, at 16:29, Robert Shiplett <grshiplett@gmail.com> wrote:
*** System error handling failed ***
cannot copy, so screenshot must do ?
<error-handling-failed.jpg>
A friendly place where any question about pharo is welcome ...
<error-handling-failed.jpg>
sure thing ... SystemVersion current. Pharo2.0 of 7 March 2013 update 20593 Smalltalk vm version. 'NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #14535 On 19 March 2013 12:33, Camillo Bruni <camillobruni@gmail.com> wrote:
can you please print SystemVersion current and Smalltalk vm version
and that happens after running what exactly? the example from sven or your original example?
On 2013-03-19, at 16:29, Robert Shiplett <grshiplett@gmail.com> wrote:
*** System error handling failed ***
cannot copy, so screenshot must do ?
<error-handling-failed.jpg>
A friendly place where any question about pharo is welcome ...
<error-handling-failed.jpg>
On 2013-03-19, at 16:39, Robert Shiplett <grshiplett@gmail.com> wrote:
sure thing ...
SystemVersion current. Pharo2.0 of 7 March 2013 update 20593
Smalltalk vm version. 'NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #14535
ok looks fine :), however there is a slightly newer pharo version out: 20593 so you might want to update your image first. and what code did you run exactly?
On 19 March 2013 12:33, Camillo Bruni <camillobruni@gmail.com> wrote:
can you please print SystemVersion current and Smalltalk vm version
and that happens after running what exactly? the example from sven or your original example?
On 2013-03-19, at 16:29, Robert Shiplett <grshiplett@gmail.com> wrote:
*** System error handling failed ***
cannot copy, so screenshot must do ?
<error-handling-failed.jpg>
A friendly place where any question about pharo is welcome ...
<error-handling-failed.jpg>
On 19 Mar 2013, at 16:45, Camillo Bruni <camillobruni@gmail.com> wrote:
On 2013-03-19, at 16:39, Robert Shiplett <grshiplett@gmail.com> wrote:
sure thing ...
SystemVersion current. Pharo2.0 of 7 March 2013 update 20593
Smalltalk vm version. 'NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #14535
ok looks fine :), however there is a slightly newer pharo version out: 20593 so you might want to update your image first.
and what code did you run exactly?
He does not run World announcer on: WindowOpened send: #value: to: [ :announcement | Transcript show: 'A new window was opened ', announcement printString; cr ]. but World announcer on: WindowOpened send: #value to: [ :announcement | Transcript show: 'A new window was opened ', announcement printString; cr ]. (different selector). Adding the opening of the inspector creates an infinite loop which is a different story.
On 19 March 2013 12:33, Camillo Bruni <camillobruni@gmail.com> wrote:
can you please print SystemVersion current and Smalltalk vm version
and that happens after running what exactly? the example from sven or your original example?
On 2013-03-19, at 16:29, Robert Shiplett <grshiplett@gmail.com> wrote:
*** System error handling failed ***
cannot copy, so screenshot must do ?
<error-handling-failed.jpg>
A friendly place where any question about pharo is welcome ...
<error-handling-failed.jpg>
World announcer on: WindowOpened send: #value to: [ :announcement | Transcript show: 'A new window was opened ', announcement printString; cr ].
(different selector).
thanks, I wasn't sure about that :), still strange though that the on:fork: is not used directly. I'll open an issue for that.
"RUN" is the issue ... Sven is sure I was doing INSPECT when I am sure I was using CTRL-D It is not "my code" ... it is just a snippet in the HelpBrowser for the Announcements in 'Tutorial' | 'Step 3 More examples' and I believe that all I ran in the workspace was the | announcer | World announcer on: WindowOpened send: #value to: [ Transcript show: 'A new window was opened';cr]. but that runs fine as expected ... so now I will try to re-create ... I had no reason to run an Inspect Btw, I happily unzipped the images only yesterday ... :-) HOWEVER, I am fighting a motor-neural degen disease and may have done a 'double D' in that CTRL-D so I will follow that possibility ... reversed letters between left and right hand while typing is my current plague ... old age must be SUCH FUN for many people except my sefl ;-) On 19 March 2013 12:45, Camillo Bruni <camillobruni@gmail.com> wrote:
On 2013-03-19, at 16:39, Robert Shiplett <grshiplett@gmail.com> wrote:
sure thing ...
SystemVersion current. Pharo2.0 of 7 March 2013 update 20593
Smalltalk vm version. 'NBCoInterpreter NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 NBCogit NativeBoost-CogPlugin-EstebanLorenzano.18 uuid: a53445f9-c0c0-4015-97a3-be7db8d9ed6b Mar 13 2013 git://gitorious.org/cogvm/blessed.git Commit: 412abef33cbed05cf1d75329e451d71c0c6aa5a7 Date: 2013-03-13 17:48:50 +0100 By: Esteban Lorenzano <estebanlm@gmail.com> Jenkins build #14535
ok looks fine :), however there is a slightly newer pharo version out: 20593 so you might want to update your image first.
and what code did you run exactly?
On 19 March 2013 12:33, Camillo Bruni <camillobruni@gmail.com> wrote:
can you please print SystemVersion current and Smalltalk vm version
and that happens after running what exactly? the example from sven or your original example?
On 2013-03-19, at 16:29, Robert Shiplett <grshiplett@gmail.com> wrote:
*** System error handling failed ***
cannot copy, so screenshot must do ?
<error-handling-failed.jpg>
A friendly place where any question about pharo is welcome ...
<error-handling-failed.jpg>
On 19 Mar 2013, at 17:04, Robert Shiplett <grshiplett@gmail.com> wrote:
"RUN" is the issue ... Sven is sure I was doing INSPECT when I am sure I was using CTRL-D
Sorry to be persistent but I am unhappy when people don't read correctly what I write ;-) I did take the time to run your code, I don't have to do that. This was your second example: Transcript open. | announcer | World announcer on: WindowOpened send: #value to: [:ea | ea inspect. Transcript show: 'A new window was opened';cr]. Whether you did a 'Do it' or 'Inspect it' is irrelevant, you executed it. It has 2 separate problems: 1. you have to say #value: not #value because your block takes an argument. that is a mistake that you introduced yourself and that was not in the original example. but as I said, there should not be an emergency evaluator (although it contained the explanation) - so that is something we can try to improve. thanks again for reporting that. 2. ea inspect opens an inspector, which is a window, which triggers your code, which is an infinite loop. I can't say this any other way. Sven
"your code" Are you sure you read MY mail, Sven ? The snippet in not MINE ! It is in the Pharo 2.0 HelpBrowser ! Were you even born when I was first unhappy with Smalltalk Digitalk/ParcPlace fiasco ? Do you know anything about MY code over the last decades ? Have I EVER troubled you with MY code ? ... me relatives in Appalachia are also friendlie after a fashion ... even those that cain t reed On 19 March 2013 13:13, Sven Van Caekenberghe <sven@stfx.eu> wrote:
On 19 Mar 2013, at 17:04, Robert Shiplett <grshiplett@gmail.com> wrote:
"RUN" is the issue ... Sven is sure I was doing INSPECT when I am sure I was using CTRL-D
Sorry to be persistent but I am unhappy when people don't read correctly what I write ;-)
I did take the time to run your code, I don't have to do that.
This was your second example:
Transcript open.
| announcer | World announcer on: WindowOpened send: #value to: [:ea | ea inspect. Transcript show: 'A new window was opened';cr].
Whether you did a 'Do it' or 'Inspect it' is irrelevant, you executed it.
It has 2 separate problems:
1.
you have to say #value: not #value because your block takes an argument.
that is a mistake that you introduced yourself and that was not in the original example.
but as I said, there should not be an emergency evaluator (although it contained the explanation) - so that is something we can try to improve.
thanks again for reporting that.
2.
ea inspect opens an inspector, which is a window, which triggers your code, which is an infinite loop.
I can't say this any other way.
Sven
OK, my bad, Robert, I assumed the first part was from the example, and the second was from you. Well, then the code in the help browser is wrong, we'll have to kill whoever wrote that. BTW, I am older than you think, not that it is relevant. On 19 Mar 2013, at 17:24, Robert Shiplett <grshiplett@gmail.com> wrote:
"your code"
Are you sure you read MY mail, Sven ?
The snippet in not MINE ! It is in the Pharo 2.0 HelpBrowser !
Were you even born when I was first unhappy with Smalltalk Digitalk/ParcPlace fiasco ?
Do you know anything about MY code over the last decades ?
Have I EVER troubled you with MY code ?
... me relatives in Appalachia are also friendlie after a fashion ... even those that cain t reed
On 19 March 2013 13:13, Sven Van Caekenberghe <sven@stfx.eu> wrote:
On 19 Mar 2013, at 17:04, Robert Shiplett <grshiplett@gmail.com> wrote:
"RUN" is the issue ... Sven is sure I was doing INSPECT when I am sure I was using CTRL-D
Sorry to be persistent but I am unhappy when people don't read correctly what I write ;-)
I did take the time to run your code, I don't have to do that.
This was your second example:
Transcript open.
| announcer | World announcer on: WindowOpened send: #value to: [:ea | ea inspect. Transcript show: 'A new window was opened';cr].
Whether you did a 'Do it' or 'Inspect it' is irrelevant, you executed it.
It has 2 separate problems:
1.
you have to say #value: not #value because your block takes an argument.
that is a mistake that you introduced yourself and that was not in the original example.
but as I said, there should not be an emergency evaluator (although it contained the explanation) - so that is something we can try to improve.
thanks again for reporting that.
2.
ea inspect opens an inspector, which is a window, which triggers your code, which is an infinite loop.
I can't say this any other way.
Sven
You are not allowed to post to this mailing list, and your message has been automatically rejected. If you think that your messages are being rejected in error, contact the mailing list owner at pharo-project-owner@lists.gforge.inria.fr. I get this today ... but I can Post by REPLY here in my email ...
On 2013-03-19, at 16:41, Robert Shiplett <grshiplett@gmail.com> wrote:
You are not allowed to post to this mailing list, and your message has been automatically rejected. If you think that your messages are being rejected in error, contact the mailing list owner at pharo-project-owner@lists.gforge.inria.fr.
I get this today ... but I can Post by REPLY here in my email ...
not the same mailing list: pharo-project: dev mailing list pharo-users: user mailing list
thanks for noticing that ... I miss alot these daes By 2030 there will be more old folks than young ... will we use Clojure or Smalltalk ? Well, the quality of the postLISP Curl debugger means that I am still able to use Curl in old IDE for now ... but Smalltalk should be their fallback enviro --- On 19 March 2013 12:42, Camillo Bruni <camillobruni@gmail.com> wrote:
On 2013-03-19, at 16:41, Robert Shiplett <grshiplett@gmail.com> wrote:
You are not allowed to post to this mailing list, and your message has been automatically rejected. If you think that your messages are being rejected in error, contact the mailing list owner at pharo-project-owner@lists.gforge.inria.fr.
I get this today ... but I can Post by REPLY here in my email ...
not the same mailing list:
pharo-project: dev mailing list pharo-users: user mailing list
1988 MS QuickHelp ( in what was THEN called QuickHelp ) allowed user annotations in the Help ;-) QuickBasic / Quick C with Assembler Borland C++ for OS/2 still remains my fave enviro as I could use it for compiling Large DOS programs to be called by Prolog ( I was PROLOG before Smalltalk ;-) I will try to remember to post offending snippets if I hit any more of them as I go about with my "Be-A-Neophyte" in the bowels hat/chapeau on my haid ... with a phare on my casque as all good speliologists do it ... ;-) On 19 March 2013 11:33, Sven Van Caekenberghe <sven@stfx.eu> wrote:
Robert,
On 19 Mar 2013, at 13:10, Robert Shiplett <grshiplett@gmail.com> wrote:
Could you or someone on team look at the code in "examples" of Step 3 of the Announcements "book" in the HelpBrowser ?
This has caused emerg in linux x86 on an Atom netbook and Win7 64-bit HoPr Sp1 on an i7 with the 2.0 release ... not the intended result ...
I have the silly idea that in a "base" release of a 2.0 St that any neophyte should be able to trust code 1) to be an exemplar of St best practices 2) not to cause newbie panic [ I well remember my first couple of days with Smalltalk/PM on OS/2 1.3 ( ? surely not OS/2 2.0 ) after being so pleased with MS QuickHelp for MS DOS "Quick C with Assembler" ;-) ] ( to loop from '87 Zenith Eazy PC 512k to 2009 Asus EeePC 900A ;-)
Smalltalk is one of the ultimate malleable systems: you can literally change everything, including the whole infrastructure the system is built on. So yes, you can shoot yourself in the foot.
On the other hand, I agree that Pharo should be as stable as possible: the VM should not crash and a proper exception and debugger should always pop up. [ But again, the debugger and exception system are implemented in Smalltalk and you can change/break them ].
Maybe you could provide the actual code snippet ?
Sven
-- Sven Van Caekenberghe http://stfx.eu Smalltalk is the Red Pill
On Mar 19, 2013, at 3:55 PM, Robert Shiplett <grshiplett@gmail.com> wrote:
1988 MS QuickHelp ( in what was THEN called QuickHelp ) allowed user annotations in the Help ;-) QuickBasic / Quick C with Assembler Borland C++ for OS/2 still remains my fave enviro as I could use it for compiling Large DOS programs to be called by Prolog ( I was PROLOG before Smalltalk ;-)
I will try to remember to post offending snippets if I hit any more of them as I go about with my "Be-A-Neophyte" in the bowels hat/chapeau on my haid ... with a phare on my casque as all good speliologists do it ... ;-)
You know, it is very hard to fix things if people don't say what is broken⦠Marcus
On 19 March 2013 11:33, Sven Van Caekenberghe <sven@stfx.eu> wrote: Robert,
On 19 Mar 2013, at 13:10, Robert Shiplett <grshiplett@gmail.com> wrote:
Could you or someone on team look at the code in "examples" of Step 3 of the Announcements "book" in the HelpBrowser ?
This has caused emerg in linux x86 on an Atom netbook and Win7 64-bit HoPr Sp1 on an i7 with the 2.0 release ... not the intended result ...
I have the silly idea that in a "base" release of a 2.0 St that any neophyte should be able to trust code 1) to be an exemplar of St best practices 2) not to cause newbie panic [ I well remember my first couple of days with Smalltalk/PM on OS/2 1.3 ( ? surely not OS/2 2.0 ) after being so pleased with MS QuickHelp for MS DOS "Quick C with Assembler" ;-) ] ( to loop from '87 Zenith Eazy PC 512k to 2009 Asus EeePC 900A ;-)
Smalltalk is one of the ultimate malleable systems: you can literally change everything, including the whole infrastructure the system is built on. So yes, you can shoot yourself in the foot.
On the other hand, I agree that Pharo should be as stable as possible: the VM should not crash and a proper exception and debugger should always pop up. [ But again, the debugger and exception system are implemented in Smalltalk and you can change/break them ].
Maybe you could provide the actual code snippet ?
Sven
-- Sven Van Caekenberghe http://stfx.eu Smalltalk is the Red Pill
In all fairness, I DID say ' the code in "examples" of Step 3 of the Announcements "book" in the HelpBrowser ? ' that is all it is - some help notes with 2 code snippets ; both snippets are nasty when used as directed. Announcements likely will be new to anyone who has not seen Smalltalk for a few years ... Or no ?
participants (15)
-
Ben Coman -
Benjamin -
Camillo Bruni -
Guillermo Polito -
jannik laval -
Johan Fabry -
Luc Fabresse -
Marcus Denker -
Nicolai Hess -
Norbert Hartl -
Robert Shiplett -
stephane ducasse -
Sven Van Caekenberghe -
Sven Van Caekenberghe -
Tudor Girba