. .

social media

When Good Enough is Good Enough

September 18, 2011 18:21:42.670

Dare Obasanjo makes some great points about how Facebook is "good enough" compared to FourSquare, FriendFeed (etc, etc) - and analogizes what Facebook is doing to the RSS progression:

I’m reminded a little of the world of RSS readers. A few years ago there was a lot of innovation in client RSS readers from commercial offerings like FeedDemon and NewsGator Inbox to home grown projects like RSS Bandit. However, RSS was eventually added to the big gorilla in client communication tools; Outlook. When this happened a lot of the innovation in this space dried up and it didn’t take long for Outlook to become the dominant RSS reader. This is despite the fact that Outlook didn’t go nearly as deep in the RSS reading technology it provided compared to dedicated RSS readers.

That's pretty much how it goes. Lots of people live in Outlook; whatever RSS functionality Outlook provides is, by definition, good enough for those people. Facebook does the same thing to other social media offerings all the time, and so far, it's working.

Technorati Tags:

posted by James Robertson

 Share Tweet This

podcastAAC

IM 46: The Future of Store (AAC)

September 18, 2011 14:32:47.561

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

This week we have another session from ESUG 2010 - Cincom's engineering manager, Alan Knight, talking about the future of Store. Much of that future is in place now, as VW 7.8 shipped with Store migrated on top of the GLORP O/R framework.

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

posted by James Robertson

 Share Tweet This

podcast

IM 46: The Future of Store

September 18, 2011 14:32:15.900

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

This week we have another session from ESUG 2010 - Cincom's engineering manager, Alan Knight, talking about the future of Store. Much of that future is in place now, as VW 7.8 shipped with Store migrated on top of the GLORP O/R framework.

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

posted by James Robertson

 Share Tweet This

smalltalk

Smalltalks 2011 Call for Participation

September 16, 2011 13:08:33.000

The Smalltalks conference - held in Argentina each year - is making a call for participation:

The Fundación Argentina de Smalltalk (FAST, http://www.fast.org.ar) invites you to the 5th Argentine Smalltalk Conference, to be held on November 3, 4 and 5, 2011 at the Quilmes University located in Buenos Aires. Everyone, including teachers, students, researchers, developers and entrepreneurs, are welcome as speakers or attendees. Registration is free and now open

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

st4u

ST 4U 133: Amber

September 16, 2011 7:17:49.603

Today's Smalltalk 4 You looks at Amber (formerly JTalk) - a new Smalltalk environment hosted on Javascript. Meaning, it runs in your browser. 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:

Amber

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

posted by James Robertson

 Share Tweet This

smalltalk

Interesting VW 7.8 Build Problem

September 15, 2011 19:19:59.740

Today I was in the last bit of an update from VW 7.6 to VW 7.8 (the last bit of the major work; I'm sure there will be small stuff popping up for weeks yet). The thing I ran into was in my build tool - it just wouldn't build a working runtime. I assumed it was a problem with my script, so I tried RTP to see if things went differently for me (even though I really dislike RTP...). Lo and behold, it failed the same way, but I managed to get an error log (no idea why my build didn't spit one out, but there it is). This method caused me fits, in SystemEventInterest:


notifyStoreBrowser
	"StoreRefactoringBrowser has an interest in #earlySystemInstallation.   When that event occurs,
	 it will clear out any open browsers."

	

	Store.Glorp.StoreRefactoringBrowser cleanUpObsoleteInstances

I have no idea why that doesn't have an "isRuntime" check in it - and after speaking to some people at Cincom, I learned that it's probably the eventual answer. In any case, I changed it to look like this:


notifyStoreBrowser
	"StoreRefactoringBrowser has an interest in #earlySystemInstallation.   When that event occurs,
	 it will clear out any open browsers."

	

	DeploymentOptionsSystem isRuntime
		ifFalse: [Store.Glorp.StoreRefactoringBrowser cleanUpObsoleteInstances].

Which prevents the message from being sent to the (deleted in a runtime) class. It's always something :)

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

Deep Thoughts on SUnit

September 15, 2011 16:19:27.000

Joachim has some ideas for cleaning up the differences between assert:/should: and deny:/shouldnt: in SUnit. Since the latter messages take blocks (while the former take boolean expressions), he wants to add (or assume it's been added) #value to object and put all of the functionality in the first set of messages.

I recall many a debate over having #value in Object, and I know that it was removed from VisualWorks a few releases ago (although every project I've ever seen has added it back). Joachim's ideas seem reasonable to me; Simpler is usually better.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

YesPlan: Pharo, Seaside, Glass

September 15, 2011 13:11:03.000

YesPlan - event planning software written in Seaside (using Pharo and GLASS) - have released a series of videos showing off the software

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

js4u

JS 4U 91: The :button selector

September 15, 2011 7:23:53.567

Javascript 4 U

Today's Javascript 4 You. Today we look at the :button selector 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:

:button selector

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

posted by James Robertson

 Share Tweet This

smalltalk

Bringing Theories to SUnit

September 14, 2011 13:11:37.000

This sounds really interesting:

The good fellows in Haskell land came up with a nice idea one day: instead of relying on a programmer writing well-thought out tests, with test data designed to flush out edge cases, they realised that people aren’t very good at finding bugs in their own code. The real world is too random, too crazy, to leave us alone. Things break in production for reasons we would never anticipate. So why don’t we, as part of our testing process, throw some randomness at our tests? So that’s just what QuickCheck does. You specify a property - something you hold to be true for all your Foos - and QuickCheck will test your property by generating test cases. If it finds a counterexample, it figures out a minimal version of that counterexample and prints it out.

Developers not only make mistakes, you often hear people say that "there's no time for testing". This looks like it would lend a hand in both cases.

Technorati Tags:

posted by James Robertson

 Share Tweet This

st4u

ST 4U 132: Creating a New Edition in VA Smalltalk

September 14, 2011 7:24:29.240

Today's Smalltalk 4 You looks at how you "open" an application for new development in VA Smalltalk. Once you've released a new version, it's "closed" - but it's simple enough to open up a new edition - it's just part of the ENVY process. 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:

Open Editions.

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 how to open an application edition in VA Smalltalk for new development. What does that mean? Well, in the Seaside application we built for the tutorial, we versioned off the application with the end of each tutorial section. So if you pop in and try to start adding code, you'll see a warning like this:

scratch

There's no harm in accepting that dialog, but let's walk through the formal way of creating an "open" edition in Envy that you can add new code to. To start, go back to the launcher, select Tools from the menu, and then Manage Applications:

Manage Applications

Once that opens up, select the application you want to open up to new development, open the context menu on, and select Create New Edition:

New Edition

Once you've done that, have a look at the application in the tool - the little icon next to the name has turned green, indicating that it's open:

Open Edition

Finally, make a change in one of the classes in this application - back in the application management tool notice that the icon next to the class name also turns green:

Open Class

That makes it easy to tell at a glance which applications and classes have changed.

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

posted by James Robertson

 Share Tweet This

smalltalk

JTalk is Now Amber

September 13, 2011 18:48:50.593

new name, new website:

Amber, formerly known as Jtalk, is an implementation of the Smalltalk-80 language. It is designed to make client-side development faster and easier. It allows developers to write client-side heavy web applications in Smalltalk.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

search

Sometimes You Can't Find What You Need

September 13, 2011 13:19:33.000

Auto-Correct is a great feature in a word processor - but in search, it can sometimes be frustrating. Take Locai's problem in the Android market:

Locai launched their Android app… but even days later, it was no where to be found in the Android Market. After some investigation, Locai found the issue: somewhere on the backend, Google’s Android Market is autocorrecting all searches for “Locai” to “Local” without alerting the user. As a result, would-be Android users just can’t seem to find the app.

That's a facinating problem, and one I certainly don't envy them for. Sure, Google should probably show exact matches in addition to "corrected" ones, but at the same time - maybe the guys at Locai sould have done a bit of research before committing to a name....

posted by James Robertson

 Share Tweet This

js4u

JS 4U 90: The :header selector

September 13, 2011 7:15:02.119

Javascript 4 U

Today's Javascript 4 Youlooks at one of the more speceific selectors in JQuery: :header. It lets you select all header elements on a page. 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:

header selector

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

posted by James Robertson

 Share Tweet This

copyright

When Bad Things Happen to Bad People

September 12, 2011 12:51:17.000

Pass the popcorn - the copyright trolls at RightHaven are near bankruptcy:

Despite its backing by the billionaire Warren Stephens family, Las Vegas copyright lawsuit filer Righthaven LLC warned today it may have to file for bankruptcy because of a series of setbacks in its litigation campaign.

It's the very least that they deserve.

posted by James Robertson

 Share Tweet This

st4u

ST 4U 131: Static Urls in Seaside

September 12, 2011 6:41:45.707

Today's Smalltalk 4 You continues the VA Smalltalk Seaside tutorial with a look at static urls - how to add them to your Seaside application. Turns out it's pretty easy. 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:

Static Urls.

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 static urls - something that most websites need (at least at the entry points), and that Seaside does not provide by default. That doesn't mean it's hard to do though - you simply have to tell your application which urls you'll be handling yourself. To do that, you need to create an #initialRequest: method in your entry point class - BlogServerView in our case:

initialRequest: aRequest
  "set up for handling static urls"

  super initialRequest: aRequest.
  aRequest at: 'id' ifPresent: [:idNumber |
    | postOrNil |
    postOrNil := BlogStorage default posts 
	detect: [:each | each id printString = idNumber]
	ifNone: [nil].
    postOrNil ifNotNil: [listComponent filterBlock: [Array with: postOrNil]]].

There are a few things going on there. First off, we get the request sent to us, along with the arguments in an easy to handle fashion - using Dictionary protocol with the url argument as the key. The above code assumes that our urls will look something like this:

blogView?id=1234567

Where the id number is associated with each post object. That also assumes that each post as a "perm-link" associated with it - which we'll set up on the post title's as they render - in BlogListView, we'll modify #renderPostOn: to call #renderTitleOn:for:, instead of just directly dropping out the title as text. Then we'll need that method::


renderTitleOn: html for: post
  "put a permalink on the title"

  html strong: [ (html anchor)
	url: 'blogView?id=', post id printString;
	with: post title].

That sets up the post titles to have the urls we are looking for in the #initialRequest: method. If it all works, we can now refresh our top page, and click on a post - you should see one post come back, something like this:

One Post

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

posted by James Robertson

 Share Tweet This

smalltalk

Smalltalk - Still Different

September 11, 2011 20:36:35.000

This is the sort of thing that all Smalltalkers - myself included - take for granted - that the code pane of the browser is just a special purpose workspace. It's interesting to note how unusual that is for developers who don't use Smalltalk much:

Notice that there is no UI for creating new methods! There's a strange and subtle shift in UI design thinking in effect here. Instead of the purpose of the code pane being to "edit some little snippet of code already associated with the current class", thereby necessitating UI for creating new methods, its purpose is to "interpret any submitted piece of code in the context of the current class", thereby permitting both definition of new methods and updates to existing methods.

This is, to my way of thinking, a wonderful thing about Smalltalk, but: it is the sort of thing that throws newcomers off at first.

posted by James Robertson

 Share Tweet This

podcastAAC

IM 45: ESUG 2011 Retrospective with Mike Taylor (AAC)

September 11, 2011 10:56:53.782

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

This week we have another ESUG 2011 retrospective - with MIke Taylor, President and CEO of Instantiations.

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

posted by James Robertson

 Share Tweet This

podcast

IM 45: ESUG 2011 Retrospective with Mike Taylor

September 11, 2011 10:56:19.972

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

This week we have another ESUG 2011 retrospective - with MIke Taylor, President and CEO of Instantiations.

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

posted by James Robertson

 Share Tweet This

history

Ten Years On

September 11, 2011 10:22:57.992

I remember the morning of 9/11 pretty clearly - I was downstairs, puttering in my email when my wife called me to the TV - something had happened in New York. While I was watching the smoke pour into the sky, the second plane hit - and as the announcer speculated as to what kind of plane it was, I immediately realized that it wasn't a small plane.

One thing that has bothered me over the last decade is the timidity of the media in showing images of that day. Yes, it was horrible. No, the public does not need to be "protected". No rational discussion can proceed from a point of obscurity, so: remember this:

Technorati Tags:

posted by James Robertson

 Share Tweet This