development

why I'll be ignoring XHTML awhile longer

April 12, 2003 12:08:18.033

I spotted an explanation of the pitfalls of XHTML over on Don Box's Blog. He actually went to XHTML, and backed off. In the technical blog-verse, there's been an awful lot of hullabaloo about XHTML, but this document convinces me that not yet is the correct answer:

There are few advantages to using XHTML if you are sending the content as text/html, and many disadvantages.

In addition, currently, the majority (over 90% by most counts) of the UA market is unable to correctly render real XHTML content sent as text/xml. For example, point your browser at:

http://www.mozillaquestquest.com/

Only Mozilla, Mozilla-based browsers such as Netscape 6 and 7, and very recent versions of Opera such as Opera 6 are able to correctly render that site. (IE6 shows a DOM tree!)

Authors who are not willing to use one of the XML MIME types should stick to writing valid HTML 4.01 for the time being. Once user agents that support XML and XHTML sent as one of the XML MIME types are widespread, then authors may reconsider learning and using XHTML.

That's right - like it or not, IE has over 90% market share, so using XHTML at this point is telling over 90% of your potential viewers to kiss off. No thanks. Far, far simpler to just slap HTML out there, and wait for the tools to evolve.

 Share Tweet This

general

I should ease up at Don Pablos

April 11, 2003 21:50:04.196

We go once a week or so with friends, I almost always have the B and B Burrito, followed by the (mmmmmmmmmmm) Iron skillet pie. Then I feel like I inhaled a blimp the rest of the evening. Oh well

Looks like we'll be playing a new Settlers variant tonight - Mike wants to try out the stone age variant. Should be interesting - Settlers of Catan is one of our favorite board games, although we did overdose on it some the last few years.

 Share Tweet This

development

Have a visit here

April 11, 2003 15:28:44.475

This is hilarious, especially this page. Jason Jones pointed this out to me. It's well worth the time you spend there - just pray you don't visit any shops that use it as their coding standard!

 Share Tweet This

development

Filling the world with News Aggregators

April 11, 2003 13:00:51.316

It seems that every time I turn around there's a new aggregator being announced - SharpReader just came out, for instance. A lot of these are using .NET - which is a 20 MB runtime.

BottomFeeder, on the other hand, is a cross platform aggregator. The baseline download (compressed) is a tad over 5 MB, and updates to it are in the 200k to 900k range. I could ship smaller updates - patches - but it seems simpler just to replace the baseline application parcel, and is certainly easier to manage.

Kind of an odd place, having the Smalltalk solution be the smaller, lighter weight implementation - it's not at all what the conventional wisdom on ST is.

 Share Tweet This

development

The Prevlayer Hype

April 11, 2003 9:08:42.815

Awhile back I posted on Prevlayer, and some of the doubts expressed about it. This morning I was catching up on my feeds, and saw this over at the Fishbowl:

One claim made on PrevaylerIsNotADatabase is that unlike RDBMS's and OODBMS's, Prevayler does not have to worry about RAM limitations. Excuse me? Huh? OODMBS's tend to suffer when your indexes can't fit in main memory any more. Prevayler will go completely to the dogs the moment any of your object model is swapped out. Surely Prevayler has to worry more about RAM than anyone else? I posted a politely-worded query to this effect on the page, and received the following reply from the project lead:

No. Prevayler assumes the Prevalent Hypothesis. Databases do not.

To save you following the link, the Prevalent Hypothesis is (direct quote) "That there is enough RAM to hold all business objects in your system." That's right. Users of Prevayler don't have to worry about there being enough RAM because... we assume there will always be enough RAM!

Whoa. i don't know about you, but that's a pretty ignorant hypothesis IMHO. If anything, objects and data tend to expand to fill all available space and then some. Even when it's true, it doesn't necessarily make for a well behaved system - one client system I'm familiar with cached all the Gemstone objects in the Smalltalk image before releasing the product, allegedly for performance - most of us assumed it was to avoid having to buy client licenses. The application was huge, and end users had problems running other applications on their systems. Ultimately, making assumptions like all the data will fit in RAM are dangerous - like other assumptions, they should be tested, not simply asserted...

 Share Tweet This

BottomFeeder

keyboard navigation, simplified

April 11, 2003 1:32:04.457

I spent most of the evening over-thinking keyboard navigation for BottomFeeder. Finally, I ripped out most of the awful code I had been writing, and it started working correctly.

When in doubt, don't fight against the code framework....

 Share Tweet This

BottomFeeder

dohh!

April 10, 2003 19:29:28.877

If you have trouble starting BottomFeeder, then download this file and place it in the 'app' directory. There was a pre-requisite set in this component - a pre-requisite that exists in systems with VisualWorks installed, but in in environments without it installed. This was a silly mistake on my part, and grabbing this file will address it.

 Share Tweet This

cst

NC Download hiccups

April 10, 2003 12:37:14.206

There were a few annoying glitches in the NC download app that have now been addressed. You may also have noticed that the documentation link is broken; that should be addressed later today

 Share Tweet This

smalltalk

DC Area Smalltalk Class

April 10, 2003 11:55:00.472

If you live in the Washington DC metro area and would like to learn Smalltalk, Victor Goldberg will be teaching a class at Northern Virginia Community College.

Information on the class:

InstructorVictor Goldberg
WhereCICS 838-01N 6:00 - 9:00 pm, Thursdays
Dates May 22 - July 10 (8 sessions)
Cost$549

Contact number for information: 703 323-3168

 Share Tweet This

general

end of an era

April 10, 2003 8:17:47.780

No more quick flights across the Atlantic (as if I ever took one) - Matt Croyden spotted this London Times story:

British Airways and Air France today signalled the end of the supersonic era in aviation by announcing that they were retiring their Concorde planes this year.

BA blamed falling passenger levels and rising maintenance costs for the decision to scrap flights. Both BA and Air France said their Concorde operations would stop at the end of October 2003. Air France's last transatlantic flight by Concorde will be on May 31.

Ok, so can we at least get power at the seats then?

 Share Tweet This

development

Paul Graham on language evolution

April 9, 2003 21:41:09.024

I found this post on Patrick Logan's blog interesting. Patrick quotes Paul Graham asserting that Java, like Cobol - is an evolutionary dead end in terms of language development:

I think that, like species, languages will form evolutionary trees, with dead-ends branching off all over. We can see this happening already. Cobol, for all its sometime popularity, does not seem to have any intellectual descendants. It is an evolutionary dead-end-- a Neanderthal language.

I predict a similar fate for Java. People sometimes send me mail saying, "How can you say that Java won't turn out to be a successful language? It's already a successful language." And I admit that it is, if you measure success by shelf space taken up by books on it (particularly individual books on it), or by the number of undergrads who believe they have to learn it to get a job. When I say Java won't turn out to be a successful language, I mean something more specific: that Java will turn out to be an evolutionary dead-end, like Cobol.

This is just a guess. I may be wrong. My point here is not to diss Java, but to raise the issue of evolutionary trees and get people asking, where on the tree is language X? The reason to ask this question isn't just so that our ghosts can say, in a hundred years, I told you so. It's because staying close to the main branches is a useful heuristic for finding languages that will be good to program in now.

At any given time, you're probably happiest on the main branches of an evolutionary tree. Even when there were still plenty of Neanderthals, it must have sucked to be one. The Cro-Magnons would have been constantly coming over and beating you up and stealing your food.

The reason I want to know what languages will be like in a hundred years is so that I know what branch of the tree to bet on now.

I think he's right about Java - it's the butt end of the C language family, and - IMHO - goes about as far as you can go in that direction. To me, the emergence of new dynamic languages like Python and Ruby - which owe more to Smalltalk than to Java - shows you where things are going at a grass roots level. Java may be where a lot of the work is, but it does not seem to be where the interesting action is.

 Share Tweet This

general

things are back to normal...

April 9, 2003 20:01:34.248

We had some kind of server problem over the last hour or so, but it's been dealt with. Seems that the postgres db we use had a brain cramp, and had to be restarted. All is well now - the web apps are responsive again, the public store is responding normally - we apologize for the problem, and now return you to your regularly scheduled Smalltalking...

 Share Tweet This

cst

Good Conversation at my call

April 9, 2003 15:55:02.066

I got invited to speak at a local company today by a developer (Dave Astels) I ran across at the local XP group. I was there for about 90 minutes, talking about Smalltalk and what's new in Cincom Smalltalk. A lot of the folks there had used Objective-C, so they were more open to the concept than a lot of people might have been. I got a lot of questions, and a good level of back and forth. I expect a few more downloads of the non-commercial product at least, maybe even some skunkworks usage of the product. We'll see; it was fun to just do an evangelical call for a change.

 Share Tweet This

general

I'll be offline for awhile

April 9, 2003 8:56:31.256

I am visiting a prospect this morning - I'm just printing out the handouts now. It's a lunch meeting in Herndon, VA (which is heck and away from here), so it will take a long time to get there and back. Hoepfully, I'll have interesting news to report when I get back late in the afternoon.

 Share Tweet This

development

Don Roberts on C++

April 8, 2003 22:52:57.126

This is priceless - Don Roberts at the C2 wiki:

He is a RedneckSmalltalker. He used to be "The Simplest Consultant That Could Possibly Work", but now he's at the University of Evansville as "The Simplest Professor That Could Possibly Teach." Where he's learned that teaching OOP using C++ is like teaching General Anatomy using only cancer patients.

ROFL

 Share Tweet This

cst

NC Download site tweaked again

April 8, 2003 22:50:39.582

Thanks to one of our doc guys (Mark Roberts), the download page is cleaner and has a better set of explanations as to what you need to download. I also cleaned up the Web Services download link, which still had an invalid file name. It should all be ok now (fingers crossed)

 Share Tweet This

BottomFeeder

News Aggregators

April 8, 2003 17:36:40.684

For those interested in looking at the feature set of BottomFeeder before downloading it, have a look at the Users Guide. The 2.9 dev builds have some significant changes:

  • Keyboard shortcuts - see here for details
  • Ability to import OCS, OPML, and RSS feeds from local files (based on the formats used by syndic8.com
  • Ability to export the subscribed feeds to an OPML file. This will be extended to RSS and OCS before the release of 2.9
  • A new, cleaner settings tool

BottomFeeder has supported marking feeds, folders of feeds, or all feeds read/unread for a long time now. The downloads are packaged as ready to run applications; the goal of this project is to make the application accessible to smalltalkers and non-smalltalkers alike. If you want to get into the code, the project has a SourceForge page - but the most recent codebase is in the Public Smalltalk Repository. Volunteers are welcome!

 Share Tweet This

cst

Mea Culpa

April 8, 2003 17:27:50.479

If you have been using the Aragon goodies, you may well see a few problems in 7.1 - I was trying to fix the installer, and I think I broke some - possibly all - of the Aragon parcels. Since none of have been changed by the author since the 7 release, just grab the old 7 versions. I apologize for any difficulties....

 Share Tweet This

BottomFeeder

BottomFeeder for Mac 8,9 Figured out

April 8, 2003 16:43:58.551

It turns out that the Mac VM, when installed under Windows or Linux, loses the resource fork information. So I've grabbed the VM files that we ship with vw-dev in a compressed form (.bin), and have them packaged up that way. This means that BottomFeeder Mac users will have to do a little work on their end - decode the .bin files, and also set the type and creator codes for the image to HPS7. If I had a Mac, this would be easier. Alas, not in the budget...

 Share Tweet This

cst

All NC packages now present

April 8, 2003 15:56:04.702

For those of you who missed the WebServices package, it's now been placed on the download site. We apologize for the confusion.

 Share Tweet This

smalltalk

Gordon points me to Patrick's kind words...

April 8, 2003 13:15:39.321

Gordon Weakliem pointed me to this post from Patrick Logan. There's a lot of nice words about Smalltalk there. I've copied the whole thing from Patrick's post below:

Whither Smalltalk?

Instead I think the question should be, "Whether Smalltalk?" And the answer could very well be yes.

VisualWorks 7 is loaded with Internet capabilities: servlets, server pages, SOAP (Open talk). The VM is so much more mature than the CLR and JVM implementations.

The company appears to be solid, and has backed VisualWorks longer than anyone gave them credit for. Cincom rescued Smalltalk from history, after ParcPlace nearly bungled one of the truly great software systems of all time.

S# appears to be close to release for dotNET. Not only could this put some spark back into Smalltalk, but it could pave the way for widespread success of dynamic languages in general on the CLR, through the collaborration with Microsoft and the specific implementation techniques.

Not to mention that Dolphin and MT are still solid Smalltalk implementations for Win32 and on multiple platforms Squeak and GNU Smalltalk are too. The combination of VisualWorks and S# and these others make a cross-platform opportunity for Smalltalk. Systems built for S# or VW to a large degree should run on the other.

VW 7.1 is supposed to provide a more solid (non-beta) native Mac OS X implementation and VW is already solid on Linux and other Unix systems.

Smalltalk is a simple, classic notation for expressing computation. Code written 20 years ago still runs on modern implementations.

Why build important computational assets in notations that are overly complex (i.e. they make you say more than necessary) and are tied to implementation decisions that will soon be outdated (i.e. the "standard" notations are regularly updated with new features that compell adoption by marketing lust and lead to a chronological stratification similar to carbon dating)?

Java and C# books become outdated in a year. They no longer teach the notations the way developers want to use them. On the other hand, a developer can learn 90 percent of Smalltalk by picking up 1983's Smalltalk-80: The Language and Its Implementation!

Far better to build your important computational assets in a notation that is already long-lived, simple, flexible, and efficient, not to mention mostly unchanged for 20-30 years or more. There are a two of these notations that make sense to me: Lisp and Smalltalk.

I could go with either. Smalltalk is easier to explain to developers using other object-oriented languages.

Add Patrick's Weblog to your reading list - there's always stuff worth reading and thinking about there.

 Share Tweet This

cst

Public Store Accounts

April 8, 2003 13:06:23.940

if you tried to register for a public store account over the last few days, you got roadblocked by a small bug. Somehow, I managed to ftp up to the server the wrong version of the app, and responses from the db were not being properly read. That's been addressed - tip of the hat to Eric Engstrom for pointing the problem out to me.

 Share Tweet This

cst

Missing WebServices.tar.gz in downloads

April 8, 2003 8:48:02.444

By now some of you have noticed that the web services file is missing from the download area for NC. This is an oversight, not us holding anything back. We should have this addressed sometime this morning - I just have to wait for the guy who has sufficient permissions on that box to wake up...

 Share Tweet This

general

no good deed goes unpunished...

April 7, 2003 23:39:45.397

That's what SETI@Home is learning with this report from PC World:

The earlier version of the screen-saver software contains a buffer overrun vulnerability in code that processes responses from the SETI@home server, according to Berend-Jan Wever, the 26-year-old Dutch student who wrote the advisory.

After tricking the client into connecting to a server the attacker controls, an attacker could cause the buffer overrun by sending a long string of data followed by a "newline" character, Wever wrote.

The vulnerability affects all versions of the SETI@home client software, including those for the Microsoft Windows operating system, Apple Computer's Macintosh operating system, and versions of the Unix operating system.

The software running on the main SETI@home server at UC Berkeley contains a similar vulnerability, according to the advisory.

And kind of an "oops" here as well:

A separate problem concerns the SETI@home client's transmission of information back to the SETI@home server. Wever discovered that all information from the SETI@home client is sent out in plain text form. That information includes data on the operating system and processor type used by the machine running the SETI@home client.

Malicious hackers could collect the SETI@home data using any one of a number of common packet-sniffing programs, providing useful information for planning a larger network attack, according to the advisory.

The vulnerability would require attackers to "spoof" a fake SETI@home server and trick the software clients into connecting to it before they could be compromised. The SETI@home team knew of no previous attack on a client that used such a method, the Web site said.

However, clients could easily be tricked using spoofing tools or attacked from HTTP proxy servers or routers used by the SETI@home host machine, according to the advisory.

More than 4 million Internet users have registered with SETI@home. Of those registered users, more than 500,000 are considered "active," having returned data to the main server within the last four weeks, according to the project's Web page.

Buffer overflows. So when are people going to learn that C and C++ are simply unsuitable for most tasks?

 Share Tweet This

general

Conference call Heck

April 7, 2003 23:24:13.693

Tomorrow will be a phone day. I have a call at noon, another at 1, and a third at 2. That will keep me busy for awhile....

 Share Tweet This

cst

VW 7.1 and OS 6.8 NC ready for download!

April 7, 2003 18:46:58.425

The new NC downloads are ready! If you have not registered before, register here. If you have downloaded, either login here, or follow the link we sent you in email. Kudos to the Cincom Smalltalk engineering team for a great release!

 Share Tweet This

BottomFeeder

BottomFeeder Supports RSS Auto-Discovery

April 7, 2003 13:26:30.272

I just finished implementing RSS Auto-Discovery to BottomFeeder. It's only in the dev builds at this point, but it seems to be working well. It was easy enough to implement as well; the hardest part was filtering all the duplicates from syndic8 XML-RPC queries.

What can you do with this now? Well, when adding a feed, if you type something like CNN, BottomFeeder will search the syndic8 site for matches, and then offer to subscribe you to any/all of them. It's pretty cool.

 Share Tweet This

general

Maybe I should not be so SARS complacent...

April 7, 2003 13:00:22.927

Lots of good historical pointers at Bitworking this morning - including this statistic:

The influenza virus had a profound virulence, with a mortality rate at 2.5% compared to the previous influenza epidemics, which were less than 0.1%

Earlier today, I pointed out that SARS had a death toll (thus far) of 3.5%. Hmm. My own grandmother's twin sister died in the flue pandemic in 1918 - this thing will bear watching....

 Share Tweet This

general

SARS?

April 7, 2003 8:38:36.492

It's a good thing that the kill rate of SARS is so low (something like 3.5% IIRC). There's something resembling a minor panic starting over it now; can you imagine what the major media would do with a virus that had numbers like Smallpox?

 Share Tweet This

cst

go see Gordon Mohr's... innovation

April 7, 2003 8:31:36.757

If you want to call it that. It's a geek's Easter breakfast ;)

Gordon Mohr's Easter breakfast

 Share Tweet This

BottomFeeder

Updating the dev builds directory

April 6, 2003 17:57:11.200

I've been leaving the dev builds directories alone, just updating the upgrade directories. Well, I am now updating those as well. That way new downloads should get the latest stuff right off....

 Share Tweet This

general

Travel and Glamor

April 6, 2003 8:57:43.424

Go read Ted Neward's travel thoughts.

Boy, did I ever identify with that.

 Share Tweet This

development

Web Apps, client apps

April 6, 2003 8:48:52.082

I've just read Ted Neward's tips for HTML based apps. They are good ideas, and, if used, will result in a more pleasant end user experience. For instance:

What is it, exactly, that takes an otherwise well-built, well-behaved application and turns it into a snail? A large part of it is the HTML being returned. When an HTML page contains dozens of references to images, large and small, scattered all over the page, the page as a whole seems to drag to a crawl as the browser is forced to go back to the server over and over again to download those images. Yes, the images make the page look pretty, but does the website really need mouse-flyover image-switching graphics buttons for a main menu? Or a footer of ivy leaves twined around the copyright statement? Or the company logo in the upper-left corner of every page? I'll be the first to admit that these things make the page look pretty, but after they've been seen once, they just fade into the background in the user's mind. Worse, though, they still need to be displayed, which means that they still need to be downloaded each and every time. (A good browser will sometimes cache some of the images, but there are limits to what can be cached.) Even beyond that, consider the size of the images themselves--if they're any decent size and color depth at all, they can measure well into the hundreds of kilobytes in size, all of which has to move across the network from server to client.

He goes on with some recommendations, all of which are good - but they raise a simple question in my mind. 20 years ago, we started the migration from server (mainframe) based applications to client (PC) based applications due to - well, pretty much exactly these problems. In fact, a web application is a green screen terminal application with (slowly loading) graphics. So why exactly do we want to deliver applications that way?

In some contexts, it makes a lot of sense. Outside the walls of the business, web apps provide a way of getting feedback from, and getting information to, customers and prospects. We have no control over the platforms those people have, so we have to settle for an LCD solution - a web app. Let's look within the business though - once you get beyond the simple applications, what value is being provided by web apps to your corporate users? Sure, IS can update them easily. On the other hand, delivering patches and/or new versions over the intranet for a client application isn't hard either. You have all that desktop power in front of the users - why throw it away? What many IS groups seem to forget is that the time of their users is important. I've seen web "solutions" to reporting from sales staff that force field sales people to spend 3 and 4 times more time on reporting than they did prior to the roll out of the "productive" web application. There was a reason we abandoned terminal screens; IS organizations would do well to recall those lessons.

 Share Tweet This

development

Agile Methods and feedback

April 5, 2003 23:52:05.621

I posted here and here on a discussion that cropped up on the XP mailing list yesterday. This C2 page summarizes the whole point I was trying to get at nicely.

 Share Tweet This

development

More on Agile Methods

April 5, 2003 21:45:22.590

I posted earlier on an XP mailing list thread - here's more:

Orthogonal to ROI?

egb:Yes, these really are different values - but I am not claiming that they are completely independent values. There is certainly a time value to money, meaning that if you can reduce the time-to-availability, there is indeed an economic value. However, I would argue that minimizing time-to-availability is not necessarily equivalent to maximizing return on investment.

Time to availability is perhaps the most important value.

Egb: In some domains, yes, but it is not fair to generalize this to be the primary value in all domains. If I'm writing embedded software for a toy, accelerated time-to-market has value but there is likely greater value attached to reducing per-unit cost...shaving off cents will make a difference in a mass market item (i.e. spending time to squeeze code into a smaller ROM footprint). If I'm writing an avionics control system, I probably have some hard final code complete date and accelerating availability will likely contribute to risk reduction (and thereby will have some economic value) but my return on investment will likely be more impacted by architectural initiatives that drive to economics of scale.

ok - first off, you picked two rather extreme examples. I'd warrant that most people reading this group are building more prosaic business systems - and in that case, your examples don't mean a lot. But even within those systems:

  • embedded software in toys or games - if you don't get something in front of the customer fast, you have no market. The toy and game markets are perhaps the prime example of time to market being king; spending a lot of time on design in that space will ensure that you never get a product sold, plain and simple.
  • Avionics - economics of scale in the manufacturing sense don't apply the same way to software. we can assemble large factories with machine tools and robots to spew out parts; we can't do anything even vaguely like that in software. I'm not at all sure that I get your point here at all, honestly

...

Why? Because you can then tell whether a development project is on track or off track. Being on or ahead of time has a value of its own, and tends to build ROI (or prove quickly that there will be no ROI).

Egb: yes, but my point is that this does not necessarily optimize ROI....reducing time-to-availability does force early risk identification, which is certainly an element of ROI, but it is not the only element of ROI: what is outsourced? How small do I squeeze down my development staff? Can I achieve some economics of scale by earlier architectural investigation?

IMNSHO, if you are considering outsourcing of development, you better outsource the whole thing. Trying to run product management and design here, and development there (where there is 12 hours in tz distant and the culture is different as well) is a just silly. Those who think otherwise will answer differently when asked "Why not outsource marketing?", or "why not outsource all C level staff?" Economies of scale? In software? I truly have no idea what you mean by that. Large teams of developers are a mistake.

...

and - not to put too fine a point on it - if the cost of developing software gets to be that much of a problem as the business grows, then there is a severe business problem that needs to be fixed.

The cost is a symptom of a much bigger problem in that case.

Egb: if you take the automotive industry as an example, reality is that cost is increasing - and not just the total dollars spent, but the relative dollars spent as a percentage of the cost of a car.

Egb: Does this constitute a

If their costs are rising in a well understood business, they have a problem. It's truly that simple. I don't know what they are doing wrong, but I'm sure that they are, in fact, doing something wrong.

Second, getting features in front of end users quickly is optimizing. Getting them there slowly after some sort of complex ROI process is a fools errand. Why? Because in general, without feedback from actual users, it's unlikely that software that solves real problems will be produced

Egb: so, I think we have the two basic issues at hand: first, you would seem observe that time to availability is the most important value - I would agree with you for certain domains, but I would not agree to the generalized statement of applying this to all domains; second, you would seem to suggest that minimizing time-to-availability is tantamount to maximum ROI - I would agree that there is an influence, but I would again argue that there are many other elements that make up an ROI.

IMHO, it's true for any domain I can think of. In domains where something seems to prevent it, I suggest that the entire development model is screwed up, and needs fixing.

 Share Tweet This

development

ROI and Agile Processes

April 5, 2003 17:38:24.105

I saw this in the XP mailing list on Yahoo. egb refers to Grady Booch, for context purposes.

There aren't 10-12; there's only one:

- minimize the time between specifying a feature and letting end-users benefit from it

egb: It finally strikes me in reading your message why we sometimes see angst from management as to the business value of agile stuff: the characteristic you suggest is orthogonal to return on investment (this is not to say that they are unrelated, but rather that they are very different measures of success and value). Reducing the time-to-availability is certainly a good value to pursue, but it is not the only one that organizations must embrace - as organizations grow larger and the cost of developing software becomes a relatively large capital expense for the business as a whole, achieving a return on investment becomes a greater driving factor.

Orthogonal to ROI? This is exactly what is wrong with BUFD - you spend so much time determining whether a thing is valuable, that by the time it gets delivered, the ROI has approached zero. Time to availability is perhaps the most important value. Why? Because you can then tell whether a development project is on track or off track. Being on or ahead of time has a value of its own, and tends to build ROI (or prove quickly that there will be no ROI). I don't think it would be possible for me to disagree more with the above sentiment.

And - not to put too fine a point on it - if the cost of developing software gets to be that much of a problem as the business grows, then there is a severe business problem that needs to be fixed. The cost is a symptom of a much bigger problem in that case.

 Share Tweet This

development

So close, And yet

April 5, 2003 16:25:05.294

Writing on Eclipse, Ted Leung writes

Carlos responded to my response (Carlos, I was at the IBM Center for Java Technology in Silicon Valley -- I was part of the team that brought you XML4J, now known as Xerces-J.): The Eclipse environment in the programming language arms race is equivalent to those JDAM GPS guided bombs. These weapons are cheap, it changes the battlefield in a revolutionary way. So the next time someone argues to you that C# has a nice syntactic feature, show him how Eclipse makes that irrelevant.

Yes, for the uninformed masses who haven't seen Smalltalk or Lisp. For those of us who have, it's yet more reason to ponder the snails pace of progress in the "mainstream" of development...

 Share Tweet This

humor

Here's a cartoon worth following

April 5, 2003 12:54:58.067

I stumbled across this cartoon recently - very amusing. Something I can definitely identify with...

 Share Tweet This

development

Alan Kay in the News again

April 5, 2003 11:54:47.535

David Buck pointed me to this Slashdot piece this morning. Alan Kay is still doing his The Computer Revolution Hasn't Happened Yet talk. Here's some excerpts:

While at Xerox PARC, Kay invented Smalltalk. Although the present day hot OO languages, Java and C#, make a lot of their C-like syntax, much of their real roots can be found in Smalltalk. In addition to an OO language, Smalltalk was also a development system and an operating system for Smalltalk programs. The five person Smalltalk team at PARC created both the software and the hardware to run it on. As a result, Smalltalk applications performed quite well on these systems.

In the 1980s, Kay explains, Intel and Motorola were not producing processors that could run these higher level languages. As a result, programmers interested in performance were programming in C and early bound languages. When Stroustrop developed C++ he wasn't trying to emulate the work done at PARC, he was creating support for objects using a preprocessor for C. The relationship between C++ and C was much like the relationship between SIMULA and Algol. Kay sees Java as falling between Smalltalk and C++. In some ways it is an improvement, in other ways it is mainly C++ with garbage collection. One of the most obvious deficiencies of Java, says Kay, is that "Java has a difficult time of adding to itself."

Go have a look at the whole article - it's well worth reading

 Share Tweet This

general

Being away for a week meant...

April 5, 2003 0:05:35.833

Missing Angel and 24! Thank goodness for the Replay....

 Share Tweet This
-->