Friday, September 26, 2008

Timeout bug with Corba and Java

Just in case this helps anyone searching The Google:

If you see an error message like this (snipped):

WARNING: (COMM_FAILURE) Read of full message failed : bytes requested = X bytes read = Y max wait time = 3,000 total time spent waiting = 3,190

and are using Java 1.5+ with CORBA, then be sure to check out this post.

Essentially, it involves a timeout value on a socket. Changing this property:

com.sun.CORBA.transport.ORBTCPReadTimeouts

is the key, as described in the linked post. Mercifully, we came across this quickly during a recent troubleshooting. It could have consumed days.

Wednesday, September 24, 2008

A fascinating quote attributed to James Gosling

I have been sitting on this post by Ken Arnold for months now, trying to figure out a way to write about it. I thought of it again today and decided to carpe blogem with some quick thoughts.

Random Thoughts
  • James Duncan Davidson has always been too apologetic and too harsh on Ant. Sure, it isn't perfect and may not have been his finest hour, but it delivered us from 'make'; and for that, I'm forever grateful.
  • IMO, Gant may well be the next generation of build tools. I'm not sure that it allows the Unix pipes that Arnold mentions, but it is much closer than Ant will ever be. (My Maven friends will, no doubt, chime in here.)
The quote by Gosling

I love the (paraphrased) quote attributed to Gosling:

James Gosling once said that every configuration file becomes a programming language, so you might as well think that way.

First, I should point out that I have not authenticated this quote, but Arnold is a reputable source, and this seems consistent with Emacs. Presumably, this was well before 2003, the date of Arnold's post.

This quote shows the power of philosophy: without knowing it, Gosling anticipates the success of Rails and Grails over Struts, and to a lesser degree, the possibility of a triumph of Gant over Ant.

True, this doesn't talk about "convention over configuration" or even web frameworks per se, but it clearly suggests that solutions with static configuration suffer an asymptotic disadvantage, compared to solutions with dynamic, programmatic configuration. The dice are loaded from the start.

Every time I work with Grails or Gant, I think of this quote.

Saturday, September 20, 2008

Quotes from an agile War Room : the anti-project

Several developers stand at a white-board, recalling the problems of a previous project.

One after another, anti-patterns are noted and discussed, involving threading issues, micro-level transaction management, absurdly slow unit tests, and scalability flaws.

Says one developer, "Friends, that thing had so many anti-patterns that it was an anti-project".

Monday, September 15, 2008

Observations of a Surfer (in 2008)

Two recent observations that imply that web surfing isn't exactly 'there' yet as a user experience:

Captcha

When I submit a comment to someone's blog, I usually copy my well-crafted, thoughtful comment before running the gauntlet of submit/captcha because I have a subconscious fear, based on hard experience, that things are going to go very, very wrong.

Web 2.0 and Ajax

I have a habit of clicking on a window before scrolling, to ensure that it is 'active'. This was never a problem until all the Ajax stuff: now, that real estate is often a latent feature or gizmo that is just waiting to fire.

I've become subconsciously afraid to click in a browser window: it is a minefield.

The Upshot

I don't know what to do with this information. This may be a silly rant, but it is intended as a sudden realization.

Friday, September 12, 2008

Possibly the Best Quote Ever for Code Maintenance



From the brilliant Top Gear (see 3:00 to 3:30, on this clip of absurd custom limousines):

It is an ingenious solution for a problem that never should have existed in the first place.

Tuesday, September 9, 2008

Google releases Giant Hadron Collider


CtJ Newswire
Parody City, CA
Sept 9, 2008

While the scientific community waits in anxious anticipation for the commencement of CERN, the Large Hadron Collider, insiders report a stunning development: Google will release their own, open-source particle accelerator. The project is reputed to be a Giant Hadron Collider (GHC), a monstrous piece of engineering powered by thousands of V8 engines. The giant, code-named CHRERN, features 54 km (34 mi) of tunnels, most of which run through the search engine's large, secure data centers over HTTP.

Many scientists have questioned the need for a rival, upstart effort to mimic the Big Bang, but others feel that it is consistent with Google's philosophy. Said one insider, "I suspect that Google has already found the Higgs boson (aka God particle) internally, and are developing the GHC for more ambitious applications".

Claimed another, "it may seem pugnacious at first, but they are basing the GHC on open, scientific standards, and that can only mean good things for science and humanity".

Mini Black Holes? Process Isolation

Skeptics wonder if the GHC is even more prone to creating black holes or singularities, threatening the Earth's very existence. "This is highly unlikely, since the architecture of the GHC partitions each singularity into its own multi-dimensional process. So, if a process goes awry, it will not harm the rest of the universe", reported a chief research scientist. She continued: "this is a distinct advantage over other accelerators, which work in the same process as the known universe. Moreover, it allows concurrent particle acceleration for truly, well, smashing throughput."

Despite all the buzz, there is no word yet if Google plans to explore sub-atomic space with Ad Sense.

Friday, September 5, 2008

The Tone of Chrome : Google's Writing

I have always appreciated Google's tone with respect to their online writing (e.g. privacy policies). They are folksy, conversational, and intelligent.

Tonight, after reading the piece "a fresh take on the browser", I have a new adjective: confident.

No Exclamation Marks!!!

There was something about the text of the above article. I couldn't put my finger on it. Then I realized it was distinct from the usual marketing hype in IT and the mainstream media: no exclamation marks. This hit me like a lightning bolt: it was a bit like when I discovered that the uber-funky Prince song, When Doves Cry, does not have a bass line. It's almost like an implicit, secret message.

The Comic

I had a theory on this and raced back to the Google Chrome Comic. There are virtually no !!!'s there either. I counted only 2 by the main protoganists (there are some others in the background). This seems extraordinary for a comic piece, and I think is a major contributor to the tone.

The Message

I'm no expert on professional writing, or comics. I don't know if Google actually worked with the writers to keep the hysteria factor down, or if they would even talk about the punctuation (though I suspect they would).

My take on the underlying message is that Google is manifesting a serene confidence. They don't need to hype the message. Interesting stuff, and I think an important lesson for both advertising and writers, even if we only write blog posts and/or email messages.

ps. A first observation: Google Chrome and Blogspot seem to be a bit at odds. I wrote this article in "Compose mode" with Chrome and later discovered many empty div and span elements, which created some rather spacey spacing. It is now being corrected in FF3.

Thursday, September 4, 2008

The Joy of Hex: online Unicode converters

I was working with Russian strings today (in Java i18n files), and needed a sanity check with respect to Unicode codepoints and hex values.

I found this wonderful site. Very nice.... I am blogging it for future reference and also to share with you.

To the owner, I say: вы (thank you).

ps. For my quick check, the web page fit the bill nicely, but be sure to add native2ascii to your toolbox as well.

Tuesday, September 2, 2008

3 Lessons from WAX

There is a new JNB article over on my employer's site. The topic this month is a new API for writing large XML documents: WAX. Here are 3 lessons I've learned from the article.

1. Research, Build, Contribute

Mark ran into a real world problem (an OutOfMemoryError when writing a large XML doc), then surveyed the landscape for a solution. Not satisified with the answers, he wrote his own solution and shared his findings with the world. Classic stuff.

2. Use Interfaces to Communicate Intent

The article mentions, as an aside, a clever idea by Brian Gilstrap: the use of interfaces to restrict the usage of the WAX API. For example, one may not call the attr method after using the text method. Brian's idea creates support for a DSL, of sorts, in a static language: it hits a sweetspot that provides compile time support and yet does not use a full-blown parser or dynamic-language DSL.

3. Have Fun

Well, check out the introduction video and see for yourself. I *heart* absurdity !