. .

smalltalk

Why Smalltalks 2011?

October 26, 2011 7:58:33.862

Hernan Wilkinson explains why you should consider attending Smalltalks 2011, in an email to various Smalltalk lists:

To begin with, this conference isn’t only about a programming language, it’s about a technology and a development culture which still has a wide influence on our profession. For example, last year Gilad Bracha came to the conference. Who is Gilad Bracha? Maybe the name rings a bell... well, that’s because he’s one of the people behind Dart, Google’s new language (http://www.dartlang.org/). And what does that have to do with Smalltalk? Precisely: Gilad Bracha was one of the creators of Strongtalk (http://www.strongtalk.org/), the fastest Samlltalk at that time, which used adaptive compilation, Polimorphic Inline Caching (PIC), optional variable typing, etc. - all of which are being implemented now in Dart. This year one of his closest collaborators will visit us, Vassili Bykov, who implemented the UI of Newspeak, the latest language he has been working on.

Technorati Tags:

 Share Tweet This

st4u

ST 4U 150: Exception Handling in VA Smalltalk

October 26, 2011 10:15:12.086

Today's Smalltalk 4 You looks at error handling 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:

Error Handling.

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 error handling in VA Smalltalk - the ANS exception system, and the older, instance based signal mechanism. First, let's look at a few simple examples, using divide by zero as the source of our error:


"simple exception handling"
[10 / 0]
   on: ZeroDivide
   do: [:ex | Transcript cr.
   Transcript show: ('Error: <', ex printString, '>'); cr]. 

When the code in the block throws the exception we are looking for, the handle block executes, printing to the Transcript. You can query the exception for details as well:


"simple description"
[10 / 0]
   on: ZeroDivide
   do: [:ex | Transcript cr.
   Transcript show: ('Error: <', ex description, '>'); cr]. 		

You can also resume the exception (assuming it's resumable - you need to look at the implementation of #isResumable for the exception in question):



"just resume"
[10 / 0]
	on: ZeroDivide
	do: [:ex | ex resume].
Transcript show: 'Resumed'; cr.

That will continue past the exception as if nothing happened. Probably not the best handling in most circumstances, but it's something you can do which comes in handy on occasion. One thing to be aware of in VA Smalltalk; not all of the ANSI spec for exceptions has been implemented. #retryUsing: does not work in VA:


"retry - not implemented"
[10 / 0]
	on: ZeroDivide
	do: [:ex | ex retryUsing: [10 / 2]]

Will yield this exception:

Retry

This will only come up if you are porting code from another Smalltalk (Pharo or VW, for instance) - when writing native VA code, this isn't really a problem. The older Signal (instance based) exception mechanism still exists in VA, and is heavily used in the libraries. Using that looks like this:


"Signal based"
[10 / 0]
	when: ExError
	do: [:signal | signal exitWith: nil]

For the most part, handlers using #when:do: will look like that, although you can, of course, customize the do block.

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

 Share Tweet This

news

Corporate Mismanagement

October 26, 2011 13:18:52.185

I have to say, I'm not surprised by the news that the head of McKinsey was engaged in unethical behavior. Not because of anything I know about that company; rather, because of what I saw years ago at ParcPlace. Here's what Walter Russel Mead has to say, in part:

That a criminal could win the trust of so many of the ‘best and the brightest’ in philanthropy and business chillingly demonstrates the moral and intellectual vacuum in the corporate world. Years of excessive payment for executives, okayed by go along to get along boards of directors, a culture of entitlement and a lack of personal character and strong moral codes have created a dead zone at the core of American life.

That took me back. Recall PPS back in the mid 90's, spiraling down under the management of Bill Lyons. His leadership was clearly flawed; he deserved a swift boot out with something along the lines of "and don't let the door hit you on the way out". However - that's not how it worked out.

He, like many execs, had a golden parachute. I don't recall the number now, but when he left - failure in his wake - he took a tidy sum with him. At the very least, that represented a complete failure on the part of the board. He was hardly the only guy to walk from a failure with a huge check; such golden parachutes are common. At the upper ranks, it's quite common for failure to be well rewarded.

But why? Why do boards do such things? Because it's not their money, and everyone is pals, I guess. Something is very rotten in the way a lot of boards and executive suites work together when failure is so regularly rewarded.

Technorati Tags:

 Share Tweet This

smalltalk

Iron Smalltalk

October 27, 2011 7:24:47.734

Todor Todorov has set up a project, and will be talking about it at Smalltalks 2011.

 Share Tweet This

js4u

JS 4U 103: scrollTop()

October 27, 2011 8:05:25.927

Javascript 4 U

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

scrollTop()

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

 Share Tweet This

development

An Industry Observation

October 28, 2011 9:37:11.381

In a conversation about various Smalltalk environments on the VSE mailing list, .NET came up. What piqued my interest was this statement:

The default .API for .NET is *not* webservices. Anyone saying so is clearly trying to advocate a language missing real .NET bindings.

Never mind the context, or even the obvious edge in the statement - that's not what grabbed me. It took me back to Steve Yegge's rant about Google (and their non-support for a platform). But again, this isn't really about that rant, or about Google, either - it just made me think about the difference between how Microsoft approaches things and how Apple does.

The impression I get (from way on the outside, admittedly) is that Apple has "a way" of doing code. There are standards, both at the API level and at the UI presentation level. Microsoft? Not so much. There was an obvious push from one influential group for .NET a few years back, but it largely foundered - most app dev at MS still uses C++, and .NET is really only focused out now.

I'd say that Microsoft is just too big to be that focused, but apparently Amazon got religion (at the behest of a really committed CEO). Likewise, Apple is obviously focused - and that makes me wonder: is the real difference having a CEO who's willing to jump in and get his hands dirty? Lots of firms have CEO's who advocate best practices, and then leave their team to execute on that as best they can. Is having a control freak a better way?

 Share Tweet This

st4u

ST 4U 151: Exception Handling in Pharo Smalltalk

October 28, 2011 9:49:07.221

Today's Smalltalk 4 You looks at exception handling in Pharo 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:

Exception Handling

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

 Share Tweet This

weather

A White Halloween?

October 29, 2011 10:40:48.039

This is not the weather map I expect to be looking at in October in Maryland:

If we get any appreciable amount of ice and/or snow, a lot of trees and branches are going to come down, since most of the leaves are still up.

 Share Tweet This

podcast

IM 52: What About Dart?

October 30, 2011 20:23:59.841

Welcome to episode 52 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson, Michael Lucas-Smith, and David Buck.

This week dave Buck and I welcome Alan Knight, Cincom's engineering manager to the podcast to talk about the new Dart language from Google. Dart has a fair amount of Smalltalk influences from its designers, and we talk about how some of that surfaced in the language..

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

 Share Tweet This

podcastAAC

IM 52: What About Dart? (AAC)

October 30, 2011 20:24:34.051

Welcome to episode 52 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson, Michael Lucas-Smith, and David Buck.

This week dave Buck and I welcome Alan Knight, Cincom's engineering manager to the podcast to talk about the new Dart language from Google. Dart has a fair amount of Smalltalk influences from its designers, and we talk about how some of that surfaced in the language..

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:
[im52.m4a ( Size: 34:38 )]

 Share Tweet This

humor

The Jokes Write Themselves

October 30, 2011 20:31:56.501

Well, I did just have Mexican food...

Something Has Exploded In a Spectacular Fashion On Uranus
 Share Tweet This

games

Coming Attractions: Thu'umcast

October 31, 2011 7:00:38.000

We enjoyed bringing you "That Podcast" - and soon, we'll be doing another podcast: Thu'umcast: A Skyrim Gameplay Diary. We'll have an iTunes feed, and a Facebook group, probably a Google + setup as well. Stay tuned - once the game launches, we'll start recording!

Technorati Tags:

 Share Tweet This

st4u

ST 4U 152: Exception Handling in VisualWorks Smalltalk

October 31, 2011 8:50:41.732

Today's Smalltalk 4 You looks at exception handling in VisualWorks 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:

Exceptions

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

 Share Tweet This

js4u

JS 4U 104: The JQuery height() Function

November 1, 2011 4:52:12.617

Javascript 4 U

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

height()

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

 Share Tweet This

st4u

ST 4U 153: Handling Database Framework Errors in VA Smalltalk

November 2, 2011 7:55:28.136

Today's Smalltalk 4 You looks at error handling for database development 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:

Database Errors.

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 setting (and unsetting) an error handler for database exceptions. In some cases, you may not want to catch all possible errors at the place they originate; you'll want a catchall handler specific to database issues. That turns out to be easy to set up in VA Smalltalk:


"set up an error handler for db work"
AbtDbmSystem activeDatabaseMgr  errorBlock: 
     [:error | Transcript show: 'Whoops, that did not work out for us: ', error errorText printString; cr].



To illustrate, let's execute a query that won't work:


"try a query that should throw an error"
resultCollection := OrderedCollection new.
querySpec := (AbtQuerySpec new)
	statement: 'SELECT EMAIL FROM PEOPLE'.
result := connection resultTableFromQuerySpec: querySpec.
result do: [:eachRow | resultCollection add: (eachRow)].
^resultCollection. 		

Instead of an error notifier, you get a message in the Transcript:

Error Handling

This can be useful when you are running a server system, and don't want a default notifier to pop up. Instead, you can log the error, and then have the system do something intelligent - quit, reset connections, whatever. If you want to reset to the default handling (for development, probably), just execute the same code with a nil argument:



"reset to default handling"
AbtDbmSystem activeDatabaseMgr  errorBlock: nil.

Now you'll see the default handling when you try that bad query:

Default Error Handling

Default Error Handling

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

 Share Tweet This

smalltalk

Smalltalks 2011 Live Streaming

November 2, 2011 22:33:05.452

Can't get to Smalltalks 2011 in Argentina? Never fear, they are live streaming, starting tomorrow.

Technorati Tags: ,

 Share Tweet This