. .

smalltalk

Smalltalk in London

January 25, 2012 14:32:18.000

The UK Smalltalk Users Group is meeting on January 30th, and the topic will be IDEs:

Building software is a complex business, software that works and stays in production for years. It is a craft that involves engineering, insight and skill. The tools that we use to build that software are vital enablers to our success. Between 1997-2004 the dominance of Java and the main vendors’ tools strategies led to something of a stagnation for IDEs. But since then with the return to language diversity and the broadening of platforms there has been a real opportunity to experiment with what an IDE is and means and to look at how it could evolve. We will look at a range of IDEs including WebVelocity, Cloud9 and Codea and contrast them with more traditional IDEs such as VisualWorks, IntelliJ’s IDEA and Eclipse.

posted by James Robertson

 Share Tweet This

st4u

ST 4U 185: Automating Unit Tests

January 25, 2012 8:36:28.532

Today's Smalltalk 4 You looks at automating unit tests in VisualWorks using SUnitToo. 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:

Automating Tests

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:
[st4u185-iPhone.m4v ( Size: 5513597 )]

posted by James Robertson

 Share Tweet This

smalltalk

Morphic and Physics

January 24, 2012 20:41:20.673

Pharocasts has a nice series on Morphic and Physics

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

js4u

JS 4U 125: Event Results

January 24, 2012 8:38:38.185

Javascript 4 U

Today's Javascript 4 You looks at retrieving results from the last event handler in JQuery. 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:

event results

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:
[js4u125-iPhone.m4v ( Size: 1515033 )]

posted by James Robertson

 Share Tweet This

games

We've Added Affiliate Links

January 24, 2012 0:18:57.867

thuumcast

If you have a gaming oriented site that you would like to promote on our Thu'umcast page, let us know - we've added an affiliates area (check it out) to the front page!

Just drop us a line over at the Facebook group, or email me.

posted by James Robertson

 Share Tweet This

st4u

ST 4U 184: Processes in VA Smalltalk

January 23, 2012 8:22:36.626

Today's Smalltalk 4 You looks at processes (and the process model) in Smalltalk, using VA Smalltalk as our example. 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:

Processes.

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:


Today we'll look at processes in VA Smalltalk. That will involve looking at two classes: Process and ProcessScheduler. Class Process is displayed below:

Process

Creating a process is pretty simple - you use a Block, which we looked at in a recent tutorial. You can see the code we used to play with processes below:


"create a process"

cond := 1.
block := [[cond < 10] 
	whileTrue: [Transcript show: 'Condition is: ', cond printString; cr.
						cond := cond + 1]].
block fork

cond := 1.
block := [[cond < 10] 
	whileTrue: [Transcript show: 'Condition is: ', cond printString; cr.
						cond := cond + 1]].
block forkAt: Processor userInterruptPriority

		

To create a process, simply encapsulate the desired code in in a block. Then, rather than executing it with #value (et. al.), fork off the process, as you can see above. In VA Smalltalk, there are 8 priority levels (ranging from 1 to 8 as numeric values) - but you should use the named levels, which you'll find in class ProcessorScheduler:

Priority Levels

The reason you should avoid the named levels can be seen in what's happened in other Smalltalk implementations. VisualWorks originally had 8 priorities, ranging from 1 to 8. At some point, the engineering team at Cincom changed that to 100 levels, and remapped the named levels within the new range. Instantiations could do the same with VA; it's best to avoid future problems by using the API.

To see a process execute, try highlighting the code blocks above - you should end up with something like this in the Transcript:

Processes

Another thing to keep in mind - the Smalltalk process model uses green (lightweight) threads. That means that each Smalltalk process exists only within the context of the heavyweight VM process; a Smalltalk process is neither an OS level process nor an OS level thread. Additionally, the model is one of cooperative multi-tasking - processes at the same priority level will not yield to other processes of the same priority.

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:
[st4u184-iPhone.m4v ( Size: 7981008 )]

posted by James Robertson

 Share Tweet This

humor

The Lighter Side of Javascript and Ruby

January 22, 2012 14:09:31.628

This video is hilarious:

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

podcastAAC

IM 62: ESUG 2011 Web Panel (AAC)

January 22, 2012 12:01:02.167

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

This week I have another session from ESUG 2011: a web panel including Dale Henreichs, Thomas Holzer, Esteban Lorenzano, Janko Mivsek, and Nicholas Petton.

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:
[im62.m4a ( Size: 11352898 )]

posted by James Robertson

 Share Tweet This

podcast

IM 62: ESUG 2011 Web Panel

January 22, 2012 12:00:30.977

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

This week I have another session from ESUG 2011: a web panel including Dale Henreichs, Thomas Holzer, Esteban Lorenzano, Janko Mivsek, and Nicholas Petton.

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:
[im62.mp3 ( Size: 8250416 )]

posted by James Robertson

 Share Tweet This

skyrimAAC

Thu'umcast 18: Twitching From the Marathon (AAC)

January 21, 2012 16:46:26.701

Thu'umcast

Welcome to episode 18 of "Thu'umcast" - a podcast where Michael Lucas-Smith, Scott Dirk, Austin Haley, Makahlua and I document our trials and tribulations in Elder Scrolls V: Skyrim

We talk to Joep Janson, one of the guys behind Bearded Gaming - check them out for live streamed gaming sessions across the video game spectrum. We talk about Joen's 48 hour marathon, Skyrim strategy, and the SkyUI mod. Check out the Bearded Gaming Site to see Joep's work!

If you liked our work on That Podcast, you'll probably like this. We intend to stay with the same idea - a gameplay podcast. If you don't want spoilers, don't listen - we are going to be talking about how we play the game, and what we ran across as we played.

You can subscribe in iTunes (or any podcatcher) using this feed, or this one for the AAC edition. We'll add the iTunes specific links as soon as they are available. In the meantime, join the Facebook Group and follow us on Twitter. If you play on Steam, join the Steam Group. Like the music? Pay Sbeast a visit, we thank him for letting us use it!

Links to all episodes and other information can be found on the Thu'umcast page.

If you want to download the podcast directly, we've provided it in three formats:

Got feedback? Tweet us!. Enjoy the podcast, and we'll see you in Skyrim!

Technorati Tags: , ,

Enclosures:
[thuum18.m4a ( Size: 15773139 )]

posted by James Robertson

 Share Tweet This

skyrim

Thu'umcast 18: Twitching From the Marathon

January 21, 2012 16:45:51.401

Thu'umcast

Welcome to episode 18 of "Thu'umcast" - a podcast where Michael Lucas-Smith, Scott Dirk, Austin Haley, Makahlua and I document our trials and tribulations in Elder Scrolls V: Skyrim

We talk to Joep Janson, one of the guys behind Bearded Gaming - check them out for live streamed gaming sessions across the video game spectrum. We talk about Joen's 48 hour marathon, Skyrim strategy, and the SkyUI mod. Check out the Bearded Gaming Site to see Joep's work!

If you liked our work on That Podcast, you'll probably like this. We intend to stay with the same idea - a gameplay podcast. If you don't want spoilers, don't listen - we are going to be talking about how we play the game, and what we ran across as we played.

You can subscribe in iTunes (or any podcatcher) using this feed, or this one for the AAC edition. We'll add the iTunes specific links as soon as they are available. In the meantime, join the Facebook Group and follow us on Twitter. If you play on Steam, join the Steam Group. Like the music? Pay Sbeast a visit, we thank him for letting us use it!

Links to all episodes and other information can be found on the Thu'umcast page.

If you want to download the podcast directly, we've provided it in three formats:

Got feedback? Tweet us!. Enjoy the podcast, and we'll see you in Skyrim!

Technorati Tags: , ,

Enclosures:
[thuum18.mp3 ( Size: 11517645 )]

posted by James Robertson

 Share Tweet This

smalltalk

Move a Debug Session Across Images

January 20, 2012 18:53:22.000

Mariano shows you how using Fuel and Pharo.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

st4u

ST 4U 183: Blocks in Smalltalk

January 20, 2012 12:35:03.517

Today's Smalltalk 4 You takes a look at Blocks in VA Smalltalk. 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:

Blocks.

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:


Today we'll look at block closures in VA Smalltalk. To get started, you should browse class Block, and take a look at the hierarchy. Typically, when you create a block, it will be an instance of the first subclass:

Blocks

Blocks represent a deferred bit of code - a loose method, if you will. They encapsulate pre-compiled behavior that can be passed around and executed later, by using #value (or one of the variants that take arguments). Below is the code we'll be using to explore blocks:


"Blocks"

block1 := [10 + 1].

block2 := [:input | input + 1].

block3 := [:a :b :c :d :e :f | a, b, c, d, e, f, ' - concatenated'].


val1 := block1 value. 11

val2 := block2 value: 1. 2

val3 := block3 valueWithArguments: #('one ' 'two ' 'three ' 'four' ' five' ' six').

val3 := block3 
		valueWithArguments: #('one ' 'two ' 'three ' 'four' ' five' ' six') 
		onReturnDo: [].
		
val3 := block3 
		valueWithArguments: #('one ' 'two ' 'three ' 'four' ' five' ' six') 
		onReturnDo: [:returnVal | Transcript show: 'Answer was: ', returnVal].
		

To create a block, simply encapsulate the desired code in square braces. As you can see above, using the [:arg1 :arg2 26 | ] notation, you can specify arguments to the block. To execute, you use:

  • #value - No arguments
  • #value: (up to three arguments with #value:value:value)
  • #valueWithArguments: (passing an array)

You can also specify an action block to execute when the block returns, and this block can (but does not have to) take one argument - the return result from the first block. Blocks, like methods, return the result of the last expression executed.

To see that last part in action, try executing the last statement above - you should see something like the following in the Transcript:

Blocks

Just try executing each line in the code above, inspecting or displaying the results - make sure you understand how each one of them works, then try a few examples of your own.

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:
[st4u183-iPhone.m4v ( Size: 7305084 )]

posted by James Robertson

 Share Tweet This

smalltalk

Speaking at STIC 2012

January 19, 2012 13:49:43.000

I'll be speaking at the STIC conference this year (in Biloxi, Mississippi). My topic? Build tools, of course :) I've been developing a set of tools where I work now (both manual and automated), and I'll talk about how they work, what they do, and why such a thing is usefule.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

js4u

JS 4U 124: The enabled selector

January 19, 2012 8:52:31.694

Javascript 4 U

Today's Javascript 4 You looks at the enabled() function in JQuery. 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:

enabled()

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:
[js4u124-iPhone.m4v ( Size: 1224180 )]

posted by James Robertson

 Share Tweet This

smalltalk

Need a Loaded Die?

January 19, 2012 7:45:10.967

Kent Beck shows off a simple implementation of a loaded die in Smaltltalk. The post is on Facebook

posted by James Robertson

 Share Tweet This

copyright

Why SOPA Must Die

January 18, 2012 8:37:45.007

Stop SOPA

image credit: Google

SOPA (and the Senate version, Protect IP) aren't just a little bad; they make the DMCA look like reasonable legislation. What they set up is a system of prior restraint that would make publishing on the net nearly impossible for anyone but the wealthy and well connected. In what way, you ask?

In an attempt to stop "pirate" sites, the proposed law targets any site that has links to "illegal" content. Over the last few years, I've linked to many, many sites. Commenters have linked to many others. Over time, some of those domains change hands. Sometimes, a domain that was owned by an individual talking about Smalltalk gets bought up by a content farm. Bam - every post and comment that linked there would be a reason to not only shut down my site, but charge me with a felony. Under that kind of regime, who in their right mind would risk linking to anything? In one fell swoop, SOPA attempts to rewind the clock to the push only model of content coming from approved sources.

It gets worse though - using "circumvention" software would also be illegal. The way the law is written, editing your hosts file to route around the damage would be an illegal act.

If you like the open internet, check out Google's action page on this.

As part of all this, I'm not going to be posting a screencast (or anything else) today - this post will stay at the top of my site. Back to business tomorrow, but for now - don't just sit there. Help stop this pile of stupid.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This