. .

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?

posted by James Robertson

 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 )]

posted by James Robertson

 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.

posted by James Robertson

 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 )]

posted by James Robertson

 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 )]

posted by James Robertson

 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

posted by James Robertson

 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:

posted by James Robertson

 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 )]

posted by James Robertson

 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 )]

posted by James Robertson

 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 )]

posted by James Robertson

 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: ,

posted by James Robertson

 Share Tweet This

js4u

JS 4U 104: The JQuery height() Function

November 3, 2011 8:12:50.825

Javascript 4 U

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

Enclosures:
[js4u105-iPhone.m4v ( Size: 1866997 )]

posted by James Robertson

 Share Tweet This

games

Coming Soon: Thu'umcast

November 3, 2011 8:50:43.000

The website design is up - it's waiting for the launch of the game. We also have a Facebook group ready to go. If you liked "That Podcast", you'll probably like "Thu'umcast" :)

Technorati Tags: skyrim

posted by James Robertson

 Share Tweet This

st4u

ST 4U 154: Empty Query Results in VA Smalltalk

November 4, 2011 8:27:27.370

Today's Smalltalk 4 You looks at how to determine whether your database query came back empty 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:

Empty Results.

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 checking the results from a query in VA Smalltalk, and then prompting the user on empty results. Let's do a query that should result in no answers:


"try a query that should return no rows"
resultCollection := OrderedCollection new.
querySpec := (AbtQuerySpec new)
	statement: 'SELECT * FROM PEOPLE where ZIPCODE = 34567'.
result := connection resultTableFromQuerySpec: querySpec.
result do: [:eachRow | resultCollection add: (eachRow)].
resultCollection isEmpty
	ifTrue:  [CwMessagePrompter message: 'No Rows Came Back' title: 'No Rows'].


The checking is fairly obvious; we simply use standard collection protocol. Then we use the standard CWMessagePrompter class to pop up a warning dialog.

And that's about it for today

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

posted by James Robertson

 Share Tweet This

Macintosh

Much Ado About Very Little

November 4, 2011 9:32:55.000

I see that there's a lot of wailing and gnashing of teeth about the requirements Apple has announced for apps that come from the App store. Unless they start requiring that apps use the App store, this actually puts in place an interesting two tier system:

  • A "safe" app store where Apple vets things
  • A "you're on your own" normal eco-system

I think we need to see how Apple lets this play out before anyone panics. I also think there's a fairly large market for people who want to treat their computer like an appliance that doesn't need ongoing maintenance....

Technorati Tags:

posted by James Robertson

 Share Tweet This