ST 4U 188: VA Smalltalk Command Line Options
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:
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:
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:
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:
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: smalltalk, va smalltalk, command line
Enclosures:
[st4u188-iPhone.m4v ( Size: 4138408 )]
JS 4U 127: The on() function and custom events
![]() |
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:
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: javascript, jquery, tutorial
Enclosures:
[js4u127-iPhone.m4v ( Size: 1982243 )]
Smalltalk and Git
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.
Thu'umcast 19: Fus Ro Dah! (AAC)
![]() |
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 )]
Thu'umcast 19: Fus Ro Dah!
![]() |
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: skyrim, facebook, thuumcast, elder scrolls
Enclosures:
[thuum19.mp3 ( Size: 11175268 )]
ST 4U 187: Exploring Processes in Pharo
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:
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:
Enclosures:
[st4u187-iPhone.m4v ( Size: 5963250 )]
IM 63: Go Small or Go Home (AAC)
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: smalltalk, development, deployment
Enclosures:
[im63.m4a ( Size: 17563430 )]
IM 63: Go Small or Go Home
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: smalltalk, development, deployment
Enclosures:
[im63.mp3 ( Size: 12714278 )]
Smalltalk and Large Projects
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.
ST 4U 186: Exploring The Smalltalk Process Model
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:
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:
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. ^coll2That gives us the following:
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:
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: smalltalk, va smalltalk, process model
Enclosures:
[st4u186-iPhone.m4v ( Size: 9254001 )]
Pharo Sprints in February
There will be two Pharo Code prints in February - follow the link for details.
Technorati Tags: pharo
JS 4U 126: Stopping Event Propagation
![]() |
Today's Javascript 4 You looks at using JQuery to stop event propagation. 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:
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: javascript, jquery, tutorial
Enclosures:
[js4u126-iPhone.m4v ( Size: 1641286 )]
Smalltalk in London
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.
ST 4U 185: Automating Unit Tests
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:
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: smalltalk, testing, automation
Enclosures:
[st4u185-iPhone.m4v ( Size: 5513597 )]