. .

general

Brief Outage

January 6, 2011 8:18:50.127

There was an issue with the service I use overnight (I got a bunch of emails while I slept) - but it's all better now :)

 Share Tweet This

js4u

JS 4 U 21: The String Class

January 6, 2011 8:29:41.257

Javascript 4 U

Today's Javascript 4 You. Today we look at the String class in Javascript, and some of the methods it makes available. 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:

Escaping Strings

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

 Share Tweet This

smalltalk

Building Clean

January 6, 2011 14:08:00.604

Before you can even get to building a runtime image from a clean base image, you have to get to the point where yoiu can build a clean development image from a clean base image. That was today's first challenge.

On any long lived project, things pile up if no one has been doing clean builds, and this one was no different. It wasn't bad - I only ran into one issue that needed resolving: four methods in one package were being invoked (via package initialization code), but those methods were defined in a package that hadn't loaded yet.

To back up a bit, the entire project here is in a "master bundle" - you load that, and you get everything (either in the bundle or via pre-reqs). Over the last little while, builds have only been done on top of previous development images, so no one spotted this issue. I cleaned that up, and then everything came in easily.

Next up was trying to save the bundle out as a parcel (I'd like to be able to build into an image without Store present). Now I ran into the second check: a bunch of external interfaces were defined with optimization level #debug, and parcels can't be saved with that setting. So... another bunch of small changes and bam - I had a parcel out on disk.

Now comes the fun part - one of the pre-reqs is all of the patch sets that Cincom support sends out (boy, would this be simpler if they just shipped new versions of the owning packages, but I digress). That stuff can't be saved (at least in VW 7.6) as a parcel, because they all contain overrides. So... I just filed that out. Since it's all patches on the base system, I can just set that up to load last and I shouldn't run into problems.

Thus far, I have the system loading cleanly from a base visual.im, which is progress. From there, I can move along to the next few steps and see if I can get a runtime build. Fingers crossed :)

 Share Tweet This

smalltalk

Virtual Agility

January 6, 2011 21:26:25.598

Ron Teitelbaum talks about how Teleplace supports agile development - no matter how far flung your development team is.

Technorati Tags: ,

 Share Tweet This

st4u

ST 4 U 31: TDD in the Pharo Toolset

January 7, 2011 8:19:11.349

Today's Smalltalk 4 You looks at how TDD is supported with the various Pharo tools. 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:

TDD in Pharo

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

 Share Tweet This

esug2010

The Ocean Project: IWST at ESUG 2010

January 7, 2011 15:30:00.000

Here's another video from ESUG 2010, which was held in Barcelona, Spain, the week of September 13, 2010. In this presentation, the Ocean project is presented as part of the IWST presentations. You can watch using the embedded player below, or follow this link to Vimeo.

The Ocean Project - IWST at ESUG 2010 from James Robertson on Vimeo.

 Share Tweet This

travel

Good News, Bad News

January 7, 2011 17:58:32.026

The Good News - I'm on my way home, with wifi. The bad news? I drove to the airport, and left my home car keys in a bag in Dallas.

Doh.

 Share Tweet This

gadgets

iPhone to Verizon?

January 7, 2011 23:36:39.271

I have to say, I'm surprised - I didn't think the iPhone would come to Verizon until LTE was rolled out - but the WSJ says that a CDMA based device is coming:

The iPhone is finally coming to Verizon Wireless. The largest U.S. wireless carrier will make the long-awaited announcement at an event Tuesday in New York City, a person familiar with the matter said Friday.

Personally, I'd rather stay with the GSM based phone; if I go overseas again, it will actually work. But that won't matter to a lot of people.

Here's what I'll be looking for: will the iPhone on Verizon sport a Verizon logo, or will it be like the one I have - and just have the Apple moniker? Mind you, I won't be surprised if there is no iPhone on Verizon announcement after all :)

Update: Engadget has a piece on this, and makes some good points about how this may not be the ideal time to buy a Verizon iPhone - you may well want to wait for summer. Follow the link, and read all the way to the end.

Technorati Tags: , ,

 Share Tweet This

travel

Buy Those Tickets Early

January 8, 2011 11:53:41.395

When you self fund your travel, you start to pick up on things that you just don't notice much when "the company" is paying. For instance:

  • Eating dinner at a restaurant is expensive, especially if you order any alcohol
  • The "big two" car rental companies are not cheap
  • You save a lot by staying in hotels that offer free btreakfast and have laundry facilities
  • The biggest one is this: make those flight reservations in advance

I didn't get around to arranging my flights at the beginning of my holiday break, and when I did get back to it, oof - the direct flights to Dallas that I prefer had skyrocketed until I got three weeks out. So - the next two weeks I have the joy of making connecting flights. After that, I have flights planned for a bit, and I have nice, direct - and inexpensive - flights laid out.

It's a whole different world when it's your own nickel :)

 Share Tweet This

podcast

IM 12: Foibles, Public and Private

January 9, 2011 11:30:17.978

Welcome to episode 12 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson, Michael Lucas-Smith, and David Buck. This week Dave and I talk about the differences - and similarities - between public sector IT projects and private sector IT projects.

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

 Share Tweet This

podcastAAC

IM 12: Foibles, Public and Private (AAC)

January 9, 2011 11:30:35.928

Welcome to episode 12 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson, Michael Lucas-Smith, and David Buck. This week Dave and I talk about the differences - and similarities - between public sector IT projects and private sector IT projects.

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!

Enclosures:
[im12.m4a ( Size: 21321602 )]

 Share Tweet This

st4u

ST 4 U 32: TestRunner in Smalltalk

January 10, 2011 8:17:11.869

Today's Smalltalk 4 You looks at the TestRunner tool in Pharo - which lets you examine and/or run all of your tests at once. 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:

TestRunner

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

 Share Tweet This

games

The Joys of Breaking Updates

January 10, 2011 10:15:02.087

Over the weekend, I let Parallels update itself - and that turned out to be a mistake. Prior to the update, Fallout New Vegas worked just fine in my XP VM; after the update, it crashed as soon as the intro screen started to render. This is what I call a bad thing :)

I figured that I have backups - Time Machine runs regularly, so I'd just do a restre and be done with it. Not so fast, apparently - just overwriting what was in Applications with the old version stopped Parallels from working at all. Things had gone from bad to worse.

So, I dug through my emails (gmail search ftw), and found the original download link. I grabbed that, and let it download overnight (I'm on slow hotel bandwidth here). This morning I fired up the installer, gave it a firm no to all of its requests to update, and voila - my XP VM launched, and the game runs again. I archived the dmg on an external drive, so that after the next update I have an easy place to walk back to.

Why don't I still have the original download, you ask? Well, I do - on a hard drive sitting in my home office, 1200 miles away :)

 Share Tweet This

general

Disappeared

January 10, 2011 10:34:48.997

You might be wondering why I've disappeared from various places I normally show up during the day:

  • The Smalltalk IRC Channel
  • Google Chat
  • Etc

Well, it has to do with the constrained internet connection I have here at work. Skype works, but no other IM clients I've tried do. I can't get to IRC at all, and much of the wider web (including all streaming video sites) is just blocked. So... I can only see the full net after hours. Since I try to work long hours while I'm here (I leave early Friday to fly home), that puts me out of pocket for a large part of the day.

Eventually, I'll be able to work remotely at least some of the time, and things will be back to normal that way. In the meantime, I get a pretty decent amount of Smalltalk done, since there's so little distraction. Upsides, downsides :)

 Share Tweet This

smalltalk

Build Oddities

January 10, 2011 14:56:39.232

I'm still working on build tools for the project I'm on, and I ran into an interesting thing today - a package that, when I have a script unload it, the script stops working.

Short explanation: I start by building an image from scratch using Store. From there, I unload a bunch of development tools. That works fine, unless I do the following:


(Store.Registry pundleNamed: 'StoreBase') ifNotNil: [:pundle |
      pundle leafItems do: [:each | each markNotModified].
      [pundle markNotModified; unloadFromImage] on: Warning do: [:ex | ex resume: true]].

Once I unload StoreBase, the build script I'm using (via -fileIn at the command line) simply stops working. No error messages either; the image just sits there, blinking at me. Very odd, but for now I'm dealing with that by just leaving StoreBase alone. I think I'll have to try it with that handler block left off, just so I can track the problem down.

 Share Tweet This

development

Simberon Design Blog

January 10, 2011 22:05:03.136

David Buck has set up a new blog to discuss the sorts of issues he raises in his regular "Simberon Design Minute" segment of the IM podcast:

In this blog, I hope to provide food for thought for software developers and suggestions for helping developers improve the quality of their code. I also enjoy teaching about software development and encouraging people to have fun with software development.

Technorati Tags: , ,

 Share Tweet This

js4u

JS 4 U 22: More on Javascript Strings

January 11, 2011 7:00:18.043

Javascript 4 U

Today's Javascript 4 You. Today we continue looking at the String class in Javascript, and some of the methods it makes available. 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:

More on Strings

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

 Share Tweet This

smalltalk

Looking at VA Smalltalk

January 11, 2011 8:24:53.807

The next podcast on the schedule will involve a look at where Instantiations is taking VA Smalltalk. Dave Buck and I will be talking to Mike Taylor, President and CEO of the company. If you have anything you would like us to ask Mike, email me before 5 PM EST today. The podcast will be out on Sunday, as per our regular schedule.

 Share Tweet This

gadgets

Verizon Gets the iPhone

January 11, 2011 15:40:21.670

The rumors were true - Verizon does in fact have the iPhone, as of February 10. However, it's probably not the Verizon iPhone you want - it's CDMA based, without access to the new Verizon LTE network. Additionally, Apple is going to be out with a new iPhone this summer, which means that anyone buying now is getting a pre-obsolete brick - and one that won't work outside North America as well.

Everyone else can rush for the exits and get one - I'll be sitting still on ATT. Why? For all the fuss, I simply have not seen the problems you read about so much. Even when I've traveled to New York, the phone has worked out fine.

Engadget has pretty full coverage - you can read lots more over there.

 Share Tweet This

st4u

ST 4 U 33: Pharo Settings

January 12, 2011 6:55:05.087

Today's Smalltalk 4 You looks at the Pharo settings - one of the ways you can make immediate modifications to your development environment. 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:

Pharo Settings

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

 Share Tweet This

smalltalk

XTreams For Squeak and Pharo

January 12, 2011 7:08:40.089

Martin Kobetic has ported the latest XTreams code over to Squeak and Pharo:

Hope it's OK to cross-post this, I figured there might be interested people on both sides. I finished the updates of the Xtreams port to match the VW version, so everything (that is available) should work as advertised in the documentation .

Technorati Tags: , ,

 Share Tweet This

smalltalk

Automated Testing for Seaside Apps

January 12, 2011 9:14:05.000

Tony Fleig talks about using a set of open source web tools to automate the testing of a Seaside app:

The WebClient package includes a simple and easy to use HTTP client. Soup is a port of the Beautiful Soup Python HTML/XML parser designed for screen-scraping. The combination of these two made it possible to perform black-box testing of my Seaside web application.

Technorati Tags: ,

 Share Tweet This

development

Build Tools and Process

January 12, 2011 10:05:36.379

It's one thing to come up with a few simple tools to automate a build - all things considered, that's not a terribly difficult thing (which begs the question: why hasn't the vendor of VW, Cincom, come up with something better than RTP?). The harder problem is fitting the technical siolution into the process that your project has evolved.

That's where I am today. I have a simple tool that reliably creates a build, using this set of steps:

  • Starting from a base image, load Store, then load the master application bundle
  • Do some baseline "cleanup" - close the various windows that got opened as part of the postLoad process, then save the image as a development snapshot
  • Fire up that saved image, unload a set of development packages, and then put it into a runtime state
  • Execute a perm save of the resulting image
  • Finally, fire up another image, load the image compression tools, and compress the saved runtime, yielding the final build.

All of that happens from a "driver" image - it's straightforward to launch a new image and hand it a command line argument to file in a script. That's the easy part though - now I need to get it integrated into the process, and that's the far more interesting piece of the project :)

 Share Tweet This

web

Google Being Weird

January 12, 2011 12:28:15.000

As John Gruber says, this makes very little sense: Google is dropping h.264 support from Chrome:

Specifically, we are supporting the WebM (VP8) and Theora video codecs, and will consider adding support for other high-quality open codecs in the future. Though H.264 plays an important role in video, as our goal is to enable open innovation, support for the codec will be removed and our resources directed towards completely open codec technologies.

Umm, yeah - and you still support Flash because...... .

Update: A commenter on Facebook notes that this could easily be a scare over patent issues surrounding H.264.  There are many patent trolls out there....

 Share Tweet This

smalltalk

Smalltalk Solutions Stuff

January 12, 2011 13:37:33.465

Smalltalk Solutions

I'll be at StS 2011, giving a talk on Smalltalk on the server side, focusing on cloud services. I still need to register - as I write this, the STIC website (where the registration page lives) is down though. I'll get to it when the site pops back online :)

 Share Tweet This

training

Webcast Refactoring Course

January 12, 2011 22:57:46.310

Dave Buck will be offering an online refactoring course in March:

For anyone interested in improving their design skills in Smalltalk, Simberon will be holding an instructor-led Refactoring Object Oriented Design course by Webcast on the week of March 7th, 2011. The course focuses on when and why to refactor and explains many concepts and principles that even more advanced developers may not know.

Head over to Simberon.com for full details and registration information.

Technorati Tags:

 Share Tweet This

smalltalk

Registration for Smalltalk Solutions

January 12, 2011 23:33:20.673

Smalltalk Solutions

With the STIC site down, the registration information page is inaccessible. Fortunately, you can still register (and get early bird rates):

In the meantime, perhaps STIC should have someone edit the Apache configuration on their server, remove the redirect to the (non functional) WordPress site, and put up a static page with some basic links on it - at least until they get the problem solved.

Update: Sometime while I was asleep, the site came back :)

Technorati Tags: ,

 Share Tweet This

js4u

JS 4U 23: The Date Object

January 13, 2011 7:09:19.564

Javascript 4 U

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

More on Strings

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

 Share Tweet This

education

Advanced Smalltalk Research

January 13, 2011 7:26:09.024

INRIA is holding a seminar on advanced Smalltalk topics, March 7 - 11 in Lille:

The objective of this school is to present on advanced Smalltalk topics such as compiler compiler, virtual machine, interaction with C, advanced UI

You can register here.

Technorati Tags:

 Share Tweet This

smalltalk

Getting the Comments for a Store Publish

January 13, 2011 14:33:17.471

You would think that getting the version comment for a package or bundle you've published to Store would be simple - there's a method called #versionComment right there in Pundle - but you would be mistaken. No, that's not the comment you type into the text field when you publish.

Why do I care? Well, as part of my build automation work, I'm generating a small report, and part of that report involves pulling out the comment for a published package. That takes more work to get at than you might think:

 

pkg := (Store.Package withName: 'PkgNameHere' version: 'versionStringHere') first.
blessing := (Blessing 
				blessingsForRecordID: pkg  primaryKey
				type: pkg  typeStringForBlessing) first.
comment := blessing getCommentString.

 

Just tracing Store code to figure that out was painful; the comparison tool Version Browser doesn't make it obvious. Then there's the whole head scratching nature of "why isn't there a method that does this for me in Pundle?" Anyway, that does the job I wanted, and now I have that bit of my reporting task handled.

 Share Tweet This