Monday, October 29, 2012
Pharo localization and translation with ICU
A really good package for everything related to Locales, translation and
I18N is ICU.
There is an interface for Pharo written by Jan van de Sandt (using the NativeBoost callout mechanism).
Thursday, October 25, 2012
Pharo VM Update
There is an updated set of Pharo VMs available (built by Jenkins), including Cairo, FFI, FreeType and SSL support.
Wednesday, October 24, 2012
Friday, October 19, 2012
Morphic BPM
There is a "Morphic Business Process Modeler" running right in your webbrowser. Based on JSMorphic which is a port of Smalltalks Morphic to JavaScript.
Watch the video or try yourself.
Watch the video or try yourself.
Lars Bak on language virtual machines
Lars Bak presents several language virtual machines (Self, Strongtalk, Hotspot), why they matter and how they influenced V8 and Dart.
I find it is a really interesting talk, especially since I follow his VM developments over the years (StrongTalk, OOVM, ... as you know from previous posts). And I agree with Lars who states: "I like Smalltalk"
Try to imagine if the software industry would have continued on the dynamic path in the 90's without getting the detour on static language ideas and VMs. Yes - Java and C# have momentum - but more because of marketing and commercial pressure, market pressure and since people believe in stupid TIOBE index. Better tools and IDEs makes them nowadays less painfull - but that just hides the fact that we need easily changeable and maintainable systems with meta facilities and true reflection that are easily scriptable and extendable.
We know we can do better in the software industry with dynamic languages and dynamic system. Dart is a move forward - but for me still not comparable to the most dynamic object system.
And it still comes with curly braces ;)
I find it is a really interesting talk, especially since I follow his VM developments over the years (StrongTalk, OOVM, ... as you know from previous posts). And I agree with Lars who states: "I like Smalltalk"
Try to imagine if the software industry would have continued on the dynamic path in the 90's without getting the detour on static language ideas and VMs. Yes - Java and C# have momentum - but more because of marketing and commercial pressure, market pressure and since people believe in stupid TIOBE index. Better tools and IDEs makes them nowadays less painfull - but that just hides the fact that we need easily changeable and maintainable systems with meta facilities and true reflection that are easily scriptable and extendable.
We know we can do better in the software industry with dynamic languages and dynamic system. Dart is a move forward - but for me still not comparable to the most dynamic object system.
And it still comes with curly braces ;)
Wednesday, October 17, 2012
Talk about RTalk
James interviews Mark Roos about RTalk (a Smalltalk on top of JVM).
RTalk is a Smalltalk 'Live' Environment built on the JVM. You can also get the slides from the JVM lang Summit (slides and workshop slides) or watch the video about it at Dr. Dobbs..
RTalk is a Smalltalk 'Live' Environment built on the JVM. You can also get the slides from the JVM lang Summit (slides and workshop slides) or watch the video about it at Dr. Dobbs..
Pharo Workshop at fOSSa Open Source conference
There is a Pharo Workshop at fOSSa Open Source conference. Read more.
JSON with Pharo
Want to parse JSON with Smalltalk? You can use Petit parse to do it. Here is a short guide.
Wednesday, October 10, 2012
Phobos
Pavel announced Phobos - the XULRunner based Smalltalk
framework for development of native GUI with standard look&feel for
Linux, Mac OS X and Windows.
Read more here and here.
Wednesday, September 26, 2012
Wednesday, September 19, 2012
Tuesday, September 18, 2012
Monday, September 17, 2012
Squeak Windows VM 4.10.2
Ian updated the standard Squeak VM (non-cog) also for Windows. Feel free to help testing.
Smalltalk Programming with Spoon
Craig organizes a Guru session on "Smalltalk Programming with Spoon" in Amsterdam.
Sunday, September 16, 2012
Source Code Tour Guide
There is a small tool called "SourceCodeTourGuide" which may
help you digging into Pharos code. Here is how to use it. Worked for me in Pharo 1.4.
Here is a demo video.
Friday, August 31, 2012
New World
The World of Smalltalk (www.world.st) website has been changed. Nice - it includes more infos now.
Thursday, August 30, 2012
Aida 6.5 Summer release
Janko has Aida 6.5 ready. The webframework now also includes support for OpenID authentication and OAuth authorization. By default it includes support for JQuery, Twitter bootstrap and Amber.
Run Seaside 3.1 on Pharo 2.0
You want to run Seaside 3.1 already on Pharo 2.0 (both not yet released) to work on the bleeding edge versions. Here is how.
Gesture Recognizer
Need a $1 Unistroke Recognizer? There is an implementation in JavaScript that is ported to Smalltalk as well.
Thursday, August 23, 2012
JITting on ARM
Lars has some news on his GSoC project on JITting on ARM. With his VM Plugin for the Cog VM it should be possible to enable debugging and simulation of the ARM-JIT.
WebSockets for Pharo (Zinc)
The "Zinc HTTP Components" framework for Pharo will support WebSockets in the near future. An initial implementation is already available as Sven (the author of Zinc) announced today.
Thanks to a financial incentive (from Andy Bernett from Knowinnovation) Sven is now sponsored to implement it in an open source way and release the code with MIT license.
Thanks to a financial incentive (from Andy Bernett from Knowinnovation) Sven is now sponsored to implement it in an open source way and release the code with MIT license.
Wednesday, August 22, 2012
SourceCity for Pharo
There is CodeCity written in VisualWorks. Looks like there were some issues with licensing for commercial use.
Now there is a similar tool called "SourceCity" for Pharo.
Have a look at the demo video. Unfortunately it will not be open source - according to Stef:
"Now we are developing since more than six months a replacement from scratch but it will not be open-source. Interested people will be able to contact us and we will license them the software."
Sad - it would have been a nice example for using NativeBoost. But meanwhile Igor wrote some documentation for NativeBoost using the HelpSystem.
Now there is a similar tool called "SourceCity" for Pharo.
Have a look at the demo video. Unfortunately it will not be open source - according to Stef:
"Now we are developing since more than six months a replacement from scratch but it will not be open-source. Interested people will be able to contact us and we will license them the software."
Sad - it would have been a nice example for using NativeBoost. But meanwhile Igor wrote some documentation for NativeBoost using the HelpSystem.
Tuesday, August 21, 2012
Monday, August 20, 2012
Roassal video
There is a new video about the Roassal visualization engine available. It also includes a preview of the port to Amber (to run client side in the browser).
Wednesday, August 15, 2012
Tanker package transporter
Thursday, August 09, 2012
JNIPort for VAST
JNIPort (which can be used to call Java from Smalltalk) is now available for VisualAge Smalltalk as well.
Tuesday, August 07, 2012
Android Cog VM/Pharo Builds at INRIA Jenkins
Now there are two new CI jobs running at INRIA providing you a standard and a Cog VM for Android. This allows to run applications written in Pharo on mobile devices. There is also a good documentation.
Friday, August 03, 2012
Thursday, August 02, 2012
R.I.P. FileDirectory
Pharo now finished switching from old "FileDirectory" to the new "FileSystem" for the not yet released Pharo 2.0. Expect a much cleaner API covered with many tests.
I'm sure people may lament that Pharo is too radical and not backward compatible - but Pharo's vision can only be accomplished if the platform moves forward quickly, throws away ugly code and gets cleaner and cleaner.
I switched some of my packages to the new Filesystem, others from ReferenceStream (which is also removed in 2.0) to its replacement "Fuel" very easily. The quality and maintainability is much better and I'm sure we are on the right track.
So whats next? Morphic ;)
I'm sure people may lament that Pharo is too radical and not backward compatible - but Pharo's vision can only be accomplished if the platform moves forward quickly, throws away ugly code and gets cleaner and cleaner.
I switched some of my packages to the new Filesystem, others from ReferenceStream (which is also removed in 2.0) to its replacement "Fuel" very easily. The quality and maintainability is much better and I'm sure we are on the right track.
So whats next? Morphic ;)
Altitude webframework presentation
The "Altitude" webframework is presented by Colin Putney at the next Vancouver Smalltalk Developer Group meeting.
Wednesday, August 01, 2012
Roassal News
Alexandre announced that Roassal now supports Cairo in VisualWorks. See this picture (click to enlarge):
They also work on an Amber version to be able to run in the webbrowser. Nice!
Sunday, July 29, 2012
OpenQwaq in use
3D ICC is using OpenQwaq (which is based on Squeak Smalltalk) for a collaborative platform. Here is a new showcase video how Smalltalk helps to work as a team in 3D.
Wednesday, July 25, 2012
Monday, July 23, 2012
RTalk on JVM Language Summit 2012
Mark Roos will present RTalk (a Smalltalk on the JVM) at the JVM Language Summit (July 30 to August 1, 2012). Mark Roos has two talks - one about RTalk and one about "invokedynamic" (a new bytecode for dynamic method invocation).
You can also watch the presentation about RTalk from last year.
You can also watch the presentation about RTalk from last year.
Wednesday, July 18, 2012
MessagePack for Smalltalk
MessagePack is an efficient binary serialization format. Now there is also Smalltalk support for it.
Pharo 1.4 "Summer" released
The summer release of Pharo 1.4 is announced!
While the community is hard working on getting 2.0 into shape this is a maintenance release for all users of Pharo 1.4 with fixes and backports.
Go and download it!
Jejak Trace Framework
The Jejak Trace Framework - a new framework for injecting probes into (Pharo) Smalltalk methods, and record their execution. Read more.
WaveFront file importer for Pharo
Jean Baptiste Arnaud published code for a Wavefront importer (3D Object Models with *.obj extension)
Tuesday, July 17, 2012
Altitude - a new Smalltalk web framework
Colin Putney announced his "Altitude" web framework for Squeak Smalltalk as open source under MIT license. It's a brand-new, from-scratch HTTP server and application framework
written on top of Xtreams.
One needs an up to-date 4.4. image. Code is here and Colin provided a load script.
Colin also explains the difference between Altitude and the more well known Seaside web frameowork for Smalltalk.
One needs an up to-date 4.4. image. Code is here and Colin provided a load script.
Colin also explains the difference between Altitude and the more well known Seaside web frameowork for Smalltalk.
BOSS - robots simulation in Smalltalk
BOSS is the "binary object storage service" in VisualWorks Smalltalk. But now BOSS also depicts a project on robots simulation written in Smalltalk done at the Ecole des Mines de Douai.
They also have an own SqueakSource server.
They also have an own SqueakSource server.
Monday, July 16, 2012
Ludus for Amber Smalltalk
Ludus is a game framework for Amber Smalltalk (the Smalltalk on top of JavaScript).
Today I checked out the Sokoban game example which is written in it.
Again if you hit F12 in your (chrome) browser on the page go to the JavaScript console and evaluate:
smalltalk.Browser._open()
you can open the Smalltalk browser and dig into the code. Amber makes client side programming really easy!
Again if you hit F12 in your (chrome) browser on the page go to the JavaScript console and evaluate:
smalltalk.Browser._open()
you can open the Smalltalk browser and dig into the code. Amber makes client side programming really easy!
Wednesday, July 11, 2012
Memcached
Memcached is a free & open source, high-performance, distributed memory object caching system. If you want to use it with Pharo just use the ConfigurationOfMemcached.
Tuesday, July 10, 2012
Raspberry pie and Scratch
The upcoming Raspberry pie user guide will include also a short intro on how to use Scratch to drive the device.
It's interesting to see all these kids using Scratch now - so Smalltalk yet again helps shaping our future.
Monday, July 09, 2012
Easy setup a Pharo Smalltalk HTTP Server
Sven shows you how to download, install and run a Pharo Smalltalk HTTP Server
for Linux using a single command. Read more here.
Sunday, July 08, 2012
Friday, July 06, 2012
Pharo 2.0 progress
If you grab the latest Pharo 2.0 version from the CI server you will see that it has some countless new features:
- one is Spotlight search which can by accessed by hitting SHIFT + ENTER
- another one is grouping of windows: just select "Create Windows Group" from the window menu
(you can drag and drop for instance two browsers together to have them tab-styled in one single
window)- this is an idea from TWM docking windows.
- Nautilus the new code browser
- code completion in all tools
- some initial metacello configurations using Tools -> ConfigurationBrowser
- Fuel is now part of Pharo
- if you load ScriptManager from the config browser you will notice that it is
using Fuel (since Fuel is now part of Pharo) and also allows for code completion
- the new filesystem code is integrated
- you can now also set the Monticello package cache directory in the settings browser to easily share
the *.mcz package cache folder between images
- the new Spec UI is integrated allow you to easily build tools
More things to come in the near future:
- Zodiac (SSL support) is integrated and soon the SSL plugins will be part of the distribution
- Freetype, Cairo Libs bundled
- ....
There is also a new way how fixes got reviews:
- you open a bug in the Pharo issue tracker
- then submit a fix as a slice to the inbox
- set the state to ReviewNeeded
- now "Ulysse" the code monkey script checks your fix by running all tests automatically - so
it is easy to see in advance if the fix is working or breaking the latest builds
This speeds up the integration process.
Expect more things to come ...
- one is Spotlight search which can by accessed by hitting SHIFT + ENTER
- another one is grouping of windows: just select "Create Windows Group" from the window menu
(you can drag and drop for instance two browsers together to have them tab-styled in one single
window)- this is an idea from TWM docking windows.
- Nautilus the new code browser
- code completion in all tools
- some initial metacello configurations using Tools -> ConfigurationBrowser
- Fuel is now part of Pharo
- if you load ScriptManager from the config browser you will notice that it is
using Fuel (since Fuel is now part of Pharo) and also allows for code completion
- the new filesystem code is integrated
- you can now also set the Monticello package cache directory in the settings browser to easily share
the *.mcz package cache folder between images
- the new Spec UI is integrated allow you to easily build tools
More things to come in the near future:
- Zodiac (SSL support) is integrated and soon the SSL plugins will be part of the distribution
- Freetype, Cairo Libs bundled
- ....
There is also a new way how fixes got reviews:
- you open a bug in the Pharo issue tracker
- then submit a fix as a slice to the inbox
- set the state to ReviewNeeded
- now "Ulysse" the code monkey script checks your fix by running all tests automatically - so
it is easy to see in advance if the fix is working or breaking the latest builds
This speeds up the integration process.
Expect more things to come ...
Join Smalltalk
Thats why I like the language: it easy, extendable and expressive:
';' join: #(1 2 3 4) returns '1;2;3;4'
and
String lf join: #('First line' 'Second line') returns
'First line
Second line'
';' join: #(1 2 3 4) returns '1;2;3;4'
and
String lf join: #('First line' 'Second line') returns
'First line
Second line'
Thursday, July 05, 2012
Monday, July 02, 2012
Braille keyboard support for Smalltalk
There is a new project for Braille keyboard support for Pharo
Lively Kernel at JSConf
Dan gave a presentation about the Lively Kernel (a Squeak Morphic inspired Live kernel written in JavaScript) at JSConf 2012. The video is now available.
Wednesday, June 27, 2012
Android Bindings for GNU Smalltalk
Stefan now has an Android Binding ready so you can use GNU Smalltalk to easily run ST applications on your Android device.
Monday, June 25, 2012
DyNagoya
Looks like more people start to play with client side Amber Smalltalk running on JavaScript.
Sunday, June 24, 2012
Programmed interactive sketch
With Smalltalk you can script your Dr. Geo Drawings as this video shows.
Friday, June 22, 2012
NeoCSV for Pharo
Sven also released NeoCSV - a reader and writer for the CSV format in Pharo. Documentation is here.
Wednesday, June 20, 2012
Alan Kay: Extracting energy from the Turing Tarpit
Webcasts from the ACM Turing event. One is a presentation from Alan Kay named "Extracting energy from the Turing Tarpet". Alan uses the Frank system (remember Frankenstein monster) which is based on Squeak Smalltalk. As ever a very interesting presentation. Hope to find the time to watch also the others.
If you want to find it on the page click into the playlist in the video and scroll down to Alans talk.
If you want to find it on the page click into the playlist in the video and scroll down to Alans talk.
Thursday, June 14, 2012
Softwarenaut
Softwarenaut is an interactive visualization tool for understanding software systems. It was originally written in VisualWorks.
Looks like it is also ported to Pharo.
Wednesday, June 13, 2012
GNU Smalltalk on Android
I already reported that Pharo/Squeak Smalltalk is able to run on Android using CogDroid project.
Hilaire used this to implement his DrGeo for Android which is available in the Google Market.
Now Stefan crosscompiled GNU Smalltalk to Android. A binding to Android APIs is still missing - but it basically runs. The source is on GitHub if you want to help.

Hilaire used this to implement his DrGeo for Android which is available in the Google Market.
Now Stefan crosscompiled GNU Smalltalk to Android. A binding to Android APIs is still missing - but it basically runs. The source is on GitHub if you want to help.

Fuel Smalltalk Serializer
Monday, June 11, 2012
Draft Chapter on Petit Parser for PBE2
The new draft chapter from Lukas on PetitParser for the upcoming "Pharo by Example" book is available online.
PetitParser for Smalltalk, Java and Dart
The Smalltalk PetitParser is now also available for Java and Dart.
Friday, June 08, 2012
Waterpool
Take care with the water on your desk. Otherwise this can happen to your Smalltalk browser. Code is here.
Wednesday, June 06, 2012
Deep into Smalltalk
The "deep into Smalltalk" school from ESUG is available online:
- the page
- the videos (youtube)
- the videos (for download)
- the slides
- the page
- the videos (youtube)
- the videos (for download)
- the slides
Tuesday, June 05, 2012
Aida Online Workshop
Smalltalk offers nice technologies for web development ranging from Seaside, Iliad up to Aida and other frameworks.
Between 18th and 22nd there will be an online workshop on how to create a website using Smalltalk with the Aida framework. Janko Mivsek (creator of the framework) will answer questions.
Between 18th and 22nd there will be an online workshop on how to create a website using Smalltalk with the Aida framework. Janko Mivsek (creator of the framework) will answer questions.
Voyage - persisting objects
Voyage is another approach in the Smalltalk/Pharo world to persist object models. It was written by Esteban Lorenzano, I think mainly with the goal to persist data from Pier (the CMS system) images.
You will find his slides from the Pharo 2012 conference here. Francois Stephany is a beta tester and is already blogging how to use Voyage in conjunction with MongoDB.
The code can be found in the Voyage project at smalltalkhub.
You will find his slides from the Pharo 2012 conference here. Francois Stephany is a beta tester and is already blogging how to use Voyage in conjunction with MongoDB.
The code can be found in the Voyage project at smalltalkhub.
Monday, June 04, 2012
Thursday, May 31, 2012
Amber in use at SmalltalkHub
http://smalltalkhub.com is not only a new website for Smalltalk. If you look at the bottom of the page you will notice that is based on Pharo, Seaside, MongoDB and also the client side Amber Smalltalk that helps running the nice looking pages.
If you have have Google Chrome just hit F12, go to the JavaScript console and evaluate:
"smalltalk.Browser._open()"
to open the Amber class browser. It is very nice to see the classes in Hub-Amber-... categories and I like how easy one can understand and encapsulate client side rendering.
Hope to find some time to dig deeper into Amber especially after Nicolas has some nice ideas to push Amber.
If you have have Google Chrome just hit F12, go to the JavaScript console and evaluate:
"smalltalk.Browser._open()"
to open the Amber class browser. It is very nice to see the classes in Hub-Amber-... categories and I like how easy one can understand and encapsulate client side rendering.
Hope to find some time to dig deeper into Amber especially after Nicolas has some nice ideas to push Amber.
CogVM Object format
Guillermo explains the details of the CogVM object format in a blog post. I already mentioned Marianos blog that should also help you digging deeper in virtual machine building and related technology.
Currently there is also a discussion about a new object format that Eliot want to introduce. If interested check out the vm-dev list.
Destroy all software (fun)
After watching this video I opened a Smalltalk image and tried things like "#() + #()" and the like.
Wednesday, May 30, 2012
Tuesday, May 29, 2012
Fuel Release Version 1.8 and graph visualizer
There is a new version 1.8 of Fuel available. The nice thing is that it now includes a visualizer based on Roassal.
This allows to easily debug Fuel.
Note that the repository is now moved to SqueakSource3
This allows to easily debug Fuel.
Note that the repository is now moved to SqueakSource3
Friday, May 25, 2012
Squeak on top of JavaScript Linux in the web browser
Exotic but possible: Squeak virtual machine now also runs on JSLinux using the mini.image. JSLinux is a x86 PC emulator written in JavaScript and running in a web browser.
Here is the video and announcement from Pavel.
I expect more and more emulators running on top of JavaScript. Maybe one day it is fast enough to load and run Windows or Ubuntu on top of the JS engine right within your pc/tablet/phones web browser. Interesting times...
Thursday, May 24, 2012
CodeMirror - Styling Seasides WABrowser
I wrote a simple seaside wrapper today for the CodeMirror JavaScript Editor, the code lives in
http://ss3.gemstone.com/ss/Seaside-CodeMirror
It was actually very easy to wrap due to the new WAFileMetadataLibrary facility allowing for nested folders in latest Seaside versions.
Since this editor includes also a "Smalltalk mode" you can also use the project in combination with a simple patch changeset for WABrowser to style your web served Seaside code browser/editor:
http://ss3.gemstone.com/ss/Seaside-CodeMirror
It was actually very easy to wrap due to the new WAFileMetadataLibrary facility allowing for nested folders in latest Seaside versions.
Since this editor includes also a "Smalltalk mode" you can also use the project in combination with a simple patch changeset for WABrowser to style your web served Seaside code browser/editor:
Wednesday, May 23, 2012
Oniguruma
Oniguruma is a regular expression library which is standard with Ruby 1.9. Now there is a binding for VisualWorks Smalltalk too.
LivelyKernel updates
LivelyKernel - ideas from Squeaks Morphic brought to the webbrowser using JavaScript.
Interesting demos:
- Lively Kernel on 3D cube
- SyncMorph
- Lively Kernel 2 - Connections example
- Morph Interaction on iPad (with details here)
Monday, May 21, 2012
Sunday, May 20, 2012
Roassal visualization engine
Roassal is a new agile visualization engine. With the project you can graphically render objects using short and expressive Smalltalk expressions. It is MIT licensed and free.
Tuesday, May 15, 2012
Wednesday, May 09, 2012
Tuesday, May 08, 2012
Timeouts in Smalltalk
Thats why I like Smalltalk (and Blocks) - powerfull and easy to understand:
[ self doSomething ]
valueWithin: 1 day
onTimeout: [ self doSomethingElse ].
[ self doSomething ]
valueWithin: 1 day
onTimeout: [ self doSomethingElse ].
Monday, May 07, 2012
STON - Smalltalk Object Notation
You may know JSON format from JavaScript - now Smalltalk has something similar. It is called STON - Smalltalk Object Notation and infos about it can be found here.
Subscribe to:
Posts (Atom)