I've had the song "Now we are Free" in my iTunes collection for awhile - after I saw a Celtic Women concert on TV, I went ahead and bought a bunch of their stuff, and that song was part of the mix. I liked it a lot at the time, but recently we rented "Galdiator" - and it was like having the rest of the puzzle pieces suddenly snap into place. The song is so incredibly perfect for the end of that movie...
Today's Smalltalk 4 You starts a Seaside tutorial in VA Smalltalk. Today we'll get Seaide support loaded, and start a local server. 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 start looking at Seaside in VA Smalltalk - this is a multiple part tutorial. In today's segment, we'll start at the beginning, by loading support into our image, and making sure it all works. To start, open the Load/Unload Features tool:
Scroll down and select Seaside Core. Move it to the right side of the tool with the arrow button, and then click Ok:
With Seaside loaded, we need a local server to test against. Go back to the Tools menu in the launcher, and select Open Seaside Control Panel:
Select the Manage menu, and then select Add Adaptor. In that tool, just go with the default:
Now go to your web browser, and browse localhost:8080. You should see the default Seaside UI
By following the links from Examples, you should be able to test out the stock Counter example application:
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 20 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 give their first impressions of "Old World Blues" - the latest DLC for Fallout: New Vegas. So far - it's a big thumbs up!.
This just covers our first take on the DLC - we'll be back with more soon. Also on the podcast this week - audio feedback from a listener, and some feedback we took from our iTunes reviews. Speaking of which, we really appreciate all of the reviews - keep them coming!
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 20 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 give their first impressions of "Old World Blues" - the latest DLC for Fallout: New Vegas. So far - it's a big thumbs up!.
This just covers our first take on the DLC - we'll be back with more soon. Also on the podcast this week - audio feedback from a listener, and some feedback we took from our iTunes reviews. Speaking of which, we really appreciate all of the reviews - keep them coming!
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!
To rehearse, I had done the exercise earlier in the day, so I had a sense of where the code was going, although the actual solution from the group effort was a bit different. We finished in about 45 minutes, and with the remaining time, we tackled the second stage (decimal values containing a 3 digit, not just numbers that are multiples of 3). After completing that, I showed that we could put the logic for #isFizz and #isBuzz over in the Integer class, which was pretty amazing unless you've seen it before, and even got the protocol category right so that the MCZ package contained the monkeypatches. Finally, I loaded the MCZ into a new image, and ran the tests. All green. It was a fun experience, and they later told me that they'd never even started the second stage question before with other languages, let alone getting it to a place where a file could easily be handed around with the solution (including tests).
He also visited the LA Smalltalk User's group - follow the link for that report.
Borders is liquidating - all I can say is wow. I spent many a happy hour browsing there, but Amazon has replaced them for me. It's not about e-books (although that accelerated the trend) - it's really about two things:
Amazon's "shelf" is infinitely bigger, and includes things (independent publishers) that Borders never had
Amazon's recommendation engine is far, far better than scanning shelves or asking an employee
That latter point is what tipped me. At the store, I really only saw what they had in stock. At Amazon, I see things I never would have thought of, based on other books I've read or am looking at. Add in the instant gratification of an ebook download, and it's the deathknell of physical bookstores for me.
Today's Javascript 4 You. Today we start looking at how you can use JQuery to walk the parent/child relationships in the DOM tree of 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:
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 Smalltalk 4 You continues the brief tutorial on WindowBuilder Pro, by hooking up a domain object to the UI we painted last time. 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 continue our introduction to WindowBuilder pro in VA Smalltalk. Last time we painted the UI - today, we'll hook the UI we painted up to the simple Counter application we built awhile ago.
To refresh a bit, here's the simple UI we built - an input field for the current value, and a button to increment the value:
One thing we didn't do is hook the button up to any behavior. To do that, we need to define a callback - a SMalltalk method that will be invoked when the button is pressed:
You can doa number of things in the callback definition UI, but we're going to take the simplest tack: hook up a callback for when the button is pressed:
Go back to the browser and look at the code that got generated again - you should notice a new section for the callback:
Now we'll getinto hooking the UI up to a domain object. We'll define an instance variable in the UI to hold the domain object, and instantiate it in the initialize method:
Next, we'll set up the callback method to use the domain object when the button is pressed. To update the input field, we need to grab it by name using #widgetNamed:, and then use the #value: message to set the value into it:
Finally, we can test the UI. Open it up and you should see the input field incrementing when you press the button:
That's it - we've created a simple UI that hooks up to a domain object, and updates the state of the domain based on UI actions. With that, you should be able to get started building more useful things with WindowBuilder Pro!
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.
This we have another session from Smaltalk Solutions 2011 - Cincom's Arden Thomas talking about Polycephaly, their solution to utilizing multi-core systems more fully. For more information on where Polycephaly is going, have a look at Michael's recent post on the topic.
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 we have another session from Smaltalk Solutions 2011 - Cincom's Arden Thomas talking about Polycephaly, their solution to utilizing multi-core systems more fully. For more information on where Polycephaly is going, have a look at Michael's recent post on the topic.
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!
It's taken until now - and the advent of Khan Academy - to see how software can really be used in education. I suspect there will be massive resistance, since the pattern illustrated below blows away the traditional "lecture model" that is used now:
Initially, Thordarson thought Khan Academy would merely be a helpful supplement to her normal instruction. But it quickly become far more than that. She’s now on her way to “flipping” the way her class works. This involves replacing some of her lectures with Khan’s videos, which students can watch at home. Then, in class, they focus on working problem sets. The idea is to invert the normal rhythms of school, so that lectures are viewed on the kids’ own time and homework is done at school. It sounds weird, Thordarson admits, but this flipping makes sense when you think about it. It’s when they’re doing homework that students are really grappling with a subject and are most likely to need someone to talk to. And now Thordarson can tell just when this grappling occurs: Khan Academy provides teachers with a dashboard application that lets her see the instant a student gets stuck.
The funny thing is, any educator who considered this would realize that it makes them invaluable. The students can get the lecture from the internet, but what they can't get there is a walkthrough on a specific problem - the hints and "aha moments" that come from working through a problem together.
They are now doing more harm than good - notice the patent for "one and two way messaging", applied for in 2005. Seems to me that IRC (at a minimum) is a prior application. The larger point is, patents are now causing harm, not good. They either need massive reform, or they should be eliminated outright.
Several companies are hopping on the LTE bandwagon, but it's turning out to be more isolating an experience than we hoped. According to PCMag, a Verizon spokesperson confirmed that its fourth-generation broadband network won't be compatible with other carriers in the US. As it turns out, Big Red and AT&T each own a separate block of 700MHz spectrum with only a fraction of overlap, leaving little room for phones on both networks to mingle with one another. There's not much hope for roaming on MetroPCS or LightSquared, either, as their waves of LTE run at 1700MHz and 1500MHz, respectively. This smattering of frequencies means it'll be near impossible to get roam on other companies' 4G networks nationally. What's worse, the ITU has approved twelve bands for LTE use around the world, so don't count on a wide selection of global devices -- and you thought sorting through international 3G was bad, didn't you? We're still a long way from learning our LTE roaming fate, but it appears the largest carrier in the US won't make the journey any easier on us.
Fortunately, most of these devices will keep their 3g radios (at least in the short term), and they'll roam at that level. Even there though, your Verizon phone (if you are on their network) is a brick overseas - and it looks like it'll stay that way. This is not the mobile future most of us were joping for...
Today's Smalltalk 4 You looks at StOMP, an object serializer for Smalltalk that works across Pharo, Squeak, VisualWorks, and VA Smalltalk. If you have trouble viewing it here in the browser, you can also navigate directly to YouTube. For more information on StOMP, visit the website. 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 place I work is looking for an experienced Smalltalk hand - we use VisualWorks 7.6, but we plan to migrate up to the latest Cincom release later this year. It's a long term project, based out of Dallas Texas. Interested? Contact me, and I'll put you in touch with the right people.
When everyone is a criminal, the net effect is that no one is. Consider France's 3 strikes law - in a nation of 65 million people:
The volume of alleged infringement is even higher than earlier reports suggested. More than 18 million complaints have been submitted so far, and Hadopi hasn't been able to keep up. So far, only 470,000 initial warning e-mails have been sent to French Internet users. Only a small fraction of those—about 20,000—have received second notices, and around 10 French Internet users have received their third "strike" and are now facing possible penalties.
Now, imagine that the RIAA or MPAA got what they wanted, a law like that here? How many people would the feds have to employ to keep up?
Go to Software Maniac's download page. Turn off the languages you're not interested in. Check the checkbox for Smalltalk. And hit the download button. You'll get a new customized highlight.js file for your efforts. You need this customized version because it doesn't support Smalltalk in the stock version.
Then just insert that javascript file into your page, and start using it. If you need directions for Blogger specifically, they're in Travis' post.
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.
Today's Smalltalk 4 You looks at WindowBuilder Pro - one of the two main ways to build a user interface in VA Smalltalk. Today we'll paint a simple user interface for the Counter application we built previously; next time, we'll hook it up to that domain object. 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 start looking at WindowBuilder pro in VA Smalltalk. It's one of two ways to build a UI in VA, the other being the PARTS tool. If you're an experienced Smalltalketr, WB Pro will probably be the best choice for you - it produces Smalltalk code that is easily worked with in the browsers, while PARTS is mostly an environment unto itself. Today we'll take an overview of the tool, building a UI that we'll use with the CounterApp demo - we'll hook the UI and domain model up in the next tutorial.
First, import WB Pro into ENVY - you can see a screencast that goes over how to import a library here - WB pro comes as a separate, loadable component from Instantiations. Once you have that in ENVY, just go to the Load Features tool and bring it in:
You should notice a new WindowBuilder menu on the launcher. Select New from that to start a new UI project:
What you are looking at now is the blank canvas (which will hold your UI. On top are a selection of options for editing and controlling the layout of the widgets you place; on the left is a palette of widgets. It looks smaller than it is, because the left-most list is a category listing of widget types, while the right-most list holds the widgets for the type selected:
Now you can place widgets. Select a category - We've selected Text Widgets - and then a specific widget type. Then place the widget somewhere on the canvas. In this tutorial, we aren't going to worry about the layout, but you do have full control over that. Double click on the widget you placed to bring up the settable properties:
From the same category of widgets, select the Enhanced Text input field, place it, then double click to get its properties. Note that we can give it an initial value, and an editing type:
Do the same for the button, setting just the label - we'll cover callbacks in another tutorial, when we hook this UI up to a domain object. Finally, note that by double clicking on the window you are editing, you can set its properties:
Now you need to save your work. You'll need to specify a class name and an application; pull down Save from the file menu in WB:
Now set the class and application name:
Now open up a browser, and select your new application. Select All in the protocol pane to see the generated methods. addWidgets is where all of your widgets get defined. You might think its odd that none of these are cached in instance variables, but it turns out (as we'll see in the next tutorial) that grabbing one of these widgets by name is easy - note the name in the second image below:
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.