Silt

Silt Update

March 4, 2006 18:21:00.908

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.

 Share Tweet This

management

Memo to IT Departments

March 4, 2006 14:03:05.949

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.

 Share Tweet This

travel

Travels in NYC

March 4, 2006 12:32:53.612

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:

Mark Grinnell

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:

Mark and James R.

James and Suzanne

Mark, Jim, Suzanne

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:

Jim Presenting

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

Charles Monteiro

 Share Tweet This

logs

Weekly Log Analysis, 3/4/06

March 4, 2006 12:07:58.837

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:

PlatformBottomFeeder Downloads
Windows425
Sources243
Update214
Linux x86122
Mac X98
CE ARM53
Mac 8/953
HPUX38
Solaris37
Windows98/ME37
Linux Sparc22
AIX22
Linux PPC6
SGI3
ADUX1
CE x861
Source Script1

Next up, the HTML page accesses for the blogs:

ToolPercentage of Accesses
Mozilla50.3%
Internet Explorer26.1%
Everest/Vulcan6.2%
Google Bot6.5%
MSN Bot4.8%
Zibber4%
Megite2.1%

More bots :) On to the RSS traffic for the week:

ToolPercentage of Accesses
Mozilla25%
BottomFeeder16.5%
Net News Wire10%
BlogLines8.3%
FeedFetcher5.5%
Safari RSS3.8%
Internet Explorer3.3%
RSS Bandit2.8%
Feed Reader2.1%
Everest/Vulcan1.9%
SharpReader1.7%
Magpie1.7%
Planet Smalltalk1.6%
NewsOutlook1.5%
BlogSearch1.4%
MSN Bot1.4%
FeedFlow1.4%
NewsGator1.1%
AttensaOnline1%
Liferea1%
JetBrains1%
Google Bot1%
Java1%
Feed Demon1%
News Fire1%
Jakarta1%
Other1%

The tool diversity there does not seem to be decreasing, that's for sure.

 Share Tweet This

DRM

What I'd like to see

March 4, 2006 11:18:18.210

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.

 Share Tweet This

media

Don't trust journalists, part Infinity

March 4, 2006 11:07:53.120

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".

 Share Tweet This

Silt

Small Annoyance, Fixed

March 4, 2006 1:42:14.952

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.

 Share Tweet This

general

Browsing at the movies?

March 4, 2006 0:53:48.243

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...

 Share Tweet This

travel

Expecting a Different Result

March 3, 2006 19:19:44.508

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.

 Share Tweet This

DRM

DRM: Bad for everyone

March 3, 2006 17:52:07.966

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.

 Share Tweet This

itNews

Competing Suckage Report

March 3, 2006 17:03:04.625

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.

 Share Tweet This

development

Duck Typing Ease

March 3, 2006 14:18:59.162

Mark Watson explains how "Duck Typing" just makes things easier. Saving a few minutes here, a few minutes there - over time, it adds up

 Share Tweet This

science

Astronomy and contrails

March 3, 2006 9:16:26.298

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.

 Share Tweet This

java

Will the JVM get more dynamic?

March 3, 2006 9:12:06.069

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.

 Share Tweet This

web

Competition is helping in the browser space

March 3, 2006 7:30:15.575

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.

 Share Tweet This

travel

Off to the races

March 3, 2006 7:25:45.301

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.

 Share Tweet This

humor

Is that a motion, or a sponge?

March 3, 2006 1:58:44.974

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 :)

 Share Tweet This

travel

And more travel

March 2, 2006 14:07:12.916

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.

 Share Tweet This

gadgets

Home A/V Mess

March 2, 2006 10:08:29.693

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.

 Share Tweet This

events

Sneak Preview in Omaha

March 2, 2006 9:11:39.040

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.

 Share Tweet This

marketing

Modern Marketing

March 2, 2006 8:46:52.753

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.

 Share Tweet This

Silt

Sifting the Silt

March 2, 2006 8:20:28.289

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.

 Share Tweet This

blog

About the eaten comments

March 1, 2006 19:56:30.234

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.

 Share Tweet This

events

Meeting and a User Group

March 1, 2006 18:02:25.133

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.

 Share Tweet This

games

The original D&D Online

March 1, 2006 7:44:26.352

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 :)

 Share Tweet This

travel

Heading to New York

March 1, 2006 7:31:31.578

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!

 Share Tweet This

development

Responding to my LINQ Post

February 28, 2006 20:53:35.185

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:

  • As to the example, I think the Smalltalk comparison there stands on its own. Just compare the volume of code, and ignore everything else. Then consider that things like #select: are parts of the library, and work on any collection...
  • Types - I stand by my statement that explicit types merely complicate things. Generics exist solely to get around the limitations of the type system. There's a reason that Smalltalk doesn't need them. And before Isaac chimes in again, your *cough* point *cough* is of no interest to me.
  • As to C#'s popularity, I think that's pretty easy. VB.NET is a big change from VB - the migration up is barely started, and it's not clear to me how long that will take. Java developers saw C# as a small change - a lot like Java, but Windows specific. Yes, I'm ignoring Mono. With apologies to Miguel de Icaza, so is everyone else.

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.

 Share Tweet This

blog

Fortune gets it

February 28, 2006 20:23:03.656

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.

 Share Tweet This

gadgets

Very cool outlet update

February 28, 2006 15:05:43.943

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:

Rotating Outlet

I have lots of devices who's power plugs eclipse the nearest outlet (on powerstrips and on walls). Very cool.

 Share Tweet This

gadgets

More bad news for Sony

February 28, 2006 13:48:57.315

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.

 Share Tweet This

development

A format replacing a technology stack?

February 28, 2006 10:13:16.633

From Dave Winer:

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.

 Share Tweet This

smalltalk

The Power of Smalltalk

February 28, 2006 10:07:28.246

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.

 Share Tweet This

development

The "Excitement" of LINQ

February 28, 2006 9:19:15.330

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.

 Share Tweet This

web

SEO Tricks and Traps

February 28, 2006 8:22:32.914

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.

 Share Tweet This

history

The Power of Tribes

February 28, 2006 7:40:01.292

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.

 Share Tweet This

general

NSA @ Home?

February 27, 2006 23:34:28.066

No, this has nothing to do with politics or current events :) I found this story, about an "open source" crypytanalysis effort interesting. The group cracked a previously un-cracked Enigma message (German Naval) from WWII - they have two more they plan to work on. Pretty cool stuff

 Share Tweet This

events

Cincom Smalltalk Roadmap in NYC

February 27, 2006 11:26:12.617

I'll be in New York City on March 1st, addressing the user group. I'll be in customer meetings during the day, but expect to get to the meeting location around 6:30 pm.

I'll have plenty of Cincom Smalltalk Non-Commercial CD's with me

 Share Tweet This

humor

Making the rounds: If MS did the iPod (box)

February 27, 2006 11:00:08.273

 Share Tweet This

development

Language Specific Design

February 27, 2006 8:56:41.694

Jon Udell is frustrated:

The proliferation of language runtimes (virtual machines) both fascinates and frustrates me. Here on my Windows machine I use the .NET Common Language Runtime, the Java VM, the Flash player, and one VM per dynamic language (e.g., Python, JavaScript). Over on my Mac, subtract .NET but don't (yet) add Mono. On servers, add the PHP and Ruby VMs.

When people "port" applications and frameworks from one language to another, what they're really doing, in many cases, is transferring capability from one VM to another. Case in point: TrimPath Junction, a "clone or port of the terrific Ruby on Rails web MVC framework into JavaScript." Language preference wasn't the reason to emulate Rails in JavaScript. Rather, the motivation was to bring Rails-like capability to the only VM available in the browser, and thus to enable single-page applications.

That frustration is why I like to say that design is language specific - unless you want to do a ton of work to take a language capability and port it. Multi-language VM's are a pretty hard thing, too - the VM's that exist were very much designed with their main language in mind - Java on the JVM, C# on the CLR. Sure, there's a port of Python to both - and in the case of the CLR, it sounds like the author is, for all intents and purposes, creating a new VM on top of the CLR - i.e., treating it as another hardware platform.

We looked seriously at using the CLR as a place to run Cincom Smalltalk, but found that it was utterly unsuitable - we would have had to treat the CLR as a new platform, and write a new VM on top of it. The CLR simply doesn't have suitable support for a language like Smalltalk. Don't even ask about the JVM - it's been frozen for years, and any Smalltalk running on it is going to be slow. Really slow.

Neither Microsoft nor Sun are acting truly motivated to support dynamic languages - at least, not if you look at what they actually do.

 Share Tweet This

gadgets

The Cell: Biggest Challenge for the PS3?

February 27, 2006 8:46:26.074

Ars Technica has a post up on the challenges faced by PS3 developers due to the use of the new Cell processor from IBM. It sounds to me like they may well have jumped "a bridge too far" for a device they want to ship this year. To develop against the Cell without tools, the author says:

What IBM has in mind is what I would call a tiered approach to Cell. At Tier I, there's the "expert programmer" (IBM really means "expert programming team") who codes to the bare metal, manages memory alignment and traffic flow issues like NYC's finest, and just generally makes all the parts of the Cell scream in perfect harmony. This guy, if he exists, is going to be worth his weight in gold. No, scratch that. He'll be worth Marlon Brando's weight in diamond-studded platinum.

As to the "sweet spot - i.e., a compiler that mostly manages the vectorizing for you:

Finally, on Tier IV is the programmer who just wants to port his single-threaded x86 program to Cell in as painless a manner as possible. This person doesn't even care to know anything about "heterogeneous multiprocessing" or any of that fancy stuff. He just wants to see "Hello World" greet him on the screen. Ok, just kidding. IBM claims the following for this highest level of Octopiler hand-holding:

The compiler provides user-guided parallelization and compiler management of the underlying memories for code and data. When the user directives are applied in a thoughtful manner by a competent user, the compiler provides significant ease of use without significantly compromising performance.

Getting Tier IV to work where the money is at. It's also going to be quite painful for IBM to achieve their stated goal of "not significantly compromising performance." I think they, or someone else, will get there eventually. Meanwhile, the PS3 is still due out in 2006.

Sounds to me like they really, really have their work cut out for them. Keep in mind, if development of games for this system is hard, that's only going to drive up costs more - and on the end (the buying of games) where - based on the unit cost of the PS3 - they are going to need to sell a bunch of games to each PS3 buyer just to break even. Based on some back of the envelope calculations, a friend of mine was setting that number at 16 games per buyer. That's steep already.

 Share Tweet This

gadgets

The Real Origami Danger

February 27, 2006 8:02:08.392

Via Scoble, I ran across this Seattle PI story about the MS Origami - a device that's still under development, so all the rumors swirling around should be taken with a rather large grain of salt.

Having said that, I'll toss my 2c in anyway. Look at the penetration of the Sony PSP and of the Nintendo DS. The PSP is doing ok, but the DS is a huge hit. Why is that? I think it's because the DS isn't trying to be too many things at once. It's a portable game platform first, with any and all other functions being secondary. That doesn't split the focus of the device, which is something that Sony has had a few issues with. That's the kind of use model confusion that could crop up based on this:

The video is still worth seeing. It validates the notion that the Origami project is headed in the direction of a miniature "lifestyle" computer, not only for playing music but also for other functions. Internet access, messaging, photo editing, and video gaming are among the uses depicted in the video.

I guess we'll find out.

 Share Tweet This

itNews

Google to buy Sun?

February 26, 2006 16:48:02.276

Well, here's a fascinating rumor: Google buying Sun. I'm unconvinced, but the site does lay out some interesting facts:

  • Google stock has been experiencing a number of non-disclosed acquisitions.
  • Sun has had investors exiting to the tune of eight figures on a market cap of ten.
  • Microsoft meanwhile, sits more comfortable than both at a price/earnings way below the industry average and with a product - Windows Vista - which everyone is talking about coming out later this year.

These kinds of anomalies are typical in the behaviour of companies where acquisitions have been strategically arranged and are still in the 'preparation' phase. Google has to do as much of a job in showing benefits of acquiring Sun as it does in proving its own capability to turn things around there - and what better way to do it than show the growth potential of the company it is preparing to acquire?

Well, I'll believe two things when I see them: Vista shipping this year, and Sun getting bought by Google. I fail to see the point, unless Google is looking to move back to the 19th/early 20th century business strategy of vertical integration (i.e., secure their own high end hardware manufacturer. I don't see the Sun software suite being of much value to Google - heck, I don't think it's helping Sun much at this point.

Interesting conjecture though.

 Share Tweet This

general

Not what I thought I had

February 26, 2006 16:19:12.164

Well, the new HD isn't quite what I thought it was. It's not a replacement HD - it's a small external (USB) HD. That's ok - I can always use more space. The trouble started when I hooked it up to Windows. It was recognized, but it wouldn't mount. That was a bit confusing. I slapped it across the room to the Mac, and discovered why - it had no file system on it. The Mac was able to format it as a Windows drive though, so I can now use it for either system. It's small enough to pack in my bag, so I could presumably install Linux on it, set my notebook to be bootable from USB, and have a Linux system at Smalltalk Solutions in April. I'll have to see about doing that - for today, I've had enough system maintenance :)

 Share Tweet This

general

Offline for awhile

February 26, 2006 13:05:35.342

I'll be going offline for a few hours - I need to defrag my Windows drive, and Windows really, really sucks at that. Then I'll be cloning the HD so that I can replace this overly small one with a reasonably sized (60 GB) one that corporate IT sent me. I'm sure BottomFeeder will load up with tons of stuff when I turn it back on :)

 Share Tweet This

history

Photographs from the Crimean War

February 26, 2006 9:31:33.463

Ismaeel Nakhuda has an interesting post, apparently taken from newspapers in the Lancashire (England) area:

A Preston museum is holding a unique exhibition of rare photographs and items to mark the 150th anniversary of the end of the Crimean War.

Now that's something I'd love to see. I wish they had a web viewing available - ad sponsored, paywall, whatever - sounds very interesting.

 Share Tweet This

stupidity

(Not So) Smart Renewal

February 25, 2006 15:57:22.484

So I just received a notice from the AAA that my membership was up for renewal, and - since I had signed up for auto-renewal, they were simply going to charge my credit card on file. All fine and good, until I read further:

Your AAA membership is due for renewal on 5/1/2006, and our records indicate that you are enrolled in our Automatic Renewal program. Previously you requested that we charge your annual membership dues to your (Credit Card Name) credit card, which ends in the following digits - #### and expires 12/31/2005. Please be advised that your renewal dues will be charged to your credit card on the first business day of the month prior to your membership renewal date.

I suppose having an auto-check on the vailidity of the date would just be asking for too much...

 Share Tweet This

rss

More on RSS Enclosures

February 25, 2006 14:05:10.776

With an eye toward gathering some more facts on how relevant this is, I decided to take another walk through my feeds. I posted some data on enclosure usage the other day; today, I figured I'd take a look at the distribution of formats being used in my collection of feeds.

So, I subscribe to 316 feeds. I ran some simple workspace code to get an idea of what formats are in use:

FormatCount for that format
RSS 2.0215
RDF 1.0 41
RSS 0.91 23
Atom 0.3 20
RSS 0.92 8
Atom 1.0 4
RSS 0.93 4

I'm not surprised that RSS 2.0 is the most prevalent, but I take that data point as an argument in favor of clarifying the RSS 2.0 spec in the areas that are ambiguous - which is opposite the tack that Dave Winer takes. Right now, Atom answers questions about things like number of enclosures and format of the content (description) field conclusively. Which means that tool developers have a default answer that is correct for that format - they don't have to make a (personal) judgement call (which, as Rogers Cadenhead pointed out on the mailing list, varies widely across tools).

Now, I suppose that I could just ignore this, on the following grounds:

  1. Aggregators support RDF, Atom, and RSS (all versions)
  2. Atom allows for multiple enclosures
  3. Developers will likely support one data model in their tool for all flavors
  4. Over time, given Atom's stance, that will move developers toward supporting multiple enclosures

Sadly, the same thing can't solve the other problems - questions about what is or is not valid for description or title elements. Perhaps developers could simply take the Atom answer for titles, but for content, Atom relies on a description in the field. That means that developers can't just apply the Atom answer and have done with it. What it does mean is that every developer has to come up with a strategy, and (as we've seen to date with enclosures), those answers will differ. I suppose that leaves the end user in the driver's seat as far as deciding which answer is best, but it's not the best way to come up with an answer. Having the spec clarify what is and is not allowed would be a whole lot simpler.

 Share Tweet This

blog

Filled with tasty spam 'n bots?

February 25, 2006 12:36:01.683

I'm hardly the target demographic for MySpace.com, but Jupiter Research is raising questions about it that have crossed my mind as well - how much of the supposedly huge community there is real?

"Certainly there are a large amount of people spending a large amount of time on this site," said Nate Elliot, an analyst for Jupiter Research. "When you look at the huge numbers they throw out there -- 50 [million], 60 million registered users -- those are a mirage."

Elliot admits that the site generates a lot of activity, and that it may indeed have tens of millions of registered users, but those numbers can be deceptive and only tell part of the story.

"They're promoting the number that is most advantageous for them to promote, but the simple fact is that only a fraction of the registered users ever go back," said Elliot. "And only a fraction of them use the site on any kind of regular basis, and then another fraction of them are responsible for the traffic."

It could be a lot like Blogger - filled to the brim with splogs, with the serious users migrating off the site once they realize that they are serious users. Free services tend to get filled with opportunistic spammers - email is simply the best example.

 Share Tweet This

BottomFeeder

Weekly Log Analysis: 2/25/06

February 25, 2006 12:22:36.463

BottomFeeder downloads dipped a bit, down to 192 per day last week. Here's the detail:

PlatformBottomFeeder Downloads
Windows463
Sources246
Update176
Linux x86141
Mac X100
CE ARM50
Mac 8/949
HPUX35
Windows98/ME34
Solaris21
AIX9
Linux Sparc8
CE x865
Source Script3
SGI2
Linux PPC2

Better luck next week, I guess :) On to the HTML page accesses - traffic there was up last week, and, as I noted here, I discovered that I've attracted my very own spammer. I can feel the love :)

ToolPercentage of Accesses
Mozilla47.3%
Internet Explorer26.4%
MSN Bot6.5%
Everest-Vulcan5.9%
MSRBOT5.1%
zibber3.5%
Megite2.5%
Gigabot2.4%
Other0.4%

More bots this week - that's interesting. On to the RSS results:

ToolPercentage of Accesses
Mozilla23.7%
BottomFeeder17.6%
Net News Wire9.5%
BlogLines8.7%
Google Feed Fetcher4.7%
Safari RSS4.4%
Other4.3%
Everest-Vulcan2.9%
Internet Explorer2.5%
SharpReader2.2%
RSS Bandit2.1%
MSN Bot1.9%
Planet Smalltalk1.6%
BlogSearch1.6%
Feed Reader1.5%
Magpie1.5%
NewsOutlook1.5%
NewsGator1.4%
Liferea1.2%
JetBrains1.1%
Attensa Online1.1%
Java1%
News Fire1%
Feed Demon1%

Tool diversity here isn't getting any less, either - and it looks like my weekly RSS accesses are up - both raw and unique IP addresses.

 Share Tweet This

rss

Translating Winer

February 25, 2006 11:48:27.326

If Dave isn't involved, it's bad

This post tells you everything you need to know, if you've ever wondered why the Atom group went off and created a new spec. I didn't get it back then; I most certainly do now.

 Share Tweet This

general

Upgrade Time

February 25, 2006 11:36:35.785

Sometime this weekend is upgrade time for my notebook. It's plenty fast for my needs, but the HD space is cramped (just under 20 GB). So I asked for help, and our IT department sent me a 60 GB replacement drives. It's one of those USB cloning setups, so I need to do a backup and defrag before I get to it - I think I'll have a look at that tomorrow. At least I won't be short of space all the time for a bit.

 Share Tweet This
-->