. .

st4u

ST 4U 262: Moving Classes Between Applications

July 25, 2012 7:24:45.320

Today's Smalltalk 4 You looks at moving classes and methods between ENVY Applications. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:

Moving Code.

If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.

You can also watch it on YouTube:


Sometimes you need to move one or more classes from one Application to another (in ENVY). It's fairly easy to do, but there are a few things to keep in mind. To set up, we've created three applications. In the first one, we defined a class. In the second, we extended that class (with a new method). In the third, we defined another new class:

3 Apps

Before we can move a class between applications, we need to open the editions (both source and destination). In the example here, all three applications have been released; we'll create open editions first:

open editions

Next, we'll try to move the class in MyApplication1:

move

destinations

In the second image above, all the applications to which we could move the class are listed. Notice that MyApplication2 is not listed? It's open, but it extends the class in question. Given that setup, we cannot move the class into MyApplication2. We can move it into MyApplication3, because it's open, and has no extensions that get in the way.

Why isn't anything else listed? That's simple - we didn't create an open edition on anything else - thus, they are all ineligible to be recipients of the move. ENVY only shows us the possible destinations.

Now, select the class in MyApplication3, and try to move that. You'll see the following options:

destinations

Finally, try moving the extension in MyAplication2:

destinations

That can be moved to MyApplication1, where it would simply join the rest of the class. If we do that, the browser will look like this:

moved

As with any changes made in an open edition, VA highlights them for us.

Need more help? There's a screencast for other topics like this which you may want to watch. Questions? Try the "Chat with James" Google gadget over in the sidebar.

Technorati Tags: , ,

Enclosures:
[st4u262-iPhone.m4v ( Size: 4143344 )]

posted by James Robertson

 Share Tweet This

smalltalk

New Version of Smalltalk/X Ships

July 25, 2012 12:17:58.432

There's a new version (6.2.1) of Smalltalk/X out - you can download it now. It's a pretty open system:

Smalltalk/X may be used even for the development of commercial Software and Applications without any licence fee (a few minor restrictions apply [*]). We appreciate your interest in Smalltalk and only ask in reply for you to share your joy and experience with others and help us marketing the great Smalltalk ideas ;-). In addition, it would be nice if you share example programs, demos, improvements, add-ons and national language translations with others by publishing those or send them to us for integration into the next release

You'll have to visit the website for those restrictions; the link is a Javascript popup.

posted by James Robertson

 Share Tweet This

music

Lord of the Rings Medley

July 25, 2012 22:12:00.136

Between the scenery, Lindsey Stirling playing the violin, and the awesome backup music... this is just great stuff:

Technorati Tags:

posted by James Robertson

 Share Tweet This

js4u

JS 4U 178: Datepicker

July 26, 2012 7:31:09.705

Javascript 4 U

Today's Javascript 4 You looks at the Date Picker widget in JQuery UI. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube.

Join the Facebook Group to discuss the tutorials. You can view the archives here.

To watch now, click on the image below:

Date Picker

If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.

You can also watch it on YouTube:

Technorati Tags: , ,

Enclosures:
[js4u178-iPhone.m4v ( Size: 1544349 )]

posted by James Robertson

 Share Tweet This

music

Lindsey Stirling Covers Skyrim

July 26, 2012 9:16:06.000

This is just awesome:

Technorati Tags:

posted by James Robertson

 Share Tweet This

general

Awesome Status From Twitter

July 26, 2012 12:48:07.074

Twitter is down, but that's not what I'm posting about. What's awesome is the error message I got in Firefox:

Twitter is currently down for <%= reason %>.

We expect to be back in <%= deadline %>. For more information, check out Twitter Status. Thanks for your patience!

posted by James Robertson

 Share Tweet This

st4u

ST 4U 263: Undeclared Variables in VA Smalltalk

July 27, 2012 9:26:23.693

Today's Smalltalk 4 You looks at what happens in VA Smalltalk when you leave a variable (in this case, an instance variable) undefined. The scenario being sketched is a bit artificial; you couldn't package an application in the state being shown, and ENVY does warn you about the situation. Having said that, most developers cheerfully ignore warnings, so we'll have a look. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:

Undefined.

If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.

You can also watch it on YouTube:


When you work on a number of classes at once, you can sometimes leave a variable undeclared - i.e., you have methods that use the variable, but you've deleted it from the class definition. When you do that, you'll get a warning in the Transcript - but if you miss/ignore that warning, very bad things can happen. Let's take a small example.

We've defined a class with one instance variable, and then created an instance and set that variable in a workspace:

Small class

Having created the instance in the workspace, it'll live until we leave VA or close the workspace. Now, let's delete the variable in the browser. Notice the warnings in the Transcript, but for now, we'll ignore them. Now try sending the accessing method for the variable that's been deleted:

Undeclared

What you see above is an inspector on a class - which one you get will vary, but it indicates that you are poking where you should not be poking. To demonstrate how dangerous that can be, let's use the setter and set the variable's value.

If you inspect the results of sending the getter, you'll get back the value you tried to set. However, things are now in an odd state. Depending on where you poked, VA will likely crash after you try to do something. In development, that's annoying. In production, it could mean some pretty hard to diagnose errors.

Need more help? There's a screencast for other topics like this which you may want to watch. Questions? Try the "Chat with James" Google gadget over in the sidebar.

Technorati Tags: , ,

Enclosures:
[st4u263-iPhone.m4v ( Size: 4138705 )]

posted by James Robertson

 Share Tweet This

standards

Does It Have to be This Hard?

July 28, 2012 14:05:54.517

Looks like we have another WS* style cluster-**** coming our way:

"The Register reports, 'Eran Hammer, who helped create the OAuth 1.0 spec, has been editing the evolving 2.0 spec for the last three years. He resigned from his role in June but only went public with his reasons in a blog post on Thursday. "At the end, I reached the conclusion that OAuth 2.0 is a bad protocol," Hammer writes. "WS-* bad. It is bad enough that I no longer want to be associated with it."'

Call me naive, but so long as you have https enabled, shouldn't username/passphrase work well? All of the attempts at "simplifying" that seem to be going in the wrong direction....

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

podcast

IM 88: Security Reloaded

July 29, 2012 18:56:10.779

Welcome to episode 88 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson and David Buck.

This week we have another recording from the STIC 2012 conference - Martin Kobetic of Cincom talking about teh changes to the security libraries in the latest release of Cincom Smalltalk. The big change is that developers can now use the Smalltalk libraries, or an interface to native platform libraries. If you would rather watch the video, head on over to the STIC website.

You can subscribe to the podcast in iTunes (or any other podcatching software) using this feed directly or in iTunes with this one.

To listen now, you can either download the mp3 edition, or the AAC edition. The AAC edition comes with chapter markers. You can subscribe to either edition of the podcast directly in iTunes; just search for Smalltalk and look in the Podcast results. You can subscribe to the mp3 edition directly using this feed, or the AAC edition using this feed using any podcatching software. You can also download the podcast in ogg format.

If you like the music we use, please visit Josh Woodward's site. We use the song Troublemaker for our intro/outro music. I'm sure he'd appreciate your support!

If you have feedback, send it to jarober@gmail.com - or visit us on Facebook - you can subscribe in iTunes using this iTunes enabled feed.. If you enjoy the podcast, pass the word - we would love to have more people hear about Smalltalk!

Technorati Tags: , ,

Enclosures:
[im88.mp3 ( Size: 16380327 )]

posted by James Robertson

 Share Tweet This

podcastAAC

IM 88: Security Reloaded (AAC)

July 29, 2012 18:59:19.371

Welcome to episode 88 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson and David Buck.

This week we have another recording from the STIC 2012 conference - Martin Kobetic of Cincom talking about teh changes to the security libraries in the latest release of Cincom Smalltalk. The big change is that developers can now use the Smalltalk libraries, or an interface to native platform libraries. If you would rather watch the video, head on over to the STIC website.

You can subscribe to the podcast in iTunes (or any other podcatching software) using this feed directly or in iTunes with this one.

To listen now, you can either download the mp3 edition, or the AAC edition. The AAC edition comes with chapter markers. You can subscribe to either edition of the podcast directly in iTunes; just search for Smalltalk and look in the Podcast results. You can subscribe to the mp3 edition directly using this feed, or the AAC edition using this feed using any podcatching software. You can also download the podcast in ogg format.

If you like the music we use, please visit Josh Woodward's site. We use the song Troublemaker for our intro/outro music. I'm sure he'd appreciate your support!

If you have feedback, send it to jarober@gmail.com - or visit us on Facebook - you can subscribe in iTunes using this iTunes enabled feed.. If you enjoy the podcast, pass the word - we would love to have more people hear about Smalltalk!

Technorati Tags: , ,

Enclosures:
[im88.m4a ( Size: 22619594 )]

posted by James Robertson

 Share Tweet This

smalltalk

OpenQwaq in the Wild

July 30, 2012 8:24:38.922

A worldwide design competition ended up using OpenQwaq for collaboration support - check out the video:

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

st4u

ST 4U 264: Undeclared Variables in Pharo

July 30, 2012 10:21:48.160

Today's Smalltalk 4 You looks at how the Undeclared dictionary works in Pharo. It operates the same way in Squeak, VisualWorks, and ObjectStudio, so you can see the same results in those products. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:

Undeclared

If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.

You can also watch it on YouTube:

Technorati Tags: , ,

Enclosures:
[st4u264-iPhone.m4v ( Size: 3742696 )]

posted by James Robertson

 Share Tweet This

js4u

JS 4U 191: Using Google Maps

July 31, 2012 10:05:41.438

Javascript 4 U

Today's Javascript 4 You starts looking at the Google Maps Javascript interface. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube.

Join the Facebook Group to discuss the tutorials. You can view the archives here.

To watch now, click on the image below:

maps

If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.

You can also watch it on YouTube:

Technorati Tags: ,

Enclosures:
[js4u191-iPhone.m4v ( Size: 2551440 )]

posted by James Robertson

 Share Tweet This

st4u

ST 4U 265: SmallLint in VA Smalltalk

August 1, 2012 11:07:50.520

Today's Smalltalk 4 You looks at the Small Lint tools in VA Smalltalk. These exist in most other Smalltalk implementations as well. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. To watch now, click on the image below:

Small Lint.

If you have trouble viewing that directly, you can click here to download the video directly. If you need the video in a Windows Media format, then download that here.

You can also watch it on YouTube:


It's a good idea to periodically run some "sanity checks" over your code. SUnit tests are one form of that; Small Lint is another. If you load the "Mastering Envy Developer" feature into VA Smalltalk, one of the tools you get access to is Small Lint:

load

Small Lint

After launching the tool from the VA Launcher, you need to pick applications and classes to run it over. Select one or more applications, and then select one or more classes. You need to use the Add or Add All options in the context menu, which adds a check next to all of the selected items. That will get you to the next step, where you need to decide which lint checks to use:

Lint Checks

Select all, or a subset from the menu seen above. Then just run them:

Lint Checks

The window that comes up will show you all of the possible issues - and we say "possible", because Lint can be overly aggressive. You can select an issue and browse the specifics in the code you had it check, and then decide whether or not you need to make changes.

Need more help? There's a screencast for other topics like this which you may want to watch. Questions? Try the "Chat with James" Google gadget over in the sidebar.

Technorati Tags: , ,

Enclosures:
[st4u265-iPhone.m4v ( Size: 5321272 )]

posted by James Robertson

 Share Tweet This