. .

st4u

ST 4U 266: Rewrite Tool Transformations

August 3, 2012 10:52:48.405

Today's Smalltalk 4 You looks at the rewrite tools in VA Smalltalk - they come in as part of the refactoring browser support. 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:

Rewrite.

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 another one of the interesting tools that comes in with the Mastering ENVY Developer Tools - the rewrite tools (part of the refactoring engine). Specifically, we'll look at code transformation. Using the stock tools, it's easy enough to rename methods, but what if you want to selectively rewrite code within a subset of the applications and classes in the system? On the launcher, open the Rewrite Tool:

Rewrite Tool

To take a simple example, we have a small class in an application that has code like this:


shouldDoThing
	^shouldDoThing isNil
		ifTrue: [shouldDoThing := false]
		ifFalse: [shouldDoThing]

And we would like to change that pattern in this class to:



shouldDoThing
	^shouldDoThing 
		ifNil: [shouldDoThing := false]
		ifNotNil: [shouldDoThing]

Simple enough for one change, but what if there are a number of them in your application - and you don't want to make that change across the entire system?

rewrite

The matching rules above will do what we want - and you can follow that pattern for any such transformation. Next, we'll limit the scope of our change. Click the "Search In" button:

Limit Scope

As we did with Small Lint, select the applications and classes you want to apply the rule to. Then hit the "Ok" Button. You'll see something like the following:

Changes

Nothing has been done yet - the system is showing you the proposed changes. You can either select individual changes to apply, or select "Execute All":

Changes

If the application(s) affected are not open, you'll get prompted by ENVY (as per usual) to create a scratch edition. Once you approve that, you'll be able to open a browser and see the changes above

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

posted by James Robertson

 Share Tweet This

games

Dawnguard, Mods, and CTD

August 3, 2012 14:26:12.776

A while back, we recorded a podcast on crashing problems related to mods in Skyrim. At the time, it sounded like Michael had run into an edge case that wouldn't impact that many people. Based on what I just ran into, I don't think that's the case anymore. Here's what just happened:

  • I installed Dawnguard via Steam
  • I had to unsubscribe to a number of mods that changed towns and villages, because I was getting a CTD on any exit of an area
  • Things ran fine again, through getting the first Dawnguard quest
  • I went into Dimhollow, and suddenly started getting freezes. A lot.
  • Then the game started CTD every few minutes
  • A look at the logfiles (see this for an explanation on setting that up) showed lots of stack traces, and my save files had suddenly jumped from 13 MB to 50MB

I suspect that most people using the PC game are going to slam headfirst into this, because the intersection of people still playing the game and people using mods is pretty high (especially given how easy it is to install mods with the Steam workshop).

This is utterly game breaking. I now have a level 63 character (with well over 100 hours invested) that is unplayable. Bethesda needs to worry about this, a lot. The game may be slow on the PS3, but it's not completely unplayable.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

podcast

IM 89: Staying Agile in the Northern Plains

August 5, 2012 20:42:58.606

Welcome to episode 89 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 - Tim Krieg talking about his team's agile development experiences. 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:
[im89.mp3 ( Size: 15475209 )]

posted by James Robertson

 Share Tweet This

podcastAAC

IM 89: Staying Agile in the Northern Plains (AAC)

August 5, 2012 20:43:50.382

Welcome to episode 89 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 - Tim Krieg talking about his team's agile development experiences. 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:
[im89.m4a ( Size: 21352850 )]

posted by James Robertson

 Share Tweet This

st4u

ST 4U 267: A Useful Menu in Pharo 2.0

August 6, 2012 19:29:49.372

Today's Smalltalk 4 You looks at a useful window menu in Pharo that's easy to miss - but has a number of useful features on 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:

A Useful Menu in Phar

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

posted by James Robertson

 Share Tweet This

travel

Letting Things Go?

August 6, 2012 19:42:32.749

I fly a lot these days, commuting to my job site in Dallas - I almost always fly American (since they have a hib in Dallas, it makes it easier to find direct flights). One of the reasons I like American is seatback power - they have it on most of their planes, and at most of the seats on those planes.

However - I think this is one of the things they are allowing to degrade during their time in bankruptcy. I've noticed the power not working in different seats on a number of planes, and this morning (I had the excitement of a 7:05 AM flight), the power was off on one whole side of the plane.

I hope this isn't a sign of them letting other, more important things slide...

posted by James Robertson

 Share Tweet This

js4u

JS 4U 193: Geo Location with Google Maps

August 7, 2012 7:28:33.157

Javascript 4 U

Today's Javascript 4 You looks at GeoLocation in the Google maps API. 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:

geo location

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

posted by James Robertson

 Share Tweet This

smalltalk

Streaming The Future

August 7, 2012 9:42:17.000

Spotted in Planet Squeak

The Altitude web framework has reintroduced work done on a new streams library Xtreams. Traditional Smalltalk-80 streams have served well for decades. Michael Lucas-Smith and Martin Kobetic started Xtreams as an attempt to distill some of their experience into a new implementation of streams. A great video of the 2010 ESUG talk is available here

While Xtreams originated in Cincom Smalltalk, the full codebase is no longer available in the Cincom public repository (you would have to check with Cincom to find out why that is; I have no idea). That means that going forward, Pharo and Squeak are probably your best sources for Xtreams.

Update: Looks like Cincom changed their mind - the code is now in the public store repository

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

st4u

ST 4U 268: Getting Started with Web Services in VA Smalltalk

August 8, 2012 0:57:13.273

Today's Smalltalk 4 You starts looking at Web Services support 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:

Starting with WS*.

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 start looking at how VA Smalltalk supports Web Services. To get started, we'll load the right code in from ENVY:

WS* Support

Move the Web Services library over to the right (a number of packages will show up there), and then load it. That brings in everything you'll need. Next time, we'll start looking at an example. In the meantime, you can try the included tutorial:


WebServicesIn10MinutesExample new open

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

posted by James Robertson

 Share Tweet This

smalltalk

Smalltalk on Android

August 8, 2012 9:09:36.000

Via Torsten:

Now there are two new CI jobs running at INRIA providing you a standard and a Cog VM for Android. This allows to run applications written in Pharo on mobile devices.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

js4u

JS 4U 194: Maps and Language

August 9, 2012 1:02:47.695

Javascript 4 U

Today's Javascript 4 You looks at the specifying the display language used when setting up a Google map in Javascript. 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:
[js4u194-iPhone.m4v ( Size: 1356787 )]

posted by James Robertson

 Share Tweet This

st4u

ST 4U 269: Creating a Web Service in VA Smalltalk

August 10, 2012 11:08:56.368

Today's Smalltalk 4 You starts creating a simple web service in VA Smalltalk. Before you get this far, you'll need to load the required support. 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:

WS*.

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 start setting up a Web Service for a simple application. To get started, here's the simple application: a counter application with one variable, and two methods that we want to advertise. If you need to see what code to load first (the basic VA support code for all of this), then watch this screencast first.

WS* Support

Notice that the methods we want to advertise are in the @WS-API category. That's important; the VA tools that generate the XML look for methods in that category. The next thing to note is the following lines in your ini file (abt.ini if you have not changed the name of your image):

ini

The XML stanza in that file tells you where VA will drop (and where it will look for) any XML files used by the Web Services system. To create the XML files we need, use this:


"Generate XML"
SstWSXmlGeneration  forClass: Counter

There are other variations on that where you can specify other options; we'll leave that aside for now. Once you execute that, look in the directory specified in your ini file:

XML

We'll look at those files in detail next time, and go over the changes you'll want to make to the boilerplate before you use them.

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

posted by James Robertson

 Share Tweet This

travel

The Joys of Travel

August 10, 2012 11:34:21.456

I was scheduled for a 9:15 PM flight last night, so I thought "I have platinum status, I'll go to DFW and see what I can get on earlier". I decided not to try the 5PM flight to DCA, since all they had left were middle seats in the back - the 6:45 to BWI sounded like a better idea. THis, as it happens, was a huge mistake. The 6:45 was oversold, and - even though I was first on the standby list - I didn't get on. Then absurdity began.

First, due to the bad weather in the midwest, some of the flight crew were late. They finally arrived, but then there was a mechanical issue... which dragged on, and on.. and on some more. We didn't leave until after midnight Dallas time, so I didn't get back to my house until learly 4 AM. That wouldn't have been so bad, except that we had scheduled a grocery delivery for 9 AM. I crawled out of bed, made coffee, checked my phone.... and found out that the delivery was delayed up to 5 hours.

I need a nap :)

posted by James Robertson

 Share Tweet This