...lots of possibilities for that these days with Roassal, Telescope, Woden, Athens, ...
See this presentation from PharoConf 2015.
Friday, January 30, 2015
Thursday, January 29, 2015
Wednesday, January 28, 2015
PharoDays2015 start
The Pharo Days 2015 conference starts today. You can follow some of the news with the Twitter hashtag: #pharodays2015
Object oriented implementation of numerical methods now OpenSource
Didier Besset offered his great book “Object-Oriented Implementation of Numerical Methods" to the community.
Read more here or directly grab the PDF.
Read more here or directly grab the PDF.
GLORP Resources
Want to get used to GLORP, the ORM for Smalltalk to access a RDBMS from your favorite Smalltalk dialect. Then check out these resources:
- http://www.glorp.org with tutorials and user guides
- ESUG 2014 Glorp Tutorial
- ESUG 2013 Glorp Tutorial
- Advanced Glorp tutorial
- Glorp forum
- Svens article (Reddit.st in 10 cool Pharo classes)
- Starting with Glorp and SQLite tutorial
Monday, January 26, 2015
Squeak for DiamondTouch
Sebastian pointed me to http://shareitproject.org today. Have not seen this page before.
The page includes a Squeak app for DiamondTouch (DiamondTouch table is a multi-touch, interactive PC interface). From the people page it looks like Jochen “Jeff” Rick helped shaping it, I know him from his Swiki implementation and Squeak and Pharo contributions like QRCode.
He wrote several apps in Smalltalk as you can see on his page. Nice!
The page includes a Squeak app for DiamondTouch (DiamondTouch table is a multi-touch, interactive PC interface). From the people page it looks like Jochen “Jeff” Rick helped shaping it, I know him from his Swiki implementation and Squeak and Pharo contributions like QRCode.
He wrote several apps in Smalltalk as you can see on his page. Nice!
Microkanren for Pharo
An implementation of µKanren (an embedded Domain Specific Language for logic programming) for Pharo. The project is here (GitHub) and here (SmalltalkHub).
PharoCloud with PillarHub knowledge base
PharoCloud now uses own PillarHub to provide a knowledge base:
http://pharocloud.com/kb
Also Pharo Launcher is part of their Pharocloud Image Store. Additionally the underlying cloud system provides support for Cairo graphics which makes it possible to run Pharo4 on it and access it via VNC.
http://pharocloud.com/kb
Also Pharo Launcher is part of their Pharocloud Image Store. Additionally the underlying cloud system provides support for Cairo graphics which makes it possible to run Pharo4 on it and access it via VNC.
Friday, January 23, 2015
Dark Theme for Amber Helios IDE
The Amber Smalltalk Helios IDE also supports (similar to Pharo) a dark theme. Nice!
Smalltalk Research forum
Richard Eng (initiator of the Smalltalk Renaissance Program - SRP) will now use the Smalltalk-research forum
https://groups.google.com/forum/#!forum/smalltalk-research
to discuss all future SRP-related discussions. So if you want to participate in SRP go there.
https://groups.google.com/forum/#!forum/smalltalk-research
to discuss all future SRP-related discussions. So if you want to participate in SRP go there.
Thursday, January 22, 2015
SmalltalkFlavor
There is an online survey from Instantiations: what Smalltalk flavor do you use?
https://www.surveymonkey.com/s/SmalltalkFlavor
https://www.surveymonkey.com/s/SmalltalkFlavor
Wednesday, January 21, 2015
Grafoscopio
Grafoscopio is a mockup of a outliner interface made using Moose playgrounds. Is a learning exercise from a Smalltalk newbie but it aims to evolve to become a outliner interface for playgrounds that can be used for developing visual data narratives for open/garage/citizen science research.
A detailed description is here, video here and code here.
A detailed description is here, video here and code here.
NBSQLite3 for Pharo, accessing RDBMS via Glorp and more Pharo persistence options
There is a new way/project to work with the SQLite3 embeddable database. While in the past there was already
a SQLite wrapper project for Pharo based on FFI this new one is based on NativeBoost and also has some support for Glorp.
The project is called "NBSQLite3 for Pharo". Read more in my original announcement to get all the details.
Original binding for NativeBoost was written by Pierce Ng. After that I refactored the bits and pieces a little bit, repackages for better loading and added a ConfigurationOfNBSQLite3 to it (one can load the core independent from Glorp support, etc).
Additionally as the old version was hosted on SqueakSource3 it was also moved over to SmalltalkHub: http://smalltalkhub.com/#!/~PharoExtras/NBSQLite3
The STHub project page includes some docu. Meanwhile I also fixed encoding issues between SQLite3 (UTF-8 storage format) and Pharo (Multibyte characters). The nice thing is that with SQLite as small embeddable database you just need a shared library (sqlite3.dll for Windows for example) and you can have a full relational database(s) in single files.
If you are already using Pharo 4 then you can directly install it right from the config browser. Guillermo Polito additionally now created a CI job for it on the DBXTalk CI Server.
You can use the NBSQLite3 package to directly access the relational database and send SQL commands to it. But this is very cumbersome. A better way is to use an object relational mapping framework and Smalltalk has the Glorp ORM framework for that.
If you want to use NBSQLite3 together with Glorp on Pharo4 then you should have a look at this short tutorial I wrote. Also have a look at Svens excellent article on how to use Glorp in Pharo with PostgreSQL and the various descriptions on the Glorp website.
As of today Debris (a company who also joined the Pharo consortium) made a project and code available to use different backends while still working with the Glorp interface. This project is called DebrisDB and is also hosted on SmalltalkHub. If you use it right, you can back your application by Fuel files, SIXX files, any serializer, Gemstone, or Glorp/SQL, without modifying your application code.
For sure database support for Pharo will move on in 2015 and open much more possibilities.
Side note: if you dislike relational databases you can even have a small embeddable NoSQL database with Pharo that also only requires a simple shared library to package with your app. It is called "UnQLite" and I already posted about the PUnQlite binding for Pharo. You can even use Mongo or others with Pharo. If this is an option for you do not forget to have a look at Voyage which makes persistency very easy. There is also SandstoneDB, Magma and SimplePersistence.
And not to forget that there is Gemstone allowing you to work with persistent object as if they were in the Smalltalk image.
The project is called "NBSQLite3 for Pharo". Read more in my original announcement to get all the details.
Original binding for NativeBoost was written by Pierce Ng. After that I refactored the bits and pieces a little bit, repackages for better loading and added a ConfigurationOfNBSQLite3 to it (one can load the core independent from Glorp support, etc).
Additionally as the old version was hosted on SqueakSource3 it was also moved over to SmalltalkHub: http://smalltalkhub.com/#!/~PharoExtras/NBSQLite3
The STHub project page includes some docu. Meanwhile I also fixed encoding issues between SQLite3 (UTF-8 storage format) and Pharo (Multibyte characters). The nice thing is that with SQLite as small embeddable database you just need a shared library (sqlite3.dll for Windows for example) and you can have a full relational database(s) in single files.
If you are already using Pharo 4 then you can directly install it right from the config browser. Guillermo Polito additionally now created a CI job for it on the DBXTalk CI Server.
You can use the NBSQLite3 package to directly access the relational database and send SQL commands to it. But this is very cumbersome. A better way is to use an object relational mapping framework and Smalltalk has the Glorp ORM framework for that.
If you want to use NBSQLite3 together with Glorp on Pharo4 then you should have a look at this short tutorial I wrote. Also have a look at Svens excellent article on how to use Glorp in Pharo with PostgreSQL and the various descriptions on the Glorp website.
As of today Debris (a company who also joined the Pharo consortium) made a project and code available to use different backends while still working with the Glorp interface. This project is called DebrisDB and is also hosted on SmalltalkHub. If you use it right, you can back your application by Fuel files, SIXX files, any serializer, Gemstone, or Glorp/SQL, without modifying your application code.
For sure database support for Pharo will move on in 2015 and open much more possibilities.
Side note: if you dislike relational databases you can even have a small embeddable NoSQL database with Pharo that also only requires a simple shared library to package with your app. It is called "UnQLite" and I already posted about the PUnQlite binding for Pharo. You can even use Mongo or others with Pharo. If this is an option for you do not forget to have a look at Voyage which makes persistency very easy. There is also SandstoneDB, Magma and SimplePersistence.
And not to forget that there is Gemstone allowing you to work with persistent object as if they were in the Smalltalk image.
Tuesday, January 20, 2015
RemoteAnnouncements in Pharo
There is an interesting project: http://smalltalkhub.com/#!/~PharoExtras/RemoteAnnouncement
to remote transfer Announcements in Pharo. Here is an extract from the docu:
RemoteAnnouncer makes it possible for RemoteAnnoucerProxy (in another image or on another machine across the network) to both publish and consume Announcements to and from the Announcer that I wrap.
I use the WebSocket protocol and STON serialization.
I am remotely known by my port. I am either started as a publisher (#startPublisher) or as a consumer (#startReceiver)
Elegant Pharo code
Only a few examples how elegant Pharo code is. If you want to try yourself visit: http://www.pharo.org
Monday, January 19, 2015
OpenStreetMap Integration
There is now an integration of OpenStreetMap in Roassal (the visualization engine for the Pharo platform). Read more.
Friday, January 16, 2015
Thursday, January 15, 2015
Pharo books built using CI
Writing books and writing software have a lot in common. One can write code or books in different languages and styles, let the story go different paths, a review is recommended before publishing, ...
I dont know if unit testing for books exist - but also a story in a novel has to follow some rules. For instance it would not make sense if the murder is the same victim or the detective in a crime story.
So if software can be assembled and built using a continuos integration server why not do the same for books and documentation.
The Pharo community addresses this as well: from today on all pharo books are now built in one place at the Pharo CI server.
https://ci.inria.fr/pharo-contribution/view/Books/
Soon we will also have a http://books.pharo.org page.
If you can wait for more have a look at: http://pharo.pharocloud.com/pharobooks
I dont know if unit testing for books exist - but also a story in a novel has to follow some rules. For instance it would not make sense if the murder is the same victim or the detective in a crime story.
So if software can be assembled and built using a continuos integration server why not do the same for books and documentation.
The Pharo community addresses this as well: from today on all pharo books are now built in one place at the Pharo CI server.
https://ci.inria.fr/pharo-contribution/view/Books/
Soon we will also have a http://books.pharo.org page.
If you can wait for more have a look at: http://pharo.pharocloud.com/pharobooks
Pharo bytecode debugger
With the Moldable Debugger framework it is possible to build specific debuggers in the Pharo universe. So beside the regular textual Smalltalk code debugger it is now possible to build other debuggers like for example
Exactly such a bytecode debugger was announced today allowing you to dig down to the level of bytecode instructions for the virtual machine. Read more.
Exactly such a bytecode debugger was announced today allowing you to dig down to the level of bytecode instructions for the virtual machine. Read more.
Tuesday, January 13, 2015
Redline Smalltalk connects to the JVM world
Another infoworld article, this time about Redline Smalltalk.
New Memory Profiler for Pharo
Not only the memory monitor was updated as I wrote in my previous post. Also a new memory profiler is provided.
Read about this new Pharo tool here.
Read about this new Pharo tool here.
Pharo MemoryMonitor updated
Pharo memory was updated. Meanwhile the button issue is also fixed. You can get it right from the config browser within your Pharo image.
Work in progress: Roassal visualizations for the web
People from ObjectProfile work on moving Roassal visualizations to the web. Here is an example and another one.
If you dig depper and look behind the scenes of the page you will notice that they have a roassal.js JavaScript file with classes like TRMouseClick, RTDraggable, ...making this possible. Nice!
If you dig depper and look behind the scenes of the page you will notice that they have a roassal.js JavaScript file with classes like TRMouseClick, RTDraggable, ...making this possible. Nice!
NLP for Pharo
A natural language processing toolkit for Pharo Smalltalk.
I like the authors post on Twitter "I am having too much fun with Pharo Smalltalk hacking some natural language processing code".
Monday, January 12, 2015
VALS semester of code using Pharo or Squeak
You want to participate in VALS semester of code (similar to Google summer of code, except that students
work for class credit instead of money) using Pharo or Squeak.
Then hurry up - deadline is 13.01.2015.
Saturday, January 10, 2015
Twitter #thingsPeopleBuiltWithSmalltalk
People tend to think that Smalltalk is not widely used as it is not in the (stupid) TIOBE index. But Smalltalk is not only a language but a fully dynamic object system (the language is just built in using objects and messages and fully adoptable which makes it hard to compare to regular programming languages). Compared to any other it is also the most pure object oriented systems.
Mostly other languages started to be "object oriented" for fashion reason without following good OO practice. There is also a very simple reason why Smalltalk is not highly ranked in TIOBE index. You do not need a webbrowser or compiler manual. You can concentrate on the problem solving and lively development in the Smalltalk system instead of googling for keywords, syntax and API's.
Nonetheless there are so many projects and applications that are built in Smalltalk - unfortunately they are not that visible in the first place even when some of them influence us daily like financial applications, container management, railway planning and ERP systems.
I was surprised today to see that someone started a #thingsPeopleBuiltWithSmalltalk campaign on Twitter. Nice initiative!
So if you know something built in Smalltalk then just twitter it:
https://twitter.com/hashtag/thingsPeopleBuiltWithSmalltalk?src=hash
Lets make 2015 the "There is no excuse not to know about Smalltalk" year ;)
Mostly other languages started to be "object oriented" for fashion reason without following good OO practice. There is also a very simple reason why Smalltalk is not highly ranked in TIOBE index. You do not need a webbrowser or compiler manual. You can concentrate on the problem solving and lively development in the Smalltalk system instead of googling for keywords, syntax and API's.
Nonetheless there are so many projects and applications that are built in Smalltalk - unfortunately they are not that visible in the first place even when some of them influence us daily like financial applications, container management, railway planning and ERP systems.
I was surprised today to see that someone started a #thingsPeopleBuiltWithSmalltalk campaign on Twitter. Nice initiative!
So if you know something built in Smalltalk then just twitter it:
https://twitter.com/hashtag/thingsPeopleBuiltWithSmalltalk?src=hash
Lets make 2015 the "There is no excuse not to know about Smalltalk" year ;)
Friday, January 09, 2015
OS Project with initial support for Ubuntu and Unix
Beside the existing "OS-Windows" support for Windows operating system the "Pharo OS project" now also has
new subprojects for "OS-Unix" and "OS-Linux-Ubuntu" with some initial support for these native platforms as well.
You can load it from the config browser in Pharo 4.0.
You can load it from the config browser in Pharo 4.0.
EventRecorder for Pharo 4 now based on Spec
I rewrote the Event Recorder for Pharo 4 to be based on Spec. You can load it from the config browser in a Pharo 4.0 image.
CORMAS - open sourced
The CORMAS modelling platform is now open-source and available under the MIT licence.
CORMAS (Common-pool Resources and Multiagent Systems; Bousquet et al., 1998) has originally been developed by CIRAD green team to provide a multi-agent framework that can be used to simulate the interactions between a group of agents and a shared environment holding natural resources. It is written in Smalltalk (originally in VW).
You can learn about it in the classroom and play with simulations like an fire agent model or Conways game of life. You can run models and check results in charts. The game of life is explained very nicely.
There is also already a port for Pharo which can be run in Moose images. There is a mailinglist for development. Read more.
CORMAS (Common-pool Resources and Multiagent Systems; Bousquet et al., 1998) has originally been developed by CIRAD green team to provide a multi-agent framework that can be used to simulate the interactions between a group of agents and a shared environment holding natural resources. It is written in Smalltalk (originally in VW).
You can learn about it in the classroom and play with simulations like an fire agent model or Conways game of life. You can run models and check results in charts. The game of life is explained very nicely.
There is also already a port for Pharo which can be run in Moose images. There is a mailinglist for development. Read more.
Thursday, January 08, 2015
Wednesday, January 07, 2015
Why JavaScript developers should look at Smalltalk
There are many reasons why JavaScript developers should look at Smalltalk - this is one of them.
Tuesday, January 06, 2015
Basic remote S8 workspace
S8 Smalltalk by Alejandro F. Reimondo is a Smalltalk which is based on Clamato and Jtalk (now AmberSmalltalk) ideas, so basically it is a Smalltalk on top of JavaScript.
If you want to try just checkout the remote S8 workspace project. A few node.js commands and some files to extract and you can run it locally.
If you want to try just checkout the remote S8 workspace project. A few node.js commands and some files to extract and you can run it locally.
TrySmalltalk in AmberSmalltalk
The ProfStef tutorial to learn Smalltalk is now also available in AmberSmalltalk:
https://github.com/amber-smalltalk/trysmalltalk
You can also try it online.
Philippe Back Interviews Sebastian Sastre On Amber Smalltalk
Another podcast from Philippe about AmberSmalltalk.
Monday, January 05, 2015
Smalltalk Reflections #006: Debugging
A new episode of the Smalltalk Reflections podcast is available from David Buck and Craig Latta. This time it is about Debugging.
Also do not miss this video here.
Sunday, January 04, 2015
RTGraphBuilder in Roassal improved
The RTGraphBuilder in Roassal was improved. Read more here and check out the examples.
Identifying a configuration problem with GTInspector
Solving Metacello configuration problems with Pharo easily. Read more.