This morning my Mac decided to act like a Windows box - a bunch of applications froze up (Mail, iPhoto, iTunes) - and the only way to unzombie them was a reboot. And that required a hard power off, because shutdown wasn't able to kill them, either.
Strange. I like the Mac a lot, and it's a huge, huge improvement over Windows - but it's not a perfect platform, regardless of what the fanboys would have you believe :)
Last night's concert was a blast - Paul and Storm were hilarious, and Coulton played a great set. He had Paul and Storm on stage with him a fair amount, and the three of them together were really funny. If they play near you, run, don't walk, to get tickets.
Of course, I forgot to bring my good camera :) But I did have my iPhone handy:
And thanks to Mike and Jo - the tickets and dinner were a fantastic birthday present!
This week we spoke to Martin Kobetic, one of Michael's fellow developers on Cincom's Smalltalk team. We mostly talked about the security libraries (encryption, etc) in the product, although we spent a bit of time on Opentalk and grid computing as well. To listen, click here.
There are some audio artifacts in Martin's portion of the audio that I just couldn't filter out. I apologize for that; it sounds a bit like crackling on a phone line.
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!
Julian Fitzell explains what's coming in Seaside 2.9 - part 1 here, and part 2 here. The big change has to do with Continuations; they are now optional in the normal flow of Seaside.
The logical question you'll have for me is what Cincom is doing with respect to 2.9. Well - we've been heads down on the Web Velocity project, but the first release of that is getting pretty close. We'll be looking at moving our support from 2.8 to 2.9 after that, with formal Cincom support coming when 2.9 is officially released.
In the meantime, why not follow Julian so you can keep track of the project?
I have a few ideas in the queue, and a few suggestions as well - but Smalltalk Daily is for you, not me. So - feel free to hit me with ideas. Send me email, comment here, or heck - hit the talkback widget on the blog!
There was some interesting news last week about Hulu - they stopped distributing with tv.com and Boxee. Now, they could be trying to build an online version of a TV station - like Facebook, trying to get all the clicks to happen on their site. There's also the possibility that cable networks are getting antsy about the whole streaming video thing:
Could it be that the big cable companies are pressuring TV networks and film studios to scale back the content they provide Web services? Peter Kafka from All Things Digital certainly thinks so. Although itâs purely speculation, it's believable, especially given the financial incentive cable networks and operators have to preserve the current cable TV business model. In fact, Glenn Britt, CEO of Time Warner Cable blamed part of the company's $8.16 billion loss in the fourth quarter on Web video services, which have been luring customers away from cable companies.
I have no idea whether that's true or not, but I do think cable operators are at the starting point of a downhill run to pain. Just as the web has been steadily destroying the newspaper business, I think we're starting to see the business model for TV and radio change over. In an on-demand culture, the whole "must see tv" thing just doesn't fit anymore.
The software giant, which recently laid off 1,400 employees, sent letters (see image below) [ed: follow the link for that] this week to some of those former workers letting them know that their severance payouts were a bit too "generous" and respectfully requested that the former employees pay back that money, according to a report Saturday on TechCrunch.
Never mind the accounting or tax aspects of this - just consider how that's going to look as it gets publicity. Heck, MS is big enough that this could easily land on a major media site, like Drudge.
As time goes by, I'm more and more convinced that the legal department should report to the PR staff, and not be allowed to do anything before getting a PR blessing...
Everyone has been pointing to this Marc Andreeson interview with Charlie Rose - around minute 28 he gets going about newspapers, and eventually says that the "game is over" for print news. This isn't news to me; I doubt the companies running the papers will pay much attention though. It's really, really hard for a company that's had success in X to transition successfully when things transition over to Y.
The far more likely path is what we're seeing happening already in some of the niche areas, like tech news: the old players are being completely overwhelmed by the new players, because the new guys don't have any romantic connection back to "the way it should be done". I expect that we'll have plenty of good news reporting in the future - it just won't be happening via the same companies who did print. And, in my opinion, radio and tv are going to get the same treatment....
I've just finished building a one script build for BottomFeeder on the Mac; I'll need to create a batch file to do the same thing on Windows, and adapt the existing script (minor, really) for other Unix/Linux platforms. It's probably of general interest, so I'll do a screencast on it tomorrow.
Learning about someone's product doesn't sound like a way you want to spend your valuable time, does it? Stories are exciting. Most marketing is not.
Your job as a marketer is to tell stories that people are eager to share with their friends, colleagues, and family members.
I see a lot of this in marketing circles now, on blogs and on Twitter. It's a nice idea, but there's a very basic problem with it: "telling a story" doesn't move the ball forward, unless that story illustrates something about what your company does. Sure, people love stories, and they'll read entertaining ones whether they're related to what you do or not. What they won't do is get any idea as to what your company does, how it does it, and how you can help them solve their problems.
Stories are great - so long as they are connected to what you do. If they aren't connected, you might as well try to be a novelist.
There's another problem here, too. When I'm searching for solutions to a problem I have, the last thing I want to run across is a meaningless story about something that a marketing department thought would interest me. What I want to find is the answer to my problem. Say I'm looking for help with CSS for my site - is it more helpful for me to find a long winded story about some random topic, or a site that gives me examples of how to solve my problem - along with an offer to help me do it?
Marketing is a conversation, but it's a directed one.
On today's Smalltalk Daily, we build up a runtime image and a Mac .app bundle from a base VW image - without using Runtime Packager. To watch, click on the image below:
Today's Smalltalk Daily covered the process (with some Mac specifics) - I thought a post on the topic, in addition to the video, might be useful. First, the important part of the build script (the part I'm omitting loads all the required parcels into a base image and sets some application level state. To get the startup class specified, simply create a subclass of UserApplication, and add a #main method that executes your startup code. I covered that here.
What does that do? Well, it sets up custom notifiers for the runtime (I don't want the default behavior that RTP specifies, which is "log and quit") when an unhandled exception happens. Then it turns off the "default window" block - that's the behavior whereby the launcher window pops up if all other windows are closed. Then it closes all Launchers and Workspaces, and saves the runtime image. Note that it does that in a separate process - that's so that the runtime doesn't start up and immediately quit :)
That gives me a runtime. I'd like to make it smaller though (not in memory consumption terms, just in disk space terms). So I use this script:
"load the compression code"
[#(
'$(VISUALWORKS)/packaging/ImageCompression.pcl'
) do: [:each |
Parcel loadParcelFrom: each]]
on: MissingParcelSource
do: [:ex | ex resume: true].
"now compress the image"
ObjectMemory
compressImageFile: 'bottomFeeder.im'
to: 'bfSmall.im'
resultsTo:
[:inFileSize :outFileSize :compTime :decompTime|
Transcript
cr;
nextPutAll: 'Image compressed to ';
print: (outFileSize * 10000 / inFileSize) rounded / 100.0;
nextPutAll: '% of original (';
print: inFileSize->outFileSize;
nextPut: $);
cr;
nextPutAll: 'Deompression + read time ';
print: decompTime // 10 / 100.0;
nextPutAll: ' seconds (compressed in ';
print: compTime // 10 / 100.0;
nextPutAll: ' seconds)';
flush].
(Delay forSeconds: 2) wait.
ObjectMemory quit.
That fires up a new image, loads the compression parcel, and runs it on my image. Here's the shell script that guides the whole thing - and yes, sleeping to ensure that commands have finished is probably sloppy - if you're better at shell scripting, I'm sure you'll have a better answer there:
That copy command drops the image into the Mac App bundle. As it happens, that bundle is just a directory structure, with the VM in one place, the image in another, and an XML file to explain it. That's documented - look in the "packaging" directory in the distro.
Finally, what about specifying your own app image for the dock? Well, in the app bundle is a file called "herald.tiff". Drop your image there in TIFF format, and you should be good to go.
Microsoft has dropped an attempt to recoup some severance money from 25 recently fired workers it mistakenly overpaid. The Redmond, Washington-based company, which announced a plan to cut up to 5,000 jobs in January, acknowledged on Sunday that it had tried to get the overpaid workers to return the extra money. But late on Monday, it reversed course. "This was a mistake on our part," said a Microsoft spokesman in an e-mailed statement. "We should have handled this situation in a more thoughtful manner."
This was nearly guaranteed to go this way once it became public knowledge, and I'm sure that MS' PR folks could have told legal that it was going to go that way, had they been asked. Taking legal action is never simple, but it's even more complex now...
I like the fact that my iPhone will work overseas, but stories like this remind me that outside the US, the only internet browsing I do with it should involve WiFi access:
A hapless Slingbox user managed to run up a data bill of $28,067.31 watching a game of American football, despite being aboard a docked cruise liner and having an unlimited data tariff, thanks to a technical hitch or two.
This poor guy hadn't even left the US yet, but it sounds like it would be very, very easy to run up a huge bill via overseas Data Roaming...
Earlier today, I posted a build script - the one I'm now using for BottomFeeder runtimes. The cool thing is, that script is easily adapted to any runtime. You just use code like this to load the parcels you need:
And then drop down to the packaging code that I covered in the post. The cool part is, you really don't need to use RuntimePackager anymore. With a simple Smalltalk script and an accompanying shell/batch file, you can:
Install your own unhandled exception handler
Specify the startup code with a subsystem class with a simple API
Build up from a base runtime, rather than stripping down from a development image
All of that is pretty cool - it has never, ever been easy to work with RuntimePackager. With BottomFeeder, I had to rebuild the list of classes to keep and remove each time there was a new release of VW, and - as I added/refactored code, that list would often need tweaking - as the tool often makes mistakes on its own. With the build up mechanism I wrote about earlier, that just doesn't happen.
Earlier this month, my Seaside/Web Velocity talk in Cincinnati got postponed due to a snowstorm. It's been rescheduled for next Tuesday - go here for details on the location.
To keep track of all the upcoming Cincom Smalltalk events, head to our Events Page
Today's Smalltalk Daily covers scripting a development build. Just as you need to go from development to deployment, you need to go from base development tool to a work environment. Today I demonstrate how I do that for BottomFeeder. To watch, click on the image below:
Perhaps AT&T should not have named their latest phone the "Quickfire" - Engadget explains why:
Please take special care when charging your Quickfire GTX75 mobile phone. There have been a few reports of significant overheating of the phone when the AC Charger adapter is inserted incorrectly and forced into the phone.
"We made this film not for Trekkies but for future fans of Star Trek," Abrams told a news conference. "The studio wanted to give the film a fresh start, and I was originally brought in as a producer, but upon reading the script, I saw so much potential and possibility that the original had failed to realize due to technological constraints, so I got very greedy and I decided to direct it myself."
This makes me hopeful that the movie might be good, and that there might be hope for the franchise. For good or ill, the old franchise has long since reached intellectual exhaustion - it either needed a full reboot, or retirement.
The Economist relates a pretty sorry example of "how make your company look like a bunch of tools". Follow the link - it's better if I don't try to summarize. Suffice to say that in some outfits, the rot extends all the way through...
The daily screencast is delayed - I have a workman finishing up on the bathroom, and the work involves a power saw and hammering - which isn't really conducive to recording audio :)
On today's Smalltalk Daily, we look at a tool that allows for usage based menu item order to be figured out. It's not something you would deploy, but it may be handy as a testing tool. To watch, click on the image below:
Saunders blames the web and ideologically motivated haters for the demise of newspapers, but she ignores the fact that major dailies have been dying for decades, long before the Internet came along. Back in the '50s when Saunders was a child, the legendary journalist A.J. Liebling devoted numerous New Yorkerarticles to the sad demise of major papers and the societal hole that each left behind when the presses rolled to a halt. The industry has been dying for as long as many of us have been alive. Multiple newspaper towns became two paper towns, morning and afternoon. Two-paper towns became single-paper towns, usually when one paper killed the other. I can still remember where I was on Dec. 8, 1991, when I heard the news that the Dallas Times-Heraldhad been bought for $55 million and immediately shut down by the rival Dallas Morning-News. When a paper dies, a sizeable chunk of its readership doesn't move to another paper. People just break the habit. Even though half the reporters in town were gone, I don't recall any stories in the Newsback then lamenting the stories that would never be written.
When I first moved to the Baltimore area back in the late 80's, there was a morning paper, and an evening paper. The evening paper, which had far better comics, died soon after I got here, and - as Rogers says - I just didn't bother getting the morning edition. That was a long time before the internet popped up.
There are problems with newspapers, and the death of printed classified ads is making their lives more difficult - but the downward trend started a long, long time ago. What the net did was tilt the ramp.
Apparently, the Japanese market is rejecting the iPhone (as they've previously rejected Nokia and other vendors. Why?
What's wrong with the iPhone, from a Japanese perspective? Almost everything: the high monthly data plans that go with it, its paucity of features, the low-quality camera, the unfashionable design and the fact that it's not Japanese.
The article from Wired goes on to explain that Japanese customers expect cheaper data plans, video capabilities, and TV on their phones. That sounds cool, but I have to wonder: if you watch/record video on your phone, what kind of battery life do you get? One of the things I really like about my iPhone is that it gives me enough battery life for a full day's usage.
Okay, so Verizon offers two channel lineups in our region: Essentialsfor $47.99/mo. and Extreme HDfor I can't find it now. $57.99/mo, I think. Essentials has the about same minimun channel line-up I get for free over the air. Extreme HD has what you want if you watch in HD: all the main cable and sports non-premium channels. Add DVR rental (for which one has no choice) for $12.99 and I'm at $140 or so, if I want the Extreme HD.
Doc is looking to drop down his monthly tithe to Verizon for TV, and I'd like to do the same thing with Comcast. The trouble is, it's way more complex than it should be. The Comcast DVR defines new levels if user interface atrocities, so paying a monthly tab for the "pleasure" is annoying. I'd really, really like it if just about everything beyond basic cable was pay per view.
Music vendors ended up creating a single dominant player - Apple with iTunes - by demanding DRM. They got device lock-in that made Apple the big player in that space. TechDirt explains:
Back in 2005, we noted that Apple's dominance over the online music space, which upset the record labels tremendously, was actually the record labels' own fault for demanding DRM. That single demand created massive lock-in and network effects that allowed Apple to completely dominate the market. If the record labels had, instead, pushed for an open solution, then anyone else could have built stores/players to work as well, and it could have minimized Apple's ability to control the market.
So with that history, what are book publishers doing? Why, they're demanding DRM, and thus ensuring that Amazon (with the Kindle) becomes the dominant force in that space. Like Apple, Amazon will be able to dictate terms that the publishers don't much care for. But hey - at least their valuable works will be safe with all that DRM... just like music was.
You can almost excuse the music vendors - digital music was just beginning, and there really weren't any examples to learn from. The book publishers? They're apparently too dumb to learn.
I love software that tries to give me a time estimate on completion - especially when it works like this:
So the task has been running for 10 minutes or so, is at 69% done, and has seconds to completion? The fun part is watching it count down to zero and then count back up :)
Apparently, a set of middlemen somewhere isn't getting paid off when the Kindle does text to speech for you - read the utterly ridiculous assertions by Roy Blount, Jr. as to why allowing publishers to disallow text to speech is a good thing. Right. Because you just know that Kindle owners have been planning to stay up nights recording the text to speech renditions (in real time, no less) off to disk, and then heading off to Pirate Bay with the resulting mp3s.
At last summer's ESUG 2008 conference, the Code City presentation was one of the most interesting ones I saw. The tool (built in VW) parses code (for many languages), and visualizes the results as city blocks. It's a really cool piece of software. Get the slides here - to watch, click on the image below:
We are proud to invite you to a small meeting of Smalltalkers in Prague, which will start Thursday 5th March 2009 at 6pm in Rainbow tearoom in Prague, Czech republic. Janko Mivsek promised us a presentation of Swazoo & Aida web technologies, which will be the first part of meeting.
Sounds like fun - I'll be heading home from Cincinnati at the time.
This morning we spoke to Julian Fitzell about Seaside 2.9 - in many respects, this podcast is an update to Julian's ESUG 2008 talk. We spoke about the changes in Seaside 2.9 - especially the partial continuations work. To keep up with what's happening in Seaside, it's probably a good idea to subscribe to Julian's blog. To listen to the podcast now, click here.
Julian recommended the following links for more information:
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 was reading an article about the financial situation, and there was one of those "also writing about this" boxes with presumably related links. Except...