"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.

Search This Blog

Tuesday, May 25, 2004

WikiTravel

Have you seen the Wiki Travel Guide?

Graham Glass on Programming Languages

Graham Glass...

"i truly believe that the days of coding software using low-level languages like java will be over in 5 years or less."
But I'm not sure what Graham means when he writes...
"frankly, i would have written glue and fabric (which would be classified as system-level software) using higher-level tools had they been available."
Graham was a Smalltalk (and Gemstone, I believe) developer before moving to Java. (Somewhere in there with he also worked with C++.) Maybe he was among the legions of Smalltalk developers who assumed it would die under the pressure of Java. Ha!

Belocolus

I have to point to this from Sean McGrath if for no other reason than it uses the term "belocolus".

But there's also some content worth quoting...

Your problems lie in two fundamental concepts that need to be central to how you think about business processes in a distributed world - (a) event driven execution and (b) temporal decoupling.
My problems lie in some other fundamental problems of the enterprise. Nevertheless this quote above is a good one to keep in mind before suffering a vendor or buzzword headspin.

More from the in-depth article...

Are you one of those companies we are constantly told about that is making great headway with Web Services behind the firewall? If so, I suggest you taken a close look at the amount of temporal coupling implied by your model. Remember: upside down is the right way up.

"Nullable Types"

Update: More concerns from Wesner Moise's blog on "Why elevate Nullable Types?". The interactions of complex features just create more complexity. Rigid languages resist change. Flexible languages rarely need to change...

The new nullable types syntax points to a weakness in the design of generics.

The constraints mechanism in CLR generics currently disallows C# operators from being lifted from the underlying base type to their nullable versions.

An explanation of Nullable Types which is a new concept in C# 2.0, as far as I can tell because the language designer did not get the concept of objects quite right. (For earlier evidence, consider the C# concepts of boxing and stack allocated structs vs. objects, read up on their justifications, and then consider the languages that don't expose boxing to the typical developer.)

I assume Nullable Types is a kludge for supporting database programming, because some column for some row might have a value or might be null. Of course, database nulls are themselves a bit of a kludge. They muck up database programming and should generally be avoided. So why move that muck up into the programming language? Again, I guess this is because C# can be used to write stored procedures in the next version of SQL Server. There's enough muck to spread around, hopefully something beautiful might grow from this, but I'm skeptical as usual.

Further muck...

There is special treatment for booleans. Nullable bools are a form of ternary boolean values, which can safely be used in if, for, while conditions and logical expressions without throwing exceptions.
This is assuming one wants Null and False to behave the same. (I assume this is the intended behavior.) This is questionably useful.

Monday, May 24, 2004

Integration Databases

Martin Fowler writes about the difference between an Application Database and an Integration Database. He continues by expressing his favor for a message-based integration rather than an Integration Database.

I dunno. The devil is in the details. Here are some thoughts...

For one thing, message-based solutions are often based on new technology, and often from a new vendor. Even if the quality is good, avoiding vendor lock-in is not easy, even with a "standard" like JMS.

Unless the developers have done message-based implementations already, new skills are needed. If the enterprise has an ERP like SAP R3, then there's another issue to deal with: is the messaging product the "enterprise bus" or is SAP the bus? The answer may not be ideal either way. Going outside of the ERP though can lead to duplicating functionality or at least "rules", and/or lead to too much effort at the boundary between messages and the ERP API.

(This gets better when the ERP implements messaging, but what about those "legacy" message buses?)

The lower the number of applications that need integrating, the more I favor using an Integration Database. Care is still needed if vendor lock-in is to be avoided, but most enterprises I suspect have their databases of choice, SQL Server, MySQL, whatever. The open source databases like MySQL and PostgreSQL are perfect for an Application Database or an Integration Database at very low total cost of ownership.

If one of the systems is an ERP, the more I favor an Integration Database, especially if the developers are familiar with the database technology and unfamiliar with a message-based solution. These databases tend to be an Application Database, although the they could be both: what we're really talking about is Application Data Model and Integration Data Model; both may be present in the same database.

I'd much rather get the best of both the data and message worlds, and more, by using a Tuple Space.

Databases are not hot right now, but they are certainly tried and true, and I bet the enterprise has a better license for them, and more developers who can handle them than it does for messaging. It may not be SOA, but you probably won't be SOL either.

Scheme SYNTAX-RULES How-To

In learning to write Scheme macros, I have noticed that it is easy to find both trivial examples and extraordinarily complex examples, but there seem to be no intermediate ones.

Got that right. Nice.

Improvements needed in VS Team Edition

Steve Loughran writes...

[it] is interesting to see what is in -what MS and their IT department customers think we need. In: all the Rational-class beaurocratic workflow. Not-in: lightweight presence indicators like highlighting who is editing which file.

The other amusing thing is that the Visual Studio Architect Edition doesnt include testing. That's right. Architects design with fancy UML tools; developers are separate people who write tests, testers are people who run them.

The Road from Genera to Longhorn

The Monad Shell in Longhorn would be really cool if the developers thought to use Presentations as found in the Genera Listener and now in the Common Lisp Interface Manager (CLIM).

Hopefully they've read the literature, and maybe own a Symbolics machine.

Blogger Problems

I've never been happy with Blogger. The quality is inconsistent at best, and remains so many months after the Google aquisition.

For example, I have no idea what happened to my "recent posts" on the right side. They disappeared sometime on Sunday.

Another example, I edited my template a week ago or so to remove the CSS indent from paragraphs in the items I post. OK, I need to look up the proper way to do this maybe, to avoid template changes coming from on high. But could I have a warning or a chance to accept the template changes?

Other changes to the template have been preserved. Maybe I just put the CSS changes in the wrong location in the template.

Sunday, May 23, 2004

Smalltalk for Mobile Applications

What do developers of mobile applications need? They need a development and deployment platform that allows them to develop on traditional client platforms as well as on mobile devices. They need a platform that has the same power available on a full-scale platform, without all of the excess that normally comes with that. They need a platform that is easy to work with, and easy to update in the field...

  • Creating software for mobile platforms is expensive. Using Cincom Smalltalk, development can proceed on a "pay as you go" model, driving down upfront development costs.
  • Complete binary portability — Developers selecting Cincom Smalltalk can develop on their favorite platform and then deploy to any other — including Windows® CE, Windows Mobile for Pocket PC, Windows XP Tablet PC Edition and Linux® — with no changes. Cincom Smalltalk supports the x86, XScale, and StrongARM-based mobile devices, as well as standard Windows, UNIX, Mac®, and UNIX workstations and servers.
  • Cincom Smalltalk has been under continuous development and deployment for over 30 years now with great success at a number of Fortune 500 firms. None of the competing solutions can point to a similar record of robustness and maturity.

Longhorn is becoming a Pig Pile

I almost don't know where to begin with this. The pressure is building on Longhorn to be more than magical. Does Microsoft not know how to deliver an evolutionary set of products and services? Is this self-destructive engineering or brilliant business? Or something in between.

Alan also told me that one of his goals was to come up with a unified model for accessing data across most Microsoft programs. It would be nice, for example, to be able to load up Microsoft Money data the same way you can in SQL Server using ADO.NET. If you put aside the emotion and really think about it for a second, that's one of the key reasons they're putting WinFS into Longhorn, to remove the "program-specific silos" that happen in application development today, and allow WinFS to be not only a file storage system, but an information storage system as well...

Microsoft wants to make ObjectSpaces the way IT'S OWN teams get data out of WinFS in the Longhorn time frame... And for most, normal, sane people, this makes a decent amount of sense.

So, ObjectSpaces is an important technology. Microsoft wants to get it right in V1. With every product being relied upon it when Longhorn comes out, they almost don't have a choice in teh matter. They don't want to have to wait for it to be usable until V3, like most Microsoft programs, they want it done right the first time. And that's admirable. It's not like you're not going to see bits shipped in beta form between now and 2006. You'll still get to use it, so what's the big deal?

It's a Vendor Fest

Ted Neward answers the wrong question. The question is not whether these things are needed ("security, transactions, messaging and quality-of-service communications efforts, and so on").

The question is whether the WS-* fiasco is the right approach and result.

I am diabetic...

...and I vote.

Patents

Simson Garfinkel... "Are you Roundup ready?"

And it's just May

Of course, Mr. Moore is being selective in what he chooses to include in his movie; he's a polemicist, not a journalist. But he implicitly raises the issue that much of what we've seen elsewhere during this war, often under the label of "news," has been just as subjectively edited.

WS-Wha?

Jeff Schneider proposes a new WS-* spec on the Service Oriented Architecture Yahoo Group:

"Absolutely Simple Services For Adaptive Content Exchange"

8^)

Movies

Jim is writing about his love of bad movies. This may be a spot to write about Shrek II, although it wasn't bad.

I went reluctantly last night to see Shrek II. I was reluctant because the first Shrek was so good, and the trailer for Shrek II made the latest seem like one of those forced sequels that falls way short of the original.

The trailer did not do justice to the movie. This is a rare instance where the sequel approaches (but does not quite match) the original. In other words, I laughed my ass off.

Saturday, May 22, 2004

MS IBF and Open Office?

Microsoft's Information Bridge Framework looks interesting. Perhaps Open Office and other applications could integrate the same back office data.

IBF will allow developers and information-worker users to expose "enterprise business objects" and then pull them right into their familiar Office documents. (Enterprise business objects, in this context, are entities such as "customers" and "purchase orders.")

Good luck

We declared war on terror. We declared war on terror—it’s not even a noun, so, good luck. After we defeat it, I’m sure we’ll take on that bastard ennui.
Jon Stewart to the William and Mary class of 2004.

On the nature of "new"

Languages where "new" is a special operator rather than a general message are missing the point about objects and messages, even for "new".

Data Models, Data Formats, Data Bases

Fabian Pascal on relational data and XML.

What could happen here?

Government documents (PDF) released under the Freedom of Information Act disclose that on March 13, 1962, the Joint Chiefs of Staff of the United States proposed the following, and other deceptions, to justify a U.S. invasion of Cuba...

  • staging the assassinations of Cubans living in the United States
  • developing a fake "Communist Cuban terror campaign in the Miami area, in other Florida cities and even in Washington"
  • "sink[ing] a boatload of Cuban refugees (real or simulated)"
  • faking a Cuban airforce attack on a civilian jetliner
  • blowing up a U.S. ship in Cuban waters and then blaming the incident on Cuban sabotage
When someone wonders what could happen here, in the 21st century, a citizen is obligated to recall Operation Northwood.

Fortunately we had a president in 1962 who could read, ask questions, comprehend, take a position, and stand up to the generals. What would have happened if we did not have Kenedy in office? What could happen next time if we had a president who were aloof and disengaged?

Using language to dominate politics

George Lakoff, via Keith ray...

Do any of the Democratic Presidential candidates grasp the importance of framing?

None. They don't get it at all. But they're in a funny position. The framing changes that have to be made are long-term changes. The conservatives understood this in 1973. By 1980 they had a candidate, Ronald Reagan, who could take all this stuff and run with it. The progressives don't have a candidate now who understands these things and can talk about them. And in order for a candidate to be able to talk about them, the ideas have to be out there. You have to be able to reference them in a sound bite...

Conservative foundations give large block grants year after year to their think tanks. They say, 'Here's several million dollars, do what you need to do.' And basically, they build infrastructure, they build TV studios, hire intellectuals, set aside money to buy a lot of books to get them on the best-seller lists, hire research assistants for their intellectuals so they do well on TV, and hire agents to put them on TV. They do all of that. Why? Because the conservative moral system, which I analyzed in "Moral Politics," has as its highest value preserving and defending the "strict father" system itself. And that means building infrastructure. As businessmen, they know how to do this very well.

Meanwhile, liberals' conceptual system of the "nurturant parent" has as its highest value helping individuals who need help. The progressive foundations and donors give their money to a variety of grassroots organizations. They say, 'We're giving you $25,000, but don't waste a penny of it. Make sure it all goes to the cause, don't use it for administration, communication, infrastructure, or career development.' So there's actually a structural reason built into the worldviews that explains why conservatives have done better.

Friday, May 21, 2004

Maybe past time?

Steve Loughran...

My closing statement is the mildly controversial one then: the current set of popular "enterprise grade" languages are fundamentally unsuited to loose coupling. It is time to move on.

XML and Data Models

Sean McGrath writes...

Quote from Date defends relational model: "XML is not a real data model." Discuss :-)
The way I see it "XML" is a data format. So then what is a data model?

  • "hierarchy" is a data model
  • "binary tree" is a data model
  • "[un]directed graph" is a data model
  • "star schema" is a data model
  • "table" is a data model
  • "ordered sequence" is a data model
Each of these can be represented in XML files, in a "native" XML database, in a relational database, and in many other formats. How suitable each format is depends on the data and how you intend to use it.

Wednesday, May 19, 2004

Merger?

Should Google and Novell merge? Just a thought.

Tuesday, May 18, 2004

Dear Reader

To those who think I smoke crack or who think I believe every quote I post, here is a disclaimer:

Not true.

Recently Nelson Minar posted some conspiracy theories. This does not necessarily mean Nelson believes those theories unless he clearly states so.

Recently I posted a URL to Nelson's post. This does not necessarily mean I believe those theories, neither did I state so.

So why did I post the URL? Because this is an issue that must be considered:

  • I believe that governments in general should be questioned.
  • I believe that republics should be based on skepticism.
  • I believe there are precedents in this administration as well as previous one that call this current scenario into question.
Have I drawn a conclusion? A conclusion in this case by an average citizen is impossible. But none of us should ever stop questioning.

Thank you for reading my posts, technical, political, and otherwise. These are simply thoughts that are on my mind and I offer them to you as nothing more nor less.

Nelson wonders... "Can I really believe my country would stage this?"

Web Apps and Compound Docs

A very interesting joint position paper from Mozilla and Opera on Web Applications and Compound Documents.

Sunday, May 16, 2004

A principled use of XML?

However, the most powerful reason for devising a new markup language is the very close relationship between elements in a XAML file, and objects at runtime. Unlike any previous markup languages, XAML is designed to integrate directly with WinFX.
Here's one thing I don't get about XAML. Is this a principled use of XML?

One point about XML that is hammered home at every opportunity is the ability to separate an XML document from the implementations of the systems that handle the document.

Yet with XAML we are being told the opposite is the advantage: there is a tight coupling of the contents of a XAML document and the specific implementation intended to process that document.

This seems like trouble to me, down the road, as you'd prefer the ability to evolve the documents and their handlers independently.

Maybe this issue is addressed somewhere, and I'm missing the advantage. It just seems counter to every other promotion of why and how to use XML.

More on Longhorn and Macromedia

Jay Han dives into the line-up of Longhorn vs. Macromedia.

Powell, My Lai, and Iran-Contra

As Powell is pushed back into the Bush administration spotlight as their token moderate, let's not forget his roles in military controversies go as far back as the My Lai massacre cover-up and include the Iran-Contra scandal.

Data Services are a sign of SOA maturation

One sign of readiness of the SOA concept will be patterns incorporating data services. These are just beginning to be discussed, from what I've seen. And so I think SOA is still just a fantasy.

Clemens Vasters discusses patterns of distributed data services. Some interesting ideas, although please try like hell to disentangle the location information from the customer identifier, at least at the service level if not in the legacy data!

Saturday, May 15, 2004

Arianna Online

"How can the United States allow public executions of the Viet Cong?," the distraught military wife asked. "My husband is a prisoner of war in North Viet Nam and I am concerned for his treatment. What has happened to Americans, do we no longer value the ideals that my brother died for in World War Two and we thought my husband fought for in this war?"
Via Arianna Huffington's blog (feed).

Not Ready to Bet on AOP

At some point we need to go beyond AOP. We propose a simple and time-honored solution: to find "good enough" solutions for certain aspects and then to hide them inside abstraction layers.
Aspect-Oriented Programming is a dead end, at least without a simple language as the foundation. Seems like the Oz language may be serve as that foundation, as reported.

IKVM

IKVM is a marvel whose time is yet to come. Why certain companies are not pouring funding into the project is a mystery to me.

IKVM is a translator from Java bytecode to CIL bytecode that will run Java programs in Mono. It's a technical marvel. I've been able to access Java class libraries from Mono, and the other way around. It's a real eye-opener...

Another Sobering Read

From the Washington Post...

THE PRELIMINARY report of the U.S. Commission on Ocean Policy, released last week, is a sobering read -- or perhaps we should say another sobering read. It is the second major report in the past year to detail the dire state of America's coastal waters. Last summer, the Pew Oceans Commission starkly warned that the oceans as we know them will not survive without dramatic policy changes making a commitment to preserve oceanic biodiversity.

Profiting on the Client

There are only three companies that make big profits directly from PCs: Intel, Microsoft and Dell. As I see it, the opportunity going ahead lies in providing software for a monthly subscription fee with thin clients available at costs-plus to drive consumption in the emerging markets.
Is IBM headed in this direction?

On Apple and Steve Jobs

From Forrester on Apple and Steve Jobs. You know you want to read it.

Central

I thought Macromedia Central would have generated more interest or at least more discussion. Is the functionality not needed, or is it needed but just in another format?

For example, the ideas may be right, but they should be delivered in dotnet, Gnome, Mozilla, or Eclipse.

Should these ideas be made avaible to the client in a mix of these technologies? How?

Is it up to the desktop vendor, i.e. Microsoft, to get the ball rolling? Maybe WinFS and Avalon is their answer, and we just have to wait until 2007 or later to find out.

SAP Developers in Bangalore

"We started 2004 with 750 engineers in SAP Labs India. At present we have 900 developers. Before 2004 ends we want to hire 500 engineers more," SAP Labs India joint managing director, Martin Prinz, told PTI from Bangalore.
This is *huge*, and means it's a great time to be an SAP developer in Bangalore. There is a lot of competition for these skills. Of course this is not so good news for SAP's customers trying to hold on to their experienced developers there, at current wages.

The situation is similar to the US about ten years ago, when SAP was rolling out like gangbusters across the states. Developers were hard to come by, especially those with real experience as opposed to those with just one project in one module of R3.

Friday, May 14, 2004

From Harper's Index

Average amount a Bush Cabinet member will save this year due to cuts in capital-gains and dividend taxes : $42,000

Median U.S. household income in 2002 : $42,409

Harper's Index

Two million?

Does BizTalk really consist of nearly 2 million lines of C# code?
Egads.

Advantage, or?

"I think it's a unique competitive advantage that we've focused on this," said J Allard, a corporate vice president on Microsoft's Xbox team who is overseeing the initiative as the company's chief XNA architect.
The quote serves as a reminder that it is not just the developer platform mindset that leads to global domination... Just goes to show that one man's advantage is another man's illegally achieved monopoly. But get over it, right?

Innovation in Privacy and Security

Marc Stiegler illustrates innovation in privacy and security is also associated with dynamic languages. (In Marc's case, E, a secure Lisp/Smalltalk-like language that runs in the JVM.)

you could have one [component] endowed with the power to go to your financial institution domains, and one with the power to go everywhere else (this is not implemented in DarpaBrowser, but it is a straightforward extension). A malicious browser would have trouble stealing your bank password, since the [component] that has the data can't talk to the browser developer's home site
I wonder is someone at Microsoft following these innovations (which are really decades old, yet still innovative and longing to be "mainstreamed"). While Longhorn, in 2007 or so, will bring objects instantiated in XML, databases embedded in the filesystem, and movies playing transparently over your list boxes, would they have the foresight to adopt real innovations into their Palladium designs?

Once again, this innovation in privacy and security, so directly beneficial to the "average consumer", arises naturally from the dynamic, "first-class" objects and functions found in Lisp and Smalltalk even 30-40 years ago. Rigid language syntax checking or type theories will make your systems neither more expressive nor more secure than these simple innovations.

Theory, Practice, and Progress

Related to the "progress from the margins" discussion is the "theory vs.practice" discussion.

Theory is good, and rigid type systems are just bad theory implemented. But even good theory follows practice. Meanwhile the practice advances from the dynamic, non-rigid, margins where free thinkers innovate.

I hope she has long hair this time

Seen on "why the lucky stiff".

Progress from the Margins

All the progress in software is coming from the margins at the moment - people experimenting with Python, Ruby, Smalltalk, Lisp, and other dynamic systems.
The truth of this will become evident as the java and dotnet communities migrate to the languages listed above and their cousins. The arc is long but indisputably pointed in that direction.

Microsoft comments on Microsoft and Games

A comment from Microsoft on why you should be afraid when they enter your market. The reason is exactly the following, no matter what your market is, no matter who you are. Microsoft *gets* this, and you almost certainly do not.

I think the thing that holds them back is it's not in their DNA. Sony is a hardware company and Nintendo is an intellectual property company and we're the software platform company. It is in our DNA, and it is an essential part of our strategy. I think it will fuel incredible category growth and benefit our partners a great deal.

Thursday, May 13, 2004

You want fries with that?

I get excited waiting for a t-shirt to arrive in the mail. What if it were a Symbolics XL1200 Lisp Machine? Glenn Ehrlich is getting one.

The Enemy Within

Why, in the face of rampant looting in the war's aftermath, which dug us into such a deep and costly hole, wouldn't Mr. Rumsfeld put more troops into Iraq? Politics. First of all, Rummy wanted to crush once and for all the Powell doctrine, which says you fight a war like this only with overwhelming force. I know this is hard to believe, but [Rumsfeld] hated Colin Powell, and wanted to see him humiliated 10 times more than Saddam.

Wednesday, May 12, 2004

Tablet PC Test Drive

I was in a store tonight and gave a Tablet PC a test drive for the first time. In fact it was the first Table PC that I've seen.

This model was a "swivel" convertable. The hardware seemed fine. I like the concept, but...

The software sucks. Badly. Really, the pen interface seems slapped on top of the typical mouse-based Windows. And the total experience is *horribly* schizophrenic. The pen/tablet experience is trying to get along with its mouse-based alter ego, but they just seem uncomfortable with each other. Their like relatives who see each other once every year or so. They have something in common, but no deep understanding of each other.

Kind of sad that we're expected to get excited about this in 2004. Hardware vendors who've invested in the Tablet PC should be terribly disappointed that Microsoft has not been able to invest what is needed to do the job right.

I'd probably pay more for a Tablet PC than a notebook, but not $1000 more. But I'd certainly not pay anything at all for the product currently on the shelves. Egads. New level of bad.

Disinfopedia

Have you seen Disinfopedia?

For example, an entry on Operation Rockingham.

What about the seeds?

"Today (the biotech) industry mentioned a number of times that if (the Supreme Court) ruled against them, it would stop the development of new seeds and plants," Schmeiser said. "What about seeds and plants that have been grown and developed by farmers for years?"

Monsanto says if Canada wants to be friendly to innovation -- and business -- the court should rule in the company's favor. About 30,000 farmers in Canada use Monsanto's seeds.

Schmeiser says the canola crop he had developed over a period of 50 years was destroyed when genetically modified seeds blew into his fields from a neighboring farm. He has refused to settle out of court with Monsanto like many other farmers have, and he now owes the company about $140,000 in judgments, has legal fees of $230,000, and has rented out all but 140 acres of his farm. Still, he says he'd do it all over again, because the future of North American farmers depends on the outcome of his case.

Language Matters

Can one think in XBRL?

Tuesday, May 11, 2004

Why?

Question: "Why are languages like C , C#, and Java so prevalent?"
Dave Ungar: "Why do people smoke tobacco?"

Nintendo DS

This Nintendo DS looks spectacular. It has so many functions, and the way it was presented today was very effective in getting all those features out -- the wireless feature, the touchpad feature, the dual-screen feature, one screen in 3D, the other in 2D. So many things that developers can focus on, and so it's not just an add-on product, it's a completely new product, a completely new category.

You Don't Say

Very cool. A 2004 Computerworld Honors Case Study on Kapital, a JP Morgan financial risk management sytem developed and maintained to this day in... Smalltalk.

Kapital started life back in 1992/1993... Technology is essential to the success of any high volume derivative business. The technological underpinning of Kapital is based on one of the earliest and some would say most pure object oriented development languages currently in existence – Smalltalk. The current incarnation of this language called VisualWorks has been married with a database technology called Gemstone. The combination of Smalltalk and Gemstone was the technology of choice at the start of Kapital. It continues to be the technology of choice today...
It's not too late to adopt a language that works!

No Doubt

Sure, there are some genuine improvements in there (e.g. managed code), but most of the changes come down to modernization.

This argument could probably be made about a lot of the technology we consider innovative - it's just a re-invented wheel with a trendy-looking paint job.

The Key

From Jon Udell...

...the key difference, in my view, would be a lower activation threshold and smoother growth curve -- i.e., the ability to start with something simple and concrete, and evolve to the more complex and abstract.

...The "tools will manage the complexity" argument is always compelling, but also always worrisome to me. Over and over again I've seen stupidly simple formats and protocols triumph over highly-engineered counterparts...

"it is surprising that so much of accounting is navigating a hypertext" [David vun Kannon]

The Oil We Eat

A critical essay on the food, oil, security connection from the February 2004 Harper's magazine.

TVRWC

What "vast Right-wing conspiracy"?

The Professional Haskell Programmer?

This illustration of Haskell programming styles left out one example, the professional Haskell programmer. 8^)

int fac(int n) {
    if (n == 0)
	return 1;
    else
	return n * fac(n - 1);
}
(Found via Sean McGrath)

Monday, May 10, 2004

MBF slips into Longhorn

Too bad. I understand (sorta kinda) the bundling idea from a sales and marketing perspective. From a software management perspective, I can't help but think all these various components are over-dependent on each other.

I saw this before and it was a catastrophe.(This guy gets a number of things right about what went wrong). That doesn't mean it's a given in this case, but it should be a heck of a concern for someone.

mozilla is the emacs of browsers

mozilla is the emacs of browsers

Sunday, May 09, 2004

Archives

The old archives are still here. New posts are given their own meaningful URL.

Comments

And now more exciting with comments and maybe even "comment spam".

I've not added comments to my previous posts. If you'd like to comment on one of those, put it here and I'll enable comments on the specific item.

Play nice.

Spreadsheets

The spreadsheet is still the mode of business data. And this is for life threatening issues.

Amin Adatia
KnowTech Solutions Inc

Seen on the dwlist email list.

Hope Yet

Maybe Java softened me up to Python, but it seems that Python has softened me up to LISP.

Saturday, May 08, 2004

Simplicity vs. Rigidity

So JDO is a mess (original report), certainly EJB is a mess (hence JDO), but let's face it, the root cause is the language itself.

First, JDOQL is an abomination. (There I said it.) There are four standard ways of expressing object-oriented queries: query language, query by criteria, query by example and native SQL. JDOQL is none of these.
None of these is going to be very pleasing in a rigid language like Java.

In contrast, consider SchemeQL, or HaskellDB, or ROE for Smalltalk.

The difference between these and options for Java (or C# or VB.Net or C++ or Ada or Pascal or C or...)? The difference is in the simplicity of the root language (and note these are three very different languages, syntactically) as opposed to the rigidity. (Related note.)

Friday, May 07, 2004

The Land Institute

Wes Jackson and the Land Institute in Kansas is the last organization I'll promote tonight. Investments in any of these: Solar Living Institute, Ocean Arks International, or the Land Institute are more permanent investments than could be made anywhere on Wall Street.

True liberty and security requires independence and self-reliability. I found out about the Land Institute's remarkable work to transform agriculture from reading Wendell Berry, who understands the connections we'll need to "place" more than any other poet, writer, or farmer.

Ocean Arks

Ocean Arks International is another organization I followed closely 25 years ago when I was an architecture student, real architecture not software.

If humanity survives the next 100 years with any amount of comfort and health, I will bet many of the ideas will be traceable back to John and Nancy Todd.

They have a Yahoo Group too.

Solar Living

The Solar Living Institute 2004 workshops, includes some telecourses.

Organizations like this are today's pioneers, and we'll be thanking them desperately in 10-20 years.

It's that time again

Here's an essay on XAML. But still, as far as I can tell, XAML is nothing more than a *really* bad implementation of Lisp macros.

Please use the *web* ??

OK, thanks for this presentation. But why can't you just make it a link to a file such that *any* standard browser can grab it?

Really.

It's about time

Certainly one can feel the utter futility of building business processes using ACID transactions as the core building block. That's a strike against EJB at a fundamental level.

The interesting thing is that reasoning about time can be extremely complex however is essential if you want to reason about interaction.

I like discussions like these coming from the Manageability blog.

If you have really simple compensation requirements then congratulations! You are in a minority in my experience.

Why is this so hard?

MS has even forgotten what made Basic productive

Very good point. I have never been a fan of VB (having used it only a few times helping people with course work). But early on I did have great respect for the operating model that emerged among VB developers and "component" developers.

VB.Net is a greater travesty than anything related to Java-like languages. VB.Net is nothing short of a surrender of an emerging ideal of software development. (The vehicles needed improvement, but not surrender.)

That original market today is unfulfilled and open for innovation, from what I can see (or can't).

ReST Tutorial

I can't recall if I've seen this before, it's a straightforward introduction to ReST.

http://www.xfront.com/REST.html

From Mark Baker in the SOA Yahoo Group.

Finally, reality makes an appearance on-stage

Republicans' exasperation with the administration and the president himself was evident in a private meeting of Republican Senate committee chairmen this week in Senate Majority Leader Bill Frist's office. Mr. Frist at one point said he'd like to sit down with Mr. Bush and ask which two or three people in the administration could tell him what's really going on with Iraq, according to one person in the room. "I don't think he knows who could do that," replied Senate Foreign Relations Chairman Richard Lugar.

These are the Republicans dealing with their own administration.

Thursday, May 06, 2004

Speech Acts, Combinators, and ReST: Oh My!

I wish I had the wherewithall to write so much real content...

Another post from Manageability, this time on a speech act approach to coordination, combinators, and ReST.

Divergence and Synchrony

I'm all of a sudden thinking back a few years, to Divergence and Synchrony (PDF), some interesting work from Paul Dourish.

It's one of those works that just pops up in the mind after being tucked away somewhere, so long.

Why Pessimistic Transactions Aren't Practical

On the Manageability blog... "Because it's complex enough."

I love it when I like some item so much I don't have anything more to add.

Astrolabe

Interesting distributed systems research at Cornell.

The last point about a project named Astrolabe caught my eye for a nostalgic reason. Seventeen years ago (oh my...) while at Boeing I wrote a small Scheme system that I called Astrolabe.

There was nothing remarkable about the implementation, but I always thought the name was good for surprisingly simple and versataile technology like Scheme, that itself would someday be replaced by far more powerful instruments.

By the way it is pronounced "ass truh labe" rather than "ass troh labe".

On Directories and Databases

A report from Microsoft on Active Directory vs. "Databases" (my quotations).

Kind of shocking that Microsoft claims their database technology is not good for searching or reading data! (Unfortunately this I believe to be generally true about *most* so called "relational" database technology. Most R&D dollars *have* been put into making them writable as opposed to searchable!)

Also pointed out, and I believe true generally, is that database technology is not very good at replication or distribution! (With either loose or strict consistency.)

Aside --- so what does this predict for WinFS? Either WinFS will suck as bad as today's databases or SQL Server will benefit from all the improvements driven by WinFS.

And in a related note from Gregor Holpe on integration styles...

Why did Moore go with a Disney subsidiary?

Hmm. There's no connection between Disney and the subjects of Moore's film, are there? Let's look...

Disney -> Disney World -> Florida -> Jeb Bush -> Saudis

Well, makes sense Disney would refuse to shed a bad light on the governer of Florida. How is it Moore got hooked up with Mirimax, a Disney company?

Wednesday, May 05, 2004

No need for cynicism here

Steele Price writes about the many UI choices we have, including my odds-on favorite for the long-term...

Our User Interfaces need a huge makeover. SVG has finally matured to the point we can start using it in production and it gives us a root standard for Windows, Linux and the Web.

That SOA Religion

Phil Wainewright comes dangerously close to facing reality in this piece on SAP's approach to SOA. The thing is, no one has ever seen, not to mention built, a "pure SOA" enterprise.

One should be as cautious of fanaticism as they are wary of a vendor's intentions.

What makes a good language for embedded systems?

Reasons to scratch your head over embedded Java or C#...

Solving the problems: Increased reliability, low cost, resource constraints. Dynamic software updates in the field. Real-time capabilities. Rapid development cycles. He poses a question: Is embedded Java the solution?

Answer: real-time in java is no solution. They can't get rapid development time with Java. Doesn't support incremental execution. Quote: "I should know, I've been working with it longer than most and made HotSpot". Virtual machine specification is very complicated. Bytecodes are not designed for speed and compactness. Configuratios for embedded systems too big (CLDC, CDC, more..).

The java embedded system is 1 meg rom, 0.5 meg ram. Resilient (Smalltalk) is 128k for both rom and ram usage.

So we can do it better: Use of safe dynamic programming language. Increase productivity is connected to the running embedded device program, provide incremental execution. Provide debugging support in the product with on-the-fly software updates.

In their example they're making speakers that use fire-wire. Here's the catch. Something goes wrong, customer plugs the speaker in to the internet and the company debugs it over the internet, fixing the problem and pushing the answer back in to the speaker straight away.

For mobile phones, you can push out new service applications on to the phones dynamically because the phone is already on a persistent network.

If you don't know Lisp or Smalltalk, learn them now.

Welcome to Iraq, John Negroponte. And welcome back to the public eye!

On our new ambassador in Iraq...

In 1982, Sister Laetitia Bordes met with John Negroponte, then U.S. Ambassador to Honduras. She was on a fact-finding delegation to investigate the 1981 disappearance of 32 Salvadoran "nuns and women of faith," who had fled to Honduras to escape Contra death squads after the assassination of Archbishop Oscar Romero. Bordes, who worked as a nun in El Salvador for nearly ten years, describes the little that was known about their fate: a few months after the women (among them Romero's former secretary) arrived in Honduras, they were "forcibly taken from their living quarters in Tegucigalpa, pushed in to a van and disappeared." Bordes presented this information to Negroponte, but he denied having "any knowledge of the whereabouts of these women. He insisted that the U.S. Embassy did not interfere in the affairs of the Honduran government and it would be to our advantage to discuss the matter with the latter."

Bordes received no answers until 1996, when Negroponte's predecessor to the Honduran ambassadorship, Jack Binns, spoke with the Baltimore Sun. Binns, who had been removed from his post for repeatedly protesting the human rights violations occuring in Honduras, explained "how a group of Salvadorans, among whom were the women [Bordes] had been looking for, were captured on April 22, 1981, and savagely tortured by the DNI, the Honduran Secret Police, before being placed in helicopters of the Salvadoran military. After take off from the airport in Tegucigalpa, the victims were thrown out of the helicopters. They were turned over to the Salvadoran military and their whereabouts are unknown. Binns told the Baltimore Sun that the North American authorities were well aware of what had happened and that it was a grave violation of human rights. But it was seen as part of Ronald Reagan's counterinsurgency policy."

Tuesday, May 04, 2004

Autonomic doesn't mean easy

Autonomic computing, including self-healing systems, won't make the life of IT any easier, at least according to Tom Sheridan, an MIT professor.

I attended a panel yesterday at IBM's TJ Watson Research Center in Yorktown Heights, NY, in which Sheridan joined IBM's Alan Ganek, IBM's vice president of autonomic computing, among others.

During the discussion Sheridan said: "Autonomics makes the human role more difficult."

Sheridan explained that human jobs will be more abstract, and will be conducted on a higher level than they are currently. So they will demand more expertise.

IBM's Ganek agreed that more will be required of IT workers, and added that autonomic computing is designed to increase productivity.

"We're not going to automate everybody out of a job, but we have to pay attention to how we'll transform those jobs," said Paul Maglio, who manages human system research at IBM's Almaden labs.

Arguments for eating organically grown food.

Also organics are labor-intensive, relatively locally grown, and healthier for the labor as well as for the land.

...just being amazed at being able to select a piece of code and run it, without the need for wrapping it within a Main() method in a test app..... anyways. off to hell.

Another from Sean Malloy, learning Smalltalk at home while working with inferior tools.

Love for the Block object.

...the rules engines that James Owen has been writing about, and the FIT framework that Ward Cunningham has created, point toward a radically altered relationship between software makers and software users. It can't happen too soon.

Jon Udell

Putting Methods in System Objects

Creating new methods on Object By Sean Malloy

Being able to define new methods on existing library classes is where Smalltalk gets some of its power (Allowing you to create amazingly expressive code

Here's an example: distance := (100 miles + 224 kilometers) asMillimeters. (Try and do that in C# and have it read like that!).

And remember, the methods you add to Object only have to make sense for your application.

XML not all that it's cracked up to be? (Breaking eggs for omelettes)

The original architectural pillars of Groove were COM, for software extensibility, and XML, for data extensibility. In V3 the internal XML datastore switches over to a binary record-oriented database.

You can't argue with results: after beating his brains out for a couple of years, Jack can finally point to a noticeable speedup in an app that has historically struggled even on modern hardware. The downside? Debugging. It was great to be able to look at an internal Groove transaction and simply be able to read it, Jack says, and now he can't. Hey, you've got to break some eggs to make an omelette.

Maybe COM is to blame or some other implementation flaw. Plenty of binary storage formats are able to be simply inspected. (Jon Udell's interview with the Groove team.)

In the Groove "Files Tool,"... you're shown what looks like a file in a folder, but is actually an encrypted and synchronized Groove object. Double-clicking the file opens it into its default editor, which may (or may not) reveal the fact that the file has been decrypted to your local temporary directory for viewing and editing. Quitting can result in a two-step tango. First the editor asks if you want to save. Then Groove, detecting changes, asks again: "Do you want to save?" It's the classic dilemma of every document manager that hooks File Open and File Save in order to add value... there's just no way to make this seamless.
Hmm. Doesn't editing an Office document in Share Point provide this seamless interface? Does the public Windows API not have these features for any application's Open and Save events? Sigh.

Sunday, May 02, 2004

Two Americas?

Doctors or other health care providers could not be disciplined or sued if they refuse to treat gay patients under legislation passed Wednesday by the Michigan House.

The bill allows health care workers to refuse service to anyone on moral, ethical or religious grounds.

The Republican dominated House passed the measure as dozens of Catholics looked on from the gallery. The Michigan Catholic Conference, which pushed for the bills, hosted a legislative day for Catholics on Wednesday at the state Capitol.

I am seriously beginning to wonder when the violence will break out. I have little doubt it will be from someone claiming to be a Christian.

The Cost/Benefit of Language Features

JavaWorld has a description of upcoming improvements to the Java language.

I can see the benefit. I wonder how much these features cost?

Disk

The problem: how do you backup a 40 Gig disk? My solution, buy an 80 Gig disk and copy to it. Nothing else was quite as easy or cheap.

Blog Archive

About Me

Portland, Oregon, United States
I'm usually writing from my favorite location on the planet, the pacific northwest of the u.s. I write for myself only and unless otherwise specified my posts here should not be taken as representing an official position of my employer. Contact me at my gee mail account, username patrickdlogan.