THis weeks ITWorld article Two HTTP verbs diverged in a wood... is all about idempotency although the word is never mentioned.
Featured Post
These days, I mostly post my tech musings on Linkedin. https://www.linkedin.com/in/seanmcgrath/
Tuesday, June 29, 2004
Monday, June 28, 2004
Python and Java technology work together to solve the impossible
Python and Java technology work together to solve the impossible is the title of an article over on IBM Developerworks. [via Daily Python URL].
Jython is a wonderful tool to have in any test-driven application development plan. The speed with which you can implement new tests, slice and dice exisiting tests, create smart "batch" runs of tests etc. with Jython has to be seen to be believed.
If you are developing tests of Java code in Java. STOP RIGHT NOW! :-) Double your productive day with Jython. (I'm not kidding.).
Jython is a wonderful tool to have in any test-driven application development plan. The speed with which you can implement new tests, slice and dice exisiting tests, create smart "batch" runs of tests etc. with Jython has to be seen to be believed.
If you are developing tests of Java code in Java. STOP RIGHT NOW! :-) Double your productive day with Jython. (I'm not kidding.).
Friday, June 25, 2004
Open Source JDNC
Interesting, JDNC is now open source.
Rich client development is an enigma in computing. It never ceases to amaze me how complex and ugly GUI code can get once you start doing serious app. dev. I have played with patterns like MVC, languages like Smalltalk, Python, Java, C++ etc. and never been happy with the code I've written for any of them to drive GUIs.
My latest theory is that GUI design lends itself to complexity because it combines an exploding state space with an exploding namespace.
The state space problem come from the need to handle modeless dialogs and the freedome they give users to trigger events in combinatoric orders. The name space problem comes from the fact that every event, every widget, every method, every callback, every include file, every bitmap, every mask, every state variable has a *NAME*.
Keeping GUI code from suffering entropy death involves constant, care and feeding of *NAMES* and that is very laborious and error prone in my experience.
THe more open source projects we have to do with rich GUIs the better. Doing it well, with the flexibility for change required in business-oriented applications, is a far-from-solved problem.
My own favourite cross-platform GUI (surprise, surprise) is wxpython. It does a very good job of alleviating the cruft attack of GUI-dev whilst leaving you access to the power of the "metal" underneath. Combined with py2exe, it is a powerful way to create Windows executables for distribution that do not require separate Python installs.
Hmmm, jython + JDNC = wxjython for Jave GUI App. Dev?
Drooooollllll.
Rich client development is an enigma in computing. It never ceases to amaze me how complex and ugly GUI code can get once you start doing serious app. dev. I have played with patterns like MVC, languages like Smalltalk, Python, Java, C++ etc. and never been happy with the code I've written for any of them to drive GUIs.
My latest theory is that GUI design lends itself to complexity because it combines an exploding state space with an exploding namespace.
The state space problem come from the need to handle modeless dialogs and the freedome they give users to trigger events in combinatoric orders. The name space problem comes from the fact that every event, every widget, every method, every callback, every include file, every bitmap, every mask, every state variable has a *NAME*.
Keeping GUI code from suffering entropy death involves constant, care and feeding of *NAMES* and that is very laborious and error prone in my experience.
THe more open source projects we have to do with rich GUIs the better. Doing it well, with the flexibility for change required in business-oriented applications, is a far-from-solved problem.
My own favourite cross-platform GUI (surprise, surprise) is wxpython. It does a very good job of alleviating the cruft attack of GUI-dev whilst leaving you access to the power of the "metal" underneath. Combined with py2exe, it is a powerful way to create Windows executables for distribution that do not require separate Python installs.
Hmmm, jython + JDNC = wxjython for Jave GUI App. Dev?
Drooooollllll.
Thursday, June 24, 2004
E-Government Interoperability and Enterprise Architecture
As regular readers of this blog will know, I have been working for a while with the Irish Government on Enterprise Architecture and Interoperability.
Part of that work has been contributing to a document Key Principles of an Interoperability Architecture. [PDF, 41 pages] produced by the European Public Administration Network eGovernment Working Group.
The document may be of interest to anyone interested in e-Government enterprise architecture, interoperability and/or service oriented architectures.
Part of that work has been contributing to a document Key Principles of an Interoperability Architecture. [PDF, 41 pages] produced by the European Public Administration Network eGovernment Working Group.
The document may be of interest to anyone interested in e-Government enterprise architecture, interoperability and/or service oriented architectures.
Tuesday, June 22, 2004
The color of words
This week's ITWorld article The color of words concerns the non-use of color as a cognitive aid in word processing.
After twenty years in the SGML/XML markup trenches, I have come to the conclusion that for narrative-heavy structured documents, color coding inside an otherwise normal word processor has a lot to offer over more traditional in-your-face structured authoring approaches.
Take something like OpenOffice for example. A nice clean XML notation for the base files. Yummy. Now add a customisation layer to allow colour coding to be used instead of custom tags by authors/editors. Now add a two-way converstion from the colour coded markup to semantic markup and versa visa. Whaddaya got? A lot. Not least of which is a happy author/editor community - a rarity in the in-your-face semantic markup world.
After twenty years in the SGML/XML markup trenches, I have come to the conclusion that for narrative-heavy structured documents, color coding inside an otherwise normal word processor has a lot to offer over more traditional in-your-face structured authoring approaches.
Take something like OpenOffice for example. A nice clean XML notation for the base files. Yummy. Now add a customisation layer to allow colour coding to be used instead of custom tags by authors/editors. Now add a two-way converstion from the colour coded markup to semantic markup and versa visa. Whaddaya got? A lot. Not least of which is a happy author/editor community - a rarity in the in-your-face semantic markup world.
Monday, June 21, 2004
Web servers for local data access
Micah Dubinko of xForms fame, is playing around with using simple HTTP GET/POST to URI-ify his local data. By coincidence, I have an ITWorld article on that subject coming up in a couple of weeks. The question that most interests me is the difference between treating a local space (such as a hard disk) as a namespace of un-interpreted data (a file system) versus treating it as a local space (such as your locally installed apps) of interpreted data.
Question 1: How many applications do you use all the time?
If you are like me, you use a large number of applications some of the time but a small number of applications, most of the time.
Question 2: What interesting integration possibilities would present themselves if the applications responsible for creating the data on your file system all had web servers and provided processed "views" of this data to web browsers?
Question 1: How many applications do you use all the time?
If you are like me, you use a large number of applications some of the time but a small number of applications, most of the time.
Question 2: What interesting integration possibilities would present themselves if the applications responsible for creating the data on your file system all had web servers and provided processed "views" of this data to web browsers?
Subscribe to:
Posts (Atom)