. .

history

Memorial Day

May 30, 2011 10:04:04.681

Memorial Day, 2011

posted by James Robertson

 Share Tweet This

smalltalk

Making Storage Simpler

May 30, 2011 10:19:05.401

Sean DeNegris talks about simpler data storage:

In an enlightening blog post, Ramon Leon explains that most applications are designed for small businesses with small amounts of data. Therefore  most applications will never have to scale (i.e. become the next Twitter), so a relational database is overkill. However, persisting by simply saving the image is slow and error-prone.
Based on these ideas, he suggests a simple (one class) framework which saves only your model. The idea is to use it as long as you can get away with, which may be forever.
I packaged the code from the post, added a few tests, and put it on SqueakSource as SimplePersistence.

You have no idea how many security headaches I've avoided by using binary serialization to store the posts on this blog instead of a SQL Database. As with Sean's example, my storage needs are lightweight, and a relational database would be overkill. Not to mention being an attack vector....

Technorati Tags:

posted by James Robertson

 Share Tweet This

js4u

JS 4U 60: JQuery No Conflict

May 31, 2011 9:48:49.874

Javascript 4 U

Today's Javascript 4 You. Today we look at using the JQuery noConflict() function. It's common to make use of multiple Javascript libraries in a web app, and some libraries might also want to use the $ symbol for variable access. Never fear - JQuery has a way to deal with that problem. 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:

No Conflict

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

posted by James Robertson

 Share Tweet This

general

Graduation Day

June 1, 2011 1:09:51.547

My daughter is out of high school - off to college in the fall:

posted by James Robertson

 Share Tweet This

smalltalk

Uniscribe Interface in Smalltalk

June 1, 2011 8:29:57.000

Travis has been working on an interface to Uniscribe:

I've been working on a Uniscribe interface to VisualWorks Smalltalk off and on for the last two weeks or so. One of the frustrating things for me so far, is the lack of a good post-doc resource to go to for help with this stuff. There's the MSDN docs, which are OK, but when you have questions beyond that, I have as of yet, not found any of the resources I'm used to using for this kind of thing, such as mailing lists, etc. And the amount of "tutorial" style pages out there is pretty small. So I thought I'd at least leave a trail of breadcrumbs here.

Technorati Tags:

posted by James Robertson

 Share Tweet This

st4u

ST 4U 89: Tracking VW Overrides

June 1, 2011 10:14:31.138

Today's Smalltalk 4 You looks at tracking overrides in VisualWorks - something that's useful when it's time to update from one version to another, and you need to know how many problems you'll have doing so.. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube.

VW Overrides

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

posted by James Robertson

 Share Tweet This

smalltalk

Squeak Source 3 Alpha Goes Live

June 1, 2011 11:58:19.777

If you want to test Squeak Source 3, it's live - but it's for testing right now, note the warning:

The contents of this repository will NOT survive beyond the lifetime of the public Alpha. DO NOT store anything you are not willing to lose in this repository.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

gadgets

Why Nokia Bailed on MeeGo

June 2, 2011 8:54:33.674

Engadget has the scoop, and it's interesting - basically, Nokia did some actual introspection, and determined that they couldn't get where they needed to go with their own OS - so they partnered with Microsoft. A lot of companies could benefit by looking at their own strategies with as much of an open mind as Nokia apparently did.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

js4u

JS 4U 61: Element Replacement with AJAX

June 2, 2011 9:43:13.996

Javascript 4 U

Today's Javascript 4 You. Today we look at the low level AJAX functionality that JQuery makes simpler via the load() function (which we covered here). 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:

AJAX

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

posted by James Robertson

 Share Tweet This

smalltalk

Simple Seaside Graphs

June 2, 2011 14:57:21.000

Bob explains how easy it is to push up a nice, simple graph using Seaside

Technorati Tags:

posted by James Robertson

 Share Tweet This

smalltalk

Scratch Ported Up to Pharo

June 2, 2011 16:03:35.000

Good news for Scratch fans - there's a port in progress from the (fairly old) rev of Squeak that Scratch uses to Pharo. You can check the progress and participate via the Google Code Page

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

st4u

ST 4U 90: Test Driven Development in VA Smalltalk

June 3, 2011 13:03:04.116

Today's Smalltalk 4 You looks at loading and using SUnit in VA Smalltalk. SUnit is the standard way of supporting TDD in all Smalltalk dialects - and it's easy to use in VA. 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:

SUNit.

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 using SUnit (for unit testing) in VA Smalltalk. The first step is to use the Load/Unload Features menu pick to bring in SUnit support (along with all of the associated tools built into VA for it):

Load SUnit

In the feature list UI, scroll down to SUnit, select it, and hit the >> button to move it to the right. Then click the Ok button to load the code:

Load SUnit

Now that SUnit support is loaded, we need to create a new application that will contain our test class. We'll be building a simple test case for the previously created CounterApp - which means that our new application will need some pre-requisites to make the appropriate classes visible. First, create the application, and add the pre-reqs using the picker:

Create the Application

Create the Application

Add pre-reqs

Now we can define the new test case class. This is no different from creating any other class, but if you didn't add SUnit as a pre-req, the TestCase class won't be visible to your new application. The next few images walk through creating the class:

Create the Class

Create the Class

Now, we can write a standard SUnit testcase. Create a method that begins with the word test - that's how SUnit finds the tests in your subclass of TestCase. The last part of the method should send the #assert: message, with the argument being an expression that answers a boolean. Below is the simple example that tests the #addOne method in Counter:

test

Now, go back to the tools menu, and pulling the SUnit option right, select the SUnit Browser:

SUnit Browser

That opens a tool showing all of the tests present in your VA image. There are ways to be more specific about what you see in this tool; we'll cover that in another tutorial. For now, simply scroll down to the test you created and select it

SUnit Browser

Finally, press the Run button, and you should see two green bars and some information. If you see red, either the CounterApp has a bug, or your test is wrong.

SUnit Browser

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

posted by James Robertson

 Share Tweet This

smalltalk

Maintaining Your Gemstone Installation

June 3, 2011 14:08:04.607

Norbert Hartl has some useful maintenance tips for Gemstone/S developers and admins. Hat tip Dale

Technorati Tags:

posted by James Robertson

 Share Tweet This

games

Bypassing Steam?

June 3, 2011 20:12:28.000

I understand why EA wants to do this, but they'll have to work to get past Steam - Steam has a huge headstart on the social end of gaming:

Electronic Arts is diving into digital game distribution by launching its own service for selling downloadable games direct to consumers.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

Continuous Integration with Jenkins and Pharo

June 4, 2011 7:48:31.000

Nick Ager adds to the documentation produced by Lukas Renggli for a nice description of what to do.

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

smalltalk

Simple REST for Pharo

June 4, 2011 11:51:07.000

Need a lightweight REST solution for Pharo? Guillermo has one built on top of the KomHttpServer.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This

smalltalk

CUIS 3.3 Released

June 4, 2011 16:53:44.000

Juan Vuletich has just released CUIS 3.3. What's new? Too much stuff to list it concisely - follow the link for details. Or just download it now

Technorati Tags:

posted by James Robertson

 Share Tweet This

gadgets

Finally: Over the Air Synching for IOS

June 4, 2011 17:37:16.227

Spotted in Engadget:

While searching for updates in iTunes, a MacRumors reader stumbled upon this page, which alludes to an "Automatic Download" feature that allows for wireless syncing. Also, the fact that Apple went out of its way to say "...if your device has Automatic Download enabled for apps" makes us wonder what else we'll soon be able to update over the air. The company has since pulled the tattletale page in iTunes, but MacRumors grabbed a screenshot while it was still live.

I'd be happier about it if the phrase "about d*** time" didn't keep coming to mind :)

Technorati Tags: ,

posted by James Robertson

 Share Tweet This

podcast

IM 32: What Smalltalk Can Learn From Ruby

June 5, 2011 12:33:11.016

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

This week I have another session from Smalltalk Solutions 2011 - Steven Baker, talking about "What Smalltalk Can Learn from Ruby". The abstract for the talk was:

In the past five years, we have seen a meteoric rise in popularity of the Ruby programming language. Some attribute this to the development of a great web framework, while others claim it has more to do with the simplicity, expressiveness, and features of the Ruby language. In this talk, you'll learn some possible reasons why Smalltalk hasn't seen the same explosion in popularity, despite also having great web frameworks, and arguably more simplicity, expressiveness, and language features. We'll also learn some things we might do to encourage others to learn about Smalltalk and the benefits of using it.

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

posted by James Robertson

 Share Tweet This

podcastAAC

IM 32: What Smalltalk Can Learn From Ruby

June 5, 2011 12:33:51.926

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

This week I have another session from Smalltalk Solutions 2011 - Steven Baker, talking about "What Smalltalk Can Learn from Ruby". The abstract for the talk was:

In the past five years, we have seen a meteoric rise in popularity of the Ruby programming language. Some attribute this to the development of a great web framework, while others claim it has more to do with the simplicity, expressiveness, and features of the Ruby language. In this talk, you'll learn some possible reasons why Smalltalk hasn't seen the same explosion in popularity, despite also having great web frameworks, and arguably more simplicity, expressiveness, and language features. We'll also learn some things we might do to encourage others to learn about Smalltalk and the benefits of using it.

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

posted by James Robertson

 Share Tweet This

st4u

ST 4U 91: Focusing SUnit on Specific Tests

June 6, 2011 8:18:28.277

Today's Smalltalk 4 You looks at loading and using SUnit in VA Smalltalk. Last time we looked at the SUnit browser in VA Smalltalk, but it showed every test loaded in the image. Today, we look at how simple it is to get a more focused view. 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:

SUnit.

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 go back to SUnit in VA Smalltalk, and see how easy it is to concentrate on just the tests that are of interest to you, instead of all tests across the system. We'll start in the Application Browser, looking at the TestCase subclass we created last time:

TestCase

Right click on the class, and in the context menu, select Test:

Open the SUnit Browser

You have the same tool you saw last time, but instead of all tests that are loaded (and that could be quite a few, if you've loaded something like Seaside) - you'll see just the tests in this selection:

Focused SUnit

Now we can run just the tests we care about (one in the image below), and not be distracted by whatever else happens to be loaded in our image. On a large project, with multiple developers creating features and tests, that could be a big distraction:

Focused SUnit

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

posted by James Robertson

 Share Tweet This

advertising

Tablets, the Cloud, and Smalltalk

June 6, 2011 9:50:15.000

Runar Jordahl links to a post about Tablets and the Cloud, and passes on his own thoughts:

Skrishnamachari says that better interfacing with Java is vital to grow Smalltalk’s use in cloud computing. That might be true, but interfacing to NoSQL databases (Cassandra, Riak, Hbase) and services (like AWS) running in the cloud, is just as important. Cloudfork is one such interface, the Riak interface another. I think we should be able to write great cloud applications from scratch using Smalltalk, and increasingly these tools are becoming more important.

One thing that you'll notice right off is the complete dearth of commercial Smalltalk support for tablet devices. All of the action is in Pharo and Squeak, where there's been a fair bit of work done to support IOS, and a start at Android support. Cloud/web interfacing looks more possible for the commercial systems, but again - most of the action is coming from community people (Cloudfork, anyone?).

I understand the need to support the existing customer base, and the whole "where's the revenue?" problem - but at the same time, these are areas that really can't be ignored.

Technorati Tags: , ,

posted by James Robertson

 Share Tweet This