Pharo news

Pharo Association: Join or Renew now!

The new Pharo Association website is up and running for some month. 

If you are a member, it will bug you once a year to renew.

If you were a member in the past and have not been bugged by the system to renew until now, please subscribe now as a new member.

(We added all active members, but as the old system was purely manual, people did not get asked to renew very consistently and you might not be in the system anymore)

See the website for more information:

https://association.pharo.org

Next Pharo Sprints 2017

We organise one Pharo “Sprint” per month were we meet to work on boring issue tracker entries together.

Goals of the next sprints:

  • Clean issue tracker to prepare for release Pharo6
  • Remove Pharo6 tag from not-important cases
  • Check Pharo5 Issues and pending back-ports

Remotely, you can join us on Slack. During the sprint, we will try to synchronize local and remote Pharo sprinters. In the past people organised local sprints at the same time (e.g. Santiago/Chile).

There will be an event on the association website for each sprint. The next dates are:

Remote Pharo IDE

Denis writes:

I am glad announce first version of PharmIDE project which is complete toolset for remote development of Pharo images. It includes:

  • remote debugger
  • remote inspector
  • remote playground
  • remote browser

See his Blog Post. There is a Video with a short Demo, too.

Pharo Tech Talks 2017

The first two Pharo tech talks for 2017 will be:

The recording of the presentation for the last TechTalk of December 2016 is available here

[ANN] PolyMath 0.66

PolyMath, the science library for Pharo, version 0.66 is out !

We have 622 green tests.

You can download this version in a fresh Pharo 4.0/5.0 image with:

Gofer new
 url: 'http://smalltalkhub.com/mc/PolyMath/PolyMath/main';
 configurationOf:'PolyMath';
 loadVersion: '0.66'

You will find more information here: https://github.com/PolyMathOrg/PolyMath

If you want to propose new ideas/enhancements/bug reports :

https://github.com/PolyMathOrg/PolyMath/issues

For example, a very simple task is to implement NumPy examples : See: https://github.com/PolyMathOrg/PolyMath/issues/19

Pharo Monthly Tech Talks

We are organising a monthly chat around technical topics around Pharo. The next one will be Dec 13 16h UTC.

We use https://discordapp.com. Every tech talk has a defined topic and is open to everyone interested.

If you want to get notified an hour before it starts, you can subscribe to the events on the website of the Pharo Association.

Register for the Dec 13 TechTalk here

[ANN] The Moose Book (in progress)

Doru writes:

I am working on a new The Moose Book. You can see the current draft here: http://themoosebook.org

In the current form, it covers about 40% of what I want to have at the end. My target is to get a first complete version ready until Spring 2017. The book targets Moose 6.1, although most parts will work with Moose 6.0.

The book is written in Pillar. A secondary goal for this book is to build a book editor with tools in Pharo. The current book was generated directly from Pharo without using the command line. The current code is in book GitHub repository, but the end goal is to have these tools working separately from the book.

Please let me know what you think.

The book repo is here: https://github.com/girba/themoosebook

Press article about Pharo

New article about Pharo in the issue 197 of the french computer magazine GNU Linux Magazine. Learn how to use relational database with Pharo.

Nao robot with Pharo and LRP

Miguel Campusano writes:

I've been working on an API for the Nao Robot [1] in Pharo. You can find an early demo of how it works in Pharo: https://www.youtube.com/watch?v=z8jopUfLWtQ

Moreover, I built a communication bridge between the Nao and LRP [2]. LRP is a live programming language for robotic behaviors. You can see a working demo of the nao moving via LRP here: https://www.youtube.com/watch?v=q1jGDtaW41U

I want to emphasize how easy and fun can be to program a robot with a live environment. Looking at the robot and see how immediately changes its behavior whenever you send a command, that is cool!

You can find the API here (I have to write the documentation on how to use it): http://www.smalltalkhub.com/#!/~mcamp/NaoSocket

This is a work in progress. The Nao has several features that I'm planning to incorporate in the API when they are needed.

To make this work I use TCP sockets to communicate with the robot. For the Nao, there is a documentation on how the robot communicates via binary packages, but the documentation lacks a lot of information that I managed to figure it out by reading the binary information (thanks gtInspector for that) and understanding how the robot works.

[1] https://www.ald.softbankrobotics.com/en/cool-robots/nao [2] http://pleiad.cl/lrp

AR.Drone communication API in Pharo

Carolina writes:

"Earlier this year I told you about the communication API for controlling the AR.Drone 2.0 from Pharo I was developing as part of my final degree project. Today I want to share with you its final version. As before, the code is hosted in: http://smalltalkhub.com/#!/~CaroHernandez/ArDronePharo

I made two demo videos:

In each demo the drone flies autonomously according to the location of tags detected by its cameras. The demos are programmed using a live programming language called LRP. This language was developed by members of my university. Here you can find more about LRP: https://pleiad.cl/research/software/lrp

The code was tested and developed under ubuntu 12.04 and Pharo 5.0. "

[ANN] Sparta v1.1

Aliaksei Syrel writes:

I am happy to announce the release of Sparta v1.1 for Pharo 6.

https://github.com/syrel/Sparta/tree/v1.1

It can be bootstrapped with the following script:

Metacello new
baseline: 'Sparta';
repository: 'github://syrel/sparta:v1.1/src';
load: #file:core

Examples are on class side of: MozExamples, MozTextExamples

(for linux users: if you use 32bit pharo on 64bit linux, sparta will not work, since 32bit plugin depends on 32bit GTK which conflicts with 64bit GTK. Either use 32bit linux or 64bit pharo. I tested sparta with 64bit vm on mac and linux - it works, but some features fail because FFI is not ready)

Release of v1.1 is focused on hardware acceleration, windows support and text rendering.

What is new:

  • Default backends on all platforms changed from software to hardware accelerated.
  • Now also works on Windows! Default backend is Direct2D for drawings and DirectWrite for text. On multi-gpu machines per-app-default setting is respected. In case of Nvidia it can be changed in nvidia control panel. Sparta is x2 faster on discrete gpu than on integrated one.
  • Added initial text support, for instance rendering and high precision measurement.
  • Per-platform settings system is now image based. Allows to enable/disable hardware acceleration, change default backends, change font-mappings tables.

Some text examples:

(rendering)

[ANN] Agile Visualisation Book released

Alexandre writes:

" It is a great pleasure to announce the release of Agile Visualization. Agile Visualization is a book about the Roassal Visualization engine.

Paperback, eBook (PDF), and a free HTML format chapters are available from http://AgileVisualization.com The book has 235 pages and covers the essential aspects of Roassal. Copies of the book will be sold at ESUG’16. Screenshots and codes contained in the book were produced on Pharo. However, most of the covered code and topics _equally_run on VisualWorks (from version 7.4 (!)).

We would like to thank all the contributors and users of Roassal who have deeply impacted and shaped Agile Visualization. The book is dedicated to the Smalltalk community at large. Big big thanks to our sponsors, Lam Research, Object Profile, and ESUG.

[ANN] Moose 6.0

We are happy to announce version 6.0 of the Moose Suite, the platform for software and data analysis built in Pharo: http://moosetechnology.org/#install

The key highlights are:

  • It is based on Pharo 5.0 including the latest version of the Glamorous Toolkit.
  • It includes the SmaCC parsing framework together with parsers and abstract syntax trees for Java, JavaScript and Swift.
  • Roassal2 comes with several enhancements.
  • Famix features a new and generic query API engine.
  • Moose Finder and GTInspector come with more custom presentations and visualizations.
  • SmaCC comes with a dedicated debugger.
  • The debuggers for Glamour, PetitParser and Announcements received a new update.
  • DeepTraverser is an order of magnitude faster.

Extra highlights:

  • Roassal2 is documented in a brand new book: http://agilevisualization.com
  • jdt2famix is a new open-source importer for Java: https://github.com/girba/jdt2famix

[ANN] Pharo Consortium New Bronze Member: FINWorks

The Pharo Consortium is very happy to announce that FINWorks has joined the Consortium as a Bronze Member.

  • FINWorks provides software solutions and automation in the financial sector. Our main area of focus is investment administration, especially back office solutions for LISP (Linked Investment Service Provider or Fund Supermarkets), Benefit Administrators, Unit Trust Companies, Asset Managers, Independent Financial Advisors (IFA) and other financial service providers http://finworks.biz
  • Pharo Consortium. The goal of the Pharo Consortium is to allow companies and institutions to support the ongoing development and future of Pharo. http://consortium.pharo.org
  • Individuals can support Pharo via the Pharo Association:

[ANN] Enterprise Pharo book is released!

Great news everyone: the new Pharo book is finally out! "Enterprise Pharo: a Web Perspective" covers libraries and frameworks for enterprises, and in particular those doing web development.

You can download it for free or buy a printed version :

http://books.pharo.org/enterprise-pharo

Other books are available at http://books.pharo.org.

Pharo 5.0 Released!

Dear World,

The time has come for Pharo 5.0!

Pharo is a pure object-oriented programming language and a powerful environment, focused on simplicity and immediate feedback.

This is our most significant release yet. Here are some highlights:

  • The PharoVM is now based on Spur, the new memory management, and it brings with it a 35% speedup!
  • A new unified foreign function interface (UFFI) replaced NativeBoost to provide a strong Spur-compatible framework for interfacing with the outside world.
  • The Glamorous Toolkit now includes the GTDebugger to offer a moldable infrastructure that allows the developer to customise the debugger deeply.
  • The underlying Reflectivity mechanism has reached maturity with multiple pieces coming together to empower developers to instrument their own systems. For example, we now have breakpoints implemented as just a simple extension of this mechanism.
  • QualityAssistant is now part of the image to provide live feedback during development.

These are just the more prominent highlights, but the details are just as important. We have closed 2446 issues in Pharo 5.0. Take a moment to go through a more detailed recount of the progress.

While the technical improvements are significant, just think of getting 30% faster out-of-the-box, still the most impressive fact is that the new code that got in the main Pharo 5.0 image was contributed by 100 people. Together we have touched 43% of the classes, and 20% of the methods. The following visualisation rendered with Roassal in Pharo 5.0 is dedicated to this effort. The picture shows the touched classes and packages in gray, the authors and the links to the changed classes in red, and, using an automatically generated visual id, you can spot authors that have worked on similar projects.

Pharo is more than code. It is an exciting project involving energetic people. We thank all the contributors of this release:

Abdelghani Alidra, Clara Allende, David Allouche, Nicolas Anquetil, Thibault Arloing, Jean Baptiste Arnaud, Mangesh Bendre, Clement Bera, Alexandre Bergel, Torsten Bergmann, Usman Bhatti, Vincent Blondeau, Johan Brichau, Camillo Bruni, Miguel Campusano, Damien Cassou, Nicolas Cellier, Danny Chan, Andrei Chis, Christopher Coat, Ben Coman, Bernardo Contreras, Gabriel Omar Cotelli, Tommaso Dal Sasso, Paul De Bruicker, Sean De Nigris, Christophe Demarey, Simon Denier, Marcus Denker, Martin Dias, John Dougan, Stephane Ducasse, Stephan Eggermont, Johan Fabry, Sergio Fedi, Cyril Ferlicot, Holger Hans Peter Freyther, Joshua Gargus, Tudor Girba, Thierry Goubier, Kris Gybels, Norbert Hartl, Thomas Heniart, Dale Henrichs, Nicolai Hess, Alejandro Infante, Henrik Johansen, Goran Krampe, Pavel Krivanek, Juraj Kubelka, Denis Kudriashov, Matthieu Lacaton, Laurent Laffont, Kevin Lanvin, Jannik Laval, Alexander Lazarević, Skip Lentz, Max Leske, Dave Lewis, Esteban Lorenzano, Sheridan Mahoney, Mariano Martinez Peck, Max Mattone, John McIntosh, Rene Meusel, Eliot Miranda, Henrik Nergaard, Marion Noirbent, Merwan Ouddane, Nick Papoulias, Nicolas Passerini, Alain Plantec, Guillermo Polito, Damien Pollet, Baptiste Quide, Andreas Raab (RIP), Alain Rastoul, Stefan Reichhart, Lukas Renggli, Mark Rizun, Michael Rueger, Valentin Ryckewaert, Ronie Salgado, Udo Schneider, Boris Spasojevic, Igor Stasenko, Roger Stebler, Serge Stinckwich, Aliaksei Syrel, Camille Teruel, Pablo Tesone, Yuriy Tymchuk, Peter Uhnak, Masashi Umezawa, Dion Stewart, Sven Van Caekenberghe, Jan Van De Sandt, Benjamin Van Ryseghem, Toon Verwaest, Franck Warlouzet.

(If you contributed with Pharo 5.0 development in any way and we missed your name, please send us a mail and we will add you).

Enjoy!

The Pharo Team

[ANN] Pharo Consortium New Bronze Member: feenk

The Pharo Consortium is very happy to announce that feenk has joined the Consortium as a Bronze Member.

About

The goal of the Pharo Consortium is to allow companies and institutions to support the ongoing development and future of Pharo.

Due to the 2016 campaign for extending the reach of the consortium, the Pharo Consortium receives from a generous external fund an extra amount corresponding to one year fee for any new members or the difference for any upgrading members.

More details about the campaign can be found at: http://consortium.pharo.org/web/membership

Individuals can support Pharo via the Pharo Association:

Pharo MOOC starts May 2nd

The Pharo MOOC start next Monday, May 2nd.

It is still possible to subscribe here. (Videos are in French with english subtitles, all course material is available in english).

Report Pharo days 2016

Pharo days were organised on Thursday March 31 & Friday April 1 in Namur (Belgium). It was a great moment to encounter other Pharo programmers, to feel community spirit, to discuss about the Pharo ecosystem and the improvment of the language, listen many interesting talks about various themas.

The schedule was interesting: We were lucky to listen talks about Seaside 3.2, data formats and protocols, Unified FFI, Bloc, Spur, etc. If you didn't go to Namur, all the slides will be available on this website in the next days.

Many photographies and a video are already available on the web.

Thanks to the event organizers for their incredible work. The Pharo Days took place in a beautiful place (Le cercle de Wallonie). All was perfect!

Membership Matching Campaign

The Pharo Board is proud to announce a special campaign for attracting new Consortium Members during 2016.

A new fund has been created from which the Consortium will receive the equivalent of one yearly membership fee for every new member, and the increment in yearly fees for every upgrading member. For example, if a new company joins the Consortium as a Silver member (2000 EUR / year), the fund will contribute a one-time amount of 2000 EUR to the Consortium. Similarly, if a company upgrades from Bronze (1000 EUR / year) to Gold (4000 EUR / year), the fund will contribute a one-time amount of 3000 EUR.

This campaign will take place until the end of 2016, or until the fund is depleted. Currently, the fund totals 21000 EUR, a sum which is graciously supported by three companies.

This is an exciting development that paves the way to attract more industrial interest around Pharo. Please help us by spreading the word about this.

Pharo Days 2016 Registration is open

Registration for the Pharo Days 2016 is now open !

We are using EventBrite. You can buy tickets using PayPal and any credit card. If absolutely necessary, you can opt for an off line payment. Please register on time.

http://www.eventbrite.com/e/pharo-days-2016-tickets-22454533113

For social registration you can use Doodle.

http://doodle.com/poll/rsc86cqzxbgwr9tr

Spread the word: http://pharodays2016.pharo.org.

[ANN] Pharo MOOC: Online Course

The Pharo MOOC is a new online course about Live Object Programming in Pharo.

  • More information and registration here
  • The Teaser-trailer is online:

Press article about Pharo

New article about Pharo in the issue 190 of the french computer magazine GNU Linux Magazine. Learn how to create a PDF file with Pharo and Artefact.

[ANN] Pharo on Bountysource

We have set up a Bountysource Team for Pharo. This means that everyone can suggest bounties, contribute money to existing bounties or support Pharo development directly with a monthly contribution.

Have a look here: https://www.bountysource.com/teams/pharo

Existing bounties can be found here: https://www.bountysource.com/teams/pharo/issues

To learn more about bounty source, see the FAQ

For supporting Pharo development with a monthly contribution, see

Press article about Pharo

New article about Pharo in the issue 189 of the french computer magazine GNU Linux Magazine. Learn how to program a chat server and a chat client with Pharo, Zinc, Teapot and Spec.

[ANN] Pharo Consortium New Gold Member: Synectique

The Pharo Consortium is very happy to announce that Synectique has joined the Consortium as an Gold Member.

About

The goal of the Pharo Consortium is to allow companies and institutions to support the ongoing development and future of Pharo.

Individuals can support Pharo via the Pharo Association: http://association.pharo.org

Pharo Sprints 2016

We looked at the calendar and fixed the dates for all public sprints. These are all Fridays:

  • 29 Januar (local: Lille,Santiago)
  • 26 Feb (local: Lille)
  • 25 March (local: Lille,Santiago)
  • 29 April (local: Lille,Santiago)
  • 27 May (local: Lille,Santiago)

Local sprints will be at the Inria Lille, Building B, third floor (RMoD offices) and the University of Chile, Santiago de Chile, as indicated.

Remotely, you can join us on Slack or the IRC channel #pharo on irc.freenode.net server. During the sprint, we will try to synchronize local and remote Pharo sprinters.

Pharo Video Tutorial

Kilon announce his video tutoarials:

"As you may or may not be aware of I have started a series of Video Tutorials that I upload to YouTube. I also add these tutorials to my "Pharo Video Tutorial" playlist. Since the last time I posted I have added 9 new tutorials. The playlist is now 2 hours and 22 minutes long and of course there is a lot more to come."

The playlist is here

This is the list of the video tutorials:

[ANN] Pharo Days 2016

Mark your calendars: on Thursday March 31 & Friday April 1 we are organising the Pharo Days 2016. This year we moved the location to Namur, Belgium, just a bit south of Brussels, at the very beautiful location of the ‘Cercle de Wallonie’ overlooking the river Meuse.

We’ll update the following page moving forward.

http://pharodays2016.pharo.org

You can ask questions on any of the Pharo mailing lists or you can email the Pharo Board.

Let's make this another success, together ! We hope to see as many of you as possible.

[ANN] Pharo Consortium New Gold Member: Thales

The Pharo Consortium is very happy to announce that Thales has joined the Consortium as an Gold Member.

About

The goal of the Pharo Consortium is to allow companies and institutions to support the ongoing development and future of Pharo.

Individuals can support Pharo via the Pharo Association

Working with Pharo on the Raspberry Pi

Hardware is getting cheaper and many new small devices like the famous Raspberry Pi provide new computation power that was one once only available on regular desktop computers. This capable little device called “Pi” enables people of all ages to explore computing and combined with powerful software environments like Pharo the Pi can be used for interesting projects.

Read more on Medium

[ANN] Pharo Consortium New Gold Member: Lifeware

The Pharo Consortium is very happy to announce that Lifeware has joined the Consortium as an Gold Member.

About

The goal of the Pharo Consortium is to allow companies and institutions to support the ongoing development and future of Pharo.

Individuals can support Pharo via the Pharo Association:

http://association.pharo.org

Pharo Touch Demo

Pharo touch demo with the new OSWindows architecture, touch events, vector graphics using Athens and libsdl2.

Video on youtube: https://www.youtube.com/watch?v=ksyoGItedVg

[ANN] Pharo Consortium New Bronze Member: Inspired.org

The Pharo Consortium is very happy to announce that Inspired.org has joined the Consortium as a bronze Member. Inspired is a highly experienced consultancy specialising in transformative business strategy integrated with executable architecture (including business architecture) and empowering methods to deliver meaningful and desirable change. Inspired supports this activity with Enterprise Value Architect (EVA), an innovative collaborative, cloud based enterprise modeling and knowledge management toolset developed in Smalltalk.

About

The goal of the Pharo Consortium is to allow companies and institutions to support the ongoing development and future of Pharo.

Individuals can support Pharo via the Pharo Association

[ANN] Pharo Consortium New Gold Member: Projector Software GmbH

The Pharo Consortium is very happy to announce that Projector Software GmbH has joined the Consortium as an Gold Member.

About

The goal of the Pharo Consortium is to allow companies and institutions to support the ongoing development and future of Pharo.

Individuals can support Pharo via the Pharo Association: http://association.pharo.org

[ANN] Brick on top of Bloc - Preview

We are happy to announce the first preview version of Brick, a new widget set created from scratch on top of Bloc.

Brick is being developed primarily by Alex Syrel (together with Alain Plantec, Andrei Chis and myself), and the work is sponsored by ESUG. Brick is part of the Glamorous Toolkit effort and will provide the basis for the new versions of the development tools.

Brick's goal is to provide a beautiful looking widget set, and the default look is based on material design. The widgets are theme-able.

Right now, there exists:

  • Label
  • Simple button
  • Toggle button
  • Checkbox
  • Radio button
  • Window with or without an active title bar that can include various visual actions and info
  • Menu
  • Beautiful scrollbars that are thin by default and enlarge when the mouse hovers over it
  • Scalable list for huge amounts of items with various heights

(The list also allows one for embedding text widgets with in place editing)

The next immediate target is the creation of a new Pager widget (the widget that is behind the current GTInspector).

You can see some screenshots on the official site: http://gt.moosetechnology.org/brick

Update 200 for Pharo5

Last week, update 200 for Pharo5 has been released.

Highlights include:

  • Quality Assistant now comes by default and shows code critics right in the system browser
  • a new bytecode decompiler that can decompiler the whole system
  • a new pretty printer
  • further progress with Reflectity and First class variables
  • A new code editor in the code browser and some other tools
  • A "Pharo Project Catalog" to easily find and load code
  • STON: A lightweight text-based, human-readable data interchange format (based on JSON) now included by default.
  • many bug fixes and smaller improvements

For Pharo5, already we closed 642 issues tracker entries, even though development started just some months ago. Pharo5 will be frozen in December 2015 with a release planned for early 2016.

To download the current development version of Pharo5, see http://pharo.org/download.

There are 600 open issues on the issue tracker. Help now to close one!

For more frequent updates about what is happening with Pharo, follow on twitter: @pharoproject.

Pharo Ephemeric Cloud

Dear Pharo users,

I'm so excited to introduce you a project I'm currently working on which is called "Ephemeric cloud". It is a very simple and fast way to publish your Images to the web. Basically to publish a Smalltalk Image you just need to call a usual HTTP POST request to Pharocloud Ephemeric API and you'll get a hostname in response.

Check those small video examples below. 2 minutes each (and most of the time is uploading time of my not-so-fast home internet :)

You may check some project details here

All questions are so-very welcomed. If anyone is interested in participation in cloud beta-testing please contact me at [email protected] and I'll extend your subscription plan.

Cheers,

Mike, Pharocloud Team

Success Story: Multicity

Multicity partner platform is a system for geo-fence based marketing in the car rental market. It enables companies to place shops and offers onto a city map to be advertized when customers are nearby. On occurrences like the return of a rental car the system will figure out nearby advertisements and will contact the customer via mobile phone to send an offer. Received messages can act as vouchers for the offer.

Pharo has been very helpful in that project. The unique development experience made it possible to realize this project in a short time frame. The whole system of managing mobile devices, mobile messaging and geo advertisement is driven by the pharo runtime. Pharo is an integral part of development at *2denker>http://2denker.de* ~ N. Hartl CTO of 2Denker.

Report Pharo Sprint

Friday, June 12 there was a Pharo sprint / Moose dojo. It was a nice event with more than 15 motivated sprinters. With the help of candies, cakes and chocolate, huge work has been done:

Pharo:

  • 21 issues have been integrated for Pharo5!
  • 2 are ready for Pharo4
  • ... and work on issues that have not been closed

Moose:

  • Telescope has been ported to work with Moose 5.1
  • visualizations of Moose have been (partially) migrated in Telescope
  • there is work in progress to update and improve MooseChef (more generic queries)

If you organize sprints, feel free to give feedback and to post pictures!

Job Offer | 1 year Post-Doc/Research & Teaching Assistant

A 12 months position for a post-doc/Research & teaching assistant is available at Ecole des Mines de Douai (France). Applicants should have a PhD degree.

Find out more about the work at Ecole des Mines (Pharo and Robotics) at http://car.mines-douai.fr.

Contact Noury Bouraqadi for more information.

[ANN] Moose 5.1

Version 5.1 of the Moose Suite has been released: http://moosetechnology.org/#install

Description

This is a minor release. The key highlights are:

  • It is based on Pharo 4.0.
  • Roassal2 comes with several new builder, most notably the new Mondrian builder (RTMondrian) and the chart drawing engine (RTGrapher).
  • GTSpotter has preview abilities and was extended for multiple search use cases including the navigation through Moose models.
  • GTPlayground was extended with sharing possibilities and transparent backup.
  • GTExample now offers support for documenting classes with example instances.
  • Moose Finder and GTInspector come with more custom presentations.
  • PetitParser has seen performance corrections and has been extended with the ability to parse whitespace languages.

Pharo @ Beta Nine

Pharo @ Beta Nine

Since 2010, Pharo is an important part of the technology stack of Beta Nine for the development and daily operation of the T3 Platform.

From the REST back end for T3 Easy to the T3 Mobile responsive mobile first web app, over binary protocol proxies to the data mining for housekeeping, bookkeeping & invoicing, and prototyping for new product development, Pharo has proven itself again and again in commercial production use.

For more information, https://medium.com/concerning-pharo/pharo-beta-nine-59ee972d321a

[Ann] The Garage database driver API

I'm pleased to announce the release 0.1 of Garage, a database driver API. Garage is meant to be a common interface to access several database servers, in a JDBC style.

The current version works in Pharo3 and Pharo4 and includes drivers for:

  • mysql (pure smalltalk)
  • postgres (pure smalltalk)
  • sqlite (using ffi)
  • opendbx (allowing connecting with several db vendors, using ffi)

We have a nice test suite (that maybe you can help to enlarge) that is tested every day in Jenkins [1].

Also, in garage's website [2] you'll find

  • installation instructions
  • basic usage
  • documentation of features such as statements, transactions, cursored fetches.
  • issue tracker, backlog and other information

Feedback (and contributions) are very welcome!

Pharo Sprint May 22nd

The RMoD team at Inria Lille is inviting for a Pharo Sprint May, 22nd:

"We propose a Pharo sprint / Moose dojo on Friday, 22nd May, starting at 10:00am. (Local Time Lille).

It will be at the Inria Lille. Remotely, you can join us on the official IRC channel #pharo on irc.freenode.net server. During the sprint, we will try to synchronize local and remote Pharo sprinters."

more infos

Development on Pharo5 started

Directly after Pharo 4.0 was released this week the development on Pharo 5.0 started:

Feel free to help shaping the future and also make Pharo 5.0 a successful release!

(from http://astares.blogspot.de)

Pharo 4.0 Released!

Dear World,

Pharo 4.0 is here!

Pharo is a pure object-oriented programming language and a powerful environment, focused on simplicity and immediate feedback.

Many things have changed in Pharo. Here are some highlights:

  • Inspector/Playground/Spotter are new moldable development tools for inspecting, coding and searching objects.
  • Slots model instance variables as first class entities and enable meta-programming on this level.
  • ShoreLine reporter introduces a way to report system errors and collect statistics, that we will use for future improvements
  • Dark theme.

These are just the more prominent highlights, but the details are just as important. We have closed 1700 issues in Pharo 4. Take a moment to go through a more detailed recount of the progress: ChangeLogs.

Pharo is improving on many fronts, but one of the most prominent changes is the addition of moldable tools for inspection and search. These tools provide extension mechanisms that allow every object to define ways in which it can be understood effectively. To provide an idea of the impact of the already existing extensions, the map below shows the Pharo classes grouped in packages, highlighting in red those parts of the system that have at least one such custom view coming with the main distribution. The spread of these extensions shows that moldability is powerful mechanism that can be used in many contexts.

Remember that Pharo is your platform. We thank all the contributors of this release:

Clara Allende, Jean-Baptiste Arnaud, Jean-Christophe Bach, Philippe Back, Clement Bera, Alexandre Bergel, Torsten Bergmann, Vincent Blondeau, Noury Bouraqadi, Santiago Bragagnolo, Johan Brichau, Sven Van Caekenberghe, Damien Cassou, Nicolas Cellier, Guido Chari, Dimitris Chloupis, Andrei Chis, Ben Coman, Bernardo Contreras, Tommaso Dal Sasso, Jan Van De Sandt, Christophe Demarey, Sean DeNigris, Marcus Denker, Martin Dias, Stephane Ducasse, Stephan Eggermont, Luc Fabresse, Johan Fabry, Hilaire Fernandes, Jerome Garcia, Tudor Girba, Thierry Goubier, Jigyasa Grover, Kris Gybels, Norbert Hartl, Dale Henrichs, Pablo Herrero, Nicolai Hess, Pavel Krivanek, Juraj Kubelka, Jan Kurs, Laurent Laffont, Jannik Laval, Kevin Lanvin, Max Leske, David Lewis, Diego Lont, Esteban Lorenzano, Tim Mackinnon, Attila Magyar, Esteban Maringolo, Stefan Marr, Max Mattone, Martin Mc Clure, Eliot Miranda, Alain Plantec, Guillermo Polito, Damien Pollet, Stefan Reichhart, Mark Rizun, Udo Schneider, Ignacio Sniechowski, Henrik Sperre Johansen, Igor Stasenko, Aliaksei Syrel, Ciprian Teodorov, Camille Teruel, Sebastian Tleye, Yuriy Tymchuk, Peter Uhnak, Andres Valloud, Sven Van Caekenberghe, Thomas Vincent, Jan Vrany, Martin Walk, Richard Wettel, Dmitri Zagidulin

And all those who contributed indirectly, by reporting bugs, participating in discussion threads and providing feedback.

Pharo 4.0 is another big step. And, the best is yet to come.

Enjoy!

The Pharo Team

Success Story: Quuve

Quuve is a portfolio management and research platform for securities investors. It is a virtualized, scaleable, web application developed with Pharo and deployed on GemStone/S. More information at http://pharo.org/success/Quuve.

[ANN] Pharo Consortium New Academic Partner: UMMISCO

The Pharo Consortium is very happy to announce that UMMISCO has joined the Consortium as an Academic Partner.

UMMISCO is an international research unit under the supervision of IRD (Research for Development) and UPMC (Université Pierre Marie Curie) located in France, Senegal, Morocco, Cameroun and Vietnam. UMMISCO group carries out research in Computer Science and Mathematics with the goal of modelling and simulation of complex systems with applications regarding southern countries concerns like : epidemiology modelling, disaster management, urban mobility and environmental monitoring.

About

The goal of the Pharo Consortium is to allow companies and institutions to support the ongoing development and future of Pharo. Individuals can support Pharo via the Pharo Association.

Moose and Pharo at Breathing Code Conference

What is Breathing Code?

Breathing Code is a conference at the intersection of art, performance and computer programming.

Time & Place

The conference will take place in Frankfurt, Germany. It will start with an pre-event party on May 4, 2015. All conference sessions will happen on May 5, 2015.

What’s the conference about?

We aim to bring together a diverse set of presenters who all have one thing in common: They will change program code live on stage!

Be it that they show their approach on how they solve a particular problem and maybe showcase a specific set of tools while doing so.

This conference showcases diverse aspects of live programming. We want to explore what live coding means as an interface between humans and computers.

Smalltalk at Breathing Code: Live Data Analysis with Moose

Developers are data scientists. Or at least, they should be.

In this talk, I'll show live examples of how software engineering decisions can be made quickly and accurately by building custom analysis tools that enable browsing, visualizing or measuring code and data. All shown examples make use of the Moose analysis platform.

http://breathing-code.de/program.html#data-analysis-moose

Event in Bern on March 31: Bloc + working session on Pharo IDE

Choose event in Bern on March 31: alain plantec on Bloc and working session on Pharo IDE.

On March 31, we will have a one day of Pharo in Bern:

  • 10:15 - 11:00 Talk by Alain Plantec on Bloc: Reinventing Morphic (Registration)
  • 11:00 - 17:00 Working session on the Pharo IDE (Registration)

The event will be held at the Software Composition Group: Schützenmattstrasse 14, Room 107, Bern

The event is sponsored by CHOOSE a subgroup of the Swiss Informatics Society and hosted by the Software Composition Group at the University of Bern. They are primarily organized for CHOOSE and SI members, but the events are open for other students and professionals as well.

Beta Test Pharo4 Now!

Pharo4 will be released soon.

This is your chance to test it and to help fixing the last bugs. (We have 39 issues listed to be fixed for Pharo4).

Download Pharo

Version 4.0 for OS X, Linux, and Windows. The zip files contain all necessary files. Just download and run the executable.

Mac OSX Windows Linux

Pharo Sprints

We would like to organize public Pharo sprints more regularly. Therefore we propose an open Pharo sprint every first Friday of the month. The next public Pharo sprint will be held on Friday, 3rd April, starting at 10:00am. (Local Time Lille)

It will be at the Inria Lille, Building B, third floor (RMoD offices). Remotely, you can join us on the official IRC channel #pharo on irc.freenode.net server. During the sprint, we will try to synchronize local and remote Pharo sprinters.

As the building is not open to the public, please contact us before if you plan to come.

We also propose to organize more informal local sprints at Inria Lille every other Friday afternoon. If you are local students who are working on or with Pharo, especially in the OpenDev module, you are welcome to both public and private sprints.

Article Series: Concerning Pharo

Sven Van Caekenberghe has published a number of articles "Concerning Pharo" on Medium:

"Articles about software development using a pure dynamic object oriented language in an immersive live environment focused on simplicity and feedback."

https://medium.com/concerning-pharo

Slides and Videos Pharo Days 2015

The slides and videos for Pharo Days 2015 are now online:

[PhD position] Languages and System Infrastructure for Interaction

Inria has an opening for a PhD Student:

"The goal of this thesis is to propose and integrate new tools for the design, prototyping, evaluation and development of new interaction techniques in a "real" environment (Pharo, http://pharo.org/).

The candidate will be co-supervised by Stéphane Ducasse and Stéphane Huot, and time will be shared between the RMOD and MJOLNIR groups from the Inria Lille - Nord Europe research center. She/he will benefit of the complementary expertise of the 2 research groups in (i) Human-Computer Interaction and Engineering of Interactive Systems (MJOLNIR), and in (ii) Programming Languages ans Software Engineering (RMOD)."

More information here

[ANN] Pharo Consortium New Academic Partner: REVEAL University of Lugano

The Pharo Consortium is very happy to announce that the REVEAL research group of the University of Lugano has joined the Consortium as an Academic Partner.

The REVEAL (Reverse Engineering, Visualization, Evolution Analysis Lab) group carries out research in diverse aspects of how to ease the comprehension and evolution of large and complex software systems. Current research is focused on software visualization, mining software repositories, collaborative development, and novel integrated development environments.

About

The goal of the Pharo Consortium is to allow companies and institutions to support the ongoing development and future of Pharo. Individuals can support Pharo via the Pharo Association: http://association.pharo.org

[ANN] Pharo Consortium New Academic Partner: FAST

The Pharo Consortium is very happy to announce that the FAST: Fundación Argentina de Smalltalk has joined the Consortium as an Academic Partner.

About

The goal of the Pharo Consortium is to allow companies and institutions to support the ongoing development and future of Pharo. Individuals can support Pharo via the Pharo Association: http://association.pharo.org

[ANN] Pharo Consortium New Academic Partner: DCyT - Universdad Nacional de Quilmes

The Pharo Consortium is very happy to announce that the DCyT - Universdad Nacional de Quilmes has joined the Consortium as an Academic Partner.

About

The goal of the Pharo Consortium is to allow companies and institutions to support the ongoing development and future of Pharo. Individuals can support Pharo via the Pharo Association: http://association.pharo.org

LampSort Revisited, Visualised

Combining Object Logging & Agile Visualisation

Sven has a new article online:

"To understand or study an algorithm, a piece of code or an application you start by reading the code. Many developers add logging to code as a way to look at what is happening. In a live environment like Pharo you can also use the debugger to step through code.

Traditional logging is either too coarse and misses information, or too detailed and floods the reader with information. In both cases the output consists of dead strings that you cannot look into or that you cannot ask any more questions.

he debugger is very detailed, but only for what is on the stack at the position where you are halted. It can only move forward in time in small steps. Often you step too far or you seem to be clicking like crazy.

This article suggests another approach. By combining object logging, agile visualisation and advanced tools, you can get amazing insight into your code, easily."

read more

[ANN] Pharo Consortium New Academic Partner: Ecole des Mines de Douai

The Pharo Consortium is very happy to announce that the Ecole des Mines de Douai has joined the Consortium as an Academic Partner.

About

The goal of the Pharo Consortium is to allow companies and institutions to support the ongoing development and future of Pharo.

Pharo on Clever Cloud

Geoffroy Couprie wrote a short tutorial how to deloy Pharo on CleverCloud.

"The Smalltalk world offers a radically different way to create and run software, and I have always loved to tinker with it. Thanks to the recent work around Docker at Clever Cloud, it is now possible to run Pharo Smalltalk apps, even Seaside ones, on this PaaS."

read more here

[ANN] Moose 5.0

We are happy to announce Moose 5.0:

http://moosetechnology.org/#install

Description

This is by far the most extensive Moose release to date. Just take a look at these two trailers:

The key highlights are:

  • It is based on Pharo 3.0.
  • Roassal2 is a complete reimplementation of the core visual engine of Moose.
  • Roassal2 replaced Roassal, EyeSee and Graph-ET, and it features many new things including smooth animations, new composeable builders and several new layouts.
  • All built-in Moose visualizations use Roassal2.
  • Glamour has been extended with a Pager browser and with Rubric as the main text editor.
  • GTSpotter is a new tool that makes it possible to find objects fast.
  • GTInspector saw major usability improvements based on the Pager browser, and it now comes with many object specific extensions.
  • GTPlayground provides a new way to handle scripts and when combined with GTInspector, it can replace the dedicated easels and editors.
  • Moose Finder has been extended with the ability of handling in place visualizations.
  • GTDebugger has been strengthen and was made more robust.
  • PetitParser has been extended with the notion of context which enables elegant island parsing.

A list of issues addressed in this release can be found *here> http://code.google.com/p/moose-technology/issues/list*

Installation

The Moose Suite 5.0 comes for each platform as a separate bundle:

Pharo Consortium New Academic Partner Univ. Prague

The Pharo Consortium is very happy to announce that the Faculty of Information Technology of the Czech Technical University in Prague has joined the Consortium as an Academic Partner.

About

The goal of the Pharo Consortium is to allow companies and institutions to support the ongoing development and future of Pharo. Individuals can support Pharo via the Pharo Association

Pharo Conf 2015

Pharo Days 2015, January 29 & 30, Lille, France

INRIA Lille, building A, 40 avenue Halley, F-59650 Villeneuve d’Ascq

General Information

Start the year in the right spirit by joining the Pharo community for the Pharo Days 2015 on Thursday January 29 and Friday January 30 at INRIA, Lille, France. Meet your online colleagues, programmers and hackers in real life and experience how much you can pick up in just two days. Learn about key technologies, talk to core developers and other users, pair program and contribute to Pharo. Have fun and enjoy yourself.

Each day has a similar schedule. The morning consists of a handful of twenty minute tech talks, the afternoon is a coding sprint and open pair programming workspace. There will be a general assembly of both the Pharo Consortium and the Pharo Association. On the first days there will be a parallel Getting Started with Pharo tutorial in the afternoon.

The very first Pharo conference took place in Annecy in February 2011. In May 2012 the second Pharo Conference took place, over two days, in Lille. It was a huge success, with about 60 people participating. It had a very positive effect on the community and on those who participated. In April 2013 there was a third well attended Pharo Conference in Bern. In June 2013, there was also a successful Web specific Pharo one-day event in Lille. Join us again this time.

Pricing

The Pharo Days are a two day event with catering included (2 lunches, 1 diner, drinks and snacks) in a nice environment with full facilities (main room, auxiliary rooms, office furtniture and wireless network).

  • € 199 — Regular
  • € 149 — For individual Pharo Association Members
  • € 89 — For individual Pharo Gold Association Members
  • € 89 — For Pharo Consortium Members (1, 2 or 4 for silver, bronze or gold)
  • € 39 — Students (excluding diner)
  • € 19 — Student Volunteers (excluding diner)

Registration

For official registration we are using EventBrite. You can buy tickets using PayPal and hence any credit card. If absolutely necessary, you can opt for an off line payment. Please register on time.

For social registration you can use Lanyrd or Doodle.

Spread the word:

Summit schedule and relevant data

Register here

Pharo Consortium: New Gold Member LabWare

The Pharo Consortium is very happy to announce that LabWare has joined the Consortium as a Gold Industrial Member.

About LabWare: "LabWare is recognized as the global leader in providing enterprise scale laboratory automation solutions. Our Enterprise Laboratory Platform combines the award-winning LabWare LIMS™ and LabWare ELN™, a comprehensive and fully integrated Electronic Laboratory Notebook application, which enables companies to optimize compliance, improve quality, increase productivity and reduce costs. LabWare is a full service provider offering software, professional implementation services and validation assistance, training, and world class technical support to ensure our customers get the maximum value from their LabWare products."

The goal of the Pharo Consortium is to allow companies to support the ongoing development and future of Pharo. Individuals can support Pharo via the Pharo Association: http://association.pharo.org

Pharo Sprint Lille

We are organising a small public Pharo Sprint in Lille end of September, 2014:

As the building is not open to the public, please contact us before if you plan to come.

Reddit.st — In 10 Cool Pharo Classes

"This is a tutorial showing how to implement a small but non-trivial web application in Pharo using Seaside, Glorp (an ORM) and PostgreSQL.

Reddit is a web application where users can post interesting links that get voted up or down. The idea is that the ‘best’ links automatically end up with the most points. Many other websites exist in the area of social bookmarking, like Delicious, Digg and Hacker News.

Reddit.st adds persistency in a relational database, unit tests as well as web application components to the mix."

Read more...

Agile Visualization

A new book about Visualization with Pharo is planned for 2015:

"Agile Visualization is about using computing resources to supersize the mind and cognitive facilities of our brain. Crafting a visualization, in extremely short production cycle, is what characterize the way visualization techniques are presented in the book. Agile Visualization is made for data scientists, journalists, computer scientists, and software engineers. As soon as you need to process data, numerical or not, Agile Visualization will guide you, step-by-step, to fertilize your data."

More infos: http://agilevisualization.com

Pharo4: already over 100 updates!

The development of Pharo4 has started to pick up speed. We already are at update #117.

Some examples:

  • The dark theme has been integrated
  • Cleanups related to dead code (e.g. PackageInfo)
  • First class instance variables (Slots) and Globals
  • Improved refactoring (see here)
  • Smart breakkpoints (see blog)

The latest build is available from the ci server.

Elegant Pharo Code

Sven writes: "Writing computer software remains difficult and hard. Most computer code is hard to read and quite intimidating. This does not have to be the case.

Our software development environments should be designed in such a way that they are make it easy to read and to write code for day to day tasks, for those problems that are solved.

Studying a list of example tasks — one-liners, expressions and snippets — is an excellent way to check out candidate programming languages. Here is a list with solutions implemented in Pharo — an immersive, live environment including a pure, object-oriented programming language focused on simplicity and immediate feedback."

Read the full post here

Rediscovering the legendary HP-35 Scientific Pocket Calculator

Sven Van Caekenberghe has written a new, extensive, long form, introductory article about Pharo: Rediscovering the UX of the legendary HP-35 Scientific Pocket Calculator. A tutorial on Pharo, test and specification based immersive programming.

read it here

Pharo: Playing with Live Objects (Video)

The talk of Tudor Girba from NDCOslo 2014 is now online:

..It is Smalltalk-inspired. It is dynamic. It comes with a live programming environment in which objects are at the center. And, it is tiny. But, most of all, it makes serious programming fun by challenging almost everything that got to be popular.For example, imagine an enviroment in which you can extend Object, modify the compiler, customize object the inspector, or even build your own the domain-specific debugger. And, you do not even have to stop the system while doing that. In this talk, we show hands-on how live objects look like and we get to play with them in multiple scenarios.

Watch it here

Pharo4 Development Started

Just one month after Pharo3 has been released, we have started the development phase of Pharo4!

Download the latest now!

Even though just at update 006, there are besides small fixes and improvements already two major changes:

  • ContextPart and MethodContext have been merged into a Context class
  • The Dark Theme is integrated. Enable it with "Pharo3DarkTheme installFullTheme."

As for what is planned... discussions have just started. The Fosdem14 talk has an overview:

(Slides on Slideshare)

The idea is to again have 1 year, the release is planned for April 2015. You are very welcome to join and propose improvements or fixes!

Communicating the changes in Pharo 3.0

Pharo 3.0 is out.

This is the most significant release of Pharo so far. The momentum is growing and Pharo is improving on many fronts. To exhibit this, we decided to augment the textual announcement with a visualization.

We wanted a visualization that is not only beautiful but that is also built with Pharo. The above picture is built with the most recent version of CodeCity built by Richard Wettel (if you want to try the visualization, you can download the image) that runs on top of Moose 5.0 and Pharo 3.0.

The goal of the visualization is to show the amount and spread of changes throughout the system. Specifically, every city district is a package, every building is a class, and the red bricks represent the modified methods in Pharo 3.0.

I was asked several times how I built it. Here is a short description that covers both the technical details and some design decisions:

http://www.humane-assessment.com/blog/communicating-changes-in-pharo-3-0

Pharo 3.0 Released!

Dear World,

Pharo, the programming language, live IDE and core library has a new release!

The past year seemed short as we got busy building more than usual. Many things have changed in Pharo. Here are the highlights:

  • The new modular Opal compiler is now the default compiler used in the system.
  • The Athens vector graphics canvas is now integrated and it supports Cairo rendering on all platforms.
  • Many tools have been rewritten using Spec, a new framework for building user interfaces.
  • Versionner and Kommiter are two of the new development tools.
  • RPackage, a new package mechanism got enhanced with tags and is fully integrated in the system.
  • The debugger model was rewritten to become modular, the inspector received a bump to support multiple views, and the Nautilus code browser supports tags, search and lot more improvements.
  • Morphic has seen many cleanings and improvements and the visual theme has been revamped.

These are just the more prominent highlights, but the details are just as important. We have closed 2364 issues in Pharo 3 (compared with 1727 issues in Pharo 2). Take a moment to go through a more detailed recount of the progress: ChangeLogs 3.0

Pharo is improving on many fronts. Just take a look at the code city of Pharo (built with Pharo for Pharo). Every building is a class, and the red bricks represent the modified methods in Pharo 3.0.

Many things are changing but the system gets more stable. Moving from Pharo 2 to Pharo 3 is almost a matter of just loading the code.

Remember that Pharo is your platform. We thank all the contributors of this release: Jean­Baptiste Arnaud, Simon Allier, Philippe Back, Clément Bera, Alexandre Bergel, Torsten Bergmann, Usman Bhatti, Vincent Blondeau, Noury Bouraqadi, Johan Brichau, Camillo Bruni, Sven Van Caekenberghe, Damien Cassou, Nicolas Cellier, Guido Chari, Dimitris Chloupis, Bernardo Contreras, Ben Coman, Gabriel Omar Cotelli, Jordi Delgado, Tommaso Del Sasso, Gisela Decuzzi, Christophe Demarey, Sean DeNigris, Marcus Denker, Martin Dias, Erwan Douaille, Stephane Ducasse, Stephan Eggermont, Pablo Estefo, Luc Fabresse, Johan Fabry, Hilaire Fernandes, Nahuel Garbezza, Leo Gassman, Lucas Giudice, Tudor Girba, Thierry Goubier, Norbert Hartl, Dale Henrichs, Pablo Herrero, Nicolai Hess, Andre Hora, Alejandro Infante, Ricardo Jacas, Henrik Sperre Johansen, Denis Kudryashov, Pavel Krivanek, Juraj Kubelka, Laurent Laffont, Jannik Laval, Max Leske, David Lewis, Diego Lont, Esteban Lorenzano, Stefan Marr, Mariano Martinez Peck, Roberto Minelli, Hernan Morales Durand, Eliot Miranda, Fernando Olivero, Nicolas Papagna Maldonado, Nick Papoylias, Nicolas Passerini, Vanessa Peña, Nicolas Petton, Alain Plantec, Guillermo Polito, Damien Pollet, Sergi Reyner, Jochen Rick, Benjamin Van Ryseghem, Ronie Salgado, Camille Teruel, Juan Pablo Sandoval Alcocer, Samir Saleh, Frank Shearar, Igor Stasenko, Aliaksei Syrel, Sebastian Tleye, Yuriy Tymchuk, Andres Valloud, Martin Walk, Hernan Wilkinson.

And many many more who contributed indirectly, by reporting bugs, participating in discussion threads, providing feedback...

Pharo 3.0 is the largest step we took since we started. Yet, it’s just a step. Expect more. Much more.

Enjoy!

The Pharo Team

[ANN] SciSmalltalk v0.9 is out

The SciSmalltalk project provides tools for scientific computation in Smalltalk.

more here: https://github.com/SergeStinckwich/SciSmalltalk

sci-smalltalk

ST 4U 551: Basic Debugging in Pharo

This post is dedicated to James Robertson. The whole community is deeply saddened by the news of his passing last week.

Here is one of his "Smalltalk 4 you" videos:

"Continuing on with the basic usage series, today we debug a small issue in Pharo code"