Have you seen the Wiki Travel Guide?
"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.
Search This Blog
Tuesday, May 25, 2004
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
[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...
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.
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".
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
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?
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
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
Wednesday, May 19, 2004
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.
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.
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.
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?
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
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 siteI 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.
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.
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.
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.
The Professional Haskell Programmer?
This illustration of Haskell programming styles left out one example, the professional Haskell programmer. 8^)
(Found via Sean McGrath)
int fac(int n) {
if (n == 0)
return 1;
else
return n * fac(n - 1);
}
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.
Sunday, May 09, 2004
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.
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.
Also organics are labor-intensive, relatively locally grown, and healthier for the labor as well as for the land.
Another from Sean Malloy, learning Smalltalk at home while working with inferior tools.
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 codeAnd remember, the methods you add to Object only have to make sense for your application.Here's an example: distance := (100 miles + 224 kilometers) asMillimeters. (Try and do that in C# and have it read like that!).
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.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 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.
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
Blog Archive
-
▼
2011
(19)
- ► 08/21 - 08/28 (5)
- ► 07/17 - 07/24 (1)
- ► 04/03 - 04/10 (3)
- ► 03/27 - 04/03 (5)
- ► 03/20 - 03/27 (1)
- ► 03/13 - 03/20 (1)
- ► 03/06 - 03/13 (1)
-
►
2010
(2)
- ► 11/07 - 11/14 (2)
-
►
2009
(40)
- ► 06/07 - 06/14 (2)
- ► 05/31 - 06/07 (1)
- ► 05/17 - 05/24 (1)
- ► 04/05 - 04/12 (2)
- ► 03/22 - 03/29 (7)
- ► 03/15 - 03/22 (1)
- ► 03/08 - 03/15 (4)
- ► 03/01 - 03/08 (2)
- ► 02/22 - 03/01 (1)
- ► 02/15 - 02/22 (5)
- ► 02/08 - 02/15 (1)
- ► 02/01 - 02/08 (7)
- ► 01/25 - 02/01 (2)
- ► 01/04 - 01/11 (4)
-
►
2008
(402)
- ► 12/28 - 01/04 (12)
- ► 12/14 - 12/21 (3)
- ► 12/07 - 12/14 (10)
- ► 11/30 - 12/07 (14)
- ► 11/23 - 11/30 (7)
- ► 11/16 - 11/23 (14)
- ► 11/09 - 11/16 (7)
- ► 11/02 - 11/09 (11)
- ► 10/26 - 11/02 (14)
- ► 10/19 - 10/26 (10)
- ► 10/12 - 10/19 (11)
- ► 10/05 - 10/12 (16)
- ► 09/28 - 10/05 (26)
- ► 09/21 - 09/28 (16)
- ► 09/14 - 09/21 (3)
- ► 09/07 - 09/14 (9)
- ► 08/31 - 09/07 (8)
- ► 08/24 - 08/31 (10)
- ► 08/17 - 08/24 (12)
- ► 08/10 - 08/17 (4)
- ► 08/03 - 08/10 (5)
- ► 07/27 - 08/03 (10)
- ► 07/20 - 07/27 (6)
- ► 07/13 - 07/20 (7)
- ► 07/06 - 07/13 (3)
- ► 06/29 - 07/06 (8)
- ► 06/22 - 06/29 (6)
- ► 06/15 - 06/22 (5)
- ► 06/08 - 06/15 (10)
- ► 06/01 - 06/08 (4)
- ► 05/25 - 06/01 (5)
- ► 05/18 - 05/25 (6)
- ► 05/11 - 05/18 (3)
- ► 05/04 - 05/11 (7)
- ► 04/27 - 05/04 (7)
- ► 04/20 - 04/27 (7)
- ► 04/13 - 04/20 (6)
- ► 04/06 - 04/13 (9)
- ► 03/30 - 04/06 (7)
- ► 03/23 - 03/30 (5)
- ► 03/16 - 03/23 (15)
- ► 03/09 - 03/16 (7)
- ► 03/02 - 03/09 (5)
- ► 02/24 - 03/02 (4)
- ► 02/17 - 02/24 (2)
- ► 02/10 - 02/17 (3)
- ► 02/03 - 02/10 (1)
- ► 01/27 - 02/03 (8)
- ► 01/20 - 01/27 (4)
- ► 01/13 - 01/20 (3)
- ► 01/06 - 01/13 (7)
-
►
2007
(388)
- ► 12/30 - 01/06 (11)
- ► 12/16 - 12/23 (5)
- ► 12/09 - 12/16 (3)
- ► 12/02 - 12/09 (5)
- ► 11/25 - 12/02 (5)
- ► 11/18 - 11/25 (4)
- ► 11/11 - 11/18 (4)
- ► 11/04 - 11/11 (11)
- ► 10/28 - 11/04 (11)
- ► 10/21 - 10/28 (3)
- ► 10/14 - 10/21 (6)
- ► 10/07 - 10/14 (5)
- ► 09/30 - 10/07 (18)
- ► 09/23 - 09/30 (13)
- ► 09/16 - 09/23 (9)
- ► 09/09 - 09/16 (12)
- ► 09/02 - 09/09 (15)
- ► 08/26 - 09/02 (2)
- ► 08/19 - 08/26 (8)
- ► 08/12 - 08/19 (25)
- ► 08/05 - 08/12 (7)
- ► 07/29 - 08/05 (8)
- ► 07/22 - 07/29 (2)
- ► 07/15 - 07/22 (4)
- ► 07/08 - 07/15 (11)
- ► 07/01 - 07/08 (3)
- ► 06/24 - 07/01 (8)
- ► 06/17 - 06/24 (4)
- ► 06/10 - 06/17 (17)
- ► 06/03 - 06/10 (6)
- ► 05/27 - 06/03 (12)
- ► 05/20 - 05/27 (5)
- ► 05/13 - 05/20 (15)
- ► 05/06 - 05/13 (10)
- ► 04/29 - 05/06 (14)
- ► 04/22 - 04/29 (5)
- ► 04/15 - 04/22 (6)
- ► 04/08 - 04/15 (16)
- ► 04/01 - 04/08 (8)
- ► 03/25 - 04/01 (5)
- ► 03/18 - 03/25 (3)
- ► 03/11 - 03/18 (3)
- ► 03/04 - 03/11 (5)
- ► 02/25 - 03/04 (1)
- ► 02/18 - 02/25 (4)
- ► 02/04 - 02/11 (10)
- ► 01/28 - 02/04 (11)
- ► 01/21 - 01/28 (2)
- ► 01/14 - 01/21 (1)
- ► 01/07 - 01/14 (7)
-
►
2006
(261)
- ► 12/31 - 01/07 (7)
- ► 12/24 - 12/31 (13)
- ► 12/17 - 12/24 (6)
- ► 12/10 - 12/17 (7)
- ► 12/03 - 12/10 (6)
- ► 11/26 - 12/03 (1)
- ► 11/19 - 11/26 (5)
- ► 11/05 - 11/12 (2)
- ► 10/29 - 11/05 (4)
- ► 10/22 - 10/29 (5)
- ► 10/15 - 10/22 (2)
- ► 10/08 - 10/15 (3)
- ► 10/01 - 10/08 (9)
- ► 09/24 - 10/01 (8)
- ► 09/17 - 09/24 (1)
- ► 09/10 - 09/17 (5)
- ► 09/03 - 09/10 (6)
- ► 08/27 - 09/03 (2)
- ► 08/13 - 08/20 (9)
- ► 08/06 - 08/13 (6)
- ► 07/30 - 08/06 (6)
- ► 07/23 - 07/30 (6)
- ► 07/16 - 07/23 (3)
- ► 07/09 - 07/16 (2)
- ► 07/02 - 07/09 (2)
- ► 06/25 - 07/02 (10)
- ► 06/18 - 06/25 (9)
- ► 06/11 - 06/18 (10)
- ► 06/04 - 06/11 (6)
- ► 05/28 - 06/04 (9)
- ► 05/21 - 05/28 (9)
- ► 05/14 - 05/21 (3)
- ► 05/07 - 05/14 (4)
- ► 04/30 - 05/07 (10)
- ► 04/23 - 04/30 (1)
- ► 04/16 - 04/23 (2)
- ► 04/09 - 04/16 (4)
- ► 04/02 - 04/09 (4)
- ► 03/19 - 03/26 (9)
- ► 03/12 - 03/19 (11)
- ► 03/05 - 03/12 (1)
- ► 02/26 - 03/05 (5)
- ► 02/19 - 02/26 (14)
- ► 02/12 - 02/19 (2)
- ► 02/05 - 02/12 (1)
- ► 01/29 - 02/05 (1)
- ► 01/22 - 01/29 (2)
- ► 01/01 - 01/08 (8)
-
►
2005
(335)
- ► 12/25 - 01/01 (9)
- ► 12/18 - 12/25 (4)
- ► 11/27 - 12/04 (1)
- ► 11/20 - 11/27 (1)
- ► 11/13 - 11/20 (1)
- ► 10/23 - 10/30 (1)
- ► 10/16 - 10/23 (2)
- ► 10/09 - 10/16 (3)
- ► 10/02 - 10/09 (11)
- ► 09/18 - 09/25 (4)
- ► 09/11 - 09/18 (4)
- ► 09/04 - 09/11 (1)
- ► 08/28 - 09/04 (7)
- ► 08/21 - 08/28 (10)
- ► 08/14 - 08/21 (6)
- ► 08/07 - 08/14 (2)
- ► 07/31 - 08/07 (16)
- ► 07/24 - 07/31 (5)
- ► 07/17 - 07/24 (6)
- ► 07/10 - 07/17 (5)
- ► 06/19 - 06/26 (1)
- ► 05/29 - 06/05 (7)
- ► 05/22 - 05/29 (7)
- ► 05/15 - 05/22 (16)
- ► 05/08 - 05/15 (10)
- ► 05/01 - 05/08 (8)
- ► 04/24 - 05/01 (6)
- ► 04/03 - 04/10 (7)
- ► 03/27 - 04/03 (19)
- ► 03/20 - 03/27 (15)
- ► 03/13 - 03/20 (27)
- ► 03/06 - 03/13 (7)
- ► 02/27 - 03/06 (16)
- ► 02/20 - 02/27 (7)
- ► 02/13 - 02/20 (10)
- ► 02/06 - 02/13 (23)
- ► 01/30 - 02/06 (4)
- ► 01/23 - 01/30 (12)
- ► 01/16 - 01/23 (15)
- ► 01/09 - 01/16 (2)
- ► 01/02 - 01/09 (17)
-
►
2004
(534)
- ► 12/26 - 01/02 (18)
- ► 12/19 - 12/26 (5)
- ► 12/12 - 12/19 (5)
- ► 12/05 - 12/12 (25)
- ► 11/28 - 12/05 (8)
- ► 11/21 - 11/28 (3)
- ► 11/14 - 11/21 (4)
- ► 11/07 - 11/14 (7)
- ► 10/31 - 11/07 (13)
- ► 10/24 - 10/31 (7)
- ► 10/17 - 10/24 (10)
- ► 10/10 - 10/17 (15)
- ► 10/03 - 10/10 (1)
- ► 09/19 - 09/26 (9)
- ► 09/12 - 09/19 (4)
- ► 09/05 - 09/12 (4)
- ► 08/29 - 09/05 (9)
- ► 08/08 - 08/15 (11)
- ► 08/01 - 08/08 (4)
- ► 07/11 - 07/18 (12)
- ► 07/04 - 07/11 (19)
- ► 06/27 - 07/04 (12)
- ► 06/20 - 06/27 (7)
- ► 06/13 - 06/20 (5)
- ► 06/06 - 06/13 (1)
- ► 05/30 - 06/06 (8)
- ► 05/23 - 05/30 (27)
- ► 05/16 - 05/23 (16)
- ► 05/09 - 05/16 (36)
- ► 05/02 - 05/09 (31)
- ► 04/25 - 05/02 (13)
- ► 04/18 - 04/25 (25)
- ► 04/11 - 04/18 (15)
- ► 03/28 - 04/04 (9)
- ► 03/21 - 03/28 (12)
- ► 03/14 - 03/21 (9)
- ► 03/07 - 03/14 (7)
- ► 02/29 - 03/07 (16)
- ► 02/22 - 02/29 (11)
- ► 02/15 - 02/22 (6)
- ► 02/08 - 02/15 (8)
- ► 02/01 - 02/08 (9)
- ► 01/25 - 02/01 (18)
- ► 01/18 - 01/25 (12)
- ► 01/11 - 01/18 (14)
- ► 01/04 - 01/11 (14)
-
►
2003
(286)
- ► 12/28 - 01/04 (7)
- ► 12/21 - 12/28 (10)
- ► 12/14 - 12/21 (5)
- ► 11/30 - 12/07 (5)
- ► 11/23 - 11/30 (5)
- ► 11/16 - 11/23 (2)
- ► 11/09 - 11/16 (3)
- ► 10/26 - 11/02 (6)
- ► 10/19 - 10/26 (9)
- ► 10/12 - 10/19 (8)
- ► 10/05 - 10/12 (5)
- ► 09/28 - 10/05 (3)
- ► 09/21 - 09/28 (3)
- ► 09/14 - 09/21 (4)
- ► 09/07 - 09/14 (3)
- ► 08/31 - 09/07 (6)
- ► 08/24 - 08/31 (12)
- ► 08/17 - 08/24 (3)
- ► 08/10 - 08/17 (6)
- ► 08/03 - 08/10 (8)
- ► 07/27 - 08/03 (9)
- ► 07/20 - 07/27 (5)
- ► 07/13 - 07/20 (8)
- ► 07/06 - 07/13 (15)
- ► 06/29 - 07/06 (12)
- ► 06/22 - 06/29 (5)
- ► 06/15 - 06/22 (6)
- ► 06/08 - 06/15 (1)
- ► 06/01 - 06/08 (5)
- ► 05/18 - 05/25 (7)
- ► 05/11 - 05/18 (9)
- ► 05/04 - 05/11 (13)
- ► 04/27 - 05/04 (9)
- ► 04/20 - 04/27 (4)
- ► 04/13 - 04/20 (10)
- ► 04/06 - 04/13 (15)
- ► 03/30 - 04/06 (7)
- ► 03/23 - 03/30 (13)
- ► 03/16 - 03/23 (9)
- ► 03/09 - 03/16 (3)
- ► 03/02 - 03/09 (8)
About Me
- Patrick Logan
- 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.