. .

js4u

JS 4U 231: Layering on a Weather Map

December 19, 2012 22:23:37.613

Javascript 4 U

Today's Javascript 4 You looks at the gt() 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:

weather map layer

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:

Tags: ,

Enclosures:
[js4u231-iPhone.m4v ( Size: 1237576 )]

posted by James Robertson

 Share Tweet This

smalltalk

Pharo on Google Plus

December 19, 2012 18:00:04.817

For those of you who use something other than Facebook (or maybe in addition to it) - Pharo is now on Google Plus.

Tags:

posted by James Robertson

 Share Tweet This

st4u

ST 4U 323: More on Polymorphism

December 19, 2012 7:32:57.253

Today's Smalltalk 4 You goesback to Polymorphism in Smalltalk for some more discussion. 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:

Polymorphism

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:


We've gone over a basic polymorphism example, but one point needs to be made: when you decide to add polymorphic behavior to your own objects, the API you need to cover is typically small. What if you need to cover a system class - like, say, Collection?

Collection API

In the simple example we covered here, there was one method to create in each object: #currentValue. If you intend to cover something larger, you'll have more work to do.

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.

Tags: ,

Enclosures:
[st4u323-iPhone.m4v ( Size: 2411402 )]

posted by James Robertson

 Share Tweet This

js4u

JS 4U 230: Layering on a Transit Map

December 18, 2012 7:33:08.158

Javascript 4 U

Today's Javascript 4 You looks at adding a transit layer to a Google street map with 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:

transit layer

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:

Tags: , ,

Enclosures:
[js4u230-iPhone.m4v ( Size: 1079169 )]

posted by James Robertson

 Share Tweet This

skyrimAAC

Thu'umcast 34: Dragon Lore (AAC)

December 18, 2012 1:46:53.038

Thu'umcast

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

Today, James and Michael talk about some of the dragon/Nord lore behind the main plot in Skyrim. This came up now that we are both playing the game on Expert difficulty, and Michael has just gotten through Dawnguard. For some of the background we discussed, have a look here.

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!

Tags: , , ,

Enclosures:
[thuum34.m4a ( Size: 15598246 )]

posted by James Robertson

 Share Tweet This

skyrim

Thu'umcast 34: Dragon Lore

December 18, 2012 1:45:19.288

Thu'umcast

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

Today, James and Michael talk about some of the dragon/Nord lore behind the main plot in Skyrim. This came up now that we are both playing the game on Expert difficulty, and Michael has just gotten through Dawnguard. For some of the background we discussed, have a look here.

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!

Tags: , , ,

Enclosures:
[thuum34.mp3 ( Size: 11381283 )]

posted by James Robertson

 Share Tweet This

st4u

ST 4U 322: Keyboard Binding Changes in VW

December 17, 2012 7:27:20.990

Today's Smalltalk 4 You looks at one of the changes - keyboard shortcuts - you'll run into when upgrading from an older rev of VisualWorks to the latest. 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:

VisualWorks

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:

Tags: ,

Enclosures:
[st4u322-iPhone.m4v ( Size: 1903066 )]

posted by James Robertson

 Share Tweet This

stic13

Call For Participation: STIC 2013

December 16, 2012 19:03:15.000

It's time to get ready for STIC 2013: We are putting out the call for participation for next year's conference. I'm pleased to announce that I'll be helping put together the schedule for this year's talks. This one has some added excitement - we are celebrating the 30th anniversary of Smalltalk.

STIC is a forum where Smalltalk professionals, researchers and enthusiasts can meet and share ideas and experiences. STIC is currently accepting proposals for talks involving Smalltalk technology and other areas of innovation in the software industry. We’re looking forward to an excellent conference and need your participation to maintain the high technical level of the conference!

We are also looking for academic papers for the “Smalltalk Directions” part of the conference. If you plan to submit a paper, please follow the same directions listed below for presentations. Such papers should address possible future directions for Smalltalk and/or Smalltalk-inspired dynamic languages.

The conference will take place at the Wigwam Resort in Phoenix, Arizona on June 9-12, 2013.

Presentations will have 45 minutes time slots including discussion, and they may be in the form of:

  • History of Smalltalk – It’s the 30th Anniversary of the language, and we would love to see presentations on this topic.
  • Technical presentations
  • Experience reports
  • Technology demonstrations
  • Panel discussions
  • Workshops
  • Describe your idea to us!

Proposals should be submitted by email to Sts_Speakers@stic.st and should include the following information:

  • Name
  • Contact information
  • Type of presentation
  • A brief abstract
  • A short biography for the presenter(s)
  • Any date/time constraints
  • Any other information you think we should know

If you cannot discuss the internal application you are working on due to corporate restrictions, perhaps you can discuss the application’s component usage or development process. We also plan to reserve time for short presentations in the form of Lightning Talks and short technology demonstrations, but these will be available for sign-up at the conference rather than as advanced proposals. These talks will be limited to a five- to eight-minute time window. So if you intend to volunteer for one at the conference, please be prepared for that!

Submissions should be received by February 28, 2013, and should be submitted either in PDF or Word (Microsoft) format. Note that submissions with incomplete information may be rejected (particularly if a bio or abstract information is missing).

Presenters will qualify for a discounted registration. If your talk is accepted, we’ll have full details on the specifics.

For updates and announcements about the conference, please visit us on the web at http://www.stic.st

Tags: ,

posted by James Robertson

 Share Tweet This

podcastAAC

IM 107: New GUI Directions for ObjectStudio (AAC)

December 16, 2012 10:13:01.790

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

This week we have a recording from ESUG 2012 - Andreas Hiltner of Cincom talking about some new directions for the ObjectStudio GUI. 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!

Tags: ,

Enclosures:
[im107.m4a ( Size: 7671713 )]

posted by James Robertson

 Share Tweet This

podcast

IM 107: New GUI Directions for ObjectStudio

December 16, 2012 10:12:31.845

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

This week we have a recording from ESUG 2012 - Andreas Hiltner of Cincom talking about some new directions for the ObjectStudio GUI. 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!

Tags: ,

Enclosures:
[im107.mp3 ( Size: 5460121 )]

posted by James Robertson

 Share Tweet This

smalltalk

ObjectStudio Database Changes

December 14, 2012 17:41:10.000

This will be of interest to ObjectStudio shops:

In ObjectStudio 8.5, Cincom will add a new ODBC Wrapper Via ODBCEXDI. This new ODBC Wrapper is built upon VisualWorks’ ODBCEXDI. While the APIs at the database level are compatible with those in the existing ODBC Wrapper, all of its interactions with ODBC libraries will be handled by VisualWorks ODBCEXDI.

In general, getting rid of redundant frameworks is good. It may involve some ugrade work for anyone who's gone in and made extensions in that area though.

Tags: ,

posted by James Robertson

 Share Tweet This

st4u

ST 4U 321: Using Polymorphism

December 14, 2012 10:32:32.511

Today's Smalltalk 4 You looks at the standard development process using VA Smalltalk and ENVY. 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:

Polymorphism.

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:


We've gone over a sketch of a Case Statement object in Smalltalk, but most of the time, polymorphism is the better answer. Today we'll give a simple example. Consider three classes that hold financial data:



Object subclass: #Instrument
    classInstanceVariableNames: ''
    instanceVariableNames: 'value '
    classVariableNames: ''
    poolDictionaries: ''

Object subclass: #SavingsAccount
    classInstanceVariableNames: ''
    instanceVariableNames: 'balance '
    classVariableNames: ''
    poolDictionaries: ''

Object subclass: #StockAccount
    classInstanceVariableNames: ''
    instanceVariableNames: 'stocks '
    classVariableNames: ''
    poolDictionaries: ''

Each object calculates their value differently, but the idea is, we can send #currentValue to each, without needing to know the way they function internally (for an example in the base libraries, consider all of the objects that respond to #next). Here's the three implementations of #currentValue:


Instrument

currentValue
	^self value

SavingsAccount

currentValue
	^self balance

StockAccount

currentValue
	^self stocks inject: 0 into: [:subTotal :next | subTotal + next currentValue].

The nice part comes in when we need to get the values. We need not worry what kind of instrument we have; we simply send #currentValue to it:


| savings investment1 investment2 investment3 investment4 stockAcct |
savings := SavingsAccount new: 1000.
investment1 := Instrument value: 200.
investment2 := Instrument value: 400.
investment3 := Instrument value: 600.
investment4 := Instrument value: 800.
stockAcct := StockAccount stocks: 
	(Array
			with: investment1
			with: investment2
			with: investment3
			with: investment4).

Transcript show: 'Savings: ', savings currentValue printString; cr.
Transcript show: 'Stocks: ', stockAcct currentValue printString; cr.
Transcript show: 'Investment 1: ', investment1 currentValue printString; cr.

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.

Tags: ,

Enclosures:
[st4u321-iPhone.m4v ( Size: 3971079 )]

posted by James Robertson

 Share Tweet This

smalltalk

Server Smalltalk

December 14, 2012 9:46:19.707

Joachim goes through some of the hassles involved in debugging a server issue in Smalltalk (specifically VA, although I think the basic issues are agnostic):

Yesterday I packaged my Seaside Application for the first time on VA Smalltalk 8.5.2 and deployed it to a staging server. And promptly as expected, I got some errors: The first few were easy to find. One of them being a missing rule in AbtXDSingleImagePackagingRule (or some superclass) to include the new EsTimeZone code. That could be fixed by hand. But this morning I spent quite some time searching for a problem in the walkback.log that didn’t exist. And this post is mostly intended for myself to remember next time. But it might also save you some time. The second purpose of this post (or, to be exact, the next one) is to underline why I think the VAST port of Glorp has a lousy adaption of error handling.

There's more, but I have a small word of advice that's made my life easier: don't package images for deployment when going to the server. I run a VW server for this blog, and it's a full dev image, simply running headless. That makes debugging it far, far simpler. I can set up the same image locally, and test things with all the tools available. For that matter, I can set up the same image on a different port on the server, and debug it headful using VNC.

Tags:

posted by James Robertson

 Share Tweet This

js4u

JS 4U 229: Traffic Layers

December 13, 2012 8:43:36.367

Javascript 4 U

Today's Javascript 4 You looks at adding a traffic layer to a Google streetmap. 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:

transit

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:

Tags: , ,

Enclosures:
[js4u229-iPhone.m4v ( Size: 1065649 )]

posted by James Robertson

 Share Tweet This

games

Mass Effect is Doomed

December 12, 2012 22:04:19.085

Spotted in Joystiq

"While I can't comment on why it changed studios, fans can expect a similar style of choices and action that they've come to know in Mass Effect," Gamble said. "Casey Hudson is very much involved in the new Mass Effect game, as well as many from Edmonton. BioWare Montreal is a great studio and they did fantastic with the multiplayer for Mass Effect 3, so fans should know the series is in good hands.

*Cough*. This is the same Casey Hudson who defended his awful, awful ending for Mass Effect 3. Good hands would mean that Hudson had been fired, and someone who understood how to end a story had been brought on.

Tags:

posted by James Robertson

 Share Tweet This

st4u

ST 4U 320: Using a CaseStatement in Smalltalk

December 12, 2012 11:15:01.801

Today's Smalltalk 4 You goes back to the CaseStatement sketch we did recently, and goes over when such a construct might be useful in 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:

Case Statement.

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:


Having looked at a Case Statement sketch and at polymorphism, we'll turn back to the Case Statement idea - when might such a thing be useful in Smalltalk? There are times when you end up with a long section of #ifTrue:ifFalse: blocks - when dealing with keyboard shortcuts, or possibly return values from an external application. Consider this simple example:



"imagine that val is the return value from some external application"

| val cases |
val := ((EsRandom new next) * 10) rounded.
cases := CaseStatement case: 1 do: [Transcript show: '1'; cr].
cases
	case: 2  do: [Transcript show: '2'; cr];
	case: 3  do: [Transcript show: '3'; cr];
	case: 4  do: [Transcript show: '4'; cr];
	case: 5  do: [Transcript show: '5'; cr];
	case: 6  do: [Transcript show: '6'; cr];
	case: 7  do: [Transcript show: '7'; cr];
	case: 8  do: [Transcript show: '8'; cr];
	case: 9  do: [Transcript show: '9'; cr].
cases switch: val default: [Transcript show: 'Not Found: ', val printString; cr].


Instead of a random number generator, imagine that the code coming back is from an external system call, and we need to do different things based on what came back. We could set up a polymorphic caller, using a dictionary matching numbers to symbols, and then performing the symbols - but that might actually be less clear than the code above. It's not often that you'll need a case statement in Smalltalk, but it does come up from time to time.

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.

Tags: ,

Enclosures:
[st4u320-iPhone.m4v ( Size: 3329436 )]

posted by James Robertson

 Share Tweet This