More Upgrade Fun with VisualWorks
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 :)
Tags: visualworks, upgrade
JS 4U 233: Using an Application API in Maps with Javascript
![]() |
Today's Javascript 4 You looks at using 3rd party libraries in the maps api. 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:
Enclosures:
[js4u233-iPhone.m4v ( Size: 2467642 )]
Patents are no Longer Helpful
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.
Tags: patents
Bizarre Gaming Issue
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?
ST 4U 326: Loading Applications in ObjectStudio
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.
You can also watch it on YouTube:
Tags: smalltalk, objectstudio
Enclosures:
[st4u326-iPhone.m4v ( Size: 3392373 )]
Phone Malware
Well, this is a cheery sounding bit of news:
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.
BioSmalltalk: New Release
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
Tags: pharo
ST 4U 325: Constructed Messages
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:
execute | msg sendMsg | msg := lastState ifTrue: ['add', tail] ifFalse: ['remove', tail]. sendMsg := msg asSymbol. lastState := lastState not. self perform: sendMsg
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.
Tags: smalltalk, message construction
Enclosures:
[st4u235-iPhone.m4v ( Size: 2725923 )]
Call For Participation in the Smalltalk DevRoom at FosDem 2013
Saw this from Marcus Denker:
A devroom for the Pharo, Squeak, Amber, GST, Etoilé, Seaside, Moose Smalltalk projects & Newspeak as derived language. Smalltalk environments offer a very high development productivity, unmatched by their successors. Come do some pair programming with us and experience yourself the advantages of a real OO environment
You can get more info on the conference here
JS 4U 232: Layering Application Data on a Map
![]() |
Today's Javascript 4 You looks at integrating third party tools (Panaramio in this case) into Googl emaps through the Javascrupt API. 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:
Tags: javascript, maps
Enclosures:
[js4u232-iPhone.m4v ( Size: 2733163 )]