Over the course of centuries, Zen has branched out into different schools With individual methods, But the purpose is still the same- To point directly to the human mind.Yuan wu (1063-1135)
"I have a mind like a steel... uh... thingy." Patrick Logan's weblog.
Nelson captures the absurdity...
I give the Bush campaign credit for their evil powers. There's a debate about the war record of Bush and Kerry. Whose service are we questioning? Are we talking about the Texas Air National Guardsman who flitted off to Alabama where no one can tell if he he really showed up for duty and he even lost his pilot qualification before leaving early to go back to school? No, we're debating the record of the the man who went to Vietnam and was awarded many medals for his leadership and service.To win an election, the first thing you have to do is control the terms of the debate.
Let go of all your previous imaginings, opinions, interpretations, worldly knowledge, intellectualism, egotism, and competitiveness; become like a dead tree, like cold ashes. When you reach the point where feelings are ended, views are gone, and your mind is clean and naked, you open up to Zen realization.After that it is also necessary to develop consistency, keeping the mind pure and free from adulteration at all times. If there is the slightest fluctuation, there is no hope of transcending the world. Cut through resolutely, and then your state will be peaceful. When you cannot be included in any stage, whether of sages or of ordinary people, then you are like a bird freed from its cage.
Yuan wu (1063-1135)
Do you want to know what software will be like in ten years? In twenty years? Learn Smalltalk.
Tuple-spaces represent an extreme in loose coupling.
A tuple space is an extremely flexible set of shared data structures (semi-structures?) with a simple pattern-based API for reading and writing that data.
The referenced DDJ article is about tuple spaces and grid computing, which is a match made in heaven.
I pointed out that the single most important productivity tool in modern languages is intellisense... without it, he can't hope to pull the language into the '90s.Intellisense?
What made me most productive in the 1980's was Lisp and Smalltalk. What made me most productive in the 1990's was Smalltalk. After the Java "revolution" (which made me less productive) what made me somewhat productive was the Internet search engine (Hotbot, then Google, IIRC).
How so? Javadocs. Looking up API information was faster on the net than on my hard drive once the spiders had indexed so many Javadocs.
I've used Intellisense-like features in Lisp environments since 1981. They *are* handy. I don't think I ever used anything like it in a Smalltalk tool. For one thing, Smalltalk uses keyword messages, which are in themselves descriptive. I think this reduces the need for Intellisense.
Frankly though the other aspects of Lisp and Smalltalk environments were more productive than Intellisense per se in a Java-like language. Primarily, the languages themselve are just simpler *and* more expressive. Secondarily, the source to the systems is present at the click of the mouse. (Or Meta-dot key stroke.) Thirdly, all the other sorts of browsers, workspaces, inspectors, debuggers.
Complexity: The Avalon API has a very large surface area. To get an idea, the Button class is number 11 on the inheritance chain with ButtonBase, ContentControl, Control, FrameworkElement, UIElement, RetainedVisual, Visual, DependencyObject, UIContextObject and Object as its base class.My prediction is that Avalon v1 will be a throw-away: it is not really the foundation on which you will build applications: V2 will likely not be backwards compatible, they will have to re-architect bits of it: which means that people will end up with two frameworks running side-by-side: Avalon V1 and Avalon V2.
I do not think I could have solved a problem of this magnitude, am sure the complexity is huge and the Microsoft folks are doing their best, but maybe a change in the way that features are interlocked and how those are delivered to users must be rethought.
Shoehorn := Longhorn - WinFS
I maintain, with more evidence, that WinFS is a bad idea.
The intention is good. The choice of delivery vehicle (i.e. a "file system") is not so good. Once again, the problem seems to call for a simplification of dynamic, semi-structured, shared databases rather than a shoehorning of these concepts into a future Longhorn file system.
The advantages of the database approach has engineering merit as well as marketing.
Perhaps there was marketing merit in moving O/R mapping and business domain frameworks into WinFS. I didn't see it, and I certainly don't see the engineering merit.
Will we see ObjectSpaces and MBF pulled back out into cross-MS-platform capabilities? Avalon has joined Indigo in this regard. Why not the rest?
MSFT should make WinFS a across-MS-platform-or-wider improvement on *databases* rather than file systems, and all the Longhorn components make engineering sense, probably marketing sense.
And MSFT should make this an opportunity (along with IronPython) to continue down the path of a post-modern approach to systems development.
I taught Extreme Programming for the first time in about four years. A couple weeks ago, the class was made up mostly of an intact team, about 15 people in all. The interaction was lively.
Last week there were 32 people mainly from three teams. That's the largest single class I've had. For one reason or another (many of them were embedded systems developers, for example) the first day the whole class participation had some skepticism and generally was just quiet. (The small group break-out discussions were lively.)
I went home concerned that first day. Fortunately the remaining days were primarily full of activities. The whole class discussions were more typically lively in spite of the class size.
And now here's the point of this post. I found an interesting on-line tool, Electronic XPlorations, which turned out to be a great device on the last day of the second class. I wanted the class to talk to each other in review. This tool is a simple Java applet for four teams playing "problem" cards and applying "solution cards" and "value cards" to collect points. (I hoped, intended, and realized the goal of making the awarding of points fun rather than competitive.)
The great aspect of the game is that for a team to win points, they must explain the play they're making to the other teams. The others may challenge the explanation, and eventually accept or deny it.