Tuesday, March 31, 2015

Canadian Smalltalk Programming Competition

I'm working with the Smalltalk Renaissance Program to run a Smalltalk coding competition to start in January 2016.  The competition is open to high school students across Canada with prizes of university scholarships we're calling the "James Robertson Memorial Scholarships".

The competition itself will run over 10 weeks in 5 rounds.  The challenge is to write a program to play a game we devise (details to be provided later).  At the end of each round, we produce a video of the top 30 scoring programs.  For the next round, we throw in a twist to the game.  The scholarships are awarded based on the scores of the final round.

This competition will be a lot of fun to play and to follow.  All materials and videos produced will be available for anyone to download.  Only student teams can actually compete.

We will be producing introductory videos to get the students familiar with Smalltalk, the development environment and the starting code we provide.

For this to work, we need the funding for the scholarships so we're running a Kickstarter project.  Come join us to help make this competition a success.


Friday, November 14, 2014

Pharo Days 2015

Torsten Bergmann has announced Pharo Days 2015 to be held January 29 and 30, 2015 in Lille France. Here's part of his announcement:

Start the year in the right spirit by joining the Pharo community for the Pharo Days 2015 on Thursday January 29 and Friday January 30 at INRIA, Lille, France. Meet your online colleagues, programmers and hackers in real life and experience how much you can pick up in just two days. Learn about key technologies, talk to core developers and other users, pair program and contribute to Pharo. Have fun and enjoy yourself.
It sounds like fun.  Check it out.


Essence# in InfoQ

There's a great interview in InfoQ with Alan Lovejoy - the author of Essence#.  Essence# is Alan's ANSI-compliant Smalltalk running on .NET.  Check it out.

Thanks to Peter William Lount for the pointer.

Thursday, November 13, 2014

Instantiations releases VA Smalltalk 8.6.1

Instantiations has released VA Smalltalk version 8.6.1.  New features include real-time code analytics. enhanced refactoring support, SQLite3 support and zip/gz support plus enhancements to Linux and Seaside.  Check it out:

VA Smalltalk 8.6.1

Cincom releases VisualWorks 8.0 and ObjectStudio 8.6

Cincom has released VisualWorks 8.0 and ObjectStudio 8.6.  This new version has dramatic new changes to the user interface including Text2, a new source code editor and UISkinning.  The changes are very exciting.  Check it out at the links below.


Monday, September 22, 2014

OpenGL ES from Smalltalk on Android

Well, here's my first rendering of an OpenGL scene from Smalltalk on the Android:

It's your standard plain colored triangle on a plain background - so shoot me.  But this image was generated by calling OpenGL primitives from my Smalltalk VM on an Android device, so it's pretty special.

I've talked about this Smalltalk before here.  Here's the current status.  I have all of the same bytecodes as VisualWorks implemented with the exception of the bytecode for thisContext. This allows me to use the VisualWorks compiler for free.

My source code is kept in a Store package in a separate namespace.  To run the code, I package all the classes and methods from that package into an image file in my own format - the Android image isn't compatible with a standard VW image.  This image is added as an asset in an Android project and sent along with a .so shared object library for the VM where it runs on the Android.

There's no Java code in the project at all.  I'm using a native activity in C and I've merged the Android event loop into the Smalltalk interpreter loop.  This allows me to handle events from the Android although I currently don't have code for that.

For debugging purposes, I can package a development image.  On startup, this image connects by a socket connection to a VW application which I wrote to provide low-level debugging and stepping instructions.

The system is still in its infancy.  There are still lots of things to develop like the garbage collector and most of the class library.  I have some basic operations but there's a lot of work needed to build up the library.  So far I don't have large integers although that's in the works.  I do support Float and Double and these classes are being used to help build the OpenGL image above.

I'll be demoing this system at Camp Smalltalk in Vancouver.  I'd be happy to answer questions about it.  It still needs a lot of work, but it's starting to produce real results.

Saturday, September 13, 2014

Camp Smalltalk in Nanaimo

Everything's booked.  My wife and I are heading to Nanaimo BC on October 3, 2014 to attend Camp Smalltalk.  I'll be demonstrating the mobile Smalltalk I'm developing - it will be a work in progress.  I may also be involved in a "Intro to Smalltalk" presentation there.  I'm heading back to Ottawa on October 6th.

If you're interested in attending, you can check out this link: