about author

Next Year

2002

alek blogs

insane blabbering without spelling (*)

Different Face Of The Lord Of The Rings

it is very eerie to see some author mannerism applied to such classic as Lord Of The Rings - if written by somebody else we would have very different Middle Earth maybe (!?) anyway very entertaining web forum exploring that. my personal favorites:
If I were to tell you the true story behind the unmaking of that ring.../that ring!/...you would think me mad. Horrors such as are scribed in ancient tomes of eldritch evil cannot compare to the terror...the cruel, cold, braincrushing terror!...that we felt in the lair of that foul spirit which raimed itself in arachnid form, that vile scavenger, that horrid arcane leech lingering at the border's of Sauron's Black Land...
-The Ring-Journal of an Anonymous Hobbit, by H.P. Lovecraft
"I am no longer Gandalf the Grey," the wizard intoned, his white stillrobes glistening in the day's heat. "Through the Trial of the Balrog I came close to death, but now the sleeper has awakened! I shall now be called ... Gandalf-Muad'Dib, the Mithrandir, the Lisan Al'Maia!"
-Ring Messiah, by Frank Herbert
Sam: Come on, let's leave this place. Merry: We can't. Sam: Why not? Merry: We're waiting for Frodo. Sam: Ah! (Pause) You're sure it was here? Merry: What? Sam: That we were to wait. Merry: He said by the tree. (They look at the tree.) Are there any others? Sam: No, they were all torn down by Saruman. What is it? Merry: I don't know. An Ent. Sam: I don't see any leaves. Merry: It must be dead.
-Waiting for Frodo, by Samuel Beckett
On this particular evening, something changed hands quietly in the back of a hobbit-hole in the Shire many miles from the dark realm of Mordor. A small, metallic something. Something which could be accurately described as a circular loop of shining metal.
The land of Middle Earth was almost oblivious to the change of ownership, which was wonderful for the two parties concerned. The trade went unnoticed among the citizens of Rivendell, it escaped the Nazgul completely, and even the dark lord himself continued straight on with his day without noticing. This was a pity for him, because it was exactly the thing he had been searching for all these years.
-- from _The Mostly Harmless Ring of Power_, by Douglas Adams
Far out in the uncharted backwaters of the unfashionable end of Eriador lies a small unregarded countryside. In this land is an utterly insignificant little green town whose men-descended life forms are so amazingly primitive that they still think smoking is a pretty neat idea. This town has--or rather had--a problem, which was this: most of the people living in it were unhappy for pretty much of the time. Many solutions were suggested for this problem, but most of these were largely concerned with the movements of lots of small birthday gifts, which is odd becuse on the whole it wasn't the gifts that were unhappy. And so the problem remained; lots of the people were mean, and most of them were miserable, even the ones with weed-pipes. Many were increasingly of the opinion that they'd all made a big mistake in coming from Bree in the first place. And some said that even Bree had been a bad move and that no one should ever have left the Anduin.
-- LotR according to Douglas Addams

And there is more

"But I dont have no wings" said the Balrog dumbly
"Use a broomstick you fool" snarled professor Sauron and swiftly left the classroom.
-Frodo Baggins and the One Ring by JK Rowling ("Frodo Baggins and the Knarliest Ring" in the USA)
"Fascinating, Captain. It appears to be an unknown creature that lurks in the pool waiting for passing strangers. Ecologically implausible, captain."
"Do you know what it is?"
"I believe I said it was unknown, Dr Gimli. Logically, if I knew what it was, then it wouldn't be unknown."
"Cap'n, we're in some sort of temporal warp, stretching and deforming the plot. The snow should take place a day before our encounter with this beastie."
-Gene Roddenberry version
IT WAS the best of times, it was the worst of times, it was the age of wisdom, it was the age of foolishness, it was the epoch of belief, it was the epoch of incredulity, it was the season of Light, it was the season of Darkness, it was the spring of hope, it was the winter of despair, we had everything before us, we had nothing before us, we were all going direct to Heaven, we were all going direct the other way- in short, the period was so far like the present period, that some of its noisiest authorities insisted on its being received, for good or for evil, in the superlative degree of comparison only.
-Not a word changed - Charles Dickens, paid by the word, A Tale of Two Towers
Gandolf: It was the year of fire, Sauron: The year of destruction, Aragorn: The year we took back what was ours. Halidir: It was the year of rebirth, Frodo: The year of great sadness, Boromir: The year of pain, Eowen: And a year of joy. Aragorn: It was a new age. Galadrial: It was the end of history. Elrond: It was the year everything changed. Gollum: The year issss...the year I losstss my Preciousss again. Filthy Hobbitssses. Losssst! Treebeard: The... place...., Middle..... Earth
~Lord of the Babylon Rings. (or something) J. Michael Straczynski

this one is very Stansilaw Lem like in style and spirit:

Frodo had inherited
the device. It was the original SR001 model, made in the technomagical
laboratory of Sauron Industries, and the most powerful of the nano
rings. Earlier models, such as the HR009?s and DR007?s had been built
by the combined team of Sauron Industries and Celebrimbor Research. CR
had gone on to make the ER003?s, with an in-built genetic pattern
matching capability limiting their effectiveness to Elves and minor
demi-gods. Unfortunately, CR had used sub-molecular patternform
techniques developed by Sauron Industries, little realising that these
had trapdoors, designed by SI patternform programmers, that allowed
later nano rings, such as the SR001, to assume command and control
functions. Even so, these devices were powerful and much sought after
by specialists and while the SR001 was lost and inoperative, the
ER003?s were much used.

Gandalf was a Maiar combat operative, or Istari, with specialist
mini-people knowledge and enhanced firepower capabilities. When he
discovered what Frodo had, he sent Frodo and a support team of dietary
consumption specialists (a.k.a. ?hobbits?) to take the SR001 to the
remote mountain magical-industrial complex of Rivendell Life Sciences,
where the Elvish researchers working for Elrond, chief executive and
main stockholder in Rivendell Life Sciences, would develop a policy for
dealing with it. Gandalf would travel separately, relying on his
personal bio-transport unit, Shadowfax, to get him there.
 Frodo and hobbits encountered a number of Sauron Industries?
biomagical weapon systems on the way. Some, like the mutant lignin life
form living in the Old Forest, were very early models, dating back to
SI?s predecessors MorgothCorp and Angmar Biomagic. Others were SI?s own
creations. Deadliest were the Nearly Autonomous Zo?Genetically
Upgraded Lifeforms, or NAZGULs. These were sentient biomagical
constructs, based on human DNA, equipped with visible and IR radiation
detectors, as well as?

<many pages of design specifications for NAZGULs, ORCs (Opponent
Repression Construct), WARGs (Wolf, Augmented Rideable Grade) and other
Middle Earth creatures later?>

? ?Damn,? said Aragorn, as he examined Frodo?s wound.
?Looks like you?ve been infected by a synthetic virus of some sort.?

?What do you mean?? asked Frodo. ?He stabbed me with a dagger and the point broke.?

?Yes, but the dagger was just the insertion device. The tip was designed
to break off and infect you with the virus.?

Aragorn checked his diagnostic kit?s readouts. The kit recognised
the virus but since it was so old, a Gondor SX004a, standard issue to
Gondoran squaddies three hundred years ago, Aragorn knew it could only
delay, not cure the infection. Frodo?s life signs did not look good ?
raised heart and respiration rates, low blood glycogen levels,
fluctuating core body temperature ? suggesting the virus was acting
quickly.

?It?s a mutated retrovirus, developed by Sauron Industries from
earlier MorgothCorp models,? Aragorn told Frodo.  ?Basically, the virus
re-writes the genetic code in cells of the hypothalamus, making you
more susceptible to external suggestions.??

<? the reader yawned. The technobabble was getting to him. If
there were too many descriptions of exotic, imaginary gadgets and the
book would be closed, for good?>

? Elrond, CEO of  Rivendell Life Sciences made the keynote speech
at the conference. He presented the basic options open to the opponents
of SI?s plan for corporate dominance. Input from Gandalf and the RLS
special projects team contributed to the final plan.

Frodo would go to Mordor, SI?s technology park and use the powerful
Orodruin geothermal furnace to destroy the SR001. Frodo accepted the
mission. A combat team would escort him. It consisted of Aragorn,
special forces operatives seconded from Gondor, Erebor and Mirkwood and
the dietary consumption specialists. Gandalf would be OC with Aragorn
as his XO.

Frodo was given a suit of KDC308v combat armour. The suit,
developed by the now defunct Khazad Dynamics armament works, was made
out of MITHRIL (Micro Injected Titanium High Resistance Integrated
Links). It was one of Middle Earth?s best pieces of kit. He was also
given a Standard Target Identification Neo-Glaive or STING personal
weapon, with special circuitry to detect any system showing Sauron
Industries? technomagic signature.

Aragorn had his own personal weapon, an ANDURIL (Anti Nano DNA ?

<? the reader jerked awake. Shame, he thought, once he had
gathered his thoughts. Nice plot but the mock technology was getting in
the way. He closed the book and looked for something else to read?>

-The Nano Ring, by Peter F. Hamilton
Tyger! Tyger! burning bright
In the forests of the night,
What immortal hand or eye
Could frame thy fearful symmetry?

--William Blake

Come on, baby, light my fire

--The Doors
1. Gandalf Takes A Fall
Standing there, in the dark, Frodo Baggins reckoned he knew a lot about fear. He had begun to find out about it after The Party (and everyone said it that way, The Party, so you could hear the capital letters), when he had been come into possession of a certain ring, a very precious one, oh yes friends and neighbors.
And when he became aware that there really were shambling dark riders that came a-hunting Hobbits--that they were real, not just stories told by firelight to scare young Hobbits in their dark holes, why, then, fear had become his constant companion, closer even than Sam. Sam, who stood beside him in the dark with the others as the sound of distant drums echoed crazily through the caverns, sounding for all the world like a demented rock and roll band.
--Stephen King
The King of the Nazgul (KotN) fingered the safety buckle that secured the shortsword in it's scabbard. It was modeled after the /Gladius/ design, making it wholly inadequate for going up against Elven armour, but it was perfectly suited for being jammed in the collarbone of a Hobbit 'merc, without calling too much attention to it's owner. His XO, "Camel" Khamul had used a similar weapon in numerous CoIN missions in North Gondor, where he had been sent to disrupt "Elrond's" supply fellowships sneaking down the Is-ild-ur trail. The KotN smiled, even without a head. This mission was almost going to be a mead-run. Taking out a squad of sleeping halflings was going to be easier than slaying Wyvyrns sitting on a tarmac...
-Hunt for the Ring, Tom Clancy
Eowyn felt her heart flutter when she saw him. His raven hair flew in the breeze off the plain, and his piercing eyes caught her gaze as if by magic. He bore a kingly attitude; surely he was a prince. Her mind turned to forbidden things, things which would be forbidden to the King's niece, but surely allowed for a free shieldmaiden. She knew that she was made to love this ranger.
-Mark of the King, Danielle Steele(...) and more of current times:
It's 200 miles to Mount Doom, we've got a full pack of lembas, no pipe-weed, it's dark and we're wearing elf-cloaks.
-Blues Hobbits, Movie
There's a ranger who knows
All that glitters's not gold
And he's guiding a hobbit
To Mordor

When he gets there he knows
If the Black Gate is closed
With a sword he do what he came for.
Ooh, ooh, and he's guiding a hobbit
To Mordor.

There's a sign on Khazad-dum
But he wants to be sure
'Cause you know sometimes runes have two meanings.
In a tree by the falls, there's an elf lass who sings;
Sometimes all of her hopes are misgiven.
Ooh, it makes him wander.
Ooh, it makes him wander.

There's a feeling she gets
When she looks to the west
And her spirit is crying for leaving.
In her thoughts she has seen
Rings of smoke through the trees
And the ranger is fighting the goblins.
Ooh, it makes him wander.
Ooh, it really makes him wander.

And it's whispered that soon
The Rohan riders will swoon
For the worm tongue will lead them to treason.
And the new day won't dawn
For those who fight long,
But the forests will echo with entmoot.

If there's a traitor in the fellowship
Don't be alarmed now,
It's just a vision by the elf queen.
Yes, there are two paths you can go by
But after Moria
You must determine which road you're on.
And it makes you wander.

Your head is humming and it won't go
It case you don't know.
The ring is calling you to take it.
Dear ranger can you hear the wind blow
And did you know
Your stairway lies through the paths of dead?

And as you wind on the down road
The Shadow taller than your soul
There walks a hobbit we all know
Who shines white light where cobwebs grow
And always bears that band of gold.
And if you listen very hard
The reign will come to you at last
Wherefore Arwen and Elessar
Will tie the knot and be made whole.

And he's guiding a hobbit to Mordor
-He's Guiding a Hobbit to Mordor (aka Stairway to Cirith Ungol)- by Led Zeppelin
I waited for Sam for three-quaters of an hour, then went looking for him. Finally, I rounded a bend and there he was stumbling toward me, wild haired and nearer hysteria than I have ever seen a grown hobbitt. It was hard to get the full story out of him in a coherent flow, but I gathered he had thrown many items from his pack over a cliff in a temper. "What did you get rid of?" I asked, trying not to betray too much alarm. "Heavy f*cking sh*t, that's what! The rope, the pots and pans, the little box from Galadriel, I don't know what all. F*ck!"
"The food from Farmir?"
"Flung"
"The water bottle?"
"Flung"
"The lembas?"
"Flung far!"

This was begining to sound a trifle grave...
-A Walk in the Woods: Rediscovering Middle Earth on the Eastward Trail by Bill Bryson
The ring is clearly a symbol of the mother-figure with which the bearer feels the irresistable urge to thrust his finger (obviously a phallic symbol). The ensuing penetration of the ring is accompanied by a deep sense of elation but also a deep sub-concious shame manifested by the sudden invisibility. The ring wearer does not want others to witness his shaming fetish but is also, at the same time, acutely aware that a sudden disappearence must bring acute attention upon him. Therefore, the ring bearer must find a private moment in which to succumb to the guilty pleasure of the ring.
-The Ring: A Freudian Analysis

Last week on Fellowship Island:

The seemingly unshakable Hobbit Alliance sealed the fate of bossy Gandalf at the Elven Council. Voted out 7-2, the wily wizard was thrown off the Bridge of Khazad Dhum with a Balrog.
Stay tuned for the excitement this week...
(...) Merry: Shhh!! here comes Elf-boy.
Legolas: Greetings my friends... I just wanted to let you know that it may be in your best interest to vote for Boromir. I've seen him looking rather greedily at the Immunity Ring. Gimli and I are thinking he's too strong to keep around. Again, just letting you know...
(...) Saruman: "That's 2 votes Pippin, 4 votes Boromir.... The next vote is: Boromir. Boromir, the Fellowship has spoken. Kill him, my fighting Uruk-hai!"
and more newspaper worthy:
MIDDLE EARTH - Denouncing what they called a "dreadful
injustice," Middle Earth's evil beings made a public demand yesterday
that Frodo Baggins return the One Ring to them as soon as possible.

"It's generally known that the Ring belongs to me," said hideous evil
overlord Sauron, flanked by nine hooded attorneys. "I'm simply asking
for what's rightfully mine. Not only is the Ring my property, but its
loss prevents me from pursuing my livelihood of world domination and
enslavement."

Evil Characters Demand Return of The One Ring:

I don't want to get off on a rant here, but it seems to me that this whole ring thing has gotten just a bit out of hand. Sauron's going after the Ring of Power like a cracked out Rosie O'Donnell after a pair of Tom Cruise's used jockey shorts. He's got bigger rage issues than Bobby Knight trapped in a car pool with Carrot Top, Phyllis Diller, and Kathy Lee Gifford. I can't decide if Mordor looks more like Afghanistan during an air raid or Detroit on Halloween.
-Rings 12/05/2002 - Dennis Miller
Laura: Okay, our next caller, you're on.

Caller: Hi, my name is Arwen. I'm in love with a younger man. However, I
think he's interested in someone more his own age. I was wondering -

Laura: How much younger are we talking about here?

Arwen: Well, he's in his 30's, and I'm nearing 1000. Anyway, my question
is -

Laura: What a minute! What are you doing running around with a man whose
over 900 years younger than you? What kind of sick freak shacks up with
an young chippie? Do you have some kind of self-esteem problem?

Arwen: Well, I'm an elf. We live a -

Laura: An ELF?! So you're one of those tree hugging hippie bastards
whose always stoned or on acid! No wonder he's interested in someone
else! Not only are you old enough to be his ancestor, you're probably
wandering into his house late at night wasted out of your mind from some
strange elfish ritual!

Arwen: That's not -

Laura: Shut up! I'm on a roll! My advice is that you date someone your
own age and for GOD'S SAKE stop dropping fairy acid. It adds years to
your skin. I should know. Next caller!(...)
--Ring Talk with Dr. Laura
Howard: What is it, Bababooie Baggins? Retarded halfling bowling, again?
We did that bit two days ago. I want the Scores girls.

Gary: Ok, boff, we've got these two chicks waiting to come on to plug
something about a ring.

Howard: Well, bring them in you idiot!

Robin: Hee hee hee hee.

Howard: Ok, there's these two really hot chicks walking in. The blonde
one has a really huge rack and the other looks just like Liv Tyler,
swear to God! Hey, what are your names?

Arwen: I'm Arwen and she's Galadriel.

Howard: So, Arwen, huh? Jeez, that's such a stripper name. You're really
hot. You must've been molested as a child or something.

Arwen: Umm, no.

Howard: Oh come on. All the really hot strippers have really messed up
childhoods. So, are you two lesbians? I want you two to kiss each other.

Robin: Hee hee hee!
-LOTR on the Howard Stern Show
Forum: General Questions
Thread Starter: Frodo23 (Post count: 3)
Title: How does on go about destroying a ring
Thread: Hey guys, my uncle recently gave me this wierd ring and I want
to get rid of it. When I put it on, I get all invisbile (sp?) and freaky
and stuff. I tried melting it and like cutting it but its too hard. Any
suggestions.

Johnz: Well, you could hop on an eagle and drop it off into Mount Doom,
thats pretty certain to destry it.

Feldor: Hey, why dont you dorp it into mount doom.

Feldor: Damn simulpost
-scrapped from web forum: LOTR: The straight dope version.

and finally this gem about imorality

But Stryders girlfriend, Arwin helped him. She was a really pretty
elf, wit dark hair an pointed ears. She made the wrathes go away. But
then she and Stryder, who was tall dark an hansome were able to be
reunitted.

They are really in love, even though they're from different worlds. He's
a person and she's an elf, and socity probly frowns on that sort of
thing. But they loved each other so much that it didn't matter. Thier
pure love transended the laws. He took her into his arms and gave her a
long kiss. Then she gave him this thing thats supposed to be her
imorality. Thats about the most romantic thing ever!
-Endless Love a story from a 13-year-old Strider/Arwen shipper fanfic writer



order is important

this is old joke but still funny and good conclusion:
"OK, you're up," the Genie says to the manager. The manager says, "I want those two back in the office after lunch."
Moral of the story: Always let your boss have the first say.



commenting on comments

i could not stop smiling reading this comment about GNU code code documentation:
On that note.. Have I mentioned lately that every time I read any code covered by GPL I start thinking of this book? Not to long ago I wanted a refresher since it had been awhile since I'd done C. The author spends like 1/4th or more of the book talking about how to comment and format code.. I'm like, "yeah its important but do you need to waste half a book on it." Then I look at just about any C code covered by the GPL and I think... "yes he did".. Only I think he should have said "AND THIS MEANS GNU" (ha ha).. Seriously, does anyone know if somewhere in the GPL it states that you must write such disgusting code that it must look like you've run it through an obfuscator? Ironically the GCJ code is the best written code in all of GCC for certain. It has comments, etc. In due fairness to the author its obfuscation is probably by necessity of depending on GCC's stuff. Not saying that the code quality of opensource isn't pathetic anyhow or that I'm a perfect coder, but there is some strange force at work that makes GPL'd code have to out do us all.



marketing ...

better marketing that is what really matters. example?
my minilogger has nicer syntax as it does not require class parameter to getLogger() so less redundancy and no need to do this awaful redundancy (and that is typical pattern in code that uses Log4J):

public class Xxxxxx {
  private static Logger logger = Logger.getLogger(Prunable.class);
it is hardly if i have to chase for bugs when i my class logger gets out of sync with class name (look on Productive Environments: Log with log4j) - typical problem of code redundancy i.e. class Prunable was used as template to create Xxxx but logger is still reporting for Prunable - it may be good but it may be also a mistake and definitely it is better to declare intention with your code:
public class Xxxxxx {
  private static Logger logger = Logger.getLogger();
no confusion here: Logger works for containing class



O KnownSpace, KnownSpace, where are you?

i would like to keep annotations about websites, emails, ... (collectively called information nuggets) in one space and to allow to write annotations about annotations such as categorizations etc. that topped with automatic annotations done by system: reversible CVS like history, time when accessed and edited, to what categories it belongs (link to an annotation that is category) and so on

now enter KnownSpace that has nice internal structure with entities (my annotations), links (so annotation can be linked) and simpletons that are small Java agents that interact with entities. all good but problem is scalability.



Google, Google on the wall ...

took an instant to answer question Whatever happened to my sister Eileen?

(...) The original Eileen McKenney didn't live to see the Broadway play that was to make her famous for decades. Three days before it opened in December 1941, she and her husband, novelist Nathanael West, were killed in a California automobile accident

based on From 'My Sister Eileen': Ruth and Eileen Sherwood



maintainer responsibility

very good post Free software maintenance: Adding Features

Please don't bother flaming maintainers because your feature hasn't gone in yet. Provide better rationale, yes. Randomly flame about the fact that maintainers have to say "no" a lot, no. Design by committee is far, far worse than rejecting a couple of patches. As Linus says, "If you don't get it, don't bother emailing me."

Special bugzilla rule: if you move a bug from WONTFIX or NOTABUG to REOPENED, you had damn well better add additional, quality rationale at the same time, or prepare to be flamed.



XML Pull Builder API (XB1)

i love XML Pull Builder API and it may not be good sign as i am its author ...

Anyway, this is second reincarnation of XPP2 XmlPullNode but this time done with all very nice decomposition into interfaces and value objects and both really easy to use (no longer prefixes or raw XML names are required) and really fast and powerful - essentially can be as fast as streaming pull parser as user can for part of tree work with pull parser directly :-)

The API is modeled after XML Information Set and allows building incrementally XML trees from events streamed from pull parser (user can start navigating tree before whole XML input was parsed!) and has an unique ability to bypass tree building for selected sub trees to work directly with underlying event stream. This coupled with ability to create XML tree that can mix in any Java Object allows to represent objects derived from XML (databinding) in the XML tree.

The unique feature of API is ability to achieve high performance that is common in streaming parsers and ease of use associated with tree approaches in the same API by provising very precise control over XML tree creation and access to underlying streaming parser during tree creation (API users needs to do it if and only if they do want to bypass default tree creation and replace it with their customized object tree, work directly with XML events or just skip unneded parts of XML that do not need to be in XML node tree).

Now the challenge is how to do it in C++ and to make it easy (especially memory operations) so it can favorably compare to DOM ...



stupid thinkpad Fn key

This is really annoying - no way to remap ThinkPad Fn key to do Windows key and IBM ThinkPad Keyboard Customizer Utility is really lame: it only maps shift,ctrl,alt and no option to touch Fn key ...

there is some level of customization avaialble on Windows 2000 when editing registry (detailed instructions http://www.pitt.edu/~kconover/keithbet.htm and official MS page http://www.microsoft.com/hwdev/tech/input/w2kscan-map.asp) but it seems that Fn key ia handled by ThinkPad driver internally .. http://www.annoyances.org/exec/forum/winxp/t1014389848 so why they do not make an utility to have Fn key remapped and (so to swap Ctrl and Fn keys) and to make it work as Windows key?????



CodeGuide Wishlist

Codeguide Omnicore Wishlist let me first state i really like CodeGuide = Incredible Power and Simplicity however there are seom issues that are still not resilved
  • organize imports: when multiple imports are possible let user choose (and not show dialog that multiple choices are possible ...)
  • more powerful completion that will search all classes and not only what is imported (so it can work with Ctrl-O and no need to leave import package.*)
  • multiple run parameter sets - so i can configure different set of parameters
  • allow to execute any JUnit test or even one method from TestCase just by selecting it by mouse



problem with WS-security

if hourglass model of web services is right (with the tightest point being WSDL abstract port types and concrete protocol bindings) then security clearly should be split into abstract part that is applied to portTypes and then another part that describes how abstract notions of security (identity, roles, rights etc.) are mapped into underlying protocols such as SOAP. WS-security seems to be much too SOAP specific without enough abstract part that could be applied to other protocols or different security mechanisms ...



problem with soft state

if the service client that is leasing resource is not available it is interpreted as if client has no interest ... and that is not good!



one of dream J* features already provided by minilogger

in James Strachan blog he writes about features to add to Java to compete with C# including thisClass and uses example of Logger:

A constant for the current class instance

We have this but why not a thisClass?

Its a PITA to have to cut and paste class names when they could easily be a compile time constant. e.g.

public class Foo {
    private Logger log = LogFactory.getLog( thisClass );

instead of

    private Logger log = LogFactory.getLog( Foo.class );

which can lead to cut-and-paste errors. This is a common issue with using static methods in a generic way.

This is a very trivial change.

and this is already solved by minilogger where you can write
    private Logger log = LogFactory.getLog();
and miniLogger can do it now: it will guess current thisClass from context. without changes to language to have thisClass



grid gatekeeper

it could allow to execute specified job but it should also support sandbox execution for submitted Java programs or/and use reasonable secure chroot jail for C or even grant full access if configured so and user has enough permissions ...

such grid gatekeeper would allow user to query about its environment (do you have JDK 1.3, do you have CoG 0.9.13, do you run Linux, ...) and about staus of any job execution both as pull or push events (it could also publish events to permanent event channel for later peruse)

to work in ever changing grid environments and to deal with user code changes it should support declarative execution (so i can declare what is required to run my code) and caching (so updated code can be shipped to gatekeeper and then cached)

so why we do not have it now?



code guide gripes

even though Code Guide 5 is better to write code than Intellij IDEA 3 with its unbelievable-until-you-try instantaneous incremental compiler there are some small changes that would greatly improve CG5 usefulness:
  • organize imports (Ctrl-O) should give choice when class can be imported from multiple packages
  • add extended completion (Ctrl-Space?) that would allow to lookup classes that are not yet imported. right now i have to write class name from memory and then do Ctrl-O as thanks to Ctrl-O i have no longer import * declarations ...
  • dependencies between projects: so i do not need to have long list of all projects source trees but instead can say current project depends on project Foo and Bar and when CG5 compiles current project it will check dependencies and compile a dependent project if needed and then add automatically to CLASSPATH dependent project .class output (and related libraries)
  • project settings/classpath management: needs ability to add multiple source tree or jar files AT ONCE!!!



Seattle late night mixer

photos from sunny and breezy Seattle - way to go Seattle! (do not miss late night mixer)



minimze redundancy or logger design

what is the difference between those two lines?
class Baz {
    Logger logger = Logger.getLogger(Baz.class);
and
class Bar {
    Logger logger = Logger.getLogger(Baz.class);
the problem is of course that prblmey user did not want to use logger from Baz class in Bar class and it may be an annoying bug. what about this:
class Baz {
    Logger logger = Logger.getLogger();
now this version is safe and less redundancy. and is available as part of my minilogger :-)



music industry decline or rise?

talking with Ken i agree that it would make sense to pay monthly subscription fee to listen to my favorite music and be able to store preferences and find more music that is based on people with similar choices. this would work like amazon but use listening patterns that are maybe correlated to time, ex: morning music, evening music ...



now the bug for shortened printStackTrace() has permanent home

no i am proud initiator of bug report on Bug Parade and if you do any RMI programming or have chained exceptions please vote on it ;-)



signing to multiple domains ...

switching Globus proxy for different security domains inside xsoap
support for working with multiple domains using myproxy server(s) and HTTP Basic Auth/SSL



CodeGuide 5 leaves IDEA 2.6 behind...

reading recent praises about IntelliJ IDEA 2.6 i felt compelled to try it and see how it compares with Omnicore CodeGuide 5
TODO:link http://radio.weblogs.com/0112098/2002/11/06.html#a235 http://radio.weblogs.com/0107789/2002/11/06.html#a1002

... with its incredible incremental compiler that allows to instantaneously compile and show errors as you type without any delays - INCREDIBLE!!!

IntelliJ IDEA does nto come even close to it and after all the only thing i care is how to write code and not plethora of tools (though some tool sin IDEA looks cool and should be added to CG ASAP).



JDK 1.4 will not show me full exception traces ...

just sent this RFE to Sun bugs parade ...

version 1.4 changed implementation of Throwable.printStackTrace to
print chained exception

however currently it may print truncated stack trace for chained
exceptions and it is not acceptable for several classes
of apllications like programming with RMI or EJB

instead it should be an optional feature disabled by default!

here is an exampe that shows that information provided by
printStackTrace is almost useless as important stack trace
details of remote exception were truncated after first two lines!

 Exception in thread "main" java.lang.reflect.UndeclaredThrowableException
   at $Proxy0.requestMessages(Unknown Source)
   at SimpleMessageMonitor.main(SimpleMessageMonitor.java:60)
 Caused by: soaprmi.RemoteException: IO Exception; nested exception is:
   java.net.SocketException: Connection reset by peer: JVM_recv in socket input stream read
   at soaprmi.soaprpc.HttpHandler.invokeTransport(HttpHandler.java:141)
   at soaprmi.soaprpc.SoapDynamicStub.invoke(SoapDynamicStub.java:120)
   ... 2 more



Grid, workflows, and other observations

Bunch of observations:
  • we need simple (and working) easy to use workflow engine for BPEL4WS that works on grid (for example on top of CoG API but workflow engine hides that it uses any particular grid toolkit ...).
  • WSDL as ultimate URL - but how to find correct WSDL needs for permanent URL and in OGSA it is GSH ...
  • different computing paradigms: Java is to java specific so now we replace Java with XML and re-implement Jini -> Gird and Web Services ...
  • not to forget (note to myself): why we need components?
    reusability and etc is nice but why they are really needed is because only few grid users are grid programmers or computing scientist (TODO: check term) instead we need to provide generic tools such as components (and XCAT!)
  • XSpaces needs official release, badly! (another note to myself)
  • Noted observation: Grid Spam is grid application that sends (XML) messages/events that are automatically converted into emails ...
  • PC + Management = Managewoment ???
  • new product besides eCluster, eUtility, eDisaster in IBM family is now eWeSolveYurProblemsForSmallFee <blink> <blink> ;-)
  • heard on Oprah: nobody talks about what is happening after the wedding? yeah we need to explore this space too ...



Grid or grid?

another bright(?!) observation: currently Grid (what is grid? similarly to what is matrix?) is currently funded and evolving around huge computations, huge data mining etc. in other words extension of supercomputers and batch systems.

interesting question: when model with shift to more fine grained grids that are closer to peer 2 peer but still can nicely mesh with Grid (Bigger machines) and grids (more personal, small organization grids).

of course as soon as we get security, resource discovery and access (web service and OGSI should be useful), and mobility issues resolved (firewalls etc.)



better Grid job submisson?

of course with XML - that should be more extensible and easier to read than Globus RSL and then it is send using SOAP and SSL (with client side cert like Globus proxy or even basic auth as it is protected by SSL) to gatekeeper that will check your credential and execute job. to simplify monitoring and to work with firewalls.

BTW: (reliable) file transfer would look the same and credential storage service (MyProxy).



UndeclaredThrowableException ...

dealing with undeclared exception in dynamic proxies?

got UndeclaredThrowableException? i did so i wrote small utility class to do all neceessary exception wrapping and unwrapping (link to CVS java and tests)



autonomous (or autonomic) computing and ...

so what it is? self healing an self monitoring computing systems/infrastructure/ this is very important when thinking about building grids.

autonomous computing has one problem. if they solve it all those companies will no longer be needed (or much less) but users would be happy. unless they come with new problems created by autonomous computing that needs to be resolved :-)



time efficiency ...

how to control time flow?



OGSA and multi protocol resolving of GSH

why not allow GSH to specify any protocol users like? even though HTTP can be always used to resolve GSH to GSR by requiring HTTP support it still does not help if GSR (WSDL) contains unknown protocol binding ...

GSH uses HTTP as resolver protocols but this is really a special use of HTTP so i think it deserves new protocols like http-gsr://... that would make clear that ldap:// as protocol for GSH is also possible ...



why including XML APIs in JDK is bad idea

XML is not about APIs it is about processing XML. if XML was finished and there was no work on standards (DOM3 comes to mind) and implementations were finished and abandoned (Xerces2, Xalan etc.) than maybe it would make sense ...

actually that brings another point: java badly needs library (JAR) dependency mechanism in use right now ...



what is good community?

inspired by Craig post to community@apache.org

i ask myself a question what are signs of good community?

and how to convert bad community to good one ...



amazing coincidence: flood strikes twice

yesterday perfect weather etc.

today different story. first in the morning looking through the window rain and more rain. so some cleaning - put D/W on, back to computer and when back in kitchen flood form D/W ... second have to leave, look through the window: lot of rain. so take both coat and umbrella. but on the way there lakes and riveting rivers that were before called roads and pavements. amazing coincidences ...

BTW: nothing is more fun than removing bubbled water from kitchen floor in the morning ...



Why XSpaces rocks?

Third time makes charm (or something like that ...)

Current XSpaces is third reincarnation: initial version was conceived as class project in distrib. computing class and then second version was worked on internally, this final third version is complete redesign and is based on lot of ideas/experiences learnt from doing SoapRMI events and XEvents that led to XMessages design that is backbone that provides for XSpaces reliable delivery, efficient data retrieval (both pull and push) and robust server design that minimizes state that must be maintained by servers moving what can be moved to clients leaving servers to care only about keeping state (state in XSpaces is essentially backboard or Linda "tuple spaces" though we store any XML and not just tuples)

some other things

XSpaces can store and use any XML (!?) well maybe that is not main reason ...
XSpaces is programming language independent web services? now what is not ...



Mac next to God

Macdonalds Burger not Macintosh
and next but on highway ad
one side "God Rules" another
said "Mac Burgers for $1"
just after "Have you seen a signal
from God. This is it"



XML API that is between DOM and SAX

what is between DOM and SAX?

of course KHR, KHS, LHR or LHS

by looking up ASCII codes D=68 S=83 so average is 75.5= K=75 or L=76, then second letters O=79 A=65 so average 72=H and finally M=77 X=88 so average 82.5 R=82 or S=83 :-)



XML and APIs

APIs that are doing essentially the same things are bad ...

Corba: why PL independent

XML integration ...

components as Web Services will help life easier ...

cost of monolithic applications ... what is API

XML schemas (what is target)

SOAP acronym ... no Simple ... no Object ... so what is left ...

CORBA has no abstract protocol



XML and abstraction

too much abstraction is not good ...

how to keep close to XML infoset?



streaming and incremental building of XML node tree

How to combine best of SAX and DOM when working on SOAP

motivation DOM API (or one of its alternatives) is easier to use for document/literal encoding but streaming is essential for good performance ...

solution: two different modes of operation

  • when constructing node tree (streaming)
  • walking already constructed node tree

one goal: have uniform API for both cases (stream is parsed as much as needed to walk tree)

second goal: expose enough information in API so app can control tree creation skipping parts of it or using XmlPullParser directly (no tree nodes created) parts of tree can be detached for later GC

handling fragments transparently add all ancestro namespace-prefix declarations

        XmlPullNode
                isFinished()
                finishParsing()
                XmlPullParser asPullParser
                XmlPullNodeWalker asNodeWalker
        XmlPullNodeWalker
                Object nextNode(),
                Object nextNodeChild(),
                String nextNodeText(),
                XmlPullNode nextNodeTag()
                XmlPullParser asPullParser();

DOM working as front partial tree - mirrors what is in XmlPullNode however operations directly on XmlPullNode are _not_ mirrored to DOM!!!

Possibly related: PullDOM http://www.prescod.net/python/pulldom.html



let get it started

la la la la la la la - kylie minogue rules ...



This blog is about:
XML, Java, and everything else (or nothing ..)

Find more about
blog author

Blogroll:
Sam Ruby
Russell Beattie
Diego Doval
Joel on Software
and some (almost) harmless entertainment: The BileBlog

Projects::
MicroLogger
Xydra
WSIF
XmlPull API
XPP3/MXP1
XSOAP
XMessages

RSS RSS 0.92
0.92 [validate]
2.0 [validate]

Filter Entries:
Life Category Specific RSS Feed
Java Category Specific RSS Feed
XML Category Specific RSS Feed
Computing Category Specific RSS Feed
Web Services Category Specific RSS Feed


Valid XHTML 1.0!


Powered by microBlog (C) Aleksander Slominski

Disclaimer: personal opinions and observations that may or may not be taken seriously, or even based on shared reality and generally are very unreliable and personal and snapshots of volatile writer mind ...

NOTE: THIS PAGE IS UNDER CONSTANT DEVELOPEMENT