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:
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:
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:
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:
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:
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:
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.
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.
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.
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.
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 :)
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:
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.
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
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!
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!
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.
Today's Smalltalk 4 You looks at a build issue you might run into in VisualWorks 7.8 - if you start your build with Store loaded. Ideally, you wouldn't do that, but - out in the real world, things like this happen. 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.
Today's Javascript 4 You looks at the wrap() function in JQuery - which makes it easy to do what it sounds like - wrap an existing page element in new content. 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.
I see what he's trying to do, and you should read his explanation. I do have some nervousness about how it will be used in application code though. This is the sort of thing that's highly useful in tooling, but often quite scay in application code....
Today's Smalltalk 4 You looks at how you export code from one ENVY repository and import it into another. The context here is moving from one edition of VA to another, but the process is the same regardless of why you need to move code between repositories. You can download the exported repository being used as well. 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:
Today we'll look at how to migrate code out of one ENVY repository and into another one. This can be useful when moving between a personal repository and the "corporate" one, or when upgrading your version of VA. That's the example we'll be working with today - moving the versions of the Seaside Tutorial from VA 8.0.3 to VA 8.5. To start, open up the application editions tool, right click in the listing of applications, and select export:
Once you do that, you'll see a three pane tool. Applications in your repository are on the left. Select one, and all released (not open) editions will display in the second pane. Select the versions you want to export, and move them to the rightmost pane:
Hit Ok, and you'll get a prompt for the ENVY server location. If you are running in a server environment, enter that data. If you are using File IO (as we are in this example), leave it blank, so you'll get a file prompter:
If you left it blank, you'll get a standard file dialog:
Since we are moving the code to VA 8.5, we've selected the image directory for 8.5:
You'll get one prompt we aren't showing here if you aren't exporting to an existing repository, and that's whether the destination repository should be a 1GB max or 16 GB max. It turns out that you are creating a full ENVY repository; the only thing limited is how much stuff we are creating in it to start. Next, Fire up VA Smalltalk 8.5 (or the destination system if it differs), and open up the Application Manager. Select Import from the context menu:
You'll see the same system prompter - either enter the IP of the source system, or, if using File IO (as we are here), leave it blank:
Next you'll see a standard file dialog - select the file you exported from the other VA image:
You should now see the same three pane selector you saw on export - now you need to move applications and editions to the right in order to import them. While our example imports everything, you can be more picky if that's desired:
Now go back to the Application Manager - you'll see as much history as you imported. The imported applications are now ready to be loaded from ENVY.
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.
Welcome to episode 23 of "That Podcast: An FNV Diary" - a podcast where Michael Lucas-Smith and I document our trials and tribulations in Fallout: New Vegas.
On today's podcast, Michael and James are joined by maki, and guest host Austin Healy, one of our regular listeners. The topic - what else: the last DLC, "Lonesome Road". We cover the entire DLC except for the ending, as - at record time - only Austin had finished the DLC. Next podcast we'll go over the possible outcomes, and likely wrap the entire podcast up. Thanks for listening!
Got feedback? Send it to James. We'd really appreciate it if you head on over to iTunes and leave a comment - enjoy the podcast, and we'll see you in the wastelands!
Welcome to episode 23 of "That Podcast: An FNV Diary" - a podcast where Michael Lucas-Smith and I document our trials and tribulations in Fallout: New Vegas.
On today's podcast, Michael and James are joined by maki, and guest host Austin Healy, one of our regular listeners. The topic - what else: the last DLC, "Lonesome Road". We cover the entire DLC except for the ending, as - at record time - only Austin had finished the DLC. Next podcast we'll go over the possible outcomes, and likely wrap the entire podcast up. Thanks for listening!
Got feedback? Send it to James. We'd really appreciate it if you head on over to iTunes and leave a comment - enjoy the podcast, and we'll see you in the wastelands!
If you've heard about the Moose project, but haven't been able to wrap your head around it - maybe this video presentation from Doru will help. Hat tip Torsten
There is an updated version of Seafox for Seaside, now with an HTML to canvas translator. It's helps you building real Seaside apps from existing HTML templates. You can read more about it here