MSK Software Development

Tag: Smalltalk

VASTForum 2010, Stuttgart - GetYourProjectBackToShape - Video

by admin on Jun.21, 2010, under Smalltalk

Next video recorded at VASTForum 2010 in Stuttgart has been rendered (from Joachim Tuchel) (~380 MB):

Full abstract of talk: Many Smalltalk projects have a history of 10-15+ years, and they suffer from the same problem: after the initial phases of the project have been completed, new techniques and tools are frequently not adopted. Although the reasons for lack of change can be well-intentioned, the irony is that many of these techniques - like automatic builds, unit tests, refactoring and more - come from Smalltalk projects that were developed by Smalltalkers. Joachim will show a few such techniques and tools that can increase your productivity in development, team collaboration, quality assurance and deployment. By changing a few habits, you can significantly affect deliverables and make your life easier. Don’t be shy, there’s no rocket science involved!

Get your project back to shape

Have fun !

Leave a Comment : more...

VASTForum 2010, Stuttgart - first videos

by admin on Jun.15, 2010, under Smalltalk

I’ve finished the preparation of the first three videos of this event. I think, that Instantiations will publish these videos also. The remote sessions seem also be available via screencast in the future - therefore having a much better quality than my videos.

The videos (due to their sizes) are available from the following location: VASTForum 2010 - Stuttgart - Videos. The sizes vary from 100 MB to 300 MB - and therefore a publication of the larger ones simply fail at blip.tv

The first videos are:

* VASmalltalk Business Update - Session 01
* Smalltalk State - Session 02
* WebServices - Example - Session 07

The others will follow over the time ….

1 Comment :, , more...

VASmalltalk: C-API Part 08: InterruptHandlers

by admin on May.19, 2010, under Smalltalk

I’m now coming to the end of the series of episodes about the C-API of VASmalltalk. Much more could be presented, much more in detail - but that’s not the idea of these episodes. I hope, that you get the idea or an overview what features you have, when trying to connect VASmalltalk to another (mainly C) programming language.

In this last episode we have another look on primitives and how they can be used to build interrupt handlers, which are mainly a nice way to communicate from an independent C-threads to the main Smalltalk-thread.

InterruptHandlers may be used in complexed c-based subsystems to inform Smalltalk about progress informations. As an example one could use the c library “curl” to retrieve data from various sources (ftp, html, …) handled by native os-threads and all that stuff is done independently from Smalltalk and Smalltalk only gets progress informations from those tasks and perhaps success/failure information from that subsystem about these tasks.

Leave a Comment :, , , more...

VASmalltalk: C-API Part 06: (Static-)Future Calls

by admin on May.11, 2010, under Smalltalk

In this episode I’m talking about using the future call or static future call feature:

Leave a Comment :, , more...

VASmalltalk: Cast instance of superclass to instance of subclass

by admin on May.05, 2010, under Smalltalk

I read this question today in the support forum for VASmalltalk. The poster had unchangeable source code and this source created instances of a superclass and he wanted to change those created instances to an instance of a subclass of that superclass.

I asked myself for an answer … and I did not find anything useful. In general I thought about creating a new instance of that subclass, make some copy methods to exchange the values to this new instance and finally a become: to save the references.

Then I looked at the primitive stuff of VASmalltalk and searched for a solution using that way - that need not to be a good solution - I just wanted to see, if it could be done.

I finally came up with the following solution, which will only work, if the structure between superclass and subclasses do not change.

I created a new primitive within a library with only one function:

EsUserPrimitive(mskClassConvert)
{
   EsObject object = NULL;
   EsObject newClass = NULL;
   object = EsPrimArgument(1);
   newClass = EsPrimArgument(2);
   object->class = newClass;
   EsPrimSucceed(object);
}

The exported function is named “mskClassConvert” and expects two parameters: first the object to be changed and second the new class of this object.

But perhaps it could be also Object ? I’m also not sure, if the primitive code is valid for most of the classes - but perhaps not one of these Arrayed based classes

Then I needed some Smalltalk code to call this function. I created an example class “MySuperclass”.

MySuperclass >>convertTo: aClass
   ^self primConvert: self to: aClass
MySuperclass >>primConvert: anObject to: aClass

   ^self primitiveFailed

Now executing

MySuperclass new convertTo: MySubclass

returns an instance of MySubclass. If you want to have the project for Windows send me an eMail.

Leave a Comment :, , more...

Looking for something?

Use the form below to search the site:

Still not finding what you're looking for? Drop a comment on a post or contact us so we can take care of it!

Visit our friends!

A few highly recommended friends...