Today's Smalltalk Daily looks at the ProcessMonitor, a tool that's available in VisualWorks and ObjectStudio (and in a web form for WebVelocity). If you can't watch the YouTube embed below, click here to go to the video now:
You can follow the Smalltalk channel on YouTube for all the "Smalltalk Daily" videos. You can also check out the videos on Vimeo, where the quality is higher, or over on Facebook, if you are a member.
You can download the video directly here. If you need the video in a Windows Media format, then download that here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?
Cult of Mac has the story - there's a DMCA exemption for jailbreaking a phone - specifically, circumvention is allowed for:
Computer programs that enable wireless telephone handsets to execute software applications, where circumvention is accomplished for the sole purpose of enabling interoperability of such applications, when they have been lawfully obtained, with computer programs on the telephone handset….
Looks like the Pharo sprint at Camp Smalltalk London paid off:
Pharo 1.1 was released on July 26, 2010. This is the second release. It provides bug fixes, system cleanup, and new features. In total, 883 issues were resolved and went into this version.
"get the method"
method := Constructor class methodDictionary at: #determineClassToHandle:.
source := method getSource.
^source
"Insert the Probe"
CodeProbe
insertProbeIntoClass: Constructor class
selector: #determineClassToHandle:
sourceString: source
offset: 0
If you can't see the embedded video directly, you can go directly to YouTube for it. Click on the viewer below to watch it now:
You can follow the Smalltalk channel on YouTube for all the "Smalltalk Daily" videos. You can also check out the videos on Vimeo, where the quality is higher, or over on Facebook, if you are a member.
You can download the video directly here. If you need the video in a Windows Media format, then download that here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?
I decided to take a serious look at OAuth again - since I have a Twitter account and a set of application keys, I'm using Twitter as the service to test against. I had problems the last time I tried this; I spent awhile reading various websites, and this Twitter developer page has a nice sample of what you should be creating. The problem I was having?
The callback url needs to be double encoded, something I missed the first time around
In creating the signature base, I had managed to drop an ampersand from a spot where it needed to be
So now I'm writing some actual code, instead of just ramming my head against a wall in a workspace. With luck, I should have something working (and posted to the public store) later today or tomorrow.
Netflix is available on every major computing system - Macs, Windows, iPads - and on all the gaming systems - Wii, Xbox, and PS3. I think the on-demand thing is going to end up doing a lot of damage to pay per view on cable, and it's also going to change the way shows get created. The whole "weekly fix" thing is going to be harder to pull off as time goes by, and more and more people get sucked into the immediate gratification thing...
Apparently, we're (my wife and I, that is) members of the selfish elites - and no one even gave us membership cards:
It’s not exactly official, but should also surprise no one: According to a new study the psychological profile of iPad owners can be summed up as “selfish elites” while have-not critics are “independent geeks.
Today's Smalltalk Daily llooks at a package that adds code completion to VisualWorks and ObjectStudio. It's contributed code, so it could do more than it does - but it's a nice add on all the same. If you can't see the embedded video directly, you can go directly to YouTube for it. Click on the viewer below to watch it now:
You can follow the Smalltalk channel on YouTube for all the "Smalltalk Daily" videos. You can also check out the videos on Vimeo, where the quality is higher, or over on Facebook, if you are a member.
You can download the video directly here. If you need the video in a Windows Media format, then download that here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?
I wonder about the lawsuit claiming that iPads should work better (i.e., not overheat) in the sun - take this rationale from PC World:
This may actually be a very real problem, especially since the iPad is designed for e-book reading and casual computing--a very plausible time to use your iPad would be outside or at the beach.
There's one huge problem with that theory - go out in the sun and just try to read on the iPad. For good or ill, the LCD screen is just not an optimal solution for outdoor reading. Heck, the recent beach ads that Amazon is running for the Kindle play off of that reality.
Maybe the iPad shouldn't overheat as quickly as some claim it does in the sun, but seriously - you aren't going to be using it in the sun anyway.
Valve, the company responsible for the game Modern Warfare 2, recently issued an apology to over 12,000 legitimate MW2 users who were accidentally banned from getting their first-person shooter on by the company’s DRM implementation.
The pirates manage to get around these issues easily enough; cracked games pop up on the net on or before the official release date. Which means that DRM fails miserably for the task it supposedly exists for. However, it sure does manage to irritate the crap out of legitimate users on an ongoing basis.
Tim Bray would like more choices for development on the Android platform:
And finally, as a citizen primarily of the Web, I can’t help but notice that in recent years, its interesting bits (Facebook, Wikipedia, Twitter, 37 Signals, Ravelry) are largely not being built in Java. I know first-hand that there is a substantial community of really first-rate programmers, people I admire, who for one reason or another just don’t want to deal with Java; and I’d like some of them to become Android developers.
It's interesting that Apple's policies (limiting development to the C family plus Javascript) have gotten so much attention - but the situation on Android isn't that different at the moment. Sure, it's not due to any Google policy, but the end impact works out the same way. Becoming a first class citizen on these devices just isn't that easy without help from the platform vendor.
Bray thinks things will start opening up by 2011; we'll see. I think it's going to be hard for outside developers to keep up with the platform as it changes and evolves...
Smalltalkers have more choices than ever in terms of platform (dialect) and framework - AidaWeb now runs on Pharo (it already supported Cincom Smalltalk and Squeak). From Janko in the Pharo mailing list:
I just made Aida ready on new and wonderful Pharo 1.1. and now Aida installs and run nicelly and even side by side with Seaside. You can even run both on the same Swazoo web server, which is also included.
Choice is good - you can now run a Smalltalk server built on a commercial grade web framework (AidaWeb or Seaside), using a standard database solution - Glorp - and have that server move pretty seamlessly between the various Smalltalk dialects.
Ramon Leon talks about his implementation of a thread pool for Smalltalk (in the context of a Seaside app):
I had a search result page in Seaside that launched about 10 background threads for every page render and then the page would poll for the results of those computations, collect up any results found, and AJAX them into the page. Each one needs to run in its own thread because any one of them may hang up and take upwards of 30 seconds to finish its work even though the average time would be under a second. I don't want all the results being stalled waiting for the one slow result, so it made sense to have each on its own thread. This worked for quite a while with nothing but simple forking, but eventually, the load rose to the point that I needed a thread pool so I could limit the number of threads actually doing the work to a reasonable amount. So, let's write a thread pool.
It's easy to think that threads in Smalltalk are "free" - they are green threads, so what the heck - let's use more! However, you will (as Ramon writes) eventually hit a wall. I ran into one in BottomFeeder years ago, for slightly different reasons.
In BottomFeeder, I fork a Smalltalk process for each http request during an update loop. I subscribe to over 200 feeds, so that can amount to a lot of threads simultaneously clamoring for bandwidth. On my (fast) home connection, this was never a problem. However, back in the early 2000's, I was still running into dialup on the road at times, and even now, I periodically run into very slow Wifi. On slow connections, forking off that many processes just hurts more than it helps - so I wrote a thread pool into Bf.
What I should have done is what Ramon did - write a more general solution instead of burying it inside an app. However, it does show that this is something you might need, especially in the modern world of frequently (or always) connected apps.
Today's Smalltalk Daily llooks at a package that adds code completion to VisualWorks and ObjectStudio. It's contributed code, so it could do more than it does - but it's a nice add on all the same. If you can't see the embedded video directly, you can go directly to YouTube for it. Click on the viewer below to watch it now:
You can follow the Smalltalk channel on YouTube for all the "Smalltalk Daily" videos. You can also check out the videos on Vimeo, where the quality is higher, or over on Facebook, if you are a member.
You can download the video directly here. If you need the video in a Windows Media format, then download that here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?
I'm still trying to get things going with VisualWorks and OAuth - I just realized that the timestamp needed to be in terms of GMT, not whatever my local time is. Makes perfect sense, just hadn't thought about it.
I'm still getting a 401 back from Twitter though; it's likely that my Authorization header isn't structured correctly. I'll have to take a very close look at it, after the next conference call. Later today I'll publish what I have to the public store, in the hope that maybe someone else can tell me what stupid thing I'm doing wrong :)
Update: I just replicated what I have to the public store. If you're inclined to help out, you'll need your own set of keys from an OAuth based system. Look for the OAuth package.
I think this paragraph from a Cnet story about Microsoft's efforts in the tablet space says it all:
But he added that Microsoft has a lot of software knowledge and intellectual property from the decade it has spent in the tablet business.
Apple spent a long time making sure that what they were going to push out was optimized for the form factor; Microsoft spent a decade pushing the existing Windows OS onto smaller devices. Maybe they get it now, but I have my doubts.
Check out Sven van Caekenberghe's Smalltalk tutorial - using Seaside and Glorp - to implement a Reddit style site in 10 classes. Using a service like the one I have here (Slicehost), going from this tutorial to deployment would be pretty easy.
This is a tutorial showing how to implement a small but non-trivial web application in Smalltalk using Seaside, Glorp and PostgreSQL. Reddit, is web application where users can post interesting links that get voted up or down. The idea is that the 'best' links end up with the most points automatically. Many other websites exist in the area of social bookmarking, like Delicious, Digg and Hacker News.
Today's Smalltalk Daily looks at how to save and reload debugger probes without saving an entire image. If you can't see the embedded video directly, you can go directly to YouTube for it. Click on the viewer below to watch it now:
You can follow the Smalltalk channel on YouTube for all the "Smalltalk Daily" videos. You can also check out the videos on Vimeo, where the quality is higher, or over on Facebook, if you are a member.
You can download the video directly here. If you need the video in a Windows Media format, then download that here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?
Rudolf van der Berg explains how so many telecom execs get things wrong - they point at Apple (iTunes) and Google (YouTube) as "bandwidth hogs", without seeing the bigger reality:
The main reason this viewpoint irritates me is; they complain about their underinvestment in their network. They then point at two companies who are very visible, but don't really matter in the equation. If Apple hadn't existed, someone else would have come with a bandwidth hogging device in a matter of 0-2 years. If Youtube hadn't existed, Dailymotion and Facebook would have existed and would have delivered the goods. What I mean to say is that user behaviour wouldn't have changed and somewhere between 2010 and 2013 we would have hit the exact same limit as now.
Demand and technology met - had Apple and/or Google missed the boat, someone else would have caught it. The piper laying companies just keep under-guessing on how much pipe they'll need, and then they look around for someone to blame. It's a good article; read the whole thing.
Michael just announced WebVelocity 1.1 - you can read his entire post for more details, but this bit sets the mood:
We started off chasing the tail of Ruby on Rails but at this point it's futile to compare ourselves to them too. Ruby has never believed in tools — we do, in a big way. Can you imagine writing code in a web browser, running it in a second tab to see how it works, discovering a bug and debugging with edit and continue in your main tab and then having the second tab instantly finish loading as if nothing had ever gone wrong? ... now can you imagine that you don't know how to fix the bug, so you just send the bug over to a friend working on his laptop at a coffee shop and having him fix it in moments?
We'll have an open download available shortly; in the meantime, we have two screencasts:
Katherine Noyes at PC World thinks the mobile future belongs to Android:
A hallmark of Apple's approach has always been putting users in a "walled garden" whereby they are "protected" from having to deal with the computer's nuts and bolts directly. Hand-in-hand with that approach comes restrictiveness; users are only allowed to do things that Apple has decided to let them do, just as they can only buy applications that have been preapproved. Apple insists on controlling the whole ecosystem.
That might be a problem if there were anything really missing from that garden; the reality is, there isn't. The other reality is simpler: with computers, a significant minority of users wants to tweak and hack. Phones, on the other hand, are end consumer devices. Just as there aren't many people who want to hack TV's, there aren't that many who want to hack phones.
I just don't see the controlled nature of the app store being a problem anytime soon - and I'm not at all sure that Google can compete with the user experience that Apple brings to the game.
I just finished reading John Scalzi's The Android's Dream - after reading some of his other books, I knew he was a funny author, but this book was hilarious. It's semi-serious science fiction, but with tons of laughs tossed in as well. Heck, how many books start out with a diplomatic incident caused by device enhanced farting?
I can't really go into much detail about the book without giving important stuff away, but suffice to say that Scalzi created a serious world with an absurd set of premises that all work really well together. Between a technology backed religion, genetic engineering, and software hacking, there's a lot going on in this story.
I enjoyed it a lot, and if you liked anything else by Scalzi - like Old Man's War - you'll like this. A lot of people compare Scalzi's style to Heinlein, and I think they're right.
I'll be releasing part 2 of our podcast with Eliot Miranda tomorrow - to get part 1, head over here. Next week, we'll have a short interview I recorded with Alejandro Reimondo and Frank Lesser at Camp Smalltalk London.
Microsoft is rushing out a patch for a really nasty bug - one that targets link files and desktop shortcuts. It can be triggered via documents, file browsing, and apparently, web browsing. So: Microsoft is rushing out a patch:
The company said it is satisfied with the quality of the "out-of-band" update -- Microsoft's term for a patch that falls outside the usual monthly delivery schedule -- but also acknowledged that it has tracked an upswing in attacks.
I could feel smug on my mac, but I think I'm with Steve Gibson on this one - he said on the last "Security Now" podcast that Mac OS and Linux likely have equally bad flaws lying around, it's just that the installed base isn't big enough to warrant a search by the bad actors. Security by obscurity, I guess :)
This week's podcast is part 2 of our interview with Eliot Miranda, about his Cog VM for Squeak. If you haven't heard part 1, you can go get that here.
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.
To listen immediately, use the player below:
If you like the music we use, please visit Josh Woodward's site. We use the song Effortless for our intro/outro music. I'm sure he'd appreciate your support!
If you have feedback, send it to smalltalkpodcasts@cincom.com - or visit us on Facebook or Ning - you can vote for the Podcast Alley, and subscribe on iTunes. If you enjoy the podcast, pass the word - we would love to have more people hear about Smalltalk!
Engadget reports that the future of cardless payments might be coming soon - the major mobile players are getting together on it:
Bloomberg reports that AT&T, Verizon and T-Mobile are about to test the NFC payment waters with pilot schemes in Atlanta and three other cities, potentially aided by partnerships with Discover Financial Services and British bankers Barclays Plc. This would require all-new readers for merchants and embedded NFC chips in phones, but we reckon plenty of people might be happy to pay a small premium to streamline their lives that little bit more and leave the plastic behind.
On Friday, during a visit from President Obama to its Detroit-Hamtramck plant, GM announced some good news for all the Volt fans out there. Production from 2011 to 2012 for the electric vehicle -- originally slated at around 30,000 units -- has been boosted to a projected 45,000 units, a 50 percent increase.
This is insane. The Volt seats four people (the back seat isn't a bucket, as the battery takes up too much space). The cost for one of these is going to be around $41k. So - who in their right mind would buy a car for that kind of money, when a comparable gas powered vehicle runs $15k or less?
I say this as someone who drives so little (under 5000 miles per year) that - in theory - a limited range vehicle might make some sense. However, I don't have an extra $30k to throw at a car for self esteem purposes, and I really doubt that there's a huge number of people who do...
Today's Smalltalk Daily shows you how to move to the SUnitToo tools without having to migrate all of your existing SUnit tests. If you can't see the embedded video directly, you can go directly to YouTube for it. Click on the viewer below to watch it now:
You can follow the Smalltalk channel on YouTube for all the "Smalltalk Daily" videos. You can also check out the videos on Vimeo, where the quality is higher, or over on Facebook, if you are a member.
You can download the video directly here. If you need the video in a Windows Media format, then download that here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?
Joachim wrote about Seafox again - it's an interesting idea: a Firefox plugin (look in the lower right corner of the browser for the icon) that examines the page you're on and drops Seaside code into the browser window for it.
It's a neat idea, but I have two caveats after having given it a brief try:
The methods it generates are huge - if you use this, be prepared for some serious refactoring :)
Given the wide range of pages out there, YMMV with the results. In my initial attempts, I ran into results that didn't work out
Now, before I end up sounding too negative, it's an 0.1 release, and it's absurd to expect such a thing to handle every web page out there. It's a cool idea, and could give you a nice start from a designer's proposed page layout.
I finished Mass Effect 2 on "Insanity" this evening - the funny part is that the final boss battle was not the hardest part. I used the Cain to knock the Reaper larva down 25 percent, and finished it off with a combination of warp, incinerate, and the sub machine gun.
Heck, even the collectors and Harbinger weren't that tough. The two missions that gave me the most trouble were Grunt's loyalty mission and the Reaper IFF mission.
Why were they the hardest ones? On the IFF mission, the stupid Husks. On Insanity, they have armor. That makes shockwave nearly useless, because you first have to pound the armor down. The only way I got through the IFF mission was by using the particle beam and warp to knock armor down, and then having Jack bounce them. Even using that tactic, it took me a few tries to really get it down.
Why Grunt's mission, you ask? A similar problem - Verrens with armor. Like Husks, they swarm, and if you can't just toss Shockwave at them, they surround you fast if you don't hit them early.
Anyway, it was cool to get the Insanity achievement at the end of that. There's a downside though; now I need a new game to occupy me :)