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.
Thursday, May 31, 2012
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.