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

Search This Blog

Tuesday, May 31, 2005

Good Point

Chris Sells makes a, er, "point"...

The thing that I really need that I'm missing is for my computer, and everyone's computer that I'm conferencing with, to have a stylus attached to their screen. The "let's just sketch something on the white board" is really the last remote collaboration frontier 'til we get some kind of fancy "virtual presence" stuff going.

I don't mean that every computer needs to be a Tablet PC. Frankly, I'm not very productive on a computer that doesn't have a keyboard. But, I want to be able to sketch something right on my computer screen like a tablet can and instantly share it as I do so. Plus, and here's the rub, I want everyone else to have a stylus, too. If they don't, they'll turn to the white board and I'm out of luck across the great divide.

Good point. A freehand drawing and handwriting surface should "just be" part of the standard desktop.

In the Loops

Martin Fowler looks for a rigoruous definition of "agile" software development practices, and measurements of which practices may be more effective than others.

...agile methods fundamentally expect teams to decide what process to follow and furthermore expect teams to actively and regularly change their process. Any attempt to define a rigorous process that can be tested for conformance runs contrary to this philosophy...

How can you do a survey on whether agile methods are more effective that alternatives, or whether Extreme Programming is more effective than Scrum, when you can't get a clear definition of what Scrum is in the first place? If a client wants a system built using Extreme Programming how can they tell if it's really being done?

The first part of the quote above *is* the definition of agile in my experience: if the team decides what to follow and actively improves their performance then they are "being agile". The second part of the quote becomes less interesting in this case.

Comparing textbook definitions to each other is less interesting than comparing an agile team to its own history. If the team is improving then that's the goal.

A useful excercise for a team when considering their own agility is for them to explicitly describe their feedback loops (plural), who should be in their loops for which information, and how are decisions (and their timing) made in each of these loops.

(Hint: many problems in an organization of any size occur, and are therefore obscured, outside the boundaries or on the border of the "team" per se.)

Using this approach Scrum, XP, and other approaches become possible sources of improvement and less a necessarily well-defined instruction manual that can be graded independent of actual performance.

Friday, May 27, 2005

And the Sith Came Tumbling Down

James Robertson defeats the Dark Side with one simple observation...

The characters made stupid choices again and again. Not to mention the improbability surrounding the central fear point of the movie, that Padme would die in childbirth. Apparently, hyperdrive is one thing in the Star Wars galaxy, but knowledge of C-Sections - nope.
Anakin's response: "Oh. Yeah. Good idea."

Monday, May 23, 2005

Still Crazy After All These Years

Via the Utne Reader...

This week Halliburton holds its annual shareholders meeting at the Four Seasons Hotel in Houston. Attendees will toast a whopping 25 percent overall revenue growth thanks to recent work in Iraq. Others will gather outside the swank hotel to protest corporate-cronyism and war-profiteering.
Accountability? America needs you, Harry Truman

SAP, Python, and Passion

Yet?

"Open-source technologies such as Python and PHP, to name just two, are of great interest to college students and younger people with a passion," according to Shai Agassi of SAP's Executive Board. But he doesn't believe there is yet the same enthusiasm for ERP (Enterprise Resource Planning) applications.
Evidence the long-tail may be gaining mind share over the SOA?

Orange Billion Dollars

A.F. reports...

Maher followed by asking Coleman if it struck him as odd that there haven’t been any terror alerts since the election?

After a long laugh from the audience, Coleman answered with some stuff about there still being a high level alert, but then reassured everybody with: "If in fact people used these things for political purposes, I’m sure Congress will look into that."...

Meanwhile, the Coalition Provisional Authority, which we ran, has lost 8.8 billion dollars. By lost, I mean it’s totally unaccounted for. Not only has Congress not "looked into" this $8.8 billion and who might have it now, but it seems that some members are completely unaware that this staggering sum, which was supposed to go toward rebuilding Iraq, is missing. The Sunday morning after the White House Correspondents dinner, I ran into Senator George Allen at a brunch thrown by John McLaughlin and his wife. Allen had never heard of the missing $8.8 billion, or at least that's what he told me. And he's on the Senate Foreign Relations Committee.

Stunned, I went up to Susan Page of USA Today and her husband Carl Lubsdorf of the Dallas Morning News, two veteran Washington political reporters, and told them about Allen’s ignorance of this huge scandal, which has no doubt contributed to hatred for America and the deaths of our troops. There’s less electricity in Iraq now than there was before we invaded Iraq.

Turns out that Page and Lubsdorf had also never heard of the unaccounted-for $8.8 billion. For a moment I thought that maybe I had been imagining things.

Then I spotted my friend Norm Ornstein, scholar from the American Enterprise Institute. "Would you believe it if Norm Ornstein told you about the $8.8 billion?" I asked Susan and Carl.

"Sure."

I brought Norm over, and indeed I had not been imagining things. "It was a huge story," Norm told them.

"Was it in the New York Times?" Carl asked Norm.

"Yes," Norm assured him.

Five Percent

Howard Dean on the Senate...

One of the great geniuses of American democracy, unlike most of the democracies in the world that minority rights are protected, 48 percent of us didn't vote for President Bush, but we still have some say in shaping the agenda of the country. If the filibuster is gotten rid of, the extended debate is gotten rid of in the Senate, first of all, it means the president can put 10 judges on the bench that we believe are not qualified to serve. We've confirmed 205 of his judges. He wants those last 10, so they're willing to change the rules to do it.

But it has much worse implications.

Touch Enough

A.H. observes Tim Russert "interviewing" Howard Dean. As a counterpoint to my last post, what happens when a Democrat does try to really talk about the war in a national forum...

The key exchange came when Dean raised the most critical point about Iraq:

DEAN: Because of the president’s actions, I would argue that we are in greater danger now because of what’s going on in Iraq than we were before. Now there are terrorists in Iraq. They have migrated there since our troops were there.

RUSSERT: Let me stay on your rhetoric…

Nice pivot, Tim. Yes, by all means, let’s stay on Dean’s rhetoric rather than on the insignificant fact that our country is less safe as a result of our invasion of Iraq. Good to see you’ve got your priorities in order.

Another reason why I don't watch "major" news networks.

As I write this one of the best programs for real news and interviews... Democracy Now is on my TV, on a local community cable channel from 5am to 6am M-F. But you can watch it on the Internet too.

Slip Sliding Away

James Boyce writes...

The fact that thousands of young men and women are coming home disabled for life and learning to live on $2,000 a month disability is a disgrace. The future security of our country is at stake because, as an Army recruiter was explaining on a talk show the other night, this is the first “real” extended war the volunteer army has had to fight, and recruiting to actually fight is different than recruiting to train to fight...

I spoke with a top Democratic fundraiser, smart guy, best of the best, and I quote: “The Democratic consultants here in Washington are convinced that the 2008 election will be all about domestic issues.” Sure it will be. Just like the last one was.

Friday, May 20, 2005

POO

Joe Gregorio (BitWorking) smells a missed opportunity...

Personally I think he missed a great opportunity to name it Post Only Once.

Ballmeristic

Steve Ballmer of Microsoft sez of RSS (which one?)...

It is a little too simple, that is also the reason everyone’s using it. We are working on more existing powerful stuff, around XML/web services [sic] that will address many issues beyond RSS. RSS will be around, but whatever we are working next will be cooler and more prevelant.
(via James Robertson)

Thursday, May 19, 2005

muf

Eric Meyer writes...

What’s fascinating is how fired up people get about microformats.
I'm kind of fired up.

Wednesday, May 18, 2005

More Data

IEEE Computer May 5, 2005 Beyond the Relational Database Model David M. Kroenke, University of Washington Former VP of Development at Microrim (R:Base 5000) pp. 89-90

During the next hour or so, I walked her through the process of creating five normalized tables - Customer, Salesperson, Invoice, Line Item, and Item - and hooking them together with foreign keys. Then I explained how to rejoin them to get her sales order back. Long into the call, she asked, "Why am I doing this?"...

After 35 years of computer science and numerous iterations of Moore's 18-month cycles, isn't there a better way?

Data

Communications of the ACM
Volume 48, Number 5 (2005), Pages 111-118
The Lowell database research self-assessment

It is time to stop grafting new constructs onto the traditional architecture of the past. Instead, we should rethink basic DBMS architecture with an eye toward supporting:

  • Structured data;
  • Text, space, time, image, and multimedia data;
  • Procedural data; that is, data types and the methods that encapsulate them;
  • Triggers; and
  • Data streams and queues
as co-equal first-class components within the DBMS architecture—both its interface and its implementation—rather than as afterthoughts grafted onto a relational core...

Many new applications that use DBMSs are going to require unattended operation. In addition to no-knobs tuning, the DBMS must be able to recognize internal malfunctions and malfunctions of communicating components, identify data corruption, detect application failures, and do something about them. Such capabilities require making the DBMS more self-aware and providing it with explicit models of the information system in which it participates...

A small number of slick visualization systems oriented toward information presentation were proposed during the 1980s, notably QBE and VisiCalc. There have not been comparable advances in the last 15 years, and there is a substantial need for better ideas in this area.

Thirty years of research on query languages can be summarized by "we have moved from SQL to XQuery."

First, the database research community should avoid drawing too narrow a box around what we do. We must explore opportunities for combining database and related technologies that can improve the usage of information, such as information visualization technologies, which has often been left to the domain of other research communities. To broaden the set of technologies database researchers apply, they need to expand their breadth of competencies. Consider the plasterers' union, which decided many years ago, when wallboard was being introduced, that it was not their competency. As plaster was replaced by wallboard, the union lost out. This fate could befall the DBMS community if it does not respond to the new challenges of integrating related technologies with information management.

Second, it was noted that the average age of participants at these meetings has been increasing. On the other hand, there are more young database researchers than ever before, as evidenced by the large number of junior faculty in databases. We recommend the next meeting invite a broader mix of age groups within our community.

Coordination vs. Command and Control

From Vanessa Williams we get...

For my taste, Web Services and SOA architecture puts too much emphasis on centralized orchestration and not enough on self-organized, coordinated behaviour in large open systems.

No Regrets

Update: See my response to the comments if you're interested.

I have no regrets having dropped Newsweek about a year ago, what with the Bush administration CBS'ing them and Newsweek having no more backbone than the other "mainstream" corporate media so-called "news" agencies.

For their good behavior, I'm giving Newsweek and its owner, the Washington Post, this week's Yellow Streak Award for Craven Cowardice in Journalism.

As always, the competition is fierce, but Newsweek takes the honors by backing down on Mike Isakoff's exposé of cruelity, racism and just plain bone-headed incompetence by the US military at the Guantanamo prison camp.

Isakoff cited a reliable source that among the neat little "interrogation" techniques used to break down Muslim prisoners was putting a copy of the Koran into a toilet.

In the old days, Isakoff's discovery would have led to Congressional investigations of the perpetrators of such official offence. The Koran-flushers would have been flushed from the military, panels would have been impaneled and Isakoff would have collected his Pulitzer.

No more. Instead of nailing the wrong-doers, the Bush Administration went after the guy who reported the crime, Isakoff...

Have some sympathy for Isakoff: Mike's one darn good reporter, but as an inmate at the Post/Newsweek facilities, his ability to send out serious communications to the rest of the world are limited.

A few years ago, while I was tracking the influence of the power industry on Washington, Isakoff gave me some hard, hot stuff on Bill Clinton -- not the cheap intern-under-the-desk gossip -- but an FBI report for me to publish in the Guardian in England.

I asked Isakoff why he didn't put it in Newsweek or in the Post.

He said, when it comes to issues of substance, "No one gives a shit" -- not the readers, and especially not the editors who assume that their US target audience is small-minded, ignorant and wants to stay that way.

That doesn't leave a lot of time, money or courage for real reporting. And woe to those who practice real journalism. As with CBS's retraction of Dan Rather's report on Bush's draft-dodging, Newsweek's diving to the mat on Guantanamo acts as a warning to all journalists who step out of line.

Newsweek has now publicly committed to having its reports vetted by Rumsfeld's Defense Department before publication. Why not just print Rumsfeld's press releases and eliminate the middleman, the reporter?

The term "pussy whipped" comes to mind.

Delicious

A.H. wonders...

Wouldn’t it be delicious if the female orgasm were the thing that tips the scales in favor of the Intelligent Design crowd? It would make for a great closing argument: "The female orgasm is so complex and strange, it could only have come from God. The reason there is no evolutionary purpose to it is because there is no evolution! God is in the details... and the bedroom. Who needs Darwin when you have the Bible -- and the Jack Rabbit (grown ups only). Case closed. Amen."

Big Ice

Live Science, via Yahoo News...

If B-15A gets stuck, as it has before, researchers fear it could block sea ice behind it, thwarting animals that need to move from shore to the open sea.

B-15A is the largest chunk left of a bigger iceberg, known as B-15, that broke off the Ross Ice Shelf in March 2000. That initial frozen hunk was about the size of Jamaica. After B-15 broke apart, the chunk named B-15A drifted into McMurdo Sound, where it blocked ocean currents and caused other sea ice to build up, threatening wildlife.

Scientists predicted an imminent collision back in January this year. Instead, the iceberg ran aground and stalled out. Then it broke free in March. On the move again, it collided with the Drygalski ice tongue in April, forcing the redraw of Antarctica maps.

Tuesday, May 17, 2005

Missing More Boats?

Chris Anderson has been exploring Python and states...

I've really come to the conclusion that Microsoft is missing the boat around dynamic languages and scripting in general.
Agreed. And yet...
I think that scripting and many dynamic languages are in the same camp. They are great for small applications and writing glue code. Look at Google Maps, the real processing is on the server...

Regardless of the limitations, our singular focus on strongly typed compiled languages has blinded us to the amazing productivity and approachability of dynamic scripting langauges like Python and Ruby.

Python and Ruby are fine languages. Miles ahead of most others. They work well in many situations.

Remember their most common implementations are relatively simple. Don't use them as the benchmark of where the performance can really go, and has been for some time, e.g. in Smalltalk, Common Lisp, and Scheme where more attention has been paid to efficient implementations.

Microsoft will be missing a huge opportunity if they settle for current Python and Ruby performance as their "scripting" language par. The first step toward this new consciousness would be to stop using the term "scripting". Call them "dynamic" or "agile" or something that does not connote just slow "glue".

Check out JP Morgan's KAPITAL system in Smalltalk. This is the engine, not the glue. Don't miss the boat.

Decidedly Unwiki-like

Jotspot is about as cool as it gets. But when you are dealing with stuff like this can it fairly be called a wiki?

<wiki:search forAll="true" filter="it/ActualTimeForm/iteration=args/iteration" />
<wiki:var var="totalSpent" value="${0}" />
<wiki:var var="totalRemaining" value="${0}" />
<wiki:loop>
  <wiki:var key="ms" value="${it/ActualTimeForm/timeSpent/milliseconds}" />
  <wiki:var key="totalSpent" value="${totalSpent + ms}" />
  <wiki:var key="ms" value="${it/ActualTimeForm/timeRemaining/milliseconds}" />
  <wiki:var key="totalRemaining" value="${totalRemaining + ms}" />
</wiki:loop>
<wiki:var key="percent" value="${round(totalSpent div (totalSpent + totalRemaining) * 100)}%" />
@chart
<div style="width:100%; border: 1px solid black; padding:0px; background-color:red">
  <div style="background: green; width: ${percent}; margin: 0px;text-align: center; color: #ddd">
  ${percent}
  </div>
</div>
@chart

Accounting for the Long Tail

The Accounts framework and other Adaptive Object Models provide more support for long-tail notions in software...

A system with an Adaptive Object-Model has an explicit object model that it interprets at run-time. If you change the object model, the system changes its behavior. For example, a lot of workflow systems have an Adaptive Object-Model. Objects have states and respond to events by changing state. The Adaptive Object-Model defines the objects, their states, the events, and the conditions under which an object changes state. Suitably privileged people can change this object model "without programming". Or are they programming after all? Business rules can be stored in an Adaptive Object-Model that makes it easy to evolve the way a company does their business.
And then [micro-]workflow. (But the site was having trouble today)

Experiments with OVAL

Tom Malone, et al. of MIT Sloan School addressed the long-tail of software some time ago (throughout the 1980's and then some). Their work resulted in more than a handful of useful papers and several generations of useful software written in a few dialects of Lisp (ultimately Macintosh Common Lisp). I wonder what happened to the software.

Demonstrating the range of software that could be addressed with little effort, one of the most ignored reports of all time in software has to be "Experiments with OVAL"...

This paper describes a series of tests of the generality of a "radically tailorable" tool for cooperative work. Users of this system can create applications by combining and modifying four kinds of building blocks: objects, views, agents, and links. We found that user-level tailoring of these primitives can provide most of the functionality found in well-known cooperative work systems such as gIBIS, Coordinator, Lotus Notes, and Information Lens. These primitives, therefore, appear to provide an elementary "tailoring language" out of which a wide variety of integrated information management and collaboration applications can be constructed by end users.
"Objects" in OVAL are essentially just like "objects" in JSON, i.e. they are name/value pairs. The main difference is there is a templating mechanism and one can inherit from another. There are no "methods" associated with objects, but rule-based actions are based on "duck typing", in this case the names and values an object has.

Monday, May 16, 2005

Content and Presentation

Sean McGrath raises the fuzzy boundary between content and presentation. My thoughts on the matter...

The concern about content vs. presentation is based in code maintenance. The model-view-controller design allows the model and the view to change independently (controller has remained a bit of a bear).

This separation is less of a concern on the web, although adapting content to multiple presentations is more than desirable. For example, "micro-formats" that embed content within HTML (which is perhaps 'semi-presentational'?) such that CSS can style based on more content-specific content than HTML itself, and such that automated systems can ignore the presentation and drive actions based on the content.

Supposedly the automated systems should care less if the presentation aspects of the format changes and vice versa. Agile data formats and processors should have less to do with a content/presentation dichotomy, and have more to do with semi-structured data, i.e. whether or not the document has enough information of the expected kind to do useful work.

Not Elegant?

Dynamic ("scripting" in this article) languages continue to gain more attention. Play along at home. Spot the misconceptions...

"Scripting (languages are) just getting more popular and powerful simply because they're easy to use," said Tim Huckaby, CEO of consulting firm and Microsoft partner InterKnowlogy. "It's all about time to market and money, not about how elegant it is underneath."

Another XP Code Sprint

Another Portland code sprint will be held at Free Geek on May 25-26 from 6:30pm each evening. Free Geek has some of their own compute power available if you don't want to mess with your own.

Jeff Freyley, one of the organizers, writes...

This will be a language neutral Sprint, so remember: language wars can only be settled by tree-climbing contests at midnight, not by words.

Wednesday, May 11, 2005

Jython Integers

Moving Python and other dynamic languages to the popular rigid virtual machines should preserve Python behavior while providing access to the host language and platform capabilities.

When I used Jython a couple years ago I guess I did not stress this behavior. And so today I am a bit surprised to see the following in Jython 2.1...

>>> java.lang.Integer.MAX_VALUE
2147483647
>>> n = java.lang.Integer.MAX_VALUE
>>> n
2147483647
>>> n.__class__

>>> n + 1
Traceback (innermost last):
  File "", line 1, in ?
OverflowError: integer addition: 2147483647 + 1
>>>
Comments

It is a correct behavior. Try evaluating "sys.maxint + 1" on CPython 2.1...

If you do "sys.maxint + 1L", (note "L") it works both on CPython 2.1 and Jython 2.1.

End Comments

OK. So the goal becomes getting Jython up to 2.4 or at least the version past CPython 2.1 where both sys.maxint + 1L and sys.maxint + 1 do the (same) right thing.

Thanks

The Age of the Dynamic

Update: It looks like IronPython could become a preferred approach to programming Avalon.

I define a new type in python, with *no properties*. I then dynamically assign anything to the objects with the name "name" and "value"... everything else is Avalon + Python goodness... oh yeah!
What's that buzz I hear?

End Update

Dynamic languages continue their dance with the Big Boyz.

All in due time. All in due time.

Information Overlord?

Philip Greenspun on Longhorn and file systems in general...

The average household user of a personal computer doesn't need anything with many more features than the Palm OS or Microsoft Outlook and probably has far fewer megabytes of documents than he or she has of archived email.
Information overlord?

Empirical Evidence And Analytical Reasoning

Bob Martin writes about the interplay of test-driven development and analytical reasoning.

Techniques such as TDD are valuable empirical techniques that can create the dots; but you need reasoned analysis to connect those dots. A suite of tests shows you that a program behaves as expected for discrete situations. Analytical reasoning tells you how you can generalize those situations.

AJAX

On the Ajaxian blog...

Google is the science fair of Ajax.

Live Action

James Roberston...

The nice thing is that I could experiment on live data in a running application. Here's a screenshot of the resulting inspector...

Tuesday, May 10, 2005

Navigation in Avalon

Ed Kaim writes about Avalon...

If you look at how the Web works, it's a "Web" because of the way you can hop from one site to another and criss-cross your way from anywhere to anywhere else. The integration isn't complex--it's basically HREFs, POSTs, and GETs. What these enable, however, is a way to write large systems to address business needs in such a way that they are really a set of smaller building block applications that can be glued together (often dynamically).

In contrast, Windows client programming today (Win32, .NET, J2SE, whatever) has a programming model that is much less conducive to integration... While there are tons of sexy features coming in Avalon, my money is on navigation as the single most important feature.

Monday, May 09, 2005

Greasemonkey and the Treaty of Orlando

Babak Nivi suggests...

Greasemonkey is to websites what inheritance is to objects in object-oriented programming.
But of course this is not correct. 8^)

As per Henry Liberman, this is clearly a delegation-based approach using web sites as prototypes.

(via Sam Ruby)

Impeachment Time

Greg Palast, former columnist for Britain's Guardian papers, author of the New York Times bestseller, The Best Democracy Money Can Buy, writes...

Now sharp readers may note they didn't see this memo, in fact, printed in the New York Times. It wasn't. Rather, it was splashed across the front pages of the Times of LONDON on Monday.

But in the US, barely a word. The New York Times covers this hard evidence of Bush's fabrication of a casus belli as some "British" elections story. Apparently, our President's fraud isn't "news fit to print."

The Republicans impeached Bill Clinton over his cigar and Monica's affections. And the US media could print nothing else.

Now, we have the stone, cold evidence of bending intelligence to sell us on death by the thousands, and neither a Republican Congress nor what is laughably called US journalism thought it worth a second look.

My friend Daniel Ellsberg once said that what's good about the American people is that you have to lie to them. What's bad about Americans is that it's so easy to do.

Sunday, May 08, 2005

Trouble Ahead

...or below, depending on the metaphor.

Warren Buffett and Charles Munger, via Philip Greenspun...

Some people seem to think there's no trouble... just because it hasn't happened yet. If you jump out the window at the 42nd floor and you're still doing fine as you pass the 27th floor, that doesn't mean you don't have a serious problem.

Thursday, May 05, 2005

SOA vs. the Long Tail

Phil Windley on SOA.

Knowing about the financials process in some detail, I can attest that spreadsheets are involved in all aspects from forecasting to closing the books. Even when enterprise software is applied, there is a good bit of export to Excel, do the work, import to the enterprise systems.

Now, tie this in with recent efforts like Jotspot, Smallthought, and 37Signals, et al. where they are trying to address that "long tail" of software in a better way than Excel, Access, etc. (Note: in some cases incorporating Excel. Side note: all three of these efforts have embraced dynamic languages.)

This is where the big enterprise companies like SAP, Peoplesoft, etc. could focus some attention. Those of us working with these enterprise systems spend a lot of time at the interfaces of those systems with the rest of the enterprise. They do not support the "long tail" that exists within the enterprise, and moving to J2EE, Indigo, SOA, "portals", etc. is not addressing the *real* problem either.

We don't need a high-tech SOA as much as we need better "long tail" support. SOA is more for geeks than for enterprises. The enterprise vendor that figures out how to make SOA just a bunch of uninteresting plumbing underneath really good "long tail" support could end up a *big* winner.

Tuesday, May 03, 2005

Announcing json-py

Updates from the comments:

Ian Bicking suggests doctest would be more appropriate than unittest. I would have to agree, if I were enough of a Python programmer to know to use doctest. Each unit test is a couple of lines long, so I should move them to doctests with little trouble.

Eric Thompson wonders about support for tuples. The JSON array syntax looks like Python's list syntax, so I chose read to produce lists. JSON only has "objects" (dictionaries) and "arrays" (could be lists or tuples) for data structures. The write function could accept either lists or tuples and produce JSON arrays. Currently only lists are implemented. I'm open to suggestions.

End Update

I wrote a JSON reader and writer in Python over the last few days. Today sourceforge approved and created the project, and the files are ready for download.

It's "pure" Python 2.4 and has no other dependencies. Most of JSON is implemented, which is not much, coming in at about 200 LOC. The missing piece is the \uXXXX notation for hex Unicode characters. There's probably some missing functionality in the writer, e.g. writing escaped characters correctly, because I've mostly needed the reader so far.

There's one other Python implementation I know of and I think this new one is a good bit more correct and complete. There are 40 some unit tests, just enough to get my needs met. They do not exhaustively stress the specification yet.

There are several implementations in other languages. JSON can be used in AJAX-based systems in lieu of XML. In my case I've been using JSON for simple, yet expressive, configuration files. (I had set out to use YAML. Although simpler than XML it is still a good bit more complex than JSON.)

[Update: Jeremy Kemper points out in a comment that JSON is a subset of YAML. I think it is a sweet spot.]
Not as feature-rich as XML, I think the intent is to keep JSON per se as simple as it is, and layer conventions using JSON itself to represent more complex information (datetime, location, customer, etc.) and "metadata" (version, author, etc.). Don't let the "O" in JSON throw you. An "Object" in JSON is simply a dictionary in Python (and Map in Java), i.e. a set of name/value pairs.

https://sourceforge.net/projects/json-py

The Architecture of the Mobius Strip

Phil Windley and Don Box are wondering about levels of indirection. But are "levels" the best metaphor for where we are in networking today?

"the costs and benefits of indirection layers are well understood"
Generally I agree we can say there are costs *and* benefits, and we know what to look for in terms of "coupling loosely" and measuring impacts.

But in this case is SOAP *another* level of indirection vs. HTTP or just an *alternate* level of indirection? i.e. should we perhaps expect HTTP in more places than we have it today if we look at HTTP as an application protocol rather than a transport protocol?

For example, consider the Java peer-to-peer sockets project. Any application protocol implemented using sockets can run on some peer-to-peer topology. We seem to be in a world that is more like a mobius strip than the expected seven-layer model!

Is HTTP itself a level of indirection, and is it sufficent for machine-machine coordination on the web? If so, then the cost of SOAP (and so some or all of WS-*) as another level of indirection may have a cost that is too high, actually unnecessary.

Monday, May 02, 2005

More Evidence of Sanity in the World

Spain: Gay Marriage Will Soon Be Authorized
Le Nouvel Observateur

Wednesday 21 April 2005

The Congress has adopted a proposed law authorizing marriage between persons of the same sex as well as adoption. Senators are also expected to give their approval. It is anticipated that the law will be implemented this summer.

Symposium on Dynamic Languages

In conjunction with OOPSLA...

ACM Symposium on Dynamic Languages
October 18, 2005, San Diego, California

The goal of this symposium is to provide a highly visible, international forum for researchers working on dynamic features and languages. We explicitly invite submissions from all kinds of paradigms (object-oriented, functional, logic, ...), as can be seen from the structure of the program committee.

More steam.

Angles

Ryan Dawson ponders Tiger and Longhorn...

Business is consistently coded in angle brackets--where platforms don't matter... we need people who find the real problems... How many times have you read the Clue Train Manifesto?

AJAX + CANVAS = Good enough?

Apparently Mozilla (and so Firefox) are getting the element (similar to Safari) and adopted by WHATWG (and so Opera). Whence IE?

(Via Sam Ruby)

Sunday, May 01, 2005

Web Algebra

Murray Spork writes in a comment on Bill de hÓra's blog...

I've been saying for a while now that what the Semantic Web needs is more algebra and less logic. - for example the "additive" and "subtractive" qualities of RDF that Bill talks about.

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.