Another event to keep track of
Looks like the tropical systems are getting busy again - the southeast will have to keep a watch on Tropical Depression 18. Looks like we might catch a break with Philippe though.
Looks like the tropical systems are getting busy again - the southeast will have to keep a watch on Tropical Depression 18. Looks like we might catch a break with Philippe though.
There's a large set of developers for whom this statement is really the end-all of their existence:
"If it's not complex, it couldn't possibly scale"
If you want to see an example, look no further than this post from Debu Panda - who argues that you really need the full J2EE stack to build an enterprise website (never mind the complete lack of evidence). Lesscode does an admirable job of taking him down a few notches in the comments - this post in particular is worth reading.
I've started dropping cookies for stylesheet selections on the blog - so if you select one of the available sheets, it should now "stick" through the comment and archive pages as well.
I've updated the Silt files on the Silt page - the version you'll find there is for VW 7.3.x. There are new versions of some of the html and css files, as well as the requisite code changes.
Danny Ayers is pounding the drum for the semantic web - by which he means RDF. He points to this article by Kendall Clark for backup. meanwhile, Dare Obasanjo has found some contrary voices within the RDF community - Ian Davis and Uche Ogbuji have voiced some doubts about how well RDF actually maps to the semantic web idea. I especially like Ian's take on where the RDF community is:
There are several proposals for dealing with this. The one that seemed to get the most support was to recommend the latter approach and make the first illegal. That means making hundreds of thousands of documents invalid. A second approach was to endorse current practice and change the semantics of the dc:creator term to explictly mean the name of the creator and invent a new term (e.g. creatingEntity) to represent the structured approach.
...
That’s when my crisis struck. I was sitting at the world’s foremost metadata conference in a room full of people who cared deeply about the quality of metadata and we were discussing scraping data from descriptions! Scraping metadata from Dublin Core! I had to go check the dictionary entry for oxymoron just in case that sentence was there! If professional cataloguers are having these kinds of problems with RDF then we are f*****.
That all came in the context of talking about RDF proponent arguments over the proper way to deal with the "author" entity in Dublin Core. Like other groups that have been at it too long, they are down to arguing how many angels can dance on the head of a pin. We may well end up with something like RDF being used for the whole Semantic Web idea - but I doubt that it'll be RDF itself.
Wilkes Joiner thinks that Smalltalk marks out the best path to really getting OO - I like this segment of his post:
Sometimes, I feel the best way to understand OO is to learn Smalltalk. It is such a radically different language and environment that it forces you to think differently. I don't mean to imply that if you've never used Smalltalk then you don't really understand OO. I just think that it can speed up the learning process. My recommendation for anyone new to OO or wanting to sharpen their skills is to download Squeak or VisualWorks, grab a copy of Kent Beck's Smalltalk Best Practice Patterns, and write some code. I've created a very short Squeak tutorial, complete with videos, to get a developer up and running as short of time as possible. There are tons of other resources available out there. Go. Learn.
Warning: The first time I saw Smalltalk was free download of VisualWorks in 2000. I was learning J2EE at the time and my immediate reaction was, "We've been had!" Learning Smalltalk can leave you with a huge level of disappointment with the current "state of the art" languages.
Heh - "We've been had". I like that :)
All you really need is this product, apparently. Napolean should have waited for it :)
PJ Hyett relays this from a JavaLobby thread:
Have you ever tried to go back an make significant changes to a large Smalltalk application that you haven't touched the code for in 3-5 years or maybe didn't even a part in writing? Try that some time if you haven't and then tell us what you think of Smalltalk. If a language can't pass that battle test, it sucks. IMO, Java passes that test very well, much better than Smalltalk or C/C++.
Well, yes. I've picked up Smalltalk code at customer sites that I've either:
It's never been a big deal to figure out what's going on, even with large codebases that are badly written (and yes, I've seen plenty of large, badly written Smalltalk systems). I spent a number of years as a C programmer previously, and leaving code alone for a week or two would result in a long period of ramp up - along with lots of printouts. I've been using Smalltalk for 13 years now, and I've yet to print code out in order to understand it. Back in the C language family, printing code out in order to eyeball it was a constant experience. Smalltalk, in my experience, is vastly easier to pick back up than C, C++, or Java code. Ruby, I have no idea, but I expect it falls over on the Smalltalk side in terms of ease of pickup.
Tom Yager isn't watching the same industry that I am - he's high on the iTanic:
The road ahead isn’t about 8GHz Xeons or 32-core Opterons. It won’t be about hardware at all. It will be about the $100,000 commercial development suites that will perform automated, distributed build, run, observe, and optimize cycles until native code flows through every possible combination of processor types. And for another $50,000, tools will instrument a commercial app to optimize itself based on changing deployment environments. In this scenario, it might take Microsoft (Profile, Products, Articles) three months just to build a major release of Windows, harnessing the off-hours cycles of every machine on the Redmond campus, but the result would be an OS that could chop a big shop’s system requirements by a third or more.
I’m bullish on IA-64 because a dream world of compilers that take their sweet time to build and optimize but that produce mind-blowing code will surface there first. Everything learned there will transfer to other architectures, however, and we’ll end up with a naturally occurring matrix of CPU types and deployment patterns that provides customers with meaningful choices.
I've had pretty long conversations with our VM team about the IA-64 - they agree that the itanium is just a horrible chip for JITed code. Intel designed this chip back when they thought that C++ was the future of computing. In the succeeding decade, Java and the MS CLR have come to the forefront, affirming the vision that we had in the Smalltalk community a long time ago. More importantly, it demonstrates that the industry isn't moving to anything like what Yager posits. The huge compile farms that Yager speaks of are most certainly not the future of general application development.
Of course, this is the same guy who knew that Apple wasn't moving to intel, so - what should we expect?
Maybe that showdown between free content and the print media that was posited by EPIC is starting. The Times has just placed all of their "name" op/ed columnists behind a pay wall ($49.95 per year). The question I have to ask is, why would anyone pay for that? Forget the political persuasion of any of the writers - there are tons of voices on the net that cover the opinion spectrum. The vast majority of them are free, and can be read quickly and easily with a news aggregator (and the masses will be using syndication, once IE7 ships).
So why would you pay for the privilege of reading the Times' stable of writers? Are they really better than the free pundits? I don't think so, and I think that the Times is in for a rude awakening. The reality is, they just opted out of the political conversation. Up until now, bloggers of all stripes linked to the Times writers, either to agree or disagree. That's not going to happen now - even if a given blogger subscribes, he'll know that most of his readers won't.
I understand that they did this for revenue reasons, but I don't think it's going to work out for them. Unlike the Wall Street Journal, the Times isn't offering unique content. Punditry is just too common now.
Update: Here's a related comment from a political blogger:
There's been much talk about how the Wall Street Journal has actually been able to make money from subscriptions, though I have a hard time believing the Times can duplicate that by selling its opinion pages. According to Michael Wolff, however, while the Journal's internet operations have made money, it's actually hurt their print advertising quite a bit. By putting its internet operations behind the wall the Journal has made itself much less culturally relevant. Why pay for print advertising in the journal when it isn't really part of the buzz anymore?
That's really what the Times is doing - removing itself from the buzz equation. This is the first step down whatever media reorganization path it is that we are heading down.
The Croquet project continues to zip along, producing some nifty things:
Croquet is a peer to peer collaborative 3D world. Avatars within the Croquet world can interact with objects, and the lower level messages are replicated within the peer group. He demonstrated this by manipulating some windows in the world, along with more complex objects. He also demonstrated stepping through a window ... a portal ... into a moon/mars scape. Moving through these portals allows the avatars to enter into alternative worlds. They both went through a portal into a "water world" and immediately transformed into fish. As they swam around they came across a "text editor" white board thing ... and edited the text on it.
Ok ... he just opened a paint panel and drew a fish, colored it, and then inflated the 2D fish as he dropped it into the world. Now both of them were able to manipulate and move the new fish around. He entered another portal and showed a interactive spreadsheet, with the inherent ability to graph the values contained in the chart. He also demonstrated using windows as filters to show a filtered view of anything behind it. He was able to move it around showing the wire-frame models beneath the textures mapped onto objects.
All of this is written in Smalltalk, and uses Squeak ... completely cross-platform to Windows, Mac, and Linux. He indicated that they will have a Python, Ruby, and other language support soon.
Hat tip James Governor
I've just released BottomFeeder 4.0 - the relevant upgrades have been moved from "dev" to production, and the download page has been updated. I've also done file releases at SourceForge and Freshmeat - so everything should be up to date. What's new? Here's the list I posted:
Download the latest and enjoy!
Voidstar is out on the extreme edge of Windows opinions, but he makes some good points. Apple does have a real opportunity, if they don't hose us all down by taking the same DRM route that MS looks to be taking. If Apple decides to be consumer friendly, they've got a real shot at increased market share.
Brad Wilson points to a Dave Thomas post on development:
Dave Thomas has a great blog post talking about language performance. He's talking about Ruby, but his points are universal. It's no secret that I'm in love with dynamic languages in general, and with Ruby in particular. The performance question is one that always comes up early. Ironically, the people asking this question are usually coming from a managed environment like Java or C#, which were subjected to the same questions by C++ junkies. Talking about business apps in general, and web apps in particular, Dave really nails this:
Let's face it: your average commercial application isn't burning CPU cycles solving NP-complete problems. We typically write code that moves chunks of data about and adds up a couple of numbers. In these scenarios, is it worth worrying about the relative performance of the language used to do the moving and adding? Not in my book.
That's something I was getting at the other day in this complexity post - most people aren't writing apps that do huge amounts of number crunching - heck, most people aren't doing apps where anything more involved than a linear search is necessary. And yet, there's an obsession with trivia - like the speed of floating point math. If you'e one of the people for whom that matters, sure - you want a language that optimizes well. Everyone else - you want a language that optimizes at the end that actually matters - developer speed.
"Redeye" demonstrates that Wes Craven can make a good film without leaving a trail of bodies. We saw this film over the weekend, and I really liked it. There's a fair amount of improbability in the plot - as you watch it, just consider how few options the bad guy really has with the position he's put himself in. Still - the pacing is really good, and you don't think about that as the plot unfolds. Most of the movie is a huge tension building exercise, and I thought it worked.
Rachel McAdams did a great job as the lead - her fear was palpable. Cillian Murphy was nearly perfect as the villain - he had the perfect blend of affable evil down pat. Recommended.
Troy explains how to update to the latest BottomFeeder release on a Mac.
One of the things you bpick up around the blogosphere is the huge wads of self importance. I'm as guilty of it as anyone else - I've given whole talks on how crucial it is to pay attention to blogs. Having said that, there's another side of this, and it impacts tech bloggers and political bloggers alike - the "echo chamber" problem.
It's very easy, watching Technorati, and Memeorandum, and IceRocket, and Google's blog search, to get caught up in any of a number of ongoing conversations. Take a look at Scoble's latest comparison post, for instance. You see this kind of tail chasing all across the blogosphere, although it seems positively endemic on the political sites - I guess the egos are just that much bigger over there.
There's an easy reality check though, and I get it every time I visit customers. I ask "How many of you read my blog?" Now, as egotistical as that sounds, stay with me a second - in these meetings, I'm seeing Cincom Smalltalk customers, and a goodly proportion of what I (and the other bloggers here) cover is Cincom Smalltalk focused - so the cst blogs are pretty "on topic" for a customer crowd. The thing is, it's always a fraction of the audience that is reading.
Most people just aren't as focused on their jobs (or politics) as bloggers are. We tend to be obsessive about the topics we're interested in, posting multiple times a day. Most people don't spend even a fraction of that much time pondering the industry they work in or day to day politics. They have other things on their minds - family, sports, hobbies - other things that fill their time and make them happy. Meanwhile, bloggers - in any part of the sphere - will form a circle of self importance and blather about the huge impact they have.
Don't get me wrong - within an influential sector of the population, bloggers do have influence. It's just not as huge an influence as we would like to believe.
Doc Searls asks a question about the Times Select policy (where all the Times columnists are now behind a pay wall) - and then tosses out a potential answer:
Question: Why give away online what you charge for in the daily paper, while charging for what becomes fishwrap tomorrow? The Times' answer is to charge for both op-ed writers (why op-ed and not the rest of the paper) and fishwrap. This whole thing smacks of a political compromise between warring factions inside the paper.
I had two other possibilities come to mind as well:
I suspect we'll find out soon, because the market for political opinions commoditized a long time ago...
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
Ted Leung notes that Yahoo is working on a Gmail competitor, but isn't happy with eb mail in general:
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.
Doc points to some comments from Rick Segal on the supposed non-inclusiveness of Google:
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.
A few authors have decided to sue Google over their library project - apparently, they would rather remain obscure and hard to find. Google has a response here, and I think their response makes a lot more sense than the suit.
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:
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.
Thanks!
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?
The Yankees are back where they belong:
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.
Keeping track of Squeak? Then go grab the Weekly Squeak, a webzine that does it for you.
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...
So he can't talk about Yahoo's plans - but wait, I thought secret meetings were evil? I guess they're evil only if they don't involve certain people with overly large egos....
Heh - He explains, and the translation is: "They invited me, so it's different".
Scott McNealy thinks he's Steve Jobs:
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.
Ars Technica has a review up of various Mac readers. They missed BottomFeeder, which has been out for the Mac - both OS X and OS 8/9 - since 2002.
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...
I need to be more pro-active about tagging things to del.icio.us, but here's my main delicious page for Cincom Smalltalk.
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 :)
Enclosures:
[http://www.cincomsmalltalk.com/casts/wsdl.wmv ( Size: 14310876 )]
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:
| Platform | BottomFeeder Downloads |
| Windows | 987 |
| Mac 8/9 | 651 |
| HPUX | 495 |
| Mac X | 433 |
| Sources | 381 |
| Linux x86 | 191 |
| CE ARM | 106 |
| Windows98/ME | 51 |
| Update | 50 |
| Solaris | 32 |
| Linux Sparc | 26 |
| SGI | 24 |
| AIX | 22 |
| Linux PPC | 6 |
| ADUX | 3 |
| CE x86 | 3 |
| Source Script | 2 |
Now let's take a look at the html accesses to the blog pages:
| Tool | Percentage of Accesses |
| Mozilla | 43.9% |
| Internet Explorer | 40.5% |
| Other | 7.6% |
| MSN Bot | 5.4% |
| Google Bot | 2.6% |
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 |
| Mozilla | 24.6% |
| BottomFeeder | 16.5% |
| Other | 11.6% |
| Net News Wire | 10.3% |
| Planet Smalltalk | 4.6% |
| Safari RSS | 4.5% |
| Feed Demon | 3.8% |
| Magpie | 3% |
| NewsGator | 3% |
| Internet Explorer | 2.8% |
| SharpReader | 2.7% |
| BlogLines | 2.5% |
| Feed Reader | 1.9% |
| BlogSearch | 1.8% |
| RSS Bandit | 1.4% |
| Liferea | 1% |
| JetBrains | 1% |
| Feed Tagger | 1% |
| Google Bot | 1% |
| Jakarta | 1% |
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.
Instapundit points to some models that show a nasty possibility - Rita returning to the gulf. Sounds insane, unless you remember Ivan's wild ride last year.
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.
Looks like the Department of Homeland Security screwed up their site somehow. In case it's back to working by the time you see this, have a look at the saved screenshot here.
I don't feel nearly so bad about my occasional mistakes now :)