humor

How many Smoots is that?

February 27, 2004 18:09:36.943

Bob Congdon points to a very funny story about measurement :)

 Share Tweet This

management

More on software development choices

February 27, 2004 16:14:54.302

In the comments to this post, Gregg said:

You're confusing action in private markets with public coercion. In a private market individuals are choosing to allocate their scarce time and resources to one programming language or another. They find using one programming language allows them to achieve their ends easier than another. Their corporate action leads people to say, "the market is always right." The reason you do not extend this to the political realm is because the state can act with force. "You use programming language X or you will be jailed." When private markets act coercively, it's a criminal offense

I added a comment of my own, but I'm pulling my response up here. I don't think I'm confusing anything here. If you don't think IT shops have been (and still are) being run top down (and sometimes bottom up) towards specific technologies, then you missed the entire PowerBuilder drive of the early 90's, and the all of the Java madness of the late 90's. In both cases, existing applications - written in a wide variety of other systems - were re-written in PB or Java for no good technical reason. There's as much politics in the IT sector as there is anywhere else.

 Share Tweet This

management

Software development selections

February 27, 2004 11:32:19.400

I've been thinking about this post by Joel Spolsky again - I posted on it last night before I went to bed, but I didn't really go into the topic that deeply. Joel asserted that developers have tried Lisp (the same argument extends to Smalltalk) and rejected it in favor of things like VB, C++, C#, and Java. This is an argument I've heard many, many times. The problem is, it's completely bogus. First off, most developers haven't actually tried (insert niche system here). One of a small number objections come up, either from developers or from management:

  • We won't be able to find any (blah) programmers!
  • That technology is very old (never mind that the libraries are up to date)
  • I would rather work in (insert mainstream language here), so that I can stay marketable

Notice how none of these are actual technical arguments. The first two would be reasonable management issues if they had validity, but they don't. First off, go find a developer. Ask them how many software development languages they know, and then ask how hard they find learning a new one. Heck, if newness alone was a barrier, then neither Java or C# ever would have taken off.

The objection is often this: "If we build a Smalltalk application, and our developers leave, what then?" Well heck, what if you build a Java application, and your developers leave? Sure, there are more people who know Java - but that's not the hard part. How many developers are you going to find who know and understand your business domain? If you had a choice between hiring:

  • Someone who knows your problem domain, but doesn't know the implementation language
  • Someone who knows the implementation language, but doesn't know the problem domain

Which one would you hire? The better answer would be the first person - learning the new language will take a lot less effort than learning the problem domain. Many IT managers don't actually believe that, even if they say it - that's clear from the way they hire and the way they decide on implementations and rewrites. It's equally clear that business staff (implicitly) think differently - the knowledge staff that handles business issues is typically not full of candidates for outsourcing.

Let's go back to the other part of Joel's assertion - that "millions" of developers have tried (Lisp, Smalltalk) and rejected them. That's just silly. Sun claims that there are 3 million Java developers. Most people think that VB has wider penetration, and I'd guess that C is on the order of Java. Then there are niche languages like Smalltalk and Lisp - millions of developers have tried them and rejected them? I don't know about IBM's VAST numbers, but I know that we get an average of 1000 or so people downloading VW and OST Non-Commercial per month. Even if every one of those people actually took a serious look at the products, that's in the low tens of thousands per year (and some of these are repeats - people picking up newer revs). Back in its heyday (pre-Digitalk merger), ParcPlace was a $40 million dollar firm, and I recall that we had estimates of actual end developers in the low tens of thousands. Digitalk was something like a $10 million dollar outfit, but likely had at least as many (possibly more) actual users. VAST was bigger, but not significantly so. Those numbers went down in the late nineties, and have now started to go back up again. Does that qualify as "millions" of people having tried Smalltalk and rejected it?

Like many other things, software development is a popularity contest. There is perceived safety in numbers, and the C language family has become that "safe" haven. This has nothing to do with quality or productivity - it has to do with the fact that C was a good choice for development early on (given the state of the art in processors, disk and memory) - and that advantage built up higher through inertia and the creation of a large "installed base" of people who knew the language. C , Java, and C# benefit from this familiarity, and VB benefits from the widespread early deployment of Basic on PCs and University systems.

That's not a rejection of Smalltalk or Lisp, at least not in the way Joel implied. It shows that the early "winners" in the language derby gained a large advantage in terms of mainstream adoption. It says nothing about how hard it would be to use a niche language, even though many people (especially IT project managers) read it that way. As I said above, training a new developer in Smalltalk is a whole lot easier than training them in your problem domain. Having developers learn Smalltalk is not a hard thing - just ask them. Bottom line - if you make the statement "Yes, Smalltalk is more productive, but..." - just eliminate the latter half of the statement.

 Share Tweet This

management

So obvious, it must be wrong

February 27, 2004 2:10:36.008

Joel Spolsky let slip something that I'm pretty sure he hasn't thought through:

On Lisp: And I have the ultimate respect for Paul Graham -- I think there's a good probability that in a year or two we will credit him with being the man who solved spam. But I think that if you try to ignore the fact that millions of programmers around the world have learned lisp and don't prefer to use it, you're in the land of morbid cognitive dissonance.

That sounds reasonable... but I don't think he (or many other people in the tech world) like that line of reasoning at all when it extends to the political. Think about it - Joel's argument is "The majority is always right". Well. If that's the case, abolish the courts now, and let's just do referendums for everything. What's that? You don't think that the majority is always right?

If not, then why is a majority of developers always right? Do they have some "special knowledge" that the general public lacks? Somehow, I don't think so...

And obtw - I'm not sure that you could make the claim that "millions" of developers have tried out Lisp, or Smalltalk (insert niche language here). More likely it's in the tens or hundreds of thousands - at best

 Share Tweet This

cst

CST questions

February 27, 2004 0:55:48.269

I'm on my way back home from dallas as I write this. I've just spent 4 days visiting cuctomers - seeing the great apps they've built with our products, shwoing them what's coming down the pike, and listening to their questions and concerns about the products. There's really no substitute for getting out and hearing the customers speak. In that vein, I'd like to pose a question to our users - what are we doing right? More importantly, what are we doing wrong, or not doing well enough? What issues do you have with VisualWorks or ObjectStudio that - to your way of thinking - should be addresses asap?

Either post answers here via comments, or send me an email. Thanks!

 Share Tweet This

BottomFeeder

BottomFeeder 3.4 nears

February 27, 2004 0:55:34.787

The 3.4 release of BottomFeeder is fast approaching. There have been a lot of nice improvements and bug fixes; the UI is much cleaner now. The documentation for 3.4is almostready (Thanks Rich!). Expect a push around the end of the month or the beginning of March. Here's what's changed:

  • Simplified the user interface - all the view modes are available via toolbar buttons or the menu. Feed icons are moved to properties, and the wasted space at the top of the UI is gone
  • Downloading upgrades has been made safer via a validity check
  • Added support for some Atom components in RSS 2.0 feeds as modules
  • Added Search feeds - synthetic feeds made up of items searched from what has been downloaded into BottomFeeder
  • Added a Google Feed builder, akin to the Feedster feed builder
  • Feeds which are parsed with errors will be flagged as such so that end users who wish to notify the producer can do so. For the same purpose, there is an interface to the feed validator at http://www.feedvalidator.org
  • Added a News Ticker that can be used instead of the 'slim mode' interface.
  • Modified the application so that all user interface elements respect the text settings of the user.
  • There's a menu option that can stop an in-process update cycle without taking BottomFeeder offline. Previously, you would have to take the application offline
  • There is now a Mac OSX installation that installs properly
  • Fixed a bug that prevented proper startup after an abnormal quit
  • Added more information to the upgrade screen for the user (sizes and descriptions of the change). Also modified the properties to disallow save on a bad download, and to disallow loading without a restart if that would be inadvisable (in the case of UI changes, for instance).
  • Browsing options could have different behavor depending on how the option was selected; this has been cleaned up and unified

 Share Tweet This

development

No one 'gets' closures

February 26, 2004 19:30:58.458

Joel Spolsky and many people on his forums are clearly confused about Closures and web apps. Looks like they need to visit Avi's blog....

 Share Tweet This

smalltalk

Re: Smalltalk Eclipse IDE Presentation Post Mortem

February 26, 2004 9:17:23.095

Ryan Lowe comments on Smalltalk for Eclipse (he attended the Ottawa demo last night). I'm always interested in seeing how ST demos come across to people who don't know Smalltalk - for instance this:

Part of the talk included a very interesting tangent on a concept called "doits" (pronounced "do its", not "doyts"). I'm not sure if it only applied to the Smalltalk Eclipse IDE or Eclipse in general though. The idea is to put a simple scripting language in Eclipse that you can use to perform quick tasks in the IDE. The example doit he gave was if someone else found a bug they could attach a doit to the bug report download the project from CVS, compile it and then highlight the line that refers to the bug. A scriptable IDE sounds really cool indeed. I don't think he mentioned a possible language it would use if they made it though. Maybe python?

This points to one of the classic failings of Smalltalk marketing - we don't explain our advantages at all well. The fact that Smalltalk is scriptable (even an end user app - see this post, for instance). It always has been - you can modify the way the environment works in ways that go well beyond the plugin capabilities of Eclipse, but we have not made that clear.

I think my attitude towards Eclipse for Smalltalk has changed though. I was somewhat leery, but I've changed my mind. We need to have things that operate as outreach to the file based, CVS style developers (they are the majority!). If we can't bring Mohammed to the mountain....

 Share Tweet This

rss

Explaining RSS

February 26, 2004 9:00:17.835

Via Syndic8 - if you get asked what RSS is, this is a pretty good explanation. It keeps it all at a high level, for the non-geek crowd.

 Share Tweet This

development

Auto-Update

February 26, 2004 8:53:10.455

After I made this post yesterday, Douglas pointed to this MSDN article on something MS is calling "ClickOnce" - a framework for a unified install/update cycle. The article describes a more complete version of what I do now for BottomFeeder; it's also very similar to the ideas being worked on by our engineering group for this problem. It's good to see MS tackling the issue - I hope that Symantec adopts their scheme so that I don't have to reboot so often after their updates. That last thing is the main problem I have with most application updates out there now - I can do updating for Bf that takes place immediately - why do so many applications force an OS level reboot? Hopefully, this MS work will get rid of a lot of that...

 Share Tweet This

smalltalk

Smalltalk - permanently more powerful

February 25, 2004 23:04:25.981

Patrick Logan explains some of the issues that would crop up in a hypothetical .NET that supported dynamic updating (as speculated by Gordon:

One issue that comes to mind is stack-allocated objects...

Imagine module A defines a stack-allocated and some system should load a newer version of A. Now imagine the newer version of A redefines the stack allocated object, e.g. gives it a new "shape". What does this do to the objects allocated on the stack and the code in other modules that manipulates them?

This is one of the key differences between the "everything is an object" as defined by dotnet, and the "everything is an object" as defined by Smalltalk.

Dynamic updating isn't just for servers either; BottomFeeder can have new versions of code downloaded and loaded without a restart. This is one of those power things where Smalltalk is just better

 Share Tweet This

events

Speaking at the Frankfurt STUG

February 25, 2004 19:03:25.278

I'll be speaking at the Frankfurt STUG in a few weeks:

Cincom Smalltalk Product Manager talks on "Blogs and RSS" at Smalltalk Meeting in Frankfurt, Germany

Jim Robertson, Cincom Smalltalk's Product Manager, will take the opportunity of his CeBIT visit in Germany to give a speech at the monthly meeting of the Frankfurt circle of the German Smalltalk Users Group.

Subject Blogs and RSS - worth your time?
Date and time Thursday, 25 March 2004, at 19:00 h (7 pm)
Location Restaurant Au Mandarin, Chinarestaurant
DG-Bank-Tower
Westendstr. 1
DE-60325 Frankfurt

Afterwards discussion and Q & A

All Cincom Smalltalk customers are welcome to attend this presentation. Please let us know when you will attend; please mailto infode@cincom.com.

Kind regards.
Dr. Monika Laurent
Marketing EMEA
Cincom Systems GmbH & Co. oHG
mlaurent@cincom.com

 Share Tweet This

events

Cincom at CeBit

February 25, 2004 18:57:05.975

Cincom will be at CeBit in germany this year - Helge Nowak, technical sales in Germany, and Claude Poole - our engineering manager - will be in the Cincom booth for all or part of the show:

Cincom Systems at CeBIT 2004

Interested in getting the latest news about Cincom solutions and services? Come and visit us at CeBIT 2004 in Hanover, Germany, from March 18 - 24.

At CeBIT 2004 Cincom will be hosting two booths:

In Hall 3 Booth # B19 our main themes will be Cincom Smalltalk and Cincom Manufacturing Business Solutions.
With the latest Cincom Smalltalk Fall 2003 release including .NET connectivity, Cincom Smalltalk now stands as a bridge between the two "separate worlds" J2EE and Microsoft's .NET. Being multi-platform compatibel has been enlarged to the mobile world: Cincom Smalltalk now also supports mobile platforms like Windows CE. The Cincom Smalltalk experts from Cincom and from our partner Georg Heeg are looking forward to meet you at the Cincom booth in Hall 3.

Find out as well what Cincom can offer you as added value for your complex manufacturing environment, such as

  • Interactive Selling Solutions,
  • Enterprise Management,
  • Quality Management.

In Hall 18 Ground Floor, within BANK-FINANZ-SYSTEME, at Booth # A24 - 2.6, Cincom presents Cincom Financial Services Solutions which help you identify and solve your issues in the following fields:

  • Data Access and Integration for Sales and Marketing
  • Improved Data Analytics
  • Increased Customer Profitability
  • Identification of Sales Opportunities
  • Multi-Channel-Communications and Business Workflow

We will be happy to welcome you at Cincom on CeBIT. If you are interested to visit us please send an email to infode@cincom.com and ask for your complimentary guest ticket.

Kind regards.
Dr. Monika Laurent
Marketing EMEA
Cincom Systems GmbH & Co.
mlaurent@cincom.com

Come see what's new!

 Share Tweet This

itNews

HP goes Opteron

February 25, 2004 18:42:18.260

Good news for HP customers - HP is throwing in the towel on itanium and moving towards the AMD Opteron. The good news for Cincom Smalltalk customers using HP? You'll get 64 bit support within the year!

 Share Tweet This

travel

More customer visits

February 25, 2004 12:44:43.790

Well, I'm off to more customer visits this afternoon in Dallas. Yesterday's visit to Tradewell was fascinating - as I said yesterday, they have an amazing system for dealing with energy trading. They demonstrated the system to us, and the visual display of deals made it very, very easy to understand and follow. This should be a killer app in that field. I'll be visiting Vialink and Adventa over the next two days - I'm already familiar with both of their systems, but it should be interesting to see what they are up to. As well, this gives them a chance to tell me what we are doing right, and what we are doing wrong.

 Share Tweet This

rss

Forbes notices RSS

February 25, 2004 10:11:16.999

 Share Tweet This

smalltalk

How to make money in (insert niche here)

February 25, 2004 10:06:10.105

Bill Clementson outlines a plan for making money on Lisp; the same ideas are applicable to Smalltalk (or any development niche, for that matter). The ideas are spun off of this thought:

You sometimes hear people on c.l.l. complain that they can't find ads for Lisp programming jobs. Rather than bemoan the lack of Lisp jobs on the Monster job web site, it might be more useful to focus on what Lisp is good for and work out how those Lisp-specific qualities might help you make money. Fast Company recently pointed to a weblog posting by Dave Pollard about the 10 most important business ideas of 2003. Reading through this list, I was struck by how well-positioned Lisp is in some of the areas highlighted by Dave...

Smalltalk excels in the same areas.

 Share Tweet This

rss

Counting the hits

February 25, 2004 9:46:35.969

PR Opinions has a story on RSS and tracking. I can understand why people want to know who is and isn't subscribed; subscribed readers are more committed, adn - in a sales/marketing context - may be more open to learning about the products and services you provide. It's interesting that outfits are starting to look at that, but the 'solutions' are amusing:

So when I read that IMN Inc (formerly iMakeNews) have announced (PDF only) a trackable RSS feed service I was intrigued. A way of tracking RSS success.  Fantastic.

However, when I went to their site, and from the story in ClickZ it seems that all they do is publish your content to an RSS feed and count the hits.

"We've encoded all the links -- usually with an RSS feed you get a subject of an article and a link. Every link provided is a unique trackable link. When you open up the feed we know it. Every time you refresh the feed we count it. And when you click to read a particular article we register that," Goodwin said

Heh - that's just scanning logs and counting, something I do in my free time for entertainment value.

 Share Tweet This

web

Ugly is in

February 25, 2004 2:53:27.928

CSS is being filtered by Symantec's content filter - probably because IE allows Javascript in CSS. Great, another useful tool ruined by the feature gnomes at MS....

 Share Tweet This

cst

Cool Customer apps

February 24, 2004 20:01:50.837

I saw a couple of very cool customer applications today - a POS system used at restaurants, and a trading system for buying/selling natural gas. These are both very, very cool systems - and with the latter, our partner tells me that most of his competition is spreadsheets and PowerBuilder! It looks great, and I was very impressed with the work they've done - it's a great example of a VisualWorks application. I'll have more later, but I'm about to jump on a plane to Dallas - more customers to visit over the next two days.

 Share Tweet This

rss

Re: RSS Anonymous

February 23, 2004 22:34:24.000

Steve Gillmor has an RSS problem. I can mark items persistent, so even if they are read, they hang around. I can also bump the cache for a given feed up to absurd levels to ensure that items don't go away. Hmmm. Maybe he has a tool problem...

 Share Tweet This

smalltalk

Dynamically modding the server

February 23, 2004 20:56:41.843

Bill Clementson talks about dynamically changing a Lisp Server - this is something Smalltalk does very, very well also. I do something similar with the blog server - but I don't (typically) have GUI access to it - it runs as a headless server, many miles from where I live. So how do I dynamically update it?

  • Test a patch on a local version of the server so I can verify that it works
  • File the code out (i.e., push it to a file that can be loaded and compiled into the server
  • Version the new code off into the source code control system, and drop a new version of the loadable component that the patch belongs to. This is so that I can get the server going with the correct code the next time it gets restarted
  • FTP the code up to the server, and into the appropriate directories
  • Using a defined remote API, kick the server so that it will load the patch

No fuss, no muss, no restart - and problem solved.

 Share Tweet This

smalltalk

The power of Smalltalk

February 23, 2004 17:08:46.474

Brad Abrams quotes Chris Brumme on why you don't get a lot of info from a NullReferenceException (sounds like trying to send a message to nil in Smalltalk):

The NullReferenceException occurs because an instruction like call [eax 44] or mov edx, [esi 24] has resulted in an access violation.  We don't retain nearly enough information to form a correspondence between a particular register being NULL at a particular EIP and the fact that a particular reference in the application was null.  Especially since the EIP might be in a shared helper like a write barrier routine or an array helper.  In those cases, we would have to perform a limited stack walk to get the effective EIP.

The machinery that would be required to improve this error message is huge.  For the foreseeable future, you will have to rely on debuggers, or on FX code explicitly checking and throwing an appropriate NullArgumentException.

Fascinating. Contrast that with what I get when someone reports a BottomFeeder bug to me - I get a complete stack trace - with information on every object involved (arguments, senders, receivers - the works). All available in the runtime, dropped to a log file that can be sent to me. And that doesn't begin to explain how much better the information is in the development environment. This is one of those supposedly nebulous things about Smalltalk productivity - just about everything is simpler and easier to get to

 

 Share Tweet This

development

Typing Terminology

February 23, 2004 10:15:59.059

Typing terminology is one of the areas where developers end up talking right past each other - because we use the same terms to mean different things. Take the following descriptions of typing:

  • Static
  • Dynamic
  • Manifest
  • Weak
  • Strong

Now, go look in the archives of cls, or comp.object - likely other groups as well, but I'm less familiar with them. Try to get common usage for any of those terms. Take one that is bandied about between Java and Smalltalk advocates, for instance - "static". We typically use it to discuss whether variable types are declared manually by the developer in the source code. That seems simple enough... until you get a functional language developer in the mix. They'll talk about their language(s) as being statically typed - even though there are no manual declarations (or at least, no requirement for them). What they mean is that the types are not declared by the developer, but the compiler infers them and enforces them at compile time

This led me to start using the term "manifest typing" to mean manual declarations. That was fine, until I ran across this on Planet Lisp. Patrick Logan pointed out to me that Lispers mean this:

What this means is the object is inseparable from the type at runtime. The object always comes with a "manifest" that describes the type of object.

Whether that manifest is manually defined or dynamically inferred is apparently a separate issue. And heck, that doesn't even get into the more common confusions over Strong/Weak - many people equate manually declared type declarations with Strong typing (forgetting the way you can cast yourself into oblivion in C) - and also equate a lack of manual declarations with weak (forgetting that Smalltalk, for instance, gives you well defined behavior for a message that is not unnderstood).

The bottom line? You have to be extremely careful when you discuss this topic and start tossing jargon around - otherwise, you could end up making as much sense as a guy from Germany discussing Football with an American, each completely sure that they know full well what football means!

 Share Tweet This

blog

Wake up call?

February 23, 2004 10:15:45.731

For those of us who take the blogosphere way, way too seriously Sriram Krishnan has a few words of advice....

 Share Tweet This

travel

Off to Houston

February 23, 2004 4:39:24.201

The first leg of my trip to Texas is coming up - I'll be leaving for Houston, TX as soon as the cab arrives. I'll probably have some posts queued up when I arrive.

 Share Tweet This

smalltalk

What's so cool about Smalltalk?

February 22, 2004 23:29:08.355

 Share Tweet This

rss

Worrying too much

February 22, 2004 8:55:21.862

Bill Burnham worries too much:

The irony of RSS's success though is that this same success may ultimately contribute to its failure. To understand why this might be the case, it helps to imagine the RSS community as a giant Cable TV operator. From this perspective, RSS has now has tens of thousands of channels and will probably hundreds of thousands of channels by the end of the year. While some of the channels are branded, most are little known blogs and websites. Now imagine that you want to tune into channels about, let's say, Cricket. Sure there will probably be a few channels with 100% of their content dedicated to Cricket, but most of the Cricket information will inevitably be spread out in bits and pieces across the 100,000's of channels. Thus, in order to get all of the Cricket information you will have to tune into hundreds, if not thousands, of channels and then try to filter out all the "noise" or irrelevant programs that have nothing to do with Cricket. That's a lot of channel surfing!

There are a number of things wrong with this theory - first and foremost, it forgets the critical role of the end user. I subscribe to new feeds all the time. If the author of that feed keeps pushing out stuff I don't care about, I can do one of two things:

  • Apply filters at the client (aggregator) side to eliminate the things I don't like
  • Just unscubscribe from the feed in question

It may be difficult to find new feeds of interest - but the same problem exists in lots of other places as well:

  • Books. There are loads of books published every year. How do I know which ones to look at? To a large extent, experience (looking for new works by authors I already like) and word of mouth. The same thing happens in feed-space - BlogRolls and links do the job.
  • TV shows. Not as many new ones as books, but lots every day over digital cable. We have the Replay doing what amounts to keyword search, and we talk to friends.

The same sorts of things are happening in RSS. Why is this hard to figure out? There are already millions of feeds out there; I'm hardly paralyzed by that fact. This is much ado over nothing at all....

 Share Tweet This

smalltalk

Productivity

February 21, 2004 14:18:15.222

I was wondering how much space some of the caching I use in BottomFeeder uses. Now, I could have copied my feed data over to my dev directory, started Bf up in the dev system, and taken a look. However, that wouldn't have given me an accurate picture of cache usage in the real system - the usage of caching happens as a side effect of real usage. What to do? Well, this is Smalltalk, not some godforsaken curly brace language - so I went right to the application. It turns out that you can pop up inspectors in Bf if you know how. So up came the inspector, and I opened the workspace pane. This is one of the truly cool things about Smalltalk - the system is truly putty in your hands. Since the whole system is there (I don't strip out the compiler; it would not be possible to do the kind of runtime updates Bf does if I did), I wrote up a quick script:


| all feeds |
all := OrderedCollection new: 1000.
feeds := RSS.RSSFeedManager default getAllMyFeeds.
feeds do: [:each | all addAll: each items].
all collect: [:each | each cachedHTML].

I inspected the results of that, and got a collection of all the cached HTML the application is hauling around. I had 8206 instances of them, and the aggregate total of characters was 300k - i.e., not worth worrying about. The nifty thing is, I was able to get a real runtime result, not an assumed result based on semi-real usage in test.

This isn't the limit of what you can do, either. Awhile back, I introduced a bug in the dev stream that resulted in the item cache sizes being set to absurdly small sizes for most feeds. That would have been painful to fix manually, so did this


RSS.RSSFeedManager getAllMyFeeds do: [:each | each feedLevelCache: 120]

Which reset all my feeds to a more reasonable level. Do I expect average Bf users to do this sort of thing? Heck no. On the other hand, it's certainly handy for me as a developer - I can get real world usage answers from the system instead of test answers that may not match up. Try that in .NET or Java :)

 Share Tweet This

general

Organized?

February 21, 2004 13:37:18.992

Matt Croydon is more organized than I am - he's at least got a daytimer. me, it's all I can do to keep the whiteboard calendar up to date...

 Share Tweet This

marketing

Routing the message

February 21, 2004 11:07:45.115

Don't think that blogs are a way to route a message around other media? The White House apparently believes it is. This led me to marketing - what if you are having difficulty getting your message out in the trade press? Blogging is a possible answer - and will has the ability to wind back around - as the above story did - into the major media. In the political world, this meant something like the WaPo. Here in the techie universe, it might be less trouble, since folks like Jon Udell and Dan Gillmor are already blog savvy....

 Share Tweet This

education

Your Permanent Record?

February 20, 2004 17:55:13.431

Derek found out that when it comes to college grades, you actually do have a "Permanent Record". As much as we laughed, it sounds like Mrs. Grundy wasn't kidding....

 Share Tweet This

development

So 1980's

February 20, 2004 17:47:01.523

shaykatc - and I'm sure other .NET developers - are drooling over this:

Ok - so what scenario would I use it in? Lets say you're writing some managed code. You're debugging your merry way through the code when voil, it crashes. Sigh. You see the little error dialog with additional information but to explore your code you have to dismiss it. As you go through your code, you wonder what that message said again? So you write a try catch and repeat the process.

Well, in Everett the debugger team put in a little feature called $exception. The next time you crash in C# or J# go ahead and dismiss the dialog. Open the locals window and take a peek at $exception there (chills are setting in right now). Expand it and you can see all the delightful things inside the Exception object - Messages, Stacktrace, Inner Exception etc - everything you would have gotten had you put a try catch around the code and caught the exception object. Is that cool or what?

Oh boy. You can see all that information? You mean, the sort of stuff that Smalltalkers have had for years and years? Here's the real question for shaykatc - can you go back through the stack in the debugger, change code and restart? It's always amazing when developers get excited about stuff that has been around in mature, productive tools for decades....

 Share Tweet This

development

Typing terminology confusion

February 20, 2004 13:27:37.865

I saw this comment on Planet Lisp:

I certainly agree that the mismatch between memory and CPU performance supports the conclusion of the paper -- tagged memory and micro-programming would probably be beneficial in a big way. (Of course, given how manystupid buffer overrun viruses there are these days, it's hard to believe that anybody can still think that not having manifestly-typed data is defensible.)

The term manifest typing must mean something different in the Lisp world than what it means to me....

 Share Tweet This

deployment

Of Linkage and runtimes

February 20, 2004 13:06:38.201

I'll remind Joel - and MS - that it doesn't have to be tradeoff between a linker and a runtime system. BottomFeeder is built in VisualWorks Smalltalk, which is a VM/Image based runtime system. And yet, I ship a 7 MB single executable for Windows - which is field upgradeable. It not only can be done, it has been done. Perhaps the MS engineers need to look up at the rest of the industry every so often...

 Share Tweet This

rss

Jon Udell misses on formats

February 20, 2004 11:48:24.131

Jon Udell points to Dare's post on not being able to read Atom feeds in RSS Bandit - by saying "sure you can", and pointing to Atom2RSS:

How? Just search Google for atom2rss. There are a bunch of translators floating around. The one I picked comes from the folks at 2rss.com. Here is their translator: http://www.2rss.com/software.php?page=atom2rss. And they are kindly making this service available for free. You can go to the site, plug in an Atom URL, generate the corresponding RSS URL, and subscribe to that.

That glib "just follow these simple steps..." misses quite a bit. First off, here's what most people are going to do (assuming they understand aggregators, which is assuming a lot already):

  • Try to add the feed from the page in question to their aggregator
  • Watch it fail
  • Move along, figuring that either
    • The feed is broken
    • Their aggregator is broken

The liklihood of your average aggregator user deciding to do a search in Google for format translators is too amusing for words. Heck, I announced this PR Feed internally, and got 2 emails from people in my group asking what they were supposed to do with an XML file that showed up in their browser as a DOM tree. I've been working on BottomFeeder for a long while now, and - even so - plenty of people in my own work group have no idea what a feed is. Expecting an end user to go find a conversion tool is a fantasy - other than a handful of highly motivated geeks, it's simply not going to happen.

The simple truth is, aggregator authors have to just buck up and support this new format. I've written more than once on what a colossal waste of time and effort I think the Atom syndication format is, but it doesn't matter what I think - my users don't care about the "inside baseball" aspect of all this. They want to read content when they find it, and would prefer not to have to care about any of the technical details. Expecting them to wander off in search of a conversion site is expecting them to know about details they shouldn't have to care about - and more importantly, about details that they just won't care about....

 Share Tweet This

cst

CST incremental changes

February 20, 2004 10:52:13.309

I've posted a new set of change information on our Wiki - details the changes that have been made between VW 7 and VW 7.2. It's not complete; I did this only with a base image. However, the scripts I used are available for download - so if you want to look at the changes specific to a component (like, say, the Web Toolkit) - just grab the scripts and follow the instructions.

 Share Tweet This

rss

Conspiracy, or something simpler?

February 20, 2004 8:54:03.402

Dare points to the rising number of Atom feeds coming out of Blogger (the default choice over there now) - and laments that he can't read such feeds with RSS Bandit. I'm kind of surprised that he hasn't added suport; it was pretty simple to support Atom 0.2 (I added that months ago, because one of the users of BottomFeeder actually asked for it). I ignored Atom 0.3 for awhile, but then I got an email from someone telling me that Bf was handling 0.3 feeds oddly. I added a new handler for 0.3, and all was well again.

Here's why it's not that hard for me to add new formats, so long as they are relatively close in spirit to RSS - I don't keep the XML documents around. Bf parses the XML document, and then a framework originally designed and built by Dave Murphy maps all the relevant information to an object model. It turns out that the object model we built for RSS applies to Atom easily, so it was just a matter of mucking with the object mappings in a new handler class. When I finally added Atom 0.3 support, it took me about 20 minutes.

Back to the original topic. While Dave Winer assumes malice, Dare assumes the much older rationale - stupidity:

  1. Always and inevitably everyone underestimates the number of stupid individuals in circulation.
  2. The probability that a certain person be stupid is independent of any other characteristic of that person.
  3. A stupid person is a person who causes losses to another person or to a group of persons while himself deriving no gain and even possibly incurring losses.
  4. Non-stupid people always underestimate the damaging power of stupid individuals. In particular non-stupid people constantly forget that at all times and places and under any circumstances to deal and/or associate with stupid people always turns out to be a costly mistake.
  5. A stupid person is the most dangerous type of person

Unless Google does have something up their sleeve?. Who knows? In the meantime, I support the Atom format, regardless of how many bricks I throw at it....

 Share Tweet This

marketing

The PR biz and blogs

February 20, 2004 8:28:56.552

Via Scoble I found this article on the PR biz, and how blogging impacts it. Interesting read:

Public Relations is about communicating with audiences. Your job is to understand how to reach those audiences, how to deliver information to those audiences in a format that they find acceptable. We're not just talking about the media here. PR is about good communication to every audience, that includes customers, partners, staff, suppliers etc.

If you are not trying to reach and communicate with the relevant audiences for your organization or client, then in my humble opinion you're not doing you job.

This puts blogging in the proper light - it's not the solution for corporate communications, it's a solution. It doesn't replace anything completely, but it does add to the list of communication forms.

 Share Tweet This
-->