I was a little worried that the earlier snow storms might have delayed passport processing (I need mine in a week) - but lo and behold, the new passport arrived sometime this week by mail (I've been a bit lax in checking the mailbox). Crisis averted; I'll see you in London and Paris early next month!
This week Michael and I spoke to Brian Rice about Slate - a language inspired by Smalltalk, Self, and other dynamic languages. To quote from the Slate website:
Slate is a prototype-based object-oriented programming language based on Self, CLOS, and Smalltalk-80. Slate syntax is intended to be as familiar as possible to a Smalltalker, for the clarity of messages as phrases. Unlike the Smalltalk family, methods within Slate can be assigned to a signature of objects, instead of being installed on one favored receiver.
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.
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!
Professors will be able to reorganize or delete chapters; upload course syllabuses, notes, videos, pictures and graphs; and perhaps most notably, rewrite or delete individual paragraphs, equations or illustrations.
However, that's not really the reason this idea is being pushed:
The modifiable e-book editions will be much cheaper than traditional print textbooks. "Psychology," for example, which has a list price of $134.29 (available on Barnes & Noble's Web site for $122.73), will sell for $48.76 in the DynamicBooks version.
That price cut is intended to gut the market for used textbooks (just like game publishers would like to gut that trade in their space). At least for textbooks, it's driving prices down.
When I first saw the slashdot posting, I expected to find some ill informed political argument about Linux - but no, it's actually a botnet plague using Chuck Norris' name. Just when I think computer security stories can't get stranger...
My wife's Macbook (now fairly old, I guess) seems to be having a problem - while the battery has power (there's a button you can press to check on the white macbooks), the machine isn't actually getting any. So it's off to the Apple store for an appointment today - it should still be under AppleCare, so at least it won't cost me an arm and a leg...
When asked about the Sports Illustrated app, Mr. Schiller said Apple took the source and intent of an app into consideration. "The difference is this is a well-known company with previously published material available broadly in a well-accepted format," he said.
Umm, right. It's enough to make your head spin. It took four days to come up with that?
If you see something like what's below, and you're sure that it's the fault of Cincom code instead of yours, what do you do? See my post over on my Cincom blog.
Before I read the book Daemon, I really didn't think about my phone and privacy all that much:
At any given moment, it - and therefore your carrier - knows within a few feet exactly where you're standing. It knows when you're stationary or walking - and the direction you're heading. It knows who you stood next to on the transit bus, that you walked through Washington Square today when a political rally took place.
Mind you, Daemon is fiction - but many things could be done with the reams of location/activity data the typical smartphone has access to, and not all of them are good...
Now that Microsoft's browser selection story story is all but settled, it looks like the European Union is gearing up for a new antitrust probe, with its crosshairs aimed generally in Google's direction.
Much time and money will be spent on this, and absolutely nothing useful will come of it. Kind of like what happened with Microsoft, actually....
A Milan court has convicted three Google Inc executives for the 2006 transmission of a video showing the bullying of a youth with Down's syndrome, the judge in the case told Reuters on Wednesday.
As is their policy, Google removed the video once they were notified of the issue. That wasn't good enough for the geniuses prosecuting the case:
It said that, as hosting platforms that do not create their own content, Google Video, YouTube and Facebook cannot be held responsible for content that others upload, comparing the case to prosecuting the postal system for hate letters sent by mail. But the prosecutors accused Google of negligence arguing the video remained online for two months even though some web users had already posted comments asking for it to be taken down.
I wonder whether they pondered what that means. Pick a video that gets a decent number of views, and you'll find a few comments as to why it should go - there's always someone who objects. There's simply no way for any company to pro-actively do what these people seems to want, unless they are willing to put up with huge posting delays (manual review of all upoads), or a ton of false positives (as software excludes based on some kind of heuristic).
Do we really want video auto-pulled based on comments anyway? Consider how that would play out.
Oh, one last ill effect of this: the three Google executives in question now can't travel freely, even though they had nothing to do with this. I'm not sure we want a world where that sort of outcome is common, either.
But we are deeply troubled by this conviction for another equally important reason. It attacks the very principles of freedom on which the Internet is built. Common sense dictates that only the person who films and uploads a video to a hosting platform could take the steps necessary to protect the privacy and obtain the consent of the people they are filming. European Union law was drafted specifically to give hosting providers a safe harbor from liability so long as they remove illegal content once they are notified of its existence. The belief, rightly in our opinion, was that a notice and take down regime of this kind would help creativity flourish and support free speech while protecting personal privacy. If that principle is swept aside and sites like Blogger, YouTube and indeed every social network and any community bulletin board, are held responsible for vetting every single piece of content that is uploaded to them -- every piece of text, every photo, every file, every video -- then the Web as we know it will cease to exist, and many of the economic, social, political and technological benefits it brings could disappear.
We'll be live tomorrow at 4pm EST with Dale Henrichs of Gemstone - talking about MetaCello, a pacakge management system for Monticello. To listen live, head to our justin.tv site at 4 PM.
I've seen a few questions pop up on getting started with the Facebook interface I wrote, so I thought I'd post a basic "getting started" tutorial. First off, you need to go to the Facebook website (developer pages) and create an application definition - you'll get your application keys (you'll need those to make any Facebook API callls).
Once you've done that, you need to execute the following code (use a workspace for now) with your application credentials:
"login"
holder := FacebookSecretHolder new
apiKey: apiKey;
secretKey: secret;
applicationId: appId.
"now get the connection (will spawn a web browser"
connection := Connection withSecretHolder: holder.
connection login.
At the end of that, your default browser should pop up - it may show you what's below, or it may prompt you to login:
Once you've logged in, execute the following code to start a session:
"get auth token"
connection authGetSession.
At this point, you can start using the API - but you may notice that some calls don't work as you expect. For instance, #getStream will only return your news updates, and trying to publish to the news stream (#streamPublish:) will fail. Why? Well, your application needs to have permissions granted. Execute the following code, which will spin your browser back up, prompting you to authorize the relevant permissions:
"only need to ask for these authorizations once - grants permission to read news feed
and to write to the news feed"
connection grantExtendedPermissionFor: 'read_stream'.
connection grantExtendedPermissionFor: 'publish_stream'.
As the comment notes, you only need to do that once. Not once per session, once, period - unless Facebook changes something, or you use the APIs (or website) to revoke the granted rights. Now, use this to read the stream (inspect the results), and then publish an update:
"now read the news feed"
connection streamGet.
"update status in stream"
connection streamPublish: 'Writing to my Facebook news stream from Smalltalk!'.
Use the browser to verify that it all worked. That's pretty much it - to disconnect your session, use the code below:
"logout"
connection clearSession
You should be good to go. If anything seems wrong, just let me know
Randal Schwartz reports progress on the Squeak licensing front:
Well, after an immense amount of collective work with important legal and social restrictions and ramifications, I'm happy to see that we are in the home stretch!
The SFC asserted that we needed one final "call to all interested parties", and that has begun. Once that's complete (hopefully without a hitch), the current 3.10.2 release will be relabeled as Squeak 4.0, and made available under a combination of the Apache and MIT licenses.
I guess you should stay tuned to Randal's blog for updates :)
Twitter seems to be moving to Cassandra - a NoSQL database that was largely developed by Facebook. So says Ryan King, a developer at Twitter:
Ryan King, an engineer at Twitter, today told the blog MyNoSQL that the social networking company plans to move from MySQL to the Cassandra database for what he called its resilience, scalability and large community of open-source developers.
This puts the big three social media sites - Facebook, Twitter, and Digg - on Cassandra (or in the process of moving to it). Is this the start of a sea change in data storage, akin to the move from hierarchical to SQL a generation ago?
Today's screencast walks through exporting code out of VisualWorks or ObjectStudio in a format that will be compatible with various other Smalltalk dialects.
You can download the video directly here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?
Last night I got through the final battle in "Dragon Age: Origins" - it wasn't really that hard, it just required a lot of patience. It was my second run at the game - my first run through stalled at the end, partly because I didn't pay enough attention to the NPC characters during the game itself.
In DragonAge, you really need to pay attention to that stuff. Depending on how you interact with the people who join your little quest team, they'll either help a little or a lot; it impacts the plot going forward. It was enough fun that Intend to take another run at the game with a different origin story - there 6 possible openings to the game, all slightly different.
This is the way games are heading, and I like it :)
This Sunday we'll be releasing the talk we had with Tudor Girba about Glamour, and a week from Sunday, we'll be releasing the talk we just wrapped up with Dale Henrichs about Metacello. Good stuff!
The more I read about ACTA, and the other things that the RIAA, MPAA, BSA (et. al.) are up to, the more I realize that they want us to live in a thinly gilded cage of severely restricted choices. Consider:
University of Edinburgh law lecturer Andres Guadamuz wrote a blog entry this week highlighting some particularly troubling aspects of the IIPA's 301 recommendations. The organization has condemned Indonesia and several other countries for encouraging government adoption of open source software. According to the IIPA, official government endorsements of open source software create "trade barriers" and restrict "equitable market access" for software companies.
Right. Where "trade barriers" means "wahhhhh - these people have choices!". That's not what they want; they want a future of locked down content controlled by a small group of cooperating vendors.
Today's screencast looks at a small annoyance in the UI building tools - the fact that by default, they'll save code into the "none" package. Today we'll look at a work around for that.
You can download the video directly here. If you like this kind of video, why not subscribe to "Smalltalk Daily"?
The Cincom Smalltalk team is heading to Europe next week - we'll be in London on Tuesday, and Paris on Thursday. We'll be talking about what Smalltalk does now, and where it's headed - we'll have the Smalltalk management team and some engineering staff on hand to answer your questions.
Where will we be? You'll need to register for the events to get location details. I'll be putting the location details on my "where in the world" page early next week, so you can also just check back here then. We'll see you there!
The last time I left the Facebook interface, it required a web browser for part of the login process; I wasn't really happy with that. So this morning I took a look at automating that. I made a fair bit of progress, but when I post the login form, it simply times out. My earlier attempts were failing due to a lack of cookies; that was simply a matter of caching them on the initial request, so that the client would go ahead and submit them on subsequent sends.
Now I'm not getting that error; instead, my login POST is timing out. Progress, but I'm not there yet...
Dave Buck will be teaching a Smalltalk class via the net at the end of March:
At the end of March, Simberon will be delivering an instructor-led web-delivered course on Refactoring Object Oriented Design in Smalltalk. This course is 4 days long from March 29th to April 1st. We'll be web-casting the course allowing you to take the course without travelling. Lectures start at 11:00am EST and 3:00pm EST allowing you to attend the course fairly conveniently in any North American time zone. Participants can ask questions through a chat channel or by e-mail.
If this patent granted to Facebook isn't a sign of terminal stupidity at the patent office, I don't know what is:
Has Facebook patented the news, or at least the news feed, in social-networking environments? On Tuesday, the United States Patent Office granted Facebook a patent for "Dynamically providing a news feed about a user of a social network."
Heck, that seems like it could cover a widely read blog with registered users and threaded comments. Like, say, most of the political ones out there. Or Slashdot. Or Digg. Or... fill in the blanks. It's time to get a shovel, kill software patents, bury them, hose the ground over them with gas, and light it up.
I take a skeptical view of this demand from the EU that Google change out streetview pictures every six months rather than every 12:
Currently, Google holds Street View images for a year but the EU's Article 29 Data Protection Working Party has said the search engine must chop this in half, as 12 months is a "disproportionate" length of time.
If there's a privacy issue, I fail to see how 12 months would be bad, but six months would be ok. This looks an awful lot like a way to raise Google's costs to me.
I woke up this morning to an interesting thing - no USB drives (I have three attached) were showing on my Mac's desktop. I remembered that last night, when I was unhooking from the wired to wireless network (to move the Mac to the living room), the three drives wouldn't unmount - they stayed grayed for eons before I just gave up and unplugged the usb hub. I got the standard "you didn't eject" dialog, which I ignored, having seen it before.
My guess was that the service that handles that crashed, but Googling didn't turn up much - it seems a lot of people had USB issues with Tiger, but nothing relevant to me showed up. So.... I just rebooted. That cleared the problem, but I still wish I knew which service was involved - I likely could have just restarted it.
Slashdot reports on the DRM for Assassin's Creed 2 - apparently, if you don't have a working connection, it'll just stop working. Never mind all of the obvious issues with this from the consumer end (what if your ISP has an issue?) - what about the brittleness this introduces on the back end?
Remember, all of its code for saving and loading games (a significant feature, I'm sure you would agree) is tied into logging into a distant server and sending data back and forth. This vital and complex bit of code has been written from the ground up to require having the saved games live on a machine far away, with said machine being programmed to accept, save, and return the game data. This is a far more difficult problem for a hacker to circumvent.
While it may be harder to circumvent, it sure will be easy to tick off users. Say the servers have a problem - then every game owner is SOL. Say a DDOS attack is launched on those servers? In a way, the vendor has painted a target on themselves. I won't be a bit surprised if a few black hats take aim at it.
Going back to the client side for a moment, I see my XBox dropping offline fairly regularly for small amounts of time. Usually it's after it's been unused for a bit, but sometimes it just drops right in the middle of a game - I know this because the XBox notifies me. If I had Assassin's Creed 2, such periodic drops (and cuts from the game) would get to be really, really annoying. My desire to buy the game just about fell off a cliff.
The good news is, we can see tsunamis coming now. The bad news is, other than getting to high ground, there's not a lot you can do about a tsunami. For the rest of us who are not (directly) affected, there's live streaming available - that's certainly new. Interesting times we live in...
This week's podcast is a chat with Tudor Girba, one of the driving forces behind the Glamour project. To get an idea as to what Glamour is, here's Tudor's description:
Browsers are specific of user interfaces focused on exposing and manipulating data, and Glamour is a Smalltalk-based engine for building such browsers. Approached traditionally, building browsers becomes expensive. Glamour's abstractions lowers this cost significantly and brings the power of browsers in the hands of every Smalltalk programmer.
Glamour was mainly developed by Philipp Bunge, Tudor Girba, Lukas Renggli with contributions from Jorge Ressia and David Roethlisberger. Glamour is currently built in Pharo, it is available under the MIT license, and it is an important part of the Moose analysis platform.
More information about it can be found on the official page.
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.
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'm on my way to London - today's entertainment is a long wait at JFK for the outbound flight. I did manage to find a bookstore with a modest selection; had I been thinking, I would have hit Amazon earlier last week. Anyway, I do have wifi, and I think I'm tired enough to sleep.
Of course, this does mean a week without Dragon Age
:)
Dare Obasanjo makes some great points about why we get on "achievement treadmills", and asks some great questions about them:
What it really boils down to is that I traded one set of achievement treadmills (i.e. blogging and contributing to an Open Source project) for another more explicit set (i.e. playing Modern Warfare 2). Now we can go back to Alex Payne s tweet and find out where I disagree. From the perspective of Infinity Ward (creators of MW2) is it a bad thing for their business that they ve created a game that has sucked me into almost 300 hours of play time? On the other hand, is it a good thing for me as a fully functioning member of society to have cut down my contributions to an Open Source project and the blogosphere to play a video game? Finally, is it better for me as a person to have traded achievement treadmills where I have little control over the achievements (i.e. number of blog subscribers, number of people who download a desktop RSS reader, etc) for one where I have complete control of the achievements as long as I dedicate the time?
While MW2 didn't suck me in that much (I played it, finished it, and am pretty much done), Dragon Age is a whole other kettle of fish - and I've certainly racked up a stupendous amount of time playing it. Some of it really is the satisfaction of unlocking various achievements (the game has multiple paths you can take through it, including character interactions). I'm sure that I've spent less time on, say, my Facebook interface (and BottomFeeder) as a result. Is that bad? So long as it's not interfering with my actual work and personal life, I'm not sure :)
A print-on-demand, softcover copy of the book "Dynamic Web Development with Seaside" is available from Lulu. The printed book is identical with the online and the PDF version of the book.
Consider the insanity of what's going in in the UK - open WiFi is being effectively banned, because all hotspot owners are going to be required to keep logs (as if they were ISPs) of all accesses. Right - because on the super-fast (cough) connections at the typical coffee shop, I'm sure that tons of pirating is going on:
"This is going to be a very unfortunate measure for small businesses, particularly in a recession, many of whom are using open free Wi-Fi very effectively as a way to get the punters in," Edwards said.
"Even if they password protect, they then have two options -- to pay someone like The Cloud to manage it for them, or take responsibility themselves for becoming an ISP effectively, and keep records for everyone they assign connections to, which is an impossible burden for a small cafe"
The stated goals - prevention of copyright infringement - just make no sense. The big pirating is simply not happening on open WiFi hotspots. What's next - a rule that all users of a hotspot (even a home one) need to be registered?
That's pretty cool - you can buy a ticket for the Heathrow Express (a train that runs from Heathrow straight into Paddington station) right at the departure gate at JFK. Way, way cheaper than the cab ride would have been (I looked at the map, and it would have cost a bundle). It's about 3 miles from there to my hotel though, so I either need another subway ride from there, or a short cab ride. I'd walk, but my shoulder bag would kill me over that distance - never mind the exhausted state I'm likely to be in at that time of day :)