Thursday, March 31, 2011
Mariano is blogging too
Mariano Martinez Peck now also has a blog and starts with a journey through the Virtual machine.
Wednesday, March 30, 2011
Syntax Highlighting for Smalltalk
Smalltalk environments like Pharo include syntax highlighting as any other modern IDE. And if you want to write something about Smalltalk on the web you can use Daan van Berkels work to style your Smalltalk code via JavaScript.
Seaside REST
The Seaside REST interface got an update for better matches.
Doing REST in Seaside is simple - just use pragmas.
Doing REST in Seaside is simple - just use pragmas.
Friday, March 25, 2011
PocketCube Solver in Pharo
HwaJong Oh implemented a PocketCube Solver in Pharo.
Read his announcement here or watch a video here. Code is available on this squeaksource project.
Read his announcement here or watch a video here. Code is available on this squeaksource project.
DesignBlocks - Scratch in the webbrowser
I already reported about Scratch (which is written in Squeak Smalltalk). In this app you can use building blocks to form small scripts and provide interaction on the screen. Looks like this concept is now also ported over to JavaScript - check out the DesignBlocks beta site.
Morphic in JavaScript
Jens Möning ported Morphic (the UI framework used in Squeak and Pharo) over to JavaScript. It also runs nicely on the iPad as this videos proves.
You can try morphic.js in your webbrowser or read the programmers guide.
So beside the LivelyKernel from Dan that is the second morphic like environment in the web browser...
Another nice example that dynamic languages are on the rise. Especially with the new "canvas" tag JavaScript can be used more and more to reimplement existing or create new rich client applications. Have a look at CanvasPaint (a clone of MSPaint in JavaScript) and you know what I'm talking about.
You can try morphic.js in your webbrowser or read the programmers guide.
So beside the LivelyKernel from Dan that is the second morphic like environment in the web browser...
Another nice example that dynamic languages are on the rise. Especially with the new "canvas" tag JavaScript can be used more and more to reimplement existing or create new rich client applications. Have a look at CanvasPaint (a clone of MSPaint in JavaScript) and you know what I'm talking about.
Wednesday, March 23, 2011
Progress on VM side ...
New Cog VM version from Eliot.
The Cog virtual machine for Pharo and Squeak now also has a project home at http://code.google.com/p/cog/.
And Igor is working on automated hudson builds for the VM (see docu and first results).
The Cog virtual machine for Pharo and Squeak now also has a project home at http://code.google.com/p/cog/.
And Igor is working on automated hudson builds for the VM (see docu and first results).
Monday, March 21, 2011
Friday, March 18, 2011
SqueakDBX 1.3 and DBXTalk
SqueakDBX 1.3 is released. This is the last release with this name.
In the future the project is called DBXTalk.
In the future the project is called DBXTalk.
Wednesday, March 16, 2011
Pharo at Universities
Esteban now started teaching Pharo at San Martin University Buenos Aires Province.
JTalk and JSTalk
When I first heard about JTalk (Smalltalk on JavaScript in a browser) I immediately thought about using it to run a Smalltalk not only on JavaScript but also on the java virtual machine (by using JavaScript as a vehicle and Rhino from Mozilla as the engine to run it).
I played with Rhino in the past ... it's a simple JAR you can use to integrate JavaScript into Java applications and since JTalk is only a few kB in size it should be easy to bootstrap a Smalltalk on top of JavaScript on top of Rhino on top of JVM ...
Performance would be bad ... but it would be fun.
Looks like Thiago Silva already had a similar idea - not really like a Smalltalk, but with similar tools like Smalltalk (like class browser) to ease JavaScript development. This one is called JSTalk (hence the additional name) and can be found here.
I played with Rhino in the past ... it's a simple JAR you can use to integrate JavaScript into Java applications and since JTalk is only a few kB in size it should be easy to bootstrap a Smalltalk on top of JavaScript on top of Rhino on top of JVM ...
Performance would be bad ... but it would be fun.
Looks like Thiago Silva already had a similar idea - not really like a Smalltalk, but with similar tools like Smalltalk (like class browser) to ease JavaScript development. This one is called JSTalk (hence the additional name) and can be found here.
Use Smalltalk for the next startup
Did I mention that Diego Lont and Stephan Eggermont participated in Startup Weekend Eindhoven. The combination of Seaside on Pharo made it possible they were honored by the jury with the innovation price (Most Innovative Business Case).
Read more here.
So you should really think about using Smalltalk for your next startup!
Read more here.
So you should really think about using Smalltalk for your next startup!
Tuesday, March 15, 2011
Riak Interface for Pharo Smalltalk
Runar Jordahl implemented a Riak Interface for Pharo Smalltalk. Why is this interesting, you may ask.
Riak is a scalable database (written in Erlang, C and a little bit of JavaScript) that is being used in production by companies like Mozilla and Comcast. It is based on Amazons Dynamo using key-value storage (bucket-keys to be exact). It has peer-to-peer replication without a specific master - this allows for a fault-tolerant system.
Runars Interface runs in Pharo 1.1., uses the ZincHTTP components and is currently in beta. Check out the included test case "EpigentRiakRestConnectionTest" to see how easy you can use it.
You have to set up a riak running at "http://riaktest:8098/riak" if you want to try.
I hope to find the time to play with this a little bit more.
Riak is a scalable database (written in Erlang, C and a little bit of JavaScript) that is being used in production by companies like Mozilla and Comcast. It is based on Amazons Dynamo using key-value storage (bucket-keys to be exact). It has peer-to-peer replication without a specific master - this allows for a fault-tolerant system.
Runars Interface runs in Pharo 1.1., uses the ZincHTTP components and is currently in beta. Check out the included test case "EpigentRiakRestConnectionTest" to see how easy you can use it.
You have to set up a riak running at "http://riaktest:8098/riak" if you want to try.
I hope to find the time to play with this a little bit more.
SandCastle Themes for Pharo 1.2
Patrick Barroca announced two additional themes for Pharo 1.2. You can download them from Squeaksource.
Monday, March 14, 2011
JTalk - Smalltalk on JavaScript
Jtalk is an implementation of the Smalltalk language that runs on top of the JavaScript runtime. It was announced today by Nicolas Petton.
Some features:
- it is written in itself (including the parser/compiler)
- it is self-contained
- it compiles into efficient JS code
- it uses the Squeak chunk format
- Pharo is considered as the reference implementation
Some features:
- it is written in itself (including the parser/compiler)
- it is self-contained
- it compiles into efficient JS code
- it uses the Squeak chunk format
- Pharo is considered as the reference implementation
SqueakNOS updates
Looks like Squeak NOS (No operating system) will soon get an update. One of the coolest project I've seen ... booting a Smalltalk system without an operating system. Have to try out as soon as it is available.
Pharo Core 1.1.2 release and Pharo Core 1.2 in preparation
Friday, March 11, 2011
Monday, March 07, 2011
Java 7
With the introduction of a few "simplifications" in Java 7 I expected exactly this kind of discussion when I first heard about the new diamond operator. Java may end up as a degenerated C++ variant...
So why not switch to something much simpler right from the beginning and care about real world problems.
So why not switch to something much simpler right from the beginning and care about real world problems.
Tron inspired by Smalltalk?
Do you know Tron - the movie. Sure. But how is this related to Smalltalk?
The script was written by Bonnie MacBird and according to this page her script for Tron is loosely based on the work of her spouse Alan Kay (Dynabook, Smalltalk, Vivarium). Didnt know that until today...
The script was written by Bonnie MacBird and according to this page her script for Tron is loosely based on the work of her spouse Alan Kay (Dynabook, Smalltalk, Vivarium). Didnt know that until today...
Smalltalk on AVM2
Alchemy is a research project from Adobe that allows users to compile C and C++ code that is targeted to run on the open source ActionScript Virtual Machine (AVM2).
Interesting enough Alexandre Jasmin is working compiling the Squeak VM with Adobe Alchemy - this would allow Smalltalk to run on the Flash VM. Interesting ...
Here are some more notes on this.
Interesting enough Alexandre Jasmin is working compiling the Squeak VM with Adobe Alchemy - this would allow Smalltalk to run on the Flash VM. Interesting ...
Here are some more notes on this.
SqueakDBX news
SqueakDBX is a nice interface for accessing relation databases from Smalltalk. It is now once again supported by ESUG. Next steps will be an updated name (since it also works for other Squeak forks like Pharo) and an updated Glorp version (OO to RDBMS mapping layer).
Panu Suominen now also announced a project for simple object pooling that you can use to pool database connections for SqueakDBX.
Panu Suominen now also announced a project for simple object pooling that you can use to pool database connections for SqueakDBX.
Cuis 3.1 is available
Cuis 3.1. is available from Juan. It is faster regarding UI performance and has support for MCZ files (Monticello).
Juan also made a small 2MB image available that is based on Cuis 3.1.
Juan also made a small 2MB image available that is based on Cuis 3.1.
SIXX updated
SIXX (Smalltalk Instance eXchange in XML) was updated to work on Pharo 1.2 and Squeak 4.2. SIXX allows you to exchange nets of Smalltalk objects between various Smalltalks.
Sunday, March 06, 2011
Birth of a Smalltalk image
A Smalltalk image is a file where all the objects are persisted (similar to an OO-database). You can at any point in time save the state of your object world to continue later - for instance continue debugging a problem the next day. The image concept is often confusing for people who are used to building a program by compiling source files to a binary.
An image is typically maintained over years - and it is possible that some of the objects within a smalltalk image live there since Smalltalk-80.
An image can grow in size over time and sometimes one starts to load code/objects into a smaller one to create a new clean image file for daily work.
At Pharo-Project we currently have a PharoCore image that is cleaned up day by day and that is used to build the Pharo-dev ("Pharo") Smalltalk distribution. Pavel also worked on a much smaller kernel (Pharo Kernel project) by throwing out more classes. I already reported about his work.
However - all these were built by stripping an existing image.
Benjamin (with the help of Igor) now created a new Smalltalk kernel ("Hazel") based on Pharo. The new born weight 2.2Mb and includes 230 classes. It is just beeping to prove that the image is living. Read about it here. Congratulations to the new born ...
Combined with more VM support in the future this will allow for small kernel images that provide textual interactivity (replace your bash with Smalltalk scripts, ...) or small webserver images, etc.
Due to the reduced size these images have less tool support (no IDE as you will find in any typical Smalltalk image) - so it will become important to reactivate the InterpreterSimulator project. With this small tool you can run a Smalltalk image within a Smalltalk image and trace the processing. Pavel already started to work on this. Interesting ...
An image is typically maintained over years - and it is possible that some of the objects within a smalltalk image live there since Smalltalk-80.
An image can grow in size over time and sometimes one starts to load code/objects into a smaller one to create a new clean image file for daily work.
At Pharo-Project we currently have a PharoCore image that is cleaned up day by day and that is used to build the Pharo-dev ("Pharo") Smalltalk distribution. Pavel also worked on a much smaller kernel (Pharo Kernel project) by throwing out more classes. I already reported about his work.
However - all these were built by stripping an existing image.
Benjamin (with the help of Igor) now created a new Smalltalk kernel ("Hazel") based on Pharo. The new born weight 2.2Mb and includes 230 classes. It is just beeping to prove that the image is living. Read about it here. Congratulations to the new born ...
Combined with more VM support in the future this will allow for small kernel images that provide textual interactivity (replace your bash with Smalltalk scripts, ...) or small webserver images, etc.
Due to the reduced size these images have less tool support (no IDE as you will find in any typical Smalltalk image) - so it will become important to reactivate the InterpreterSimulator project. With this small tool you can run a Smalltalk image within a Smalltalk image and trace the processing. Pavel already started to work on this. Interesting ...