. .

stic12

VA Smalltalk Update

March 20, 2012 16:13:18.520

After a bit of a fight between John O'Keefe's laptop and the projector, we're on to a VA Smalltalk update. Lots of news on the website - new forum, and a videos/podcasts page.

Version 8.5.1 just came out this month - and based on Seth's earlier talk, there's some really cool stuff in it. The highlights of the new stuff:

  • Code Completion
  • SUnit update - support for "expected failures"
  • Log4s (Logging Framework based on Log4j) (updated with asymch support)
  • Updated to a new preference setting framework. They plan to move most or all things to that over time - uses a standard .ini file format (key/value pairs)
  • Marking code as deprecated via a new exception - you get the error, but you can handle it
  • Support for mapping logical names of external libraries to real names via an external ini file - allows non-Smalltalk changes in platform to be migrated to easily
  • Updated VA to support the latest Windows updates to the progress bar control
  • Added support for date/time controls
  • Support for HTTP chunked transfer encoding
  • Improvements in support for SST, GLORP, and validate on Fedora Core, OpenSUSE, and Ubuntu 11
  • Lots of bug fixes

Still doing two releases a year - next one planned for 3rd quarter 2012

Possible futures - full unicode, Seaside 3.x, continuations, multipart form support, WS* updates, validating XML parsing, GTK+ 2.x on Linux, more Windows controls, better icon support, more dev tool work. They have a Monticello importer done.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

stic12

Build Talk Done

March 20, 2012 15:22:15.303

I think my talk was pretty well received - it went well, and my slides will be posted on the site soon. I'd do it now, but the slides are over on my work laptop :)

Technorati Tags:

posted by James Robertson

 Share Tweet This

stic12

Gemstone Futures

March 20, 2012 10:59:32.362

Norm Green is explaining what's going on with Gemstone - 2.4.5.1 is the next (minor) release, with all of the big stuff happening in the 3.x version stream (which is where all future work is happening). It has a JIT, an FFI interface (obviating the need to hook in at a low C level). Martin McClure presented that at last year's ESUG. I'd provide a link, but I can't find it in the playlist.

Gemstone is now multi-threaded, and each thread (OS thread) uses a GS session. You get a fair bit of control over how aggressive you want that to be.

Smalltalk changes - arrays are constructed (runtime) with curly braces, in line with Pharo (and VW with extensions). ANSI exceptions now standard, old stuff deprecated.

There's a few metaclass level changes due to MagLev work - should be transparent. The upgrade should be easier than the last few, but Smalltalk code does need to be filed in (there are byte code changes).

The next major release - 3.1 - should ship mid June, 2012

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

stic12

Code Completion in VA Smalltalk

March 20, 2012 10:19:04.202

Seth Berman - who's relatively new to the VA team at Instantiations - built the new code completion facilities for the tool. I've done a screencast on that - and Set looked at various other implementations (VW, Pharo, non-Smalltalk tools) before calling his work done.

Lots of new stuff in 8.5.1 - when I did my screencast, it was in 8.5. Sounds like I need to go back and have another look. It sounds like you can configure the way this works a lot more than you could with the first release of it.

Here's the abstract:

Code Completion allows for developers to type less by predicting how to complete what is being typed and offering these predictions to the developer to select from. Code Completion was first introduced in VA Smalltalk 8.5, but development didn’t stop there. Many additional features have since been added and it has continued to improve in usability and configurability. This presentation will show Code Completion in action by providing a thorough demonstration of its capabilities in the browsers, debuggers and workspaces. Furthermore, an overview of its extensive set of configuration options will be given to show how one can create a completely customized experience.

There's more coming for this, too - tighter integration with the existing code assist features being the biggest. As with many of these talks, you'll want to see the video (when STIC releases it) for the demo.

Ok, this is cool. The CamelCase matching is really quite nice. If you type in RWS, it knows that you mean "match by camel case", and offers "ReadWriteStream". This is the kind of intelligent help that experienced Smalltalkers could make great use of, and it makes long descriptive names easier to use. Works for methods, too: #add:afterIndex: comes up if you type aai - each character after the : gets treated (for matching purposes) as if it were a capital in camel case.

Also:


x := OrderedCollection new.
y := x
z := y.

Doing code completion on z (or x or y) offers methods from OrderedCollection. There's a setting option to filter out all of the inherited from Object stuff too. In general, the completer uses static analysis/type reconstruction to help it decide what to offer.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

stic12

Day 2 Begins

March 20, 2012 9:39:14.007

Mike Taylor kicked off day 2 by reminding everyone here about the drawing for a Kindle Fire at 5 PM - and the odds of winning that are way better than the odds of winning at one of the slot machines downstairs :)

posted by James Robertson

 Share Tweet This

stic12

Security Reloaded at STIC 2012

March 19, 2012 17:15:07.411

Over the last year or so, there's been a lot of confusion surrounding the security (encryption) libraries in Cincom Smalltalk - an ugly confluence of US government regulation confusion and lawyers :)

The good news? The kerfuffle (apparently settled now) led their engineering group to add bindings to external encryption libraries. That means that now developers have two paths through CST - use the Smalltalk libraries (always there), or use the faster platform libraries (if they are installed).

What libs? CNG/Bcrypt on Windows (Vista or higher), and libcrypto (openSSL) elsewhere.

There are a few API changes that come along with these changes - in PKCS8, X509, and SSL/TLS. The SSL/TLS implementation has been completely redone, with support for SSL3.0 (TLS 1.0 - 1.2).

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

stic12

Log4s at STIC 2012

March 19, 2012 15:59:55.719

Don MacQueen is presenting log4s - a port of log4j to VA Smalltalk. I've been doing screencasts on this, so I'm interested :)

To set all of this stuff up, you'll want to look at the VA docs. Other than a few naming discrepancies, those docs are pretty good. And, they (Instantiations) eat their own dogfood - they are using log4s internally, and are talking about using it more extensively.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

stic12

Amber at STIC 2012

March 19, 2012 15:04:18.199

Post lunch at STIC 2012 - time for Amber. John Thornton is giving the talk:

Amber is an implementation of the Smalltalk-80 language that runs on top of the JavaScript runtime. With Amber, client-side web development finally gets the power and productivity that has existed for decades in other Smalltalk dialects.

John started out in Ruby (Rails), and came across Smalltalk in 2009. The path was through a mobile game he was writing, SubWars.

Amber is a full browser based Smalltalk, with a full object model, core libraries, access to the web canvas, and a full featured IDE. Like most Smalltalks, it's largely written in itself.

Amber simplifies the workflow - edit everything (HTML, CSS, Javascript, Smalltalk) in the browser, and keep your "mental context" focused. This is another talk you'll want to watch the video for - John is doing live demos in an Amber driven presentation.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

stic12

Dart at STIC 2012

March 19, 2012 12:37:49.509

First keynote of the conference - Eric Clayberg talking about Google's Dart. Eric is deep into Dart at Google. Eric is working on a Dart editor (Eclipse) which we may get to. Why Dart? Building large web applications is hard - Javascript just isn't up to the task. Dart is supposed to bring structured programming to the web, along with good tools. Right now, Dart is really "alpha" stage software.

One of the biggest changes is isolates, inspired by Erlang. One of the large non-changes is the syntax, which looks a lot like Javascript. That's for obvious reasons; you need to sell it to world developers. Another design goal - Dart is intended to be used at the client (browser) and server level, rather than the common split that exists now.

As with the previous talk, a fair amount of this one will only come across in video - Eric's doing a bunch of Dart demos, from simple to more complex.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

stic12

ObjectStudio Demo at STIC 2012

March 19, 2012 11:13:23.745

Arden Thomas (Cincom's product manager) is giving a live demo of ObjectStudio with Dirk Verleysen (one of their engineers) - this is another talk that will play far better on video (once those hit the web) than it will in text :) Basically, it's a quick demo of a simple app for a presumed client (a health/fitness club).

One interesting thing I've run into (doing a screencast, but also in theory looking at our database at work) - the database mapping (old to new) presumes a relatively clean database where all tables either have a primary key, or have some set of columns that can be used as a primary key. I've now seen that in the real world, that assumption doesn't always hold :)

Having said that, the demo itself is pretty slick. Read the datamodel, map it, and then create simple GUI application from all of that. Additionally, a simple web interface got created using AidaWeb, and that looks pretty nice.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

Previous (21 total)