Be careful what your bumper asks for
Rogers Cadenhead discovers that some bumper stickers fall into the "be careful what you ask for" category :)
Rogers Cadenhead discovers that some bumper stickers fall into the "be careful what you ask for" category :)
Looks like my cable modem has served it's last bits, or my signal suddenly got weaker for no good reason. I'm reduced back to *gasp* dialup, while I await the princely arrival of Comcast's technician - which won't be until Thursday. Oh, the joys of great customer service from the local monopoly...
Update: I should know better than to take the word of Comcast phone techs. He said that "there was no problem in my neighborhood" - which certainly explained the truck parked by the cable box up the street, with two technicians replacing a circuit board. The good news is, I don't need to wait for the service tech now.
Dare Obasanjo has a nice summary of a scaling talk given at ETech - lots of good stuff, but this bit at the end is especially interesting:
One big lesson learned about database scalability is that 3rd normal form tends to cause performance problems in large database. Denormalizing data can give huge performance wins.
Step one: Defeat the Architecture Astronauts :)
Boy, do I ever identify with this post from Joel Achenbach of the Washington Post:
My house is littered with partially read books, moaning for someone to put them out of their misery. I approach the basement library like a doctor assigned to perform triage. What book shall be given life, and picked up anew? And what consigned to oblivion? "The Known World," by Edward Jones, is one I'll finish, and "The Little Friend," by Donna Tartt, if I can just figure out where I put it. But already the stack of stuff I'm supposedly reading is getting so high that I fear it will fall on me. All that unread material may literally crush my spirit.
Well, "crush my spirit" is too strong - but I sure recognize the problem. My bedstand is littered with partially read books...
This was inevitable - astroturfing campaigns in the blogosphere, leveraging the meme trackers and Google. This one is political, but the same thing could easily be used for anything. Hat tip Scoble.
Hmm. Winer doesn't like Wikipedia because of the lack of editorial control. Now he doesn't like sites (like Yahoo) that use DMOZ (editors). The beauty of the web - as opposed to print media or TV - is that we as consumers get both, and can evaluate them against each other. The more the merrier, I say.
Torsten says:
What if they would take the next step and directly start using Smalltalk. I'm sure they will enjoy the wonderful world full of objects.
Come on in; the water's fine!
Who knew? The Russians pack heat on every space flight, as part of their post-landing survival kit:
“In 1965, two cosmonauts overshot their touchdown site by 1,200 miles and found themselves deep in a forest with hungry wolves. That's when Russian space officials decided to pack a sawed-off shotgun aboard every spacecraft. It took Russian search crews more than two hours to locate the spacecraft and another two hours for helicopters to get support crews to the landing site.”
Heh.
If you grabbed the latest development build of BottomFeeder, you may have noticed that the blog client suddenly disappeared from the plugins menu. That's a glitch in the way I did the build; it will be back when I do the next build. In the meantime, you can execute this code in a workspace (see the "System" menu) to bring it back:
| plugs |
#{RSS.RSSFeedViewer} ifDefinedDo: [:cls | cls
registerPluginClass: BlogTools.PostingTool
startupMessage: #openWith:
label: 'Bottom Line'].
plugs := Array with: (RSS.RSSFeedViewer getSingleInstance class plugins last).
RSS.RSSFeedViewer getSingleInstance addPluginMenuItemsFrom: plugs.
To get that to execute on every startup, just save that into a file called ".btfrc" (without the quotes) in your BottomFeeder directory.
The VUB held a Dynamic Languages day in Brussels last month, and they have the presentations, and some of the demos available for download. They also have quicktime movies of the presentations available for download. For more info, check out the website.
Via Dave Winer, a link to this post from a woman who's tired of hearing "it has to be easy enough for my mother to use":
I'm so tired of people talking about how their mother wouldn't understand something. I've been hearing this for 20 years, and it's sexist and ageist, and wrong and unfair, and how about let's get rid of this offensive idea. I'd never say that about my mother, who has a PhD, and is pretty smart. I certainly wouldn't want to encourage her helplessness! At one point I leaned over to Tara Hunt and expressed this sentiment. Then I realized that she's a mom, and said so. I wonder how many mothers were in the room and how they feel about always being held up as the paragon of cluelessness.
It's not about being smart or stupid. It's about the level of usability that is typically not built into software. Recall this post I made on our excellent adventures with the Media Center PC we bought. My wife and I are both software developers, and were willing to go through the pain of setting that up. It's not that "my mother" wouldn't be smart enough; it's that she would actually be smart enough to call BS on the usability and send the thing back. I linked to this post from Doc Searls a few days ago, where he related the following:
Add to this the sad fact that audio/video sales showrooms are a confusing mess. One guy who works for one of the big-box retailers recently told me the return/swap rate on flat screens exceeded 50%, because too many people are baffled beyond endurance by the complications of hooking them up, and the results afterwards.
Are all of those people idiots? No, they just have better things to do with their free time than ponder a confusing mass of cables and ports. Software developers - and apparently, most hardware manufacturers as well (with the notable exception, IME, of Apple) seem to have a "the more the merrier" attitude about possible configurations.
The menu on the archive pages for the blog server has been slightly non-functional for awhile (it didn't start on the current date, and it didn't remember your selection). I had been ignoring that for awhile, and Steve Kelly went ahead and fixed it. Thanks Steve!
I've posted updated BottomFeeder development builds - these are under the "Dev" label on the download page. Bear in mind, this is early development, so don't grab unless you are willing deal with potential problems :)
The funny thing is, this article by Steve Yegge on programming languages and how (and why) different ones succeed and fail reads a lot like "The Thirty Years War" that I'm reading. One of the primary goals of many developers is not to use the best tool for the job at hand, but to stamp out heresy:
During those years, I wondered why Python wasn't as popular as Perl. It seemed like a much stronger language than Perl. That's just my opinion, of course, and there were certainly things I missed from Perl, so I'm not claiming that Python is the be-all, end-all of language design. But it seemed like the best thing out there.
Why wasn't it more popular? It seemed to be getting crushed by marketing forces -- by fiery-eyed Perl zealots who went around and gained converts, one at a time. Perl was acting like a virus, and spreading rapidly, while Python sort of limped along, growing much more slowly. Richard Gabriel, of course, had already pointed out that C and Unix were virus-like in his famous short essay, The Rise of ``Worse is Better''.
I'm not sure whether I should be amused or depressed, actually.
eWeek's Peter Coffee took a look at Cincom Smalltalk VisualWorks recently, and had a talk with Suzanne Fortman and I. He's got it written up in this week's issues, which should be out today. He has some nice things to say about the product, which he installed using the NC CD:
Version 7.4 of VisualWorks became available at the beginning of this year, offered in both a supported commercial version and an unsupported but full-function noncommercial version that can be downloaded at smalltalk.cincom.com.
VisualWorks offers developers a capable tool set with a remarkably long list of contributed components and utilities that are supplied under varied license terms.
Versions of the 7.4 release on Microsoft's Windows XP and Apple Computer's OS X delivered a polished development experience in eWEEK Labs tests on both platforms, with well-paved pathways for interactive graphical interface development and efficient packaging of finished applications for convenient deployment.
I got a couple of quotes, and BottomFeeder got a mention as an example of cross platform deployment:
After one of the Labs' past development "Shoot-Out" competitions, we reported that watching a Smalltalk developer recovering from an error was like watching someone perform brain surgery on oneself. But Smalltalk has since become somewhat safer for journeyman developers with the addition of such features as namespaces, as we learned from Cincom product manager James Robertson, in Cincinnati, during a conversation with the Labs late last month.
Robertson brings a developer's perspective to his work. He's better known to the open-source community as one of the lead developers of the BottomFeeder news aggregator client for the RSS and Atom protocols.
Very nice stuff. I'm located in Maryland though :)
At the moment, the 4.2 (development) download of BottomFeeder is pretty much "bleeding edge" - so if you download it, be aware that there may well be odd problems. I'm still adjusting to the sub-system framework in VW, and the RTP's usage of it.
Phillip Greenspun on Java as a choice for building web applications:
After researching how to do bind variables in Java (see the very end of http://philip.greenspun.com/internet-application-workbook/software-structure), which turns out to be much harder and more error-prone than in 20-year-old C interfaces to relational databases, I had an epiphany: Java is the SUV of programming tools.
A project done in Java will cost 5 times as much, take twice as long, and be harder to maintain than a project done in a scripting language such as PHP or Perl. People who are serious about getting the job done on time and under budget will use tools such as Visual Basic (controlled all the machines that decoded the human genome). But the programmers and managers using Java will feel good about themselves because they are using a tool that, in theory, has a lot of power for handling problems of tremendous complexity. Just like the suburbanite who drives his SUV to the 7-11 on a paved road but feels good because in theory he could climb a 45-degree dirt slope. If a programmer is attacking a truly difficult problem he or she will generally have to use a language with systems programming and dynamic type extension capability, such as Lisp. This corresponds to the situation in which my friend, the proud owner of an original-style Hummer, got stuck in the sand on his first off-road excursion; an SUV can't handle a true off-road adventure for which a tracked vehicle is required.
Not only are Java developers using the wrong tool for the job at hand, they are using the wrong tool for pretty much any job they might come across. It's an old column by Greenspun, but it's still highly applicable.
Phillip Greenspun addresses the "why aren't there more women scientists" via the more general question: why aren't there more scientists, period. He gives an example:
How closely does academic science match these criteria? I took a 17-year-old Argentine girl on a tour of the M.I.T. campus. She had no idea what she wanted to do with her life, so maybe this was a good time to show her the possibilities in female nerddom. While walking around, we ran into a woman who recently completed a Ph.D. in Aero/Astro, probably the most rigorous engineering department at MIT. What did the woman engineer say to the 17-year-old? "I'm not sure if I'll be able to get any job at all. There are only about 10 universities that hire people in my area and the last one to have a job opening had more than 800 applicants."
That addresses the problem of why so few people (in general) enter the field. It doesn't speak specifically about women though. All I have is anecdotal evidence - my sister went into aerospace (not academic - she got a job in industry straight out of university). The pay was good, the hours no worse than for any other professional (like, say, cs). She left the field completely after less than 10 years in. Why?
She had her first child, and decided that she couldn't stand having her daughter being partly raised by other people (day care). She and her husband ran the numbers, and decided that they could afford to have her quit and stay at home. Is this something all women do? Not hardly - a quick glance at the number of women working will tell you that. However, it's still a much larger number of women who downshift from work after having a child, compared to men. For the purposes of wondering why there aren't more women in some highly competitive fields, it doesn't even matter why that's the case - given that it's true, more men are going to rise to the top in those fields simply on a numerical basis.
Greenspun's examination of pay and working conditions do play a major role. If you're planning to have a family, pay does matter, and so do the working hours. My brother in law got himself a PHD a few years back in the bio-tech field, and we watched how he got treated (by his professor) while he was doing his research. Believe me, it wasn't well. The hours he put in were long, and the pay was beyond insulting - it came pretty close to serfdom, in my opinion. Greenspun elaborates on the pay problem:
Even a public schoolteacher actually does better than a scientist. Consider the person of unusual ability who takes that bachelor's in science and decides to become a schoolteacher instead of going to graduate school. At age 22, the schoolteacher is earning a living wage and can begin making plans to get married and have children. By age 30, when the scientist is forced to start moving around to those $35,000 per year postdocs, the schoolteacher is earning $50,000 per year. By age 44, when the scientist is desperately trying to switch careers, the schoolteacher is making more than $90,000 per year for working nine months (only the better school systems pay $90,000 per year, but remember that we posited a person with a high IQ and motivation sufficient to get through graduate school in science). Being a public employee and a member of a union, the schoolteacher cannot be fired but may at this point in his or her life begin thinking about a comfortable early retirement and some sort of second career.
I'd question his "living wage" for a teacher at 22 - I took that track back then, and I was making $14,500 a year at 22. I couldn't afford an aprtment of my own, and I was living in the New York suburbs, not in a big city. Even so, working conditions were better than what my brother in law faced, and - had I stuck with it - the pay would have reached a tolerable level well before I hit 30.
Bottom line, multiple things enter into the disparate numbers of men and women in fields like academic science. If I had to guess though, the working conditions of those first few years of doctoral and post-doctoral work have a lot to do with it. From the outside looking in, it looked a lot like what medical interns deal with at hospitals, only without the promise of better pay down the road.
So who does go into these fields? Read Greenspun's essay, and see what the decision making process looks like to someone from China or India (etc). Which explains why you find so many people from those countries in the sciences quite well, I think.
Read the rest of his article - I think he explains the disparity quite well in the summary part of his essay
Via Rowan, I just noticed that Avi Bryant and Andrew Catton won the best in show award at the Under the Radar Conference - with this set of panelists. As Michael said, that should make a few people rethink Smalltalk.
Scoble decries the "snark" in blogs, especially the more heavily trafficked ones:
Why is all the snark going on? Cause everyone wants traffic. Why did I call this the John Dvorakification? Cause he figured out in the 1980s (yes, he’s been at this so long) that if you attack a community (particularly the Apple one) that everyone will get all up in arms and will start talking about the attack. That translates into traffic. Traffic = advertising dollars.
Sometimes, it's just about calling BS on something. Like, say, the "helpful" nature of Microsoft's upcoming DRM. Or the walking atrocity that is OPML. Or the fact that Dave Winer tends to leave a trail of enemies wherever he goes, and is then utterly stunned as to how that came about. Or about the supposed safety of explicitly typed languages.
As the saying goes, sometimes, a cigar is just a cigar.
Looks like BellSouth is about to be grabbed by AT&T - which will leave us with two big telcos - Verizon and AT&T. Kind of like the way Standard Oil was mostly rebuilt when Exxon bought Mobil a couple of years ago. Over the long haul, it looks a lot like the lawyers are the only ones who win from anti-trust suits.
Well, it looks like we have a bang up season finale coming up for all my favorite shows - SG Atlantis, SG-1, and Battlestar Galactica. I just watched Friday's BSG on the Replay; looks to me like we're going to see a resolution of Baltar's current "in-between" state. My wife came up with an interesting thought as to why Six is in his head, now that we saw (a week ago) that he's in Six' head back on Caprica. When she died, and got "backed up" - there was a "crossing of the streams", if you will, between her mind and Baltar's. I'll have to see how that pans out, but it's the best explanation I've seen so far.
It's getting so that the end of the Sci-Friday season is like the end of baseball season for me - months of anticipation until it starts again!
Richard Monson-Haefel explains why Groovy will be the dynamic language of the future:
The future seems obvious: Dynamic languages are growing in popularity and their productivity and broad applicability cannot be ignored. The Java platform is supported by a huge ecosystem of 4 million-plus developers and thousands of tools and APIs. If any dynamic language is to be successful it has to (a) be standardized (b) appeal to Java developers (c) be fairly easy to learn, and (d) leverage the existing Java ecosystem. There is only one dynamic language that meets those needs and that's Groovy.
Well, even within that theory he's ignoring the CLR and Iron Python - and given the far greater penetration of Windows than anything Sun is doing, it's a pretty big omission. But never mind that - let's go to the basic problem in the argument, as I see it.
The big complaint people make about niche languages is "what if I can't find developers?" Groovy does not solve that problem. Sure, it uses Java Byte code, but so what? Who programs in Java byte code? The argument fails for the simple reason that the platform - whilke important - is not the biggest issue in front of developers and their management. They worry about resources (i.e., staff) and interoperability. If they can get both, the VM being used isn't really much of an issue. Memory is now cheap, so chewing a few extra MB for another platform just isn't the problem it was a decade ago.
To take Groovy on specifically - it looks a lot to me like a checkbox item Sun did, and then promptly abandoned. "Dynamic languages on the JVM? Sure, we've got this Groovy thing!"
Never mind that there's almost certainly more Jython out there than Groovy. Richard has stumbled onto a solution for a problem that few people care about.
Chris Petrilli is looking at Domain Specific Languages as a possible solution to some issues he's having at work:
In searching for a better way, I started thinking about Domain Specific Languages , or a language crafted for a very narrow problem domain, often implemented in another language. Lisp is the quintessential tool for this problem domain.
Quick recommendation: Have a look at Steve Kelly's blog - and then run over and have a look at his product
I continue my tack of reading more than one book at once, which only slows the whole effort down. I'm still reading "Grant's Memoirs" - reading his thoughts about the northern press tells me that frustration with the media is hardly a new thing in American history. Then, I started reading "The Crusades Though Arab Eyes", which is a fascinating piece. It's compiled from contemporary Arab sources, and opens a whole new window on the era. Good stuff, I highly recommend it to anyone who's interested in that period of history. Finally, reading about the Crusades got me interested in the entire area of religious fanaticism - I read two books by Bernard Lewis recently, on the fanaticism that is prevalent in the Islamic world right now. I picked up "The Thirty Years War" by Victoria Wedgewood, because the West went through its own era of religious fanaticism in the wake of the Protestant schism with the Catholic church. It's a well written book, and is giving me a decent background in that period - about which I knew just about nothing previously. Again, if you want some balanced background on the topic, this book is highly recommended - the author's style makes for a good read.
I had a small Silt request this afternoon - in the IRC channel, someone wanted a "printer friendly" link for posts. So, I just added that - it will bring a CSS free, black and white single post page, with a Javascript print function at the top. I've posted the new code in STore, but have not yet pushed a new version of the pre-built stuff.
Frank Hayes describes more than one IT department here:
How many people in your IT shop understand what gives your company a competitive advantage? That comes down to products, people and processes -- what your company sells, who makes and sells it, and how it's made and sold. Anything that contributes specifically to getting customers to buy from your company instead of a competitor is a competitive advantage. Anything else, well, isn't.
Too many IT people forget that, and optimize their own jobs first, and the work of the company itself second. The key thing they need to remember: they're just plumbers. Other people do the work that pays their salaries, with their (IT's) help.
I was in New York City last Wednesday - had a customer meeting and the NYSTUG meeting. Suzanne had her camera along, so we have some nice pictures. After the first meeting, we met Mark Grinnell for lunch - Mark is the lead engineer on ObjectStudio, and is the one who threw together the OST 8 COM demo I posted awhile back. So here's a shot of Mark while we had lunch in his neighborhood:

We also got a picture of Mark and I pretending to work as I searched for open WiFi, and then Suzanne with Mark - and finally, the waiter took a shot of all three of us:



After lunch, Suzanne and I headed back downtown - Mark has two young children that he had to take care of, so he didn't make it to the meeting. This first shot seems suspiciously staged to highlight my bald spot:

In this one, I'm off to the side - that's Charles Monteiro in profile. Charles is the guy who keeps the NYSTUG going - this meeting was all his legwork

Time for my weekly look at the logs - downloads of BottomFeeder proceeded at a clip of 197 a day last week, a slight bump up from the previous week. The details:
| Platform | BottomFeeder Downloads |
| Windows | 425 |
| Sources | 243 |
| Update | 214 |
| Linux x86 | 122 |
| Mac X | 98 |
| CE ARM | 53 |
| Mac 8/9 | 53 |
| HPUX | 38 |
| Solaris | 37 |
| Windows98/ME | 37 |
| Linux Sparc | 22 |
| AIX | 22 |
| Linux PPC | 6 |
| SGI | 3 |
| ADUX | 1 |
| CE x86 | 1 |
| Source Script | 1 |
Next up, the HTML page accesses for the blogs:
| Tool | Percentage of Accesses |
| Mozilla | 50.3% |
| Internet Explorer | 26.1% |
| Everest/Vulcan | 6.2% |
| Google Bot | 6.5% |
| MSN Bot | 4.8% |
| Zibber | 4% |
| Megite | 2.1% |
More bots :) On to the RSS traffic for the week:
| Tool | Percentage of Accesses |
| Mozilla | 25% |
| BottomFeeder | 16.5% |
| Net News Wire | 10% |
| BlogLines | 8.3% |
| FeedFetcher | 5.5% |
| Safari RSS | 3.8% |
| Internet Explorer | 3.3% |
| RSS Bandit | 2.8% |
| Feed Reader | 2.1% |
| Everest/Vulcan | 1.9% |
| SharpReader | 1.7% |
| Magpie | 1.7% |
| Planet Smalltalk | 1.6% |
| NewsOutlook | 1.5% |
| BlogSearch | 1.4% |
| MSN Bot | 1.4% |
| FeedFlow | 1.4% |
| NewsGator | 1.1% |
| AttensaOnline | 1% |
| Liferea | 1% |
| JetBrains | 1% |
| Google Bot | 1% |
| Java | 1% |
| Feed Demon | 1% |
| News Fire | 1% |
| Jakarta | 1% |
| Other | 1% |
The tool diversity there does not seem to be decreasing, that's for sure.
Scoble defends himself against Drew Bell, who pretty much calls him a hack. I like Robert - he's straightforward, and I think he's an honest advocate for Microsoft. Which leads me to this: I'd really like to see him weigh in on PVP-OPM, which is going to be part of Vista. I consider it to be a complete atrocity, and I would really, really like to see Robert tell me why I shouldn't.
It doesn't really matter whether the subject is politics, technology, science, sports - the bottom line is that journalism has just as many lazy placeholders pushing paper as any other field. Put another way, Dilbert isn't just suffering in the technology field - his - and more importantly, Wally and the boss - are alive and well everywhere. Here's an example, which I found at InstaPundit - here he's quoting from "The Appearance of Impropriety"
Most reporters aren't scoop-hungry investigators. They're wage earners who want to please their editors with as little effort as possible, and they're happy to let you provide them with ideas and facts for publishable stories. That is why most publicity is positive for people and their businesses.
...
An experiment by a group of journalism students at the University of Tennessee demonstrates just how willing reporters can be to accept facts and story ideas that involve little work. The students concocted a fictitious press release from a group opposing "political correctness" and mailed it to a number of newspapers. Most did not run it, but quite a few did -- and none checked the details one way or another. One newspaper even embellished the story with additional details that were not included in the original press release. When word of the experiment got out, journalists were predictably outraged, with one even saying that it violated the bond of trust (!) between journalists and public-relations professionals. A more likely explanation for the outrage is that the experiment uncovered a pattern of shoddy work that its practitioners would have preferred to keep unexposed. Not plagiarism, perhaps, but something that in many ways is worse.
That puts a whole new spin on the way analysts work in the technology sector too - how many of the reports we see weren't just funded by one (or more) companies, but actually written by them as well? Analysts are no better or worse than anyone else, so I'd guess that the answer is a disturbingly high number.
This also explains the herd mentality of things in the IT industry. Industry analysts and journalists get hopped up - all at the same time - about some great new thing that appears on the scene (Java, WS*). A perfect storm of articles appears touting the new stuff, and why everyone should use it. Enter the average IT manager, who again - is no better or worse than anyone else, and who tries to keep up by reading a few magazines. Wow, he thinks - "everyone" is talking about technology X. The development staff suddenly gets blind-sided by a set of inexplicable requirements.
This behavior isn't terribly different than general media reporting - combine a small set of manufactured news with instant polling (the methodology hidden in small print at the back of some PDF), and you get a news story from nothing at all.
The only defense against this is to read as many sources as you possibly can, and see if you can possibly find the real nub of the matter (any matter) from across the spectrum of sources you look at. Sadly, that nub is non-existant an awful lot of the time. Reporting that "our current systems work just fine" is every bit as boring as "Not a lot of importance happened today".
There was an annoying bug in the (non-Javascript) comment form - preview mode was using the wiki style markup, whether the "use markup rules" checkbox was on or not - and the actual submit paid attention to it. After James got after me, I fixed that.
As if phones at the movies aren't bad enough - Scoble brings his notebook
My son is bummed. His iBook can’t get on the Internet. No wifi in Petaluma’s new movie theaters. But my Verizon card works just great.
Yeah, that's what I want - two people with glowing screens distracting me from the screen...
I have got to stop taking the 7:09 USAirways flight from Dayton to DCA. Third trip in a row that it's running late, on a Friday, ensuring alousy evening for me. Sigh.
Scott Granneman does a good job of showing how DRM is bad for all and sundry. It hurts the law abiding consumer, causes ongoing irritation with the vendor (key marketing tip: irritating your customers is not a good strategy) - and, ironically, by blocking otherwise legitimate usage, it forces people to break the law in order to get around restrictions. An example - after buying a DVD archive of the "New Yorker" magazine, Scott found out that he could barely use it:
No dice. The issues were available as DjVu files. No problem; there are DjVu readers for Linux, and it's an open format. Yet none of them worked. It turned out that The New Yorker added DRM to their DjVu files, turning an open format into a closed, proprietary, encrypted format, and forcing consumers to install the special viewer software included on the first DVD. Of course, that software only works on Windows or Mac OS X, so Linux users are out of luck (and no, it doesn't work under WINE ... believe me, I tried).
Read past that - he points out that it's not that hard to get around these issues, but - based on the DMCA - you are committing a felony when you try to do that. Another key marketing tip: Making your customers felons is not a winning strategy. Read the whole thing, as they say.
Windows Vista won't suck. No, wait, it will. Well - bear in mind that the negative comments come from a Linux site, so obviously - YMMV. Here's the positive spin:
While the kernel in Vista is still primarily the same one as in Windows 2000 and XP, there have been some significant changes to tighten up security. Fewer parts of the OS as a whole run in Kernel mode - most drivers run in User mode, for instance. Things that run in Kernel mode are prevented from installing without verified security certificates, and even then they require administrator-level user permission. In Vista, it should be much more difficult for unauthorized programs (like Viruses and Trojans) to affect the core of the OS and secretly harm your system.
That's from the upside article. The whole thing is a set of technical points on why Vista will be cool. Admittedly, if security is better, that will be good. However, this doesn't sound encouraging:
However, Vista also requires far more hardware oomph than previous Windows systems. I'd say Intel's recommendations are pretty much a minimum for Vista. I would only add that if you expect to see the fancy desktop, you need to invest in, say, an ATI Radeon XPress 200, an Nvidia nForce4, or a high-end graphics card.
The truth is that very, very few people are going to be upgrading their existing systems to Vista. To make it work well, you're really going to need a new computer. If you didn't buy your PC in 2006, I wouldn't even try to run Vista on it.
That kind of upping of requirements is nothing new, of course. On the other hand, when you combine it with the nasty stuff they are doing with DRM, it starts making me sweat.
Mark Watson explains how "Duck Typing" just makes things easier. Saving a few minutes here, a few minutes there - over time, it adds up
This sounds way too alarmist to me:
"You get these contrails from the jets. The rate at which they're expanding in terms of their fractional cover of the stratosphere is so large that if predictions are right, in 40 years it won't be worth having telescopes on Earth anymore - it's that soon.
"You either give up your cheap trips to Majorca, or you give up astronomy. You can't do both."
Now, I'm hardly an astronomer, but - isn't light pollution as big a problem here? I know that I have a lot more trouble seeing the sky where I live now (suburban Maryland) than where I grew up in New York State.
JSR-292 could make Java more inviting for dynamic languages:
There is growing interest in running a variety of programming languages on the the Java platform, and consequently, on the Java virtual machine (JVM). This interest is increasingly focused on dynamically typed languages, in particular scripting languages.
To make it easier to produce performant, high quality implementations of such languages, we propose to add support at the virtual machine level.
Specifically, we seek to add a new JVM instruction, invokedynamic, designed to support the implementation of dynamically typed object oriented languages. We will also investigate support for hotswapping, the capability to modify the structure of classes at run time.
However, it looks like there's some skepticism within the Java community:
My big question is how this affects Java's security model, particualrly since "The invokedynamic instruction is in many ways similar to the existing invokevirtual instruction. However, it is much less constrained by byte code verification rules. Instead, it relies on dynamic typechecking to ensure the integrity of the virtual machine." This is scheduled for Java 7, Dolphin. Comments are due by March 13. (Seems a bit short for such a major change.)
To really support a language like Smalltalk, you need what they are calling hot swap. Being able to make dynamic calls is a start, but that's it - a start.
Well - it seems that Firefox might be getting itself a new, "less is more" UI. That looks to me like a direct response to IE 7. I've had problems with the beta I grabbed, but I do like the more minimal UI. It stays out of my way, and gives me more screen turf. This is good news, IMHO - it's no longer the case that MS is simply reacting to Firefox.
I'm heading into meetings today, so there won't be a lot of posting until later. The good news is, they should be good meetings.
Yet another example of faith in the spell checker gone wrong: a lawyer looking to use the latin term sua sponte ended up filing papers that referred to sea sponges:
That left the justices reading -- and probably laughing at -- such classic statements as: "An appropriate instruction limiting the judge's criminal liability in such a prosecution must be given sea sponge explaining that certain acts or omissions by themselves are not sufficient to support a conviction."
At least it was a clean case :)
I only got home at 1:30 am last night, and I'm off to corporate tonight - Suzanne and I have a meeting with management. I have a couple of other small meetings through the day, and then - with any luck - I'll be home in time for a round of Caylus.
Doc mentions a rather large problem in the home A/V space while discussing the Apple Hi-Fi stuff for the iPod:
In fact, home stereo choices are getting thinner all the time. There are few "stereo" receivers left, since all the mainstream manufacturers have gone to Surround Sound. Sure, you can run your iPod through one of those, but how many of us know how to do that? See, you plug this little thing into your iPod, and press the AUX button on your receiver. No, sorry. The CD player is plugged into the AUX. The iPod line goes to ... oh, right, VCR/DVD2. Or is it VCR/DVD1? Or is it Tape Monitor? Hang on. Lemme check. You got a flashlight?
Add to this the sad fact that audio/video sales showrooms are a confusing mess. One guy who works for one of the big-box retailers recently told me the return/swap rate on flat screens exceeded 50%, because too many people are baffled beyond endurance by the complications of hooking them up, and the results afterwards.
It is that big a mess. We took snapshots of the back of our TV and taped them to the back, so that we would know what to do if we had to rewire anything. Hooking a new piece of equipment in is always an adventure - heck, I still don't know why my DVD/VCR combo will give me only video on one of the TV outputs - it looks like all the audio cables are going the right way.
This whole space is crying for simplicity, and I think it's the space Apple is gunning for.
Blaine Buxton will be giving his StS 2006 presentation at the Omaha Dynamic Languages group next week, March 7th. The details:
Controlling Pain: Augmenting Unit Testing
Smalltalk has a highly reflective and lively environment that can be used to augment traditional unit testing. It allows us to do things that are only dreamed about in other environments. We can easily question and interrogate code or any aspect of the system. It is not hard to implement tests to ensure code correctness, enforce metrics, and scrutinize resource allocations. You can be creative and take the stance of using tests to stop and minimize the cost of change. There is a large variety of characteristics that can be tested, from run-time correctness to code quality. This presentation will give real world concrete examples in Smalltalk.I will be presenting the talk that I will be presenting at Smalltalk Solutions. I hope to see everyone there for the sneak preview!
Follow the link to Blaine's blog for directions.
Jonathan Schwartz shows how to get a competitor's attention: Talk right past them to their customers:
But then HP decided to end of life PA-RISC - and in so doing, left their user community with a very tough choice: if you want to preserve your investment in HP-UX, you have to rearchitect your entire datacenter to adopt Intel's troubled Itanium project. But if you want to enjoy HP's high volume Proliant line of x86/x64 computers, you can't run HP-UX - unlike Sun, HP elected not to invest in supporting their Unix, HP-UX, on their own x86/x64 servers.
So we'd like to offer HP, and the HP user community, a third option: to converge Solaris 10 with HP-UX, running on HP's very own Proliant product line. We've spoken to HP about it, thought we saw a glimmer of interest, and now we want to get their customers and partners involved.
That sound you heard was HP's CEO removing the buckshot from his posterior lobes.
In trying to fix a bug yesterday, I left one hanging. The "raw" (i.e., no Javascript) comment editor still has a preview function, but using it sends you back to the Javascript page. Ouch - that was a stupid mistake. I'm in the process of deploying the fix for that. While I was at it, I decided to take a look at the way posts get wrapped, because - in some of the styles - text overflows the bounds set for it. I started addressing that, and found a mass of lingering "fix the post" code that I had long since forgotten about. I went ahead and fixed that, which involved tweaks to a bunch of methods. All is well now; I'll be uploading all the adjustments this morning.
I've seen some comments about the Javascript editor eating comments when you use preview. It's a WYSIWYG editor anyway, so I just yanked preview from that page. I also yanked the "Custom Markup" option, since it's not needed with that editor. If you want to use simple text entry, just follow the link at the top through to that option.
I had a good customer meeting this afternoon - Cincom Smalltalk powers the most advanced financial application on Wall Street. So now I've chanced on a free WiFi signal, while I wait for my cappuchino before the NYSTUG meeting. If you're in NYC, I'll be here at 6:30 pm.
Well - Gary Gygax himself is lending support to an effort to put a version of D&D online. That's interesting. Of course, old time hardcore gamers who designed their own magic system will scoff :)
Off to New York in a 1/2 hour - I'll be visiting customers during the day, and then presenting to the NYC STUG this evening. I'll have NC CD's with me, so come and get some!
Larry O'Brien responded to my LINQ post here, saying that he couldn't leave a comment. I suspect that the new JavaScript comment editor is at fault there; I might want to remove that. Anyway, a few points in response to his response:
Anyhow, as is the norm for net communications, I came off as much harsher to Larry than I actually intended to, and for that I'm sorry. I may not always agree with what he writes, but I do read and enjoy it.
Steve Rubel posted about a Fortune article on blogging. Unlike the scare-mongerers at Forbes, these guys seem to get it. To wit - the big points:
Update your blog often, and make liberal use of hyperlinks. The more sites you link to, the more sites will return the favor....
As for what not to do: Don't wait until a crisis hits to set up a corporate blog -- it needs time to build up trust. Speaking of trust, whatever you do, don't let your corporate flacks write your blog. "They will take any life out of your writing," says Scoble.
Whoever does end up writing the blog, don't keep them anonymous or hidden behind some cutesy character. For example, if you blogged for Coca-Cola, don't be "The Coke Guy."
Other tips: Don't shut down existing employee blogs. If they are positive about the company, Rubel suggests turning these evangelists into a voluntary sales force. If they are negative, you might have a larger morale issue that needs to be addressed. And don't use search engine trickery to boost the profile of your blog. People will find out.
Staying current is absolutely critical. If you can't post on something that resembles a regular schedule, then it's probably best not to bother at all.
This is a very cool outlet gadget - it's simple, but boy, would it solve a lot of problems. Have a look - the rotating outlet:

I have lots of devices who's power plugs eclipse the nearest outlet (on powerstrips and on walls). Very cool.
Brad Wilson points to a report that's going to be very, very bad news for Sony: the cost of an HD DVD player is going to be half (or less) the cost of a Blu-Ray device:
Toshiba, the principal backer of the HD DVD format, planted its stake firmly in the low-end of the high-definition hardware market, unveiling a $499.99 HD DVD player at the Consumer Electronics Show here Wednesday.
The new model, dubbed the HD-XA1, is slated to hit retail shelves in the U.S. in March, along with a more fully featured model, the HD-A1, which carries a list price of $799.99.
Toshiba’s aggressive pricing strategy seems designed to put maximum pressure on backers of the rival Blu-ray Disc format, which is expected to carry much higher sticker prices when the first players hit the market sometime this summer.
Among Blu-ray manufacturers, only Pioneer and Panasonic disclosed initial player prices, with consoles weighing in at $1,800 and $1,000, respectively.
Sony has bet big on Blu-Ray as part of the PS3 - and with price differentials like that, this looks like it'll be VHS versus BetaMax all over again.
Last week I was emailing with an architect at one of the major enterprise software companies, a huge company with offices all over the world. She told me that RSS 2.0 has become the framework for all their work now, completely replacing J2EE.
Ok, I don't really understand that, at all. I get using RSS as a default data format to be passed around, and using HTTP instead of SOAP. J2EE is a technology stack though, not a data format. This is the kind of mindless buzzword passing that too many people in the industry do - "replace your (insert technology here) with XML!"
My wife is facing that kind of situation at work, where a bunch of non-technical managers have read one too many magazine, and decided that XML is the "language of the future". No wonder she sometimes grinds her teeth.
Dave Buck demonstrates the power of a Smalltalk development environment with a screencast. Oh, if you're wondering about the red circle that pops up - that's due to a parcel Dave has loaded for Windows CE support. That circle is an artifact from that, not a feature of the standard environment.
Correction from Dave (in comments) on the red circle: the circles are an option in Camtasia video capture software that allow people to see when I click.. It's an artifact of the screencast software, not part of the Smalltalk environment.
Notice how he works with the debugger? That's the power.
I got my hardcopy of SDTimes a few days ago, but have been waiting for it to go online before writing about the special report on the CLR. The article is written by Larry O'Brien, and I think he's a bit too breathless in his praise for it. Some of the inconsistency starts early. He makes a point about how most developers prefer type systems like what C, C++, and Java have - which, based on practice in the industry, is certainly true:
Certainly, the programming community has voted repeatedly to embrace languages that derive from C. This preference is a combination of an appealing syntax (explicit typing is appealing for programming in the large), professionalism by association (real programmers use curly braces) and performance (all popular C-derived languages have rejected “everything is an object” for at least some primitive types).
While I'd call those flaws, most people in the industry don't agree with me. So why do I say that the inconsistency starts early? Well, Larry is writing about LINQ (Language INtegrated Query) like it's the second coming for software developers. Here, let me quote him:
To understand the power of LINQ and how it seems foreshadowed in the evolution of C#, forgive a quick foray into code. Consider Listing 1 (page 29), which gives a hint of a LINQ-like function called “FindAll.” After the initial “using” statements (which make available important classes), we define a new type of function called a Predicate. Predicates are functions that take a value and do some calculation that results in a Boolean evaluation. In C#, function signatures such as this are first-class language features called “delegates.” These have been a feature of C# since the beginning. Our Predicate function, though, works on any type; we don’t need a separate definition for functions that evaluate integers, or strings or customer records. This “generic” functionality was added to C# in the 2.0 version.
If you take a look at FindAll, you see that, for convenience, it’s “static” (using it does not require an instance of type “Program” to have been instantiated) and publicly visible. Ignoring the parameterized type “T”s that sprinkle its signature, it should be clear that FindAll outputs a List after taking as input a List and a Predicate. The passed-in Predicate evaluates each of the values in the passed-in list to build the returned list (the predicate is applied with the call to function(value)). Note how generic it is: It makes no assumptions on the type of values it operates on and no assumptions on the workings of the supplied Predicate.
After telling us how valuable explicit typing is, the first thing you notice is that the example is using generics to avoid explicit typing. Kind of makes you wonder how valuable it is, if the real power is available only if you chuck the concept. Here's the code listing he refers to, and that's where I really wanted to make a point:
using System;
using System.Collections.Generic;
delegate bool Predicate<T>(T value);
class Program
{
static public List<T>FindAll<T>(List<T> inList, Predicate<T>predicate)
{
List<T> retval = new List<T>();
foreach (T value in inList)
{
if (predicate(value))
{
retval.Add(value);
}
}
return retval;
}
static void Main(string[] args)
{
List<int> intList = new List<int>();
for (int i = 0; i < 10; i++)
{
intList.Add(i);
}
for (int modulus = 2; modulus < 5; modulus++)
{
// Notice how a new function is defined here
List<int>evenList = FindAll<int>(intList, delegate(int i)
{
return i % modulus == 0;
});
Console.Write("The even multiples of "
+ modulus + " in range[1..10] are = ");
foreach (int i in evenList)
{
Console.write(i + " ");
}
Console.WriteLine();
}
Console.In.ReadLine();
}
}
What that does is take a list of numbers from 1 to 10, then iterate over them, pulling out first the numbers that are 0 modulo 2, 3, and 4. The above is supposed to be a model of simplicity, showing the power of LINQ in the CLR. Here's Larry again:
By combining delegates, generics and the closurelike "anonymous delegates with outer variable capture" you can create very concise expressions for working with collections. Of course, there is much more to LINQ. A complete SQL-like query ability is much more complex than what is shown here. The structural issues of selection and extension go beyond C# 2.0’s capabilities. And ultimately there’s a qualitative difference between a querying API and query built into the syntax of the language. Nevertheless, there’s a distinct feeling of design decisions made years ago contributing to a capability only now being previewed.
Well. The problem is, this - they had to build it into the CLR with a bunch of syntax. The equivalent Smalltalk?
| list | list := #(1 2 3 4 5 6 7 8 9 10). 2 to: 4 do: [:index | | answers | answers := list select: [:each | (each \\ index) = 0]. Transcript show: 'values equal to 0 modulo ', index printString, ' ', answers printString. Transcript cr]
Gee, that's simpler, isn't it? And unlike the CLR, Smalltalk didn't need to bake that query into the syntax - it's just a library message that any collection understands. Meaning, it's generic without all that extraneous syntax. Microsoft, like Sun, is grasping weakly at the power that Smalltalk already has via added complexity. Apparently, the "value" of explicit typing is such that you need to saddle developers with a pile of syntax in order to deliver "power".
I don't really need to go to the trouble of defining the generic function up front, because #select: is already in the library. But wait - there's more! Say I wanted to add a new query "function" to all collections? Easy - I find class Collection in the system, and I add the method. Bam - there it is. I can make sure to version it off in my own package so that only people who need it will have it loaded as well.
The thing I find interesting is the Java/CLR approach to power - it always involves adding a pile of new syntax to the language - which is why the books defining those systems keep getting thicker. You need a scorecard just to keep up with the syntax.
At the end of an associated column on Iron Python, column, Larry brings up something I addressed the other day:
#Smalltalk (pronounced Sharp Smalltalk, and available from www.refactory.com) seems to be close to a full implementation of the Smalltalk language but does not have the workspace/browser environment that many consider the heart of Smalltalk’s power. Similarly, while there are a few Lisp-like languages for .NET, there’s not a CLOS environment for the CLI. Whether this is because the CLI erects technical roadblocks of progress or because there’s insufficient motivation for commercial or open-source development of such environments, it’s regrettable and only serves to further the dominance of C# on the platform.
As I stated the other day, we actually looked at the CLR as a host for Smalltalk. It simply wasn't suitable, given the level of investment we would have had to make.
This morning I stumbled on this post, which gives some advice on optimizing your blog for search engines. I have a mostly negative attitude toward the entire SEO field, and particularly with SEO as it relates to blogs. You want your blog to be noticed by the engines? Write regularly about topics that you are interested in and know something about. Over time, you'll build an audience, which will generate back links - and page rank. To be blunt, SEO tricks are an attempt to get out of doing the hard work of writing.
Anyway, here's the trick being advocated today:
Why would you ever want to make a post sticky? Because it’s an easy way to improve the keyword prominence on a category page or tag page. If you’re not familiar with the concept of keyword prominence, it’s simply this: the higher up on the page your targeted keyword is, the better you’ll rank. So, having keyword-rich intro copy that consistently appears at the top of a category page or a tag page will give you good keyword prominence and help you maintain a stable keyword theme for the page even when old posts fall off the page and new posts appear.
Well, that only works if people visit that category page and link to it. Now, I can see some value in making a post sticky - I've never done it (heck, I haven't added support in my blog server, although it would be pretty easy to do so). The problem, as I see it, is that if you are trying to attract people (and engines) to a specific category, then that's something you write about regularly. Do you really want the new content to be stuffed beneath an older post? Most people make decisions about whether to read a page in seconds (some people say less). If I spot "old news" at the top of a page, I don't bother scrolling down - my assumption is that everything under the old post is even older.
I rather think that this strategy will end up having as many negatives as positives, because it works against people's expectations about content presentation on a blog.
Joi Ito points out the power of tribalism in what seems (from the outside) as a very monolitic country: Japan. Kind of makes me wonder how many old tribal feuds still simmer in other "monolithic" nations - and I'm not considering places like the middle east or the Balkans, where those cracks are all too visible.