Mother's Day
My daughter made this using Marzipan and food coloring - by hand:
. .
The author of this blog, James Robertson, passed away in April 2014. This blog is being maintained by David Buck (david@simberon.com).
Welcome to episode 28 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson, Michael Lucas-Smith, and David Buck. This week's podcast was recorded at Smalltalk Solutions 2011 - it's Michael Lucas-Smith and Martin Kobetic talking about Xtreams. This is part 2 of this presentation - part 1 was released last week.
Xtreams is a generalized stream/iterator framework providing simple, unified API for reading from different kinds of sources and writing into different kinds of destinations (Collections, Sockets, Files, Pipes, etc). Streams themselves can be sources or destinations as well. This allows to stack streams on top of each other. At the bottom of such stack is some kind of non-stream (e.g. a collection), we will call it a terminal. Directly above that is a specialized stream providing a streaming facade over the terminal. The rest of the streams in the stack we'll call transforms. Their primary purpose is to perform some kind of transformation on the elements that are passing through. Application code interacts with the top stream of the stack the same way it would with any other stream (or stream stack) producing/consuming the same elements. The goal of the framework is to provide consistent behavior between different stacks so that the application can treat them the same way regardless of what exactly is the ultimate source or destination. For example if the application code analyzes binary data, it should be able to treat the source stream the same way if it is a simple stream over a ByteArray or if it is a stack that provides contents of a specific binary part of a mulitpart, gziped, chunked HTTP response from a socket. Xtreams is an attempt to achieve this goal in a scalable and efficient manner.
If you would prefer to watch the video, scroll down to the embed. The talk was over 90 minutes long, so I've split the audio podcast in half - part two will be out next week..
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!
Xtreams, by Michael Lucas-Smith and Martin Kobetic from Smalltalk Industry Council on Vimeo.
Enclosures:
[im28.mp3 ( Size: 19674063 )]
Welcome to episode 28 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson, Michael Lucas-Smith, and David Buck. This week's podcast was recorded at Smalltalk Solutions 2011 - it's Michael Lucas-Smith and Martin Kobetic talking about Xtreams. This is part 2 of this presentation - part 1 was released last week.
Xtreams is a generalized stream/iterator framework providing simple, unified API for reading from different kinds of sources and writing into different kinds of destinations (Collections, Sockets, Files, Pipes, etc). Streams themselves can be sources or destinations as well. This allows to stack streams on top of each other. At the bottom of such stack is some kind of non-stream (e.g. a collection), we will call it a terminal. Directly above that is a specialized stream providing a streaming facade over the terminal. The rest of the streams in the stack we'll call transforms. Their primary purpose is to perform some kind of transformation on the elements that are passing through. Application code interacts with the top stream of the stack the same way it would with any other stream (or stream stack) producing/consuming the same elements. The goal of the framework is to provide consistent behavior between different stacks so that the application can treat them the same way regardless of what exactly is the ultimate source or destination. For example if the application code analyzes binary data, it should be able to treat the source stream the same way if it is a simple stream over a ByteArray or if it is a stack that provides contents of a specific binary part of a mulitpart, gziped, chunked HTTP response from a socket. Xtreams is an attempt to achieve this goal in a scalable and efficient manner.
If you would prefer to watch the video, scroll down to the embed. The talk was over 90 minutes long, so I've split the audio podcast in half - part two will be out next week..
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!
Xtreams, by Michael Lucas-Smith and Martin Kobetic from Smalltalk Industry Council on Vimeo.
Enclosures:
[im28.m4a ( Size: 27185434 )]
This Slashdot post makes a ton of sense to me:
Evans takes a stab at explaining why the new guy can't code when his interviewers and HR swear that they only hire above-average/A-level/top-1% people. Evans fingers the technical interview as the culprit, saying the skills required to pass today's industry-standard software interview are not those required to be a good software developer. Instead, Evans suggests: 'Don't interview anyone who hasn't accomplished anything. Ever. Certificates and degrees are not accomplishments; I mean real-world projects with real-world users. There is no excuse for software developers who don't have a site, app, or service they can point to and say, 'I did this, all by myself!'
I think all of that helped me a lot. When I was asked about prior work, I was able to point to this blog - powered by software I wrote. I was able to point to BottomFeeder - which is largely my code (I did get a lot of help from a lot of people on that one, but it's still largely my code). I could point to my Facebook interface code (and so on, and so on). Having your own site - especially one powered by code you created - is a very easy way of saying "At least once, I did something that works". As opposed to "I received this snazzy certificate that hangs on my wall".
Via Joachim:
Sebastian just uploaded a port of the JQueryWidgetBox for VA Smalltalk to VASTGoodies.com.
Technorati Tags: seaside, va smalltalk
Today's Smalltalk 4 You takes an overview look at the debugger in VA Smalltalk. If you prefer a written walkthrough to video, then skip down to it. 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 take an overview look at the debugger in VA Smalltalk. It's a tool with a lot of functionality, so expect more on this topic soon. For today, we'll take a simple Smalltalk expression in the debugger and explore it via the debugger. Unlike the inspector, you'll need to highlight the expression in order to jump into the debugger:
To execute the currently highlighted expression, use the Through button. That'll execute the expression, keeping the view in the current method. Over would skip past the expression, staying in this view:
What if you want to jump into a highlighted method? Use the Into button - you'll jump into that code, and be able to step through the execution at that level. Note the change in the debugger view:
There are a lot of other things you can do from here - on the menu, note the Break option:
We'll get to the more advanced functionality in other tutorials. For now, you should know enough to start exploring the system, and see how various things work. Try it yourself!
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.
Technorati Tags: smalltalk, va smalltalk, debugger, tutorial
Enclosures:
[st4u80-iPhone.m4v ( Size: 6678011 )]
I haven't looked into Cloud Player much (between my iTunes collection and Pandora, I feel like my bases are covered) - but adding IOS support is cool. Or would be, if they put even a smidgen of effort into it:
Unfortunately, Cloud Player's interface isn't terribly friendly towards mobile devices; it uses the same layout that you get on your Mac or PC, which ends up requiring a lot of panning around on the iPhone. Amazon even tacitly acknowledges that the experience may be sub-par, saying it recommends accessing Cloud Player via the latest version of Internet Explorer, Firefox, Chrome, or Safari "from your computer."
Makes me wonder. How hard would a mobile version of the website be, really?
Technorati Tags: amazon
If this is true, then I don't hold out a lot of hope for the future of Skype:
The Wall Street Journal reported earlier tonight that Microsoft in what would be its most aggressive acquisition in the digital space was zeroing in on buying Skype for $8.5 billion all in with an assumption of the Luxembourg-based company’s debt.
Why do I say that? Microsoft's track record with this sort of thing. First, they tend to push all staff to come to Redmond - that will cut down on the core development team right there. Second, Microsoft pushes an "eat your own dogfood" philosophy. While I think that's a great idea in general, it's not so great for mature products. If MS does that, and decides to spend an eternity rewriting the core of Skype to be a Windows specific service, then it's just death. Not because Windows is terrible, but because that's an awful lot of wasted motion for an existing application.
That's not all though - consider the revenue picture:
With Skype, which has been aggressively expanding, Microsoft will continue to lose money in its Internet efforts. Skype lost $7 million on revenue of $860 million. Operating profits, which Skype preferred to highlight, were $264 million.
The last thing that Microsoft needs is bigger losses from their online division.
Technorati Tags: skype
![]() |
Today's Javascript 4 You. Today we look at using the JQuery get() function. 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:
[js4u54-iPhone.m4v ( Size: 2403055 )]
More stupid from the trolls, and the judges who don't understand technology well enough to smack them down:
On March 17, a federal judge in the District of Columbia gave the USCG permission to demand from Internet Service Providers the name, current and permanent addresses, telephone numbers, e-mail, and device Media Access Control (MAC) addresses of those accused of copy infringement. Subpoenas are expected to go out this week, according to Wired.
I'd guess that a decent sized minority of those addresses were used by people leaching internet service off of someone else's wifi. It's not as if that's particularly hard to do.
Today's Smalltalk 4 You takes an overview look at the debugger in VA Smalltalk. If you prefer a written walkthrough to video, then skip down to it. 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 take a little deeper look at the VA Smalltalk debugger. This tool has a lot of functionality, so it'll take more than this tutorial to cover the entire tool. To start with, we've created a simple Counter class. This gives us a jumping off place beyond the workspace to work with the debugger. The class is pretty simple - it has one instance variable, and two api methods to either increment or decrement the counter:
Next we'll script some simple interactions with the object in a workspace. To simulate a more complex bug, we've implemented a simple bug in the subtraction method:
Having discovered that the decrement functionality doesn't work right, we'll go to the browser and put a breakpoint in. Again, this example is very simple; the idea is to show you how to use breakpoints. Put the cursor down in the method where you want the breakpoint, right click, and select Break:
It turns out that you can configure your breakpoint -
If you let all of those default, then the breakpoint will halt your code anytime it is reached - yielding a debugger. Once you have inserted the breakpoint, you'll see a little red indicator appear in the browser:
Now let's return to the workspace, and exercise the code that should hit the breakpoint:
Now we've landed in the debugger. The top pane contains the context stack - all of the methods that were in the process of executing when we hit the break. To the right you'll see an inspector for all variables - temps, instance, and method arguments. At the bottom, you have the code pane. Since this is Smalltalk, you can change the code. Note that recompiling the code will remove the breakpoint.
Now, if you hit the Break option in the debugger or browser while you have the cursor at the right place (where you inserted it), the options differ a bit:
If you deactivate the break, the marker will change to yellow:
Finally, if you select Clear, the breakpoint will be removed.
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.
Technorati Tags: smalltalk, va smalltalk, debugger, breakpoint, tutorial
Enclosures:
[st4u81-iPhone.m4v ( Size: 8781165 )]
Go and make your own one liners for this headline:
WikiLeaks Threatens Its Own Leakers With $20 Million Penalty
Technorati Tags: humor
![]() |
Today's Javascript 4 You. Today we look at using the JQuery each() function. 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, tutorial, jquery
Enclosures:
[js4u55-iPhone.m4v ( Size: 1975450 )]
There's some irony in the fact that Facebook hired an old line PR firm to plant negative stories about Google in "old media":
For the past few days, a mystery has been unfolding in Silicon Valley. Somebody, it seems, hired Burson-Marsteller, a top public-relations firm, to pitch anti-Google stories to newspapers, urging them to investigate claims that Google was invading people’s privacy. Burson even offered to help an influential blogger write a Google-bashing op-ed, which it promised it could place in outlets like The Washington Post, Politico, and The Huffington Post.
Looks like it's time to grab some popcorn and watch the clueless people from both firms have at it like a pair of jealous high school stereotypes...
Update: Oh look - the PR firm Facebook hired is "apologizing". Let me translate their statement: "We're really, really sorry that the public found out about this. It would be awesome if you all just forgot about it, ok?"
Today's Smalltalk 4 You shows you how to get GlorpDBX for Pharo loaded into your 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:
Technorati Tags: smalltalk, pharo, metacello, configuration, glorp, dbx
Enclosures:
[st4u82-iPhone.m4v ( Size: 5513779 )]
The two weeks of Smalltalk training are done - there's a group splitting off from the place I work, and they are taking a copy of the application with them. So, I've been getting them up to speed on Smalltalk (VisualWorks, specifically) for the last few weeks (2 weeks of training with an off week in the middle). I'm on my way home now, and I feel pretty good about how it went.
It's very different from when I was doing this full time back in the early and mid 90's. Back then, I mostly saw C and Cobol developers, and just getting them past the basic OO hurdle was a problem. This group had some Java developers and some database guys; the db guys had a tougher time of it, but they seemed to be ok by the end of the second week. The Java guy in the class was fine - he had issues with some of the VW specific stuff that always gives newbies difficulty (hello, AspectAdaptors), but otherwise latched on pretty fast.
It's been fun - I had forgotten how much I enjoy teaching :)
Technorati Tags: training, visualworks
There's a trailer out for the next Fallout: New VegasXbox 360 Games)
DLC - Honest Hearts:
Technorati Tags: fnv, fallout new vegas
The Blogger outage at Google doesn't bring "the cloud into question" - what it highlights is the folly of relying on anything that leaves you with a single point of failure:
My question is, “What if this had happened to another Google service?” Say, Google Docs? What if every document you wrote and saved on Wednesday was suddenly taken offline on Thursday, and you no longer had your presentation or your notes or your research for a client meeting today?
What if I had all of my documents stored on a file server at corporate HQ, they weren't doing offsite backup, and some disaster occurred? The issue isn't "the cloud" - it's relying on a single point.
Technorati Tags: cloud
It's now long past time to take patents for software out back and shoot them. Heck, I might be convinced that patents in general aren't working any longer, but it's very clear in software. Consider the latest example of patent trolling:
A company called Lodsys claims to own four patents covering the in-app purchase mechanism found on iOS devices, and is seeking licensing fees from at least five individual developers, the Guardian reports. Some developers have received hand-delivered documents threatening patent infringement lawsuits if they don't pay up.
In what universe should that concept have been considered a patentable innovation?
Welcome to episode 30 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson, Michael Lucas-Smith, and David Buck. This week's podcast is a conversation Dave Buck and I had about teaching Smalltalk. When it was recorded, I was in the midst of the second week of a training class I just finished teaching, and we talked about that.
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!
Enclosures:
[im30.mp3 ( Size: 15228308 )]
Welcome to episode 30 of Independent Misinterpretations - a Smalltalk and dynamic language oriented podcast with James Robertson, Michael Lucas-Smith, and David Buck. This week's podcast is a conversation Dave Buck and I had about teaching Smalltalk. When it was recorded, I was in the midst of the second week of a training class I just finished teaching, and we talked about that.
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!
Enclosures:
[im30.m4a ( Size: 20992766 )]
I wonder whether the growth of variant data privacy rules around the globe will impact the outsourcing push much. The author of this piece seems to think it will. If nothing else, it gives any firm that uses Inidan outsourcing a decent sized headache to deal with...
Technorati Tags: privacy
I'm supposed togive an overview of Store usage tomorrow, and I wanted to set up a personal repository (the main work one can be slow, as it's across the WAN, whether I'm in my home office or in Dallas). I was going to use PostgreSQL (I use that on my Mac), but the Windows machine is fully locked down - I don't even have local admin.
Fortunately, SQLlite doesn't require admin access - just the dropping of a dll into a working directory. Unfortunately, this is where I ran into a few interesting issues with version control. We are on VW 7.6 at work, so I wasn't sure whether "loading the latest" from the public repository would work (and it's a tiresome process, involving a load on my Mac, copying to a USB stick, shuffling the stick... rinse repeat until it works). Here's what I was looking at, just for the EXDI level access:
Note the lack of references to a specific VW version. What I ended up doing was firing up a base VW image for VW 7.6, looking at the timestamp in the transcript, and making guesses as to what would work in 7.6 based on that. Less than an exact science, that. I guess it's something that all of us who publish to the public store should keep in mind.