marketing

Slamming a blog strategy

June 11, 2005 10:48:01.423

Scoble slams UPS in response to this article by Robert Manning of UPS. However, Manning does have a few good points. Rather than rush out and start blogging, you should have some idea what your plan is if you go at it from the "corporate blog" side. On the other hand, if you approach it as Sun and MS have - just let the employees go out there and provide a human voice rather than a corporate drone - then you can be more laissez-faire about it.

However, that doesn't mean that corporate marketers get to ignore the blogosphere; far from it. Witness the Kryptonite and Kensington issues, for instance - would you rather let those things sit and fester, or be able to respond immediately? That Kryptonite response was from weeks after the incident, when the damage was already done. As best as I can tell, Kensington has yet to respond.

What you product marketers and product managers need to be doing is paying attention to product mentions. How? Via search feeds. Using BottomFeeder as an example, I can set up search feeds using Feedster, Google, Yahoo, MSN, BlogPulse, BlogDigger, A9, and Three headline news services. I can also add searches that need to be manually set, like those from PubSub. Here's what it looks like:

Search Feed Results

You can click that for a bigger image. The point is that by subscribing to a search for "kensington lock" I can find all the references - positive and negative - that flow through the sphere. For my product - Cincom Smalltalk - I search on

  • Smalltalk
  • Cincom Smalltalk
  • ObjectStudio
  • VisualWorks
  • Cincom

Across a number of the search engines. When I find positive references, I can publicize them - maybe even approach the person or company in question for a success story. When I find a negative response, I can follow up and get more details. That latter part is where a corporate blog may come in.

If you find yourself responding to commentary that comes in this way in a repetitive fashion, it may well be worth your while to get an FAQ posted. From there, you may decide that you need a more open, interactive forum - like a blog. Either way, you need to be tracking the commentary - because the positive and negative points are being made whether you engage them or not.

 Share Tweet This

media

Rewriting History

June 11, 2005 11:46:59.504

Sometimes, an industry analyst gets a story so very, very wrong that they try to completely airbrush history. Members of the MSM like to accuse bloggers of this, but I just found a whopper example from Tom Yager of InfoWorld. On June 6th, before the Apple conference, he wrote about the (then rumored) Apple/intel thing. I can't link to the story because it's just gone - instead, I took a photo of it:

Yager blows the Apple story

Now, it's hard to make out in there, but you can click for a bigger image. Compare that with the posted commentary from Yager on June 6 (note the "updated 9 June" snippet on the left). Here's a piece from the dead tree version:

Might Apple sell an x86? I doubt it. Might Apple shrink-wrap OS X for PC Systems? Who cares?

...

I'll tell you my pet scenario: IBM leaked the details of the top secret PowerPC 970MP processor to needle Apple into committing to a volume purchase. Apple doesn't like to be jerked around, so it had a sit-down with Intel over cucumber sandwiches and chortled, "You must promise not to tell anybody about this"

Compare that to what's posted at that link - some crow eating, but not a lot, and the print column is straight down the memory hole. The point isn't that Yager got this wrong - heck, go Google intel and Apple and see how many other people got this stuff wrong. Heck, look here, on my blog, and see where I fantasized about Apple "thinking different" and using the iTanic. Yager wants to airbrush history though: "Me? Predict that Apple would never, ever go to intel just days before it happened? Never, I never said such a thing! Why, try finding it in Google!".

So much for all those editors and fact checkers that keep "professional" writers honest - as opposed to the bloggers, who can just re-edit history. Yeah, right...

 Share Tweet This

logs

Weekly Logs - 6/11/05

June 11, 2005 13:20:59.259

Well, it's time to have a look at the logs again. First up - BottomFeeder weekly downloads.

PlatformBottomFeeder Downloads
Windows520
HPUX475
Mac 8/9343
Sources268
Linux x86209
Mac X172
CE ARM86
Update38
Solaris15
Windows98/ME11
Linux Sparc8
AIX4
SGI3
CE x862
Linux PPC2
ADUX1

That's an average of 308 or so a day over the last week, which is where things have been at lately. Being cross platform has its benefits - A lot of my download rate is for platforms that have no other viable RSS/Atom answer right now. Let's take a look at the stock HTTP accesses to the blog site:

ToolPercentage of Accesses
Mozilla44.4%
Internet Explorer31.1%
Other11.6%
Java2.6%
Google Bot2.5%
BottomFeeder2.5%
Net News Wire2.3%
MSN Bot1%
BlogLines1%
Opera1%

A little more variety than last week, but not vastly different. What I'd really like to do is compare User Agent access to the main cincom site and the blog site - I suspect that IE accesses over there are a lot higher. Finally, let's look at the RSS report:

ToolPercentage of Accesses
Mozilla23.4%
BottomFeeder17.9%
Net News Wire14.4%
Other15.4%
BlogSearch4.9%
NewsGator4.2%
SharpReader3.5%
Safari RSS3.3%
BlogLines3.2%
Lilina2.1%
Planet Smalltalk1.8%
Feed Tagger1.7%
MSN Bot1.7%
Internet Explorer1.6%
Feed Demon1.5%
Liferea1.4%
RSS Bandit1.2%
Feed Reader1%
Shrook1%
Jakarta1%
Python1%
Google Bot1%
JetBrains1%

You can see that I trawled my way through the "Other" category (compared to last week) and added a few entries - the variety of tools in use to read RSS continues to grow, at least according to my logs.

 Share Tweet This

logs

What's up with search engine access this week?

June 11, 2005 23:30:13.327

Here's the search engine accesses to my blog over the last week - I'm not really sure I understand what happened here - there was a rather large spike from last week:

6/11/05 Search engine look

So what's up with that? Why the sudden increase in search engine accesses? Strange stuff, these logs.

 Share Tweet This

development

Unnecessary damage

June 12, 2005 11:56:03.453

Incipient Thoughts makes a point about inheritance and polymorphism that points out a problem common to OO development - without regard to implementation language:

In every OO class I teach, I introduce encapsulation and polymorphism as the primary OO tactics, with inheritance a distant third. It's hard to tease apart polymorphism and inheritance, because most OO languages are based on an intimate fusion of the two, unnecessarily.
Inheritance is a very strong relationship between objects. It makes it hard to tease anything apart. Some people experience maintenance problems as a result of pervasive inheritance in OO systems. Justifiably, these people then become skeptical about polymorphism as well, because it is so strongly linked to inheritance. They are then tempted to give up on OO altogether. This is throwing the baby out with the bathwater.

The two don't have to be so tightly linked, and - in the place OO originated (Smalltalk) - they really aren't. I have plenty of polymorphic objects in BottomFeeder that have no inheritance relationship at all. However, the two are commonly linked in the teaching of OO, and it's not unusual to see large inheritance trees in Smalltalk projects. Which is too bad, because Smalltalk makes ad-hoc polymorphism far easier to achieve than Java, C# - you don't have to go out of your way to define a formal interface, for instance.

There's a good example in the post using an "edit" feature of a Wiki, which points out how inheritance is an unnecessary complexity in this case.

 Share Tweet This

smalltalk

Smalltalk - not just for playing

June 12, 2005 12:18:13.509

Interesting post on the power of Smalltalk, but with an odd entry point:

The first thing I noticed was that the Smalltalk community is still alive allthough a bit muted. The impact of Java has definately taken its' toll though. A quick search on jobserve for Smalltalk vacancies identified only 10 or so and they appeared to be for maintance work. It looks like the remaining Smalltalkers are using Smalltalk just out of interest or just for fun in their spare time. With the exception of one or two German Consultancies, most of the Smalltalk related websites were either academic, or open source related - very few businesses.

Here's a Google search for Smalltalk - The Cincom Smalltalk web page comes up 4th, and the Why Smalltalk page 3rd. Admittedly, the Squeak entry in second place might emphasize an academic orientation, but there's plenty of commercial information right there. The top entry, for Smalltalk.org, republishes content from the CST blogs, so that will lead you to plenty of good information as well.

The rest of the article is well worth reading - it's a good promo for the ease of use and power of Smalltalk:

I got to put this idea to the test the other day. Whilst playing with Squeak, my girlfriend decided to pop herself on my knee and took a look at what I was doing. I was playing with the Alice framework port (Alice.org). Alice is a3D graphical framework which allows you to create a 3D world populated by Actors. On the screen was a pink bunny rabbit wearing dark glasses and carrying a drum and a mallet. I entered a few Smalltalk expressions asking the system to 'do-it' each time, and watched my girlfriends expression as the bunny respond to my every command. She soon caught on, and started entering commands of her own: "bunny head turn." Getting bored I was about to issue "bunny destroy" when she stopped me. "No you can't do that to such a cute bunny, make it beat the drum instead". At this point she grabbed the keyboard an typed "bunny beatDrum", but the system responed with: " bunny didNotUnderStand".

That's why I include a workspace in BottomFeeder - I actually use it myself for scripting and experimenting. That kind of end application scripting has led to actual product features, and is something that is well nigh impossible in Java or C#. In applications shipped in those languages, you have a dead end - if the developer didn't consider it, you're just done. Does this mean that just anyone can start coding in the Bf workspace? No, you do need to know the APIs and class names - that's a limitation. But at least you get far enought to have the limitation :)

 Share Tweet This

travel

Visiting Brussels and Beyond

June 12, 2005 18:02:04.300

My family and I will have a few days in and around Brussels, Belgium this summer (in August, after ESUG). We've got no clear idea at this point as to what we want to see - we have a number of thoughts, but they are not organized. We have 4 days to spend - and we don't want to spend most of it in a car or train. Anyone have any good suggestions? Thanks!

 Share Tweet This

BottomFeeder

Speaking of scripting

June 12, 2005 19:27:54.298

BottomFeeder includes a workspace that allows scripting - but it's deeper than that. If you save your script to file called .btfrc and put it in the same directory as the image (or exe), it will get filed in at startup. For instance, I just had one of the IRC regulars ask me about a change to the localhost server that Bf runs. If you hit this url - http://localhost:8666/btf - while Bf is running, it will give you a list of your subscriptions, along with the top five items. Well, what if you wanted only the new items? Simple enough, if you have a small change to one method:


printHtmlOn: aStream

	(self link isNil or: [self link isEmpty])
		ifFalse: [
			aStream
				nextPutAll: '<a href="';
				nextPutAll: self link;
				nextPutAll: '">'.
		].
	aStream nextPutAll: self title.
	(self link isNil or: [self link isEmpty])
		ifFalse: [
			aStream nextPutAll: '</a>'.
		].
	(self items notNil and: [self items notEmpty])
		ifTrue: [| toPrint |
				toPrint := self allNewItems.
				aStream nextPutAll: '<ul>'.
				toPrint do: [:each | 
							aStream cr.
							aStream nextPutAll: '<li>'.
							each printHtmlOn: aStream].
				aStream nextPutAll: '</ul>'.
				aStream cr].
	aStream 
		nextPutAll: '<br/>'; 
		cr

The only change was in the line: toPrint := self allNewItems. That had explicitly grabbed the top five before. Now, you do need to know the Bf API to make this sort of change. However, the cool thing is that it doesn't need to be a one-off effort. I've used this feature myself, and I know a few other people who have as well. The nice thing is that I didn't have to go out of my way to add scripting support to the application - it just happened. In fact, I wasn't even the first person to notice :)

 Share Tweet This

StS2005

Smalltalk Solutions Daily Update: 6/12/05

June 12, 2005 20:09:23.468

Smalltalk Solutions 2005 is coming up quickly - it starts on the 27th! Register now, so you can find out what's going on in the Smalltalk world:

Unit Testing Seaside Components

presentation

Shaffer, C. David: Westminster College

Tuesday 2:45 pm to 3:30 pm

Abstract: I will present the freely available SeasideTesting framework and a small representative set of tests. SeasideTesting is a framework that extends SUnit to simplify developing and running tests of Seaside web components. This framework is unique in that it is designed specifically to allow both testing the rendered HTML result and direct access to the component instances. The advantages and some challenges that come with this capability will be discussed.

Bio: I am an assistant professor of Computer Science at Westminster College in Western Pennsylvania USA. In that capacity I teach all levels of undergraduate Computer Science. I am also sole proprietor of Shaffer Consulting and have been developing software in Smalltalk, Java, Python, C, C++ for more than 15 years. Recently I developed payroll and retirement management software and business to business web applications. I have several years experience with Java/JSP and also develop web applications using Python.

See you in Orlando!

 Share Tweet This

media

Navel Gazing 101

June 13, 2005 0:00:48.396

When you read something like this, it really, really makes you wonder:

Although many reporters look forward to the trial's end, some admit they will be sad to see their colleagues go.
"It feels a little bit like the end of summer camp," Massie said. "It's a long time to be away from home, but you also get to meet people from different walks of life and get their opinion on things."

Summer camp? Time to step away from the camera and microphone, I think.

 Share Tweet This

humor

Beer Based Logic

June 13, 2005 0:12:14.339

Via Bob Congdon comes a link to this game of truck vs. overpass. The title was my wife's thought on how the decision to just keep going after the initial impact came about :)

 Share Tweet This

development

Why dynamic typing makes life simpler

June 13, 2005 7:34:57.656

Read Tim Bray's adventures with generics in Java - and you'll know why a system that forces you to make the compiler happy does so at the cost of your productivity. The justification for all that complexity?

At the end of the day, my interfaces are all nicely parameterized and their customers won’t be getting any warnings. And I do think that making Comparable a little less of a blunt instrument was probably a good idea; after all, even if Fish is a Comparable, the following is probably unsound:
if ((new Fish(freshwater)).compareTo(new Bicycle(racing)) < 0)

The actual liklihood of that line of code being written? Approximately zero, and even then, only for your larger values of zero. But Java is good that way, protecting you from events you'll never see, and making sure you'll rationalize them away.

Meanwhile, we're busy being productive over here.

 Share Tweet This

marketing

When WiFi drives less business

June 13, 2005 7:50:05.395

Via Dave Winer comes a link to an interesting NY Times piece on the intersection of cafe culture and free WiFi - here's an explanation of the problem that one coffee shop offering free WiFi ran into:

Victrola started providing free wireless access two years ago after customers asked for it. As in hundreds of other cafes, the owners hoped it would encourage regulars and infrequent patrons to buy more food and drinks. But there was also a disadvantage, staff members said: the cafe filled with laptop users each weekend, often one to a table meant for four. Some would sit for six to eight hours purchasing a single drink, or nothing at all.

I can see that happening, and I understand why this shop (explained later in the piece) decided to pull WiFi access on weekends. There's an examination of the different types of patronage such shops get, and how it drives the "culture" of the shop. Interesting stuff, and proof that not every business answer lies on the net :)

 Share Tweet This

StS2005

Smalltalk Solutions Daily Update: 6/13/05

June 13, 2005 8:32:33.792

Register for StS 2005 today, so you can find out what's new in the Smalltalk world:

VA Smalltalk Going Forward

presentation

O'Keefe, John and Clayberg, Eric: IBM, Instantiations

Tuesday 10:30 am to 12 pm

Bio: John O'Keefe is the lead developer of the IBM VisualAge Smalltalk team. After spending the first 2/3 of his career at IBM working on process control software and mainframe systems, he was introduced to Smalltalk by Bob Hinkle in 1988 and found his niche. He has been working on the IBM VisualAge Smalltalk product since before Version 1 and has been the technical lead of the team since Version 4.

Eric Clayberg, Sr. Vice President of Product Development for Instantiations, Inc., was Executive Vice President of Objectshare Systems, Inc. and Vice President of Development for ParcPlace-Digitalk, Inc. He is the primary author and architect of over a dozen commercial Smalltalk add-on products including the popular VA Assist Enterprise and WindowBuilder Pro product lines. He has a BS from MIT and an MBA from Harvard.

See you in Orlando!

 Share Tweet This

web

The evolution of knowledge

June 13, 2005 9:32:43.281

Jon Udell highlights an issue that Dave Winer ran across in a WikiPedia page - from Dave's blog:

How is Wikipedia going to prevent from this from happening again? That's a serious issue. It's not the first time it's happened. This is why I've never been a strong advocate of Wikipedia.

When I spotted that in his blog, I followed the link, and couldn't see the problem - the page had been updated between the time Dave posted on it and my aggregator updated. Jon Udell has a lot more on the evolutionary nature of WikiPedia posts, and his screencast on the subject is perhaps the best way to understand how that works.

On a Wiki, information doesn't so much want to be free as it wants to be updated...

 Share Tweet This

web

The joys of the net

June 13, 2005 10:31:32.690

Julie Lerman reports that some jerk is trying to trash her blog, and is busy deleting files. You know, I understand industrial espionage. I don't condone it (hardly!) - but the motivation for it is clear. With this? What is it, just simple nastiness? What's the point? Do the people doing this think that deleting a bunch of files off a server is something to brag about? Good luck Julie, and I hope the loser or losers doing this never work again.

 Share Tweet This

development

Rent-a-wreck

June 13, 2005 19:23:46.442

Philip Greenspun asks a question about Rent-a-coder:

A business-minded friend of mine wanted a Web site with a lot of database-backed features, such as user registration, classified postings, auction bids, a user reputation system, etc. A simplified eBay. She also needed all the graphic design done. She posted her specs on www.rentacoder.com and the numbers to implement this system came back at around $450 for the entire job, including the graphic design. The five bids all came back fairly close to $450 from programmers in Bangalore, Romania, and Canada(!). She put the project on hold for reasons unrelated to implementation so we don't know how it would have worked out.

Here's the basic problem with that approach - it assumes that initial development is all you'll ever need. Using a system like this, where do you get:

  • Maintenance (i.e., bug fixes, etc)
  • New features as requirements change

There's a Heinlein phrase that comes to mind: TANSTAAFL.

 Share Tweet This

humor

Best Sith commentary yet

June 14, 2005 7:22:50.740

Dork Tower has perhaps the best "Sith" commentary yet. If you aren't a gamer, you might not get it :)

 Share Tweet This

humor

Where I would have gone in 1974

June 14, 2005 7:43:06.066

Why, to this academic conference on "Holy men in tights". Then again, maybe they wouldn't appreciate a 13 year old at their big shindig (from the past, no less) :)

 Share Tweet This

news

You think it's hot?

June 14, 2005 8:49:05.733

I was all set to whine about how hot it is in the greater DC area (high today - likely around 93 farenheight). Then I saw this story out of India:

Bhubaneswar, which had witnessed the second hottest day in the current century, recorded a maximum day temperature of 44.6 ° C today while the mercury level at Cuttack was 43.6 °C. Other than the unbearable heat, the high humidity has made life miserable for the residents of the twin cities. One person died of sunstroke in the capital today while 15 other sunstroke patients were admitted into a hospital here during the day. In western Orissa, the mercury hovered above 46°C. Sundargarh recorded a maximum day temperature of 47°C followed by Jharsuguda with 46.2°C.

I'll stop complaining now.

 Share Tweet This

books

Lighter Reading

June 14, 2005 9:18:15.298

With all the heavy reading I've been doing lately (have a look at my last few books posts), I needed a lighter diversion. I found it in John Ringo's "Into the Looking Glass", a fast paced, summertime beach book if ever there was one (assuming your tastes run to action/adventure sci-fi). If you've played Starcraft, this book is a Zerg invasion of earth - it's really, really clear that the author has played the game (more than a few times). Fun, light read.

 Share Tweet This

StS2005

Pre-Conference fun

June 14, 2005 12:21:27.402

Anyone else planning to arrive in Orlando ahead of StS 2005? A few of us are planning a trip to one of the theme parks (either Disney or Universal) on Sunday the 26th. If you are interested, comment here or drop me a line.

 Share Tweet This

blog

Blog stats

June 14, 2005 13:32:57.640

Scoble is asking about blog stats, and points to Tim Bray's periodic posts on the topic. As it happens, I post on this regularly (once a week now). Have a look at this category.

 Share Tweet This

smalltalk

Smalltalk Roadmaps

June 14, 2005 21:08:39.752

Here's the Cincom Smalltalk roadmap - and here's what the new home of VA Smalltalk is pitching, in an upcoming webcast:

This Webcast hosted by Instantiations, discusses the staged evolution of VisualAge Smalltalk systems. In coordination with IBM, Instantiations has developed VA Smalltalk, a 100% VisualAge Smalltalk-compatible product. Instantiations will give a live demonstration of VA Smalltalk and discuss the evolutionary transition of Smalltalk applications to modern IBM platforms such as Rational and WebSphere.

So you can move forward, or you can "transition". Sounds like they are offering a non-Smalltalk future to me, but you should ask them :)

Update: Oh, I missed their bullet points. You'll love this:

  • VA Smalltalk extends the viable life of VisualAge Smalltalk applications
  • Instantiations fits into the overall IBM Smalltalk Transition and Roadmap Strategy
  • VA Smalltalk will evolve over the next several years
  • Instantiations Java products for Rational and WebSphere help position Smalltalk users for longer-term movement to Java

Well. Interested in an actual future with Smalltalk? Contact us, and find out what a committed Smalltalk vendor can do for you.

 Share Tweet This

open source

Zounds! How is it possible?

June 14, 2005 21:21:35.684

Blogging Roller mentions the Open Source release of Solaris:

The said it couldn't be done. They were wrong. OpenSolaris has been released under a true open source license and the project will be run as a true open source project, with outside contributors and independent distros and everything. Congrats to everybody inside and outside of Sun who helped maket his happen. This is definitely a historic day for open source.

But that's not possible - according to that super-genius James Gosling, doing something like this would mean chaos!

"We've got several thousand man-years of engineering in [Java], and we hear very strongly that if this thing turned into an open source project - where just any old person could check in stuff - they'd all freak. They'd all go screaming into the hills."

Hmmm, I say, hmmm

 Share Tweet This

events

Smalltalk in Omaha

June 15, 2005 7:18:38.289

In Omaha this month? Check out the Omaha STUG meeting:

OK, this month's meeting is real special. We're teaming up with the SPIN group to present a really cool presentation! Here's the details: This month we have a real treat. Mike Cohn, a Denver Scrum expert, will introduce us to Agile Estimating and Planning.

We'll look at why traditional planning fails, how to overcome those problems with a story-driven process, how to estimate and plan with stories, and why agile planning works.

We'll round out the evening with an interactive estimating exercise over pizza that will give you specific techniques to apply in your own work.

About Mike Cohn. Mike founded Mountain Goat Software{1} in 1993 to help organizations apply agile development methods to difficult software problems. Mike is certified in Scrum{2} and author of User Stories Applied and the forthcoming Agile Estimating and Planning (Fall, 2005)

Venue:

7pm next Tuesday June 21 2005,

Northern Natural

Gas, 1111 S 103rd Street, Omaha,

Room 149

Join us! If you plan to attend, visit www.omahaspin.org and register.

 Share Tweet This

smalltalk

Cast your mind back...

June 15, 2005 7:27:19.737

Brian Foote has some pictures from Smalltalk Solutions 2001 posted here. I'd link to one of me, but I think I was asleep when it was taken :)

 Share Tweet This

development

Defining the pain

June 15, 2005 7:38:17.933

Via Steve Kelly, I came across this gem from Stefan Tilkov:

Definition: Worst-of-breed; composite noun: a strategy mixing a set of approaches, technologies or solutions so that the disadvantages add up to a disastrous combination no single item would have been able to create.
Example: Java + XML configuration files, which combines the verbosity and pain of having to create lots of meaningless code typical for statically typed programming languages with the runtime error probability of dynamic languages due to small typos, sometimes adding up to a solution that looks like an obfuscated programming contest application.

Heh. That's about the size of it. Productivity is over here.

 Share Tweet This

events

Smalltalk in Toronto

June 15, 2005 7:43:14.092

Whoops, I can't read a calendar - this was last week (see the comments) - here's what you missed:

A final reminder: the next meeting of the Toronto Smalltalk User Group will be TODAY, Wednesday, June 8 at 6:30.

The meeting will be on the 42nd floor (not the 47th, as in the past) of the Bay Wellington tower, 181 Bay Street (Bay & Wellington, the north tower). When you step out of the elevator, go left, then left again. We're at the end of the hall. Look for the 'Northwater' sign.

Our web site is still down. We're still correcting a registration error... and the paperwork is a nightmare.


Jean-Luc Roche will talk about his experience in France...

The "Mutuelles du Mans", one of the two big Smalltalk users in France, developed all their corporate software with VisualWorks v2.5 in the early 90's. They never took the time to keep up to date with new Smalltak releases and, by 2002, they were faced with the rather daunting task to port all their applications to VisualWorks v7.

The most challenging aspect of the project was arguably to migrate the environment development to StORE, the SQL-based repository that ships with VW v7 and replaces ENVY. I propose to take a look at the porting strategy we used, to describe the difficulties we met and, in that process, to explore the differences between ENVY and StORE.


Bob Nemec

Toronto Smalltalk User Group

www.smalltalk.toronto.on.ca

 Share Tweet This

itNews

The tenacity of failure

June 15, 2005 8:35:48.783

If you cast your mind back 10 years, you'll recall the various stories about the disasterous baggage handling system at Denver International Airport. Well, ComputerWorld reports this morning that the system is being retired, and DIA is returning to - wait for it - manual handling:

After more than a decade of trying to make Denver International Airport's computerized baggage system work as designed, United Air Lines Inc. is giving up on the technology and returning to manual handling procedures.
"It's never worked up to its potential," United spokesman Jeff Green said last week. He added that the airline has spent "enormous amounts of money" on the system over the past 10 years, but it's still used only for luggage heading out of Denver on United and some baggage transfers between flights. The system has never been able to process luggage from arriving flights.

Here's where I explain the title. The system has never worked properly, and yet it stayed online for a decade, causing who knows how many problems over that time. There were stories that first year advocating the action that they just took now, but no one was willing to admit defeat then.

This happens in IT projects as well, and it tends to get worse as more money is spent. There's kind of a tipping point past which failure becomes too ugly to contemplate - someone would have to explain all the consulting fees, all the hours spent, etc. etc - it's just easier for all involved to try and muddle through. In the meantime, large amounts of business damage accrue, and for what? The pride of a small cadre of management who won't admit that mistakes were made.

 Share Tweet This

humor

Silly quiz of the day

June 15, 2005 10:36:25.351

What kind of cyborg are you?

Cyborg self

Heh. Some would say "oddly appropriate" :)

 Share Tweet This

StS2005

Smalltalk Solutions 2005 is right around the corner

June 15, 2005 11:07:46.069

 Share Tweet This

examples

How to dynamically resize widgets

June 15, 2005 13:38:43.098

I haven't posted an honest to goodness example in awhile - here's how to accomplish the common UI need to "zoom" a widget. I didn't come up with this code myself - in the finest Smalltalk tradition, I stole the code from the file viewer, which supports this as well.

In BottomFeeder, you can zoom the HTML pane to cover the entire item view/html view area. To do that, you need to figure out where your new widget bounds are, and then use them. Here's the "outer" method in Bf that either zooms or unzooms, as appropriate:


actuallyZoomHTMLView: htmlView topLayout: topLayout splitter: splitter2 top: top 
	| sub myDivider |
	sub := self widgetAt: #feedID.
	myDivider := (self getComponentFromSubcanvas: sub withID: #Divider2).
	(self isZoomed: top) 
	       ifTrue: 
	               [self 
	                       unzoomHTMLView: htmlView
	                       topLayout: topLayout
	                       splitter: splitter2
	                       top: top.
	                       myDivider beVisible]
	       ifFalse: 
	               [self 
	                       zoomHTMLView: htmlView
	                       splitter: splitter2
	                       top: top.
	               htmlView  takeKeyboardFocus.
	                       myDivider beInvisible].
	self currentBuilder window refresh.
	htmlView beVisible


Now, there are a couple of curious things in there, including the #getComponentFromSubcanvas: message send. In Wrapper (as opposed to Pollock), it can be a pain in the butt to grab a wrapped UI if you haven't kept the builder around. in Bf, I wrote a convenience method to deal with that.

The arguments coming into that method are the wrappers for the html pane, the layout for the item grid (or list) pane, and the wrapper for the splitter. All the wrappers are retrieved like this:


wrapper := self builder componentAt: #widgetIDHere.

while the layout is retrieved:


wrapper := self builder componentAt: #splitterID.
layout := wrapper component layout.

Having all that, we now have enough information to actually resize the pane. That code is a simple convenience method in BottomFeeder:


zoomHTMLView: htmlView splitter: splitter2 top: top 
	"zooms the HTML view, covering the item pane"

       top beInvisible.
	splitter2 beInvisible.
	(htmlView component layout)
	       leftFraction: 0;
	       leftOffset: 0;
	       topOffset: 0;
	       topFraction: 0


The unzoom method looks similar:


unzoomHTMLView: htmlView topLayout: topLayout splitter: splitter2 top: top 
	"unzooms the HTML view, exposing the item pane again"

       (htmlView component layout)
	       leftFraction: 0;
	       leftOffset: 0;
	       topFraction: topLayout bottomFraction;
	       topOffset: topLayout bottomOffset.
	top beVisible.
	splitter2 beVisible


What you are doing here is handing the wrapper a new layout frame to live in (thus the four arguments, telling it what the edges are). This is easy enough to extend to any widget or set of widgets, and, in fact, the code in Bf should be more generalized. It works though, and I haven't had a strong desire to muck with code that works well :)

You should be able to adapt this idea to your own UIs easily - and if you need an in image example, have a look at class Tools.FileTools.FileBrowser - specifically, at the #toggleZoom method.

 Share Tweet This

StS2005

Precision Systems at StS

June 15, 2005 22:00:41.501

I just received this announcement from Ann at Precision Systems, one of the corporate sponsors of this year's Smalltalk Solutions:

ENTER OUR RAFFLE FOR SMALLTALKERS: WIN AN APPLE IPOD OR AMAZON$!

Anyone can enter our free drawing. To enter, simply fill out this form

We will be giving away:

  • an Apple iPod, and
  • ten Amazon.com gift certificates

You don't need to be present at the drawing, which will be held at the conclusion of:

SMALLTALK SOLUTIONS 2005: JUNE 27 - 29 IN ORLANDO, FL!

Precision is proud to be an official convention exhibitor. There will be an impressive array of speakers, tutorials, workshops and exhibits of Smalltalk products and services. See the convention website for details

We hope to see you there! Good luck in the drawing!

Anne Miller

Precision Systems Design, Inc.

Smalltalk Staffing Group

SmalltalkGroup@PrecisionSystems.com

See you in Orlando!

 Share Tweet This

development

Everything old is new again

June 15, 2005 22:21:29.554

News flash - "browse senders" is hardly a new thing. And yet, people using MS tools seem amazed by it:

Here's an example. Let's say I want to add attended transfer (where you have a call, press transfer, dial a number, talk to the new call, then hangup to connect the two). I'm looking in the source I'm familar with (the IAX protocol area), and see iax2_hangup(). That's a packet-level call, so when someone physically hangs up, that, somehow, gets called. Where? Well... right click the function, Call Browser -> Show Calls To:

Only implemented in Smalltalk back in the late 70's sometime, and - probably in Lisp before then. I guess if it doesn't come with curly braces, it doesn't exist :)

 Share Tweet This

management

Is good enough, enough?

June 16, 2005 8:13:15.581

Frank Patrick points to this piece by Seth Godin (and a few other related pieces) on the concept of "good enough". Here's the riff from Seth I want to highlight:

I don't think so. I think that the open nature of the web and the hypercompetitive environment of worldwide competition are pushing things in two different directions at the same time. First, the hyper-cheap, sort of junky stuff that discounters and others want to sell in volume. And second, the relentless pursuit of better. (RPB). RPB is the opposite of good enough. It's not Jack Welch's six sigma nonsense in which engineers codify mediocrity. It's a consistent posture of changing the rules on an ongoing basis.

Well, that all depends on what "better" is, with respect to things like cost. For instance - I could own a better car than I do. It might cost me a ton more money though, and give me years of car payments. Am I "settling" by staying with the late model sedan, or deciding that I'd rather spend the money elsewhere? Opportunity cost plays a large role in any supposed pursuit of "better", because virtually no decision - business or personal - is made in isolation.

 Share Tweet This

movies

Re: 20 million DVRs for DirecTV

June 16, 2005 8:16:35.579

The PVRBlog notes an upcoming shift in the movie rental/purchase business:

Edward Jay Epstein covers Rupert Murdoch's drive to kill off the movie rental business by adding DVRs to the DirecTV network to create video-on-demand.  The main challenge is that Wal-Mart has forced the movie companies to give physical retailers (Wal-Mart) a 45-day window of time where movies cannot be distributed electronically. Is this a Wal-Mart vs. DirecTV battle?  I can't imagine it being that simple. However, a future where we don't travel to Blockbuster (or Tsutaya here in Japan) is obvious for those who enjoy NetFlix.  With the 100 and 1000 Gb/sec. retail consumer fiber-optic networks in Asia, VoD for movies is not far away.

This is going to be a fairly big change. Right now, the rental model still works. If we have big enough pipes, and large enough storage arrays though - all bets are off. This is ultimately what the MPAA and the RIAA fear most - a basic change to the current industry model. It's not that there's no money to be made there - it's more that there's comfort in inertia.

 Share Tweet This

management

Clues for the clueless

June 16, 2005 9:46:39.804

PR Differently points to a news article on people getting "fired for blogging". Here's the thing though - the people covered weren't fired for blogging per se - they were blogged for either:

  • Airing "dirty laundry" in public
  • Discussing sensitive corporate material in public
  • Embarrassing the company in public

Well gee, get me a cluestick for these folks - those acts will get you washed and waxed if they become public. You think a signed letter to the editor doing any of the above would be looked at kindly by management? What makes you think that blogging will be any different? Here's one of the cluebots they talked to, a guy named Paul Whitney:

Like a growing number of employees, Peter Whitney decided to launch a blog on the Internet to chronicle his life, his friends and his job at a division of Wells Fargo.
Then he began taking jabs at a few people he worked with.
His blog, gravityspike.blogspot.com, did find an audience: his bosses. In August 2004, the 27-year-old was fired from his job handling mail and the front desk, he says, after managers learned of his Web log, or blog.

Well. Insulting co-workers in a public forum, and he's shocked that there were consequences. Here's his reaction:

"Right now, it's too gray. There needs to be clearer guidelines," says Whitney, who has found another job. "Some people go to a bar and complain about workers, I decided to do it online. Some people say I deserve what happened, but it was really harsh. It was unfair."

Harsh and unfair? What did he think was going to happen? Say you did exactly what he did, but in a loud voice in the employee cafeteria. You think maybe people might have been irked by that? A blog is is the quintessential "loud voice" - sooner or later, people are going to notice what you are saying. For instance, here's the sort of thing that likely got noticed. If you make personal attacks on co-workers, identifying yourself and the firm in question, it shouldn't be a huge surprise when the pink slip arrives.

 Share Tweet This

development

And yet....

June 16, 2005 10:36:21.013

Scoble takes Joel to task for a few comments, and goes off on a rant:

If your employees get bored, can they go over and talk with some of the world's top experts on Linux? Oh, and think no one wants to come work at Microsoft? Well, the founder of Gentoo just came to work here. Sorta invalidates your theory that the Slashdot crowd won't come to work here too, don't ya think? Do you have any people who've written operating systems where you work? This Microsoft employee has written two. Do you build tools that let you build a new OS in minutes?

Well. Since you can build a new OS in minutes, I expect Longhorn will be out next month, eh? MS has a serious inertia problem when it comes to shipping, and there's a reason for it - everything depends on everything else. If MS has anyone on staff that understands the concept of loose coupling, they are locked away in a closet somewhere, probably to protect their own sanity.

You want to know why Longhorn - and VisualStudio, and SQLServer, etc, etc are late? Tight coupling. Remember the kerfuffle a few years back when MS said that it would be impossible to remove IE from Windows, because it was embedded there? People ranted about all the wrong things when that came up. The problem wasn't that MS was trying to strangle other browsers; the problem was that MS actually did embed the guts of IE in the OS, and thought that it was a reasonable thing to do. Longhorn may not be the last OS MS ships, but it's going to be close - they've tied themselves into a set of tightly coupled knots from which it will be really, really hard to escape.

What Scoble needs to ask himself is this:

  • Over the last five years, how many versions of the flagship products has MS shipped?
  • Compare and contrast that to what Joel's firm is doing.

Heck, compare and contrast it to what we do here at Cincom Smalltalk - we have a product who's history dates back to the 70's - i.e., it's far, far older than anything MS is doing. We manage to put out a major release once a year, and a minor release in between each major release. People knock Smalltalk for its supposedly monolithic nature, but we manage to keep updating, extending, and adding to it - with regular releases. While there's more coupling at the core (kernel, if you will) level of Cincom Smalltalk than we would like, we recognize that and are working to change it. Meanwhile, MS just keeps coupling stuff more and more tightly - and the release cycles get longer and longer.

Sure, MS has some cool technology. It also has huge problems.

 Share Tweet This

open source

Who benefits?

June 16, 2005 17:40:05.920

I've often thought that Open Source in the hands of big companies is a cudgel used to beat the life out of smaller ones - apparently, Mark Fleury just woke up to this fact after IBM purchased the main competitor to JBoss (GlueCode) and made the entire thing free. The IBM pitch?

The pitch to customers is this: You get the software for free and service and support at a bargain rate. And it all comes from IBM, a name you can trust.

Meanwhile, Fleury seems to be utterly stunned by this turn of events:

He claims IBM is trying to put his privately held company out of business. He is furious, but also stunned: He says Gluecode could hurt sales of IBM's WebSphere as much as it hurts JBoss, yet IBM doesn't seem to care.

Well duh. Let's have a look at IBM's cash on hand as compared to Fleury's outfit - seems IBM has a much bigger pile. Which company is going to drop dead first, IBM, or JBoss? The beauty of this for IBM? Since they released the software as OSS, they get to play the good guy (20 years ago we would have called this a predatory practice). The gap toothed crowd over on Slashdot hasn't really figured out who benefits from OSS yet - here's a hint - it's not the small guy. What I really love is the hue and cry aimed at Microsoft for things like bundling IE and Media Player (horrors! they all say) - meanwhile, IBM does the same thing in a less visible sector of the market, and it's all good. Here's the kicker on it:

But if Microsoft, for all its billions, is doomed by the open source movement, as many open source proponents believe, then what chance does Fleury's 130-person startup stand against IBM, a company that had $96.5 billion in revenue for 2004, aims to use software as a loss leader and can absorb losses for years?
Indeed, IBM's assault on JBoss raises big questions about whether stand-alone open source software companies can ever make enough money to sustain themselves. Because their code can be freely copied, these companies can't charge for their programs. Instead, they hope some users will pay for service and support.
Problem is, most people just take the free stuff and run. Only 3% to 5% of JBoss customers buy support contracts.

Look at those stats in the last paragraph again. You wonder why I keep saying that I've seen no viable business model behind open sourcing Cincom Smalltalk? That paragraph explains why that's the case. In order to "make it up" in services and maintenance, you have to have a huge customer base. It's actually the same problem you get into when you try and sell inexpensive developer licenses for a product like ours - in order to fund things, you have to sell (or in the case of free software, ship) gazillions of copies a year - every single year. Or, limit the size of your staff to a very small number. For free stuff, you have to hope like heck that no one else decides to be a free rider on your software - meaning, repackaging it and offering cheaper support than you can afford to offer (like, say, is happening to Red Hat right now). The real kick in the pants:

No wonder no one is making any real money at this. JBoss operates at a loss, as does MySQL, the open source database company. Novell (nasdaq: NOVL - news - people ), the No. 2 Linux distributor, is losing money. After a decade of losses, Red Hat earned $45 million last year on sales of slightly less than $200 million, but 40% of its profit came from interest income rather than operations.

There's a reason IBM supports Linux and other free software projects - it's a way for them to take a free ride on product development and vacuum up the available services revenue. There's a phrase that covers this:

TANSTAAFL

 Share Tweet This

smalltalk

One developer at a time

June 17, 2005 11:21:33.560

An EJB/Java developer spots Seaside:

So why not have a look at Smalltalk - its much more OO and more dynamic than Java. You can change the program while it is running and as soon as you have understood a few concepts you can use it. For web application building I would recommend the www.seaside.st framework and for development either the free open source Squeak project (http://minnow.cc.gatech.edu/squeak) or the non commercial version of VisualWorks (http://www.cincomsmalltalk.com). Take care - Smalltalk is a drug - you will find Java less powerfull after you have really understood it. Use the free smalltalk online books (http://www.iam.unibe.ch/~ducasse/FreeBooks.html) to get started or the Web tutorial for Seaside: http://www.cincomsmalltalk.com/CincomSmalltalkWiki/Seaside Tutorial

I like the way he sums up:

What took you so long to realize this? ;-) EJBs are a major catastrophe rather than a technology which helps you get the job done. Too much Noise in between your coding, loads of XML and other stuff which has nothing to do with what you really need to do. Besides, most EJB apps are damn slow and fat...
 Share Tweet This

management

Down the rathole

June 17, 2005 11:37:35.632

Jonathan Schwartz really needs to read this article - the one I blogged on yesterday:

How? It's trivially simple. Why do carriers give handsets away for free? Because they make money on the subscription necessary to receive the handset. Why do banks give away free checking, or free credit cards? Because they acquire new customers. Why do Google and Yahoo! give away free search? Because there's a fortune in the end result.

So why on earth would we give our OS away for free?

Because it'll ensure those without the economic wherewithal to pay for it will still consider using it. Companies that suffered from piracy a decade ago now know the lesson well - piracy is a good thing so long as the pirates are folks who could never afford your products. So stop calling them pirates, call them users. Free software has no pirates. As I've said forever, there's value in volume, even if you're not paid for it.

The strategy he outlines only works when you have very, very large volume. Even then, you'll notice that MS jacked the prices up for MSDN subscriptions - which ought to tell you something about the limits of free/cheap pricing in the heavy volume arena. The problem with giving things away is that the number of people who will actually pay you for related services tends to be really small - which again, calls for massive volume. Here's a tip - Open Solaris won't have massive volume - which means that Sun will be losing money on this right from the start.

Combine that with their highly dubious purchase of StorageTek, and you have to wonder what they are smoking out there...

 Share Tweet This

itNews

Nominate your favorite application

June 17, 2005 12:40:55.221

Here's a chance to get some recognition for a Smalltalk application near you - write up a short essay on your favorite app, and why you like it:

About The Contest: How do you win? It's easy.

  1. Read our editors' essays. This week, ten TechWeb editors have written their hearts out to convince you that their favorite software applications are the best there are. Read them — because they're clever; because you'll learn about some really fantastic tech; because they'll clue you in on the type of essays we're looking for; and because, well, we've worked hard on these!
  2. Write 200 to 500 words about some software you're nuts about. Impress us with your erudition, make us laugh, dazzle us with your well-reasoned arguments, do something to make us sit up and take notice. Remember, in our contest -- as in life -- style counts. Write as often as you like -- but each entry has to be about a different product, technology, or true story.
  3. Send us your deathless prose using the contest form on the last page of this article.
  4. Keep your fingers crossed!

All entries must be received by July 5.

The prizes look pretty nifty - grand prize is an iPod Photo.

 Share Tweet This

open source

Just add community support

June 17, 2005 12:58:07.767

Rafe Colburn tries to pass off a real danger as "move along, nothing to see here" thing:

Basically there are two kinds of software out there. Software that's too big to die, and software that isn't. If the software is too big to die, then it doesn't matter whether it's open source or not. If MySQL AB were to shut its doors tomorrow, the MySQL database would be just fine. Companies like Google and Yahoo rely on it, it's provided by hundreds of hosting providers, and it's mature. It's no more likely to suddenly go unmaintained than Microsoft SQL Server or Oracle.

That's true to an extent - even users of IDMS still have a home, for instance. Having a home doesn't mean that support will be cheap though. Quite the contrary - moribund legacy-ware is usually a very expensive proposition. The danger isn't that support would dry up - rather, it's that it would suddenly get very, very expensive, and possibly hard to get.

 Share Tweet This

open source

Free Software as a weapon

June 17, 2005 18:43:33.706

Mark Bernstein receives evidence that IBM is, in fact, using Open Source as a cudgel to beat small firms with:

Last time I looked, IBM had pretty much bet their farm on open source.
Bizarrely, they just emailed Eastgate (and, doubtless, lots of other vendors) with a demand that we certify that we don't use any open source software. If we do use any open source software, they want a pile of paperwork for each one. The email threatens that firms that don't comply will be dropped from the approved license database.
You'd think IBM would want to encourage people to use systems from companies like, well, IBM.

They do... so long as that includes the use of expensive systems like WebSphere and the army of consultants that comes with it.

 Share Tweet This

development

Identifying the problem

June 18, 2005 0:50:42.281

Dermot Hogan thinks that OOP is the problem rather than the solution:

There is no silver bullet: Object Oriented Programming has failed.
What? But surely the world and its dog Microsoft and Sun, naturally are object-oriented … C# (which some cynics would argue is little more than a Java clone) and even Visual Basic (God help us all!) are class based. Well, so they might be, but in the twenty or so years since object-oriented programming emerged from the universities, there is not one single documented, cast-iron, nailed-to-the-ground, proven case study that OOP works.

Here's a tip Dermot - we haven't found anything that works that well yet - the various non-OO systems out there haven't exactly covered themselves in glory either. Well heck, none of this is a huge surprise. The people doing development in Java and C# now - for the most part - never actually learned OO. They were C programmers who picked up a C++ compiler, and then went with the syntax flow. Along the way, their OO knowledge hasn't really grown any.

That's the basis of an awful lot of development projects, and it's a reason (hardly the only one) why many fail. Sure, Smalltalk projects fail too - I'm not about to claim that Smalltalk is a magic wand that will wipe away all your problems. However, it is simpler, cleaner, and easier to develop with. Which means that at least one of the layers of complexity in software development is lost when you use Smalltalk. In any case, back to the article - here's Dermot's great example of OO's failure:

For example, there’s a little thing in the banking world called “reconciliation”. It means tracking down and fixing the host of small errors introduced by the users of the system - people, in other words. Now just try to find a real person in an OOP design. Hmmm - difficult. Anyway, reconciliation fundamentally requires cross-referencing, cross-checking and often painstaking detective work. At the bottom, this requires looking inside what is going on which is directly contradictory to the whole idea of OOP.
None of the designers working on the class library thought of this, of course. Reconciliation? That’s what clerks do! Of course, the great OOP banking system was delayed - and delayed. Delayed because nobody who had the misfortune to use the class library could work out what the hell it was doing. I don’t know the end of the story, whether the great OOP banking system was ever built, or whether it joined the 70 percent or so of failed IT projects. Somewhat disillusioned, I left for pastures new.

Sigh. It would be nice if he identified the actual problem here. This issue has nothing to do with OO, or procedural, or functional (etc.) development. It has to do with non-interaction with actual users of the system. You know, that real world customer thing that the agile folks like to talk about. I'd bet good money that the designers of Dermot's system walled themselves off and designed this thing in glorious isolation - and were then stunned when they discovered all the hidden use cases (like reconciliation). Surprise! Not dealing with actual users has consequences. If Dermot fails to realize that, then woe betide the next system that he works on, because it will fail for the same reason, and he'll be utterly stunned.

Next, we find that Dermot has an eye for the obvious:

What I’d done was to modify the behaviour of a base class. And this behaviour had then propagated with effortless ease through the whole damned system. But, with financial systems, this is a no-no. In a typical financial system, all responsible users have to sign off on a change before it goes live. After all this is real money we’re taking about here. Especially if it’s the bank’s own. With this particular system, that sign-off involved users in most of the capitals of Europe!
The point is that when you modify a base class, you potentially change the entire derived class functionality. So, you have to re-test all of the down-stream bits of the system. While you can easily find the ancestor of an object, it’s not so easy to find the descendants. It’s even less easy (to err on the side of understatement) to find the users of the descendant systems and get them to re-test, especially if the bug didn’t directly affect them in the first place. Eventually, I had to put the bug back into the base class and override the troublesome code in the one derived class that was the cause of the problem.

I guess the concept of a change request in a mission critical system is an utter mystery to Dermot. Heck, a lot of things are an utter mystery to him. Say his system had been fully procedural, and lots of components relied on a few shared libraries. Now, say you changed the behavior of one or more of those libraries. Wow! We have the exact same problem, and there aren't any objects in the vicinity! Perhaps the problem isn't OO, and it's instead a matter of process. Too bad Dermot isn't capable of seeing that, and instead wants to find something other than his own limitations to blame. See, here's the final kicker:

So what’s the silver bullet then? That’s the point there isn’t one, and there never will be. To understand that, just dump all your books on OO methodologies and read “The Mythical Man Month” by Frederick P. Brooks. More of Fred Brooks next month. OOP is snake-oil.

If he'd actually understood any of what Brooks wrote, this op-ed piece wouldn't have happened. OOP isn't snake oil; it's one possible solution to the software development puzzle. Simplicity and consistency help a lot (which is where I think Smalltalk comes in), but hey - I don't think anything will help Dermot's development problems. He needs to go back to basics, and figure out stuff like use cases, listening to end users, that sort of thing. Until he figures that out, it really doesn't matter what he uses.

 Share Tweet This

security

Off to deal with broken Windows

June 18, 2005 12:09:51.213

My daughter is going to a pool party today, and I get the fun of fixing up the parent's hacked computer. Who knows what I'll find when I get there, but I'm sure it will take awhile to clear out. Ahh, the joys of unattended IE use, old, unpatched versions of Outlook, and no firewalls...

 Share Tweet This

marketing

The value of an aggregator

June 18, 2005 18:14:39.143

For someone in my position (Product Management), a news aggregator is more than interesting - its an absolute necessity. For instance - the only reason I found a reference to a BitWise Magazine article on Smalltalk is a BlogPulse RSS search for references to "Cincom Smalltalk". I have similar searches set up using Feedster, PubSub, and Google. I track references to VisualWorks, ObjectStudio, Smalltalk, "Cincom Smalltalk", and our Smalltalk competition. I also look for references to myself and to BottomFeeder.

There's simply no way that I'd have the time or patience to follow that many bookmarks in a browser. It doesn't catch everything, to be sure - there's no substitute for communicating with your customers and prospects. But it's a highly useful piece of the puzzle.

 Share Tweet This
-->