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

Search This Blog

Saturday, November 01, 2003

MIT World Videos

When you get tired of TV (can't every show just be called "Crime Scene Law and Orderly, Miami style"?), you can turn to a new source of video fun and education at MIT World. A friend turned me on to this site this week, and I've been enjoying several very different sessions.

Oh, and they have an RSS feed.

Snow

OK... it was cold enough to snow here, at least over night. But we haven't had a decent (sleddable) snow in the valley for several years. Will this be the year we get to spend the day with the neighborhood closed, everyone on their sleds and other contraptions gliding downhill then trudging back up for someone else's turn?

*Nothing* would make this winter better. We can drive the hour to the mountains anytime, but snow in the valley is what makes a winter successful.

Favorite time of year

Fall and spring are my favorite seasons because of the activity in the weather the change brings. My birthday is in March, but Halloween marks the beginning of the transition to a new year for me. Halloween, Thanksgiving (in the U.S., end of November), and then the winter solstice mark an active stretch of weather for the Pacific Northwest in North America.

January and February are relatively steady in their own ways. January can be steadily wet, and if we're lucky, February can steadily dry. Then the bulbs and buds emerge in the warmth of the February sun. (As opposed to the northeast coast of North America, where winter lasts well into March and April, even May! Been there, done that.)

Then around my birthday the winds pick up again, but more often drier than in the wet fall. More change on the way toward the mostly sunny yet mild summers of the northwest that we don't like to advertise to outsiders. (Yet you come anyway.)

Those pesky little buggers

My cable Internet was out for a couple of days, and my cable TV was out on several channels as well as poor picture quality on many more.

Squirrels ate through the cable up on the pole.

Drool

I am sensing some drool in the corner of my mouth for Linux tablets. Although a friend recently bought a Zaurus and the drool per buck is very enticing.

Monday, October 27, 2003

Don't Fidget With Widgets, Draw!

If I had to pick just one system as a candidate for a modern, rich, smart client, service-oriented GUI, then Joel Bartlett's would be the one, from 1991, that runs on X/Unix in his wonderful Scheme->C system.

Some updating of the programming model would be necessary. The current model is much like NeWS but uses Scheme and X, where there is a single application somewhere using EZDraw as a GUI server.

XUL, SVG, and XAML are kind of in this space today, but like an updated EZDraw, they also need a more "conglomerate" approach to being an integration-oriented GUI device.

EZDraw, like SVG, offers a 2+ dimensional interactive drawing environment and so offer the graphical freedom of a web page or PDF with the interactivity of a traditional GUI. I'm hoping that XAML will be just as interactive, since it may become the de facto standard.

Friday, October 24, 2003

The outsiders win again. Ha Ha.

From Harry Shearer's Le Show's Le Blast email list (subscribe)...

Arnold S's first appointee, his chief of staff, is currently a lobbyist for the HMO industry, and was deputy chief of staff to former Republican gov. Pete Wilson. The same PW who finally came out of hiding and gave media interviews after the election. The outsiders win again.

Thursday, October 23, 2003

How Magnetic RAM Will Work

I love the site How Stuff Works. And I saw they have a section on MRAM, which will change everything about computing, hardware and software, over the next few years.

Should Elementary Schools Teach Keyboarding? (was: Computers in Schools)

James writes about computers in schools.

My sense is computers should begin to show up in schools in middle school (grades 6-7, ages 12-14). The applications should be highly interactive, multi-media, and constructive (i.e. use computers to build "things", even ideas).

What should younger kids be doing? Why, keyboarding of course!

No, not computer keyboarding. Piano keyboarding. This would be far better for connecting their brains for future study of math and science than any software I know of.

Java becoming more static, er, dynamic, um, both!

I did not realize this EventHandler capability is in Java 1.4.

This is kind of ugly, since the API is essentially interpreting strings for names. (Think Class.forName only funner.)

This is kind of confusing, since on the one hand Java is heading toward more static notations with generics. Yet on the other, this EventHandler feature is capitulating to the need for dynamic reflection without a bunch of new syntax.

Mobilized Software

Speaking of moblized software (aka Occasionally Connected Computing), I will be attending Intel's "Mobilized Software Occasion" on Nov. 4th in San Francisco. I'm not sure yet if I get the shirt (employee) or the PDA (attendee), though I know what I'd like.

Rob Pike's Things to Build

From Rob Pike (Bell Labs/Plan9, now at Google)... Things to Build (in Systems Software Research is Irrelevant (PDF), or in Postscript format):

  • Only one GUI has ever been seriously tried, and its best ideas date from the 1970s...
  • There has been much talk about component architectures, but only one true success: Unix pipes...
  • The future is distributed computation, but the language community has done very little...
  • The Web model... is forced interaction; the user must go get it. Let's go back to having the data come to the user instead.
  • System administration remains a deeply difficult problem...
Obvious connections to recent conversations about rich GUIs, and mobilized software, etc. I think he hits several nails square on the head.

Tuesday, October 21, 2003

It Always Comes Down To This

Erik Meijer writes on his blog:

In principle there is nothing that prevents special list transformers and comprehensions from being introduced into imperative languages as well. We know how to do it. In fact, as is the case for many other features, Python has already taken the lead in this.

Python has limited syntax for iteration and unlimited classes that behave as iterators.

The less obvious, more expressive example is Smalltalk, which eschews special iteration syntax. This so called "pure" object-oriented language does not have any syntax for iteration. Everything is a message send, even conditionals and iterations.

A simple notation for a "block of code" object and a simple notation for keyword-based parameters/messages give you what you need without hidden machinery or a fixed syntax. Any of Smalltalk's flow of control mechanisms can be defined in Smalltalk itself. And more, to your heart's content.

BTW, Ruby is closer to Smalltalk than Python is to either in this regard.

Joe Morgan: Best Color Commentator... Ever?

Is Joe Morgan the best color commentator (ESPN Radio) in baseball? In any sport? Ever?

I'm leaning in that direction. He's that good, and I am not saying that because my youth was spent in southern Ohio with the Big Red Machine.

Monday, October 20, 2003

Give Aways

The federal government is essentially giving the resources of Alaska away for free...

On Sept. 24, amid the hubbub of Mike Leavitt's confirmation hearings, few journalists and policy makers stopped to notice that the DOI's Minerals Management Service put 9.4 million acres in Alaska's Beaufort Sea on the chopping block at unusually low royalty rates. The area in question is not far from the Arctic Refuge, off the northern shore of Alaska—land of polar bears, bowhead whales and Inupiat Eskimos who still practice maritime hunts...

There are, of course, likely environmental side effects: Last spring, a report by the National Academy of Sciences warned that seismic exploration and offshore drilling in the area would threaten endangered bowhead whales as well as the livelihoods of traditional Inupiat hunters. Needless to say, that report was overlooked.

Although the Beaufort sale troubles many Alaskan wildlife experts, they say it's merely one of many concerns in the region, some of them potentially far more serious. "This is just a small piece of a larger picture in which the federal government is essentially giving the resources of Alaska away for free," said Eleanor Huffines, Alaska regional director for the Wilderness Society.

Huffines says she is realistic about the need to expand drilling, and the Wilderness Society has identified areas in Prudhoe Bay and western Alaska where it is not opposing increased development. "What concerns me is that no matter how reasonable we try to be in balancing commercial and environmental concerns, [the Bush administration's] plans show no balance at all...

Saturday, October 18, 2003

Craving the Rich GUI

Thoughts on Jon Udell's Infoworld column on Rich GUIs... How rich, really, is that rich GUI we nostalgically crave?

What I crave, seeing developers on projects recreating significant portions of windowing systems in HTML and Javascript, what I crave is the ease of developing those rich GUIs.

When tabs appear in multiple rows, they create a problem that Jeff Johnson, author of the wonderful book GUI Bloopers (infoworld.com/453), calls "dancing tabs." Clicking on a tab not in the front row disconcertingly reorders the rows. On a Web page controlled by rows of links, that doesn't happen.

These complex interactions I think are as much of an indictment of the model as of the view. Our systems require a lot of dials, or seem to.

A GUI that doesn't embrace linking can never be truly rich.

When I think of truly rich GUIs, two classics come to mind, Hypercard and Emacs. Each exceed the restrictions of the Mac 128k GUI which we are otherwise pretty much bound to for now, albiet on 17 inch monitors.

Both of these systems featured hypertext and flexible navigation well before HTML and HTTP. Both creatively avoid the keyhole problem.

Thursday, October 16, 2003

Thoughts on creating a .NET language targeted at "occupational" programmers

Any thoughts on creating a .NET language targeted at "occupational" programmers i.e. folks that aren't programmers but need to essentially encode/automate an algorithm, run it repeatedly and store the results? I would think this could be a great addition to VSA where an admin assistants with no formal programming training might be able to write a small program to automate a task in an Office app.

Here's a suggestion from the 1970s...

Multics Emacs proved to be a great success -- programming new editing commands was so convenient that even the secretaries in his office started learning how to use it. They used a manual someone had written which showed how to extend Emacs, but didn't say it was a programming. So the secretaries, who believed they couldn't do programming, weren't scared off. They read the manual, discovered they could do useful things and they learned to program.

Here's another idea that was demonstrated in the 1970s...

In 1972 Kay took a job at Xerox's Palo Alto Research Center (Xerox PARC) and began using Smalltalk in an educational context. Young children were exposed to computers and their reactions were analyzed. Kay concluded that children learned more through images and sounds than through plain text and, along with other researchers at PARC, Kay developed a simple computer system which made heavy use of graphics and animation. Some of the children became very adept at using this system; in fact, some developed complicated programs of their own with it!

Yes, I think (no surprise) it would be great if the newest "managed runtime" could manage decent support for the longest-used and most proven "managed runtimes"!

Metadata

Don Park wants a standard place, er, places plural, for a site's metadata. Since I seem to be grouchy already this morning, I will apply my bad mood to this idea...

I think it is absurd to try to agree on where to put "metadata" before agreeing on what the "metadata" is.

Please lead the way to save me the headache. And get the tool builders to build it for me. And then use it for a couple years so I can determine the ROI.

Thanks.

My feeling is if "metadata" is not self-generating then it has relatively little value. For example RSS is valuable "metadata".

Curiously, though, Don writes in the comments section...

I don't think .w3c should know anything about RSS. It should just be a bag of links or inlined metadata along with some useful info to help agents find what they are looking for without wasting bandwidth unnecessarily.

I am all for standardizing worthwhile metadata structure and values, where "worthwhile" is the crux of the matter. So I am more than a little surprised that this vague proposal apparently is to remain ignorant of the most significant self-generated "metadata" on the web today. Not to mention that this kind of metadata (RSS) is fractured already into multiple names, locations, and contents.

IMHO any such metadata effort should be *primarily* focused around RSS and its cousins.

Wednesday, October 15, 2003

Rain from Intel Research: Continuation-based Distributed Messaging in Java

I'm looking through the javadocs for the Rain project from Intel Research. What might be of interest to the growing discussion about continuation-based web servers?

Here's what... Continuation.java

This class provides a mechanism to continue a computation after a reply to a message has arrived. This works by associating a continuation with an outbound message using the associate method. When a reply to this message arrives, the service calls the invoke method on the continuation object. If the continuation was constructed with a timeout and a reply does not arrive within that time, the timeout method will be called. While this class is not abstract, it does very little of interest until either invoke , timeout or both are overridden.

By default, continuations are "single shot". This means that once a reply has been received, the continuation is removed from the continuation system. To create a continuation that can be invoked by multiple replies to a message, call setMultiShot with true. (Multi-shot continuations are useful in situations where multiple replies may come back for a single sent message.) Note that a multi-shot continuation with no timeout won't ever expire, so do not forget to remove them with the delete method.

Tuesday, October 14, 2003

Four Schools of Software Testing

I'm just back from Brett Pettichord's talk on Four Schools of Software Testing at the Portland SPIN meeting.

I don't know much about the context-driven school, but I am curious since Ward Cunningham is enthusiastic about these "young turks of testing". Brian Marick was there and participating in the Q&A too.

I think there is a good book to be written on "Planning Context-Driven Testing". I can see that one could come away from an initial discussion with impressions (prejudice) from the "old school" testers that context-driven means "unplanned". This is based on my observations of "old school" reactions to the agile movement of software development.

After Brett's talk, Brian explained in a small conversation that a way he plans for testing is to look ahead at all the potential hand-offs of software between people. (There are many kinds of hand-offs: from programmer-to-programmer, and so on, including handing off to the end user.) I really liked this approach.

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.