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.

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.

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 ;)



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..

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.

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.


Wednesday, August 22, 2012

Bootstrap 2.1

Ahh ... Bootstrap 2.1. is out! Nice!

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.

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).

Thursday, August 02, 2012

dailyVM

The Pharo/Squeak VM Maintainers now have an own blog related to VM building an stuff.

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 ;)

Altitude webframework presentation

The "Altitude" webframework is presented by Colin Putney at the next Vancouver Smalltalk Developer Group meeting.

Smalltalk in the cloud

Old video (1 year ago) but nonetheless interesting.

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.

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.

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.

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.

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!

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.

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.

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 ...

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'

Amber news

Some Amber news from Göran. I'm very curious ...

Thursday, July 05, 2012

Monday, July 02, 2012

Wednesday, June 27, 2012

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.

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.




Fuel Smalltalk Serializer

Want to know more internal details about Fuel - the new Smalltalk object serializer written in Pharo? Then read this PDF.

TDD using BabyMock

Nice video on TDD (Test Driven Development) using BabyMock with Smalltalk.

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

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.



Smalltalk-80 on the iPhone

Here is a video on running the old ST-80 on the iPhone.

Magritte 3

Nice video on Magritte 3.

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.

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.

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.

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:
 

Wednesday, May 23, 2012

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 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 ].

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.