We will organize a joint Pharo sprint / Moose dojo during October 23-24, in Bern (at the Software Composition Group, University of Bern). Some action points are mentioned on the dedicated page (of course, other ideas and interests are welcome as well)
Today's Smalltalk Daily looks at using a simple, RESTful web api from a Smalltalk client. If you can't see the embedded video directly, you can go directly to YouTube for it. To watch now, click on the viewer below:
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"?
Travis talks about how he's doing widgets in VisualWorks these days, focusing on the keyboard aspect:
As I've wandered far and wide through other widget frameworks, I've learned that a) "MVC" is very popular and b) for every different framework there is a new and unique interpretation of "controller." One of the "different" ways I've been building widgets is without controllers. There are two aspects to deal with in this "controllerless" new world. One is how we deal with mouse interaction, the other keyboard interaction.
The New York Yankees clinched their 15th postseason berth in the last 16 years and CC Sabathia got his 21st win of the season, beating the Toronto Blue Jays 6-1 on Tuesday night.
As I like to say about this subject, it's the way things are supposed to be :) It's a nice bonus that the Red Sox are out :)
I hadn't realized that Germany was still paying off the Versailles conference reparations, but this Sunday, the final payment goes in:
"On Sunday the last bill is due and the First World War finally, financially at least, terminates for Germany," said Bild, the country's biggest selling newspaper. Most of the money goes to private individuals, pension funds and corporations holding debenture bonds as agreed under the Treaty of Versailles, where Germany was made to sign the 'war guilt' clause, accepting blame for the war.
I've read a lot of books about WWI - the run up to it, the war itself, and the post war conference - but I had no idea that the reparations payments had extended into the 21st century. Wow.
The site soek.goodies.st gives access to the sources of open-source Smalltalk libraries and frameworks. A big advantage to developers is that they can explore Smalltalk classes without having to successfully load them into one of the Smalltalk dialect platforms. Recently, I have changed much of the Smalltalk generator and HTML/Javascript generated code.
This is a cool app, because it makes it so much easier to explore Smalltalk code if you're not yet committed to loading a particular library - like many newcomers who aren't sure what they can or should do next. It's also a nice look at how using cloud resources facilitates this kind of thing:
Because the Soek project is implemented in VisualWorks, the first projects were exports of loaded bundles and packages from the Public Store. With the help of the Monticello VW package, it is now possible to add projects from any Monticello repository out there. The process of adding a new library is almost completely automated and uses Cloudfork for storing metadata in Amazon SimpleDB and uploading the site contributions to Amazon S3.
Today's Smalltalk Daily looks at implementing a client interface to Google services. That required implementing the client login scheme google uses (for desktop clients). Today's screencast covers that client auth scheme. The code I'm demonstrating is in the public store repository under the name GoogleClientAuth - the usage in the screencast is below. To skip to the video, click here..
"get the request token - cl is the calendar service"
gAuth := AuthRequest
requestTokenFor: 'cl'
user: username
password: password
clientName: 'Cincom-VisualWorks-771'.
"now we can start making requests - this makes a
simple request to the 'own' feed for google calendar"
serviceResponse := ServiceRequest
makeRequestWith: gAuth
requestPrepObject: ExampleRequestPrep new.
feed := serviceResponse contents
If you can't see the embedded video directly, you can go directly to YouTube for it. To watch now, click on the viewer below:
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"?
As the story goes, it seems as if the company is pulling back on upload and download speeds (from 10Mbps to around 0.25Mbps) for users who have consumed between 7GB and 10GB in a month, which is comically low even compared to Comcast's hated 250GB / month usage cap
The thing is, that's a trivial amount of bandwidth. Download a few movies from Netflix, iTunes, or shows from Hulu, and you could be done. In other words, use your connection as a normal person might, and you're done. There's a complete disconnect between how ISPs think you ought to use your connection, and how people are actually using them.
Today's Smalltalk Daily looks at using the client authentication to Google we built yesterday. Today's screencast builds a small example of interfacing to Google to get your calendar settings. The code I'm demonstrating is in the public store repository under the name GCal-Example - the usage in the screencast is below. To skip to the video, click here..
"get the request token - cl is the calendar service"
gAuth := AuthRequest
requestTokenFor: 'cl'
user: username
password: password
clientName: 'Cincom-VisualWorks-771'.
"get settings the hard way"
settingsRequest := SettingsRequest new user: username.
settingsResponse := ServiceRequest
makeRequestWith: gAuth
requestPrepObject: settingsRequest.
CalendarSettings from: ((JsonReader
readFrom: settingsResponse contents readStream)
at: 'data').
"make it simpler"
SettingsRequester getSettingsFor: username using: gAuth
If you can't see the embedded video directly, you can go directly to YouTube for it. To watch now, click on the viewer below:
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"?
Bert Freudenberg announced on the squeak-dev mailing list that Etoys 4.1 is now available. Etoys is a media-rich authoring environment and visual programming system with a simple, powerful scripted object model, ideal for teaching children powerful ideas in compelling ways. Based on Squeak, Etoys is available for free, with an open-source licence. You can run it on Mac OS X, Windows, and Linux
Well that sure didn't take long. iOS 4.2 Beta 2 is barely a day old and folks are already finding some interesting nuggets. As you can tell from the screenshot below, the new beta includes an option for Internet tethering, a feature that will allow iPad 3G owners to share their Internet connection with any ole' laptops they have lying around.
That could be useful for lots of reasons. When I was on vacation last summer, I broadcast a wifi signal from my laptop for both my iPad and my wife's iPad to use - but what if we had been in a wifi only hotel, where you pay for each device that gets on? Have a 3g iPad get on, and share a wifi signal. You would have to be careful about the b/w usage, given the charge models, but it would work.
Here's a video from ESUG 2010, which was held in Barcelona, Spain, the week of September 13, 2010. In this presentation, Bert Freudenberg talks about the progress Squeak has made since ESUG 2009. You can watch using the embedded player below, or follow the download links at the bottom of the post.
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 Videos"? If you would rather subscribe specifically to the ESUG videos, then use this Vimeo feed - which will work in iTunes.
Microsoft is ready to get back into the mobile game, and it looks like they'll get there before HP does anything new with Palm:
Microsoft Corp. will unveil a lineup of smartphones using the revamped version of its mobile operating system on Oct. 11, and AT&T Inc. plans to begin selling them in early November, according to people familiar with the launch plans.
Some of the reviews have been positive, so maybe MS isn't completely out of this game after all.
"How can you justify renting your first-run TV shows individually for 99 cents an episode and thereby jeopardize the sale of the same shows as a series to branded networks that pay hundreds of millions of dollars and make those shows available to loyal viewers for free?" Bewkes recently asked, joining the now growing chorus of executives to decry the new scheme. Jeff Zucker recently said he thought Apple's 99-cent rentals "devalue" the content, while Viacom CEO Philippe Dauman said the rental model was "not good."
You have to consider how people use media though. Consider music, where 99 cents is now the agreed upon standard for purchasing. How many times will I listen to a song I like? Who knows, but it's a lot. People will go back to the same song over and over again over time.
TV shows aren't like that. With rare exceptions, individual episodes are a "one and done" thing. Which means this: to the end consumer of media, the typical tv episode has a lower value than most songs. Since songs have arrived at an agreed upon value of 99 cents, that's providing a ceiling on the value of tv shows.
Now, you can argue about production costs and such, but that doesn't really matter to the end buyer. It matters a lot to the producers, of course - which argues for fewer people in the value extraction chain, I think. Over time, I expect online sales to start whittling away the plethora of middle men who add cost - but no real value - to the creation of tv (and movies). I wouldn't be surprised to see tv shows go the way of video games: you buy a few episodes, and then subscribe to a "feed" for DLC. The entire model for show distribution and production would have to change for that to happen, and I think that's what the execs quoted above fear most. In that world, they have no place at the feeding trough.
Today's Smalltalk Daily looks at using the client authentication to Google we built to retrieve an Atom feed of calendar events. The code I'm demonstrating is in the public store repository under the name GCal-Example - the usage in the screencast is below. To skip to the video, click here.
"get the request token - cl is the calendar service"
gAuth := AuthRequest
requestTokenFor: 'cl'
user: username
password: password
clientName: 'Cincom-VisualWorks-771'.
"get the response as XML"
request := EventRangeRequest
from: (Timestamp readFrom: '09/01/10 0:00:00' readStream)
to: (Timestamp readFrom: '10/01/10 0:00:00' readStream).
response := ServiceRequest
makeRequestWith: gAuth
requestPrepObject: request.
xml := response contents.
"save the results as a file for addition to any RSS/Atom aware tool"
file := 'calFeed.xml' asFilename writeStream.
file nextPutAll: xml.
file close.
If you can't see the embedded video directly, you can go directly to YouTube for it. To watch now, click on the viewer below:
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"?
The cincomsmalltalk server seems to be having a problem right now - our IT guys are looking into it. When I have more information, I'll update this post. Sorry for the inconvenience!
Images on the web in this format — which CNET reports will be officially announced later today — will have smaller file sizes, load faster and relieve a lot of overclocked networks. They won’t necessarily look better — WebP images are as “glossy” as JPEGs — but the files might be around 40% smaller than JPEG files.
I see inertia as the sticking point here. All of the tools people use to save images (I use Preview on the Mac for most of that, because it's "good enough" for the stuff I post) - will have to support the new format. Before they do that, the various developers of these tools will have to see a compelling need. Then, the various users of those tools will have to upgrade or update.
Given all that, I see inertia being a real problem.
I still need to integrate the work I've done with my blog tools, but I have Twitter access working from Smalltalk again. To do that, I had to build an xAuth interface. That wasn't hard, although it took a bit of research on my part to properly construct the authentication header. In any event, I posted the package OAuth to the public store repository. The OAuth implementation is not complete, but the simpler xAuth one is. To use it, you have to get keys from the service (like Twitter) that you want to integrate with. Then, you get your token:
With the token retrieved, you should be able to do the following to update Twitter:
postCollection add: 'status' -> 'Testing xAuth to Twitter from Smalltalk'.
auth
executeXAuthCallFor: postCollection
with: tokenObject
to: 'http://api.twitter.com/1/statuses/update.json'
Now, Twitter doesn't want you to fetch a new token for each session; they want to get one, save it, and then use that (pretty much forever). So, I created a simple package - MiniXAuthTwit - that makes this simple. When it makes a token request, it'll store that token in a binary file (xAuthTokens.bos), and look for it before attempting to do a tweet. To use that package, all you do is:
MiniTwitPoster tweet: 'This is my tweet'
I started plugging this into my blog posting tools a bit ago, but never got around to finishing that. Looks like that's my next project :)
Cincom (Julian Fitzell, Tim Matthews), DevoTeam Quaint (Björn Eiderbäck) and TPG Objektfabriken (Göran Krampe) joined forces and invite you to an evening full of presentations and informal exchange around dynamic languages.
Topics will comprise “Dynamic languages on mobile platforms” (Mikael Kindborg, MoSync), “Web development with Seaside” (Julian Fitzell, Cincom) as well as a series of mini presentations highlighting cool aspects of each language the entire agenda will be published shortly. To ensure your seat at this free-of-charge event, please sign up here:
“I’ve decided not to publish any more books in the traditional way. 12 for 12 and I’m done. I like the people, but I can’t abide the long wait, the filters, the big push at launch, the nudging to get people to go to a store they don’t usually visit to buy something they don’t usually buy, to get them to pay for an idea in a form that’s hard to spread … I really don’t think the process is worth the effort that it now takes to make it work. I can reach 10 or 50 times as many people electronically. No, it’s not ‘better’, but it’s different. So while I’m not sure what format my writing will take, I’m not planning on it being the 1907 version of hardcover publishing any longer.”
That sounds about right to me. iTunes (and the various streaming models like Pandora) have completely disintermediated music. It's possible for an artist to sell music without the huge number of middle men now; I think the same thing is about to happen with books. That's terrifying to the publishers of course, but the RIAA wasn't (and still isn't, for that matter) happy either. Technology is going to drive more people in the direction that Godin is taking.
This week's podcast is a coversation with Chris Cunnington, the guy behind Smalltalk TV. Chris has been doing a (mostly weekly) screencast series on Squeak for awhile now; this is of interest to me because of my work on Smalltalk Daily. We talked some about tools and techniques, and about what our goals have been for doing the screencasts. You can get to Chris' YouTube page for The Smalltalk Medicine Show 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!
We are happy to announce the first version of Glamour on Seaside. This work was carried out by Andrei Vasile Chis and was sponsored by ESUG. The project offers a Seaside-based rendering of Glamour browsers. In other words, once you have a browser in Glamour, you can now simply display it on the web.
Today's Smalltalk Daily looks at using xAuth to connect to a public web service - in this case, Twitter. The code I used in the screencast is below - to load that code, get the packages OAuth and MinXAuthTwit from the public store repository. To skip to the video, click here..
"the entire conversation with Twitter"
auth := XAuthenticator fromSettings: (OAuth.Settings fromFile: 'twitterOAuth.ini').
accessData := auth executeXAuthAccessTokenRequest.
postCollection := OrderedCollection new.
postCollection add: 'status' -> 'Testing xAuth to Twitter from Smalltalk'.
auth
executeXAuthCallFor: postCollection
with: accessData
to: 'http://api.twitter.com/1/statuses/update.json'
"save the results as a file for addition to any RSS/Atom aware tool"
file := 'calFeed.xml' asFilename writeStream.
file nextPutAll: xml.
file close.
"Using the simpler package I published"
MiniTwitPoster tweet: 'Test Tweet from simple interface object'
If you can't see the embedded video directly, you can go directly to YouTube for it. To watch now, click on the viewer below:
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"?
Steve Ballmer will be the keynote speaker at Microsoft's New York launch event for Windows Phone 7. He'll be joined on stage by AT&T's Ralph de la Vega and when the pep rally is over, we're promised opportunities to finally handle the official incarnations of retail Windows Phones for ourselves.
I've read generally positive reviews for the Windows Phone, so we'll see.
The Postseason.TV package, available for $10, provides access to live video (synced with live broadcast audio) from multiple camera angles for every postseason game.
iPad in hand, I can use the exercise bike at the gym and follow along. Yes, they have TVs, but who knows what channels those will be tuned to - mostly,. it's news, and for the first round, a lot of the games overlap.
The only thing that is blocking the SG-1 movie or the Atlantis movie, the only thing, is the fact that the direct-to-DVD market has gone away. We were very fortunate with Ark of Truth and Continuum to be among the last very successful direct-to-DVD releases before it all stopped happening. The market has changed, and it's still changing, and it's not what it was. And, of course, there have been very big changes at MGM that kind of added to that.
Well, what about "direct to NetFlix and iTunes" as an idea then? It's basically the same space, just updated to modern delivery methods.
LtU goes back to the archives for the 30th anniversary of Smalltalk:
With Smalltalk-80 nominally turning 30 and PARC turning 40, 2010 is a fitting year to revisit Design Principles Behind Smalltalk by Daniel H. H. Ingalls, known to his German admirers as Daniel Ha-ha Ingalls.
iPad sold three million units in the first 80 days after its April release and its current sales rate is about 4.5 million units per quarter, according to Bernstein Research. This sales rate is blowing past the one million units the iPhone sold in its first quarter and the 350,000 units sold in the first year by the DVD player, the most quickly adopted non-phone electronic product.
My memories are a bit foggy, but I think DVD players started out pretty expensive, whereas the low end iPad is under $500. The article touches on that fact - read the whole thing.
Today's Smalltalk Daily looks at integrating a feed from Google calendar with the syndication handling code that is used in BottomFeeder. The code I used in the screencast is below - to load that code, get the packages GCal-Example2 and Syndication-Handling from the public store repository. Make sure to load the latest NetworkAppUtilities as well; the version that loads from disk is not the latest version. To skip to the video, click here.
"get the request token"
gAuth := AuthRequest
requestTokenFor: 'cl'
user: username
password: password
clientName: 'Cincom-VisualWorks-771'.
"get the response as XML"
serviceResponse := ServiceRequest
makeRequestWith: gAuth
requestPrepObject: ExampleRequestPrep new.
xml := serviceResponse contents.
"get the feed object"
feed := Constructor getFeedFromStream: xml readStream.
If you can't see the embedded video directly, you can go directly to YouTube for it. To watch now, click on the viewer below:
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 saw this pass by in one of VisualWorks mailing lists - it's a Cincom customer successfully using multiple cores via multiple images, with a library we call Polycephaly:
We are successfully using Polycephaly in our project. One thing we use it for is to parallelize execution of (time-consuming) unit tests that check code quality. These tests execute at 28% of original time, when using Polycephaly on a quad-core box.
That library is in the preview directory of the distribution (for ObjectStudio as well!) - take a look.
Can't wait for me to get the editing job done on ESUG video? If you want to watch the raw videos as they were shot, they all available here. It's all Flash, so if you're on a mobile device, well, get thee back to a desktop :)
Because of A.J. Burnett's miserable season, the Yankees will use Sabathia, Andy Pettitte and Phil Hughes in the best-of-five series that opens tomorrow night against the AL Central champion Twins at Target Field in Minneapolis.
Thank goodness they benched Burnett. He has not impressed me as a guy who does well under pressure. With luck, Jeter's bat will wake up now that it's October...
Engadget Reports that Skype has found its way to Android, but with limits:
Finally, at long last, after so much waiting, Skype has made its debut as a full-fledged Android app. There are no Verizon-related limitations anymore, but Android Police reports that calling through the app is only available via WiFi, you can't use your mobile's data connection -- not yet, anyway.
I wonder how much of a hand the carriers have in that. When Skype first arrived on the iPhone, the same limitation was in place. It was lifted later, but there it is. I can't imagine that Verizon would be cheery about this.
Alan Knight will present his talk on Store from the European Smalltalk User Group, discussing recent developments, possible upcoming work, and demonstrating an extremely rickety prototype of a "Store Server" that can load packages from a server running in the Amazon EC2 cloud in a single round-trip rather than needing to connect directly to the database.
I finally finished the main plot in Red Dead Redemption
- without giving anything away, I have to say that I was a bit surprised by the way the game "kept going" after what I thought was the ending. It made sense though, and there's a side quest available for you to tie up the loose ends that are left from the game's "ending".
That's not the end to what you can do in the game by any means, either. Like Fallout 3, the game world is still alive, even though the plot is done. Random encounters still happen, and there are plenty of challenges left to accomplish (not to mention the gamer trophies).
I might work at some of that, or I might shuffle back to my in progress Dragon Age game - while I wait for October 19th and Fallout: New Vegas
:)
Now Listening to: Twisted by Katie Melua from: The House
I've enjoyed Alan Wake, so I'm looking forward to the October 12th release of the next DLC - sadly, it'll also be the last DLC for the game:
'The Writer' will be the second and last downloadable episode for Alan Wake, following on from the well-received 'The Signal', and Remedy has already been vocal in saying it'd like to return for a sequel to the game.
I'd be happy to see a sequel, or another game in the same genre. It's a nice change from most of the other games I've played.