The cab is here already, and I need to get out the door - I'm off to Cincinnati again, for another meeting. I'm sure I'll have some things queued up from the plane ride, so check back later.
Sci Fi Wire reports that Joss Whedon wants to revisit the BuffyVerse in some future TV project. I hope so, but it will almost certainly have to be with an entirely new cast. Hmmm
It's old news that Yahoo is beta testing the latest incarnation of their web mail service. It sounds like there are going to be signficant improvements to the user interface, even when compared with Gmail. I have a Gmail account, but I don't use it much because even the though the UI is good for a web client, it's not good enough, and of course, there's the problem of disconnected operation.
The thing is, Gmail doesn't require you to use the web interface. I almost never use it. I have it archive my mail for me, but I also use POP to pull it down. This gives me instant access to all my mail (like now, when I'm on a small jet, bound for Ohio) - but also gives me an instant backup. It's pretty much perfect.
Is there a darling/honeymoon/pariah meeter? I think somebody should do a chart over time of various big time companies. I think if you did this chart, you will find Google setting the record for going from darling of the industry to monopolistic evil empire faster then most. Can¹t wait to watch the movie of Eric throwing a chair.
This is all in relation to a meeting Google held where they invited some people and left others off the list - and asked those attending not to blog about what happened. Apparently, the entire concept of "off the record" is just way, way too hard for some members of the blogosphere. Did it ever occur to these people that a company - any company - might want to float a few trial balloons with some trusted (i.e., not utter whiners) people, and see how they might float?
Not everything needs to take place in public. Not everything needs to be "on the record". Sometimes, a private meeting is just a private meeting. Sheesh people, grow up.
Dave Buck is speaking at the Ottawa Smalltalk User's Group on October 5th - follow the link for all the details
Dare notes that Google's new blog search isn't that great for link searching - something that Scoble turned up in initial testing a few days ago. I haven't done any real testing, but my gut has told me the same thing. At present, I have search feeds defined (for the same terms) using Feedster, Technorati, IceRocket, Google, and BlogPulse. I've noticed that PubSub has been just buried with splog results lately - so much so, that I may have to stop subscribing.
For those of you who are buzzword challenged, a "splog" is a spam blog - typically set up on a free site like BlogSpot. To see this, set up an RSS search in PubSub for Smalltalk (I'll bet good money that the same thing will happen for other terms as well). Once you start seeing results, you'll get hits from splogs shilling ceramic tiles, roofing materials - you name it. PubSub has some work to do, because they went from being really valuable to nearly useless in one fell swoop because of this.
It's getting to the point where I'll have to consider building in optional spam filtering for BottomFeeder...
Apparently, World of Warcraft has a huge plague outbreak. Art imitates life, or something :)
Earlier, I speculated that the new Times Select (i.e., pay only access to columnists) might mean that the finances of the Times are worse than anyone realizes. Well - it seems that we have some evidence in that direction now:
NEW YORK -- The New York Times Co. said Tuesday it would cut about 500 jobs, or about 4 percent of its work force, as part of an ongoing effort to reduce costs. The reductions come atop another 200 jobs that were cut earlier this year.
The Times reaction - to start charging for opinion pieces - is just about the dumbest response possible, IMHO. Of all the services they provide, opinion making is the most heavily commoditized. Any blogger can express an opinion, and they can be read for free. Why on earth would I want to pay for that?
Steve Wessels has been helping some (non-technical) friends with a new PC purchase, and would like to recommend a Mac - but they ran across a really good deal from Dell, and now he's conflicted:
I remember thinking that maybe they could visit the local Apple store (they have one in their city) and just ask them for advice. I was thinking that maybe just the new Mac Mini and use the existing keyboard, mouse, display monitor, and maybe even printer might be a good idea. But the truth is that's a really cheap price from Dell.
Well, readers of this blog know that I've spent years being skeptical over the price divide between Windows boxes and Macs - the differential is typically in the $500-$750 range, which is a decent amount of money. In the past, I've always come down on the PC side of this one. However, consider the sort of scenario Steve describes (virus issues, setup problems, etc). Most people find a technical friend to help them, although a decent number take their boxes to a local repair shop.
The question you have to ask yourself is this: How much is my time worth? If you value your own time at $100 an hour, then it seems to me that a Mac will actually pay for itself over the course of 6 months. You won't have viruses, and most things (other than the Mini's DVI adaptor - grrr) "just work". Yes, that's soft money rather than hard money - but still. Based on my wife's experience with the marvelously inscrutable Media Center PC, the next time I'm in the market, I'm much more likely to get a Mac.
Chris Pirillo relates the difficulties that his wife had with various music devices (the iPod shuffle being one of them) - all because of DRM. The story is worth reading in its entirety, but here's the kicker for the management types who think DRM is "protecting" them:
The story ends up with me listening to my Shuffle of music and happily copying all that needed to be copied. I will have to catch up on the latest podcasts and audiobooks from my computer at home until I figure out the problem. I will confess for a split second thinking. "Dang, if I still had a CD player I could have burned the audiobook to a disc and listened to it that way." OMG how awful was that? I have three of the latest devices and I'm thinking of burning a CD. Now think about my poor Mom, how would she deal with all this tech drama. I'll tell you how, she wouldn't "fool around with it" until it was one button sync and play, a better alternative than whatever she uses now for music and more reliable with more features. If you find that device and the software that runs it please forward me the info. I need it. What devices do you use and how easy are they to work with?
Shorter: "Most people won't buy it at all". All that protection you get from DRM? Yeah - it's protecting you from revenues.
Chris Pirillo agrees with my wife and I about newer Outlook revs (I always thought older ones sucked as well, but I digress):
I've gone to great lengths to prove to pepole how Outlook XP and Outlook 2003 suck, and people "in the know" completely agree with me. You can't argue with suck, man.
Somewhere in Redmond, members of the Outlook team are relentlessly beating the product with the ugly stick. Yes, I've seen the stupid video - the latest Outlook for Vista has already been beaten as well.
I need to toss a new survey up, but I figured I'd throw some ideas out here first. The winter release is approaching code freeze, so now is a good time to think about what we (the Cincom Smalltalk team) should be focusing on. I'm going to put a list up here - please respond in comments or via email. Feel free to bring up things I didn't list here - I don't pretend to have perfect knowledge of everything our customers and potential customers are thinking. So - what's most important to you:
- Interoperability with other environments/platforms (WS*, IIOP, etc)
- Better GUI
- Object/Relational database mapping
- Simpler Application Deployment
- Better Server Tools for Web Development
- Better Server Tools for other sorts of application servers
- Browser plugin support
That's hardly an exhaustive list, but it will do for starters. If you respond, make sure you tell me whether you are interested in ObjectStudio, VisualWorks, or both. If you currently use another Smalltalk environment, let me know what things we could/should do that would make us more attractive to you. Heck, if you aren't currently using Smalltalk, I have the same question.
Troy started a good conversation on how to raise exceptions in testing that normally come up only under exceptional circumstances. make sure to click through to the comments as well.
I've been reading "Crucible of War" for awhile now - I have it by the bed, and I only read it just before we go to sleep at night, so it's taken awhile. It's a fascinating book on an era that I had not understood very well at all - the Seven Year's war (or, as most Americans know it, the French and Indian wars).
The French settlements in North America were not as widespread as the British ones, and - for the most part - were not expanding. That's why they managed to get so many Indian allies during the war - the Indians saw the French primarily as trading partners, and the British as competition. After 1761, when the war was settled in Europe, the various tribes didn't fully get the idea that France had ceded - during Pontiac's rebellion, they used French flags and paraphernalia, thinking that victory (and they took a lot of British forts) would draw the French back. This made the British misinterpret the rebellion - they didn't really see it as the pan-Tribe uprising that it was, instead seeing French perfidy that didn't really exist.
That laid the groundwork for more distrust later - but Parliament in London also made other perceptual mistakes. From the British government's standpoint, a larger army than they wanted to pay for was needed in North America, to guard the frontier. Debts from the long war were huge, and their perception was that the colonies had not been paying their way - which led to the various tax hikes of the 1760's and 1770's. The colonies, on the other hand, didn't understand the debt burden of London, but did see the sacrifices that various colonial militas had made (and these perceptions differed by colony).
All of those perception differences led to the Revolution in 1776, and this book explains the back story in a way that I hadn't completely understood before. If you really want to see that back story, I recommend this book.
Scoble points to this announcement about MS's new management structure - the long and short of it is, Ballmer and his crew are now on top. Why do I call that retrenchment? Because Ballmer is a sales guy, not a marketing guy, or a technical visionary. Under the Ballmer crew, tweaks will be made to sales models, and compensation plans, and bundling options - but technology and "innovation" will definitely take a backseat. Microsoft has now officially entered the beginning of the same downramp that IBM entered in the 80's. They'll likely end up in the same place that IBM is now in - profitable and important, but no longer dominant or industry leading.
The question is, how bad will the pain get between now and then?
2005 American League Standings EAST W L PCT GB HOME ROAD RS RA STRK L10 NY Yankees 88 63 .583 - 50-27 38-36 820 728 Won 3 8-2 Boston 88 64 .579 .5 50-24 38-40 857 765 Lost 1 5-5 Toronto 74 77 .490 14 40-37 34-40 715 658 Lost 1 4-6 Baltimore 70 81 .464 18 35-39 35-42 672 733 Lost 4 5-5 Tampa Bay 64 89 .418 25 40-38 24-51 717 891 Won 1 4-6
Now, we just need to end the season that way...
PR Opinions has an interesting graph up on what they call the "PR Hype Cycle". It's an interesting graph, mirroring the Geoffrey Moore "crossing the chasm" cycle for products - and there are some zinger on there (have a look at where email sits in their opinion, for instance).
Thought provoking, I think.
CNet reports that Sony is laying off 10,000 workers - notice where they say they are focusing:
The world's second- largest consumer electronics maker said it expects to save $1.8 billion in the process as it refocuses on its refocuses its efforts on electronics, televisions, digital imaging, DVD recorders and portable audio. Of the 10,000 in job cuts, the company said it will slash 4,000 jobs in Japan and 6,000 jobs elsewhere.
That focus looks to be squarely on the non-content side of the business - it looks to me like the changes afoot in the music business (iPod, etc) and the downturn in the movie business are having an impact.
Steve Shu points to two very different views on CEO blogging:
Personally, I think this has more to do with corporate culture and the personality of the CEO than with anything else. If your CEO communicates well, and likes to communicate, then by all means - get his or her thoughts published. If, on the other hand, your CEO is more of a back channel mover and shaker, blogging may well be a waste of their time and energy. Like a lot of other things, the answer to this one is it depends.
John Dvorak's latest column can be shortened down quite a bit - to summarize his point: Techological progress is bad, and people are too stupid to handle it all. To wit:
On-demand instant replay has changed the viewing patterns of TV watchers in much the same way that the infinite hard drive has changed the maintenance pattern of the computer user. Both have introduced a new philosophy of laziness—and that philosophy is now permeating society. With the hard drive, you don't have to think about all the data piling up. You just don't care. Soon you discover you have five and six copies of a file that you saved over and over.
With the TiVo, you don't have to pay close attention to your TV anymore. If something happens, you can simply go back to watch it in detail, and then fall back into the zombie-like state abetted by this convenient tool. Even reading has become more difficult in our new mindset. Podcasts are taking over the world because you can replay them instantly. If you think about it, the iPod is really a TiVo. These devices are perfect for putting the public in a stupor.
But once you slide down the slope of dull-witted haze, there is not much you can do about it. As you get dumber, you become more oblivious. Intelligence is like good taste. If you don't have it, you don't miss it.
The shorter summary of Dvoark - he used to be an expert, with semi-useful advice. Now he's torqued because the world has passed him by, and no one cares. Why does PC Magazine still employ this gasbag? And media people wonder why they have circulation issues. Here's a tip - don't tell your audience that they are clueless idiots, for starters.
Here's an interesting post on multi-threaded (OS level) vs. single threaded application development - I found this via a pointer to KBM's post from the Smalltalk IRC channel. The basic point - if you think you need multiple threads, what you actually need is multiple processes. First, Guido Rossum, the guy behind Python:
I personally don’t think the threaded programming model as found in Java works all that well; without locks you end up with concurrent modification errors, with locks you get deadlocks and livelocks. A typical programmer has a hard enough time keeping track of a bunch of variables being modified by a single thread; add multiple threads acting simultaneously on the same variables to the mix, and it’s a nightmare.
If my hunch is right, I expect that instead of writing massively parallel applications, we will continue to write single-threaded applications that are tied together at the process level rather than at the thread level…. I expect that most problems (even most problems that we will be programming 10-20 years from now) get little benefit out of MP.
Next, Richard Hipp, the SQLLite guy:
This seems like a good opportunity to repeat my oft-ignored advice to not use more than one thread in a single address space. If you need multiple threads, create multiple processes. This has nothing to do with SQLite – it is just good programming advice. I have worked on countless multi-threaded programs over the years, and I have yet to see a single one that didn’t contain subtle, hard to reproduce, and very hard to troubleshoot bugs related to threading issues.
I am constantly amazed at the prevailing idea (exemplified by Java) that software should be strongly typed and should not use goto statement or pointers – all in the name of reducing bugs – but that it is OK to use multiple threads within the same address space. Strong typing helps prevent only bugs that are trivially easy to locate and fix. The use of goto statements and pointers likewise results in deterministic problems that are easy to test for and relatively easy to track down and correct. But threading bugs tend to manifest themselves as timing-dependent glitches and lock-ups that are hardware and platform dependent, that never happen the same way twice, and that only appear for customers after deployment and never in a testing environment.
Now, some will pop up at this point and say that non-OS threads (like VisualWorks Smalltalk has) raise the same problems. The answer is, no they don't. Why? Well, the process model for VisualWorks processes is written in Smalltalk, at the image level. That means that you as the developer have complete control over lightweight process semantics. If you don't like the process model, it's simple to implement a different one, because you don't need to dive into the VM to do it.
Consider threads in Java or C#, by contrast. You have process semantics that are completely out of your control, and vary by platform. An application that uses native threads on Windows will not work the same way on Linux, even though all the source code is the same. You'll end up with mysterious issues that you have no ability to deal with. A VisualWorks application using Smalltalk processes will behave identically on any supported platform. Which makes delivery a whole lot simpler - you don't have to pray that it will work on a different platform. In practice, the porting issues I've faced have always been my fault - a stubborn refusal on my part to deal with file path differences in settings files :)
To get back to the article, clever devil summarizes the above thusly:
So if you shouldn’t use threads, what should you use? Well, Guido said it himself: “write single-threaded applications that are tied together at the process level rather than at the thread level.” Not only will this work very well, it will keep your code simpler, and let you break down problems into smaller chunks. Thats a big deal when working on projects of any size, and multiple process solutions have proven themselves to be effective for years.
Consider that last point well - people have been writing multi-process applications that scale very well for a very long time - Apache being a recent example. It's a well understood architecture, and the inter-process communication possibilities are well known as well - it's a solved problem.
Lessing sides with Google on the indexing project. The authors trying to ban this are exactly like the people who wanted to enforce ancient property law (ground to the heavens) for airplanes.
Here's an embarrassment that the folks at FEMA don't need. Wander over to their disaster registration site (no, don't actually register unless you need help) - and see what happens if you aren't using IE6. I stumbled on this error message just trying to get the start form to load:
Servlet error: java.lang.ClassNotFoundException: _dynamic._templates._Template__body
Now, consider just how pathetic that is. They used a cross platform language in a way that tied them specifically to IE - they pretty much went out of their way to be stupid. For FEMA, this has political repercussions.
Ok you say - we just run an IT shop and we sell widgets - no one cares. Oh no? What if your prospects can't use your online store because of this? How many sales are you willing to sacrifice because you were too lazy to follow standards? What if the sales and marketing group has people using Macintosh machines - and they can't properly interact with your systems - because you were too lazy to follow standards?
Maybe the question needs to be asked in the other direction - what are the actual business benefits of ensuring that a reasonably sized minority of users won't be able to use your applications?
Update: ComputerWorld's Frank Hayes has some good points on this as well.
Tom Yager is venting about the evils of having to port code, but he points at the wrong issue:
The porting issue I’m focusing on here, though, is among operating systems. I grant that desktop applications don’t port easily, if at all, from one OS to another. Graphical user interfaces differ in appearance and behavior, and therefore require different coding, design, and testing practices. That’s as it should be. I’d argue, however, that there are far too many fat client applications. Many are little more than GUI front ends for software that runs in the background or on back-end servers. Non-user-facing code makes up the vast majority of commercial and in-house projects, and that’s where porting should be wiped out.
Funny that I haven't run into this problem with BottomFeeder - it's a fat client (although it's also a smart network client) application that deals with syndication - and I've got it running on a bunch of platforms. Yager's problem is one of vision - he still thinks it's the early 90's, and that everything takes eons to compile. Witness his love of the iTanic...
Sun CEO Scott McNealy likened himself to Steve Jobs and his company to Apple Computer on the brink of launching the iPod at a convention Tuesday, suggesting the server maker is poised for take-off. Sun has been on a five-year stock slide, having lost about 90 percent of its share price since January 2000. It has not had a year of positive net income since its fiscal year 2001. In the meantime, shareholder activists are calling for Sun to do away with its "poison pill" takeover defense and realign its executives' stock option plan to be more performance-based, according to a Sun proxy filed Tuesday.
There are, of course, crucial differences. Apple has tech cred, and they - pay attention closely now, Sun folks - charge money for their products. Sun seems to think that giving product away will lead to profits, presumably via those non-existent margins. Apple, on the other hand, seems to actually have a business plan.
Holy smokes! If you are in the projected path of Rita - don't screw around - get out of the way now:
DROPSONDE DATA FROM AN AIR FORCE RESERVE UNIT RECONNAISSANCE AIRCRAFT AT 623 PM CDT...2323Z...INDICATED THE CENTRAL PRESSURE HAS FALLEN TO BELOW 899 MB...OR 26.55 INCHES. THE DROPSONDE INSTRUMENT MEASURED 32 KT/35 MPH WINDS AT THE SURFACE...WHICH MEANS IT LIKELY DID NOT RECORD THE LOWEST PRESSURE IN THE EYE OF RITA. THE CENTRAL PRESSURE IS PROBABLY AT LEAST AS LOW AS 898 MB...AND PERHAPS EVEN LOWER. FOR OFFICIAL PURPOSES... A PRESSURE OF 898 MB IS ASSUMED... WHICH NOW MAKES RITA THE THIRD MOST INTENSE HURRICANE IN TERMS OF PRESSURE IN THE ATLANTIC BASIN. SOME ADDITIONAL DEEPENING AND INTENSIFICATION IS POSSIBLE FOR THE NEXT 12 HOURS OR SO.
This is some serious you know what heading towards the western gulf coast...
Chris Pirillo has the same notions about intrusive web ads that I do - if you insist on popping ads up, or using those truly annoying animations that defecate all over a screen I'm trying to read, rest assured of one thing - you've lost any chance of having a customer relationship with me, ever. If your advertising is that rude, I don't want to find out what your staff is like.
I got an interesting piece of news from a customer today - see this article on Bank of America and Image Cash Letters? The very first exchange of Image Cash Letters between that bank and a customer used a Cincom Smalltalk based system from DeepCove Labs. Here's what they say about Smalltalk:
DeepCoveLabs, is in the business of developing payment processing solutions. We currently offer products for cheque conversion, multi currency credit card processing, international electronic funds transfers into about 30 countries, cheque printing in many currencies and languages, a currency exchange module and a CRM system for managing a payment processing operation.... all written in Smalltalk by a couple of developers at a time. Why Smalltalk, this is not an item of debate for us, everyone involved feels they personally can more done faster using Smalltalk than with any other tool set.
Zefhemel has the right idea about language features and productivity. Noting how many extra (and complicated) language features C# had to add in order to do LINQ, he asks:
So, here’s my question. How far are we willing to drag on the huge beast that is a static language? If you look at a language like Ruby or Python, they already got most of the features that C# had to add to make this happen, but in Ruby and Python they’re not half as complicated. In Ruby you could already add methods to existing classes, anonymous methods (in Ruby known as blocks) are something a Ruby programmer breathes, anonymous types? var keyword? generics? Don’t need those.
If we want to carry on in the direction that LINQ is heading, and I think we should, shouldn’t we sacrifice this one thing: static languages? This makes things a lot simpler in many ways, and the sacrifice may just be worth it.
This was the point I was trying to make here. It's not that LINQ is a bad idea in and of itself; it's that all the cruft MS needed to add for it is. At some point, you would think that people like Hejlberg and Gosling would look at dynamic languages, ponder the complexity they've added to their own creations just to approach the same capabilities... and get a clue.
I'm going to put together a short screencast on using the Web Services wizards in VisualWorks - using the Google API as a way of demonstrating the operations. It's been awhile since I did one, so I'm going to have to remember how to use the tools - look for it later
I've done another screencast, after a long gap - this one goes over how to use the WSDL client wizard in VW 7.3.1. I've got two formats uploaded this time - if you want to see this in Flash, then go here. If you want the streaming wmv file, then go here. I didn't upload the original AVI file - that was 1/2 a gig :)
I've got all of the screencasts I've done aggregated here on del.icio.us
Time for a look at the weekly logs - the BottomFeeder downloads are up to nearly 500 a day - although a fair bit of that is likely upgrades to 4.0. Here's the details:
Now let's take a look at the html accesses to the blog pages:
|Tool||Percentage of Accesses|
Well, IE usage is up - my traffic rose, so I guess that means that my readership is becoming broader. That's a good thing :) Now, the RSS accesses:
|Tool||Percentage of Accesses|
|Net News Wire||10.3%|
Looks like the RSS distribution isn't that different - although, the Windows specific readers seem to be a bit up. All in all, another interesting week.
Well, it seems that a persistent spammer has been trying to deface the Postgres pages on the UIUC Wiki all day. Sadly for that dork, I have a script - I just select the Smalltalk code in a workspace, and repair all of his damage. No fuss, no muss :)
The storm track for Rita is strange looking - there's a blocking high pressure system that's going to stop the storm in it's tracks in northern Louisiana or Mississippi. It's going to get very, very wet down there...
I should have known better. I spent many, many, many (did I say many?) hours playing the original "Civilization" PC game, and I just grabbed Civ 3. It's every bit as addictive as the original.
Update: I think today's all day session confirms my addiction :)
I see that the music industry moguls don't like what they see in the commoditization of their business - Bronfman of Warner Music is up in arms over Apple's 99c pricing on iTunes:
At an investors’ conference in New York, Warner Music Group CEO Edgar Bronfman Jr. said the price of downloaded songs should vary depending on the popularity of the songs and the artists. He called Apple’s across-the-board $0.99-per-song charge unfair.
“There’s no content that I know of that does not have variable pricing,” said Mr. Bronfman at the Goldman Sachs Communacopia investor conference. “Not all songs are created equal—not all time periods are created equal. We want, and will insist upon having, variable pricing.”
Sure there is - commodities. You just got disintermediated. It's time to realize that consumers like being able to pick and choose by song instead of by album.
Here's a post discussing scalability, threads, process models, etc. I was drawn to it by these two statements - I'm trying to figure out how the author manages to hold both of these thoughts in his head at the same time:
Performance gains are going to be extracted through threads, NOT processes.
Well. So much for that unscalable model used by Apache then. By assertion, it doesn't work :)
Tim says that "Debugging it is a complete mindf**k, and I’m spending too much time debugging it because I have no idea how to write the unit tests." I have done some debugging for MT applications, and believe me it is no fun. You get nightmares, insomnia, loss of weight, and ultimately loss of concentration.
Yeah, something that brings about that second thing most certainly will bring me to scalability nirvana.
PVRBlog spotted a funny thing about DRM and the TiVO last week - an episode of "King of the Hill" got flagged as something protected, and the people at Tivo said that the flag was caused by line noise. The technical response to that?
When I asked them if they believed that noise could be "misinterpreted" as a DRM flag, they burst into positive howls of disbelief. One present talked about Macrovision's checksums and said that that must have been "incredible noise if it completed the checksum." A semiconductor expert laughed out loud. Charitably, an operating system vendor's rep suggested that TiVo might not be lying: rather, he said that perhaps they've just done an "incredibly bad" implementation of Macrovision.
Most likely, it was an error on the part of some tech setting broadcasts up. What it points out though is this - fair use rights to programming are being eroded as we sit here.
Blaine Buxton gives a great example of why "private" methods can be a problem:
I look through the class and find a methood called gatherFiles(File,String,result). It takes a file and determines if it is a test class. Well, a simple check to see if the file is a jar, add the class names of the entries which are tests to the result, and we were in business, right? Well, that's what I thought! So, I overrode gatherFiles, added super to let it do its job, and then, added my jar functionality. Simple right?! It didn't compile. It seems gatherFiles is a private method and I didn't have any visibility for the super. OK, I then just copied the original gatherFiles in place of the super and a little gentle refactoring. Everything compiled, but it worked like the old one. It then struck me. You can't override private methods. GRRRRRR! So, I wound up copying the remaining methods that I needed and removed ClassPathTestCollector as my superclass. It shocked me to know what should have been a simple refactoring, turned into a lot more, and it forced me to commit the worst of all sins: Duplicate code.
The problem with "features" like private and final are that they assume perfect knowledge of all possible future uses of code by the original author. That's simply impossible, and Blaine's found a great example of it.
Scoble is still looking at search, and asks us to try this search for the Toshiba Gigabeat. Yes, there are a lot of third party sites, but I did spot the Gigabeat site - 4th down on the list. The general issue of relevant search results varies a lot - and the subject matters too. For instance, have a look at the results for this one. See the first two results? That's "Google bombing" at work there.
In the blogosphere, we get a lot of inadvertent Google bombing, simply by the normal kind of meme spreading that takes place. That's a side effect of having more people discussing more subjects - it makes relevancy that much harder to rank (as in - who gets to decide what's relevant?).
This makes the job of web marketers harder, because the message you are trying to put our can easily get buried by the noise generated by a semi-smart mob interested in the same topic. This is why I keep saying that you have to pay attention to blogs and search results - if you don't, someone else certainly will.
For a company that prides itself on ease of use, there are a few cases where Apple really drops the ball. Witness "Finder", for instance. I just plopped a VW install CD in the cd drive on the Mini, opened Finder.... and couldn't spot the installation files. I opened a terminal window and found them (good luck running it from there though) - so what the heck was up?
Well, I had someone tell me to resize the Window. I hadn't even noticed that the horizontal scrollbar was active. Sheesh - there were all of 11 files in the folder - it couldn't arrange them all to fit?
Scoble points to some fascinating research results on web search - the bottomline is, if you don't show up on the first page of results for a search that should find you, you don't exist. If you aren't at the top of the list, it's nearly as bad:
Professor Thorsten Joachims and colleagues at Cornell University conducted a study of search engines. Among other things, their study examined the links users followed on the SERP (search engine results page). They found that 42% of users clicked the top search hit, and 8% of users clicked the second hit. So far, no news. Many previous studies, including my own, have shown that the top few entries in search listings get the preponderance of clicks and that the number one hit gets vastly more clicks than anything else.
There's more - they tried some hidden manipulation of results to see what happened:
What is interesting is the researchers’ second test, wherein they secretly fed the search results through a script before displaying them to users. This script swapped the order of the top two search hits. In other words, what was originally the number two entry in the search engine's prioritization ended up on top, and the top entry was relegated to second place.
In this swapped condition, users still clicked on the top entry 34% of the time and on the second hit 12% of the time.
Meaning, an awful lot of people (a solid plurality) hit the first link without really examining it. Think about what the means in the context of my earlier post on google bombing. Now, bear in mind what this means if people haven't heard of your company, but are interested in a product or service you provide: it means that you are completely invisible unless you get yourself to the top of the list (or at least the first page) for relevant search terms.
My daughter Victoria is a girl scout, and has been selling cookies for many years now - today she charged out as soon as school was over, in order to beat the rush from the elementray kids, who get out an hour later. When they did get home, it was kind of amusing watching the lot of them run from house to house, trying to score sales first.
We stayed at it for about 90 minutes, finally getting driven in by rain - the mild remnants of Rita mixed with a cold front. What that means is - I'll be back on the streets with her tomorrow :)
I swear, the networks seem to have the same batch of ideas all at once. Ponder these two series: "Invasion" and "Surface". While you're at it, make the mistake of watching "The Abyss" and "Close Encounters of the Third Kind" in the same week. Then try - just try - to keep any of the details straight.
So far, I've seen lights from the sky drop into the water, lights from the water fly up towards the sky, people get taken over like "Body Snatchers" (or Goa'uld from SG-1), and compulsion to travel to the "main site". Gah! It's too many plot derivatives!
Here's an interesting by-product of the last O'Reilly Foo Camp - a "meme map" for web 2.0. The interesting aspect to me is this - it's the product of lots of unplanned, organic growth - the end result of lots of people working independently. In some respects, the explosive growth of web personalization (blogs, Flickr, del.icio.us) is akin to the explosive growth of inventions in the late 19th and early 20th centuries - it's amazing how many people are converging toward the same set of loosely coupled ideas.
This is exactly the kind of growth that large firms aren't terribly good at. It's not that they don't have smart people, it's that the bureaucratic impulse tends to stifle independent thinking.
Blog Relations recently took a survey of 50 PR professionals on blogs - what do they know about blogs, are they a force for good/bad (or neither), etc. The results can be found here. Most of the respondents live and/or work in the US or UK, so keep that in mind - YMMV in other places (Asia comes to mind). The most interesting take away for me was the answer to this question:
Do Blogs pose a threat to corporate reputations? (May tick more than one answer)
It is much harder to spot a crisis coming from a blog than from the traditional media
42% responded yes to that one, and 64% agreed with this:
A disgruntled employee or a dissatisfied customer could use a blog to ignite a full-blown crisis
It's not all negative though - most of these folks agreed that businesses can benefit from setting up blogs - and thus becoming part of the conversation. That really goes back to something I say a lot: Define your message, or someone else will define it for you. That's what these PR folks said in these answers.
Go have a look at the whole thing - it's interesting reading.
Update: As per the comment below, I updated the post to reflect the correction.
Allchin is co-head of the Platform Products and Services Division. "It's not going to work," he told Gates in the chairman's office mid-2004, the paper reports. "[Longhorn] is so complex its writers will never be able to make it run properly. "The reason: Microsoft engineers were building it just as they had always built software. Thousands of programmers each produced their own piece of computer code, to be stitched together into one sprawling program.But Longhorn/Vista was too complex: Microsoft needed to begin again, Allchin told Gates.Allchin's warning recognised a growing threat from Google, Apple Computer, makers of Linux and corporate buyers - the latter horrified about security problems. Allchin and a small team demanded a revolution in how Microsoft works.
It was only a matter of time before the "tightly couple everything to everything else" theory collapsed, and it sounds like it collapsed ugly. The thing is, the management shakeup - the one that ousted Allchin and put Ballmer's cronies in charge - is probably the last thing they need. If I read this article right, it sounds like Allchin played Cassandra, and got the same kind of treatment she got. The sales guys are in charge now, and architecture is the last thing they care about.
I predict rough sailing ahead for MS.
"Linux and Windows will be the only two operating systems left in five years."
The problem with that statement isn't just Unix - it's the current problems MS is having (see my last post), combined with Apple's move to intel. I don't foresee Apple becoming a huge player here, but they could easily pull a Firefox - i.e., start whittling their way up to a more significant percentage.
Not every OS vendor is as stupid as Sun - which is what I think the Gartner guys are assuming. Jobs may be a lot of things, but stupid isn't amongst them.
We have a new blogger on the site - Terry Raymond. Terry is the author of the Professional Debug Package, which we integrated into VisualWorks back in VW 7. Terry's been working with Smalltalk for years, and has a lot of expertise around debugging and memory management - BottomFeeder uses a memory policy he created, for instance. Subscribe here!
Update: Make sure to follow Terry's blog for tips on maximizing your use of the debugger.
Either way, I'm glad the story is getting out. The short view is that last year we threw out the code that had been written for Longhorn and started over with a fresh code base (they restarted with Windows Server 2003's codebase, by the way). Then they started checking in features one at a time, albeit with higher quality bars. It was a very painful time. I had been sold on how cool Longhorn was going to be too, and last year I couldn't really say much as they rebuilt the entire product.
Well, that's not far enough back, IMHO. Windows started being a mess with NT 4.0, when they decided to move the graphics drivers into the kernel (and ushering in an era of blue screens related to that decision). It went downhill with the full bore integration of everything with everything else. What this decision does, IMHO, is delay the day of reckoning for the "big ball of mud" a couple of years. They'll be right back to their 2004 state, because they haven't actually dealt with the real problem yet.
And believe me, I know a big ball of mud when I see one. One of the things that our team has been working on is untangling the core Smalltalk image for VW into components. It was built as one big ball of mud from the start, and it's not easy to untangle. We know that's a problem, and are addressing it. If untangling VW is more complex than I'd like, imagine what untangling the mass of dependencies in Windows is going to look like.
One of the unique features of BYU is that every week on Tuesday, there's a one-hour time slot where no classes are scheduled. Three weeks of the month, there's a devotional. The fourth week is called forum and it's usually some national figure who's been invited to address the BYU faculty and student body. You'd be surprised how well attended devotionals and forums are. We hold them in the Marriott Center and sometimes there's as many as 25,000 people there.
Today's forum address was by David McCullough, the author of 1776 and the biographies of John Adams and harry Truman (among others). The title of his address was "The Spirit of 1776." I estimate the attendance at today's forum to be about 10,000.
Via Phil Windley