. .

stic12

Smalltalk Research

March 23, 2012 7:24:45.220

The call for papers for the next STIC came out on the ESUG mailing list, from Georg Heeg:

In June 2013 we will also have Smalltalk Directions 2013 organized by Smalltalk Academic Advisory Board STAAC. The formal call for papers will go out soon. But you can start planning to submit your research results today. The topics will probably be along the lines of this year’s call for papers. The papers will get reviewed and published and in the presentation you will get into contact with co-researchers and industrial Smalltalk users from all over the world.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

stic12

STIC 2012 Wraps

March 21, 2012 17:40:09.865

After a lot of short (5 minute) lightning talks, we've reached the end of STIC 2012. I'm told that the videos (which I've been referring to in this series of posts) will be posted soon - check the STIC website for details.

STIC 2013 has just been announced: June 2013 in Arizona. The dates aren't nailed down yet, but there it is! Want a discount on registration? Send Suzanne (you know her email address if you're a Smalltalker) an email with "STIC 2013" in the subject line. The call for research papers for next year is also out already - check stic.st for details.

Technorati Tags:

posted by James Robertson

 Share Tweet This

stic12

Practical Git for Smalltalk

March 21, 2012 15:52:29.622

Last main talk of the conference - Dale Henrich's on using Git with Smalltalk. Caveats:

  • Git can be used well with Smalltalk
  • It's not practical to expect all dialects to switch wholesale off whatever they use now
  • It can be used to share code across dialects

What about the stock stuff, like ENVY, Store, and Monticello? High cost of porting the tools between dialects, and they tend to be tightly coupled with their "home" toolsets. The implementation as it exists now is called FileTree. The basic implementation is based on Monticello - but the disk structure does not rely on Monticello artifacts, and works in Pharo, Squeak (and thus GLASS).

The FileTree package structure is SCM neutral, so it could be used with any standard SCM toolset. What's a Package in this context? an object or algorithm that defines the contents of a Snapshot. A Snapshot is the state of a Package at a given point in time. In an image, a Snapshot is represented as a collection of class and method definitions. On disk, it's class and method chunks in a collection of .st files.

By saving packages this way, it leverages what Git can do from a "what changed over time" standpoint. Status? This comes from work that has been ongoing for a bit in the Pharo world, so it's actually being used "in the real world". Right now, it's suitable for anyone using Monticello. There's work to be done to accommodate this to all dialects (in terms of file format alone).

Dale says that Envy and Store were better options in the mid 90's, but Git/GitHub is better now. Right now, GST, Redline, and Amber are all using GitHub. Using Git is an upgrade from Monticello, but for Store/Envy it's more of a way to share code. It's an addition, not a replacement.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

stic12

Dave Buck on Fluid Positioning in VisualWorks

March 21, 2012 15:15:49.732

Dave Buck is presenting some interesting work he's been doing - fluid positioning. We've talked about this some on the podcast, but it's a topic well worth exploring in more depth. There's also a video Dave put out last summer. The basic idea: allow widgets in a VW window to be laid out relative to each other, and seamlessly reposition themselves (in the GUI builder) as you move things around.

The baseline goal - make it all easy to work with in the UI. In casting about for other work on this subject, Dave needed something that worked the way he needed it to work - Aukland was something he had to push off. He's now on his second iteration of the work, because his first stab "almost" worked. Almost just wasn't good enough :)

At this point, you'll have to wait for the video to see the first iteration - it's a demo.

Issues? Undo doesn't work right with groups. Heck, undoing a group loses properties s-is :)

in algorithm two, he's not dealing with groups or oriented composites. Instead, he's modeling the layout explicitly. His new take on this looks much cleaner, and doesn't force groups on the UI (which lets the developer add them for their own purposes later). In this demo, it's clear that there's still work to do - widgets sometimes get oddd sizes based on his layout calculations.

Still work to do on save/restore, dealing with existing specs, and the one layout issue. One big lesson: tests help, but they aren't enough here - some it relies on the "mark one eyeball" :)

posted by James Robertson

 Share Tweet This

stic12

Skins in the VW UI

March 21, 2012 12:59:46.954

Travis has mentioned the Skins (UI) work on his blog before - and today he's going to talk about it at STIC.

The VW widget set is an emulate done - the problem with moving it forward has to do with how fast UIs evolve in the host OS, and the limited manpower available to keep up with that. On the other hand, lots of legacy code relies on this stuff. Another issue - in the VW MVC model, the view and controller are really, really tightly coupled. The model tends to be more coupled than we'd like as well.

Over time, this got more complex with the addition of layout wrappers which again got more tightly coupled with the views than maybe they should have been. Then there are state wrappers (enablement) - and from there the wrapper party just grew like weed, and trackers just made things more complex. Then you add in all of the subclasses for views, controllers, and trackers....

Skinny goals:

  • Offload drawing to external resources
  • incremental on/off
  • grow in place replacement (not a big bang)
  • avoid a massive rewrite of platform interfaces
  • address some of the issues in the VW widget set
  • play the subclass card differently

Widgets will be simpler - manage own state, use models when they make sense. Layouts are being punted for now, the existing stuff is still in play, with some small mods. Controllers are out. State is being handled in a properties dictionary, and VisualPart already had that. Drawing - that's where things are offloaded to a strategy/policy pattern. The Skin api tend sto be a large, flat collection of methods, with a generic DNU handler for methods that follow the conventions.

The rest of the presentation is a demo - as with many of the other talks, you'll really need to wait for the video to see what happened here :) What he showed was a skinned Windows (XP in a Mac VM) and a skinned OS X Lion. Linux (GTK) is still being investigated, but using Cairo he got something pretty nice out (KDE Look) in a day.

This is in 7.9 builds, but not enabled. It can be turned on. There's still work to do on the more involved widgets, but it's taking shape. It is a a work in progress, but can be played with now.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

stic12

Cincom Smalltalk Update

March 21, 2012 12:12:17.714

Instantiations updated us on VA yesterday - today it's Arden's turn with Cincom Smalltalk.

New releases of VW and OS are coming by June of this year - 4 major releases over the last 2 years, plus minor ones. New stuff recently:

  • Unicode VM
  • Store revamped (Glorp underpinnings)
  • Atomic Loading from Store
  • Updated Delays (uses OS clock)
  • Improvements to the Mac VM
  • New Pre-req engine for Store
  • 64 bit support has improved vastly
  • Store browsers now (finally :) ) using the RB
  • Merge tools updated
  • Seaside support is up to date with each release

Coming soon:

  • External encryption (as documented by Martin)
  • Speed improvements in Store
  • Configuration Management
  • ipv6

ObjectStudio - Arden points out that the modeling and mapping tools are OS specific, but the outputs can be used in VW as well (the GLORP mappings). See this talk and this talk for more on that.

Tools for GLORP - use ObjectStudio, publish the results to Store, use in VW or OS. OS has better integration with the Runtime Pacakager tool as well. One of the main new things on the OS roadmap (other than continued DB modeling/mapping support) is 64 bit support.

New stuff in VW: COM updates, internationalization improvements, better look (icons). What's Notable?

  • Project Launcher
  • Polycephaly (supports multiple cores/cpus)
  • GC improvements (see Andres' talk)
  • Xtreams

The new work looks like it's moving the stuff listed above forward - but there's also some interesting UI work (Skins) that Travis will be talking about next. Once that's posted, scroll up :) Also on the radar - dllcc improvements, Windows 8 support (metro?), code completion, WebSockets, font improvements. Kind of the summary statement - a lot of the product changes are driven by customer feedback and needs.

Release Cycle: Annual major releases, maintenance releases (actually maintenance :) ) in between.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

stic12

Cloud Foundry

March 21, 2012 10:36:34.252

James Foster is expaining CloudFoundry - a service VMWare is building out for public and private cloud services. Part of this presentation is an audience participation demo using CloudFoundry - I'd talk about that more, but we had issues getting the necessary parts installed on my Mac :) It looks cool, but it looks like the setup requires more than the handful of minutes I was able to devote to it.

The next bit you can follow along on the video once that's released - or contact James Foster, who I'm sure will be more than happy to talk you through it.

There are some interesting issues with getting Smalltalk into this kind of service - it's a monolithic image, as opposed to a small runtime that you muck with via small text files. Additionally, that image needs to run continuously, as opposed to running on demand only. Interestingly, the solution here looks a lot like what I do to run this blog (with the caveat that what I do is way less formalized).

  • Push new code to service
  • launch Smalltalk, load code, save image
  • launch saved image
  • Start HTTP Server on specified port

The result of all this some baseline support for a Gemstone service in the cloud - which is pretty cool.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

stic12

New Smalltalk Projects

March 21, 2012 10:14:25.182

First talk of the day: Georg Heeg is talking about doing new projects in Smalltalk.

Some of this has to to with improving CRM systems (intelligent guidance as opposed to classic UI design) - Heeg has been helping with product development on that. The main message of the talk is that Heeg's company is involved in new project development using Smalltalk.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

stic12

Cincom Smalltalk Memory Management

March 20, 2012 18:07:14.082

Last talk of the day - memory management in Cincom Smalltalk. There have been changes in this area over the last couple of releases, which is good - I learned a fair bit about the old stuff (caveat: having said that, I only ever scratched the surface), and the new stuff makes it a bit more accessible. Andres Valloud is giving the talk - he's starting with some basic background on memory management in CST (eden, survivor spaces, all of that stuff - I'll refer you to the docs for a broad discussion of that).

What's been fixed since VW 7.7?

  • The way IGC (incremental garbage collector) handles aborted state - properly now.
  • Adjusted the default setting for the Growth Regime Bound (was 32 MB, now more sensible). Having that default led to much thrashing
  • Also moved the emergency threshold back from the raw upper bound, to allow for actual emergency handling
  • Changed growth increment default from old (1 MB) to something more reasonable
  • FixedSpace allocation has been fixed
  • Improved weak/ephemeron support
  • IGC improved - including the ability to turn IGC on and off
  • some protection for stack overflow
  • new switches for the VM on the command line - so you don't need to adjust the numbers and resave the image

The development team at Cincom has created a test suite for all of this stuff, which has already been a big help. They've added a tuner that will make suggestions for optimization.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

stic12

Smalltalk, GLORP, and Legacy Apps

March 20, 2012 17:06:35.256

Mark Grinnell and Andreas Hiltner (Cincom) are giving something of a continuation of the talk Arden gave yesterday - how to get a new web application up and running when what you have is a set of older legacy applications.

The legacy domain is medical data - and the baseline idea is that the legacy systems are from a bunch of different labs, and can't be updated/retired - they need to keep running as is. Any new system is additive, not a replacement. The goal is to create a web app that creates a unified view over the top of the disparate ones from the multiple labs (for instance: different IDs for patients in each system).

The next bit is demo - you'll really have to wait for the video to see that. The demo is using the same glorp mapping approach Arden talked about, just in front of a larger problem.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

Next (21 total)