I'm Speaking at Smalltalk Solutions
I'm sure I've mentioned this before, but I'm speaking at Smalltalk Solutions 2006 - I'll be going over the various issues I've had with this blog server, and how I've addressed them. See you there!
I'm sure I've mentioned this before, but I'm speaking at Smalltalk Solutions 2006 - I'll be going over the various issues I've had with this blog server, and how I've addressed them. See you there!
Sam Gentile (quoting Andy Hunt, co-author of "Programming Ruby") on Ruby:
When people ask me what attracts me to Ruby, I have two answers:
First, more than any other language I’ve used, it stays out of your way . You don’t have to spend any effort “satisfying the compiler” as you would in C++, or even Java. These languages have an awful lot of noise and verbosity. You get used to it of course, but it’s pretty wearing over time.
Second, I can type in an absurd amount of code in Ruby and have it work the first time. Not 2-3 passes resolving any syntax issues, not 4-5 passes tracking down a bug or two. It just works. Ruby’s not perfect, by any means, it’s got dark corners to the language just like every other language. But it has a lot fewer of them. For the great majority of projects, the great majority of the time, it just works."
I'd say exactly the same thing about Smalltalk, and the syntax is more lightweight: 5 reserved words, 2 operators. Try it yourself!
Here's an excellent post on development and tool choices - don't take the stupid no for an answer when the subject of Smalltalk comes up. The post in question is about Lisp, but the same answer applies:
As if a programmer can't think for himself. When you don't have any additional budget at all and you think Delphi would fit the current problem, then you are out of luck. You have to pay for Delphi. Same goes for some other tools. So you have to find another way to solve your problems.
There's a strictly Java only policy at the shop you are working? Don't waste your time thinking about how cool it could be to quickly code something in Ruby.
But when the only reason holding you back using Common Lisp is the doubt if other programmers could pick up when you leave, or support you in maintaining the code …
He explained his thinking in a prior post:
Every now and then I read a Usenet posting or blog entry about the somewhat frightening question from management: "Will someone else be able to work on your Common Lisp code?"
Then most people explain why they had to say "no".
You all know the reasons why they think they have to give this answer. But are the reasons really valid?
I don't think so. It is the job of a programmer to work with different tools. Programming languages are such tools, among others. It is expected that a Java programmer can learn the Eclipse IDE within a few days even if he was a long time user of Netbeans. A programmer has to use many tools he wouldn't choose by himself. Do you think most of them really like writing their e-mails at work with Outlook? :-)
If the other developers can't pick up the language used to write an application in, then I'd say that you hired the wrong developers. Unless you work for a vendor, shops that work exclusively in one language are very, very rare. Heck, our staff, in developing the Smalltalk products, has to work in C, C++, and C# (VM, browser plugins, .NET interop). They also need to do minimal work in Java (SOAP/CORBA/etc interop).
Planet Squeak has some news on the Smalltalk front: A new (Spanish Language) book on Squeak, by Diego Gomez Deck.
Ralph Poole has some complaints about Microsoft:
I am sick of Channel 9, Robert Scoble, and the self-congratulatory Microsoft bloggers who mask their lack of solutions with betas and “naked conversations”. Yes, I do think that Microsoft needs to connect with its customers, but vacuous conversations among the "A" listers does not yield products that have value. How hard is it to create a portal in which people can keep up with their RSS feeds? How hard is it to create a browser that has tabs, is secure, and performs well? How hard is it to create a webmail platform that connects to Outlook? Does it take a visionary like Ray Ozzie to see that the read/write web is evolving quickly before everyone’s eyes? Why aren’t Microsoft’s customers even more demanding than they are? Is it because we are so satisfied with the applications that have evolved over the years that we are willing to wait for Vista and the next version of Office?
Well, it's harder to do any of those things when you've spent the last decade building up cross dependencies between all of your products. Why do you think Vista is late, and has nothing (other than a gift to the DRM lovers) new in it? Because they are working in a huge ball of mud that is hard to push in any direction.
This is why, unlike a lot of people, I wasn't worried about MS bundling everything under the sun. I knew that eventually, they'd hit this brick wall.
Via Doc Searls, I see that BellSouth is making some headway in the "Tony Soprano" approach to network access:
BellSouth's new business model, a slightly more polite form of the kind of extortion practiced by Tony Soprano, is starting to pay off. The company says it is in negotiations with several Web sites willing to pay extra fees to BellSouth for more bandwidth than it provides to other sites.
BellSouth says that it shouldn't have to bear the cost of providing bandwidth for big sites like Google. Instead, the sites should pay for them. But BellSouth ignores an inconvenient fact --- it doesn't bear those costs; its customers do. So BellSouth gets to double-dip.
If BellSouth is finding that network access costs more, they need to up their subscription charges - not silently screw over their customer base by making the net worse.
EGM interviewed Bill Gates about the upcoming Nintendo Revolution:
In the discussion with EGM, Gates expressed his doubts over whether or not Nintendo was taking the right steps with its audience. Gates concern however, is not dumbfounded. Because of the unique controller, the Revolution will tend to require somewhat unique games that are designed to be enjoyed using a different method of control and interaction. What this means for developers who were planning to bring games across platforms is yet unknown.
From the interview, Gates said:
"Sometimes that makes them incredibly right and sometimes that makes them incredibly wrong. They're certainly making a different bet in terms of how much they're putting into the graphics this time. I do think there is a question as to whether they can get outside the young age bracket at all. That's been tough for them."
Well, there's a parallel query they might ask Sony and Microsoft. Nintendo has been profitable with their consoles for years now (even though their market penetration is smaller than Sony's and MS'). How long can those two continue to attack the same demographic while losing money on every console sold?
Bob Congdon asks a few questions about the impact Eclipse is having on the market for development tools:
Eclipse is a terrific Java IDE. Its plugin architecture is superb. And it's free. Apparently that "free" part is having some negative consequences. According to The Register, Borland is dumping their Java and Windows IDE business to focus on the software delivery lifecycle. Why? Borland has been badly hit by the rise of "free" software tools, notably the open source Eclipse Foundation . Another article from The Register asks can IntelliJ IDEA can survive the Eclipse onslaught? IntelliJ IDEA originated a lot of Java refactoring features. Now they're available for free in Eclipse. That's great for developers. But what about tools vendors? One of the goals of Eclipse is to provide a platform for vendors to add their own value. But is it a good thing when Eclipse provides these same features for free and, as a result, forces vendors like Borland (and possibly Jetbrains, the developer of IntelliJ) to abandon the tools market?
Well, the interesting thing about Eclipse - to me - is the funding. It's an IBM project for all intents and purposes, and the net effect it's having is to drive Java development tools from the market. An interesting side note on that - I had a call with an analyst grouyp recently, and they told me that the overall vendor revenues for tool sales was up (and growing) - excluding the Java segment of that space, which was down, and sinking.
The amusing part for me is watching the way people react to all this. Microsoft gives away internet explorer, having the unsurprising effect of hurting Netscape - bad. IBM gives away Eclipse, having the unsurprising effect of hurting Java tool vendors - no problem. Apparently, you can inoculate yourself from charges of predation by open sourcing the software in question.
Charles Miller on how the anti-piracy warnings really, really suck:
And by forced, I mean I’m quite literally not permitted to skip it if I want to watch the movie. Thanks to the User Operation Prohibition requirements of the DVD Digital Rights Management system, the DVD consortium prohibits my DVD player from skipping this patronising advertisement no matter how many times I’ve seen it before.
And after you get told over and over again that you wouldn't steal a movie, you think:
“Yes, I would. I’d steal it in a second if the stolen version allowed me to fast-forward past the <expletive deleted> adverts.”
Yeah, this DRM stuff is really encouraging the behavior you want...
Did someone activate the flux capacitor? Barry Manilow is at the top of the album charts!
Scoble wonders why there's always a discrepancy between the number of reported search results and wht you actually see coming back. I think he's kidding here:
Why aren’t there any truth in advertising laws for search engines?
But seriously; why the discrepancy?
Borland is getting out of the application development space:
CUPERTINO, Calif. - Feb 08, 2006 : Borland Software Corporation (NASDAQ NM: BORL), today announced aggressive plans to drive its Application Lifecycle Management (ALM) business forward. As part of that plan, Borland has agreed to buy Segue Software Inc. (NASDAQ CM: SEGU), the Massachusetts-based provider of global software quality and testing solutions. In addition, Borland announced plans to seek a buyer for the portion of its business associated with the Integrated Development Environment (IDE), including the award-winning Borland Developer Studio (Delphi®, C++Builder® and C#Builder®) and JBuilder® product lines.
I guess this counts as a move "up the food chain". Borland never escaped from the standard developer license model, and there's simply no way to make money that way in the long term. It gets harder and harder to get anyone to pay support fees, so you have to maintain a rapidly expanding base of new license sales year in, year out. That's simply not sustainable - thus this move on their part.
This is the last batch of photos for today - Suzanne should be sending me the pics she took of some of our staff from a meeting we had in Cincinnati last week, and I'll post those when I get them.

Did someone mention sockets?

Sames is the lead on Pollock and all that flows from it. Between him and Vassili, the VW GUI is in good hands

Sean is moving VisualWave forward, and pitching in wherever else we need him. In between lightning strikes, of course.

Yuwei is our database lead, and is responsible for all the great work that's been going on there of late - both in OST and in VW.

Dave has been in our support group, but has been pitching in on Store and databases of late
Yes, there's more where that last batch came from:

Diane handles Store

There he is, Mr. VM

Kevin is pushing Pollock with Sames, and plugging the holes in the existing GUI before we get there

Len was the lead on Opentalk, and a lot of what's there is his vision. He's now helping Bruce fill the holes in over in documentation-land

Mark Roberts is the guiding hand behind the Smalltalk Doc effort, as well as doing his part on the documentation itself

Martin is the team lead on protocols/Opentalk, and also master of our security frameworks
There were more photos from the meeting; I just ran short of time when I pushed up that last post. Here are a few more:

Alan Knight, Web Toolkit, GLORP, Deployment - you name the thing that needs fixing, Alan's got his keyboard on it

Mr. VisualWorks Support

Bob is the glue that holds the product and the team together.

That part of the product will be documented someday, according to Bruce Boyer

Installation and Packaging are Dave's gig
Doc Searls relates the gist of a conversation between an internet radio aficionado and the RIAA - which explains a lot (to me, at least) about what the RIAA is after: control:
Internet Radio guy: We're on the same side here. We promote artists and sell records. Our station plays deep cuts from the industry's catalog. We put lists of every artist and song we play up on the Web with links to online stores where listeners can buy the CD. We help fight piracy and increase record sales. Why are you trying to kill us?
RIAA guy: You don't understand. We're in the blockbuster business. We don't care about the rest of the catalog. We pay a lot to make and promote blockbuster artists. We have a system for that. You're not in it.
This is why the RIAA hates the iTunes store so much. Never mind that it exposes a large variety of music for sale - in many cases, music that would otherwise not be sold (the same way that Amazon exposes a wider array of books and authors). They dislike the static price, because it puts the consumer in charge of popularity. Instead of "insta-bands" (think "The Monkees", or "Milli-Vanilli", or, more recently, Kelly Clarkson), we get the general public buying what they like after sampling it. That generates an ongoing popularity list that the industry itself doesn't control. Instead of paying radio stations to put "the next big star" into the rotation, they have to actually deal with audience demand.
Boy, they don't like that. They don't like that at all. It's the same dynamic that the movie industry has been dealing with for a long time. TV made basic inroads in the early days, but poor quality signal and the limited number of channels (growing up north of NYC, I had access to more channels than a lot of people: 9). Then came cable. Then came the cable explosion, and VHS, and DVDs. Now we have home theater and 500 channels, with on-demand viewing driven by PVR's.
The movie industry hasn't adapted that well (witness the declining numbers), but they haven't gotten to the same place that music is in: yet. Network bandwidth makes it easy to download music quickly, but that's not true of video content at this point. Which is why you see the level of panic in the music industry peaking, while the MPAA hasn't been quite as aggressive. The music industry sees that the future arrived yesterday, and they'd like nothing better than to sue and legislate it out of existence. Doc's quote makes that very clear.
I figured I'd post some of the pictures from the team meeting - here's a small sampling:
Our engineering manager, Claude Poole. Is it obvious that he's just spent two days herding cats?
The question you have to ask yourself is, why was I smiling so broadly? :)
Our marketing manager, Suzanne. She's a force of nature
Could you ask for a better business partner than this?
Someone just asked John about the OS X Aqua VM!
Why is Kim Thomas so happy? She's at the meeting, instead of dealing with support issues!
Just don't ask Sherry about the plugin API for Mozilla on non-Windows platforms :)
Steve is the man behind an awful lot of the things that make the system tick. If he doesn't know the answer, no one does.
Tamara Kogan is responsible for the network clients and the Web Services implementations.
Every time you notice that something is easier to work with, Vassili was probably at work
I pointed to this article by Brandon Werner a few days ago, but I thought it deserved more attention. First things first - don't let his title mislead you about Cincom Smalltalk; I addressed longevity here a few weeks ago. Bottom line: Cincom is doing a lot of work on both ObjectStudio and VisualWorks. So anyway, let's take a look at some of the high points he brought up:
If you visit their website, you’ll find an active community, conferences and seminars (Smalltalk Solutions Conference looks cool), and even a Smalltalk Digest. Their Smalltalk products are available for free for non-commercial use, and can be downloaded here. Amazingly, there are versions of Windows, Mac OSX, Linux, Solaris and other unixes (ObjectStudio is Windows only, tsk tsk). In fact, the complete system that Cincom has deployed around Smalltalk is breath-taking in it’s completeness.
It includes such 21st century enterprise features like:
- VisualWorks Application Server - with it’s own servlet container and JSP or ASP tags and tag libraries
- Store - Not the best named feature, it’s a complete code management and control application
- VisualWorks itself - with code refactoring and other goodies
- Opentalk - Webservice interoperability with SOAP and UDDI
- Strong Database Integration - table to object integration for all major databases (except MySQL.. a big hole). Hibernate like and powerful.
- Object Engine/Virtual Machine - What it says, a powerful VM that allows for neat immutability that allows for object sharing across VMs as well as better garbage collection algorithms.
Needless to say when I first downloaded it from Cincom’s website after playing with Squeak a great deal, I had no idea I was downloading what amounted to a complete J2EE-like application environment. I didn’t even know it existed. There is a lot to play with, and I’m impressed Cincom has done so much work on the Smalltalk platform.
Yes, the VisualWorks environment in Cincom Smalltalk is a large, enterprise class platform - and we manage it with a much smaller team than Sun allocates to Java, or than Microsoft allocates to .NET. Something to do with higher productivity, perhaps.
I do need to add a few clarifications to the above. MySQL: It's on our radar, and we hope to have support out in the next major release. There are a lot of other priorities on our plate though; in the meantime, there's an implementation in the public store that you should be able to make use of.
The last point about sharing objects across VM's needs clarification as well. We are in the process of delivering 64 bit platforms now, and those new VM's will - when they come into full support - offer shared perm space. That's a reference to one of the zones of memory managed by the VM. The upshot is, objects that are shared (like the base class libraries) will be shareable across mutiple running Smalltalk images. That will give multi-image application servers a smaller footprint on the server, and help with overall scalability. So we don't have that last bullet point yet, but it's coming.
That plays right into the "for now" part of Brandon's title though: we just got done with a set of planning meetings, where we talked about the roadmap for our products. As I write this, engineering is still working on the technical plan that will implement the long term vision. I'll be updating our roadmap to match that over the next few days.
Something else I need to address: Brandon gives us a "tsk, tsk" for the Windows only nature of ObjectStudio. There's an interesting back story to that, actually. Cincom acquired ObjectStudio before VisualWorks, and had a Solaris and HP port almost ready to go when VW came in the door. We dropped those, since VW was (and is) already cross-platform. However, there's nothing wrong with ObjectStudio being Windows only - it has much tighter integration to Windows as a result, and unlike VisualWorks, delivers a few things that are fairly far out on the VW roadmap:
Additionally, we are in the process of doing some work that will make it a whole lot easier for VW developers to access ObjectStudio functionality, and vice-versa. I don't want to get into too much detail about this yet; we are almost ready to give early access to a few interested parties, so that we can get feedback on our direction. It's exciting stuff though, and the engineering team is pretty pumped up about it.
There's another aspect of the article I want to address: the worry about Ruby that Brandon expresses:
It’s hard to predict where the product will be going in the future however, especially with Ruby gaining so much momentum. In fact, as oddly highlighted by Cincom’s Smalltalk Digest itself, a Smalltalk User Group in Omaha, Nebraska recently decided to merge with the Ruby Users Group. This is probably a good indication of where Smalltalk programmers will be going in the future, and it might make Cincom’s Smalltalk an even harder sell to the young hacker evangelists that a language needs to rise above the fray.
Heck, we see this as a good thing. Most Ruby developers have heard of Smalltalk, but haven't necessarily seen it. Ruby has some very nice things going for it, but so does Smalltalk. Having the two communities interact and share experiences is absolutely positive - I expect many Rubyists to look at Smalltalk, and more exposure is great.
We have great plans for our products, and those plans should keep us busy for a long time to come. We have a growing customer base, and an uptick in interest in dynamic languages - that's only going to help us out down the road. I'd say the future looks bright - I'm going to go grab my shades :)
The team is having technical meetings the rest of the week here, but I'm on my way home. It's been a good two days, with a lot of useful talk. I now have significant updating of our roadmap documents to do - I'll be updating what's here over the next couple of weeks. I also plan to explain more of what's happening in the next major release of ObjectStudio - there's some very, very interesting stuff happening there, of interest to ObjectStudio and VisualWorks developers both. Stay tuned!
I received a suggestion from Alan on speeding up parcel loads for BottomFeeder awhile back. I hadn't had time to look at it until just now, but I just tossed together some simple tests. Mind you, I haven't done a solid test on this yet, but the initial results look promising. Here's what a basic parcel load looks like:
Parcel loadParcelFrom: 'someParcelFileHere.pcl'.
Now, in my tests, I used the BGOK parcel (not for any specific reason; it was just a parcel that I didn't have loaded already). So, here's the small script I used for testing. I used code I already had in the PatchFileManager package so that reload exceptions were already caught. The basic code there looks like this:
[[Parcel loadParcelFrom: parcelFile] on: Parcel parcelAlreadyLoadedSignal, CodeStorageError do: [:ex | ex resume: true]] on: DuplicateBindingsError do: [:ex | ex resume]
That handles the kinds of exceptions that come up on parcel reload, and normally result in a dialog box. With that said, here are the actual tests, with timings:
mgr := UpgradeManager new. one := Time millisecondsToRun: [Parcel loadParcelFrom: '$(VISUALWORKS)\parcels\BGOK.pcl']. wrappedInitialLoad := Time millisecondsToRun: [SystemUtils modifySystem: [Parcel loadParcelFrom: '$(VISUALWORKS)\parcels\BGOK.pcl']]. reload := Time millisecondsToRun: [mgr actuallyLoadParcelFrom: '$(VISUALWORKS)\parcels\BGOK.pcl']. reloadWrapped := Time millisecondsToRun: [SystemUtils modifySystem: [mgr actuallyLoadParcelFrom: '$(VISUALWORKS)\parcels\BGOK.pcl'.]].
The initial load took between 650-680 milliseconds (labeled "one" above). I ran that a few times on clean image starts. Trying the clean load wrapped with SystemUtils modifySystem: [], I got runs that varied between 450-470 milliseconds. Not tons faster, but if you start a system by initially loading a bunch of parcels, it would add up to real savings pretty fast.
Then there's parcel reload - the one labeled "reload" above, which is the way I deliver upgrades in BottomFeeder. That ran around 1600 milliseconds each time I tried it. That's a lot slower than clean load (you have relinking of the system, so that's not unexpected) - but the win came on the wrapped reload - that dropped down to around 1300 milliseconds. Again, not tons, but it adds up if you have more than one incoming update.
With these results in mind, I'm going to create a 7.4 based build of BottomFeeder, and do some testing with these changes. Looks like I could get a cheap win.
Chris Anderson says that the blockbuster movie is dead, because people are watching in more niches:
It's not that people aren't watching films and listening to music, it's that they're watching different films and different music--we're just not following the herd to the same hits the way we used to. I'd guess that most of the decline in box office is due to the rise of the DVD, not a loss of interest in movies. Likewise for music, where the ubiquitous white earbuds suggest that music has never been a bigger part of our culture, despite the fact that CD sales are back to mid-90s levels.
Well, there's definitely some truth to that - there are a larger variety of entertainment choices, and they've been expanding for years - TV, video games, DVD's. However, I think he's calling death prematurely. There have been some actual "everyone goes" blockbusters - The LOTR movies and the "Harry Potter" flicks, to name two. "Chronicles of Narnia" comes to mind as well. The issue, I think, is that Holywood doesn't seem to want to make the kinds of movies that will break out big. Which is fine - it's their money, not mine. I think there's a path to success they could take more often though, and they simply don't want to.
Ed Foster goes back to the well on bad customer support:
Ever since HP instituted its no-recovery-CD policy for some PCs, one thing has always puzzled me. Why would HP do it when any money saved on its Windows OEM deal with Microsoft would surely be spent several times over on the additional support costs, not to mention the bad will of frustrated customers? Recent gripes suggest that one answer might be that HP thought it could charge customers for that support.
"I had to pay HP for system recovery CDs because I wanted to reload everything when my computer was malfunctioning," one reader wrote. "My computer is over four years old, so of course it is no longer under warranty. I could not get the computer to recognize the recovery CDs that HP sent me, so I had to call the HP tech number again. Now HP wants to charge me $45 to tell me how to make the recovery CDs they sent me work. They said this happens a lot with these CDs."
This is an attempt to build out revenues from a perceived cost center - support. The difficulty is, it actually breeds resentment, angry customers - and, with the ability of the net to amplify word of mouth - lost future sales. The question management needs to ask itself is the one that can't be easily quantified: how many future sales are you willing to sacrifice in order to generate a few pennies in support? Sure, the pennies are quantifiable. They are also irrelevant to your long term health.
This is good news for us "Lost" fans:
Javier Grillo-Marxuach, who is currently a writer and supervising producer on ABC's hit SF series Lost, told SCI FI Wire that the current season will end with more than the standard 22 hours of TV.
Time to keep the ReplayTV healthy :)
Here's one take on blog comments:
Say you read a lot of blogs and you're a compulsive commentor (commentator?) on said blogs. You start having difficulty keeping track of which entries you've vastly improved by adding your witty or poignant prose in the comments section. You may be in need of a tool like coComment.
Here's another, from the same blog, next post:
Let's face it. Blogs aren't a conversation. They're a soliloquy. It's just that, sometimes, the audience yells back at the actor.
We have a conflicted view in the blogosphere over this. On blogs with a low flow of comments, they tend to be useful - but as the volume of comments increases, the ratio of signal to noise just gets worse - just as it did on Usenet, Slashdot, and Digg. Pretty much, it's just the way online communities operate.
Here's an interesting thing I didn't know - much of the worldwide telephone/internet traffic still flows through undersea cables. I kind of had it in my head that most of that had moved to satellites. There's a nifty map showing the flow on CNet news:

SCI FI Channel announced that Lucy Lawless joins the cast of its original series Battlestar Galactica in the upcoming third season.
Maybe "heads will roll". Heh.
I figured I'd miss the whole game yesterday, but I got lucky (after a fashion :) ). My flight from Dallas to San Jose got delayed, so I had some time in the terminal. It was late in the third quarter, heading towards the fourth. I caught the interception while Seattle was driving, and then wham - that gadget play for what turned out to be the put-away score. That had to be the play of the game, based on what I read this morning. So I missed the super bowl party back home, but at least I saw the coolest play of the day.
Dave Buck and Blaine have a couple of good posts up on the whole getter/setter issue (are they good/bad/indifferent). In the two projects I run - BottomFeeder and Silt - I tend to always have getters for instance variables. The rationale for that is pretty simple - I update both applications on the fly.
Silt is the server that runs this blog, and I patch it with bug fixes and new capabilities on the fly. Just recently, I added some information for the writers - the current number of pageviews that have been requested. I have the basic log scraping done by a cron job, and the specific count parsing done when it's requested. That's a somewhat expensive operation, as it involves dealing with large external files. So, I have the results cached, and the cache tossed whenever the file is updated.
I added the cache as an update - which means that direct variable access would be problematic. When you add a new instance variable to a class in Smalltalk, it gets added to all the extant instances as well - with a value of nil. Sure, I could write a script that makes sure they all get the right values. Or, I could do what I've been doing - make the getter a lazy initializer, and just have all accesses go through the getter.
I have similar reasons for doing this in BottomFeeder. I allow updates on the fly when new components are available on the download site. That means the dynamic reloading of a parcel, which gets into all the same issues I just went into above. So - lazy getters.
Which is why I said that I have getters for all new variables for pragmatic reasons. It just makes my ongoing maintenance job a whole lot simpler. Depending on how your application works, and whether it can get updated on the fly, your needs - and your code - may well vary.
Patrick Logan spots some WS* revelations:
From SDForum via xmlgrrl ...
Harold: Web services is where we would have been 10 years ago if MSFT had joined OMG.
Andrew: You’re giving us too much credit. Oh, was that a compliment?
Heh. About the size of it...
I don't often agree with Jonathan Schwartz, but I think he's got the right idea in his post today. He's talking about how making software freely available leads to wider adoption - and ultimately, payments for licenses and/or support:
The central topic of my presentation was free software - trying to answer the questions, especially from among the financial community, surrounding its impact on our financial results. Some still believe "free" can't be good for business - despite a rush of businesses predicated upon free . My point was that free software doesn't decrease revenue - it amplifies adoption. And radically simplifies customer acquisition and qualification.
That's exactly right, and it's what we do with Cincom Smalltalk non-commercial. Now, I differ with him as to whether or not completely free, open ended use works - the available evidence for that is pretty slim. It's very hard to build up a support-only business, as JBoss has been finding out.
The basic idea though - make it easy for people to get ahold of your software, so that they can see the value for themselves - is important. Sales forces are expensive, as are large scale cold calling operations. They are also extremely inefficient - targeted marketing campaigns tend to have dismal success rates. Far better to allow your prospects to select themselves, and have a heavily pre-qualified set of leads on your hands.
Scoble is correct about RSS: it's already broken through. With support in both major browsers now, the large group of people who haven't actively gone after RSS are starting to subscribe to it as they see it come at them.
José Antonio Ortega Ruiz has a lot of good things to say about Smalltalk, and about some of the prototype/multi-dispatch children spawned from it - Self and Slate in particular. It's a long read, but a good read. Hat tip Blaine Buxton.
This NYC based VC has doubts about RSS being a viable replacement for email marketing, because he says it's still too hard to use:
Well I wish I was in charge of the business models on the Internet, but I am not. And as much as I'd like to see RSS replace email, it's just not going to happen overnight. RSS has to become brain dead simple to use.
When the soccer moms, myspace kids, construction workers, and grandmothers can use RSS, commercial email will give way to RSS. Because RSS is a lot better.
Hmm. With IE bringing up the rear, all the major browsers now have built in support for RSS/Atom. Which, to my mind, makes it easy enough for anyone to use. Email marketing is already dead, by the way. Spam filters - those at the ISP, corporate, and personal level - killed it over the last couple of years. Heck, I don't even read the email newsletters I asked for anymore - the spam filter eats them, and I can't be bothered to go dig them back out. I rather suspect that this is true of most people, and I think that highly touted "hundreds of thousands of subscribers" claims for email newsletters are so much whistling past the graveyard. No one is listening to that channel anymore.
The nice thing about syndication is who's in charge of it - the person who gets the message. Sure, you can opt out of email lists - but it takes work. Typically, a message sent to a specific address (not necessarily the same one you receive the mails on), in a specific format. Like me, most people just yawn and let the spa,m filter grab it instead.
With RSS, you simply delete the feed from your subscription list if you don't want it anymore. This ceding of control is what scares marketers - they think they have something of value with an email address. Here's a big whack with the cluestick - you don't. I have multiple email addresses, and new ones are free. Heck, I can give myself a new gmail address anytime I feel like it, and just never check it. That gives me a perfectly valid address for any form I need to fill out online, and one from which I'll never be bothered again. The bottom line is, you now have to actually earn the attention of people. Truth be told, you always did - marketers just preferred to lie to themselves about it.
The "Alien" series of movies was creepy, not least because of the way the larval aliens used humans as a womb. It turns out that such parasitic behavior is not unknown (or even rare) in the insect world - have a look at this story about a specific kind of wasp:
As an adult, Ampulex compressa seems like your normal wasp, buzzing about and mating. But things get weird when it's time for a female to lay an egg. She finds a cockroach to make her egg's host, and proceeds to deliver two precise stings. The first she delivers to the roach's mid-section, causing its front legs buckle. The brief paralysis caused by the first sting gives the wasp the luxury of time to deliver a more precise sting to the head.
The wasp slips her stinger through the roach's exoskeleton and directly into its brain. She apparently use sensors along the sides of the stinger to guide it through the brain, a bit like a surgeon snaking his way to an appendix with a laparoscope. She continues to probe the roach's brain until she reaches one particular spot that appears to control the escape reflex. She injects a second venom that influences these neurons in such a way that the escape reflex disappears.
The roach is "owned" after that sting - the wasp leads it, like a dog on a leash, to a lair - which it seals the roach into. The effects of the sting are nothing short of astonishing:
The zombie roach crawls where its master leads, which turns out to be the wasp's burrow. The roach creeps obediently into the burrow and sits there quietly, while the wasp plugs up the burrow with pebbles. Now the wasp turns to the roach once more and lays an egg on its underside. The roach does not resist. The egg hatches, and the larva chews a hole in the side of the roach. In it goes.
The larva grows inside the roach, devouring the organs of its host, for about eight days. It is then ready to weave itself a cocoon--which it makes within the roach as well. After four more weeks, the wasp grows to an adult. It breaks out of its cocoon, and out of the roach as well. Seeing a full-grown wasp crawl out of a roach suddenly makes those Alien movies look pretty derivative.
...
Ampulex does not want to kill cockroaches. It doesn't even want to paralyze them the way spiders and snakes do, since it is too small to drag a big paralyzed roach into its burrow. So instead it just delicately retools the roach's neural network to take away its motivation. Its venom does more than make roaches zombies. It also alters their metabolism, so that their intake of oxygen drops by a third.
Especially since this is actual behavior, not a Hollywood special effect. The scary part of the whole thing is the that the wasp manages to completely subvert the will of the roach. It loses any instinct for self preservation, and just waits patiently to be eaten alive. Absolutely terrifying, when you sit back and think about it.
If this kind of thing interests you, check out the book Parasite Rex - it looks like a good summary of the field. Hat tip Bob Congdon.
We have a prediction of a $200 price point for the Nintendo Revolution:
Another analyst prediction to throw into the pile, this one a glimmer of hope for those who are a little short on cash. Perennial US analyst PJ McNealy predicts that the Nintendo Revolution will hit shelves at a modest $200 price tag.
Of course we all know the official announcement that the Revolution will retail at "less than $300." But surprising is the $100 drop that McNealy predicts to be the edge over the Revolution's competitors, the Xbox360 and the Playstation 3.
Of course, it's all speculation right now - but if that's true, Nintendo will stay near that all important "impulse buy" price point.
We've received a lot of interest to host the 2nd annual Smalltalk Coding Contest at Smalltalk Solutions 2006. The current plan is to hold the contest on the final day of Smalltalk Solutions in Toronto, April 26, 2006. As is the theme for Smalltalk Solutions 2006, all Smalltalk dialects are welcome. There will be prizes for 1st, 2nd and 3rd place.
More details will be released on March 1st. If you are interested in participating, please contact Michael Lucas-Smith
This was inevitable - email "stamps" that will let senders bypass spam filters. AOL and Yahoo are both doing it:
The Internet companies say that this will help them identify legitimate mail and cut down on junk e-mail, identity-theft scams and other scourges that plague users of their services. The two companies also stand to earn millions of dollars a year from the system if it is widely adopted.
AOL and Yahoo will still accept e-mail from senders who have not paid, but the paid messages will be given special treatment. On AOL, for example, they will go straight to users' main mailboxes, and will not have to pass the gantlet of spam filters that could divert them to a special bulk e-mail box or strip them of images and Web links.
There are a couple of downsides to this approach though. First, the initial stages of this will likely see multiple "pay to send" implementations, which will be a pain to deal with. That won't be easy to solve, either - email (unlike postal mail) isn't run by governments, so getting a single, unified system that works across borders won't be easy.
The second problem is bigger, IMHO. These fees guarantee that mail will bypass the filters of the provider (Yahoo, AOL) - but not that the email will bypass any client filters in place. You can get a Yahoo address and have it forwarded to another personal account, or use POP to get your mail downloaded outside a browser. At which point, a client side filter could ensnare the email. For example, mail sent to my cincom address has to first get past the corporate filter, and then past the client side filter on my end. I've had mail get snagged by one and not the other, as well as by both.
The upshot: the fee you pay does not actually guarantee delivery. Which is going to be a problem.
All I can say about this is - wow. The German language BMW site has been kicked out of the Google index due to SEO hacks that Google doesn't like - specifically, the use of "doorway pages":
From what it looks like, the German websites of car maker BMW have been kicked out of the Google index. BMW.de at this time has a PageRank of 0. A search for BMW Germany, which only days ago yielded BMW.de as a top result, now doesn’t show any sign of BMW.de at all. Instead, BMW.com BMW’s international site is on top for this search.
There are a lot of marketing departments that will want to pay attention to this.
Time for that weekly log post: This week's Bf downloads went at 217 per day, which is in line with the (now corrected) numbers. The details:
| Platform | BottomFeeder Downloads |
| Windows | 456 |
| Sources | 256 |
| Mac 8/9 | 185 |
| Linux x86 | 145 |
| Mac X | 134 |
| CE ARM | 80 |
| Update | 77 |
| Solaris | 36 |
| HPUX | 32 |
| Linux Sparc | 27 |
| AIX | 22 |
| Linux PPC | 21 |
| SGI | 17 |
| Windows98/ME | 16 |
| CE x86 | 13 |
| ADUX | 3 |
| Source Script | 3 |
On to the HTML page accesses for the blog:
| Tool | Percentage of Accesses |
| Mozilla | 44.6% |
| Internet Explorer | 31.4% |
| Other | 14.2% |
| MSN Bot | 4.6% |
| Google Bot | 4.2% |
| BottomFeeder | 1% |
That looks about the way it usually does. Finally, the RSS tool accesses:
| Tool | Percentage of Accesses |
| Mozilla | 20.9% |
| BottomFeeder | 19.6% |
| Net News Wire | 10% |
| BlogLines | 9.1% |
| Safari RSS | 5.3% |
| Google RSS | 4.9%> |
| Internet Explorer | 4.4% |
| Other | 3.9% |
| SharpReader | 2.9% |
| RSS Bandit | 2.3% |
| Planet Smalltalk | 1.8% |
| Magpie | 1.7% |
| NewsGator | 1.6% |
| NewsOutlook | 1.6% |
| MSN Bot | 1.3% |
| JetBrains | 1.3% |
| BlogSearch | 1.2% |
| Everest-Vulcan | 1.1% |
| News Fire | 1.1% |
| Liferea | 1.1% |
| Feed Reader | 1% |
| Google Bot | 1% |
| Feed Demon | 1% |
I broke some detail out of the "Other" category this week, and discovered that a fair bit of the traffic is coming from the Google RSS reader.
Ok, this is truly apropos of nothing, but it's kind of cool - a slow motion movie of a water balloon popping. The cool part? How the water retains the shape of the balloon in the instants after the pop.
This news from the IEBlog is welcome - a lot of moves to comply with the existing CSS standards - which will make for less hackery going forward. Good job by Microsoft's IE team, who also admit that there's more to be done.
Tim Marman notes that offshoring to save money is like chasing your own tail - the costs always rise, and then it's time to look for another low cost provider. The world isn't infinite though, and the list of viable low cost providers is shrinking:
It's the Hyundai Effect : Not so long ago, Hyundai was seen as an inferior product compared to competitors Toyota and Honda. In order to lure that portion of the market, they had to offer something different, and the easiest way is value: give the customer just as much, or in some cases more, for a nice discount. As people become comfortable with the Hyundai in the same breath as those competitors, you no longer need to rely solely on a discount to make people notice. (In some cases, higher prices are actually better because many - perhaps rightfully - believe that too cheap equals poor quality).
Going further back, I recall the phrase "cheap Japanese products" from my childhood in the 60's. When was the last time you heard someone describe anything from Japan as "cheap"?
Never used a computer before, much less downloaded music? Not a problem - the RIAA is very equal opportunity minded that way - they'll sue you anyway:
"Marie Lindor, a home health aide who has never bought, used, or even turned on a computer in her life, was sued by the RIAA in Brooklyn federal court for using an 'online distribution system' to 'download, distribute, and/or make available for distribution' plaintiff's music files. She has requested a pre-motion conference in anticipation of making a summary judgment motion dismissing the complaint and awarding her attorneys fees under the Copyright Act."
Yeah, these clowns are all about improving my music experience...
I've been engaged in a planning meeting most of the day, so posting has been pretty light. I've flagged a bunch of stuff for comments in BottomFeeder though, and there are over a 100 feeds in there with unread items - a lot to look at on my flight home :)
Dare notes that he's not the only one underwhelmed by IE7's RSS support. I have to note a caveat here - I haven't tried it yet. However, the comments from Scott Karp are not encouraging:
The main reason I am so irritated by IE 7's lackluster user experience around RSS is that you only get one chance to make a first impression. Using IE 7 will be the first time millions of people will be introduced to RSS and it would be unfortunate if they come away from thinking that is potentially transformative and liberating technology is simply a kind of "bookmarks that nag you all the time" feature.
Looks like I should download the beta and have a look myself.
I'll be speaking in NYC on March 1st at the NYC STUG - I'll be going over what's new in ObjectStudio and VisualWorks, and what's on our roadmap. Have a look here for information and directions.
Looks like ESUG 2006 is making their call for papers - this year's show will be in Prague, Czech Republic. Submission deadline: May 28. They are also calling for presentations - submission deadline: also May 28.
When I was growing up, I had an allergy to dust. That got treated, but I think some of that has resurfaced. Last night at the hotel, I was allergic to something - I think it was the pillows - in my room. I ended up having to take two bendryls to stop the cough. That made waking up this morning a real joy.
Ahh, the joys of travel...
memerocket asks when a full blown IDE will be delivered in a browser:
Smalltalk's browser paradigm will not be bound to an aesthetically-impaired user interface technology. Like Crichton's Raptor, it has found a way out. It has broken free into the (web) browser. For now, this has resulted only in a marginal usability improvement — LiveWeb has about the same Aesthetics as Squeak's browser. But how long will it be before LiveWeb gets its face lift? If Avi Bryant and friends can create a web application as visually striking as dabbledb, it's only a matter of time before they, or someone else applies the same level of care to LiveWeb.
How long will it be before a complete IDE is delivered as a web application? To varying degrees, Eclipse and IntelliJ IDEA are stuck on the same island that Smalltalk was. They're all trying to be graphically rich and run on many platforms. They're all expending lots of resources maintaining UI toolkits (think of Eclipse's Rich Client Platform ). And the resultant UI technology, while often innovative and sometimes pleasing, suffers a “credibility gap” when compared with platform-specific technology on the Mac or Windows. When will the IDE's throw their weight behind the DHTML+AJAX crowd and embrace the “third platform”?
Well, there are still - even with help from Ajax - fairly severe restrictions on the level of usability you get from a browser. As well, I'm not sure I want to be debugging over the wire regularly - it's cool for a test server environment (or even for a deployed server) - but I'd rather have direct access for normal use, thanks - dropped network connections can just ruin your entire day.
Having said that, the tools that Seaside ships with are very cool, and make for a heck of a demo of Smalltalk's capabilities. Which you can find in Cincom Smalltalk, btw - there's a Seaside port to our VisualWorks environment.
I've been busy on the prototype replacement for the main Smalltalk site recently - that's why I haven't had much to say about BottomFeeder. So what do I have planned? Well, first thing is to get a development build out that's based on VW 7.4. I got a working one up this afternoon, but I wasn't completely happy with how many things I left in; I want to try and make it smaller. That's a technical detail though; what's on the slate:
Well, other things as well - but my cab just pulled up - so I have to dash out.
I am no longer stuck in the house during the work day - my car is back. A couple of weeks ago, the engine dropped dead, and it took my mechanic longer than he thought it would to find a good replacement. That's done though, and the car is functional again. With any luck, I'll get a lot more life out of this car - I only drive about 3000 miles a year :)

There's always a new moron on parade. Take John Kiel Patterson, for instance - he's suing Apple, claiming that the iPod can cause hearing damage. I have a tip for this idiot - so can anything that makes sound and has volume control. Headphones can be plugged into nearly every A/V device on the market - so why is Apple uniquely at fault?
The right answer here would be to fine this guy for whatever time of the court he's wasted thus far. How do we know this guy is just looking for a payoff? Well, this graf is telling:
Patterson does not know if the device has damaged his hearing, said his attorney, Steve W. Berman, of Seattle. But that's beside the point of the lawsuit, which takes issue with the potential the iPod has to cause irreparable hearing loss, Berman said.
Now, if I could just find my cluestick...
Blaine has details on the first meeting of the merged Smalltalk and Ruby groups in Omaha:
Hello everyone, Just a reminder to everyone that next Tuesday (Feb 7) is the first meeting of the Dynamic Languages Group! I can't wait to meet everyone! Brent Adkisson is kicking off things in high fashion with a talk on the incredible Javascript framework: DynAPI.
Check out the details at: http://www.blainebuxton.com/odynug.
If you have a laptop, please bring it! Cafe Gelato doesn't have a place to project the screen so we thought it would be cool to allow everyone to VNC into Brent's machine while he gives the talk. This is the first time that I'm trying something like this. We tried it the other day and it worked wonderfully.
Morgan McLintic doesn't sound completely sold on this idea, but it seems natural to me - most press releases are ads, and we might as well treat them as such:
PRWeb, an Internet newswire service, has teamed up with Pheedo, an RSS advertising network, to deliver press release headlines in RSS ads. Pheedo already provides context-based RSS ads. Now it will draw content from PRWeb press releases and display the headline and subdeck in those ads. So basically your press release turns into a direct-to-end user advert. The releases selected are context-based around categories such as entertainment, mobile, technology and small business. The theory is that RSS feed subscribers will read the press release headlines and visit the PRWeb site to learn more.
Brandon Werner checks out Cincom Smalltalk, and likes what he sees:
Needless to say when I first downloaded it from Cincom’s website after playing with Squeak a great deal, I had no idea I was downloading what amounted to a complete J2EE-like application environment. I didn’t even know it existed. There is a lot to play with, and I’m impressed Cincom has done so much work on the Smalltalk platform.
I highlight this product not only because Smalltalk is a great language and has a nice following (especially with the explosion of Ruby, which uses much of Smalltalk as it’s inspiration) but because I wanted to highlight on this blog what a company like Cincom in Cincinnati is doing. Admittedly, Cincom, even in Cincinnati, has a low profile vs. other large companies headquartered in Cincinnati (Convergys, Kroger, 5/3rd Bank, ect.) , and in an industry where if you’re not where the action is you’re not noticed, this company deserves some more respect for it’s work.
You can check it out as well; grab the non-commercial product here.