. .

smalltalk

Why Smalltalk

April 9, 2011 8:05:08.746

Andy Berry explains why he has used - and continues to use - Smalltalk as his software development platform of choice.

 Share Tweet This

games

Game Day

April 10, 2011 8:07:55.000

Looks like November 11 will be "game day" - Minecraft will be leaving beta, and Skyrim will be out:

We picked November 11, with the unofficial tagline 'us too'," writes the game's creator, Markus "Notch" Persson on his official blog. "It's the same date as a few other games and movies, and the one I'm the most excited about is Skyrim, so that will be a nice reward for me if we actually manage to hit that date!"
 Share Tweet This

podcast

IM 24: Smalltalk in the Cloud

April 10, 2011 10:21:26.068

Welcome to episode 24 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson, Michael Lucas-Smith, and David Buck. This week's podcast was recorded at Smalltalk Solutions 2011 in March, 2011. It's my talk on "Smalltalk in the Cloud" - focusing on running a Smalltalk server using cloud services, and utilizing other cloud services.

You can find my slides here, and all of the slides here.

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

 Share Tweet This

podcastAAC

IM 24: Smalltalk in the Cloud (AAC)

April 10, 2011 10:21:35.698

Welcome to episode 24 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson, Michael Lucas-Smith, and David Buck. This week's podcast was recorded at Smalltalk Solutions 2011 in March, 2011. It's my talk on "Smalltalk in the Cloud" - focusing on running a Smalltalk server using cloud services, and utilizing other cloud services.

You can find my slides here, and all of the slides here.

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

 Share Tweet This

games

Dragon Age 2: More Thoughts

April 10, 2011 16:27:55.658

The Hawke Files

Now that I'm well into my second playthrough of Dragon Age 2 on both on both my Mac and the XBox, I have a few more thoughts on the game

First, I should address some of the complaints about the game I heard on The Dragon Age Podcast. I had a long talk with my daughter about the podcast while we listened to it (she's a big fan of the game as well) - I should have recorded the conversation :) Basically, I have to say this: the guy who complained so much about the combat wasn't paying attention. Why do I say that? Well, his primary complaint seemed to be that lots of the battles involve endless waves of lower level foes. That's only true if you don't find the boss and kill him. Each of the big battles has a boss; the waves of reinforcements keep coming until you deal with that boss. How have I been dealing with that boss?

  • Keep two tanks in the party, one mage with healing, and one rogue
  • Focus the tanks on the boss, peeling one off if the mage gets attacked directly
  • Have the mage heal - especially with "Aid Allies" - often
  • Buy lots of elfroot potions to fill in the cooldown gaps with healing
  • Keep hammering the boss until he or she dies

There's exactly one battle in the game where I had to kite (on normal difficulty) - the duel against the Arashok at the end of act 2. I was playing a mage in that battle, so kiting would be expected. Heck though, you can avoid that dual and just fight the room (and that ends up being easier, as you have your whole party).

Ultimately, it sounds like the host wanted to play a rogue like he was able to play one in DAO. In DAO, you could level a rogue's dexterity up high enough to make them effectively unhittable, and basically play the rogue as a tank. You can't do that in DA2 - you have to run your battles more tactically, and make use of one or two warriors. By the same token, I found warriors to be really hard to play in DAO (underpowered compared to rogues and mages), while in DA2, they are on an equal footing. Yes, the map reuse is annoying. But if you hate the combats, I strongly suspect that you're doing it wrong.

Technorati Tags: ,

 Share Tweet This

st4u

ST 4U 68: Save and Start a New VA Image

April 11, 2011 8:15:02.338

Today's Smalltalk 4 You looks at setting up a working environment in VA Smaltalk: starting the installed image, connecting to ENVY, saving the image in that state, and then easily starting that saved image. If you prefer a written walkthrough to video, then skip down to it. 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:

Setting up VA Smalltalk

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. For this video, I captured my entire screen - you can watch the full size video here.

You can also watch it on YouTube:


Once you've installed VA Smalltalk, you can start your development environment up with the shortcut that was installed in the start menu. We'll get to how you save and start a different image in a moment - once you start the default image, you'll be presented with what's below - a dialog asking you to connect to the ENVY repository. ENVY is the source code management system for VA Smalltalk; we'll be getting deeper into that in the future. For now, simply hit the "Ok" button and let the system connect to the repository.

Start VA

Once you accept the dialog, VA will prompt you again, and then start synching up to the repository. Once it's done doing that, you'll see the second screen below:

Connect to ENVY

Connect to ENVY

Now, you probably don't want to do that every time you fire up VA - you'll want to save your image. What does that mean? Wikipedia has a good explanation of what a Smalltalk image is; suffice to say that it's a memory snapshot of everything that's going on in the Smalltal system - when you restart it, you'll be in the exact same place you were when you saved - just like hibernating a laptop.

From the launcher (the main window you saw when you started VA), pull down the file menu. Select "Save Image As...". When prompted, enter a file name different than one you are running (abt). That will save a new file into the appropriate directory. Next, open up a file browser on that directory (using your OS tools - here, I'm using Windows Explorer). Copy the file configuration file named abt, paste it, and rename the new file to match the image snapshot you just took - as shown below:

Setup a New Image

Now you can create a desktop shortcut if you like - make sure that the working directory is the one that the .icx file you saved is in, and that the target is the new .icx file - see below:

Setup a New Image

Now, double click on the shortcut - you should be right back where you left off. Need more help? There's a screencast for this topic which you may want to watch. Questions? Try the "Chat with James" Google gadget over in the sidebar (better chance of getting me that way evenings or weekends though)

Technorati Tags: , , ,

Enclosures:
[st4u68-iPhone.m4v ( Size: 7478049 )]

 Share Tweet This

smalltalk

Test Reporting with SUnitToo

April 11, 2011 14:40:57.589

 

What I wanted was a simple configuration object - it would hold a collection of TestCase class names, in a specific order. Those classes have a class method, #order which specifies the order for the tests in the class. If the method is absent, then I just query the class for all test methods and use the order that comes back. Actually running tests is pretty easy, and there's a nice class - Results - already there to gather results for you:

 

tests do: [:eachTest |
		| tc |
		tc := aTestCaseClass selector: eachTest.
		self orderRun add: eachTest.
		tc run]

 

To get the results saved, all you do is something like this:

 

Results collectWhile: [self runTestsInOrder].

 

You end up with a nice set of passed, failed, and errored out tests, which you can then easily report on. I created a simple little reporter object that dropped out three html tables, each wrapped in a named div (so that someone with some CSS awareness could do something useful with the results). It all came together pretty quickly. Next up: creating a simple UI to create the test configurations.

 Share Tweet This

gadgets

Change the Data Plan, Lose the Voice Mail

April 11, 2011 19:00:00.000

A couple of weeks ago, I changed the data plan on my iPhone in order to get access to the mobile hotspot feature. Unbeknownst to me, doing that torched support for voicemail - the person who set up the new data plan left it off. It took me two phone calls to ATT to get that resolved - not because they were difficult, but because their back end provisioning sounds difficult. The tech support person I was just on the line with didn't understand why the voice mail was gone at first. Sounds to me like they need some simplification back there.

 Share Tweet This

js4u

JS 4U 46: JQuery Effects 1

April 12, 2011 8:09:09.689

Javascript 4 U

Today's Javascript 4 You. Today we look at two JQuery effects - hide and show. 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:

JQuery Effects

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

 Share Tweet This

smalltalk

Where is that Method Defined?

April 12, 2011 11:11:12.149

Sometimes you look at a method's declared location and wonder. Take this method in class Text (VisualWorks), for example:

 

allItalic
	"Set the emphasis for all characters in the receiver to be italic."

	self emphasizeAllWith: #italic

 

Looks like a generic method that should be part of the core aspect of class Text, right? Well, it's not - it's located in package Debugger-Support. This cropped up on us this week, due to the way we do builds now. Instead of RTP stripping, our tool just yanks packages - including Debugger-Support. Whoops. The solution I came up with was to clone the method with a new name in one of our own packages, and change the references in our code (thankfully, only one) to use the new method. This looks like something Cincom should clean up though...

 Share Tweet This

smalltalk

Some StS Video Is Up

April 12, 2011 21:54:30.046

Some of the video from Smalltalk Solutions 2011 is up - if you go to the relevant STIC page, there's a list of links. Some of them lead to video, and some of them lead only to the slide decks (although those all say that the video will be forthcoming). You have to click through on each link to tell whether there's video or not; it would be nice if that info were on the index page. The good news is, the video is all hosted on Vimeo, so it'll work on any mobile device you use, not just flash enabled ones.

Technorati Tags:

 Share Tweet This

st4u

ST 4U 69: Create a New ENVY User

April 13, 2011 8:35:55.447

Today's Smalltalk 4 You looks at creating a new ENVY users - just as you shouldn't work as "administrator" on Windows, you really shouldn't work as "Library Supervisor" in VA Smalltalk. If you prefer a written walkthrough to video, then skip down to it. 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:

ENVY Users

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 first set up your ENVY source code repository, there's one user set up - the Library Supervisor. While you could just use that, it's akin to doing everything as the administrator on Windows, or as root on Unix - it works, but carries some risk (the user is simply too powerful). GIven that, it's best to set up a standard user for your regular interactions with ENVY.

As you develop code in VA Smalltalk, everything you do is captured by ENVY - there's basically no chance of you losing code. What we'll look at today is how to set up a new ENVY user for you to use when you aren't administering the repository. First, pull down the "System Menu" on the launcher, as shown below:

ENVY Users

You'll be prompted with a small dialog that asks you to fill in three things. Normally, unique name and network name will be the same thing:

ENVY Users

Next we'll change users. If you've set up ENVY in the default way, you won't be prompted for a password when you switch users. Pull down the "System" menu again, as shown below, and select "Change User":

ENVY Users

You'll see the following dialog come up, with all current ENVY users listed. Select the one you just created, and hit Ok:

ENVY Users

That's all there is to it - you can now start creating VA applications, and all of your code will be saved in the repository under this new user instead of under "Library Supervisor". We'll get into using the tools to create applications and deal with other repository uses in future screencasts.

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

Technorati Tags: , , ,

Enclosures:
[st4u69-iPhone.m4v ( Size: 3736958 )]

 Share Tweet This

smalltalk

Smalltalk in Seattle

April 13, 2011 20:40:26.131

There's a Smalltalk user's group in Seattle again. No meetings scheduled yet - so if you're in Seattle and using Smalltalk, why not help out with that?

 Share Tweet This

smalltalk

Smalltalk on the JVM

April 13, 2011 20:45:12.281

I've seen a lot of efforts in this direction over the years, most recently the RedLine guys. This one sounds like it's got a real project to push onto the JVM though, so maybe there's a bit more of an immediate motivation.

Technorati Tags: ,

 Share Tweet This

smalltalk

HPI Seaside Tutorial Updated

April 13, 2011 20:47:03.481

The really nice HPI Seaside tutorial has been updated for Seaside 3.0 - check it out.

 Share Tweet This

js4u

JS 4U 47: JQuery Effects 2

April 14, 2011 7:16:55.228

Javascript 4 U

Today's Javascript 4 You. Today we look at using JQuery selectors in conjunction with events. 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:

JQuery Effects

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

 Share Tweet This

smalltalk

CUIS 3.2 Ships

April 14, 2011 13:23:56.000

Juan Vuletich has pushed out Cuis 3.2. Some of what's new:

  • Enhanced look for menus and several other widgets
  • TIFFReader (100% Smalltalk code)
  • Many fixes and code enhancements and cleanup, especially in Morphic (World, Canvas, DamageRecorder, etc)
  • Text / TextAttribute cleanup

Technorati Tags: , , ,

 Share Tweet This

DRM

Why DRM Sucks

April 14, 2011 15:31:58.000

Yet another example in the "What could possibly go wrong" files for DRM:

Thanks to a combination of DRM idiocy and technical and communications failures on the part of EA and Bioware, I (along with thousands of fellow EA/Bioware customers) spent my free time this past weekend needlessly trapped in troubleshooting hell, in a vain attempt to get my single-player game to load. The problem, it turns out, was the Bioware's DRM authorization servers, and as of Tuesday afternoon, the situation still is not resolved. For four days now, those of us who made the mistake of shelling out for Dragon Age:Origins (especially the Ultimate Edition) have been unable to play the single-player game that we paid for. And the unlucky souls who bought the game on Friday haven't yet seen it work properly.

DRM is a fairly complex scheme that makes a number of assumptions about how things should work. If anything breaks down along the way, you just get locked out of stuff you have a legal right to use. In my exercise room, I ended up setting up an ancient PC in order to share a connection with my XBox (the Wifi adaptor for the 360 is priced really stupidly). Why did I do this? Because a few months back, when I was playing ME2, I noticed that the game started demanding a connection in order to authorize DLC (and thus let me play).

THis all leads to very fragile systems, with end customers being on the short, irritated end of the stick. And for what, really? Go google for cracked versions of games, and you'll discover that they are easy enough to find. All DRM does is stand in the way of legitimate users. The people willing to steal are doing that anyway.

I should note that this specific DRM issue was fixed by EA, and DAO apparently works again. That doesn't change the facts though.

 Share Tweet This

humor

I've Been in that Meeting

April 15, 2011 6:22:21.105

Is this video from the wayback machine, or of some of the meetings I attend?

 Share Tweet This

st4u

ST 4U 70: Getting Started with Cuis

April 15, 2011 7:22:58.371

Today's Smalltalk 4 You looks at Cuis - a smaller, more focused Squeak derived Smalltalk created by Juan Vuletich. 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:

Cuis

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

 Share Tweet This

smalltalk

Pharo, Load Balancing, and Apache

April 15, 2011 19:29:31.519

Nicholas Petton shows you how to scale with Pharo and Apache.

Technorati Tags: , ,

 Share Tweet This

itNews

Comcast Giveth and Taketh Away

April 16, 2011 10:59:39.523

The new high speed Comcast service - available in my area - sounds interesting. 105 mbps down, and a not terrible 10 mbps up (FIOS gives me better than that up, and while 105 is better than 20, I'm not unhappy with what I have). Here's the killer though: the 250 gb data cap is still on that deal. That may sound like a lot of data, but at that b/w, that's 5 or so hours of HD video. I can totally believe that I'd blow through that much in a month - 3 Netflix rentals might do it.

Why do that? Well, Comcast wants to sell you their triple play (phone/net/tv), and shove you over to on-demand, which won't be capped (but will be charged on a per use basis for all the good stuff). Net Neutrality, you say? Hah - look into the proposals. They all aid and abet this sort of thing with the blessing of law. The net neutrality advocates are today's "useful idiots" as far as the big ISPs are concerned.

Technorati Tags:

 Share Tweet This

music

Who Goes to Record Stores?

April 16, 2011 14:19:37.549

The 70's called, and they want this day back :)

 Share Tweet This