Archive for September 2006
This post will be about my own journey to simple, basic respect and a bit about complications that exist here in Finland. And I’ll analyze my communications style a bit… This story was primarily inspired by this post of a very good friend of mine.
I’m very grateful of my raising. I’ve never been obliged to settle to the second best; thus, I had freedom to pursue the ultimatum. Even today I consider compromises very carefully – within reason, obviously. My home wasn’t especially wealthy (totally out of this scale), so mostly the freedom turned out as letting me to keep my head and reject all kinds of bargain (money/stuff for favors). So, as foreign capital wasn’t available/acceptable, I had to pursue things with my own strength and get to feel the true value of things. The lack of rigid control could have turned out badly, but all of us managed to grow up pretty well. None of my brotherhood has ever even smoked or anything. I believe having a smart attitude is a force stronger by a couple magnitudes compared to simple parental control. In the end of the day, all of this made me kind of independent, I guess. (The value and beauty of life is in collaboration, of course. I love having company. I’ve just never been slaved by anyone.) (Sorry, I must place a break here…) Read the rest of this entry »
Just a moment ago came the programmable webtops and now we’re back into a bit more versatile hosted application platforms (+Microsoft and some ecosystems etc.) Lot’s of communities. These specialty/value-added platforms are good as I was kind of getting bored to that ‘PHP only’-kind of hosted web server providers. Very few even managed to get the Java hosted, and they still dared to charge money – ok, I was just setting context here. :)
But yay, now we’re going to have a very nice orchestration and integration topping over all this web services offering (a better list). Long live REST and SOAP! And remember kids, REST is for noobs and SOAP is for the leet. And what’s with all the BPEL bashing? (Nice redux, btw.) I think all this antagonism is a bit off-course. Going little off-topic here (like I was having any… harrr!) but I preserve the right to include this reminder: “BPEL is the XML glue that binds Web Services into cohesive units [and so on].” Isn’t that just great or what? Just all you enterprisey folks keep your durrty BPM hands off of this nice web services programming language. The 2.0 is already working well. All the (trans)portability etc. might be nice extra features, but not that critical – for me, at least, which admittedly may not be much. Well, on the other hand, I’m the developer programmer…
A choreography-directory anyone? It could get handy soon with all svc2svc interaction scenarios… ah, an ad pause: The Wealth of Networks (yes, of course the link is affiliate-tagged; please, some love?.. – you’re not going to get it read online anyways) And I just never get this one finished.
It was pretty nice of Ghalimi to be so advertisy towards the Connect, since their BPMS is kind-of head2head with the Cordys’ offering. But hey, I ♥ PXE, fwiw! Ok, currently there’s a minor flux with this Ode situation, but apparently Intalio will be adopting Ode as the core of the Intalio|BPMS – I hope? No parallel forks, please.
So, all we need now is a platform for platforms. Such a thing could provide monetization and meritocracy features… Just kidding! :)
But yes, it’ll be interesting to see how this platform business and ecosystems begin to gear up. This post was just a kind of short remark. Sorry if the title promised too much, I just wanted to note the present state of the internet evolution with it.
PPS. I’m sorry for these shallow writings, it’s just that I must priorize other stuff above this blog thingy. I’d very much want to ponder upon these great developments, but that must wait for now.
I received my IBM Port Replicator II a couple of days ago and oh man how I love the DVI signal!! ♥♥ :) My otherwise wonderful ThinkPad T42 (getting old, yes, but not too fast with 1½GB) has only an analog video-out on board and you need one of these replicators for digging out the digital signal. I hadn’t bought the dock up until now as the IBM spec says that the DVI port supports ‘resolutions’ (/dimensions) only up to SXGA (1280×1024), which is not nearly good enough. But then, I felt lucky and googled out that it actually should push my UXGA display (1600×1200), and more! And it really works! Oh, glory! No More Shadows!! But, I could still use e.g. twice the UXGA+SXGA+ area I currently have. You just can’t have enough display area. And, while I have only 120dpi resolution, the poor kids get 200dpi! Just not right.. :)
Ah, can’t.. resist.. talking.. about the machine itself.. There’s just no other real laptop computer than the ThinkPad. It’s the only ‘heavy duty’ machine out there. The robustness is just of its own class. All other laptops are just cheap plastic toys compared to these. Ok, Toughbooks may be up to the challenge on the plain body robustness part, but then there are all the other hardware features, like the best keyboard in the world; and ThinkLight!! :) . And those maintenance manuals.. Just beautiful! There are really detailed guides of how to take the whole machine apart. I don’t know how smart it may be from IBM’s part :) but I love the dedication! That’s just excellent customer service. (I haven’t checked how Lenovo is doing.)
It’s a pity that this excellent engineering and customer service is just not economically feasible. Even serious businesses buy Dell and sh*t like that. (wtf is wrong with these people?) And apparently there aren’t so many reasonable corporations – like Nokia – who respect the quality. For example, do I want to buy Dell-quality software? Hell no! And that’s exactly what all those companies are communicating with their tooling (computers). Professionalism shows everywhere, especially in the equipment used for designing/manufacturing your products.
It’s no wonder that Lenovo needs to cut the quality to increase sales and profit, but it’s just so unfortunate. And it’s no easy job to get the quality this high; no small manufacturer can do it. So, if ThinkPad goes down, it’ll take some time until any other manufacturer gets its shit together so well. I want quality hardware! Please!
Update 09/25: A related article in Java Developer’s Journal.
Oh, word got around more easily than I dared to anticipate. Embrace the tubes. Yes, I see now that this issue has been discussed way back then. That’s good, I’ll now try to add only new content on top of what is already said.
My point merely was that as EXI will probably emit some spec at some point in the future, there should be a way to advertise such an encoding feat in the XMPP stream; equivalently to the compression. I’m really not expecting that the group is planning to come up with a pure XML-way to do such a thing, it should be out of their scope. So, nothing too fancy for XMPP, just a basic, minimal advertising feat. And, as a draft can be made (thanks llama for the comment!), more important could be to see if this kind of development would interest the community.
Just to note, I do like the XML data model, about it’s structure and extensibility. And, I must resist the binary XML being the claimed ice cream delicacy (note: this goes a bit beyond XMPP): yes, the binary format is a totally different kind of data, but it still represents the same information – content in some ‘potentially-schema-defined-kind’ of a structure. We’re just not using the debug mode any more (visiting my poor metaphor). And, as the binary format should be the most efficient way to represent that data, it really is the leanest ad-hoc binary format. (No, it won’t be anything absolute in any sense, I’ll be just trying to grasp the basic idea.) It should then be the leanest way to represent XMPP also. Only minor improvements should be able to be gained with further ad hoc binary formats, as the qualitative improvement in reducing the parsing complexity is already achieved. Thus, there should be no room for more efficient ad hoc formats, considering the structure of XMPP.
Irrelevancy prevails: Despite the weaknesses, which of course must be considered, in the evaluation was noted some significant improvements in parsing times. (“2 times faster”, whatever that means.) The article by Sun presented pretty much the same results. And, those gains don’t yet include the impact on software development effort (the error handling I mentioned in the last post); I believe XML parsing could be more robust than what is is today, especially for stream parsing. Well, there might always be tons of perfect solutions hidden inside closed systems or otherwise undiscovered…
It’s the protocol nature where I see a good fit for binary encoding and thus could like to see it supported in the XMPP. Furthermore, the real-timeliness of XMPP could justify RTT improvements.
(Note: There are some comments on the previous post and further commenting is welcome.)
I’ve been thinking this for a moment.. I’d very much like to see a JEP for efficient XML encoding, in spirit of Stream Compression. Compressing XML will save you some bandwidth (e.g. 91%) but it doesn’t cut the total processing cycles; on the contrary, it adds a few. A binary encoding does save some space already by itself, but a more important factor is that it is much easier to parse. Considering current transfer speeds, I believe that cutting the parsing and serialization times by 65…95% may translate to a greater impact in the total response time compared to only squeezing the bandwidth. In addition, the binary encoding may be compressed as well, resulting in a double effect.
(A side note for keeping this post concrete: as an example of the proposals, there’s an open source implementation available for Fast Infoset specification, by an ill named project FI. The spec is supported even in my favorite JEE server, GlassFish.)
These two optimizations, compression and encoding, work on different layers: compression is transparent to the XML parser – i.e. parsing works independently of the compression – but the encoding provides a potential hit to the parser itself. A ‘hit’ as in that it requires little more profound upgrading of the software systems, but I’m considering the XML parsers pretty much one of the primary aches of those anyway. (Although Woodstox has really helped there; many thanks to Tatu Saloranta for creating such a gem.) Of course, the binary format can be re-encoded to the human-readable format and thus be fed to the same old parser, but then there’s no much benefit for using the binary format. Except that it can provide a smooth transition path.
Furthermore, I believe (while lacking evidence) that the binary encoding could be less error prone. According to my own experience, error handling is a major issue with XML streams. The state model of XML parsers is pretty complicated (or what do you think, Tatu?) which makes it pretty hard to handle and recover from errors. I would kind of like to keep the wire states simple, while it’s less critical with documents. This error proneness however remains mere speculation until further experience is gained.
Some people like to keep all XML in the human readable format, but I’m willing to consider other encodings for some uses; wire protocol being definitely one of them. I like to have some documents and database tables to be readable, but there are so many uses for XML: it’s good to note the value of the XML data model as well, in addition to the mere data encoding.
Having a human readable wire protocol is like running your production servers in a debug mode, slowing them down remarkably. The gains just doesn’t cover the costs. And, fortunately, there exists tools like Ethereal Wireshark that can represent various wire payloads very nicely. It’s a good tool and uses the de facto way of tapping into the wire anyway. So the human readable representation is available at no cost (as in effort) if you use the standard tooling of the industry. (Of course, the Wireshark may not be able to decode various XML encodings right at this moment, but I believe it wouldn’t take too long.)
The people so keen to the human readable format are a bit ‘black and white’ kind of persons, don’t you think? No sensitivity for contexts, seeing no colors of the world. Having a choice should always be a good thing! Isn’t it part of the whole open source ideology? Bad solutions just fade away.
Hmm, now I only wonder how to get Peter read this post…
(Note also the follow-up.)
This was just so hilarious that I had to put it out to public. :) I don’t know how smart this is but what the heck.. The picture on the right shows the search engine term stats for this blog, taken just a moment ago.
I’m just glad to be found! All publicity is good! (ahem…)
One earns his audience and I’ve earned mine. :)
I couldn’t find the kind of geeky hoodie design I wanted, so I had to craft one myself. The world isn’t made yet!
I used Zazzle to fulfill this creative passion of mine, which is great as now everyone can get one (or more) of those shirts!! :) And I get a generous 10 % of each sale! I’m gonna be soooo rich!!
I just love (being in the tip of) the long tail…
The picture was drawn with GIMP (how else?) and the font is Blibbo Light SF. I have no idea where I’ve found the font or what is its license. I thought I’d found it from dafont, but it wasn’t there. Googling and stringing doesn’t help much either. If you want your license to be obeyed, make it available! Btw., dafont is a wonderful place, even for just browsing around.
P.S. I must beg your pardon as I promised not to use this blog for advertising. But this is my product! I cry for mercy!!
P.P.S. I tempt my faith: the infant crawler version is pretty humorous :)
Update 09/11: I just learned how to potentially get 17 % of the sales! HUGE!! :)