Today's Smalltalk 4 You starts looking at the basic memory monitoring tools available in VA Smalltalk. 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:
It can be useful to get an idea as to how memory is being used as parts of your Smalltalk application are running - VA Smalltalk provides some tools that allow you to have that look. First off, you'll need to load some applications using the ApplicationManager (EsMemoryTools)
Once that's loaded, go to the launcher's tools menu, and start the monitor:
If you start it, not a lot will be happening - after all, we aren't really running anything but the base image. Try something - here, we loaded an image file using streams:
See the changes? You can use this to better effect when running your application (or hotspots in it) to see what's going on.
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 change happened back in 7.8, but since we are only now upgrading, we ran into it while going from 7.6 to 7.9.1. Take code that looks like this in VW 7.6:
point := 4@-5.
In 7.6, that gives you a point object. In newer VW? It gives you the message #@- sent to 4 with an argument of 5. Same thing with fractions. Not hard to fix - just look for senders of #@- and #/- and then use a rewrite rule to fix them. Better yet, it was turned up by our unit test suite :)
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.
It's not the concept of patent law that I object to; it's where things have gotten to. Unless we adopt "loser pays", there's really no way out of the crap sandwich world we now live in. No patents would - absurd as that sounds - be better than what we have now.
I ran across this yesterday - I have a second monitor attached to my Mac, and I use Parallels (Win 7) to play games that aren't out for Mac. I set the big screen to be the primary, fired off Parallels, and then started XCOM: Enemy Unknown. And... the mouse pointer is registering dozens of pixels off. To hit a button, I have to move the mouse way to the right. If I play in mirrored mode (less resolution), everything works fine. No other game does this too me - I'm wondering whether it's a Parallels artifact, or something else?
Today's Smalltalk 4 You looks at loading applications into ObjectStudio. The way things end up being displayed for use (and where the Transcript is located) differs somewhat from VisualWorks and VA Smalltalk.. 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 Robert Templeman at the Naval Surface Warfare Center in Crane, Indiana, and a few pals at Indiana University reveal an entirely new class of ‘visual malware’ capable of recording and reconstructing a user’s environment in 3D. This then allows the theft of virtual objects such as financial information, data on computer screens and identity-related information.
You download a camera app, but it's actually this thing. Awesome.
A new version of BioSmalltalk has been released. BioSmalltalk is the Smalltalk environment for doing bioinformatics with Pharo. There's a list of features, status and to do's at the link
Today's Smalltalk 4 You looks at constructed messages - sometimes useful in Smalltalk, but not without their risks. 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:
One of the things you run across in Smalltalk early on - and typically think is very cool at the time - is the ability to construct and perform a message send. You can ask an object to execute a message via the symbol for the name:
someObject perform: #nameOfMethodHere
That kind of thing is common, and used quite frequently - for instance, eecuting a message after an item has been selected from a list of options. If the actual symbol is used, it's even traceable by the tools in the system. What's also possible - but much harder to trace - is something like this:
Here, a message is constructed by string concatenation, with the string then being made into a symbol and performed. The problem? It's impossible to find these references with the tools - you have to know where they are. Worse yet, we've seen such usage combined with the last screencast - wrap this in an MNU handler, and you'll never know what it isn't working.
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.