Missing Wide Open Spaces

I am back in crowded Nassau after a quick trip to Freeport yesterday (and Exuma last weekend). I already miss the wide open spaces, fresh air, and uncongested streets of Freeport.

The good news is that shortly I will fly to check out Norman's Cay in the Exuma chain of islands. It was the infamous airstrip and cocaine smuggling base in the Bahamas, run by Pablo Escobar and the Columbian cartels during the Pindling administration of the late 1970's to the late 1980's.

Norman's Cay is being made over into a luxury resort.

Automatic Tropical Carwash

I was in Freeport today on Grand Bahama Island, and I snapped this pic of an automatic carwash.

Things That Need Inventing -- CAT COOLER

The feral cats have really been hanging out around our patio. And the weather in the tropics has been extremely hot. The cats find a piece of patio stone in the shade, and lay on it, because it is a few degrees cooler.

I immediately thought of creating a cat cooler to give them a cool spot to lay on. I googled the concept and found that I wasn't the first to think of a cat cooler. One other person on the internet had the same idea. His concept is pictured below, and you can read about it HERE.



The above idea isn't thought out well. It relies on water evaporating off a towel below the aluminum cake pan to cool the kitty.

I have a better idea. I call it CCCC, or the Cosmological Cabbage Cat Cooler or C4. It works on the simple principle of siphoning off a bit of cool in your air-conditioned house and transferring it outdoors to cool a platform that the kitties lay on.


Essentially you get some copper refrigeration tubing and create two radiator-like networks. You fill the tubing with a liquid like anti-freeze which carries cold well. Then you put half the thing indoors, and the other half outdoors. If the indoor unit is higher than the outdoor unit, you do not need a pump. As the liquid cools, it becomes denser and pushes itself outside while the outdoor-heated liquid is lighter and ends up inside to get cooled. The process continues by itself.

Only cat-lovers have an interest in this idea. We are not exactly cat-lovers. We just got roped into feeding feral cats and cannot bear the thought of cutting them off and starving them. But as long as they are mooching off us, they might as well be like me -- cool!

Blog Hits Revisited Again -- Sexy Words

I am still fascinated by what the blogsphere is teaching me about blog hits. Take a look at my stats that I captured yesterday. They tell you the top dozen most popular pages on my blog. The Michael Jackson autopsy photo beats its next nearest competitor by at least 14 times.

And when you examine the next three most popular entries, they all deal with Karla Homolka, the Canadian serial killer. Throw in femme fatale Anna Nicole Smith, ghetto weddings, ghetto proms and how to hack swipe cards, and you have a pretty good picture of why people come to this blog.

I follow the requirement of putting up fresh content almost every day. That puts me in good stead with Google, because that is one of their criteria in search page rankings. The fresher the content, the closer to the top that you page shows up in search results when someone plugs in search terms that are in your page.

The second secret to bringing visitors to the pages, is to have lots of tags. The more search tags that you have, the better the chance that you have of getting picked up by the search engines.

But the nut that I haven't cracked yet, is web page stickability. My whole thing is to convert a visitor sent by Google into a regular reader. If you will note in the above stats, I have only 47 people looking for the generic blog while I have a couple of thousand looking to see Michael Jackson sliced and diced in a giant vege-matic.

To over come the stickability problem, I have been conducting some experiments. I have been changing the headers on the blog hoping to pique the readers interest. If the reader came looking for Michael Jackson, I want them to read about Carnival Cruise ripoffs, or Avagadro's Ants, or life in the tropics.

To effect these experiments, I changed the rather existential "Stream of Consciousness in the Islands in the Stream". That didn't work too well with people wanting to see Michael Jackson and serial murderers.

So I switched to Jimmy Buffet lyrics, in the hope of playing up on the tropical theme. That improved the situation a bit, but not a whole lot. The next experiment had to have a bit of psychology behind it. I decided to Google the sexiest words in the English language and embed them in the picture of Cabbage Beach at the top of the blog.

I found a list of sexy words as compiled by members of the Calgary Association of the Romance Writers of America. From the list, I wrote the header that you now see. It improved my stickability a lot. People would click on other links. At this point, an observant person would say "If it worked, why do you have only 47 hits to the blog". The answer was obvious. Most of the 2,000 people that come looking for the Michael Jackson picture, do not speak English. Back to the drawing board.








Here is the canonical list of sexiest words in the English language:

ablaze adventurous afterglow alive allure astonished ambiance ample animal animated anxious artistic attain aural awaken bed bite blazing blend blithe blowing bosom breezy bronze brooding bulge bursting calm capricious caring carouse ceaseless chasm cherish cherubic chiseled course compatible constant content contortion covert cram crazy dancing dangerous daring decadent decent delicate demure desire diffident dreamy drowsy dwell eager earthy easily ecstatic effusive electrify enfold enigma enrich erotic eternal ethereal evocative evoke expose exuberance eyelash fabric facile familiar fantasy fascinate fathom feathery feisty feline fickle fidgety figment finesse fleshy flirt florid fluid foamy frenetic frisky frontal furtive fury fuse gait gallant gap gentle glad glimmer glitter gloomy glorify glorious gorgeous great greedy groan groin grope guarded guide gush habit hair haven hazy headstrong heady heart heavy hidden hiding hollow hope hug humid hunger husky hysterical icy idealistic illuminate illusion image imagination immense impish impulse incendiary incite indecent in-depth indiscreet infinite inflame inflate infuse inhibit innocent insistent intense interpersonal interval intimate intoxicate irascible itch ivory jam, jaunty jealous jiggle jubilant juicy jut keep kind kindle kinky lacy languid large laugh layer laze leak lightly like limber linger lingering lipstick liquefy liquid listen livid lonely loose love lovely lubricate lucky lust luster macabre mad magnetize maintain majestic marital masterful maze meadow memory mere merge mesmerize miracle mirage mirror moderate modest moisture moment moon motivate mutual mystify mythical naked natural nerves niche nude nurse nurture nymph odor oily ooze opalescent opiate oral organ overcome pace pacify pale palm partake passionate pause peek penchant perceptive persuade pet petal petulant pillow pique please pliant plunge plush poke polish pout pretty private probe provocative provoke quake quality qualm quantity quiver radiate rare rave ravish real realize rebel recline redolent refreshing relax release reluctant renew replete repose ride rise rock roll romantic rosy rowdy ruffle satiate satisfy saturate saucy savage scamp scanty scent scheme scintillate scorching secluded scream selective sensational sense sensuality sensuous sentimental serious sexual sexy shadow shady shallow share sheer shell shoot show shy sight silhouette silky silvery simulate sincere sinewy skimpy sky sleepy slender slide slim sly slow slowly smolder smooth sober sopping sordid soul sparkle spicy spiritual spill springy squirt star stare starlight starry startle stay steal steamy stiffen stimulate sting stare stormy straddle straight strip strive stroke stun subconscious sublimate submerse submit succulent suffer sulky sultry sumptuous sun surf surge surreal surreptitious surrogate svelte swap sweet sweetheart swell swept swim tame tan tangy tantalize taper taste tawdry tear tell tenacity tender tense thrill throes tight tingle titillate tongue touch true trustful tumultuous unbelievable understand undulate unfamiliar vacant vacuous vain valley value vapid vaporous variant variety vast veil velvet venal venture verve vibrate violate virginal virtue virtuous virulent vicious vision vivacious vocal volcano wake wanton watery wet whimper whisper wild wind winter wistful worthy writhe x-rated yacht yearn yield zany zealous zest zone

The Trouble with Technorati

Technorati used to be the name in the blogsphere. They have continuously declined. At one point the website was down for over a month.

In spite of the fact that they have lost their authority in the blogsphere, I used to check out my ranking. It was fun to watch. My original ranking was 2.6 million out of more than 7 million blogs.

I was pleased when my blog ranking dropped below two million. In the shot below, it is at 1,112328 million.
It got as low as 1,102,000 million and dropping like a rock. My hits numbers are climbing every day. I have a respectable amount of visitors to my blog, and I should monetize it, however, I am in the Bahamas, and it is a pain to do so in a country with a non-convertible currency.

So, when Technorati finally came back on line, I idly checked out my blog ranking. To my dismay, it dropped unexpectedly. See below:



Don't forget that the lower the number, the better your position. I thought that this would be a mistake, corrected after a few days, but no such luck. This bears to relation to my popularity and increased hits.

Sadly, Technorati has really declined as the arbitrator of the blogsphere.

Tabloid Tourism Part II -- The Travolta Extortion Trial

The whole town is abuzz with the trial of politician Pleasant Bridgewater in the $25 million extortion attempt on John Travolta when his son Jett died in the Bahamas. Here is the Bahama Journal take on things:

Former PLP Senator Pleasant Bridgewater returned to court yesterday for the start of the high profile extortion trial involving actor John Travolta. (Photo/Torrell Glinton)

Jury Selected In Extortion Trial
By Sasha L. Lightbourne


The high profile extortion case involving Hollywood actor John Travolta and a former Progressive Liberal Party (PLP) senator started Monday morning in the Supreme Court, but not much happened.
Former PLP Senator Pleasant Bridgewater and her co-accused Tarino Lightbourne are accused of conspiring and attempting to extort some $25 million from Mr. Travolta after his 16-year-old son, Jett, died in the family’s Grand Bahama vacation home back in January.

Bridgewater is also charged with abetment.

Both were asked how they pleaded to the charges before Senior Supreme Court Justice Anita Allen to which they said "absolutely, positively, 100 percent not guilty."

Ms. Bridgewater is represented by attorneys Murrio Ducille and Krysta Smith while Mr. Lightbourne is represented by attorneys Carlson Shurland and Mary Bain.

Lead prosecutor in the case is Director of Public Prosecutions, Bernard Turner, who is assisted by Garvin Gaskin and Neil Braithwaite.

Following the not guilty pleas, the nine-member jury – six women and three men – were sworn in.

The trial is expected to proceed today at 10:00 a.m. when the prosecution will make opening statements.

However, The Bahama Journal reported last week that attorney Carlson Shurland had filed a constitutional motion to order the court to have the prosecution turn over certain witness statements and other evidence which he said is "crucial to the case", namely some video tapes.

Mr. Shurland told The Journal that he is still pursuing that matter and it is the reason for the trial taking an early adjournment.

Some witnesses expected to be called throughout the trial are John Travolta, PLP Senator Allyson Maynard-Gibson and PLP Member of Parliament for West End and Bimini Obie Wilchcombe, along with various police officers.

The trial is expected to last three weeks.

Exuma III

This is a continuing series on our weekend visit to George Town, Exuma. As I was wandering around town with my camera, I came across the above pictured Anglican church. A service was in progress and I heard church music wafting on the breeze.

Earlier that Sunday, I peeked out our cottage window, and saw the following Exuma sunrise.
The Lovely One is so taken with Exuma, that she wants to spend Christmas there. It is a little bit of heaven on earth.

Tabloid Tourism Day in Nassau

Today will be an interesting day downtown in Nassau. The world tabloids are in town. The trial of lawyer and ex-Member of Parliament Pleasant Bridgewater begins today. She is accused of trying to extort $25 million from John Travolta when his son Jett died here in the Bahamas last year. It should be a circus and Roman carnival downtown today.

Exuma II

This is the second posting on our weekend trip to the Exumas -- specifically Great Exuma Island. We stayed at Palm Bay resort, and this is the cottage by the sea that we stayed in.


We ate most of our meals from this restaurant next door. This is the view:

There isn't much to do in Exuma, except relax. The air is fresh and clean, and I have never seen ocean colours like those in Exuma. If you want shopping of any kind though, it is a complete bust. On Sunday, the stores are open from 8:00 AM to 10 AM in George Town the capital. Everywhere else, they are closed.

The whole idea of going to Exuma, is to relax.

Exuma 1


The Lovely One and I took off for a quick trip to the Exumas -- a chain of islands fabled for their flora, fauna and beauty. We were not disappointed. We took a regional flight from Nassau, to George Town, Exuma, on Great Exuma island.

This was the airport:

The place is a tropical paradise. Restaurant prices are cheaper than Nassau. The air is fresh and clean. The colour of the water is unparalleled. This is the off season so no one is there. Everyone that we met was friendly. There was no edginess like funky Nassau.

This was the resort that we stayed it. It is the Palm Bay Resort, and we had a cottage to ourselves on the property.

More tomorrow.

Detecting An "Enhanced" Resume

Our company is growing by leaps and bounds, and we are looking to take it to the next level. The next level means that we need a CEO or chief executive office to steer us. So we are entertaining resume or CV's for the position.

A resume recently crossed my desk. A quick read of it was impressive. A couple of universities were mentioned and an MBA. However, very quickly after reading it, alarm bells went off all over the place.

I looked at the very first job listed on the resume, and it was an entry with great responsibility managing a large project. The particular alarm bell that went off was: Where is the progression of duties? Nobody but nobody starts at the top. But this person apparently did, and with a publicly traded company at that. What was stated on the resume was that the first job was managing a multi-million dollar project. The present job said that they were involved in a company with revenues in the billions.

In that job, the applicant stated that he was involved in every aspect of the launch of a product similar to ours. It was all believable stuff.

In one of the next jobs, there was an three-year multi-million dollar project at which our intrepid candidate stayed for 4 months. Another alarm bell went off. If I am hired to implement a multi-million dollar project, who ever hired me would want me to finish it.

Going through the resume, our candidate said that he advised various billion dollar clients on technology. When a job candidate says that, they should be questioned closely.

At the interview, I asked the candidate to name a few core technologies and reference sites of the technologies that he advised on. He couldn't. He said that he had to look it up, and he would flip me an email with the info. That was a huge alarm bell.

I asked him to name the graduation dates of two of the universities mentioned. He admitted that he didn't graduate from either. More alarm bells.

So what do you look for in resume fudging? These are the lessons that I learned:

1) Look for logical career progression. In my resume you can see exactly how I arrived at being a technical architect and a chief technology officer.

2) Check to see if responsibilities match the job description. In this case, in the very first job that the candidate listed, he claimed to be virtually running the project, associating himself with every aspect.

3) I always discount any dollar value of projects worked on. In this case, there was a dollar value attached to every job iterated. In my concise yet complete six page resume detailing my entire job history, I mention the dollar value of a project exactly once -- because it was a $300 million project and it was a highlight (of sorts) of my career.

4) The way to get around impressive words, is to ask the candidate to name specifics. In this case, I asked the candidate to name specific technologies in the field of expertise, and he couldn't name one. When I asked him for specific solutions that had been implemented, only an operating system was named. When I asked him about technologies related to our line of business, he named a generic technology that was only indirectly appropriate for an offshoot of the core business.

5) Check to see if the duration of the job matches the description of the job. If I am implementing a multi-million dollar system that changes a paradigm in the company, the job will take a year or more. Yet many of these candidates jobs were just months in duration. If the candidate says that they were just in an advisory capacity to explain the time shortage, then you can bet that it wasn't a key role. If I hire someone to give me advice on what to implement, I want him around at implementation in case of emergency. I am not going to risk millions of dollars by trying to save a few thousand in consulting fees.

6) A good question to ask, is about the failures of the candidate in a job or a project. If there are none, you know that there is some truth-stretching going on. I have had miserable failures in some of the jobs that I have held, and I readily admit to them. Life is just like that.

7) I always ask for a hard skills matrix. Not only does it provide another window of ability, but it is hard to fudge, for fear of being asked a specific question during the interview. If I said that I used Oracle databases, and the guy interviewing me is a former Oracle dba, I know that I am cooked, so I don't write that it. (As it happens, I was an Oracle dba, so no sweat for me.)

There were enough alarm bells for me to phone the HR department of his first job, where he had all of the wonderful responsibilities. After checking two databases, including their income tax deduction database, it turns out that they hadn't heard of him. Exactly.

The Great Cruise Line Rip-Off

Thinking of taking a Caribbean Cruise this winter? I will let you in on a little secret. The cruise lines are master extortionists, and their target is your wallets and those of the merchants in the Caribbean that will sell to you.

Let me explain. First of all, the entire aim of the Cruise Lines is to get you on their ship as cheaply as possible, then sock it to your wallets. Everything is an add on. You are constantly plied and urged to drink and sign it to your cabin. I have even been awakened when napping a deck chair in a quiet corner, asking me if I wanted a drink.

Cruiseline personnel walk around with cameras and charge for pictures. But don't worry, sign it to your room. Everything is signed to your room. And when it comes to the end of the cruise, oftentimes your room charges total over a thousand dollars. The whole end-game is to painlessly part you of all of your money. Well, this is fair enough. After all, you are on holidays, and you don't want the bother of checking your tab.

So where does the extortion come in? After a day at sea, you are coming to an exotic tropic port. The passengers are all herded into a lounge to learn about the destination. The purser or his cohort will give you the low-down on where you are disembarking. They pass out sheets with "Shopping Guides" -- where to shop in say .. Nassau.

Here is what they tell you. Shop only at the stores that they list on their sheet of paper. If you don't they warn you that you could be ripped off, or suffer identity theft, or that you will recieve shoddy goods. If you shop at the stores listed, you will recieve the "Port Shopper's Guarantee".

Let's read the fine print of the guarantee. Here is what it says:

Shop with confidence at each of the recommended stores. All stores listed have paid a promotional fee and given Carnival Cruise Lines' guest a Buyer's Guarantee valid for 30 days after purchase. This guarantee is valid for repair or exchange. Guest negligence or buyers regret is excluded. Only appraisals from properly certified independent gemologists not affiliated with any retail jeweller will be considered. Watches and Electronics requiring repair must be returned to their respective manufacturer. Price paid for merchandise or verbal claims/agreements between merchant and guest will not be grounds for return. All purchases including fragile items must be checked before leaving store. ... Guests are responsible for postage and appraisal costs.

Forgot to register your purchases while on board? Now you can register online. blah blah blah

Ok, if you read this carefully, your buyer's guarantee is worthless. The merchant has paid a fee to Carnival Cruise Lines to get listed. How does it protect you? If the port store says that your diamond tennis bracelet is worth $1,000 with an appraisal certificate to prove it, and your local jeweller says that it is a $50 cheapo, then the buyer's protection does not help you.

If you buy electronics, you have to return it to the manufacturer -- same as if you didn't have Carnival's guarantee. If your stuff busts, it is not their fault. If the store owner makes an agreement and fails to honour it, it is not their fault. Essentially your buyer's guarantee is useless. So if your buyer's guarantee is useless, then why bother registering your purchases? Why do you have to do that?

Quite simple. The registry of purchases is not to protect you, but to figure out how much you spend at each store. The Cruise Lines go to each merchant, demanding a fee to be listed in the buyer's guide. They now how much money to extort, by the amount of purchases registered.

So how much do you think that they ask from the port merchants? I have been told in confidence that most of the major merchants in Nassau have been ripped off by over six figures by the cruise lines. If you don't play ball, it is the kiss of death for the merchants. The cruise guests get told not to shop at their premises.

All of this thievery on the part of the Cruise Lines just raises the price of goods in the ports. The stores have to jack up prices to cover the protection payments.

So what can you do to protect yourself from the cruise lines. Here are some tips:

  1. Throw away the shopper's guide and pick one up provided by the Ministry of Tourism at the cruise port. It is a fairer assessment of the shops.
  2. Shop wherever you damn well please. If you get ripped off, complain to the ubiquitous police. The Ministry of Tourism jealously guards it's Number One contributor to the economy.
  3. Drink booze while in port. It is a heck of a lot cheaper.
  4. Don't buy your pictures from the cruise line.
  5. Check your room bill every day, and keep cognizant of the charges.
  6. Don't buy major items while on a cruise. It is a simple equation. Knock-offs are a big business in the Caribbean, and if the price is too good to be true, it usually is. And if you are looking for knock-off Louis Vuitton, remember, customs can seize fake goods when you arrive back at your destination.
Remember that cruise lines like Carnival have told merchants that they control your wallet. Make sure that it isn't so.

If you want to complain about their practises, Carnival Cruise Lines email address is CCLservice@ppigroup.com

It is ironic that they have the word PIG in their email address.


Caribbean Wine Review

Ladies, Gentlemen and winos. Welcome to the first ever edition of Caribbean Wine Review. We present our wine tasting notes of wines that happen to wash up on this archipelago in the tropics.

Why you may ask, are we reviewing wines that have already been tasted elsewhere? Well, as one knows, terroir is important to the taste of a wine as the grapes grow. But what is little known is another factor that contributes to the taste of a wine, is the post-bottling terroir. That's right, the location of the bottle after it has been filled with rotten grape juice is important to the final taste as it is poured into the wine glass.

For instance, Madeira wines were invented after sailing ships sailing around Africa loaded up on wine and deposited them in the hold of a ship for the long voyage to India. Being baked in the hold of a ship twice cross the equator gives the Madeira the distinctive taste.

In the same way in the Bahamas, baking the cases of wine in the tropic sun on the dock of Tropical Shipping Depot in downtown Nassau, adds a je ne sais quoi to the taste of the wine. It gives it a urine nose with a ratschitt earthiness that is undescribable. Some wines have the elasticity to soak up these flavours as the sun heats them to near boiling point in the bottle.

So here we go. We had a veritable feast last night at our dinner table. Super Dave our neighbour came to dinner from an afternoon of kiteboarding on Cabbage Beach. He brought a huge tray of delicious stone crab claws and a dip. This was to accompany the Cajun shrimp fettucine that the Lovely One whipped up.

If you have never had stone crabs, you are missing the best tasting crab meat ever. They beat Alaska King Crab hands down. He also brought a bottle of A5 wine. We were joined by at dinner by our UK houseguests, Charlotte and Evan.

The red wine was a 2006 version of A5. In the corner of the bottle, you saw the year and a graphic of the Spades card suite.


It was intriguing. When you turned the bottle around and read the back label, this is what it said:

2006
Ace To Five
2006 Napa Valley Red Wine
A blend of 5 varieties:
Cabernet Sauvignon 47%
Merlot 24%
Cabernet Franc 12%
Syrah 12%
Petite Verdot 5%

Made by DBA Wines
Saint Helena, California

Contains Sulphites


There is was. The ingredients were listed on the back. Dave was the first. In his long southern drawl he said "Oooohhhhh, this is spicey". I was next. I commented on how the heavy oak contrasted the Sulphite taste. Evan remarked that it tasted like petrol (that's what the Brits call gasoline). Dave added to his initial impression by saying that it was a "Franken wine", (which is a term that I intend to shameless steal).

It had a strong nose of vinegar and ethylene glycol antifreeze radiator fluid with high notes of cinnamon, rotting banana flowers and an astringent taste of witch hazel. On the tongue it had a stronger pucker power than a combination of witch hazel and Sour Patch Kids candy. It tasted like it had enough quinine to cure an entire colony of malaria.

Other than that, it was an acceptable table wine.

Here is the real irony, and this is the God's honest truth. It ended up on our table through a single degree of separation, as a gift from a billionaire that lives in these islands. This morning, the Lovely One the remaining half bottle of A5 down the drain.

Iron Chef Bahamas

I was eating guineps yesterday (pictured above) and I had this fantasy take a stroll through my head. Imagine this. It is a TV show called Iron Chef Bahamas. It is a take-off on Iron Chef America.




A random chef has to challenge the iron chefs and the secret ingredient will be guineps. Each of the five dishes would have to feature guineps.

This would be a tough show to do, because I'm willing to bet that Bobby Flay, or any of the Iron Chefs would not know what to do with guineps. And it would take an hour to de-pulp enough guineps to cook something.

That is why there is two fantasies interwined here. The first is using guineps as a viable secret ingredient. The second is Iron Chef Bahamas. A more suitable moniker would be Iron Stomach Chef Bahamas.

Five things that I have learned today


Five Things that I have learned today.

1) if you click on a link looking like this:
"Cure yellow teeth: A mom's secret trick"
they are trying to sell you a tooth whitening "system" for $50 that works as well as a $1.00 bottle of hydrogen peroxide.

2) If the weather channel says 60% chance of rain, take your umbrella.

3) If your spouse makes cookies in the evening, and you get up for a drink in the middle of the night, there will be less cookies in the cookie jar in the morning.

4) If your teenage houseguests offer to cook you a meal, say yes. You will eat stuff that you never think of cooking.

5) Procrastination is hard work. It takes a lot of work to keep putting off the task that you should be doing.

(The picture of the boat was taken on the weekend. The tide deposited it on the beach)

Explosion of Hits. God Bless the Internet.

I have had an explosion of hits in the past two days. My hits on Wednesday were up 415% fro the day before. Today I will top Wednesday's hits? Why? My posted pic of Michael Jackson's autopsy is being used as proof that Michael Jackson did not die. God Bless the Internet.

The Slightest Bit of Rain



Man, the slightest bit of rain and everything here floods out. The island is just barely above sea level.

I saw an interesting site. A virtual river was flowing down the street. There was a storm sewer with grating. The river made a path around the storm sewer and actually gathered strength below the grating that was supposed to catch the water.

Traffic was snarled because some of the cars stalled after getting their electrical bits wet. This is just another slice of life in the tropics.

Outliers

I have just finished Outliers by Malcolm Gladwell. Gladwell is a writer for The New Yorker who has had his last three books make it to the New York Times bestseller lists.

In Outliers, Gladwell analyses the critical elements that go into making a successful person. He debunks the theory that perseverance and hard work makes success. While they are necessary attributes success, they are not the whole story.

Gladwell outlines that other factors contributing to the success of a person are circumstances of birth (most of Silicon Valley's tech lords were born between 1952 and 1958), and he has the 10,000 hour postulation. Anyone who wishes to succeed at any endeavour ends up putting at least 10,000 hours into the field that causes their success.

Gladwell is a highly readable writer, and each of his points is richly illustrated with interesting anecdotes backing them up. However with Blink!, his book on human thin-slicing, the book fails compared to Outliers, because it is all anecdote and very little meat and anatomy of thin-slicing. (Thin slicing is making snap judgements with very little concious information).

All in all though, Gladwell's books, and indeed his body of writing is pure brain candy and well worth consuming the useless sugar calories of his anecdotes that come with the sharp and clear writing of the phenomena that he chooses to write about. He deserves to be a best-selling author.

The Art of War in the Boardroom

I saw an amazing scenario play out in the boardroom. It was about the art of war, testosterone games, power shift and David vs Goliath. Here is what happened.

Company A and Company B get together to do a joint venture. Company A is established in the marketplace, and has existing infrastructure for a revenue base. However Company A's revenues are declining and in need of revitalization. Company A also needs a technology refresh, and sense that there is a paradigm shift away from the way that it traditionally does business, because of the internet.

Company B has new products, new technology but no infrastructure. Utilizing Company A's infrastructure will allow it to get to market quickly. Company B also has corporate licences and contacts that allow it to operate in spaces that

Company A would dearly love to operate in. So it looks like company B has the strong upper hand in the negotiations.

In my past, I have had an esteemed army general tell me that the boardroom is the last venue for warfare among civilized men. This was the case.

The joint venture was just in the embryonic stage between Company A and Company B. However, the marketplace demanded that Company B deploy its technology into the marketplace on Company A's infrastructure before details of the joint venture could be hammered out. That is what happened. Now Company A sees Company B on its network, and Company B appears to not be in a hurry to resolve things.

Company A needs a strategy. They realize that that they do not have the upper hand in the joint venture negotiations, so they are determined to get it. Since there is no agreement in place between the companies, they treat Company B like a business customer, and send Company B an invoice at market prices for goods and services contributed to Company B's roll-out into the marketplace. They know that this will infuriate Company B. That is exactly what happens. Then they call a meeting with Company B to discuss the joint venture, knowing that the invoice will be a major topic of discussion.

Company B feels that they are dealing from a position of strength. After all, they have the technology, the new products, the licences and the contacts. They are going to put Company A in their place. And from their position of strength, they will make Company A eat their invoice, their pride, and make them take a subordinate position in the joint venture. After all, they see this invoice as a pathetic attempt to get a few dollars out of the situation.

At the boardroom table, the stage is set. There are the usual trivialities, pleasantries and such without any reference to the underlying offensive invoice. Then Company B decides that they will address the Joint Venture, but use the invoice as a reference to what they do not want to happen in the joint venture. After all, partners are not supposed to make a profit off each other.

The dance begins. One of the director's of Company B leads the charge and begins the preamble to pointing out that the invoice is out of line. He has his strategy mapped out, and thinks he is on the way to mastering the situation.

A director of Company A starts to play his hand. He immediately states that the director of Company B is dancing and he knows that the invoice is the bone of contention. Company B feels that they have the opening to go right into the attack over the invoice. Company A takes away their ammunition by stating that the invoice was merely a tool to get the joint venture rolling along. This stops Company B in their tracks. They cannot assess whether this is true or not.

Company A immediately presses their advantage. They point out that the joint venture is not in place and they have incurred some real expenses and paid staff. They also point out past favours that they have done pro bono for Company B. They further pull the pins from under Company B by asking what nominal they want to pay to reimburse the out-of-pocket expenses seeing that there is no agreement on the joint venture yet. This leaves Company A hemming and hawing. They try to stall saying that they do not have a copy of the invoice in front of them.

Company A immediately produces copies of the invoice and presses very hard on the number for an immediate settlement of the invoice. This amount of aggression drives the Director of Company B into the red zone of anger.

Voices rise. Company A director matches the escalation and the volume increase with a reasonable request "How much do you want to pay?". Company B director is now past the point of rational. However he cannot name a figure. He cannot even think clearly now.

What Company A has done, is first of all established the point of legitimacy of the invoice in the heat of the argument, even though it was questionable in the first place. They have also gained the upper hand, because Company B could not come up with a rational response to what the actual figure should be for the re-imbursement of the expenses. Both parties knew that the original invoice was a phony strawman, yet Company B fails to take Company A to task for it. They played Company A's game.

Immediately, Company A, realizing that they have won the skirmish, back off and ask the director to get back to them with a reasonable figure. They say that the invoice is settled. Now they get on to the discussion of the joint venture.

Company B's stature in the proceedings is diminished. Their chief negotiator knows that he is been bested. But he will look like a prick if he maintains an agressive stance in the negotiations, now that Company A has generously offered him an out in the naming of a figure for the invoice. It was a masterful stroke.

Company A now negotiates the joint venture as an equal partner again, even though they were behind the eight ball. It was an amazing demonstration of the Art of War in a business setting.

Brazil Brasileiro

Well, the strange, wonderful, wild left turns continue to happen in my life. Our Caribbean based business is expanding into Brazil in the next month or so. This is exciting. We will be located in Sao Paulo, which is a place that I haven't been to, but probably will visit with the next month or two.

In addition, we are in prelimary talks to expand to Florida and Texas. It is an exciting time to be in the Bahamas. Usually it is the other way around -- businesses expand to the Bahamas. The Bahamas is not known for exporting businesses.

And as an omnibus salute to my fellow geeks who follow this page, I have some more :

SOURCE CODE FOR JFREECHART

I needed a snazzy dashboard dial to show transactions of yesterday versus today for one of our business lines. I used JFreeChart in an applet, but you can also use it in JSP and put a jpg of the dial once it is made from the mysql data.

Here is a pic of how the dial looks:



This pic is a preliminary pic. I cleaned up the tic labels. Here is the code for the applet:


import java.applet.Applet;
import java.awt.*;
import java.io.File;
import java.io.IOException;
import java.sql.*;


import org.jfree.chart.ChartPanel;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.dial.*;
import org.jfree.data.general.DefaultValueDataset;
import org.jfree.ui.GradientPaintTransformType;
import org.jfree.ui.StandardGradientPaintTransformer;
import com.mysql.*;


public class transDial extends Applet {

/**
*
*/
private static final long serialVersionUID = 1L;

public void init()
{

int todayTrans =0;
int yesterdayTrans=0;
Connection conn = null;
String url = "jdbc:mysql://100.150.1.27:3306/testtable";

String dbName = "tspayment";
String driver = "com.mysql.jdbc.Driver";
String userName = "myuser";
String password = "password";
try {
Class.forName(driver).newInstance();
conn = DriverManager.getConnection(url+dbName,userName,password);
System.out.println("Connected to the database");
Statement stmt = conn.createStatement();
String myQueryString = "select Count(*) as myCount from testtransaction where Date(TransDate) = CURDATE()";
ResultSet rs = stmt.executeQuery(myQueryString);
todayTrans = rs.getInt("myCount");
}
catch (SQLException e)
{
System.out.println("Error in database --> get today's transactions");
System.out.println(e.toString());
} catch (InstantiationException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IllegalAccessException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (ClassNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
try {
Statement stmt = conn.createStatement();
String myQueryString = "select Count(*) as myCount from testtransaction where Date(TransDate) = Date_SUB(CURDATE(), Interval 1 day)";
ResultSet rs = stmt.executeQuery(myQueryString);
yesterdayTrans = rs.getInt("myCount");
}
catch (SQLException e)
{
System.out.println("Error in database --> get today's transactions");
System.out.println(e.toString());
}
try {
conn.close();
} catch (SQLException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}




DefaultValueDataset dataset1 = null;
DefaultValueDataset dataset2 = null;
dataset1 = new DefaultValueDataset(todayTrans);
dataset2 = new DefaultValueDataset(yesterdayTrans);
DialPlot dialplot = new DialPlot();
dialplot.setView(0.0, 0.0, 1.0, 1.0);
dialplot.setDataset(0, dataset1);
dialplot.setDataset(1, dataset2);
StandardDialFrame standarddialframe = new StandardDialFrame();
standarddialframe.setBackgroundPaint(Color.lightGray);
standarddialframe.setForegroundPaint(Color.darkGray);
dialplot.setDialFrame(standarddialframe);
GradientPaint gradientpaint = new GradientPaint(new Point(), new Color(255, 255, 255), new Point(), new Color(170, 170, 220));
DialBackground dialbackground = new DialBackground(gradientpaint);
dialbackground.setGradientPaintTransformer(new StandardGradientPaintTransformer(GradientPaintTransformType.VERTICAL));
dialplot.setBackground(dialbackground);
DialTextAnnotation dialtextannotation = new DialTextAnnotation("Transactions");
dialtextannotation.setFont(new Font("Dialog", 1, 14));
dialtextannotation.setRadius(0.69999999999999996);
dialplot.addLayer(dialtextannotation);
DialValueIndicator dialvalueindicator = new DialValueIndicator(0);
dialvalueindicator.setFont(new Font("Dialog", 0, 10));
dialvalueindicator.setOutlinePaint(Color.darkGray);
dialvalueindicator.setRadius(0.59999999999999998);
dialvalueindicator.setAngle(-103);
dialplot.addLayer(dialvalueindicator);
DialValueIndicator dialvalueindicator1 = new DialValueIndicator(1);
dialvalueindicator1.setFont(new Font("Dialog", 0, 10));
dialvalueindicator1.setOutlinePaint(Color.red);
dialvalueindicator1.setRadius(0.59999999999999998D);
dialvalueindicator1.setAngle(-77);
dialplot.addLayer(dialvalueindicator1);
StandardDialScale standarddialscale = new StandardDialScale(0, 150, -120, -300, 10, 4);
standarddialscale.setTickRadius(0.88);
standarddialscale.setTickLabelOffset(0.14999999999999999);
standarddialscale.setTickLabelFont(new Font("Dialog", 0, 10));
dialplot.addScale(0, standarddialscale);
StandardDialScale standarddialscale1 = new StandardDialScale(0, 150, -120, -300, 10, 4);
standarddialscale1.setTickRadius(0.5);
standarddialscale1.setTickLabelOffset(0.14999999999999999);
standarddialscale1.setTickLabelFont(new Font("Dialog", 0, 8));
standarddialscale1.setMajorTickPaint(Color.red);
standarddialscale1.setMinorTickPaint(Color.red);
dialplot.addScale(1, standarddialscale1);
dialplot.mapDatasetToScale(1, 1);
org.jfree.chart.plot.dial.DialPointer.Pin pin = new org.jfree.chart.plot.dial.DialPointer.Pin(1);
pin.setRadius(0.55000000000000004D);
dialplot.addPointer(pin);
org.jfree.chart.plot.dial.DialPointer.Pointer pointer = new org.jfree.chart.plot.dial.DialPointer.Pointer(0);
dialplot.addPointer(pointer);
DialCap dialcap = new DialCap();
dialcap.setRadius(0.10000000000000001D);
dialplot.setCap(dialcap);
JFreeChart jfreechart = new JFreeChart(dialplot);
jfreechart.setTitle("Transactions: Today vs Yesterday");

}

public void start(){
System.out.println("Applet starting.");
showStatus("Dashboard: Loading image file ");
}

public void stop(){
System.out.println("Applet stopping.");
}

public void destroy(){
System.out.println("Destroy method called.");
}
}


Now of course, you could make this a java class or bean and use TomCat to serve it up in jsps.

Here is the code to turn the above into a jpeg:

try {
ChartUtilities.saveChartAsJPEG(new File("webapps/Dashboard/images/arcDial.jpg"), jfreechart1, 400, 400);
} catch (IOException e) {
System.err.println(e.getLocalizedMessage());
}

There you go. You now know how to use the Dial in JFreeChart. There is not a lot of free documentation on this.