Tuesday, September 06, 2011

Online ProfStef on JTalk

ProfStef is a nice app to teach you Smalltalk. It is now ported from Pharo to JTalk (a Smalltalk running on JavaScript) too so it is available online now.

TextLint integration

TextLint is a tool to check scientific writing for common style errors written in Pharo Smalltalk. There is now an integration into Emacs and TextMate. There is also a web version available online.

Monday, September 05, 2011

VMMaker repo moved

Since squeaksource.com had several outages in the past the VMMaker package (the one you require to build the Squeak and Pharo virtual machine) has now moved to another squeaksource instance: http://source.squeak.org.

Read more.

CogDroid

You want to Test Cog virtual machine to run Pharo on Android devices. Try with the initial relase of CogDroid.

Wednesday, August 31, 2011

Heretic Smalltalk selectors

Smalltalk is different - and even after years I get rembered by discusssions from time to time how different it really is!
Smalltalk is a real dynamic object system (with the language just built in) and unique in the world of computing.

While a function/method name in a class has to be unique so it could be called - it usually is a Symbol. You know all these #foo, #bar, #negated, ...

In Java you may call it foo() or bar() or negated().

But in Smalltalk this selector could be ANY object. Yes, yes - this is not a typo.
It could be any object, just try it. For instance with the integer 1:

|selectorThatCouldBeAnObject existingMethod|
selectorThatCouldBeAnObject := 1.
existingMethod := EllipseMorph methodDict at: #heading.
EllipseMorph methodDict at: selectorThatCouldBeAnObject put: existingMethod.
EllipseMorph new perform: selectorThatCouldBeAnObject

So the message could even be the object that is receiving the message/itself as message:

| existingMethod receiver|
existingMethod := EllipseMorph methodDict at: #heading.
receiver := EllipseMorph new.
EllipseMorph methodDict at: receiver put: existingMethod.
receiver perform: receiver

Cool !!!

Alan Kay once said that "Smalltalk is object-oriented, but it should have been message oriented."
And as we now know a message is an object and an object could be a message. Mhhh - have to think more on this...

Tuesday, August 30, 2011

Tuesday, August 16, 2011

Dynatree for Seaside

I've wrapped the MIT licensed dynatree widget as part of the JQueryWidgetBox project. So if you need a tree in your web app just try it.

TSUG meeting

If you want to know more why Bombardier is using Pharo and Seaside then visit the next TSUG meeting in Toronto on Sep. 12th.

Friday, August 12, 2011

Tuesday, August 09, 2011

Small seaside image

Pavel created a small seaside image based on the small Pharo kernel image. So you could have a running seaside app in 4.3MB.

Java and late file dialog instantiation

Interesting: Java provides a JFileChooser to provide a file dialog for the
Swing UI framework. Typically I create objects when I need them - so
it was clear to me that I instantiate the class in this example only when
a button is clicked (most other examples on the web instantiate the dialog with the main window):



package foo;

import java.awt.BorderLayout;

public class TestWindow extends JFrame {

private JPanel contentPane;

public static void main(String[] args) {

EventQueue.invokeLater(new Runnable() {
public void run() {
try {
TestWindow frame = new TestWindow();
frame.setVisible(true);
} catch (Exception e) {
e.printStackTrace();
}
}
});
}

/**
* Create the frame.
*/
public TestWindow() {
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setBounds(100, 100, 450, 300);
contentPane = new JPanel();
contentPane.setBorder(new EmptyBorder(5, 5, 5, 5));
contentPane.setLayout(new BorderLayout(0, 0));
setContentPane(contentPane);

JButton btnOpenFileDialog = new JButton("Open file dialog");
btnOpenFileDialog.addActionListener(new ActionListener() {
public void actionPerformed(ActionEvent arg0) {
onClickedButton();
}
});
contentPane.add(btnOpenFileDialog, BorderLayout.CENTER);
}

protected void onClickedButton() {
JFileChooser fileChooser = new JFileChooser();
fileChooser.showOpenDialog(this); // open modal on main window
}
}



When you run this simple application within Eclipse, click the "Open" button and
close the file dialog via "Cancel" you will notice that an
exception will appear on stdout as soon as you close the main window:



Exception while removing reference: java.lang.InterruptedExceptionjava.lang.InterruptedException
at java.lang.Object.wait(Native Method)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at java.lang.ref.ReferenceQueue.remove(Unknown Source)
at sun.java2d.Disposer.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)


So the app is not closed correctly and error free.

And I found a workaround, the exception will not appear if you
create an instance of JFileDialog as early as possible in your app:



public static void main(String[] args) {
new JFileChooser();
...



Since it is not referenced this instance becomes directly a victim of
the next GC - but anyway creating an instance of JFileChooser right at the beginning seem
to trigger an initialization that is required to prevent the above problem.

Thought I would share this if others run into the same problem. Another possibility is to use a better system.

Airflowing goes live

Airflowing, a new seaside application isn’t invite-only anymore - so anyone is able to use their commercial service. Read more or try it out.

Monday, August 08, 2011

FSGit updated

FSGit got an update to the new Filesystem implementation. Read more.

Squeak in Jail

If you want to limit your seaside app (chrooted seaside instance) for security reason this may be
an old but interesting blog post to read.

Thursday, August 04, 2011

Smalltalk on JVM 2

An update: watch the video called "A Renaissance VM: One Platform, Many Languages" on this site from Oracle. Highly recommended if you are interested on Smalltalk and (J)VM's.

Smalltalk on JVM

Found Smalltalk mentioned in a Java 7 presentation from Oracle citing Mark Roos from Roos Instruments, Inc:

"“We were able to implement all of the Smalltalk constructs... using invokedynamic to execute Smalltalk code on the JVM. ...The ease of putting a true dynamic language on the JVM was a wonder in itself.”

Note that with JSR292 there is more support for dynamic languages on JVM.
Found a presentation about the "RTalk" project to run Smalltalk on JVM and there is work going on as this message from the open jdk mailinglist proves.

Even when it runs on JVM - I still expect it to be limited compared to a Smalltalk running on a Smalltalk VM. The future will show if I'm right.

Wednesday, August 03, 2011

Pharo by Example in Spanish

The book Pharo by Example is now translated into Spanish too.

OCR and Pharo

Gary Chambers (creator of the Polymorph UI framework for Pharo) is currently building an image capture, OCR and data processing system using Smalltalk and he provides a first screenshot.
His company Pinesoft is using Smalltalk a lot as you can read here. Nice!

Monday, August 01, 2011

ESUG Seaside sprint

VMware (formerly GemStone) is sponsoring the Seaside sprint after ESUG. Thanks!

Two new chapters for Pharo book

Stef shares two new chapters for the Pharo book. You can also find them here.
This time on floats and little numbers. Feel free to review and send comments to him.

Tuesday, July 19, 2011

PetitParser Tutorial

Tudor Girba published a tutorial on how to use the PetitParser as part of the moose book.

One ring to rule them all

Refactoring Browser, Packaging Software like Monticello and other Smalltalk tools mostly work on their own code/meta model. What about a unified model?

Veronica Uquillas is currently working on Ring - a unifying and foundational model
infrastructure for Pharo. The goals of the project are:

- Provide a common API at structural and runtime level
- Allow tools to interact and integrate directly with the host environment (Pharo)
- Support history analysis

You can find the code at squeaksource, there is also a continuos integration job
and the latest updates now try to integrate Ring. There is also a presentation available.

Monday, July 18, 2011

Binary Literals

Binary Literals - a new feature of Java 7.


So beside 0x... notation for hexadecimal you can now write 0b... for binary. What a step forward (for the Java community).

I still like Smalltalks base/radix notation since I can freely choose the base (binary, octal, decimal, ...)

2r10010010 
16rA000
...

Tuesday, July 05, 2011

LDAP and Seaside

If you want to integrate LDAP authentication into your seaside app then read charlies blog entry.

Wednesday, June 29, 2011

Flash 2 HTML5

Interesting tool to convert Flash to HTML5 from Google
http://swiffy.googlelabs.com/

Pharo Kernel reloaded

As you may know Pavel is working on Pharo Kernel - a small Smalltalk kernel that is stripped down from Pharo Core image. Meanwhile there is also a 3MB Pharo-Kernel-Gofer image available that has networking support and Gofer (a pharo installer to load packages) installed.

With this it is possible to reload back the various packages from Core image on top of the kernel image. By running the tests afterwards it is possible to check if anything is OK. So far the result is very promising and since all of this is automatically built using the continuous integration server it is possible to control changes and watch progress.

Really a great step in the modularization of Pharo Smalltalk images!


Monday, June 20, 2011

Moose Suite 4.5

There is a new Moose release available. Read more.

Humane assessment

Tudor has a new home for success stories of his humane assessment method based on Moose (which is based on Pharo). Read his announcement or visit the new page.

StOMP

Beside Fuel there is now also a second Pharo project for binary serialization available. It is called StOMP (Smalltalk Objects on MessagePack) and the code is running on Squeak, Pharo and VisualWorks. Read more.

Friday, June 17, 2011

Google vs. Oracle

Read about Oracle vs. Google. Maybe Google should have used Smalltalk instead of Java for Android. They were so close but blind.

Thursday, June 16, 2011

PDF Viewer in JavaScript

Interesting project to implement a PDF viewer in pure JavaScript and HTML. Cool!

Squeak Meeting in Germany

There is a meeting of Squeakers in germany in Potsdam on 23.07.2011. Two days before there is a presentation
from Alan Kay. Read more (in german)

Wednesday, June 08, 2011

Spoon mapped to WebDAV

In his Spoon project Craig maps Smalltalk to WebDAV, so he can use his favorite text editor to edit.

Google Analytics Tracker

If you build a seaside application like Nick did with getitmade.com then it may be usefull to get a quick overview of your page visits.

A small tool announced by Esteban can help you here. Just load it in a seaside image using the ConfigurationOfGoogleAnalyticsTracker.


Tuesday, June 07, 2011

TWM and multiple worlds

The tiling windows manager for Pharo (a usefull tool to control the many windows on your desk) now also supports multiple worlds. It's not the same as in Squeak where "World" means a separate storable/loadable project with own changesets - more in the sense of multiple desktops as you may know from usual operating systems.

There is a screenscast available to demo all the new features.

DBXTalk issue tracker

There is a new issue tracker for DBXTalk (the database framework for Pharo)

Monday, June 06, 2011

Glorp for Pharo

Guillermo Polito announced a new Glorp port for Pharo integrated with DBXTalk (the former SqueakDBX). So if you want to map you classes to a RDBMS schema and store your objects into database tables you should take a look. Note that Glorp is still LGPL but currently in the process to be MIT licensed.

Friday, June 03, 2011

CI tips for Smalltalk

Nick has some tips on Continuous integration using Jenkins and Smalltalk.

Cuis 3.3. released

Juan released Cuis 3.3. with more improvements. Read more.

More REST server

Need only a simple REST server on top of Pharo? Guillermo shows you an example with only KomHttpServer loaded and a custom service. No need for frameworks like Seaside.

However - as I noted back in march it is very easy to build a REST service if you use Seaside. So you can choose depending on your requirements...




ACM Student Research Competition and Smalltalk

Vanessa, a student at the University of Chile presented Hapao, a Pharo application at the ACM Student Research Competition (sponsored by Microsoft Research). Details here.

She arrived 2nd in the category undergraduate student. Congratulations!

Wednesday, June 01, 2011

Scratch port for Pharo

Looks like Scratch gets ported to Pharo: at least there is a project on Squeaksource. After loading and running "ScratchFrameMorph open" you get the basic UI of scratch. Nice.


Tuesday, May 31, 2011

SqueakSource3 Alpha Site online

Dale announced a new SqueakSource3 site. Note that this is for testing only and be aware that the repository will be refreshed at the end of the Alpha period.

Fuel in SandstoneDB

Ramon now included Fuel into SandstoneDB. Here is the comment from "SandstoneDb-RamonLeon.141.mcz":

Introduced a dependency on the Fuel serializer. You can load it first with...

Gofer new
squeaksource: 'Fuel';
package: 'ConfigurationOfFuel';
load.
((Smalltalk at: #ConfigurationOfFuel) project latestVersion) load: #(Core Tests Benchmarks).

It's smoking fast compared to SmartRefStreams. A 200 object commit with SmartRefStream on test machine takes around 2.2 seconds, .41 seconds with Fuel.

Passes all tests. SmartRefStream is still the default for now so loading this won't change anything or corrupt existing databases. To set fuel as the default serializer evaluate...

SDFileStore serializer: SDFuelSerializer new.

This will of course invalidate any existing db based on SmartRefStreams. To migrate, simply resave all of your objects. This would require grabbing all objects first into some temp arrays, changing the serializer, then calling save on all objects.

So startup Pharo and try it out.

Modern UIs

Just read an article about the Language Workbench Competition 2011. There the MetaEdit+ tool was demonstrated and highly praised. According to this article by Cincom the tool is implemented using Cincom Smalltalk. Looks like the tool really rocks:

Steven Kelly demonstrated the MetaEdit+ implementation of the assignment. In fact, he implemented most of the assignment from scratch during his demonstration! Very impressive and the only one who did it this way. For me, this shows the productivity and ease of use of MetaEdit+.

But yet again someone complained about the old-style UI:

The main comment on twitter about MetaEdit+ was that its UI looks a bit old-fashioned. That's of course a matter of taste, but their next version (5.0 - to be released soon) will have a new, Windows 7 looking UI.

So the next version will have a Windows7 UI. CST catches up with current trends - good.

But the question to me still is what is next step in UI development? Is it really worth to following UI design of the native platform.

Or should we focus on the nice things that can be done in browsers and other rich clients today? Or should we focus on 3D Smalltalk?

If I look at all these new devices and apps then I think an application that looks "modern" should at least support graphics and animation. Mhhh ... time to look at morphic again?

What is the (Smalltalk) application with the most "fashionable" UI?

Friday, May 27, 2011

More notes on JavaFX2.0

Oracle did a really good job on JavaFX 2.0 - there is now a webbrowser component included (based on WebKit). This is very usefull since you can implement a part of your application in HTML/JavaScript. This brings RichClient apps and WebApps closer together.

Think of a rich client app where you want to display a google map or use a jquery library to display charts, integrate sites like facebook, google, ...
You can decide if you implement/reuse a widget/webapp in HTML or implement it in Java(FX).

It is even possible to call JavaScript embedded in the displayed website or handle events from the website (get a callback from JavaScript). Note that WebKit already supports HTML5.

I remember an example in Smalltalk/MT where it was possible to get a callback into Smalltalk on events generated from the scripting engine in Internet Explorer. So a Smalltalk window was able to display a webpage by embedding IE and when you clicked in the webpage you could handle this in your Smalltalk app.
But it was only possible with deep knowledge of IE and its COM interfaces.

JavaFX also provides Swing Interoperability - so you can use existing Swing widgets or integrate a JavaFX stage/scene into your Swing app. You can also style your app using CSS similar to a webpage. You can run a JavaFX app easily as applet, webstart or local application. It is very deployment friendly and you can even develop apps that run on a TV. Let's see if it will also have a future on mobile devices/platforms. Yes - JavaFX is really nice and opens new opportunities.

But still ... with Java you have the compile-run-check cycle and you waste a lot of your development time compared to more productive languages like Smalltalk where you dynamically interact with objects and code. Maybe all these nice UI features like CSS skinning, embedded web browser, animation framework, visual effects ... should be added to platforms like Squeak or Pharo too ;)

Thursday, May 26, 2011

JavaFX Beta

Tried the new JavaFX beta 2.0 ... looks good so far. Some small graphic errors on my machine ... but could be nice to build visually attractive rich client apps.

Lets see how easy it will be to use Java now instead of the former JavaFX scripting language...

Learning EToys

Want to learn about the eToys system in Squeak. There are nice screencasts available on the Waveplace website.

Wednesday, May 25, 2011

On top of ...

As I said in my post on JTalk it is very easy to run the Rhino JavaScript Engine from Java and therefore should be easy to load JTalk to run this Smalltalk implementation on the JVM.

Stefan picked up the idea and tried it with the following snippet:


ScriptEngineManager factory = new ScriptEngineManager();
ScriptEngine engine = factory.getEngineByName("JavaScript");
engine.eval("var CanvasRenderingContext2D = false;");
engine.eval(new java.io.FileReader("jtalk.js"));
engine.eval(new java.io.FileReader("init.js"));
engine.eval("println(smalltalk.Date._today())");


He did more experiments to make sure calling Java-Classes from JTalk-Smalltalk is possible too.

Today Stefan left a comment on my blog post on "JTalk and JSTalk". He announced that the execution of smalltalk-code on the server-side via Rhino is possible. Details on the remote runner and how you can save your Smalltalk Code to a DB can be found on his blog.

So given enough time (and money) it should be possible to build a Smalltalk IDE using Javas Swing UI library or a Seaside server running on top of Glassfish/JBoss/WebSphere/Weblogic/Geronimo/... app servers, ...

I still doubt that performance would be good. It would make more sense to run it on Googles new Native client.

However - JTalk on Rhino is a nice way to experiment with Smalltalk on top of JavaScript on top of JVM on top of...

Background Changer

Daniel Galdames G. created a background changer for Pharo. Just evaluate


Gofer new
url: 'http://lemuus.homelinux.org/lemuus/BackgroundChanger';
package: 'BackgroundChanger';
load.


World menu->System->Change Background

Now select a directory with images. Nice.

Dr. Geo Release 11.06

There is a new release of Dr.Geo - an app built with Pharo Smalltalk.

Need Fuel

Fuel - a new project to implement binary object serialization for Pharo is part of the ESUG SummerTalk. It's work in progress but already usable, there is a ConfigurationOfFuel metacello config to easily load it.

Read about the details here or on the project website. The Source code can be found on squeaksource.com, there is also an issue tracker. According to the benchmarks its faster than SmartRefStream.

It is very easy to serialize and materialize (deserialize) an object, you can store blocks (that get evaluated when loaded again) and Fuel takes care to keep global instances like Transcript.


| sourceArray loadedArray |
sourceArray := Array
with: 'HelloWorld'
with: Transcript
with: [ Transcript show: 'a string' ].
"Store to the file"
FLSerializer serialize: sourceArray toFileNamed: 'example.fl'.
"Load from the file"
loadedArray := FLMaterializer materializeFromFileNamed: 'example.fl'.

Sunday, May 22, 2011

Friday, May 20, 2011

EyeSee

Need some easy visualizations in your application written in Pharo?
Then check out EyeSee:

Gofer it
squeaksource: 'EyeSee';
package: 'ConfigurationOfEyeSee';
load.
(Smalltalk at: #ConfigurationOfEyeSee) loadDefault

It is easy to create diagrams with it. Check out the examples in class "ESExamples".

I tried it in Pharo 1.2 - some examples were broken since the class Circle was removed. This is currently discussed on pharo-list. However - it's easy to fix.

Next time I need some visualizations I use Pharo instead of Excel ;)

News on JRockit

JRockit (a fast JavaVM similar to Hotspot) is now free and available on Oracles Tech net. Nice!

Tuesday, May 17, 2011

SmallHarbour project

With the support of ESUG there is a new ESUG SummerTalk 2011 project called SmallHarbour. It wants to provide a simple platform to host smalltalk web applications (similar to seasidehosting.st but also for commercial projects.

Read the announcement here and follow progress at www.smallharbour.org.

DabbleDB shuts down

The Dabble DB service shuts down on May 18, 2011
Time to rescue your data...

Moose Suite 4.4 is out

Tudor announced the new Moose Suite in version 4.4. Read more.

Tuesday, May 10, 2011

Monday, May 09, 2011

Nautilus Preview

Nautilus is a new implementation of a Smalltalk browser for Pharo with support for groups, packages (using the new RPackage stuff from Pharo task force), declarative menus, ...

You try it in the latest update of Pharo core 1.3 image. Read here.

JQueryWidgetBox ported to VA

Looks like Sebastian Heidbrink ported the JQueryWidgetBox project for Seaside to VA Smalltalk and uploaded it to VASTGoodies.com.

I started the JQueryWidgetBox project in November 2009 and meanwhile various people contributed wrappers for seaside widgets to it.

Code is MIT, initially I thought about a different license model: everytime one uses the project in a production environment a new widget has to be contributed back to the project. ;)

There are so many good jquery plugins available that could be wrapped for seaside and make the web apps look much nicer. Feel free to help.

I hope that this new port will also help the project to grow...

Thursday, May 05, 2011

Squeak forks

Pharo once forked from Squeak ... some people were happy, others angry. And there were IMHO unnecessary posts like this. However - Squeak is still alive and growing. As well as any of its forks.

Pharo and Squeak play nicely next to each other and both communities not only share history and virtual machine but also members and code/fixes.

Pharo took away the pressure from Squeak to be more like other Smalltalk IDEs. Squeak could continue to be the media and etoy Smalltalk. It's still the best environment to experiment with computing ideas.

And we can now use Pharo to introduce business people to (open source) Smalltalk as these two new indendent posts again prove: read here and here.

So IMHO I think it was a good step, especially since other forks like Cuis started to explorer new areas too. There are also other nice forks like the Squeak NOS project or the Croquet/OpenCobalt story with Krestianstvo and the new OpenQwaq. Cool!

I started with Squeak in version 1.0, right after Andreas created a VM port for Windows and helped to move it forward with code and words. Currently I concentrate on Pharo, otherwise I would be lost in all these nice projects. But I follow all the Squeak forks very closely.

It is really exciting to see all these different faces of Squeak and Smalltalk in general.

Wednesday, May 04, 2011

Squeak VM port to Google Native Client

Yoshiki Ohshima started a Squeak VM port to Google Native Client.
If you work with latest beta of Googles Chrome browser you can try it yourself.

Native client is a technology where native code (subset of Intel x86) could be run from a web browser within a sandbox.

PHANtom - aspect language for Pharo

A modern aspect language for Pharo was announced today.

Tuesday, May 03, 2011

DNU in JTalk

JTalk now handles #doesNotUnderstand:

OpenQwaq available

Teleplace today announced OpenQwaq, a major open source initiative for collaboration based on Squeak Smalltalk. To quote:


The OpenQwaq project is based on the commercial software that Teleplace has been delivering to the market over the past four years. It is a highly-secure, enterprise-class virtual collaboration platform that has been used by large commercial enterprises and federal agencies. The OpenQwaq project enables organizations - large and small, profit and not-for-profit - to implement virtual workspaces for their specific needs.


OpenQwaq is released under the GPL v2 license and is available for download immediately at http://code.google.com/p/openqwaq

Some more infos here and here.

Thursday, April 28, 2011

Squeakfest 2011

The 8th Annual Squeakfest will be held from May, 26 - May, 28 2011 at Universidad Católica in Montevideo, Uruguay. See

http://squeakfest.org

The theme for this year's conference will be "How and why to use Etoys in the education".

Wednesday, April 27, 2011

Tuesday, April 26, 2011

Scratch Day worldwide

May 21st 2011 is Scratch Day worldwide, see http://day.scratch.mit.edu

Scratch is is very nice very visual language in order to do animation and control also embedded systems. It is written in Squeak Smalltalk.

No time ...

Just read a blog post from Joachim on Checking of Runtime Dependencies. This article points to an article by Sebastian Kübeck which has interesting definition of the "I Don't have Time for That Developer". To quote:


I am sure you know those developers who respond to all suggestions for improving their situation with the same answer: "I don't have time for that". In the past, I called them hard-working developers and I even admired them a little for their patience with which they stumble over the same problems over and over again. In the meantime, I lost that admiration and I see those folks as what they really are: People that act like dogs who are busy chasing their own tails...


I think that is the reason why I like Smalltalk so much ... you can constantly improve your situation as a developer by improving anything within the system: starting from the language, the tools up to config management and deployment very easily.

SqueakSource3 Beta.1 "Easter Fire"

Tobias Pape announced SqueakSource3 Beta.1 called "Easter Fire" - a port of SqueakSource to Seaside 3 and Magritte 2. SqueakSource is a monticello code repository server which hosts your Smalltalk projects.

The SqueakSource3 code is based on the original SqueakSource source code which is used to run squeaksource.com

You can simply load it into Gemstone, Squeak or Pharo using the provided ConfigurationOfSqueakSource. You should load Seaside 3.0 first.

I tested it on latest Pharo 1.2.1:

Gofer new
squeaksource: 'MetacelloRepository';
package: 'ConfigurationOfSeaside30';
load.

((Smalltalk at: #ConfigurationOfSeaside30) project latestVersion) load.

Gofer new
squeaksource: 'MetacelloRepository';
package: 'ConfigurationOfSqueakSource';
load.

((Smalltalk at: #ConfigurationOfSqueakSource) project version: #easterFire) load.


Then start a new seaside adaptor (for instance comanche) using the seaside control panel (available from the world menu) and point your browser to http://localhost:8080/installSS

If you accept the default parameters there you should have a new instance running on http://localhost:8080/ss

Pharo web documentation tool

Camillo Bruni worked a bit on a pharo web documentation tool using Seaside. It's a derivate of ruby's yardoc.

You can download a test image and try it yourself.

Glamour chapter updated

The chapter on "Glamour" was updated in the Moose book. So if you want to use this framework to easily build browsers then go and have a look.

Wednesday, April 20, 2011

Smalltalk Hub

A first public demo for Smalltalk Hub is now available online, only use it for testing purposes. In the future this could be a nice replacement for Squeaksource.

Read the announcement.

It was written by ObjectFusion using the Iliad web framework and still a work in progress. The project is sponsored by ESUG.

Some of the features:
- works with Monticello files similar to squeaksource
- cool code browser and syntax highlighting for code
- includes issue tracking out of the box
- ...

But many things are missing:
- security
- ssh
- client-side scripting features
- ...

So far it is an alpha demo - although a very promising one.

Squeak for Android news

Dimitry Golubovsky has reached another milestone on the Squeak Port for Android Tablets. Read more in his announcement or on the test drive page.

Thursday, April 14, 2011

Cuis 3.2. available

Juan released Cuis 3.2. with an enhanced Look and feel.
This integration should also make it easier for Squeak and
Pharo to integrate SimpleMorphic.

Saturday, April 09, 2011

Yesplan

At ESUG 2010 there was a presentation about Next Generation Event Planning in Seaside.

The product Yesplan - the event planning software written in Seaside by Inceptive.be now has a website: http://www.yesplan.be

Wednesday, April 06, 2011

Pharo 1.2.1. is out

We (the Pharo Project community) published another milestone - so Pharo 1.2.1. is out and available. The update number is #12345 (crazy number I know!)

You can get all the details about the release here. We have an impressive number of tests ( 7836 Unit-Tests for core, 10760 Tests for the Pharo 1.2 dev image), new tools and a new UI theme. And the system gets cleaner and cleaner!

If you want to try yourself:
- download the one click distribution (multiplatform, 26MB)
- download the image from the CI server
- or in case you are using Windows grab the installer that I just released (Win32, 13MB), including the fast CogVM

Short tip: you can easily load and run Seaside 3.0.31, the included developer workspace will tell you.

SmalltalkHub

SmalltalkHub a new project hosting application for Smalltalk and Monticello projects is going beta in a week. The project is sponsered by ESUG.

Today Nicolas published an early preview screenshot. Read more.

Metacello chapter updated

Stéphane updated the chapter on how to use Metacello package configuration system for Pharo. Click here for the PDF.

Tuesday, April 05, 2011

Monday, April 04, 2011

Car tracking in Smalltalk

Sven Van Caekenberghe reports about a new application "T3 Easy" (a track & trace product). It's an HTML5 web app (using client side HTML + Javascript + CSS) on top of a REST server written in Pharo Smalltalk. It consists of 4 stateless Pharo Cog VM's running behind an Apache load balancer.

The server uses Zinc HTTP Components, both for its server part, as well as for clients talking to other systems behind the scenes. Even the Open Street Map tile serving, which is pushing out many megabytes, is currently going through this server.

There is a live demo and a few classes are available as open source (IP to country mapping, ...)

April

Nice april fool: Oracle sues Starbucks over Java trademark. ;)

April Pharo Sprint in Brussels

Johan Brichau and Andy Kellens are organizing a Pharo sprint at Brussels Friday 15th of April. Get the details here.