Featured Post

Linkedin

 These days, I mostly post my tech musings on Linkedin.  https://www.linkedin.com/in/seanmcgrath/

Wednesday, May 12, 2004

More JVM languages

I visited http://grunge.cs.tu-berlin.de/~tolk/vmlanguages.html for the first time in a while and lo! a bunch of new languages for the JVM have been added.
The description of Aardappel (of which I know nothing) caught my eye:

    Aardappel is a new language, which computes by concurrently reducing trees (using a form of tree-rewriting) which sit together in tree-spaces (bags) and communicate amongst eachother (exchanging parts of themselves, in Linda-like fashion), and in general having a jolly good time alltogether. The language is 100% graphical. Oh yes, the language is linear as well.

Any language that works by having a jolly good time alltogether has to be worth checking out right?

PYX and .NET

I recently contributed a couple of XML hacks to an upcoming O'Reilly book XML Hacks.

As a consequence, I got to pick a bunch of O'Reilly books which arrived today.

Flicking through .NET and XML and what do I see? The PYX notation being used to illustrate .NETs XmlReader model.


Tuesday, May 11, 2004

The demise of Hara-Kiri programming

"Error handling" as we techies call it, should not be confused with "error recovery", "robustness" or such like. No, error handling as practices in the trenches is all about honour. Catch an error condition and then, with all the grace you can muster, fall over.

The demise of hara-kiri programming is an ITWorld article about error handling in these increasingly decentralised (read "web services") days.

Evolution of a Haskell programmer

Evolution of a Haskell programmer. Both funny and educational. Whats not to like?

Sunday, May 09, 2004

Spam, liquid market securities and DOS attacks

If you are a geek in search of of reading material that is eclectic, challenging and endlessly fascinating look no further than Nick Szabo.

Nick's latest offering A scarce object economy combines a security model , a micropayment system and an automated currency hedge mechanism that enables Joe Public to use sophisticated financial engineering at low cost.

Friday, May 07, 2004

Communicating Sequential Processes

C.A. Hoare's classic text Communicating Sequential Processes is now available online in PDF format.

Transactions and SOA

In our conceptualisation of SOA (asynch. business document messaging + REST) there is no temporal coupling between communicants, no resource locking and no stateful services. That pretty much rules out ACID based transactions:-)

Invariably, we get asked to explain our approach to transactions. Our answer is:

(a) if you really, really need transactions - don't attempt to do it with Web Services. The CORBAs and the TPMs of this work do that stuff bettter than any amout of new fangled lets-do-it-with-angle-brackets ever will.

(b) Do you really need transactions? There are times when yes, you absolutely do but equally there are times when you ended up needing transactions become of a function centric/object centric design model. Given that distributed transactions are hard and expensive (you cannot design away the network, you can hide it with dollar bills but you cannot design it away), it makes business sense to only use them when you need to.

(c) Automatic rollback? Give me a break. 99% of business process rollback is business logic specific and is most cost effectively done by people who understand the context and can compensate much more intelligently than machines. If you have really simple compensation requirements then congratulations! You are in a minority in my experience.

(d) Systems that have ACID semantics make perfectly good services to expose on an SOA. Like any paradigm, one of the skills of service decomposition is knowing when to stop. A temporal coupling boundary (such as a classic ACID) is a good place to stop.

I recommend Carlos Peres
why pessimistic transactions arent practical
.