. .

st4u

ST 4U 189: Reading the Command Line in VA Smalltalk

February 3, 2012 12:00:41.632

Today's Smalltalk 4 You looks at how your application can read the command line that started 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:

command line.

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 continue looking at the command line for VA Smalltalk, focusing on reading the command line at runtime. Here's a command line with a (presumed) application argument, -k:

Starting VA

VA pays no attention that argument, but what if we want our application to do something with it? Simply do the following:


commandLine := System commandLine.

Try that in a workspace, and inspect the results - you should see something like this:

Starting VA

All arguments and argument names will be strings; you'll need to parse them yourself. It's pretty easy though - you can set up a simple streaming facility for that easily.

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

posted by James Robertson

 Share Tweet This

smalltalk

Virtual Meetings with Head Tracking

February 3, 2012 11:11:16.297

OpenQwaq is looking pretty cool here.

Technorati Tags:

posted by James Robertson

 Share Tweet This

skyrimAAC

Thu'umcast 20: Is That a Perk, Or Are You Just Happy To See Me? (AAC)

February 3, 2012 1:38:57.038

Thu'umcast

Welcome to episode 20 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

The perk system is one of the coolest parts of Skyrim, and in this episode we start talking about them - focusing on the "warrior" perks. We'll get to the rest of them in future shows. We also touch on the just released 1.4 patch, and the much anticipated Creation Kit. While we discussed the perks, we referred to the awesome Skyrim Perk Calculator site. Check it out before you start your next playthrough!

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

posted by James Robertson

 Share Tweet This

skyrim

Thu'umcast 20: Is That a Perk, Or Are You Just Happy To See Me?

February 3, 2012 1:38:01.758

Thu'umcast

Welcome to episode 20 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

The perk system is one of the coolest parts of Skyrim, and in this episode we start talking about them - focusing on the "warrior" perks. We'll get to the rest of them in future shows. We also touch on the just released 1.4 patch, and the much anticipated Creation Kit. While we discussed the perks, we referred to the awesome Skyrim Perk Calculator site. Check it out before you start your next playthrough!

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

posted by James Robertson

 Share Tweet This

js4u

JS 4U 128: Using on() with multiple events

February 2, 2012 9:42:55.164

Javascript 4 U

Today's Javascript 4 You continues looking at the on() function on 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:

on()

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

posted by James Robertson

 Share Tweet This

games

I Need One of These

February 1, 2012 19:29:10.921

The gear on redbubble is just awesome:

Technorati Tags:

posted by James Robertson

 Share Tweet This

st4u

ST 4U 188: VA Smalltalk Command Line Options

February 1, 2012 12:03:36.669

Today's Smalltalk 4 You looks at starting VA Smalltalk up from the command line. 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:

Command Line.

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 take a look at starting VA Smalltalk from the command line. While you would normally start up your development environment from an icon or the start menu on Windows, you might deploy to Linux, or need to set up a Windows "cron" job. The simplest way to start the environment up is to just run the VM:

Starting VA

By default, the VM will look for abt.icx in the current directory, and start that. What if you want to start a different image? Use the -i argument:

Starting VA

Note that we omitted the extension .icx; you need to do that, as the VM will append it itself. There are a lot of command line options you can use to control startup options (memory usage, logging - tons of stuff) - you'll want to examine the docs in detail for that:

Command Line Options

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

posted by James Robertson

 Share Tweet This

js4u

JS 4U 127: The on() function and custom events

January 31, 2012 9:46:13.083

Javascript 4 U

Today's Javascript 4 You looks at the on() function in JQuery. This function is new in JQuery 1.7, and also has a lot of otions; we'll take a few screencasts to cover the highlights. 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:

on()

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

posted by James Robertson

 Share Tweet This

smalltalk

Smalltalk and Git

January 31, 2012 7:51:45.889

Someone has made a standard file based SCM tool work with Smalltalk:

We've built a little package that allows us to save all our source in git. We've been developing with this for 3 months now, and it's pretty stable. I put a project on github, that contains some more info on it. Yes, there's more work to do, but there's hope. The repo contains some examples that I just saved from the image.

I'd like to hear more about how well that works.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

skyrimAAC

Thu'umcast 19: Fus Ro Dah! (AAC)

January 30, 2012 23:14:21.712

Thu'umcast

Welcome to episode 19 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

The entire crew is back for the shout outs back to our fans on the Facebook Group. If you asked for one, this is where we answer! We also had a brief discussion about the shouts in the game - including some of the ones that the dragons and greybeards use that players don't have access to.

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!

Enclosures:
[thuum19.m4a ( Size: 15314534 )]

posted by James Robertson

 Share Tweet This

skyrim

Thu'umcast 19: Fus Ro Dah!

January 30, 2012 23:13:05.642

Thu'umcast

Welcome to episode 19 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

The entire crew is back for the shout outs back to our fans on the Facebook Group. If you asked for one, this is where we answer! We also had a brief discussion about the shouts in the game - including some of the ones that the dragons and greybeards use that players don't have access to.

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

posted by James Robertson

 Share Tweet This

st4u

ST 4U 187: Exploring Processes in Pharo

January 30, 2012 10:46:13.331

Today's Smalltalk 4 You looks at processes in Pharo - specifically, some of the tools and APIs that make working with them easier. 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:

Technorati Tags: , ,

Enclosures:
[st4u187-iPhone.m4v ( Size: 5963250 )]

posted by James Robertson

 Share Tweet This

podcastAAC

IM 63: Go Small or Go Home (AAC)

January 29, 2012 11:29:23.230

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

David Buck and I talk about Smalltalk and large scale development, using an interview with Joe Armstrong and Ralph Johnson as a stepping off point. To read or listen to that interview, visit the InfoQ site. There's also a good discussion about this topic in an email thread across the vwnc and Squeak mailing lists; you should check those out as well.

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

posted by James Robertson

 Share Tweet This

podcast

IM 63: Go Small or Go Home

January 29, 2012 11:28:49.930

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

David Buck and I talk about Smalltalk and large scale development, using an interview with Joe Armstrong and Ralph Johnson as a stepping off point. To read or listen to that interview, visit the InfoQ site. There's also a good discussion about this topic in an email thread across the vwnc and Squeak mailing lists; you should check those out as well.

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

posted by James Robertson

 Share Tweet This

smalltalk

Smalltalk and Large Projects

January 28, 2012 11:42:02.062

Dave Buck and I were discussing podcast topics, and we came across this InfoQ interview with Ralph Johnson and Joe Armstrong. This is what we decided to talk about:

Because in Smalltalk you have everything in the image. You can't keep track of the versions between the old and the new one - it's a pain in the neck but also now we are going to this distributed computing or parallel programming. People say "We want to have multiple threads inside Smalltalk." No, you don't want to do that! Because you are just getting back to all those problems. What you want to do is have multiple images in sending messages back and forth if you want fault tolerance.
It started years ago more but because we had this way of doing things, we just put everything in one image and there is also the issue of complexity. You build a system, so it gets to the limit of what a few people can do and there Smalltalk doesn't work too well. If it actually took 20 people to build your system, Smalltalk is not very good. If you could build it with 4-5 people, fine. They all sit in the room and Smalltalk is just fabulous and you could build with 4-5 people something that would take 50 people in Java, but what if it would take 200 people in Java?

We'll get into that when we record, but two points:

  • The system I work on now has nearly 5500 classes in it, and it's managed by around 20 developers
  • Any project that has 200 developers (regardless of language) will grow a process that makes forward motion impossible. I've seen that happen, more than once

With that said, wait for episode 63 to come out - this is what we'll be talking about.

posted by James Robertson

 Share Tweet This

st4u

ST 4U 186: Exploring The Smalltalk Process Model

January 27, 2012 14:58:56.387

Today's Smalltalk 4 You looks more deeply at 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 take a deeper look at processes in VA Smalltalk. We'll be exploring the cooperative process model that VA (and most other Smalltalks) use. First off, we'll set up the following two processes:


"show cooperative processing model"
coll := OrderedCollection new.
cond1 := 1.
proc1 := [[cond1 < 10] 
	whileTrue: [coll add: cond1.
						cond1 := cond1 + 1]].
proc1 fork.


cond2 := 20.
proc2 := [[cond2 < 30] 
	whileTrue: [coll add: cond2.
						cond2 := cond2 + 1]].
proc2 fork.

^coll

When you execute those two, and then inspect the collection, you'll see the following:

Process

Notice that the first process ran to completion before the second one ran. That's because they were both set up at the same priority - unless one of them yields the processor (for IO, or in code purposely), the first will simply run until completion. In the normal Smalltalk process model, only a higher priority process will preempt an existing one. To get a process to yield, use the #yield message, as seen below:


"show cooperative processing model - #yield"
coll2 := OrderedCollection new.
cond3 := 1.
proc3 := [[cond3 < 10] 
	whileTrue: [coll2 add: cond3.
						cond3 := cond3 + 1.
						Processor yield]].
proc3 fork.


cond4 := 20.
proc4 := [[cond4 < 30] 
	whileTrue: [coll2 add: cond4.
						cond4 := cond4 + 1.
						Processor yield]].
proc4 fork.

^coll2

That gives us the following:

Process

With the #yield being used, each process waits for any otter process (at the same or lower priority) to have a shot at the processor. What if one process is at a higher priority?


"show cooperative processing model - higher priority"
coll3 := OrderedCollection new.
cond5 := 1.
proc5 := [[cond5 < 10] 
	whileTrue: [coll3 add: cond5.
						(Delay forSeconds: 1) wait.
						cond5 := cond5 + 1]].
proc5 fork.


cond6 := 20.
proc6 := [[cond6 < 30] 	
	whileTrue: [coll3 add: cond6.
						cond6 := cond6 + 1]].
proc6 forkAt: Processor userInterruptPriority.

^coll3		

The Delay is used in the first process so that it doesn't run to completion before we even start executing the second process. The results are shown below:

Priority Levels

The first process starts running, goes into a wait state (the Delay), and then never gets the processor back so long as the higher priority process runs. That's how the scheduler works in Smalltalk.

Finally, what if you have a long running process that you need to kill? Simple - use #terminate:


"kill a process"
proc7 := [[true] 
	whileTrue: [(Delay forSeconds: 2) wait.
						Transcript show: 'Executing...'; cr]] forkAt: Processor userBackgroundPriority.
						
proc7 terminate.

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

posted by James Robertson

 Share Tweet This

smalltalk

Pharo Sprints in February

January 27, 2012 11:42:38.769

There will be two Pharo Code prints in February - follow the link for details.

Technorati Tags:

posted by James Robertson

 Share Tweet This