Let's wish Troy luck and a speedy recovery from his surgery. A friend of ours locally got the same surgery a few months ago, and he looks great - hopefully, things will go as smoothly for Troy.
Tim Bray asks some incisive questions about the terms for Google's AdSense for RSS Feeds:
What’s a Feed User? For a real dose of Fear, Uncertainty, and Doubt, check out the “Terms and Conditions” language. Uncharacteristically for Google, it’s a bad piece of legal drafting; you have to agree that “You will ensure that each feed user complies with, and each feed user’s display of AFF Ads is in compliance with, all of the terms and conditions of the amended Agreement applicable to the Site in the same manner that such terms and conditions apply to You and the Site.”
Huh? What’s a “feed user”? I’m pretty sure it doesn’t mean a person-or-program-reading-the-feed, but I’m also pretty sure that I don’t understand what it is they mean. And until I do, I’m damn well not going to sign up for “You agree you will be responsible and liable for any and all use of the AFF Ads by any feed user and will indemnify Google for any lawsuit or proceeding (a) relating to or arising from any feed user’s use of AFF; (b) relating to or arising from Your failure to ensure any feed user’s compliance with the terms of the amended Agreement; and/or (c) brought by a feed user against Google that arises from or is related to Your provision of AFF Ads to such feed user.”
This has the look of another license released by the lawyers without any "real people" having been consulted.
Sean Malloy passes on some news about Dolphin's plans for the product:
Andy Bower mentioned a while back, that Object Arts were toying with the idea of releasing a free version of Dolphin at the same time they released the full version of 6.0.
While they still haven't decided just what version of Dolphin they will be releasing into the wild, but they have now definitely decided that a version of Dolphin Smalltalk, will be available for free under the name of Dolphin Community Edition.
This is pretty exciting news for a couple of reasons. Firstly, Dolphin Smalltalk is the best pure Windows Smalltalk. If you are interested in developing applications on Windows, then it is without a doubt the version to use. Secondly, with a free version of Dolphin, it sets the entry level to a point where people who may not have checked it out before will definitely look into it now.
This is not official news yet. I knew about it for a while, Andy linked to the new Object Arts site in the beta test newsgroup, and it was mentioned on the new site. I asked if I could write something about it, and he didn't say no. So while I don't think that they are going to change their mind about a free version now, they may change their mind about what exactly a free version contains.
Interesting news, and it should help spread the use of Smalltalk.
Frank Hayes of ComputerWorld is debunking Nicholas Carr's latest attempt to define the end of corporate IT. In the process, he makes an interesting side point:
Users are the ones who experiment and create business innovation. So the most important place to put computing, and control of that computing, is in users' hands. Everything else -- networks, data, back-end applications -- is there to support those users. They do corporate computing. We in IT just help.
And if we replace their flexible, too-cheap-to-meter computing with thin clients and a fixed-cost, fixed-services utility, as Carr recommends? IT gains manageability, centralization and higher utilization. Business users lose the ability to innovate
This might be why Sun has had such trouble with the whole network computer thing. CPUs, disk space, and memory have been getting cheaper, so it makes less and less sense to centralize. The only cross current is the difficulty inherent in backing up so much data.
Funny thing about that last post - immediately after I made it, I ran across this story on Sun's acquisition of Tarantella:
Tarantella Inc. is losing money and customers, but its thin-client technology found a potential savior last week in Sun Microsystems Inc., which is acquiring the Santa Cruz, Calif.-based company for $25 million in cash.
Kind of makes my point, I think. Sun is blinded by their vision of thin network appliances, but the market simply isn't that interested. Full bore PC's are too cheap, and they can function as either network clients or standalone systems.
James Governor makes some good points about where to go for information on RSS/Syndication/Blogging (etc):
I am skeptical News Corp is doing the right thing in bringing in McKinsey for its attempt to get it. How many McKinsey bloggers can you think of? Better to beg Udell to come along. And far more economical, i should think. You just know McKinsey now has a huge team of new MBAs (trawling the web to "get" RSS and all, probably with sex on the brain). They are being paid by Rupert to find knowledge that others have. Aggregating sure, but very top down and priced accordingly. So why not "view source" instead? Oh yeah- because McKinsey, like a premium beer, is reassuringly expensive. So Where are the McKinsey bloggers?
Pointing to Jon Udell is spot on - he not only follows this area, he lives in this area. Governor's points about equating expense with quality are spot on as well. News Corp is paying filet mignon prices, but is probably getting ground chuck level information...
James Governor thinks the "unthinkable" about Google:
See that mountain in the background that looks so small? Well if the economy suffers a really bad shock, hedge fund collapse, $70 a barrel, or whatever it is, then suddenly the mountain comes to the fore, and the perspective shifts. Could another firm buy Google outright? Lets say the bottom falls out of the advertising market, taking Goog revenues down to $3bn a year (currently doing 1.25 a quarter). Combine that with a major fall out on share price- say take P/E to a more realistic, yet still outrageous, 15. Who could afford $45bn?
Why not buy all the cool technology and brand and fire those expensive PHDs with their 20% own time who don't seem to be generating any cash yet? Why am i thinking about Google in this way? Partly because i have a post on the way about IBM's decision to give Google enterprise props. I am not a financial analyst, as you can doubtless tell from the proceeding commentary. But i just wanted to check myself and think whether Google is buyable/rideable.
Hmm - Which companies have piles of cash available that might be burning holes in their pockets under those circumstances?
I've got an update on Troy's surgery:
Troy’s surgery has completed, and it went very well. They were able to do the surgery lapropscopically, so Troy’s recovery should be shorter and less painful than otherwise feared.
He is still coming out of the anesthesia, and is on a ventilator as a precaution until he is fully awake. But the Dr. said that all went well.
Dave Winer is still stumbling in the dark, wondering where he might find a clue - this is in reference to some paranoia he's posted about Google along with his obsession with AutoLink:
They can just cut off our air supply. How could they do that. How how how? Well, remember we decided it was okay for them to modify our content way back in 2005. They didn't even have to ask our permission. Not only that, if we said no, they could ignore us. They're just giving the users what they want, and we believed them.
Gee, I sure hope he doesn't use any client side tools that modify content - like, say, ad blockers. Heaven forbid he were to muck with the revenue model of the site's authors, who depend on that advertising revenue. I sure hope he doesn't ever say anything nice about GreaseMonkey either. I certainly hope that he never used a pen or a marker on a textbook, and then passed it on to another student - by gosh the content was marked up in ways that the original author didn't intend! The horror!
I've updated the server and the posting tool to support hot swapping of CSS files. It's not a complex thing, and I probably should have done this earlier. In any case, there are only two styles available at the moment, but others should be easy enough to gin up if you know CSS. Submissions welcome :)
Jon Udell has some thoughts up on dynamic languages:
The notion of custom-built "little languages" goes all the way back to Lisp and Smalltalk, as ultimately everything related to dynamic languages does. It's one of those deeply elegant principles that can take decades to unfold.
Interactivity is another. When I met with Jim Hugunin recently, he told me that when he shows IronPython to folks inside Microsoft, they're most impressed by his ability to wield .NET libraries in an exploratory way from the command line. Who would have thought that the read-eval-print loop would seem like breakthrough technology in 2005?
It's kind of amazing to see simple interactivity still blowing people away. I did a webex demo yesterday, where I spun up a workspace inside the BottomFeeder runtime and proceeded to demonstrate the idea of finding related content - by searching the live data and then slamming the results into the application - here's the code snippet:
| relations items feeds viewer| relations := Dictionary new. relations at: 'aggregator' put: #('rssbandit' 'rss bandit' 'bottomfeeder' 'newsgator' 'feeddemon' 'feed demon'). feeds := RSSFeedManager default getAllMyFeeds. zooms := Core.List new. feeds do: [:each | items := each allItems. items do: [:eachItem | relations keysAndValuesDo: [:key :values | | matchOrNil toMatch | toMatch := eachItem description. toMatch notNil ifTrue: [matchOrNil := values detect: [:eachValue | ('*', eachValue, '*') match: toMatch] ifNone: [nil]. matchOrNil notNil ifTrue: [| zoom | zoom := RSSZoomItem new. zoom feed: each. zoom item: eachItem. zooms add: zoom]]]]]. viewer := RSSFeedViewer getSingleInstance. viewer zoomFeedItemsView. viewer addColumn. viewer lastStateChange: #goToAllNew. viewer feedItemsList list: zooms
What that does is define a set of search terms, and then grab all the results together - nothing earth shaking. The part that surprised the demo audience was that I was doing it in a runtime - i.e., a delivered executable. Which leads me to this from Jon:
I do think that professional tools can help dynamic languages consolidate the ground they've been gaining. And to that end, conventional capabilities -- such as suport for testing, debugging, and version control -- will be prerequisites. But dynamic languages really are different in important ways, and their tools should be as well. It's time for some fresh thinking on this topic, and for some new approaches.
Well, the tools aren't only different - they are more flexible. Part of that is the simple fact that in Smalltalk, the environment is built in itself. That gives you a level of flexibility that Iron Python - which has to live within the closed strictures of the CLR - will never achieve. In Smalltalk, I can modify pretty much anything - sure, there's a wall at the VM level, but it's a fairly small one - all the interesting stuff is happening in the image.
This kind of silly putty flexibility gives you a lot of potential - have a look at this screen shot:
That's a browser, running inside the BottomFeeder runtime. I don't normally have source access there, so I'd see decompiled code if I selected a method. However, I could copy the sources for the component in question over and end up with a normal browsing environment if I wanted to.
This is what really separates the mainstream Java/C# stuff from a language like Smalltalk - and it also separates Smaltalk from things like Iron Python, which hae been pounded to fit into the CLR. There's very little separation between runtime and development time, and the developer can shrink that gap down to nothing if he so chooses. In anything JVM or CLR based, you'll always have that separation - always.
James Governor notes that MS is moving more quickly on RSS/syndication than Google is - and that they are being more transparent about it as well:
What is more, this post from Richard McManus is spot on in pointing out that MS is arguably ahead of Google when it comes to using RSS. Google's support for RSS is pretty lame so far, and unlike Microsoft, Google doesn't even have an enterprise business to support and defend. Where do i go to search blogs? Not Google but technorati or blogdigger. Google news doesn't support RSS. I can post blogs to RSS through MSN Spaces just as easily as i can use Blogger, and can find neat hacks in that regard.. Noone has built a vendor supported third party aggregator on top of Gmail (as far as i know), while Newsgator remains a favourite of RSS-hungry Outlook users. And you know what--MS employees actually usefully blog, which is more than you can say for our friends at the Googleplex.
Steve Kelly has some news on the DSM front:
Great news for those who would rather see co-operation than fighting over how best to obtain the benefits of model-driven development: Microsoft's Alan Cameron Wills and I will be running a workshop on Agile Development with Domain-Specific Languages on Monday June 20th at XP 2005 in Sheffield, UK. Alan will be familiar to many as co-author (with Desmond D'Souza) of the Catalysis approach to components in UML, and is now working for Microsoft on their DSL tools. To participate in the workshop, send a page or so about your Agile / DSM experiences to Alan by June 5th - more details on the workshop home page.
The Cincom Smalltalk engineering team has hit another delivery date - the summer release is out. This is a maintenance/bug fix release for both ObjectStudio and VisualWorks - as I've stated before, our current release plan calls for a major release once a year in the winter, with a maintenance release in the summer. If you're a customer or academic user - expect a CD shortly. If you use NC, we should have the new bits ready for download shortly.
Read the "what's new" information here.
Update: The NC site has been updated. If you've already registered, just hit the link you were sent in email and grab the latest. If you haven't downloaded before, register here!
"The day InfoWorld's top news RSS feed received more requests than our home page, I started thinking a frightening thought - RSS is doing to the Web today what the Web has been doing to print for the last several years. We have disintermediated our Web site by offering our news in an easier to access format...again."
Well, maybe. What it means is that having a dull, brochure-ware site is no longer enough. You have to syndicate content that will give people a reason to visit whatever you aren't syndicating. If there's nothing there worth reading - you just didn't realize that you were failing before.
SDTimes has a story on IBM's shift of VAST over to Instantiations:
Instantiations characterized the move as a partnership, but an IBM spokesman who asked not to be named said it did not meet IBM’s legal definitions of a partnership and that the agreement was a way to end the life of the product while still providing support for its current customers.
IBM retains ownership of the VisualAge intellectual property, according to Instantiations CEO Mike Taylor. “We’re not buying anything,” he said. “We’re licensing the technology and the right to redistribute it from them. IBM retains intellectual property rights.”
According to Taylor, Instantiations’ corporate history goes back to Smalltalk’s creation. “Our roots go back to the very beginning days of Smalltalk, to 1980 when it was part of Xerox PARC,” he said. The company’s co-founders developed the first commercial version of Smalltalk at Tektronix in 1984, he added.
Hmm - interesting how IBM went out of their way to state that this was a way to "end of life" the product - and if you read the story in SD Times, they emphasized the migration aspect with Synchrony (i.e., the "we send an army of consultants in and convert you into a WebSphere shop path") more than the Instantiations path. It's an interesting story, just looking at the emphasis.
I just love this quote from an SD Times story on Java platform evolution - Graham Hamilton writes:
We are resisting the temptation to make Java language changes in Mustang. We recognize that James Gosling achieved a genuine masterpiece with the simplicity of the Java language design, and we want to be very cautious in evolving the core language.
But at the same time, languages do need to evolve, and we are exploring a few key changes for the Dolphin release. We’re interested in introducing direct support for XML into the Java language. Many Java developers work with XML, and we’re interested in finding ways of smoothing that integration.
Simplicity? Of Java? Who are these people kidding? Compared to C++, perhaps. I'd guess that the author of this piece has never seen (possibly never even heard of) Smalltalk, Lisp, or Python. Simplicity my foot :)
And "direct support for XML" in the language? You have to love that - after telling us how "simple" Java is, he implicitly admits that it's lacking in power, since they have to extend the language in order to make XML easy to deal with. Hasn't been a problem in Smalltalk - I've had few XML issues in BottomFeeder or Silt. Then again, I wasn't dealing with a language designed by the sort of people who think "final" classes are a good idea, either.
I'm not sure whether this part should make me feel better, or worse:
The Java language is only one of many languages used with the Java platform. As part of Dolphin, we are planning to add a new Java Virtual Machine instruction, which is targeted at so-called “dynamic languages,” such as Groovy or Python. These languages need relatively elaborate mechanisms for executing method calls, and it seems that providing direct virtual machine support will both accelerate execution for these languages and provide final indisputable proof that the Java platform and the JVM are targeted at more than just the Java language.
Elaborate mechanisms? You mean things that VM teams have had in Smalltalk and Lisp VM's for - I don't know - about 2 decades now? It's nice to see that Sun is catching up with the latter part of the 20th century.
In comments to this post, Chui Tey said something I thought ought to be pushed up:
However, the phenomenal growth of aggregators again underscore the utility of simple, widely accepted formats in delivering tangible benefit to end-users. The world of WS-* in contrast spends 80% of their time making allowance for the 20% of users.
About the size of it...
My windows inside Eudora were disappearing, and it seemed to make no sense - I'd summon one of the mailboxes from the list, move the mouse over, and *poof*, it would just disappear (but still be listed as open). Very bizarre. I couldn't get the windows to "stick", even after closing and reopening Eudora multiple times. Then I got myself into a very bad situation by telling it to float the mailbox window - and watching that one disappear.
This looked very bad. Then I moved the mouse to another app, and noticed that Windows thought that the center button was down. No amount of toggling fixed that - Windows was just in a bad state. Finally, I rebooted to clear that, and all was well. Really, really weird.
I spend half my time trying to identify what performance systems are doing by reproducing their behaviour in a performance testbed. It isn't always successful - I'd like to get profile information directly from the production systems, but even low overhead profilers can't get certain types of information in a low enough overhead way (I've tried, believe me I've tried).
One piece of info that is really useful to know is how many of each type of object has been created and has been GC'ed by the JVM. That information isn't available from the JVM, except if you use a profiler (with the honorable exception of JRockit which I think will give you this info in a low overhead way).
But all it takes is two instance variables added to each class object: countCreated and countGCed. And then the JVM just needs to increment each counter for each class when an object is created or GCed. That must surely be a neglible overhead added to the cost of object creation and garbage collection.
This is really the biggest bang for your buck I can think of to add to the JVM for improved monitoring of the system. With that information, so many things become possible, including automatic detection of memory leaks, identification of what may be causing high GC loads, etc.
Gads. Does this guy have any idea how many instances of an object could get created in a normal application? Remove your hands from the code browser, and return your seat to the full and upright position....
Steve Rubel points to an interesting fake blog occurrence - where whoever is behind the fake blog is spamming negative comments about the company in question with positive spin. Fake blogs are getting more common - take a look at the results of this Google search on the term. Of the supposedly 10 million + blogs out there in the US, I wonder how many are either:
- Dead (i.e., one post and gone)
- Troll blogs of the sort I mentioned above
One things for sure - it'll be really hard for search engines to filter this out - not least because the service being abused most is run by Google...
Update: The faux blog has gone 404. I guess Panera Bread doesn't like being caught out :)
PVRBlog links to a Steven Levy piece on TV watching habits:
The result may be that when all the time-shifting and space-shifting is accounted for, most people will watch the same stuff by the same creators. In fact, even with today's relative abundance, most people stick to only a few channels. According to Nielsen Media Research, households that receive about 60 channels usually watch only 15. Households whose systems can receive 96 channels (around the national average) actually watch... 15. What's more, a recent study conducted at the UPenn Annenberg School for Communications showed that when people were offered more programming choices, they stuck to fewer selections—and, alarmingly, watched fewer news shows.
Well, the thing is that those "15 channels" vary a lot, I think. While each of us may only watch a small set of the available stuff, I'd bet that the small set varies quite a bit over different households (and varies quite a bit over time depending on the household demographics, as well). For instance - we watch a lot less Nickleodeon now that our daughter is 11 than we did when she was 5.
The hard bit of market research here is figuring out what part of the target audience any particular household is in.
When I announced CST Summer 2005 yesterday, the NC files for ObjectStudio weren't updated on the server - the 7.0 files were still there. That's been updated, so you should now see ObjectStudio 7.0.1 as one of the download options.
As you know if you read Troy's blog, he's off having gastric bypass surgery. I've been getting email updates on his status, and this morning I found out that he had been suffering a small fever since just after the original surgey. Today they went in to check the sutures - they wanted to make sure that there was no infection caused by leakage. The good news is that there's no leakage, and his fever is going down. Here's the update I got:
Troy is out of surgery, and they did not find any suture leaks, or any problems with the surgery. They are not sure what caused the fever, but it seems to be going away this afternoon.
So good news for Troy!
Don Park is more down on Atom than I am:
For example, what is the point of requiring all entries to have a unique identifier when feed clients have no incentives to reject feeds that violate that requirement? Filtering of duplicate entries from multiple sources is a quality of service problem that is best dealt with in a separate opt-in specification. Clients and servers that support the opt-in spec will be more popular if resulting differences in user experience and distribution are significant enough. If not, there was no need for it anyway.
The reality is, aggregator implementors are not going to charge out and ponder the spec in great detail. We are going to do a sanity check on Atom 1.0 feeds as they appear, tweak existing code as necessary, and move along. In BottomFeeder, RSS feeds, RDF feeds, and Atom feeds all end up being pushed into the same object model - from the end user's standpoint, a feed is a feed, and whether it's Atom, RSS, or RDF just doesn't matter.
The net value of the entire Atom exercise? Very close to zero.
Scoble illustrates the quandary that dite owners are faced with in the syndication space. People like Chris Pirillo need visitors to their site (it's how they get paid - advertising). That means that they are driven to provide partial content feeds in order to "force" aggregator readers to the site. Sadly for him, this runs smack into this:
I'm tired of reading feeds that treat me badly. I have more than 1,300 full text feeds. There's one or two exceptions. The New York Times. CNET. Slashdot.
The ironic thing is, Pirillo's site illustrates what I wrote about over here almost perfectly. No, Chris isn't providing brochure-ware. But his site requires effort to read, and that extra effort - when combined with a partial content feed - makes it less likely that I'll bother. What am I talking about, you ask? Well, follow that link I provided to his site. Not only does he provide partial content in his feed - he only provides partial content on his site. If one of the extracts looks interesting, I need to follow a [more] link to read the whole thing. Uhh, Chris - that's not going to happen IMHO - not for most people. I understand the quandary on the feed side (although, IMHO, the answer is to provide full content feeds that point back to "premium" site only content - not to provide an extract that I'll blip by).
I don't think this post helps either:
I love how everybody whines when they don't get their way - it's human nature. So, for all of you who unsubscribed from my RSS feed because it wasn't the way you wanted it (even though you're not the one providing it or paying for it), then you won't ever know that I considered going back to full feeds.
Vinegar, honey, all that. If you want to drive people to your site, I don't think that useless extracts are the way to go - it's far easier for me (even with only 281 feeds, as opposed to Scoble's astounding 1300+) to filter it right out than to follow the link. While I get the problem, I don't think he's found the answer.
Jonathan Schwartz relates an anecdote, illustrating that FUD is still being used by some of your larger firms out there:
It's also amazing to hear what our competition's been telling some of our European customers. IBM told several that they couldn't port their apps to Solaris 10 because Sun is withholding information - but only on Opteron. Which even the customers knew was ridiculous. It's tough to withhold information when the product's free, and code's open. (They offered another customer a "private version of WebSphere on Solaris 10, supported by IBM Global Services" - um, no thank you.) I'd like to thank the customers that continue to demand choice, and the ton of partners we're signing up to deliver it. I think we've cleared 1.5M license downloads.
They even do this on the niche level - go back to the SDTimes quote I pulled from an anonymous IBM source.
Gordon Mohr has a disturbing post on the interrelationship between Hepatitis B and the demographic overage of boys in Asia. It's engaging and disturbing, all at the same time.
Podcasting is supposed to be the next big thing, and I don't really get it - although, using full disclosure here, I'm listening to a James Lileks podcast as I type this. The thing is, Lileks is funny - I enjoy his writing, and I like listening to his occasional diner bits.
Having said that, here's what I don't get about podcasts - they're like radio personality blather, but without the "radio voice". I've tried listening to a few podcasts - some by Winer, some by Curry, a few others. Maybe this is a personal taste thing, but I get the same urge when I hear those casts that I get when the DJ's on the local mix station start blathering - reach for the dial now!
The problem is, it takes a very long time to get someone's point when they insist on making it verbally. Something that takes 15-20 minutes verbally would take me fewer than 5 minutes to wade through in print. Which gets to the heart of the issue, for me: if your podcast could go to paper with no loss of information, you are wasting your time. This is what separates most podcasts from the sort of thing Lileks is doing - he's mixing in pop culture references in musical form, and I find that interesting. I'm sure that there are people who find Lileks dull - like any art, this is a matter of taste.
Back to the main point though - with a Lileks cast, it couldn't be delivered in print - not without a huge loss of information. Take your typical podcast though - it's 15-20 minutes of thinking out loud - a verbal rough draft, if you will. Thanks, but no thanks.
It's the last day for early registration for Smalltalk Solutions 2005:
Today is the last day for early registration for Smalltalk Solutions. After today, all registration fees will increase by $100. Please visit the Smalltalk Solutions web site to register.
If you have registered, then you need to hurry and reserve a room at the conference hotel. Our block of rooms is nearly gone. You can find more information about how to register here
See you in Orlando!
PR Differently makes a bold sounding prediction:
The second half of 2007 is when we will witness the death of the first "big" newspaper from the convergence of blogs, podcasts, and the like.
by this, I mean we will see the shuttering of a "major" player - think the Times, the Journal, something like that, and in its place will rise up the digital-only version. Be it "digital paper," (which will probably be cheaper than regular paper) or web/cast based, the newspaper will die as we know it, and others will follow.
I suspect that the NY Times subscription plan is going to be a lot less successful than they hope - I sure won't pay $49.95 a year for a paper with loose to non-existant editorial standards (think Jayson Blair), and with mostly dull editorial writers - I can get far more interesting commentary - from all parts of the political spectrum - from the blogosphere. Wouldn't surprise me a bit to see the Times be first in line, especially if their dead tree numbers keep dropping.
Red Sox were told Schilling could be out 12 weeks
I though it sounded like a bad idea for Schilling, even though it worked out for the Sox.
The lawyer, also a professor of law and legal history at Columbia University Law School, said the time has come to again treat science like physics or chemistry, by promoting a free exchange of ideas the way Galileo Galilei proposed.
"We are responding to a lengthy, but temporary period during which software was a proprietary, closed science..." Moglen told the audience. "The consequences of that process produced bad software at high prices. We are reversing that situation. What we do is help people think well and share."
Moglen said certain incumbents, which he did not directly name, refuse to share their software ideas despite having originally taken much of the foundation of their products from the free software community.
Gee, that's nice of him. How does he suppose that a decent size software team funds development efforts without being able to hold the rights to it? Say we (Cincom) followed his advice with Cincom Smalltalk, and just gave it away. Just charge for support, I suppose Eben would tell me.
Sure. Experience in this industry tells me that people will avoid paying if they can, and delay payment for support until it becomes required. There's another problem as well - the vultures that would swoop in and offer cut rate support that we couldn't match if we hoped to keep our developers on staff. We have fewer people handling support than we have doing new development. That means that a competing firm - in a scenario where the entire suite was free - could swoop in with a handful of support staff and charge far less than it costs us to manage our developers. The result? We would either go out of business, or end up with virtually no developers on staff.
Has Eben looked at the big, successful Open Source projects? Like Apache, Eclipse, and yes - Linux itself? The dirty little secret is that all of those are funded by a handful of large firms. The reason? Open Source allows them to play the "Robin Hood" card against Microsoft. One of the things people forget about MS is that they became successful early on by offering lower prices for things than their competition did.
I'm hardly the only person thinking this - witness this article in Forbes Magazine:
Open source advocates have pushed McVoy to "open source" his product--that is, to publish the program's source code, or basic instructions, and let the world use it for free. But McVoy says it is simply not possible for an innovative software company to sustain itself using an open source business model.
"We believe if we open sourced our product, we would be out of business in six months," McVoy says. "The bottom line is you have to build a financially sound company with a well-trained staff. And those staffers like their salaries. If everything is free, how can I make enough money to keep building that product for you and supporting you?"
Which is exactly what I said above. Torvalds objects, of course - but I notice that he doesn't object to the salary that he gets as a result of big company largesse:
"Open source actually builds on a base that works even without any commercial interest [which] is almost always secondary," he says. "The so-called 'big boys' come along only after the project has proven itself to be better than what those same big boys tried to do on their own. So don't fall into the trap of thinking that open source is dependent on the commercial interests. That's nice gravy, but it is gravy."
I love that phrase "without commercial interest". Sure Linus. Next time that stupid thought crosses your mind, go trace where the money they use to pay you comes from. I'll caution you though - your head just might explode. McEvoy gets it right here:
"It costs a huge amount of money to develop a single innovative software product. You have to have a business model that will let you recoup those costs. These arguments are exceedingly unpopular. Everyone wants everything to be free. They say, 'You're an evil corporate guy, and you don't get it.' But I'm not evil. I'm well-known in the open source community. But none of them can show me how to build a software-development house and fund it off open source revenue. My claim is it can't be done."
No one has shown me a model whereby I could fund Cincom Smalltalk via an OSS model either - and I'll point out that the open source language environments out there are either
- Effectively funded by a big company (Eclipse)
- Run by tiny companies with a handful of staff, who are willing to do lots of side consulting
In that latter case, if you watch the products run by those small staffs - they don't tend to evolve that fast. Why? If you have to spend all your time paying the bills with consulting gigs, it's hard to do proactive product work.
Here's a tip for Eben, since he's convinced that the future is in non-proprietary software: Put your money where your mouth is. Instead of blathering, go run a company that builds OSS software for the general market, and let's see how far you get. And oh, Eben - since you think Sourceforge is such a vast well of great stuff:
Moglen said users who need software can find an abundance of code to use for software building in online machine tool shops, such as SourceForge. In that community, he said some 95,000 programming projects are being worked on by roughly 490,000 programmers in their spare time.
Why don't you also give us the activity stats for those projects? I know why you would rather not - it would be embarrassing. It's kind of like shouting "10 million blogs" without also pointing out that most of them have one or fewer entries, and will never have more than that.
For once this month, the weather is neither cold nor rainy. So I'm out on my patio, enjoying the WiFi, the breeze, and my gardens. Here's a shot of the one to my left as I sit here:
And here's a shot of the ones on the right:
Like the patio I'm sitting on, we sunk those circle stone paths ourselves, with shovels, bags of sand, and a wheelbarrow. It was a lot of work a couple of years ago, but it's all good now :)
Well, Lucas once knew how to make a good movie. He forgot how a few hundred million bucks ago. I went into this movie with very, very low expectations - and boy, I wasn't disappointed. The movie lost me early on, as a consequence of one of Lucas' boneheaded plot devices from the last movie - the whole "A Jedi must not love" thing. We end up with Padme and Anakin living together in the capital, but claiming that they've married in secret. Yeah, right - as if those Jedi mind masters wouldn't have figured that one out.
The whole movie went that way. We had a loosely connected set of battle scenes (and boy oh boy, I won't even try to explain the idiotic conspiracy theory behind Palpatine's war for control of the Republic - it didn't pass the smell test. See, here's the problem. We went to see "Sahara" last night. Think "National Treasure", but in the desert. Improbable plot, RoadRunner style escapes, the whole bit. However, here's what it had going for it:
- The dialogue worked
- The emotional interactions of the characters worked
- The pacing was relentless, so you never had to stop and actually consider the improbability
Which is why "Sith" sucked so much in comparison. The pacing was glacial. The dialogue was actually painful to listen to. The characters made stupid choices again and again. Not to mention the improbability surrounding the central fear point of the movie, that Padme would die in childbirth. Apparently, hyperdrive is one thing in the Star Wars galaxy, but knowledge of C-Sections - nope.
This was perhaps the worst movie I've been to in a long while, and that includes a lot of dogs. I don't know what Ebert and Roeper were smoking when they gave this film a thumbs up, but I rather suspect that the after effects of those drugs were very, very bad. My wife was tempted to just walk out, and there was a point halfway through when I nearly fell asleep.
My recommendation - if you have a choice between "Sith" and "Sahara", go see "Sahara". Heck, if you have a choice between "Sith" and "The Annihilators", watch the latter. Yes, it's really that bad.
What else? Now here is a play that might be of particular interest to the Smalltalk ecosystem, especially if IBM ( a big name if not an active player recently) leaves it: Smalltalk companies co-operate on the parts of Smalltalk where there is no worthwhile competitive advantage. i.e. they use a common base and compete on new more interesting areas. Co-opetition. Painful whilst the common base is constructed, but it could save money for each company. This saved money can now be used to either allow survival if customers leave the arena, or allows investment in new areas to compete with Java, C# et al.
So the fact that companies pay people to work on Open source is neither some new revelation , nor a dirty secret. I see it as a sign of people trying new business models - and some are succeeding.
The problem with that is, all the Smalltalk vendors already have that base implemented. There's really no motivation to go that way as a result. There's also the fact that the various implementations vary quite a bit. As to "trying to business models" - well, I'll make the point again: show me one that works for Cincom Smalltalk and funds the level of development we do.
It looks like it's time for my weekly log analysis. First off, I'll have a look at the BottomFeeder downloads over the last week:
Platform BottomFeeder Downloads Windows 701 Mac 8/9 368 HPUX 320 Mac X 196 Sources 190 Linux x86 186 CE ARM 125 Windows98/ME 57 Update 37 Linux Sparc 32 Solaris 10 Linux PPC 10 AIX 3 SGI 2 Source Script 2 ADUX 1
That's a total of 2240 downloads over the last week, for an average of 320 a day. Smaller than last week's, but in that variable 300-400 a day range that Bf has been hitting for quite some time now. And yes - I'm still baffled by all those HPUX downloads :) Now let's take a look at the HTML accesses, and see what tools are being used there:
Tool Percentage of Accesses Mozilla 41% Internet Explorer 34.8% Other 15.4% Net News Wire 2.5% BottomFeeder 2.5% Java 1.8% BlogLines 1% Opera 1%
That looks about the same as last time. Finally, let's see what the RSS access logs show this week:
Tool Percentage of Accesses Mozilla 24% Other 21.1% BottomFeeder 17.1% Net News Wire 13.9% BlogLines 3.7% SharpReader 3.6% Internet Explorer 3.5% NewsGator 3.5% Liferea 1.9% Planet Smalltalk 1.9% Feed Demon 1.5% RSS Bandit 1.2% Feed Reader 1.1% Shrook 1% JetBrains 1%
That's a slight variance from last week's look, but not a lot. That's the long and short of it.
Register now, so you get the lowdown on Smalltalk usage in medical devices:
Using Smalltalk in Medical Instruments
Hodges, Andy: Medtronic
Wednesday 9:15 am to 10 am
Abstract: Our group is using Smalltalk to develop software applications for use in medical instruments. These instruments are used by clinicians to interrogate and program pacemakers, defibrillators, and other implantable devices. This experience report will describe our basic system and how the Smalltalk software interfaces to other system components, how we have adapted several agile practices (test first design, automated unit testing, shared ownership, limited pair programming), and how we merge with traditional development processes to create artifacts required by the FDA (requirements spec, VT spec, test reports, etc.). We have been able to successfully incorporate Smalltalk technology into a highly regulated, high process environment. It has provided the flexibility and productivity increases that help reduce our product cycle times.
Bio: I have been developing software at Medtronic, Inc. for almost 15 years. For the last 5 years, I have been working in one of our Research organizations and have been almost exclusively programming in Smalltalk. Our software systems are used in research studies intended to collect the clinical data necessary for the delivery of the next generation device features and algorithms.
See you in Orlando!
I was asked a question about my OSS rant in the Smalltalk IRC channel, so I thought I'd clarify. I'm not hostile to open source in general - heck, I've released BottomFeeder as open source, and we ship open source components (GLORP) with Cincom Smalltalk. What I object to are glib "it should all be free" statements by people like Eben Moglen.
Smalltalk has always been "open source" in the sense that all source is available with the product (at least in our case), and in the sense that the Smalltalk level code is all modifiable.
Here's a talk at ESUG 2005 - porting a VAST/Gemstone app to C# and SQL Server. The cognitive dissonance part?
This experience report presents a process that is currently being used to migrate a large, mission-critical VisualAge GemStone Smalltalk system to C# and .NET. Described is an effective, test-first methodology that assures the .NET version system will be source-code identical to the existing GemStone Smalltalk system. Described are the steps of this migration process. Also presented are techniques to deal with the short-comings of the C# language. Experience with moving from GemStone persistence to SQL server is also discussed.
"source code identical"? What the heck does that mean? Especially given the "dealing the shortcomings of C#" bit. My brain hurts just reading that...
We played two interesting Puerto Rico games this evening. I made a ton of mistakes in the first game, and got completely waxed - 20 points behind the pack. The second game was pretty cool. I went straight out for a shipping strategy - I managed the corn boats pretty well early, and got a wharf - after which the VP's just flowed in.
By the end of the game I had 40 shipping points, which is pretty amazing. I even managed to get the Residence - so I cleaned up. I can't get too big a head over this though - that first game I was buried so deep no one could find me :)
It turns out that those nice folks at the MPAA are only out to help us - witness Dan Glickman's op-ed piece:
As CEO of the Motion Picture Association of America, my principal concern is protecting the magic of the movies. So why should I care about a so-called broadcast flag regulation?
The answer is simple. I want to make certain that the American people will continue to have the opportunity to see our movies and television shows on free television in the digital age.
That's right folks - he's concerned about the three people left in the US who aren't watching via satellite or cable - apparently they are the source of massive piracy that can only be ended via the broadcast flag. But wait, he's not done - he's out to show us how technically literate he is too:
the broadcast flag is to assure a continued supply of high-value programming to off-air digital television consumers. Failure to implement the broadcast flag on the July 1 date will be a significant step backward in the transition to digital television. It would also lead to unnecessary confusion in the marketplace, since most television manufacturers have already changed their production to incorporate broadcast flag technology.
Oh gosh - if all those flag ready devices detect a steady stream of zeroes instead of the occasional one, we'll all be doomed - it'll be cats and dogs sleeping together, 40 days and 40 nights, and that worst of all possible things - fair use. We can't have that - Dan's there, ready to protect us from a fate worse than death. It's better - why, the broadcast flag is so smart, it can tell how things are being copied, and whether we've been naughty or nice:
Some say that this regulation would take away TiVo, but in fact, the FCC has certified a TiVo implementation of the broadcast flag. The broadcast flag does not inhibit copying, nor does it prevent redistribution of programming over a personal home network; it only restricts unauthorized redistribution of programming over the Internet and other digital networks.
That's right folks - it will only restrict copying on the WAN - copy to your hearts content on the local LAN. What's that you say? An ssh tunnel defeats that, so pretty much all copying would have to be banned? Perish the thought - the MPAA and Dan are out to help us. And it looks like we'll all suffer for our arrogant desire for fair use - the MPAA is just going to take it's ball and go home:
Our companies want to continue to show their movies and television shows to viewers who don't or can't subscribe to cable or satellite systems. But without the broadcast flag, that option will look less and less appealing. In the end, it will be the consumers who suffer the most if the broadcast flag is not mandated for the digital era.
He's right about who'll suffer - if twits like Glickman and the MPAA get their way, all of us will suffer. Fair Use? It'll be a distant memory.
I've just added two things to BottomFeeder (dev update stream only) that make it easier to deal with your subscriptions. The first thing is a maintenance tool - select a cutoff date, and you can find all the feeds that haven't updated since then. Select the ones you want to delete, and you can blow them away.
The second one is a bit more complex, but possibly more useful. Here's a screen shot of the tool in use in my development environment:
What I've done is define a general category called "aggregators", with a bunch of search terms. With that done, all inbound items will be scanned for any categories I've defined - and thus made easily searchable by the categories I've set up. The "Categorize Now" button allows you to kick start the whole thing after you initially define a category.
That's something I've been pondering for awhile now, and I decided it would be a nice modification.
The "get rid of the old stuff" idea came from this post by Scoble. I realized that I periodically scan my feeds for old crap anyway, so having a tool do it for me would be loads simpler.
It's amusing to see IBM suddenly get all uppity about open source. Apparently it's just fine when it's taking business away from Microsoft or Sun (Eclipse), but just awful when it's taking business away from big buck products like WebSphere. Spotted this in Sam Ruby's comments:
IBM says LAMP users need to grow up. Woodshed!Let’s do it: According to Daniel Sabbah, general manager of IBM’s Rational division, LAMP — the popular Web development stack — works well for basic applications but lacks the ability to scale.
I think it might be time to hand IBM a mirror. That sound they hear? It's their own support of OSS projects eating their very own market out from under them...
James Gosling points out what it means to speak in the age of blogs - you're always on the record:
I need to stop talking to reporters. It's so easy for what results to get misunderstood. I was not trying to say that all open source projects are chaotic: there is a spectrum. Apache is at the very high end of the scale, on average exhibiting excellent behaviour. Their governence rules are very effective. Apache and the Linux kernel set the Gold Standard. But they aren't all of the open source universe, and there's some decidedly oddball behaviour that goes on. The problem is that it's often the crazy behavior that becomes publicly visible and it tarnishes everything. When I made the comment that got so misunderstood I was talking about the perception of the open source community by outsiders.
It wasn't really the reporters who made this story though - it was when it hit slashdot and the blogosphere - at which point, Gosling had to issue a "what I meant to say, was" kind of statement.
The funny thing is, this sort of thing is giving me more sympathy for politicians and other public figures. They've been in the "always on" bubble for quite some time now, and the media has been playing "gotcha" with them for years. That whole game is moving down the scale. It's not as if the same number of people care, but it's every bit as damaging for the niche audience that does...
This post over on VodkaPundit made me sit up and think - it's about the ongoing bubble in the housing market:
As recently as 2002, only 11% of the new mortgages in the [San Francisco Bay] area were interest-only mortgages. But today 66% of new mortgages in the area are financed that way. While such mortgages are not as common nationwide, the upward trend extends across the country. Fewer than 10% of new mortgages nationwide were interest-only mortgages in 2002 but that has now risen to 31%.
The author, Will Collier, pulled that from the San Francisco Chronicle. He then lists a bunch of (admittedly anecdotal) evidence of disquiet underneath the booming housing sector. What really got my attention were two things:
- How many new loans are of the Interest Only type
- How many foreclosures he found in some "well off" areas
That latter one made me think - I've noticed more ads recently on local radio and on TV for "quick sales" on homes - the pitch being that you can get a cash payment for a house quickly if you need to (I would guess that these sales go for dimes on the dollar, if that). I hadn't given those ads much thought, but then I noticed the post I linked above - and it was a real epiphany.
I've been thinking that the bubble can't go one - Condos across from the Columbia Mall (a suburban mall, for gosh sakes!) are going for more than $500k. Houses in my neighbohood are selling for more than 2X what people paid for them just five years ago. New houses adjacent to my daughter's middle school are selling for $900k and up, and a small clutch of new houses on the way into my neighborhood - on lots that are a fifth of an acre at best - are going for $900k and up. The last ones I mentioned are off a private road as well, which means that they get no county plowing in the winter, and no road repair, ever. And still they go for absurd amounts of money.
This also clicked with me because of a section of "The Birth of the Modern" that I've been reading. In the early 1820's, there was a huge boom in England, and it rippled out through Europe and into the US. Credit was easy, and all sorts of schemes were floated, including a number of very risky ones in the newly independent (or still fighting) South American regimes. It was all fueled by easy credit. When that came down, there was ruination everywhere, and industrialization was set back by decades (longer in some places, like South America). The housing boom isn't quite like that, and history never repeats itself perfectly - but boy, it was a discomforting coincidence reading about that crash and then taking a look at some of those housing numbers.
I just finished "The Birth of the Modern" - it's a great book, but takes work to read. Johnson skips around the world of 1815-1830 - the end of the Napoleonic age, and the beginning of the Industrial world. It's mostly Europe, and of that, mostly England - but there's coverage of Russia, the far east, the US, and South America as well. I enjoyed the book, and feel like I have a better grasp of that era now - I'd like to find something good that covers European history between the fall of Napolean and the revolutions of 1848 next. In the meantime, I'm continuing my eclectic reading patterns by picking up a book I got quite some time ago - Tuchman's "A Distant Mirror", which covers Europe in the 14th century. I'm reading her "The Guns of August" as a bedside book, so I know her prose style already.
Here's a nifty little "why blogs don't work" article from Jesse Taylor: Why Smart Companies don't use corporate weblogs. Here's the crux of his rationale:
Public weblogs have very low accountability, and they return no information or insight back to the author about their audience. Authentic customer communication is hard to come by and the fact that weblogs do not gather information about the viewer means that weblogs are just another publishing vehicle that is no more valuable than the website maintained today.
Well, hold on a second there. With a stock corporate website, there's no reason to visit more than once. It rarely changes, and there's hardly ever anything worth reading there. With a blog, you get the voice of an actual person who actually cares about their product(s) - go read Scoble for awhile, for instance. Whether you like MS, hate MS, or don't care about MS, you can always get a decent feel for what's going on there from his blog, and from the channel 9 site that he promotes. What about the main MS site? Nothing but those gosh awful, insulting "dinosaur" ads for Office.
But wait - Taylor's article is more disingenuous than that - it's actually a pitch for some kind of hopeless social networking system:
Blogworking is a combination of social and business networking within a like minded community, by way of weblog publishing. Blogworking allows members to authentically communicate their ideas in a fun and safe way, while establishing themselves as active enthusiasts or thought leaders within that community. This addition compliments traditional weblogs by combining authorship, content and information with accountability, authenticity and visibility.
That's right folks - you should sign up for a service that's invisible to your potential market, and costs you money as an added bonus! Steve Rubel agrees, it would seem.
Memorial Day goes back to the US Civil War - have a look at this WikiPedia Page for a few details. Personally, I salute those in uniform, and have a lot of respect for those who've been killed or injured in the service - regardless of the particular conflict they fell during.
An amusing Google Fight: Which sucks more, Java or Smalltalk?
ABC has put together a cool teaser for Season two of "Lost" - have a look at this page, which explains how to activate the teaser. Pretty cool, if you've been watching the show.
I've been holding off on releasing a "final" 2.5 version and a new prebuilt image until the release of Squeak 3.8. Now that 3.8 is out there, I've done both of these things; a 2.5.0 version is on SqueakMap and a new image is up at http://www.seaside.st/Download/Images/ .
Check it out. There's also a VisualWorks port, with an older rev in the goodies (on the cd), and the more recent port is in the public Store.
Scary story out of SMU.
A professor who kept an annonymous blog about her experiences on campus was let go - the school says it wasn't about the blog, she says it was.
Either way, she's been canned.
Makes for some scary thoughts - what if an employer finds out you've said something about them, and fires you for... "not fitting the corporate culture?"
Well, if you say something in public which reflects badly on your employer, what do you expect? This is nothing new, really - the same thing can happen (and I'm sure has happened) over published articles and speeches. The only difference is the medium (blogs), and the apparent thought on the part of this person that posting anonymously was a shield.
Inspired by Tim Bray's post on search engine blog accesses, I decided to take a look at my own logs for search engine referrals. The results aren't a terribly big surprise: here's a small image of the chart I came up with going back through April:
You should be able to click that image for a larger version of it. The red line is Google - you'll note that it outpaces all the other search engines by quite a bit - but it's been dipping of late, with a slight rise from Yahoo. Ask Jeeves and MSN search are nearly invisible. Getting that chart was an interesting process all by itself - I used a simple Smalltalk script over the logs I downloaded, building up a dictionary of weekly accesses:
logDict := Dictionary new. refs := ApacheLogScanner scan: 'f:\logs\blog_log.0' recordSeparator: Character lf. begin := Date readFrom: '5/8/05' readStream. end := Date readFrom: '5/14/05' readStream. scanned := refs entries select: [:each | each timestamp asDate >= begin and: [each timestamp asDate <= end]]. dict := Dictionary new. dict at: 'google' put: 0. dict at: 'yahoo' put: 0. dict at: 'msn' put: 0. dict at: 'askjeeves' put: 0. dict at: 'googleImage' put: 0. last := nil. lastWasImage := false. scanned do: [:each | | referer | referer := each referer. ('*www.google.*search*' match: referer) ifTrue: [dict at: 'google' put: ((dict at: 'google') + 1)]. ('*search.msn.com*' match: referer) ifTrue: [dict at: 'msn' put: ((dict at: 'msn') + 1)]. ('*web.ask.com*' match: referer) ifTrue: [dict at: 'askjeeves' put: ((dict at: 'askjeeves') + 1)]. ('*search.yahoo.com*' match: referer) ifTrue: [dict at: 'yahoo' put: ((dict at: 'yahoo') + 1)]. ('*http://images.google*' match: referer) ifTrue: [(each origin ~= last and: [lastWasImage not]) ifTrue: [dict at: 'googleImage' put: ((dict at: 'googleImage') + 1). lastWasImage := true]] ifFalse: [lastWasImage := false]. last := each origin]. logDict at: begin put: dict.
It's pretty simple minded code, and it chews a lot of memory on large log files - but it works, and it's pretty quick. I dumped the results to a file and imported them to excel, where I made the mistake of using Pivot charts. Ack! That wasn't what I wanted. I then found the chart wizard on the toolbar, and created the simple chart above.
Then, having no idea how to export a graphic from Excel (if you can, it wasn't obvious to me), I took a screen shot, trimmed the result in Paint, and then shrunk it down with irfanview for this post. Whew. All that just to post a simple chart :)
I posted some pictures of our flower gardens a few days ago - we've had some rain since then, and the Peonies have started to bloom. Here's a shot of the garden on the left side:
And here are the ones on the right:
Sadly, the picture phone isn't quite good enough to pick up the red peonies in the riot of flowers in the top picture. I dug those gardens out the hard way a few years back - wheelbarrow, shovel, bags of topsoil. Fortunately, the house two doors down hadn't been built yet, so I was able to dump all the dirt in that empty lot - if I were to put in another garden now, I'd have to haul all the dirt into the woods across the street.