Chris Thorgrimsson has announced the Cairo Graphics Kit over on his VW/Cairo blog. It's a set of new view objects for VW done up in Cairo - to get going with it, make sure you load Cairo (the parcel that comes with VW) and the UIPainter first. If you see load time exceptions, it most likely means that you forgot to load the UI Painter.
How can you tell that a business has reached RIAA/MPAA levels of stupid? When the trolls arrive:
Borrowing a page from patent trolls, the CEO of fledgling Las Vegas-based Righthaven has begun buying out the copyrights to newspaper content for the sole purpose of suing blogs and websites that re-post those articles without permission. And he says he’s making money
Today's Smalltalk Daily looks at a new tool for VW 7.7.1 - the project launcher. It makes it easier to create multiple images, and then easily launch them without multiple desktop shortcuts or shell scripts. 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"?
I had another look at the Twitter documentation pages for the OAuth workflow; it seems a bit more detailed than it was when I last looked. With 7.7.1 done (not released, but in the process of being released), it's time I had another look. So - on with the OAuth attempts.
The explosion of digital culture is, on net, a very good thing. But it necessarily crowds out some activities and one of the things it must do the very most crowding-out of is one’s capacity to read giant honking novels. I find it hard to imagine myself undertaking a project on the W&P/Moby Dick/Brothers Karamazov scale in the era of ubiquitous connectivity. I think this is something we may just be losing as a society.
I just don't get it. I read a lot, and if anything, the iPad I have has made that easier. I can buy a book and start reading immediately, and do so on multiple devices. If you peruse my book list, you'll see that some of the history books I've read are pretty darn long; I don't think that "connectivity" gets in the way of that.
If anything, these people sound like the scolds from my youth, who were sure that TV was rotting our brains. There were probably anti-radio fanatics back in the 1930's as well. If you have trouble getting into a long book, don't blame the net - find a mirror, and ponder what's there - because that's where the problem is.
I spent the afternoon taking a look at the performance of VW, Pharo on Cog, and Squeak on a standard VM. I used the package SimpleBenchmarks from the public store repository - I have a Squeak port as well. Here are the numbers (in milliseconds) for the tests, each one running 100,000 times on my Macbook Pro:
You'll have to grab the code to see exactly what the tests do, although the names are mostly explanatory. Bottom line: VisualWorks is still pretty darn fast, but if you're using Squeak or Pharo, Cog looks like a good thing.
4th Argentinian Smalltalk Conference
Research Track: Call for Papers
November 11th – 13th, 2010
Important dates:
Submission (Hard Deadline): September 7th, 2010 (Argentinian time: UTC/GMT -3 hours).
Notification of acceptance: October 6th, 2010.
Camera Ready Submission: October 20th, 2010.
The Smalltalks conferences have been growing pretty nicely, so it looks like a great opportunity to get in front of Smalltalkers you probably haven't seen yet.
Jeff Jarvis sees the end of the advertising supported business model in sight; I'm pretty sure I agree with him. The entire ad model is based on scarcity; in a world of effectively infinite content choices, ad dollars are going to end up spread so thin that they won't possibly support an entire business. This has huge implications for the existing media model, and those implications still haven't completely sunk in.
The net research firm revealed that in May 2010, just 3.3 million web users visited the social network, compared to 6.5 million in May 2009. That's a 49 percent drop.
The big problem for MySpace now is perception - with that kind of reported drop, it's definitely "out", whereas Facebook is still "in". A new site might challenge Facebook at some point, but it's hard for me to see how MySpace will ever come back.
We have a pretty interesting lineup over the next three weeks:
Eliot Miranda on his Cog VM (Part 1)
Eliot Miranda on his Cog VM (Part 2)
Alejandro Reimondo and Frank Lesser on their Smalltalk VM
The last one above is a bit short, I recorded it at Camp Smalltalk London a week ago - but I figure it's of interest to Smalltalkers. Good stuff coming down the pike!
I finished reading Armenian Golgotha on my iPad about 2 weeks ago; it's taken me some time to fully wrap my head around it. (I have my early review of the book here) The genocide perpetrated against the Armenians of Turkey really looks (in retrospect) like a trial run for what happened in Germany 30 years later. Many of the same tactics were used, just in a less "factory-like" setting. In some ways that made the outcomes more terrible to read about; imagine a group of exiles, marching away from everything they've known - only to be set upon with axes and other tools by the inhabitants of the region they were passing through - who then robbed the bodies after desecrating them.
The entire period is filled with things that should have created a "never again" movement. First there was the Armenians, and then, after the ill fated Greek invasion of the early 20's, there was the murder of the remaining Armenians (and Greeks) in Smyrna (et. al.). For the latter incident, various European navies sat in the harbor and watched. During the Armenian genocide, the German wartime government knew what was happening, but stayed quiet - in order to get the rail line to Baghdad built. Afterwards, the architects of the horror were granted asylum in Germany; the Entente powers, after a brief show of arresting a number of lower officials who were complicit, let them all go.
There were various points in the book where I really wanted to just put it down, but I ended up feeling like I owed the author - who wrote the book as both a first hand survivor and remembrance for those who wer lost. After reading that, I had to move on to a light science fiction book.
This week's podcast is part one of our talk with Eliot Miranda, about his Cog VM for Squeak and Pharo. We got into a fair amount of depth with Eliot, about the things he's done already, and the things that he's looking forward to doing in the future.
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!
I started playing Mass Effect 2 on "Insanity" earlier today, and boy - it's completely unforgiving at that level. On lower levels, if you make the mistake of ducking out of cover at the wrong moment, or taking a sub-optimal party on a mission - you get away with it. On Insanity? You die, fast.
I'll say this - it's certainly a challenge this way. I have to pay much, much closer attention at all times. A moment of distraction, and bam - back to the last save point :)
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.