about author

Previous | Next Year

2003

alek blogs

insane blabbering without spelling (*)

Warm, Cold, And Warm Again in Arizona ...

nice rocks in Sedona big big cactus I took some pictures of the trip to Northern Arizona.

Here is how warm was and where did we go:

Hot Beginning of Week: Hanging Around in Phoenix and attending SC 2003

Warm Friday on way to Flagstaff stopping in Montezuma Castle, Wupatki National Monument

Very Cold Saturday With Even Coder Wind in Grand Canyon

Warm Sunday on way back seeing Sedona Oak Creek Canyon

But all in all there is way too much to see in Arizona and I will need to visit it again ...




Unusually Warm November ...

twin bridges way is directly going up

More pictures.

No comments ...



Mad Milton Goes Out...

This entry is written by Milton who took a (temporarily) possession of Alek for one Saturday night on evil mission to win costume contest ("almost" success!):

Miltopn hold on his staplerMilton and Chief Mad Scientist that works in Promptcare
Three Riders of War, War (Green Monster), and MiltonMilton And Some Random Guy

and more pictures ...



Gold Red Brown Green And Beautiful Autumn ...

one good looking autumn tree

No comments ...



Welcome to Indiana University Beautiful Campus...

IU sample gate

No comments ...



Biking / Monroe Lake @ Night ...

Road Has No End ...

No comments ...



Octav Was Here ...

one way or Alek way?octav and alek dwarfed by huge yellow gold green tree

No comments ...



Chicago, Chicago ...

Chicago Seadog Vs Alek

No comments ...



Front Range @ Boulder Colorado...

Entering Weapons Free Zone

No comments ...



Tumble down the black hole ...

Wonderlab is a nice place to visit even though it is designed to amuse children still every geek has an inner child quite close as we checked this Saturday.

When visiting make sure to lose some pennies down deep in a gravitational hole or even your head when T Rex is checking how tall you are ...

scientific_experiments_to_influence_gravity_using_willpower nice_t_rex_nice

And soap bubble machines were also quite good fun (maybe even more fun than XSOAP - for children at least).



Flower That Blossomed For Me

Flowers and other plants did not seem to do too well with me ...

But now I can show one exception:

flower in window

Isn't it lovely?

flower ready to surf

So maybe something really changed. In any case I have at least those pictures.




Oh Laptop, Where Are You?

I have put together description of an ideal laptop and list of possible candidates. Still looking ....



Where Are Java Senior Engineers?

Reading a blog of such high quality as Chris Brumme where he is dissecting CLR internals in such depth (for example asynchronous operations) that it brings a joy to any engineers heart even if it is Java enthusiast.

I just can not stop to wonder where are Java blogs of such caliber that goes into such details and are written not by users but by creators. Java.net seems to be under control of "How-To" writers (exactly opposite to what Chris is doing), evangelists, SUN enthusiasts, and marketing specialists. Not exactly what I would call "The Source For Java(TM) Technology" and engineers seems to be lacking sorely from "a diverse group of engineers, researchers, technologists, and evangelists at Sun Microsystems" that was supposed to propel that site.

So where is SUN hiding all these Java engineers?

Please let me know if somebody knows where to find them ...

UPDATE: maybe other companies that also work on Java are more open? What about IBM, BEA, or other leading Java companies... ? Do their engineers blog (or are allowed to)? One has to admit that Microsoft seems recently much more open and interesting place than ever before ...

And unfortunately James Gosling posts about Zen and his grandmother even though very inspiring does not count as in-depth technical insights ...). And yes, I am impressed that this blog has now RSS feed (took only few weeks?).



Checking validity of server public key with OpenSSH

It was not obvious how to compare key signature when you access new host (or one that was upgraded say from SSH2 to OpenSSH). Easy way to verify keys is to compare key signatures (this assumes you have trustful channel to get those signatures) still after login you can do some simple verification:

$ ssh-keygen -l -f /etc/ssh/ssh_host_key.pub
1024 bf:b2:5c:4a:84:be:23:29:0a:aa:33:18:8f:55:f3:34 foo@newschool.cs.indiana.edu

but wait (!) there is possibly more keys:

$ ssh-keygen -l -f /etc/ssh/ssh_host_dsa_key.pub
1024 08:27:15:2b:d0:6b:b4:a1:c9:c4:a2:89:c9:98:a7:3a /etc/ssh/ssh_host_dsa_key.pub
$ ssh-keygen -l -f /etc/ssh/ssh_host_rsa_key.pub
1024 b9:62:0d:a9:df:66:43:e4:97:3d:b8:a0:b2:63:52:8c /etc/ssh/ssh_host_rsa_key.pub

still what bothers me: why there are three separate keys and not just two?



Virus in air?

When you enter a room with your wireless windows laptop turned on, wireless card working, and with unfixed RPC vulnerability in your Windows NT/2000/XP then you may be "lucky" enough to catch a traditional virus and some of the latest Windows viruses ....



Sun goes down and darkness falls in NY

For one day we were back to natural cycle of life. As soon as sunset it was dark. No lights except for spurious car lights and emergency lighting. Dark streets. Playing scrabble instead of working (or surfing web). Hunting for food and place to see TV. Hunting for candles. Finding place to sleep for those stranded that could not get back to Manhattan. Staying long in night and rationalizing situation and sharing theories. Trying to ignore hot and humid night without AC ...



Back to Components game?

From Don Box talk on Services Oriented Architecture (SOA) presented during XML Web Services One conference (based on article from eWeek):

"Objects are to services what ICs [integrated circuits] are to devices. And we're moving into this world where we want services to be replaceable, we want services to be deployed independently from other parts of the application, and there's a lot of work to be done in this space."

If you replaced services by components in the statement above would it not sound like something familiar?

Maybe the way to look on this is that Web Services becomes uber components: components that are not only distributed but work for internet scale applications.



MicroLogger: dependable logging

If you need to add logging to your application without worrying about right version of log4j or commons-logging on CLASSPATH use MicroLogger. Just embed one logger class into your application package hierarchy (foo.MLogger) and either use it directly or do any tweaks necessary (source code is provided).



MicroBlog and story lead-in

If a blog entry (such as my ramblings about memex) is long it will occupy too much space on front page or other summary pages. So it is good to break blog entry into "lead-in" and the rest of story.

I have it now implemented in MicroBlog by using a simple convention that if entry has empty paragraph it is used as place to break entry into lead-in and the rest.



Comparing XB1 to JDOM ...

This is mini review of "A Design Review of JDOM (A Conversation with Elliotte Rusty Harold, Part III)".

Let see how Xml Pull Builder a.k.a. XB1 (for more details on XB1 see its home page) compares to JDOM based on points raised in article.

A Short History of JDOM

Before we do this few word about XB1. XmlPull Builder Version 1 a.k.a. XB1 is lightweight document object model to represent XML tree that is implemented on to Common API for XML Pull Parsing and alpha version is in XPP3/MXP1.

JDOM Offers Many Convenience Methods

XB1 is currently rather modest API and do not have lot of methods (except for obvious overloading of methods) and that makes API quite simple (at least for now).

JDOM Allows Malformed Documents

XB1 implementation also allows creation of malformed documents or let put it this way: the implementation does not do extensive checks but XB1 API allows implementations that will do those checks (XB1 API is composed of interfaces). BTW: example with control characters is not good as XML allows to have control characters but escaped as numerical entities AFAIR ...

JDOM Ignores Setter Method Conventions

I do not see problem here: JDOM is not Java Bean and chaining methods may be sometimes convenient (but should not be overused). This looks like rather weak complaint ...

JDOM Uses Java Collections

XB1 goes one step even further and it uses Generics for even more natural iterators than mentioned NodeList (currently moving to use future java.lang SimpleIterator interface so idiomatic for(XmlElement el: node.elements()) will work in JDK 1.5) .

JDOM Uses Too Many Checked Exceptions

XB1 has only one exception (at least for now) and it is runtime exception for all reasons mentioned in the article and i woould add one more reason: RuntimeException makes it easier to integrate XB1 into existing code.

Will JDOM Remain Class-Based?

I agree that interface based API is more versatile as it allows to abstract form implementation and allow creating XML tree models directly from other data sources that XML event stream from parser (like databases)

Conclusion

I was disappointed that XPath integration (and good performance of it) was not mentioned. Also I would like to see some tests that compared memory footprint and how easy is to build partial tree: this is very easy with XML pull parsing but quite difficult with push parsing (in SAX it requires provide way to overwrite endElement() callback and in general is as much fun as writing SOAP deserializer with SAX). And as far as future of XML Tree APIs: I would like to see how easy is to annotate XML infoset items with additional information (needs for it emerges with data bindings and PSVI)

But after all what makes and breaks APIs is how programmers feel about them, and I feel good about XB1 when I am using it (nothing to do with the fact that I am author of it of course ..)



Xydra: easy way to add Web Services to your portal

Xydra is a library that uses servlet to provide XHTML based WSDL invoker. Xydra servlet takes WSDL with XML Schema complex types as input, generates XHTML form to allow user to fill content of input message, gathers submitted input values and converts form name-value pairs into XML message that is sent it to Web Service and then finally displays result message.

One could ask: there are other WSDL invokers so what makes Xydra unique? Here is couple reasons:

  • Xydra has pluggable data model and currently two backend to represent form and XML message content One is traditional name-value pairs that are structured into tree (called TreePath) and second that is based on Protege engine to use ontology describing web service to allow more reach constraints and relationship validation (called OntoBrew).
  • It is very easy to customize Xydra look and feel: just save auto-generated XHTML page, modify it to your needs and tell Xydra to use this XHTML page as template. What makes it really easy is that template is a regular XHTML page that is used by Xydra processing engine (unsurprisingly called Diesel) to annotate it with runtime information.
  • Xydra support complex types and generate nice XHTML form UI for arbitrarily nested XHTML forms.
  • You get source code so you can improve it :-)

Sample installation is available online to test drive Xydra. It is open source so anybody can play with it, improve it, and give us feedback, patches are gladly accepted, we may even fix some bugs when reported (good bug report that contains all information necessary to reproduce problem and/or unit test greatly increases chances of getting problem fixed ...)



Memex: futuristic device?

If idea has almost sixty years and it is till interesting then there must be something in it. That is certainly true about memex.

First motivation for memex from "As We May Think" by Vannevar Bush from July, 1945 (emphasize is mine):

(...) The human mind does not work that way. It operates by association. With one item in its grasp, it snaps instantly to the next that is suggested by the association of thoughts, in accordance with some intricate web of trails carried by the cells of the brain. It has other characteristics, of course; trails that are not frequently followed are prone to fade, items are not fully permanent, memory is transitory. Yet the speed of action, the intricacy of trails, the detail of mental pictures, is awe-inspiring beyond all else in nature. (...)

So how such device would work? One organizing theme is about machine remembering and recalling anything that operator deems interesting:

(...) When the user is building a trail, he names it, inserts the name in his code book, and taps it out on his keyboard. Before him are the two items to be joined, projected onto adjacent viewing positions. At the bottom of each there are a number of blank code spaces, and a pointer is set to indicate one of these on each item. The user taps a single key, and the items are permanently joined. In each code space appears the code word. Out of view, but also in the code space, is inserted a set of dots for photocell viewing; and on each item these dots by their positions designate the index number of the other item. Thereafter, at any time, when one of these items is in view, the other can be instantly recalled merely by tapping a button below the corresponding code space. Moreover, when numerous items have been thus joined together to form a trail, they can be reviewed in turn, rapidly or slowly, by deflecting a lever like that used for turning the pages of a book. It is exactly as though the physical items had been gathered together from widely separated sources and bound together to form a new book. It is more than this, for any item can be joined into numerous trails. (...)

Finally what really matters is ability to organize, recall and share knowledge and that idea what was well captured in this example:

(...) The owner of the memex, let us say, is interested in the origin and properties of the bow and arrow. Specifically he is studying why the short Turkish bow was apparently superior to the English long bow in the skirmishes of the Crusades. He has dozens of possibly pertinent books and articles in his memex. First he runs through an encyclopedia, finds an interesting but sketchy article, leaves it projected. Next, in a history, he finds another pertinent item, and ties the two together. Thus he goes, building a trail of many items. Occasionally he inserts a comment of his own, either linking it into the main trail or joining it by a side trail to a particular item. When it becomes evident that the elastic properties of available materials had a great deal to do with the bow, he branches off on a side trail which takes him through textbooks on elasticity and tables of physical constants. He inserts a page of longhand analysis of his own. Thus he builds a trail of his interest through the maze of materials available to him.
(...) And his trails do not fade. Several years later, his talk with a friend turns to the queer ways in which a people resist innovations, even of vital interest. He has an example, in the fact that the outraged Europeans still failed to adopt the Turkish bow. In fact he has a trail on it. A touch brings up the code book. Tapping a few keys projects the head of the trail. A lever runs through it at will, stopping at interesting items, going off on side excursions. It is an interesting trail, pertinent to the discussion. So he sets a reproducer in action, photographs the whole trail out, and passes it to his friend for insertion in his own memex, there to be linked into the more general trail. (...)

It seems that linking creates such trial and good search engine is tool to recall trails and now blogs are making easier to create trials but still this is long way to go ...

There are other tools that try to do this but so far I have not found yet one that works for me ... where is my Memex? so i start forgetting what i can easily recall:

(...) Presumably man's spirit should be elevated if he can better review his shady past and analyze more completely and objectively his present problems. He has built a civilization so complex that he needs to mechanize his records more fully if he is to push his experiment to its logical conclusion and not merely become bogged down part way there by overtaxing his limited memory. His excursions may be more enjoyable if he can reacquire the privilege of forgetting the manifold things he does not need to have immediately at hand, with some assurance that he can find them again if they prove important. (...)



Space Invasion in Newport, RI

This was fantastic day and seeing current state-of-the art kites floating over Newport is not much different experience than seeing UFOs. This time we made amazing number wrong turns but overcam all stumbling including longer-than-expected cliff walk almost during night and arrived safely to be able to put photos online.



microBlog improved

microBlog improved: finally resolved generating and linking pages for multiple categories and fixed category specific RSS feeds.



The Last Of the Great Indoorsmen?

Another species identified for extinction classifed and identified by Dave Johnson:

(...)This is all great and the only thing really causing any stress is the ProJSP book, but I don't think I'll have to miss a day at the beach to wrap up my changes to my two chapters. My Dad and I have our laptops setup in the kitchen and the only thing that really interferes with my works is the constant derision and calls of "hey nerd-boys" and "get a life" from our wives. This really doesn't bother me at all. I always arrange to bring a laptop along on vacation. I'm not like Raible. My idea of a vacation is tinkering with all things digital, which, coincidentally, is also my idea of work. I'm the last of the great indoorsmen.(...)

It can not be- I would consider myself another one - and I suspect there is more ...



TRANSFORM-INTO-A-GEEK FORMULA

How to become a geek effectively? Sisi Liu has now a simple answer to question . No need even for the pill (and this pill was invented before Matrix was it?).

This works kind of opposite to ACME Nerd Suppressant [cached]

Now it doe snot work on men, does it?



Time is the scarcest resource

Time is the scariest resource and it should be treated as the most important factor when considering any task. From interview with Jim Gray:

(...) You see this today. Two groups start; one group uses an easy-to-use system, and another uses a not-so-easy-to-use system. The first group gets done first, and the competition is over. The winners move forward and the other guys go home.

That situation is now happening in the Web services space. People who have better tools win.(...)

However it is also important to not simplify the problem we try to solve or we have something very easy-to-use but useless ...

He also talks about phenomenon of scale when doing software development and I find this estimate quite interesting:

David Patterson: What do you think is happening with databases in terms of open source? What is the Linux of databases?

Jim Gray: I think it's exciting. Very small teams built the early database systems. A small team at Oracle built the original Oracle, and there were small teams at Informix, Ingress, Sybase, and IBM.

Twenty-five people can do a pretty full-blown system, and ship it, and support it, and get manuals written, and test it. (...)

Now the trick is to be where action is and to be part of such team :-)



Fire And Motion

So instead of writing code i read email and surf web not unlike Joel. He captured specifics and concerns about programmers productivity quite well in Fire And Motion.

However what really struck me was this piece of his experience:

(...) When I had a summer internship at Microsoft, a fellow intern told me he was actually only going into work from 12 to 5 every day. Five hours, minus lunch, and his team loved him because he still managed to get a lot more done than average. (...)

When I had a summer internship in France lots of years ago there was this guy who was apparently very good. He was very good but he did not show up to work however as he did exactly what they wanted at the end of the internship so they really loved him...

My personal theory is that surfing web, emailing or in general reading and thinking is what really matters for programming. Writing code is just an end result, an artifact produced to capture what was created in days of hard work of thinking that may have looked like doing nothing but were required to accumulate into written code.



Resign Patterns: Real Design Patterns?

This is look on dark side of Design Patterns: Resign Patterns [local copy]:
Ailments of Unsuitable Project-Disoriented Software by Michael Duell.

Here is a short excerpt:

(...)
3.1 Chain of Possibilities

The Chain of Possibilities Pattern is evident in big, poorly
documented modules. Nobody is sure of the full extent of its
functionality, but the possibilities seem endless. Also known as
Non-Deterministic.

3.2 Commando

The Commando Pattern is used to get in and out quick, and get the job
done. This pattern can break any encapsulation to accomplish its
mission. It takes no prisoners.

3.3 Intersperser

The Intersperser Pattern scatters pieces of functionality throughout a
system, making a function impossible to test, modify, or understand.
(...)



On writing scientific theses ...

It is interesting idea to just put all elements of typical scientific paper as shown in this good spoof of scientific theses [local copy]

Results can be quite intriguing - for example let take a look on related works section:

"Many researchers have attempted to solve such philosophical debates but have been proven unsuccessful. An attempt to determine why the chicken crossed the road showed inconclusive data and resulted in the loss of all test subjects due to traffic fatalities (Hoyman 2001, Larsen 1987)."

Now only if all scientific papers were that short (and funny!) ...



Google And Zen

Google regarded as a nature force that is unpredictable and requires very special attitude:

(...)Others have a more a Zen-like approach to doing well in Google. "You can't control Google," says a search engine marketer who goes by the name martinibuster on Webmaster World. "Anything you do to control Google, the more you try to manipulate it, the more it will backfire on you. It's counterintuitive, but it's when you let go -- when you don't try to control Google -- then your results get better."(...)

(...)For good reason, Google doesn't talk about its ranking algorithms; if folks knew what Google was doing, the search engine would be easy to trick. But in the absence of information from the company, rumors, theories and groundless speculation run free. On the Web, Google has taken on the aura of a god -- enigmatic, arbitrary, worthy of our fear and our love. Everyone's watching it for signs of anger and of embrace; we know that whatever it does will affect us profoundly, and so people watch it, and they worry.

read more at salon.com titled The Google backlash.



Beyond J2EE and Jini is ... ?

Talip Ozturk writes about J2EE and Jini and what is relationship between them:

(...)They are not truely competing technologies rather complementary technologies. if you are writing a J2EE server, you can use Jini's dynamic, self healing features. if a Jini service needs to persist data in a way that entity beans does, then the Jini service can make use of a J2EE server to do that. if you are writing JMS implementation, you might want to leverage Jini JavaSpaces technology. JNDI might internally be interfacing with Jini Lookup Service to gain some dynamic behaviour.(...)

I think that distributed computing is changing with advent of Web Services and in particular Grids. The feature may be something like distributed container that is dynamically created from available services (similar to Jini but on Internet scale) that guaranteed to have all required resources such as performance, bandwidth, transactions etc. as described in SLA, QoS, ... (in this respect it is meeting and superseding requirements of J2EE).

Anyway only future can really tell and some technologies seem to stay longer (or shorter) than predicted.



Pyramids: returning magic to computing.

Picture of PYR A MAC in full glowing glory! Finally magic of computing restored - nobody can doubt that computer requires special secret skills to run machine that looks like pyramid and glows blue in dark ....




Myth of US Vacations?

Russell Beattie takes a good look on vacation in US and Europe:

(...) Now, the opposite of this concept is true as well - imagine how harsh it is for someone to go from Europe to the U.S. My wife doesn't really understand yet what a 24/7 society like the U.S. is like. She talks about future vacations when we're living in the U.S. and I shake my head softly. "I doubt we'll have much," I say. Even if we do have vacations, they'll never coincide. And undoubtedly something "important" will be happening at work and we'll have to spend half our vacation calling back to voicemail or checking emails. The fact is that vacations are always just short breaks, not true downtime. By the time you're just forgetting about work, it's time to go back.(...)

It seems that the only loophole may be when you stay at university and have three months of vacation (not counting Christmas). The rumor has it that it is even better in Australia ...



StoryBlog: tool to prototype merging blogs and story telling.

After even more emails exchanged with Jack Park (who is strong proponent of XML Topic Maps) we plan to get microBlog extended.

The aim is to explore some emerging ideas on how to use Topic Maps to facilitate merging multiple blog RSS feeds into stories.

So we call it StoryBlog. We start simply: first see what we can get by adding <dc:subject> as described in RSS To Topic Maps and go from there ...

UPDATE: StoryBlog project is now created on java.net and waiting approval.



WSE2 younger brother of WSIF?

(...)Ok, so let's start to talk about the product: It is about SOAP Services. Actually, they still call it Web Services but in fact, it has nothing to do with the web at all. It is only about SOAP anymore - and it is only about SOAP as a framing format anymore. Frankly, I think that this is a very good thing: using HTTP in your mission critical applications might not be the best idea. Wouldn't it be way cooler if you could just take an XML document, wrap it in a SOAP envelope and send it over whatever reliable protocol you like? While still using all WS-* and GXA specifications?

this desription of WSE2 sounds like what WSIF except that WSIF has support for industry standards such as CORBA/IIOP and does not require to send SOAP envlopes.

However the problem with WSIF that it is only client side ...



Echo Arrives?

As soon as Echo (aka Pie) is well defined microBlog will add support for it.



Future so bright I need sunglasses?

Future so bright i need sunglasses? And it is not that summer is getting hotter but I feel that there are so many possibilities and paths to follow and so much to improve that it is so mind boggling that I need sunglasses to look into future ... as if nothing since 1998 changed :-)



Is Semantic Web for Humans Or Machines?

After somewhat long discussion with Jack Park (and lot of emails exchanged) I have come to conclusion: semantic web will work if metadata/XML/documents are easy to parse by humans and can be transformed ot from that is easy to use by machine.

I would put easy to read by humans as high priority and machine parsing ability as second requirement.

This is simply what made the difference between RSS 0.9x/2.0 and RSS 1.0 ...



Heart of Science (And Fiction)?

From interview with Michael Swanwick [cached]:

(...)Scientists often start from an intuition or an emotional preference and work outward from there. Logic is only a tool, like a chisel or a gas chromatograph, that they use in their work. Far more central to the enterprise is intellectual honesty, the ability to admit that they may possibly be wrong or, even better, that the guy with the opposing viewpoint may be making a valid contribution. I saw an auditorium full of people give John Ostrom a standing ovation after he made the introductory statement at a symposium on the early evolution of birds. It was a powerful, emotional thing to witness, and afterwards the guy next to me leaned over and said, "Did you notice who was the first one on his feet?" And he named a man whose theories were in direct conflict with Ostrom's. But he could still applaud the integrity of Ostrom's work. That was extraordinary.(...)

on appeal of dinosaurs:

(...) That's an easy one. It's because dinosaurs are (a) monsters, (b) real and (c) safely extinct. It's an unbeatable combination! My paleontologist friends hate it when I use the M-word, but let's be honest here, that's the appeal. There's a story that Kenneth Carpenter saw a Godzilla movie when he was a boy and immediately decided that he was going to devote his life to studying such creatures. Then, when his parents gently broke it to him that Godzilla was imaginary, he switched his loyalties over to dinosaurs, as the next best thing. Decades later he discovered a new species of theropod and named it Gojirasaurus. Thus keeping a better faith with his younger self than most adults do. (...)

and on advantage of science fiction:

(...)But in science fiction you've got a readership that's willing to let you sprawl. So long as you're entertaining them, they don't mind if it takes you a few extra pages to reach the end. This is why so much literary mainstream short fiction feels so much tighter than SF does. The advantage here is to SF. You can take that slack the reader has given you, those extra pages, and use them to cut a few figures, try a few things out, maybe invent something new. That's a priceless gift for the writer.(...)

all together very interesting author and writes short books so well worth checking out!



How to do two way, p2p, symmetrical web using asymmetrical pull ...

In RSS: Promise and Peril Tim Bray talks about use of RSS providing notification mechanism to track state changes of Web services such as credit card transactions, weather, traffic reports, sales tracking, ...

This is very useful but what caught my attention is that by using RSS pull mechanism (or similar approaches that are asymmetrical) we may finally achieve p2p functionality (symmetry) that long time ago was promised with ubiquitous IP address (Internet enabled toaster anyone?). This makes sense for clients behind firewalls and other NATs i.e. majority of Internet users, clients that have no public IP address (asymmetrical web ?). Now the problem is really who will pay for it: how to stream commercials in RSS?

NOTE: this is how i designed event/message notification in XEvents/XMessages, to provide maximum flexibility it is based on pulling events matching filters, and application that is pulling may maintain token to allow to recover from disconnections (similar but more powerful than ETag).



Note to myself: check your dream job before you start learning it ...

This looked pretty insightful to me (from How Vienna Escaped the Cubicle) :

(...)I had also spent some time shadowing doctors. I went to Stanford Hospital and followed doctors around on their shifts. For the most part, their work consisted of a lot of bureaucracy. The everyday life consisted of filling out forms, and then filling out other forms, and then dictating forms to other people.

I know that everybody probably gets disillusioned with their career at some point, but I got disillusioned with mine before it even started.(...)



Where is my meta super uber maven?

Rants can be fun especially of they touch the gist of real issue, such as Hani on maven:

(...)No doubt that road will in turn lead to yet another tool to manage maven.(...)

If you build metadata driven build tool then better you make it easy for users, trying to fix tool by adding another tool with more metadata may not help ...



To live and die coding ...

Live to code .. code is poetry ... nice article/documentary The JBoss Group forks:

I realize there are two types of friends in this world. Normal friends and the ones you can code with.

So we see ,,,



Shaping PCs?

lara croft like molding Strange ...first look on how we may get computing done when we are better integrated?:-)

Visually it reminds me about one of my favorite movies of all time -- Ghost In The Shell ...

Anyway it is very impressive work (picture on right is when OS was installed .. looks likeWindowzebut hard to say ...) done by guy in Japan and here are specs: cool CPU: VIA C3, MOBO VIA EPIA E-533, RAM: 256MB, HD: FUJITSU MPG3409AT 40GB, DVD-ROM, and lots of POWER: whole 200W :-)

It was also fun to read some forum comments about it - only geek can write something like that to prove he is not geek ...: posted by ENDelt260:

While I did get a chuckle out of looking at those pictures, I couldn't help thinking "Man, this is kinda sad. Someone needs to get out of the house more."

Of course, when I started reading the replies, I realized just how wrong I was. The patheticness of the responses to this thread makes the kind of person who would make a woman-shaped computer seem relatively normal. I can't believe there wasn't even one humorous pot-shot taken at the creators of this case. The admiration of this creation seen here surely amounts to the largest geek circle-jerk in the history of man. I guess I should be more understanding. Perhaps the only way some of you can get a woman hot is to make her out of paper mache and stuff an overclocked cpu inside of her.

Best wishes to you gents. I'll be walking away from my boring, black-box encased, computer now to go interact with people in the real world (including women... complete with breasticles and everything). Here's hoping your sweetheart doesn't melt down or catch fire during a heated game of Doom.

and my impression was well captured in response posted by X:

The irony of ENDelt260's post is that far from come off as superior, manly, and more mature than anyone on this thread ... he managed to do just the opposite.

ENDelt260 you claim to wonder where the humorous responses are to this work of art only because you are so numb or cynical or just plain stupid that you overlook the obvious ... no one is seriously lamenting love for the electronic enclosure ... they jest. Something you are not quite so skilled at as you would like to believe. I suppose you would make the same criticisms of all the greatest sculpters and painters in history. I on the other hand am nearly certain that the Mona Lisa wasn't painted because the guy couldn't get a DATE.

This case has no place being evaluated for practicality ... as it was never intended to be so ... it's an anomoly, a purely creative venture. It is art. My first instinct was not to question the creator's labido because he sculpted a female form ... it was to admire his sculpture. To admire his skills and his creativity ... as I certainly could never craft such a thing simply because I lack the aptitude to chisel out such a sculpture be it used as a computer or not.

The artist who made this case took sculpture and combined it with a computer. Such a device would certainly not have nor should it be judged for practicality. It is a singularity ... a creative work that deserves admiration. It, and it's creator, certainly have mine.

The only person who clearly "needs to get out of the house more" is ENDelt260 ... who's ego and self-worth appear to pivot around pathetic attempts to feign social supremecy and demean others ANONYMOUSLY ON THE INTERNET.

-X

and this may be all off the tangent as the creator seems to do it fo rmoney and this particular sculpture/pcmod was done to order ...




Ethernet forever?

Another example of wining strategy KISS (Keep It Simple Stupid): Ethernet! From Economist article The big three-O:

That raises the question of whether a technology that outlived even its inventor's expectations will ever be supplanted, or whether it will continue to be upgraded indefinitely. As Dr Metcalfe quips, ?When something rises up to defeat Ethernet, it's very likely that they're going to call it Ethernet.? Now that, indeed, is adaptability.

The only problem is to know what is the right level of simplicity and adaptability: what is simple for one may be complex for another ...



Einstein Brain In Matrix

Hack Into Einstein's Mind: Einstein Archives Online



AOP to make better design?

What comes out when one crosscuts AOP and design patterns? Can implementation of design patterns profits from AOP approach? Those are quations asked and answered in:

Design pattern implementation usually has a number of undesirable related effects. Because patterns influence the system structure and their implementations are influenced by it [7], pattern implementations are often tailored to the instance of use. This can lead to them ?disappearing into the code? [7] and losing their modularity [21]. This makes it hard to distinguish between the pattern, the concrete instance and the object model involved [15]. Adding or removing a pattern to/from a system is often an invasive, difficult to reverse change [4]. Consequently, while the design pattern is reusable, its implementations usually are not [21].

The invasive nature of pattern code, and its scattering and tangling with other code creates documentation problems [21]. If multiple patterns are used in a system, it can become difficult to trace particular instances of a design pattern, especially if classes are involved in more than one pattern (i.e. if there is pattern overlay/composition) [1].

Pattern composition causes more than just documentation problems. It is inherently difficult to reason about systems with multiple patterns involving the same classes, because the composition creates large clusters of mutually dependent classes [21]. This is an important topic because some design patterns explicitly use others patterns in their solution.

Now we only need better tooling so debugging of programsthat uses AOP design patterns is possible...



Multitasking Or Creating Time and Getting Important Work Done?

We all are struggling with multi-tasking, getting projects done and prioritizing work. However more work is there then more important it become to follow this advice:

Make sure you know your boss's priorities. What does he need now? Too often the boss says everything, in which case, go to #2.

What is strategically important for the company now? Note that this is not strategically important for your group, but strategically important for the company. Talk to your boss, yes, but then focus on what helps the company most.

and if enough background data is available then

Kill the projects you need to kill. Too often we have too many projects hanging around, or products we support because we always have. Stop that now, and only support what is strategically important.

Work on things that bring in revenue (or contribute to revenue) now.

time is the most precious resource so it is good to think about creating time it can be as simple as:

not attending meetings you don't need to attend

allowing interruptions from voicemail, email, pager, cellphone, and blackberries at specific times, not when the interruptions come in

allowing people at the lowest level of the organization make decisions about their work, so you can make decisions about your work



Google: Web services that works!

There is a bit of controversy about Web services or Web Services (WS). I believe that we should use non capitalized 'services' in Web services to describe broader set of Web related services over HTTP that existed before all hype of WS arrived and SOAP and friends should be written as Web Services to indicate that this is subset of Web services ...

There is lot that Web Services can learn from "simple" HTTP based Web services and one example is Google Clustering as described in Web Search for a Planet: The Google Cluster Architecture, IEEE Micro, March/April 2003 (Vol. 23, No. 2), pp. 22-28 (local cache)



Social Software And Tools That Shape Us

i have just read Are You Ready for Social Software? and i liked it, especially this aspect about building it:

Kenneth Boulding, the economist, humanist and social scientist, once wrote: "We make our tools, and then they shape us." That is what social software is doing. It is changing the way that we socialize.
and it looks like one idea to make whuffies work (that i am big fan of) or even older and simple reputation. what is really addressed is how to get paid when resources are (practically) unlimited and that reminds me about book i read long long time ago - Voyage From Yesteryear:
"Are you two, er . . . teachers here or something like that?" Driscoll asked.
"Sometimes," Shirley answered. "Ci teaches English mainly, but mostly down on the surface. That is, when she?s not working with electronics or installing plant wiring underground somewhere. I?m not all that technical. I grow olives and vines out on the Peninsula, and design interiors. That?s what brought me up here?Clem wants the crew quarters and mess deck refitted and decorated. But yes, I teach tailoring sometimes, but not a lot."
"I meant as a regular job," Driscoll said. "What do you do basically?"
"All of them." Shirley sounded mildly surprised. "What do you mean by ?basically??"
"They do the same thing all the time, from when they quit school to when they retire," Ci reminded her mother.(...)

now only remains to discover cold fusion, or nanotechnology, or have clean start and get it done and not get bogged down but other issues ...



Back home

It is good to be home! ..



Hello Octav

Hi to Octav!



RISC vs. CISC in programming languages

I have read Paul Graham's The Hundred-Year Language and somehow it reminds me arguments for RISC versus CISC:

I think the fundamental operators are the most important factor in a language's long term survival. The rest you can change. It's like the rule that in buying a house you should consider location first of all. Everything else you can fix later, but you can't fix the location.

of course that makes assumption that developers actually care about axioms. i would say that typical developer is pragmatic and just wants to get good code that does good job written quickly and to do that is willing to use any tool available and simpler (known syntax, taught in school, popular, ...) or more powerful (more libraries, more good IDEs, plugins, ...) will win!

by reading it somehow i had this strong hunch that the author is Lisp hacker ...

Most data structures exist because of speed. For example, many languages today have both strings and lists. Semantically, strings are more or less a subset of lists in which the elements are characters. So why do you need a separate data type? You don't, really. Strings only exist for efficiency. But it's lame to clutter up the semantics of the language with hacks to make programs run faster. Having strings in a language seems to be a case of premature optimization.

i think that i still want string to be string and not lists even if lists are more elegant.

finally choosing carefully user of language is important.

You're most likely to get good design if the intended users include the designer himself. When you design something for a group that doesn't include you, it tends to be for people you consider to be less sophisticated than you, not more sophisticated.
That's a problem, because looking down on the user, however benevolently, seems inevitably to corrupt the designer. I suspect that very few housing projects in the US were designed by architects who expected to live in them.

for example this from other essay seems to prove points

You can see the same thing in programming languages. C, Lisp, and Smalltalk were created for their own designers to use. Cobol, Ada, and Java, were created for other people to use.

If you think you're designing something for idiots, the odds are that you're not designing something good, even for idiots.

i like Java - it is right mix for me of interpreted and compiled language with nice simpler than C++ syntax and lot of libraries to get job done ...



why blogging? just publish and forget?

some good observation: first noise reduction and ego maintenance

Blogs have been compared to newsgroups. It is interesting. In newsgroups there is no "uber" member. Everyone is equal. At first that seems great - however it makes it hard for people to filter out the noise. In effect, a blog gives me control over the "major" content of my newsgroup. I can post anything I want on the front page... anyone can add comments, link to me, etc - but no one else gets to be on the front. In this way blogs appeal to the ego of the blog owner, but also gives people visiting a blog a built in filter.

then RSS as Web Service:

The most fundamental building block of blogs is RSS. I don't know how revolutionary RSS is compared to HTML or TCP/IP, but RSS is the heart and soul of blogs. RSS provides a crude "alpha" XML web service. It will evolve and become even better. Today, RSS gives blogs a way to publish their content in a standard way. Sounds simple. Which is what makes it great. With RSS as a standard, you can now have aggregators that troll hundreds of blogs and extract relavant information. You can extend RSS (being XML and all) and add features like full message content, Doublin Core fields, etc.

but finally is this what i think really matters: publish and forget

One reason I believe that blogs are great for corporation internal communication is the question of distribution lists. Inside of Microsoft we live and die by email. However the constant spam of email to large distribution lists ends up drowning out the important information. For many types of communication (but not all) blogs provide a better way of communicating. There are many cases where you as the publisher of a piece of information don't know who would be interested. Blogs are a way to "publish and forget" - you fire the information out there, and interested people will find it. Once I add our internal blog server to the corporate search service, suddenly I could find people that worked on products that I wanted to communicate with. Amazing.

so blogging is simply next generation of communications weapons in our arsenal (like fire and forget!)



IA, IBM, IC??

interesting serendipity: first i read Vinge thoughts about IA and automation and here is IBM doing first good step to create good automation - amazing how world works. here is one interesting scenario where autonomic computing is used:

The software can study traffic patterns to predict changes in computing demand and then automatically bring more resources online to handle the changes in computing workload. The software can also generate historical data to analyze trends over time.

Based on customer feedback from its consulting engagements, IBM will enhance the self-optimizing software, the company said.



Singularity, Intelligence Amplification, and Future

Interesting thoughts (cached) and compelling alternative to AI - IA (Intelligence Amplification):

When people speak of creating superhumanly intelligent beings, they are usually imagining an AI project. But as I noted at the beginning of this paper, there are other paths to superhumanity. Computer networks and human-computer interfaces seem more mundane than AI, and yet they could lead to the Singularity. I call this contrasting approach Intelligence Amplification (IA).

and it will be even more interesting to see if we witness singularity by estimated year 2030 ...



taking red pill

Microsoft is hiring lot of people including interesting positions in XML Messaging team where one could work in close proximity of Don Box ...



good xml performance must be verifiable to matter

Google found for me this interesting report (local copy) on performance of XML object models.
As this document is written to promote commercial product X-Fetch Performer unfortunately details of tests (machines, JVM, code versions) or at minimum source code for tests to verify results is not available and that renders those results very unreliable ...



How to find your place in life ...

what are you good at and what is that you do in life may not be the same thing...

Like Don, you'll be a lot happier if you aren't fighting the value system around you. Find one that enforces a set of beliefs that you can really get behind. There's a powerful transformative effect when you surround yourself with like-minded people. Peer pressure is a great thing when it helps you accomplish your goals instead of distracting you from them.

interesting read to remind about important question (local copy)



Joke ...

some people will miss joke (local cache) even if it hits them:

Yes, we're aware that a 19" screen doesn't mean the PowerBook is physically 19" wide. It's a joke.



WS-Goodness

building on excellent work from RFC 3514 (local copy) i have jsut finished editing new WS-Goodness spec. This new naddition to WS-specs family should solve all security problems with SOAP messages as soon as it is adopted ...



How much metadata do YOU create?

or where is my s3mantic web please? If it is not built on meta data but meta crap thanr it is not semantic web but ... ?

read more on Metacrap (local cached copy)



funny, funny, funny dancing skeletons

So they can dance ... http://boingboing.net/2003_03_01_archive.html#200023657



generics with constraints

i need them NOW even though constraints are only limited to implements and extends it is still quite powerful to describe and constrain required behavior of parameterized types (as interfaces):
interface Comparable
{
        boolean equals(Object x);
        boolean less(Object x);
}

interface Set<A implements Comparable>
{
        boolean contains(A x);
        Set<A> include(A x);
}

good that codeguide supports them and there is this nice page on how to integrate generics compiler with ANT ...

but i see how it works in real programs when it is freely available and distributable in next JDK ...



exploring time travel and meeting myself one minute older

what if time travel happened not on long range but minutes or days scale, would i call myself Friday me or tomorrow Saturday me (what is tomorrow when time travel is possible ...)

this is explored in my all time favorite Lem short story 7th Voyage (local cached copy) from "Star Diaries of Ijon Tichy"

we typically imagine space exploration to be done by group of serious people and treated as serious topic but what if the group consists mostly of you at different ages:

(...) Meanwhile the arguments continued. The sight of such inaction, such wasting of precious time, drove me to despair, while the rocket rushed blindly on, straight ahead, plunging every now and then into another gravitational vortex. At last the ones wearing spacesuits started slugging it out with the ones who were not. I tried to introduce some sort of order into that absolute chaos and finally, after superhuman efforts, succeeded in organizing something that resembled a meeting, in which the one from next year--having seniority--was elected chairman by acclamation.
We then appointed an elective committee, a nominating committee, and a committee for new business, and four of us from next month were made sergeants at arms. But in the mean time we had passed through a negative vortex, which cut our number in half, so that on the very first ballot we lacked a quorum, and had to change the bylaws before proceeding to vote on the candidates for rudder-repairer. The map indicated the approach of still other vortices, and these undid all that we had accomplished so far: first the candidates already chosen disappeared, and then the Tuesday me showed up with the Friday me, who had his head wrapped in a towel, and they created a shameful scene. Upon passage through a particularly strong positive vortex we hardly fit in the cabin and corridor, and opening the hatch was out of the question--there simply wasn't room. But the worst of it was, these time displacements were in creasing in amplitude, a few grayhaired me's had already appeared, and here and there I even caught a glimpse of the close-cropped heads of children, that is of myself, of course--or rather--myselves from the halcyon days of boyhood.
I really can't recall whether I was still the Sunday me, or had already turned into the Monday me. Not that it made any difference. The children sobbed that they were being squashed in the crowd, and called for their mommy; the chairman--the Tichy from next year--let out a string of curses, because the Wednesday me, who had crawled under the bed in a futile search for chocolate, bit him in the leg when he accidentally stepped on the latter's finger. I saw that all this would end badly, particularly now as here and there gray beards were turning up. (...)

read to find out how multiple Tichys were saved by ...



debugging past

wouldn't it be great to be able to see not only current state in debugger but also what happened before, kind of like VCR? now this is one step closer: Omniscient Debugging (ODB)



How to get it all done (continued)?

finally solution i just need third computer:
Benefactor of mankind--thank you! (Score:4, Funny)
by EnlightenmentFan (617608) on Tuesday January 28, @02:29PM (#5176294)
(http://betsydevine.weblogger.com/ | Last Journal: Tuesday January 21, @01:55PM)

Now I can set up computer #1 to play an infinite, obsessive
game of Tetris on computer #2, leaving me free at last to sit
down at computer #3 and get some work done. The $200 for
webcam and other hardware is cheap for an invention like this,
with the revolutionary potential of the wheel, or fire, or
even pizza delivery.

Thank you! Thank you! Thank you!
as posted on slashdot in relation to Colin Fahey's Tetris AI System that is an amazing and working system for computer that uses videocam and keyboard ot play tetris on another computer: diagram of setup for tetris with PC and camera and played for 7,216,290 completed rows for over 7 days when using knowledge about next pieces (without it system could complete only 40,000 rows ...

and even more optimistic conclusion: those fast CPUs we have can be actually used to solve old problems:

Now, in 2003, technology (particularly CPU speed) has reached
a level that makes finishing this particular project almost
trivial.  Recently I have had some free time, and I am
going through some of my oldest personal projects and
finishing those that can be finished -- just so I can
have some closure.

when i was reading article i reloaded page and it seems that author had to shut it down because of 50x higher fees when over limit and huge traffic generated by some dead brain stupid cracker ...




How to get it all done?

so true observations and especially this one: Always do only one thing - i have only two PCs but it is still not easy :-)



should WSDL die?

Just read Why I want WSDL to die. and i think author misses point of WSDL. WSDL is remote reference with extensible format. I do not htink it ever was meant to solve all distirbuted computing problems and for sure using XSD will not make it easier either: XSD would need to be extended as author noted to be useful, example:
<s:element operations:operation="ReserveSeatVariant1" operations:direction="input" name="ReserveSeatVariant1Input" ref="ReserveSeatInput" />
and this is not XSD ...

i hardly can see (though it can change later ..) how we can get anything to interoperate when we will start to add extensions to XSD - it is already hard to use without extending it and i have serious doubts that such annotated XSD will be XSLT transformable to WSDL - just too much of expression power is in XSD to make this task challenging and if XSD+WS starts to be used people will soon start to use all features of XSD such as choice and how would one to get that transformed back to WSDL ???



adding aspects to XML parser

that seems like a powerful concept to add new functionality to XML parser that makes parsing easier as lower level functions are seeminglessly combined with new aspects. As an example i am adding aspect framework to XmlPull API (as an addon) to allow dynamically add any number of extensions and integrate them with any parser implementation.



Nightmare Nightware

If you stay too long into the night then nighware (software you produceduring night) may become your nightmare :-)



Small, Bigger, and Very Big World

interesting observaytions on Nerds and why education system is not exactly helpful but more like part time prison:
If I could go back and give my thirteen year old self some advice, the main thing I'd tell him would be to stick his head up and look around. I didn't really grasp it at the time, but the whole world we lived in was as fake as a twinkie. Not just school, but the entire town. Why do people move to suburbia? To have kids! So no wonder it seemed boring and sterile. The whole place was a giant nursery, an artificial town created explicitly for the purpose of breeding children.
from re: link at the bottom folllowed to another interesting post The Six-Lesson Schoolteacher.



Maven the best tool to produce useless docs

Nobody can complain that Commons Logging has no documentation - it does have many pages of HTML that contains enough useful info to fill few paragraphs but still it was converted and generated meticulously into dozens or hundreds of pages that gives no meaningful info on what is current status of project, who are contributors project team page has nobody:
There are no developers working on this project. Please check back at a later date.

Great way to waste time if you happened to get to this page from google and not to much more useful old fashioned simple HTML page with kinds of info i need: documentation (just API - could be more but still OK) and release notes and nothing more!



Computer Science or Rocket Science

The ministry of silly names or other aspects of IT specailist life:
"What is it this time? Problem with the caps-lock key? Trouble remembering how to spell your mother's maiden name? Hard disk seized under the weight of all those JPEGs?"



Lightweight Sun ...

I wonder if anything useful will come out of Back to Basics for Sun Software - interesting interview with new CTO John Fowler:

Q: How do you view the integration of Java with Web services?
Fowler: We've looked at the application server and how people use application servers and Web servers in real markets, and have found that current app-server technologies are not aimed at what most people want to do. A large segment of developers want to develop presentation logic and database-connectivity logic but don't necessarily need all the elements of EJBs. And there's no reason why this needs to be so expensive or complicated.

Will Sun be able to create something small, useful, and lightweight or will succumb to marketing and work on another big piece of J2EE machinery. There are some interesting problesm to solve like JAX-RPC that is heavily RPC and CORBA-ish bend people are now more interested with messaging (so we have JAXM) and XML schema defined types (so we have JAXB) with doc/lit encoding as WS-I wants to supersede SOAP 1.1 Section 5 with enhancements over standard XML schema - at least SOAP 1.1 encodign was self contained - so it will be interesting to see if they ca come with anything coherent that is easy to use and allows real flexibility (like AOP and interceptors) and do not finish heavy code generating and packaging just like EJB (and JSR 109 alreayd shown that this can be done for web services in EJB)...



Know Your Enemy ...

good article on How to Interview a Programmer, defintely worth reading, showing what somebody that wants to be hired should really worry about :-)

and here is my favorite part:

(...)Randy Stafford: Good citizenship is probably more important than technical prowess, because if you have people with the right kind of attitude and demeanor, you can help them gain the technical knowledge and software development habits. But if you have people who lack humility and maturity, it can be extremely difficult to get them to cooperate in reaching a goal, no matter how bright they are or what they've accomplished in the past.(...)



Java Package Versioning is not easy...

As I have discovered after few hours of frustration support for versioning in Java is awkward and is based on Package Versioning spec that has only HTML description but does not have a working example (article in JavaWorld and working example provided were very helpful to figure out what was going on ...)

This is one of those rare moments that i wish i used other programming language than Java where they better solved this issue. for example it turned out that it does not work until at least one class from package is loaded into application and instead of trying to load package classes the API simply returns null exactly the same value if package is not available at all in current classloader - so the developer needs to guess why null was returned ...

My main problems are that it is only package based (i can always just version one package for library for simplicity) and it not possible to use API if code is not in JAR file and that is big problem. in such case Package.getPackage("package") returns not null but all calls to get getSpecificationVersion() etc. will always return null as implementation completely ignores my MANIFEST.MF even though it is on CLASSPATH but it is not in JAR file (one more reason to have real class metadata support in Java ...)

one nice thing i found is good and useful schema for assigning version numbers with MAJOR[.MINOR][.MICRO][_PATCH_NUMBER|-MILESTONE_NUMBER],
for example: 1.1, 2.20.1, 3.4.5_03, 4.5-beta1 (more details in notes about Specification-Version and very good rationale on not making implemntation versions comparable as described in Rationale for Limiting Implementation Version Numbers to Identity, excerpt:

A bug first appears in some version of a vendors package and may or may not continue to be a problem in subsequent versions. If the client of the buggy package uses a workaround based on version numbers, it could correctly work around the bug in the specific version. Now, if the buggy package was fixed, how would the client package know whether the bug was fixed or not? If it assumed that higher versions still contained the bug, it would still try to work around the bug. The workaround itself might not work correctly with the non-buggy package. This could cause a cascade of bugs caused by fixing a bug. Only the developer, through testing with a new version, can determine whether or not the workaround for a bug is still necessary or whether it will cause problems with the correctly behaving package. The developer only knows that the bug exists in a particular individual versions.

current solution: define package.Version.check(String version) (example in XSOAP) and not waste more time on it ...



Stigmergy or Why Ants are superior...

I must admit I do not like those biological analogies:
Using a weblog is communcicating through stigmergy. Just like an ant, as I blog I leave a trail of information and links to other information I find interesting.
not that i have anything against ants or bees (well unless we stay away) just that I think any progress requires intelligence, will, planning, and thinking and that is much much more than just following even tasty trails - there are simply too many of them to follow ...



Life goes on ...

i can relate to what Chiara felt - so nice to see similar feelings:
I had million things to do, like be depressed, go to the gym, do 3 weeks worth of laundry( if i could help it, it would be 4-5 weeks), go to Whole Foods for weekly grocery shopping, catch up on the blog world, etc. etc.



Life in cubicles

duo of text and image is a killer in: I Lost the Window Seat (image taken from Virtual Stapler)
And I said, I don't care if they lay me off either, because I told, I told Bill that if they move my desk one more time, then, then I'm, I'm quitting, I'm going to quit. And, and I told Don too, because they've moved my desk four times already this year, and I used to be over by the window, and I could see the squirrels, and they were married, but then, they switched from the Swingline to the Boston stapler, but I kept my Swingline stapler because it didn't bind up as much, and I kept the staples for the Swingline stapler and its not okay because if they take my stapler then I'll set the building on fire.



Open source or Open prototypes?

Russell Beattie is making excellent points about Thoughts on Open Sourcing Your Code: The OSS Prototype License. I have done some of those prototypes and i agree that marking them as such is a good idea for longer term maintenance.



New age of illuminated computing!

just thinking about increases my productivity - now i can work in complete darkness:
The EluminX Illuminated Keyboard has arrived! Be one of the first to experience the new age of illuminated computing!



Moore law for abstractions?

From A Talk With Charles Simonyi (The WYSIWYG) on Intentional Programming:
(...)So an abstraction may be looked at from one side as a compression of many instances into one generality or from the other side as a special purpose power tool that yields the solution for many problems. If one could attach a dollar sign to this power, the economies would be amazing: rivaling that of chips or application software itself.(...)



use yout tags wisely

If St. Patrick were to write DeXiderata today:
(...) Many fears are born of fatigue and loneliness. If you cannot make that XML document parse, go get a pizza and come back to it.(...)
(...)Speak your truth quietly and clearly, making liberal use of UML diagrams.(...)



mozilla and duplicated emails

it happened again! each time mozilla crashes when restarted it will get emails seen last startup (or last offline) and cheerfully inject them back into INBOX as not read but even worse: it will distribute again emails to subfolders using message filter.
could somebody add to Mozilla duplicate email filter so this can be prevented , please!!!! at minimum i should be able to run filter on whole mail account but what i really want is filter that can be set on whole mailbox that *prevents* duplicate messages form even entering mail folder! when doing this could somebody also add virtual folders too ...

UPDATE 2003/10/20: after reporting bug it was fixed in Mozilla 1.4.x ann Phoenix 0.7



Popup about popup eliminator

.. kind of logical. But who is going to eliminate popup eliminator?



Pair Programming or ... not?

Chiara wrote:
This is just one of the tiniest examples of how stupid that whole experience was. Bad programmers write bad code, whether they pair up, or not. XP is not faster , slow programmers write slow code whether they are alone or with someone else, of course, if a slow programmer pairs up with a fast programmer, the code will be written faster due to the fast programmer, then, why tag along the slowpoke?

There is no silver bullet and just maybe different people have different needs and in diversity of work approaches is the strngth and not in pairing everybody :-)



Here it comes: official WSIF release

after lot of work it is really nice to see that we have finally have Apache WSIF 2.0 :-)



Expect More

my favorite essay on web/SOAP design Expect More (posted as i always have problems to recall the title and fins it ...)



60+ reasons why java is better

so now i know ...



more direct XML access

interesting article about using more directly XML in Programming languages: Speaking XML
now some observations inspired by it - assume input:
<stock>
        <price>43</price>
        <revenues>10</revenues>
        <expenses>3</expenses>
</stock>
it would be nice to have XPath based locator that can convert such input into java types.

such locator would work as a bridge between XML and actual PL variables
that could be nicely combine with super lightweight iterators from XmlPull API into:

XPathFloatLocator price = XPathLocator.floatValue("stok/price");
XPathFloatLocator revenues = XPathLocator.floatValue("stok/revenues");
XPathFloatLocator expenses = XPathLocator.floatValue("stok/expenses");
// process input "somewhere" until all locators get values or throw error with exception
// close stream as soon as data is found (no need to read whole input)
XPathEvaluator.evaluate("somewhere", new XPathLocator[]{price, revenue, expenses});
float peRatio = price / ( revenues - expenses );
this could address main author conncern about DOM memory inefficency as XPathEvaluator pulls nodes into mameory only when they are used doing streaming parsing with XmlPull API and is quite easy to read IMHO ...
this could beeven better if databinding framework was used (to bind only part of XML). such framewrok shoul dallow reading and binding only parts of input so structured (described by XML schema and mapped into objects) and unstructured data can coexist
StockInfo si = (StockInfo) xmlDataBinding.bind("somewhere");
float peRatio = si.price/( si.revenues -  si.expenses);
and good xml binding framework would use streaming parser so virtually no memory overhead. however this approach requires writing XML schema for stock XML and generating StockInfo class quite lot of work for simple stock calculations.
more interesting is middle ground: we laredy have class and want to bind some XML data into it, something like this:
interesting question: can it be done dynamically: i have StockInfo class and use XPathLocator to bind existing class with XML
more general question is how different approaches such as static binding with compiled XML schema into generated classes, binding existing classes into XML fragments (schemas?), and completely schema-less free XML navigating can be all used with API that is as similar as possible for all of those cases. that should lead to very powerful XML programming API with lots of unforeseen synergies ...



best man for (programmer) girl?

so nice to hear this :-)

So, all those females out there, I mean, i have so many girl friends who complain there are no guys out there, or guys are hard to meet. Hey, make the trip to the world of programming.
The best and the brightest and the most original of all the guys are in the world of programming



The Best is just opposite of The Worst?

Shopper: How bright is INTERCAL's future? Do you see it as being a driving force in the world of language design and compiler architecture?

ESR: Yes indeed. If mainly in driving people away from those fields, screaming.

Quite funny (if you have to learn new PL) rant about INTERCAL



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