How to find out if a system is truly object oriented. In this old video Dan Ingalls explains how you can simply test this.
In Smalltalk systems like Squeak and Pharo you can do it.
Friday, October 05, 2018
GotalkInterpreter
I like Go as a programming language. It is open source, has a funny mascot and supports easy creation of executables. Still it is not the same as working with a nice Smalltalk system like Pharo.
I guess others see it the same way. That's why a simplistic Smalltalk code interpreter written in Golang is available here: https://github.com/SealNTibbers/GotalkInterpreter
To quote:
I guess others see it the same way. That's why a simplistic Smalltalk code interpreter written in Golang is available here: https://github.com/SealNTibbers/GotalkInterpreter
To quote:
Why Smalltalk Smalltalk is beautiful dynamic language with a concise and readable syntax. Also we are smalltalkers so that's why.
Stylesheet for Pharo
When writing stylesheets (CSS) for the web it is not recommended to hard code the colors in each stylesheet rule - because often it is a tedious task to adopt or change them afterwards.
Therefore often people use CSS preprocessors like LESS or SaaS or Stylus where you can define variables or other to ease the job.
If you already work in Pharo you might want to easily write your stylesheets in Smalltalk. Thats the idea behind "Stylesheet" - a project to define CSS like stylesheet in Pharo applications.
The project was now migrated from SmalltalkHub to GitHub and can be found on: https://github.com/pharo-contributions/Stylesheet
Therefore often people use CSS preprocessors like LESS or SaaS or Stylus where you can define variables or other to ease the job.
If you already work in Pharo you might want to easily write your stylesheets in Smalltalk. Thats the idea behind "Stylesheet" - a project to define CSS like stylesheet in Pharo applications.
The project was now migrated from SmalltalkHub to GitHub and can be found on: https://github.com/pharo-contributions/Stylesheet
Pharo Artefact migrated to GitHub
The Artefact PDF generation library written in Pharo was migrated to GitHub (including the STHub history):
https://github.com/pharo-contributions/Artefact
Here is an old video on it:
https://github.com/pharo-contributions/Artefact
Here is an old video on it:
Pharo IoT Hackathon
There is an Pharo IoT Hackathon on 19th of October 2018 in Cologne by zweidenker Pharo company. Details are here.
MetaLinks Lecture from ESUG 2018
Pharo provides advanced reflection including MetaLinks. You can find more details on all the possibilities in my Pharo wiki collection.
The slides on this topic from ESUG 2018 are available online now:
The slides on this topic from ESUG 2018 are available online now:
Hacktivismo de datos en Smalltalk
Cormas in 10 years
Cormas is an agent-based modelling and simulation platform. The project can be found on https://github.com/cormas/cormas with a webpage on http://cormas.cirad.fr/indexeng.htm
The system is currently implemented in VisualWorks Smalltalk with a port started to Pharo Smalltalk.
There is a funny video of the CORMAS guys where they see Cormas in 10 years:
The system is currently implemented in VisualWorks Smalltalk with a port started to Pharo Smalltalk.
There is a funny video of the CORMAS guys where they see Cormas in 10 years:
Gemstone support for Pharo
Gemstone is a very nice object oriented database. At ESUG 2018 there was native Support for Pharo (GemBuilder for Pharo) announced. Read the details in the slides.
Pharo in Corner Cases of the Enterprise
Slides from ESUG 2018 presentation on doing business projects using Pharo. The title is "Pharo in Corner Cases of the Enterprise"
Pharo and SendGrid v3 API
The SendGrid Smalltalk project is now gradually supporting the v3 API of SendGrid email delivery service. More on https://github.com/sorabito/sendgrid-smalltalk
Pharo Script of the Day
there is a new series of posts on a "Pharo script of the day" by Hernán Morales Durand. So far the following topics were covered:
- Proto proto image preprocessing in Pharo
- Poor's man test runner: Run package tests in Pharo from a script
- Open a line-numbered text editor
- Hash password with PBKDF2 using ApplicationSecurity
- Configure R <-> Pharo Smalltalk with RProjectConnector->
- Migrate FileReferences from Linux/MacOS to Windows
- Prefix all class names in a package
- Replay cookies with Zinc HTTP components
- Sort a column in a CSV file
- Parsing Gene Ontology terms
- Rename instance variables programmatically
Thursday, October 04, 2018
ARCOS - Augmented Reality Collabroative Operating System
Several times within this blog I reported about Croquet. It was written in Squeak Smalltalk and supported communication, collaboration, resource sharing, and synchronous computation among multiple users. Basically it was a followup of ideas from Morphic - but all in 3D. You could create and visit portals to interactively collaborate.
If I remember correctly it was later open sourced and ended up in OpenCobalt.NET - there are still some infos are on the Squeak wiki and a video on Youtube.
It was also continued as OpenQwaq platform and used to form solutions for a company named 3dicc
(started by Ron Teitelbaum, David A Smith and Andreas Raab).
I also reported on the Lively Kernel project - a JavaScript based Kernel and IDE to also followup on these ideas allowing dynamic and linked worlds within your web browser. There is also a video available.
Now it seems there is a fully new web based implementation of these historic ideas available. It is called ARCOS - Augmented Reality Collabroative Operating System and if you check it out you will find many similarities.
Fully written in JavaScript and based on LivelyKernel but with a similar UI as in Squeak Croquet. If you check out the source code you will even find that the classes are prefixed with a "T" - which was back in the time the prefix for TeaTime (a specific framework for Croquet).
You can try it instantly in your browser using the following link or watch the following videos for a demo:
If I remember correctly it was later open sourced and ended up in OpenCobalt.NET - there are still some infos are on the Squeak wiki and a video on Youtube.
It was also continued as OpenQwaq platform and used to form solutions for a company named 3dicc
(started by Ron Teitelbaum, David A Smith and Andreas Raab).
I also reported on the Lively Kernel project - a JavaScript based Kernel and IDE to also followup on these ideas allowing dynamic and linked worlds within your web browser. There is also a video available.
Now it seems there is a fully new web based implementation of these historic ideas available. It is called ARCOS - Augmented Reality Collabroative Operating System and if you check it out you will find many similarities.
Fully written in JavaScript and based on LivelyKernel but with a similar UI as in Squeak Croquet. If you check out the source code you will even find that the classes are prefixed with a "T" - which was back in the time the prefix for TeaTime (a specific framework for Croquet).
You can try it instantly in your browser using the following link or watch the following videos for a demo:
Thursday, September 20, 2018
Caffeine.js and WebVR - Smalltalk in 3D
Craig is continuing on his caffeine Project - which uses SqueakJS for a binding to JavaScript. He plays
with WebVR and it is nice to see Squeak Smalltalk running in the browser in 3D.
A demo is here:
https://caffeine.js.org/a-frame/
A demo is here:
https://caffeine.js.org/a-frame/
Wednesday, September 19, 2018
PharoJS V22 available
PharoJS V22 is available on SmalltalkHub.
From the release notes: RELEASE V22 Added statistics package. Generates statistics about Pharo classes used by an app and the size of generated JS code Fixed default app folder parent to fit the modification in github repo = non-pharo code moved to HTML folder
This is like the last version done on Pharo 5 and SmalltalkHub as Noury will switch to GitHub now.
From the release notes: RELEASE V22 Added statistics package. Generates statistics about Pharo classes used by an app and the size of generated JS code Fixed default app folder parent to fit the modification in github repo = non-pharo code moved to HTML folder
This is like the last version done on Pharo 5 and SmalltalkHub as Noury will switch to GitHub now.
Monday, September 17, 2018
Thursday, September 13, 2018
ESUG 2018 - Slides on Pharo evolution
Slides from ESUG 2018 from Esteban on Pharo evolution and current roadmap.
ESUG 2018 - Clap Slides
Slides from ESUG 2018 about Clap - the Pharo Command line Parser. Code is on https://github.com/cdlm/clap-st
Tuesday, September 11, 2018
Farmers Market App don in PharoJS
News from ESUG 2018 also on PharoJS:
The Farmers Market App at https://nootrix.com/farmers-market-app/ is built in PharoJS
The Farmers Market App at https://nootrix.com/farmers-market-app/ is built in PharoJS
Shampoo - Emacs Smalltalk development
Shampoo: a set of tools for remote Smalltalk development with Emacs.
- Project page is here: http://dmitrymatveev.co.uk/shampoo
- Source is available on GitHub:
Thursday, September 06, 2018
Geranium - agent-based simulator in Pharo
Geranium is an agent-based simulator with a dedicated DSL, for analyzing energy consumption in residential urban environments. The model takes into account structural, social and micro-climate characteristics. It is written using Pharo and here is a video session:
Code is on https://gitlab.com/npapoylias/Geranium and a project page can be found here.
You can also check the following PDF with a presentation including some more details.
Code is on https://gitlab.com/npapoylias/Geranium and a project page can be found here.
You can also check the following PDF with a presentation including some more details.
ESUG 2018
Next week ESUG 2018 Smalltalk conference will start. You for sure will find infos and news on
https://twitter.com/hashtag/esug18
https://twitter.com/hashtag/esug2018
https://twitter.com/hashtag/esug18
https://twitter.com/hashtag/esug2018
Monday, September 03, 2018
HoneyGinger in Pharo
I already reported on HoneyGinger in the past.
This is a new demo movie for HoneyGinger, a fluid dynamics engine written in pure Pharo.
This is a new demo movie for HoneyGinger, a fluid dynamics engine written in pure Pharo.
Thursday, August 30, 2018
Pharo code completion work
Article from Myroslava on her internship at INRIA with infos on her work on code completion in Pharo
Wednesday, August 29, 2018
git-migration and Tonel for Pharo
If you want to migrate projects from SmalltalkHub (or any MCZ-based repo) to GitHub to profit from new git integration in Pharo then use Peters "git-migration" tool.
The tool is now using the Tonel format to store the code. Tonel is a file-per-class format, that means a class and all methods are stored in a single file. This is faster than having a file for each method but also prevents some trouble with git on Windows due to number of files and subdirectory depth.
The tool is now using the Tonel format to store the code. Tonel is a file-per-class format, that means a class and all methods are stored in a single file. This is faster than having a file for each method but also prevents some trouble with git on Windows due to number of files and subdirectory depth.
Amber Smalltalk and npm
Amber Smalltalk and accompanying libs do not use bower any more, everything is based off Node package manager (npm) only now.
Read more.
If you have an old command line interface (old amber-cli from previous installations) then uninstall it first.
If you have an old command line interface (old amber-cli from previous installations) then uninstall it first.
GeoHash for Pharo
Pharo package to decode/encode Geohashes to/from latitude and longitude (geolocation).
Available on GitHub: https://github.com/simonfranz/smalltalk-geohash
Available on GitHub: https://github.com/simonfranz/smalltalk-geohash
CuisSmalltalk Live templates
A prototype of LiveTemplates for Smalltalk - implemented in CuisSmalltalk. Shows how quickly and easily one can adopt a Smalltalk IDE.
RDF for Smalltalk
Christian Haider made his code available to deal with RDF/XML file. Check out his Resource Description Framework (RDF) page. It is currently for VW - but I guess porters are welcome.
Clap Teaser
Clap - is the Command line argument parser for Pharo. The project is available on GitHub now including a teaser to demonstrate some features.
A quick memory game using Pharo’s dynamic spec builder
Spec is a UI framework used in Pharo. It not only allows to declare static layout but you can also dynamically use it.
Here is a new medium article explaining some of it's features using a memory game as a demonstration. Nice!
Here is a new medium article explaining some of it's features using a memory game as a demonstration. Nice!
A mini scheme in Pharo
Monday, July 16, 2018
Context visualization of Object Factories Video
An interactive visualization of a software execution profiling in Pharo:
Artifact and details are available here
Artifact and details are available here
Friday, July 13, 2018
Towards Machine Learning in Pharo with TensorFlow
TechTalk on using TensorFlow in Pharo easily:
Code Repository is here: https://github.com/PolyMathOrg/libtensorflow-pharo-bindings
Code Repository is here: https://github.com/PolyMathOrg/libtensorflow-pharo-bindings
Tuesday, July 10, 2018
KerasWrapper - AI for Pharo
KerasWrapper is a project providing bindings from Pharo to Keras (which is implemented in Python). You can transparently play with the high-level neural networks API and visualize results in Roassal directly.
The github repo is on https://github.com/ObjectProfile/KerasWrapper
The github repo is on https://github.com/ObjectProfile/KerasWrapper
Monday, July 09, 2018
Improvekit
Found a page on the web and a twitter account from a company in Buenos Aires also doing ST development. From the screenshots they seem to have choosen Squeak as IDE and Morphic for the UI ...
Pharo TechTalk: Tensorflow
Next TechTalk session is on 12th July 2018 5:00 PM - 7:00 PM (UTC+02:00) - read more.
If you want to participate - join the #techtalk channel on Pharo's Discord server. You can get an invite here.
If you want to participate - join the #techtalk channel on Pharo's Discord server. You can get an invite here.
Tuesday, July 03, 2018
Monday, June 25, 2018
StCAD - now open source
'StCAD' is a basic 3D CAD framework implemented in VisualWorks Smalltalk. It can be used for 3D motion simulation and other. Details on the framework can be found here.
It is now open sourced with MIT license. The author Aik-Siong Koh hopes Pharo users will port it to Pharo. Read the details.
The download is provided as a ZIP.
The download is provided as a ZIP.
Thursday, June 21, 2018
Tuesday, June 19, 2018
Pharo Launcher v1.2 released
An updated Pharo Launcher was released:
https://github.com/pharo-project/pharo-launcher/releases/tag/1.2
You can read the details here.
https://github.com/pharo-project/pharo-launcher/releases/tag/1.2
You can read the details here.
Friday, June 15, 2018
Monday, June 11, 2018
Wednesday, May 30, 2018
Tuesday, May 22, 2018
Pharo 7 on SqueakJS (demo)
With some tweaks mostly related to FFI and fonts, we are able to run Pharo 7 on SqueakJS VM.
Read more or try out directly in your web browser.
PngSuiteExplorer
PngSuiteExplorer is a simple tool to test the support for PNG files in Pharo using the "official" test-suite for PNG.
Friday, May 18, 2018
Alternative Pharo-contributor tool explained with videos
https://github.com/astares/pharo-contributor
now provides two videos demonstrating how this tool can be used as an alternative to easily contribute to latest Pharo 7
Video 1:
and Video 2:
Video 1:
and Video 2:
Thursday, May 17, 2018
Tuesday, May 08, 2018
Intelligent System Construction
Video from latest tech talk of PharoClub: Intelligent System Construction by Alexandre Bergel
Friday, May 04, 2018
TelescopeCytoscape for Seaside
Telescope is an engine for efficiently creating meaningful visualizations using Seaside and Pharo. Now there is a connector for CytoscapeJs for Seaside. Read more here and a demo is here.
Reproducible moldable interactions using Pharo and Bloc
A new inspector model in Pharo that records developer interactions as first-class entities and uses them to reduce repetition: this is part of "Reproducible moldable interactions" master thesis. You can directly jump to the PDF here.
Note that the solution presented is implemented in Pharo using Bloc UI infrastructure.
Pharo - "Containers" for collections and data structures
"Containers" - a project for alternate collections and data-structures for Pharo Smalltalk is now on GitHub. Read more
ChartJs for Seaside
Grafoscopio Sucess Story
Grafoscopio is a moldable and versatile tool for that allows to mix prose, data, code, visualizations into interactive reproducible documents, raging from single notebooks to complete books. There is new success story availabe for it available on the Pharo homepage.
Monday, April 23, 2018
Using P3 to connect Pharo to CockroachDB
One can now also use the P3 driver (PostgreSQL driver protocol 3.0) from Sven to connect Pharo also to CockroachDB. CockroachDB is an open-sourced software project (relational database management system) that is designed to store copies of data in multiple locations in order to deliver requested data when needed. It is described as a scalable, consistently-replicated, transactional datastore. The database is scalable in that a single instance can be run from a laptop while building an app, then scaled to thousands of commodity servers as a business grows.
Read more.
Read more.
Thursday, April 19, 2018
Wednesday, April 18, 2018
Iceberg 0.7 explained
GraphQL
REST services are easy to implement in Pharo - especially with "Teapot" and my simple "Tealight" extensions for it. Read the Tealight project page with some documentation and examples to get an idea about it.
If you worked with or heard about REST then you might also come across GraphQL. It's a technology initially developed at Facebook.
In GraphQL, the shape of the response is built up on the server side to match the shape of a given JSON query.
So while in REST when you ask for a "book" item you receive a predefined JSON response with all attributes of the book. In GraphQL you might ask only for the books title or in another case for the books title and author at the same URL and receive an appropriate response.
Now there is also an initial library for GraphQL available for Pharo and VisualWorks.
Really nice!
If you worked with or heard about REST then you might also come across GraphQL. It's a technology initially developed at Facebook.
In GraphQL, the shape of the response is built up on the server side to match the shape of a given JSON query.
So while in REST when you ask for a "book" item you receive a predefined JSON response with all attributes of the book. In GraphQL you might ask only for the books title or in another case for the books title and author at the same URL and receive an appropriate response.
Now there is also an initial library for GraphQL available for Pharo and VisualWorks.
Really nice!
Programming Neural Networks in Pharo - Preview
Agile Artificial Intelligence with Pharo - a new book is in the pipe. You can already have a preview.
Thursday, March 22, 2018
Friday, March 16, 2018
Pharo to Anki
Using Pharo to create Anki decks that help to deliberately practice Japanese grammar by visualizing.
Thursday, March 15, 2018
Instance inspection in Pharo
The Pharo Inspector on classes now has “instances” view. I added this a a few days ago and forgot to send a message to the list so anyone knows. Looks like I should blog more about my contributions again.
Wednesday, March 14, 2018
Pharo AWS SDK with SNS support
The Pharo AWS SDK now supports Amazon Simple Notification Service (SNS)
Tuesday, March 13, 2018
Pharo-sentry v0.2.2 releases
The unofficial Pharo SDK for Sentry error tracking platform from Peter is available with a new 0.2.2. release. Now with support for breadcrumbs and basic context.
Code is here: https://github.com/peteruhnak/pharo-sentry
Code is here: https://github.com/peteruhnak/pharo-sentry
Feenk work on a Diagrammer for Pharo in Bloc
The Feenk team is working on on Diagrammer in Pharo. The idea is that developers should not have to leave the IDE - not even for drawing diagrams and they give a nice graphic preview on a more elaborate control of lines and figures in this tool with some screenshots on their twitter account.
- Preview 1
- Preview 2
- Preview 3
This nicely shows what is already possible in Bloc.
- Preview 1
- Preview 2
- Preview 3
This nicely shows what is already possible in Bloc.
Updated DiscordsSt for Pharo
A new version of DiscordsSt, An API wrapper for Discord written in Pharo
https://github.com/JurajKubelka/DiscordSt
https://github.com/JurajKubelka/DiscordSt
Sunday, March 11, 2018
Playing with face detection in Pharo
A nice medium article from Andrei Chis on "Playing with face detection in Pharo"
Wednesday, March 07, 2018
Clean and modular stateful traits for Pharo
Pharo 7 now integrated (beside many others) a special pull request (PR) to integrate a new version of Traits, this version includes the following features:
- Stateful Traits
- Modular implementation, it is loaded after bootstrap
- Cleaner interface
- Reducing duplicate methods as Traits extends from Class
Since Pharo also has Traits, Slots, MetaLinks, ClassAnnotations and other meta facilities it is a very nice lively system to also work on the metalevel and do metaprogramming.
- Stateful Traits
- Modular implementation, it is loaded after bootstrap
- Cleaner interface
- Reducing duplicate methods as Traits extends from Class
Since Pharo also has Traits, Slots, MetaLinks, ClassAnnotations and other meta facilities it is a very nice lively system to also work on the metalevel and do metaprogramming.
Shortcuts in Settings tool
With the latest version of Commander and the new Calypso Code Browser, all shortcuts are
explorable and configurable.
explorable and configurable.
SQLite Loadable Extensions for Pharo
Pierce implemented SQLite Loadable Extensions and you can find it in the UDBC repository.
Pharo Bitcoin's BIP39 mnemonic
Esteban Maringolo provides a simple implementation of Bitcoin's BIP39 mnemonic for Pharo
Tuesday, March 06, 2018
Friday, March 02, 2018
Wednesday, February 28, 2018
Code Critics Bar Charts for Pharo Smalltalk
can be found in the following Git project: https://github.com/hernanmd/ccbc
Would be interesting to compare Pharo 6.1 with Pharo 7alpha
Would be interesting to compare Pharo 6.1 with Pharo 7alpha
ELIZA-Pharo
Pharo Smalltalk implementation of ELIZA, an early natural language processing computer program.
Restore Open Croquet
Nikolay Suslov restored the original Open Croquet onto Squeak 6.x. Video is here.
Teamtalk - Pharo Cluster execution
Teamtalk - Simple library to execute Pharo Smalltalk code in a cluster of Pharo Smalltalk instances. MapReduce is also supported. It is based on Vert.x using the VerStix library.
Subscribe to:
Posts (Atom)