Running an Older VAST?
Instantiations has a really detailed migration guide online - looks like it has all the information about upgrading that you could possibly need.
Technorati Tags: va smalltalk, instantiations
. .
The author of this blog, James Robertson, passed away in April 2014. This blog is being maintained by David Buck (david@simberon.com).
Instantiations has a really detailed migration guide online - looks like it has all the information about upgrading that you could possibly need.
Technorati Tags: va smalltalk, instantiations
Looks like Thomas Koschate is going to be exploring the topic of packaging VA Smalltalk apps. I've done a lot of work on the equivalent process in VW; I'll be interested to see what he has to say for comparison purposes.
Technorati Tags: va smalltalk, deployment
![]() |
Today's Javascript 4 You. Today we focus in a little more on how to use JQuery selectors to locate and operate on specific page elements. 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:
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: jquery, javascript, tutorial
Enclosures:
[js4u44-iPhone.m4v ( Size: 6359177 )]
WebQA interviews Nicholas Petton about the various Smalltalk projects he's been involved with - including JTalk, his latest.
Technorati Tags: jtalk, javascript
Last week my Mac starting having bizarre errors - games wouldn't run, apps started crashing. A trip to the Apple store diagnosed the problem - 4 GB of my 8 went bad. I contacted Crucial (the company I bought it from), they gave me an RMA, and shipped me a replacement. I just got the memory back in, and everything is back to the way it should be:
Today's Smalltalk 4 You looks at the Installer framework in Squeak 4.2 - which makes it a whole lot easier to install large packages (like Seaside). 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:
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:
[st4u65-iPhone.m4v ( Size: 6792026 )]
I had intended to put this week's podcast out today, but I think I'll just push it to next weekend, with this week being open. The people who provide the extras - Squeak News, Design Minute, and Jobs Report - were also unable to get me anything, so we'll just wait a week. Stay tuned, and the podcast will return on Sunday. In the meantime, just go grab something from the archives :)
That phrase really hit home with me in a personal way this weekend. I'm taking my daughter to visit colleges she's gotten accepted into (this is SUNY weekend - we hit Binghamton and Albany). I graduated from Albany back in 1984, so I was interested in seeing how the place has changed.
The biggest change I've seen thus far is how the move of the drinking age from 18 to 21 has impacted the place. There's no Rathskeller at the campus center anymore; it's a food court now. The "Across the Street Pub" is still here, but instead of an open floor plan, they now have booths and a restaurant - we ate dinner there last night.
Then there's the building boom. The Albany campus used to be pretty compact, with everything in the center, surrounded by the 4 quads. Now there's a ton of stuff on the periphery, with new buildings still going up (that last part is kind of ironic, given the wave of budget cuts that have hit SUNY over the last couple of years).
The "culture" of the place has probably shifted as well, although that would be harder for me to see. The drinking age change alone will have seen to that, never mind anything else that's happened since I left here.
All in all, it's a bit strange coming back after so much time. I haven't been on campus since 1985 or so - I visited once after I graduated. The past really is a different country - we did things differently there :)
The podcast will be out on Monday instead of Sunday this week - I'm taking my daughter on college visits, and I just don't have time to get it edited this weekend.
Even though it's the weekend, I'm on the road - it's time for the kid to start visiting colleges. That means a road trip instead of a good night's sleep for me :)
You can always tell when company gets too big - it starts having internal wars that bleed out into public. Witness the internal enemies that the webspam team at Google seems to be making....
Today's Smalltalk 4 You looks at starting the Seaside server up in a Squeak 41 image after having loaded it from scratch. 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:
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:
[st4u64-iPhone.m4v ( Size: 2426343 )]
Mariano has started blogging - with the large number of projects he's contributing to, I'm sure that he'll have a lot to say.
![]() |
Today's Javascript 4 You. Today we continue looking at the basic API (syntax, if you will) of the JQuery library - with an example. 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:
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: javascript, jquery, tutorial
Enclosures:
[js4u43-iPhone.m4v ( Size: 1766241 )]
I'll have to look into using this: a Smalltalk syntax highlighter in Javascript, suitable for making nicer code posts.
Technorati Tags: javascript
I think Dell's head of marketing doesn't really grasp the tablet space. While saying that the iPad "isn't ready for business", he explained:
“An iPad with a keyboard, a mouse and a case [means] you’ll be at $1500 or $1600; that’s double of what you’re paying," he claimed. "That’s not feasible.”
There are so many things wrong with that. First off, you don't need a mouse at all; that's the whole point of the touch interface. You navigate these devices differently. That's mostly true for keyboards as well, although, if you do decide on a keyboard, the rollup travel kind you would get is around $30. The case is also in that ballpark. Where he gets "double the cost" is beyond me; maybe he drank too much Australian beer.
What this tells me is that Dell sees tablets the same way that Microsoft does - as smaller PC's. That's not what they are at all, and seeing them that way is why Microsoft - which got into the tablet space very early - made no headway at all. If Dell looks at them that way, expect their entries to fail with a loud thud as well.
Today's Smalltalk 4 You looks at loading Seaside into a base Squeak image using Metacello configurations. 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:
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:
[st4u63-iPhone.m4v ( Size: 5176822 )]
I've been working on build automation tools for a bit, and this week I started taking a look at one of the more manually intensive parts of the process: putting together the master bundle that will be used for the build itself.
The way things work here, individual developers don't publish bundles - they push individual packages based on the work that needs to get done. We have a person who creates builds, and the first task he has is to create the latest master bundle (for a given branch of development) from the packages that have been published. That's a fair amount of manual labor at present, so I took a look at it.
The biggest hurdle (at least in VW 7.6 - maybe later revs are better, I never delved into Store that deeply even when I was at Cincom) is the actual publishing. Normally, publishing a package or bundle requires a dialog (either PublishPackageDialog or PublishPundleDialog). You fill that in (or let it default) and off it goes. Once I gathered the things that needed publishing, I wanted to have that kick off without the UI. Let's back up a bit and take a look at the steps: first, finding newer versions of published packages within a bundle. To get there, I start with something like this:
bundleDef := BundleDef bundleNamed: 'TestBundle' version: '1.2' versionMatchString: '1.*' baseComment: 'Testing build automation' "get all the contained packages, all the way down" bundleDef allContainedPackagesAndBundles.
What that does is find all the packages that make up a bundle (including sub-bundles) by recursively asking Store for that data -like so:
allContainedPackagesAndBundlesFor: aBundle "answer a collection of all the packages I have, regardless of bundles in the middle" | items | items := aBundle containedItems. items do: [:each | each isBundle ifTrue: [self allContainedPackagesAndBundlesFor: each. containedBundles add: each] ifFalse: [containedPackages add: each]].
That gets kicked off by this API point in my code:
bundleDef allContainedPackagesAndBundles.
Then I update all the contained packages:
bundleDef updateAllPackages.
That requires some store internals work:
updateAllPackages "iterate over the packages and update them" containedPackages do: [:each | | all newerMatch | all := Store.Package allVersionsWithName: each name newerThan: each. newerMatch := all detect: [:each1 | versionFragment match: each1 version] ifNone: [nil]. newerMatch ifNotNil: [Transcript show: 'Updating: ', each name; cr. newerMatch loadSrc]].
That's the easy part. The harder part is publishing the dirty bundles, from bottom to top - you need to create an instance of PublishPundleDialog, stuff it with the right data, initialize aspects of it, and then tell it to publish. The outer method for that looks like this:
publish: aBundle "publish the bundle" | dlg | dlg := self createPublishDialogDataFor: aBundle. self setBundleCommentsFrom: dlg for: aBundle. dlg newGlobalState. [ dlg publishFromUserData ] on: Store.DbRegistry errorSignals do: [ :exp | Transcript show: 'Publish of: ', aBundle name, ' FAILED'; cr. exp return ].
The excitement is in #createPublishDialogDataFor: - which involves all the initialization of the dialog without displaying it:
createPublishDialogDataFor: imageBundle "store expects a publish dialog; create one, stuff data in, return it" | comment dlg userData fileData storeBundle | dlg := Store.PublishPundleDialog new. dlg items. dlg files. dlg blessingLevel value: 20. storeBundle := containedBundles detect: [:each | each name = imageBundle name]. comment := self getVersionStringForBundle: storeBundle. dlg blessingComment value: comment. userData := Store.PublishPundleDialog publishSpecsFrom: imageBundle. fileData := Store.PublishPundleDialog publishFileSpecsFrom: imageBundle. dlg items list: userData. dlg files list: fileData. ^dlg
The interesting part here is the dichotomy between the store bundle and the image (unpublished) one. You need to line those up, and use both as appropriate. Once you fill all the data in though, it'spretty easy. I customized the outer level API for my object so as to allow for a base comment in addition to the automated one I toss in. That'sit though - a whole lot simpler than I feared it would be. I'll probably extract this code and publish it to the public store - I think it might be generally useful. What would be even more useful would be Cincom engineering creating some actual domain objects so as to make it easier to do this without screwing around with undisplayed UI classes.
Long time Smalltalker Tom Koschate has started a new blog up, and the first post looks at his Smalltalk work.
![]() |
Today's Javascript 4 You. Today we start looking at the basic API (syntax, if you will) of the JQuery library. 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:
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: jquery, javascript, syntax, tutorial
Enclosures:
[js4u42-iPhone.m4v ( Size: 2354299 )]