It's Like Déjà Vu All Over Again
"You could probably waste an entire day on the preceding links alone. But why take chances? We also give you Paul Snively..." — John Wiseman, lemonodor


Click to see the XML version of this web page.

Click here to send an email to the editor of this weblog.

Click on the coffee mug to add Paul Snively's Instant Outline to your Radio UserLand buddy list.

Top 10 hits for composing monads on..
Google
1.Building Interpreters by Composing Monads - Steele ( ...
2.Composing monads - Mark, Duponcheel, December (ResearchIndex)
3.Citation details: Building interpreters by composing monads - ...
4.Building Interpreters by Transforming Stratified Monads - ...
5.Composing Monads
6.Composing monads
7.From Inheritance to Feature Interaction or Composing Monads
8.Monads and Arrows: Theory and Applications
9.Monads and Arrows: Theory and Applications
10.David Espinosa

Help link 5/30/02; 11:25:37 PM.

currently subscribed to:

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Patrick Beard (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. A Frog in the Valley. Communication + Technologies (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Aaron Swartz: The Weblog (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Advogato (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. All Things Distributed (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. bOing bOing (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Dave Winer: Radio UserLand (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. David McCusker (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Digital Identity (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Doc Searls Weblog (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Eclectic (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Flutterby! (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. freshmeat.net (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. From the Desktop of Dane Carlson (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Hack the Planet (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Inspirational Technology (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. iRights (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Joel on Software (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. John Robb's Radio Weblog (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Jon's Radio (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Lambda the Ultimate (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Living Code (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. mac.scripting.com (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. osOpinion (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Patrick Logan's Radio Weblog (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Privacy Digest (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Robot Wisdom (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Roland Tanglao's Weblog (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. saladwithsteve (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Scobleizer (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Scripting News (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Sjoerd Visscher's weblog - w3future.com (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. TidBITS (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Tomalak's Realm (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Transhumanism (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. WebTransmission (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Wired News (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. Workbench (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. xmlhack (rss)

Radio UserLand users: click to subscribe. Other folks: use the RSS link to acquire this channel. YACCS Comments for It's Like Déjà Vu All Over Again (rss)

Here's how this works.


Saturday, February 9, 2002
 

via [Inside Mac Games]:

In what is likely to be an unsurprising announcement for many, Bungie.net will close its doors to players of Myth II: Soulblighter on February 15th. This will mark the end of Bungie's involvement with the game, though they have decided to release the server source code to the general public. Though slightly modified to remove some proprietary code, the source will enable anyone with the drive to set up their own servers for players.

This is really interesting, especially with recent reports of dissatisfaction with GameSpy among Myth III players and some noises of Myth III being revised to go back to Bungie.net if Microsoft allows it. It'd be nice to see a gaggle of player-hosted Myth II/III servers spring up across the landscape. Let a thousand frag-fests bloom!
10:29:26 AM        


So given the previous post, what Common Lisp environments do I recommend? Especially without laying out huge chunks of money?

For Windows, <http://www.xanalys.com/software_tools/downloads/lw-personal-edition.html>. The Personal Edition has a heap-size and time limit, but both are sufficiently generous that you can get real work done.

For Linux/*BSD on x86, <http://www.cons.org/cmucl>. An awesome, totally free Common Lisp environment. I wish there were a MacOS X port!

For MacOS X, there's <http://openmcl.clozure.com>. This looks like a very nice port for those who can't afford Macintosh Common Lisp. There's also a page describing how to use ILISP with OpenMCL that will be extremely helpful to emacs/Lisp aficionados.
10:21:12 AM        


via [the PowerLoom Project]

STELLA - Lisp-style Symbolic Programming
with Delivery in Common-Lisp, C++ and Java

NEW: STELLA 3.1 now available for download

Motivation

Developers of intelligent applications face a problem today, since none of the currently ``healthy'' languages such as C++ or Java provide adequate environments to support symbolic programming tasks. While Common-Lisp would probably still be the best language choice for many of these tasks, its dwindling vendor support and user base make it more and more difficult to justify its use.

When we embarked on the task of developing PowerLoom which had to be delivered in C++, we were faced with exactly this problem. Our response was to invent a new programming language, called STELLA, that incorporates those aspects of Common Lisp that we deemed essential into a language that can still be translated into efficient, conventional and readable C++ and Java code.

Overview

STELLA is a strongly typed, object-oriented, Lisp-like language, designed to facilitate symbolic programming tasks in artificial intelligence applications. STELLA preserves those features of Common Lisp deemed essential for symbolic programming such as built-in support for dynamic data structures, heterogeneous collections, first-class symbols, powerful iteration constructs, name spaces, an object-oriented type system with a meta-object protocol, exception handling, and language extensibility through macros, but without compromising execution speed, interoperability with non-STELLA programs, and platform independence. STELLA programs are translated into a target language such as C++, Common Lisp, or Java, and then compiled with the native target language compiler to generate executable code. The language constructs of STELLA are restricted to those that can be translated directly into native constructs of the intended target languages, thus enabling the generation of highly efficient as well as readable code.

Wow! This is amazingly hot stuff! What Robert MacGregor and team have realized is that you can enjoy the benefits of a dynamic development environment (in this case, a good Common Lisp environment such as Macintosh Common Lisp) with respect to rapid development, but then easily and efficiently deploy in the two most popular mainstream languages. And they've eaten their own dogfood by using the language to develop a large, extremely complex system, namely PowerLoom. Awesome!
9:57:56 AM        


Via [Patrick Logan's Radio Weblog]:

J2EE considered harmful These are the sorts of things that Roger Sessions covers in his ObjectWatch newsletter [Simon Fell]

Although Roger Session's reasoning sometimes escapes me, I have never been a big fan of J2EE's EJB. Tim Hyde's email (first link above) hits the nail right on the head.

One gap is that Tim's mail fails to mention JMS, which is one of the brighter spots in J2EE. It also receives the least amount of attention for some reason. I like the SwiftMQ implementation, which, like standard GLUE, is, amazingly, free. SwitMQ reminds me a little bit of Jabber.

I can't say enough good things about SwiftMQ. I had been hearing about the wondrous benefits of Message-Oriented Middleware for years, but it was always described in terms that could only be called "magical:" your messages always get queued, always get delivered, only get delivered once, etc. Oh, and the messaging system is like the mailman: neither rain nor sleet nor dead of night, etc. But most messaging systems I've seen just sit on top of a standard relational database, with everything that implies in terms of fault-tolerance, fail-over, discoverability, etc. SwiftMQ gets a lot closer to being magic by using a reliable IP multicast protocol among a group of federated message routers, none of which needs a costly database license behind it. They also provide a JNDI implementation that uses that same IP multicast protocol, so with a little aliasing, client fail-over becomes automatic as well. And since the current release is free of charge, it's very inexpensive to build a high-availability JMS system around SwiftMQ: it costs as much as the hardware costs. So it's true that JMS is the often-overlooked crown jewel of J2EE.

I wrote this about EJB a couple of years ago...

What I believe is immature and, moreover, largely unnecessary for many
applications is the concept of Entity Beans in EJB. The cases where they
work OK in current servers don't seem to be the cases where they are
much of an advantage, i.e. the simple cases. Beyond that it seems to me
you begin to lock yourself into vendor-specific solutions in order to get
them to work well, or to work at all.

It just seemed to me that the part of EJB that worked well at all essentially overlapped what servlets do, and now SOAP and XML-RPC.

I continued with this to say about EJB's emphasis on declarative transactions and two-phase commits...

The two-phase protocol itself is
well understood, but not well supported, and not typically supported
nearly as efficiently as using a single resource's transaction mechanism
directly such as an RDBMS'. Most applications just use one resource,
or *could* use one resource in a pinch.

I would say that Patrick is correct here, and beg anyone who has an interest to check out Resin-EJB from Caucho Technologies. They concentrate on CMP first, and distribution only if you want or need it. And they have a couple of excellent lightweight RPC protocols in case you do need to go distributed. Check 'em out!

I was able to review drafts of EJB from the very beginning. It was curiously funny to see the wide swings in features being described from version to version before 1.0. It seemed doomed to me from the start because its purpose was to serve as Sun's wedgie to Microsoft. The people involved had good intentions, but standards should evolve from proven practices that address a specific problem.

I think the people creating the EJB standards thought they were doing exactly that, and I think a lot of good actually has come out of the process (JNDI, JMS, JMX, JSSE, JAAS...) And I even think that EJB can be good, but you have to approach it a bit upside down (CMP first, distribution later) to really reap the benefits, and it helps if your app server takes the same inverted approach (so don't use WebLogic, WebSphere, etc.)


9:50:37 AM        

Via [Patrick Logan's Radio Weblog]:

Dynamic Déjà Vu All Over Again 

The discussions about static vs. dynamic typing re: SOAP/WSDL are ironic for those of us who witnessed (or even participated in) the establishment of CORBA about ten years ago.

The proposals for what became CORBA were whittled down to two:

  1. The HP/Sun proposal, which was statically typed with an IDL.
  2. The Digital/Hyperdesk proposal, which was dynamically typed.

The result was a combination of the two.

It's worth pointing out that what this boiled down to was the C culture of HP/Sun vs. the Lisp culture of Digital/Hyperdesk.

Years later, mature CORBA ORBs were available. Usually they supported at least the static IDL aspects. The dynamic aspects were not always recognized as valuable.

The argument that I always heard was that supporting DSI, DII, and DynAny would make the ORB radically less efficient. Which is, of course, a crock.

The Smalltalk ORBs that were available (and dynamic) required a fraction of the code and effort of the C++ ORBs (which were primarily static).

Sure; it's always convenient not to have to say so much; "a word to the wise is sufficient." And there is, let's admit, some trade-off in runtime performance. But Lisp and Smalltalk have had some 25 years to address those issues, and have done so extremely well.

Perhaps CORBA would be alive and well today if the OMG has emphasized the dynamic aspects more. Maybe the same could be said for EJB.

Ah, but Patrick, no matter how much you may dislike EJB, it in fact is alive and well in the marketplace. And if you want an EJB implementation that isn't an unwieldy mess, once again, I recommend Resin-EJB from Caucho Technologies. Their EJB container is implemented as a servlet, is very simple to configure and deploy, and focuses on Container Managed Persistence first (which I would argue is EJB 2.0's big win) and distribution only if and when you need it. And they prefer a simple XML wire format for distribution rather than either IIOP or RMI. Excellent stuff, as always.
9:32:37 AM        



Click here to visit the Radio UserLand website. © Copyright 2002 Paul Snively.
Last update: 5/30/02; 11:26:31 PM. Comments by: YACCS
February 2002
Sun Mon Tue Wed Thu Fri Sat
          1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28    
Jan   Mar