About Duffbert...

Duffbert's Random Musings is a blog where I talk about whatever happens to be running through my head at any given moment... I'm Thomas Duff, and you can find out more about me here...

Email Me!

Search This Site!

Custom Search

I'm published!

Co-author of the book IBM Lotus Sametime 8 Essentials: A User's Guide

Purchase on Amazon

Co-author of the book IBM Sametime 8.5.2 Administration Guide

Purchase on Amazon


Visitor Count...

View My Stats


Ok... what am I doing wrong here?

Category Software Development

I am trying to code a formula for a smarticon.  This formula will add a signature to an email starting wherever the cursor is currently placed.  So far, no problem.  The twist is that I may want to click the button again in order to pick up a different tag line in the array.  I'd like the formula to be smart enough to wipe out the old signature and replace it with a new one...

Here's the formula I have so far (and the code COULD use some cleanup, but I've been trying a lot of different things to no avail):

REM {Insert as many signature tag lines as you'd like};
TagLine := ("Funny Tag Line #1":
"Funny Tag Line #2":
"Funny Tag Line #3");

REM {Store the number of tags you are using, along with the number of @NewLine commands in your signature};
NumberOfTagLines := 3;
NumberOfNewLines := 9;

REM {Get the environment variable of the next tagline to use, or set it to one if it's never been set before};
NumberNextTag := @Environment(sigLastTagUsed);
NumberNextTag := @If(NumberNextTag = "";1;@TextToNumber(NumberNextTag));

REM {Increment the value by 1, or reset it to 1 if you've reached the end of your tags.  Store it, too.};
NumberNextTagPlus1 := @If((NumberNextTag + 1) > NumberOfTagLines;1;NumberNextTag + 1);

REM {Remove the old signature before writing the new one.  This will be blank the first time through...};

REM {Pick the next tag to use, build the signature field, and place it in the Body field};
ChosenTag := TagLine[NumberNextTag];
FIELD Signature := "";
FIELD Signature := Signature + @NewLine + @NewLine;
FIELD Signature := Signature + "___________________________" + @NewLine;
FIELD Signature := Signature + @Name([CN]; @UserName) + @NewLine;
FIELD Signature := Signature + "Your company name goes here" + @NewLine;
FIELD Signature := Signature + "Your email address goes here" + @NewLine;
FIELD Signature := Signature + "Your phone number goes here" + @NewLine;
FIELD Signature := Signature + @Name([Address821]; @UserName) + @NewLine;
FIELD Signature := Signature + ChosenTag + @NewLine;
FIELD Signature := Signature + "";

REM {Now reposition the cursor back at the top of the signature so that it can be run over again if necessary};
@For(loopCtr:= 1; loopCtr <= NumberOfNewLines; loopCtr := loopCtr + 1;

The problem I have is that the Signature field doesn't seem to be accessible.  It inserts with no problem, but I can't display it in a prompt statement.  When I check the document fields after clicking the icon, the Signature field is out there in the document.  I seem to be so close, but I'm tripping over something...

Any hints?


I think I need to change my name...

Category Humor

We have an electronic resume collection application that allows us to receive emailed resumes from job boards.  There's a daily email that lists all the resumes received for the previous day.  After looking at that email for the last week or so, I think I've come to a conclusion...

Changing my name to something like "Vishnu Swararhi" would make me more marketable...  :-)


Fish! Sticks

Category Book Reviews

If you're into corporate and personal improvement, a good book to read is Fish! Sticks by Stephen Lundin (and others).  This is a follow-up book to Fish!, and it deals with how to make change "stick" after the initial enthusiam wears off.  Very short (122 pages), but good impact.

The original book (Fish!) drew inspiration from the Pike Street Market in Seattle and the fish vendors who truly enjoy their work and deliver a unique customer experience.  Fish! Sticks is not true, but it's a great parable of how to internalize your vision and your change so that it becomes part of you and just not something you do.


Probably the last recreational reading for awhile...

Category Book Reviews

I finished Mortal Remains by Peter Clement yesterday.  A body is dredged up from the bottom of a lake, and the skeletal remains have a chain and anchor wrapped around the legs.  It ends up being the remains of a doctor who disappeared 27 years ago.  A number of people who knew her start trying to solve the murder mystery, and in the process people connected in the case start to die.  Typical medical mystery stuff...

In my opinion, this could have been better.  The reason she was killed has to be discovered, and the people connected with the disappearance all have skeletons to hide (no pun intended).  There are a couple of subplots that are rather murky and ill-defined, and they wrap up at the end almost as an afterthought.  An OK library book...

And this is probably my last recreational reading for awhile...  I have a number of non-fiction titles that need to be read, both for book reviews and for personal reasons.  That, and my hold list at the library is maxed out at 15, and all the good fiction stuff on the list still isn't available yet...  :-)


This picture was too freaking funny...

Category Humor

From Chris King's blog...

A picture named M2


Finished a book review for O'Reilly for the book Extreme Programming Pocket Guide...

Category Book Reviews

I received a copy of Extreme Programming Pocket Guide by chromatic from O'Reilly.  You can find my review on the Portland Domino/Notes User Group site.  

Basically, it's a very short (90 pages) guide to the XP methodology, and it's a very good book to have around to remind you of all the moving parts.  There are other books that should be used to actually learn it properly, but this will be a good companion guide as you practice XP on a daily basis.


It's refreshing to observe an Extreme Programming environment in action...

Category Software Development

I haven't blogged recently on our internal XP project, as I've been off doing other things and Alex has been working on it solo.  Such is the life of consulting...  sigh...

I did, however, have the opportunity this week to spend a day with a client at their office.  I was providing some Domino expertise on one of their software projects.  The client practices a modified XP methodology, and it was a joy to observe.

The office was set up to make pair programming pretty convenient.  And in many cases, the programming that was going on while I was there involved pairs of developers working at a single workstation.  There was an energy to the office that is often missing in many environments.  I was also doing some research while they had their daily meeting to discuss stories and resources.  It was pretty quick, well focused, and was a great example of what those types of meetings should be.  

I wish more people who are curious about XP could see something like this in real life.  It would make a believer of many...


A new Domino blogger on the blog...

Category Blogging

Let's have a healthy Domino blogger welcome to John Roling (aka - Greyhawk68)...  


My deepest sympathies to those at IBM that got caught up in the job cuts...

Category IBM/Lotus

That is SUCH a hard thing to go through...

Thursday, September 25, 2003

IBM cutting 400 jobs in software division


ARMONK, N.Y. -- IBM Corp. is cutting 400 jobs in its software division, mainly marketing and administrative positions, as part of a regular reassessment of operations at the technology giant, a spokesman said Thursday.

The cuts amount to about 1 percent of IBM's 38,000 software employees. The Armonk-based company employs about 320,000 people overall.

Affected employees were notified Wednesday, and will have a month to find other positions within the company, IBM spokesman Joseph Stunkard said. If they can't sign on elsewhere in IBM in that time, they will be let go, with severance.

IBM has acquired several software companies in recent years, and the cuts are happening in multiple facilities, including in Austin, Texas; Boulder, Colo.; Raleigh, N.C.; Cupertino, Calif.; and Somers, N.Y.

IBM shares rose 1 cent to close at $89.41 in trading Thursday on the New York Stock Exchange


Could a chimp design a car? -- Could you?

Category Everything Else


    Dale Peterson, an accomplished student of primate life, writes:

    "The next time you go to the zoo and wander past cages containing chimpanzees, you might pause and look into the eye of a being who will indeed look back; and you should know that you (genetically almost 99 percent chimpanzee) are sharing a gaze with someone who is, according to the best measurement, almost 99 percent human. You are on one side of the bars, the chimps on the other side, simply because those apes lack a little more than 1 percent of the requisite genes to be treated like humans. And if you linger to gaze at gorillas in the same zoo, remember that they are sitting on the other side of the bars or the moat not because they have done anything wrong, but simply and solely because they happen to be missing just slightly more than 2 percent of the human genome.

    "It remains a commonplace act of self-flattery for people to persist in emphasizing that great divide between the intellect of humans and the other apes. Why should we, the makers of such wondrous things as automobiles and computers and atomic bombs, be impressed by them, the makers of mere nutcrackers and termite dippers? We continue to mark not similarity but difference, as if the distinction between us and them is a matter of our own species' pride. Homo sapiens may possess some superficial similarities with Pan troglodytes, it has been declared again and again, but the mental divide between the two species remains uncrossable. 'I considered the differences between men and animals," so journalist Jeremy Gavon has recently expressed the idea. "Some were vast. A chimpanzee could be taught to drive a car. It could even be taught to build parts of it. But it could not begin to design it... Our intellect is incomparably more sophisticated than any animal.'

    "True, a chimpanzee could not begin to design a car. But, come to think of it, neither could I. Nor could you or any other person working in intellectual isolation -- without the help of books, conversations, directions, documents, explanations, and traditions -- design a car. Or even a bicycle. Or a pair of shoes. Or a mousetrap. Apes work in intellectual isolation because they lack language. We have language, and therefore our creations and inventions and technologies become collective efforts and cultural products. With your brain alone, with my brain alone (minus language and a language-based tradition), we would consider ourselves very lucky indeed to think of cracking nuts between a stone hammer and a stone anvil. Our greatest human creation is not the tool but the word, not the technology that we so treasure and depend on but the language that has allowed us to talk about it. Language, not technology, is the most compelling artifact of the human intellect."


Finished up a book on design...

Category Book Reviews

I finally finished slogging through The Inmates Are Running The Asylum by Alan Cooper.  This is a book on system design, and how most programmers don't know how to properly design for the end user.

I'm the first to admit that I fall prey to many of the observations made in this book.  We design for other developers and/or people who understand computers, and as a result we create software that is not "polite".  The main thing I take away from this book is the use of "personas" when developing software.  Instead of trying to design for everyone, you create two or three imaginary people, or personas, that have names and characteristics.  You then design for them by becoming those people.  That leads to specific software to satisfy a specific user, instead of generic software that is OK for a lot of people but isn't great for any one group.

It was an OK book, but I definitely had to slog through it.  It's about 250 pages of this type of material, and I was getting pretty bored by the end...  Must be the programmer in me...  :-)


Note to employers... IT DOESN'T HELP!!!

Category Everything Else

It used to be, when business got bad and staff counts had to be reduced, you were laid off.  Not pleasant, but that's reality.

Then to soften the blow, businesses had "reductions in force" and you were "RIF'ed".  Still not fun, but at least you weren't laid off...

Lately, it's been in vogue to "redeploy" people...  Happened to me at Enron.  You're basically laid off, but they give you 30 days or so to try and find another job in the company.  But if you were redeployed for performance, no one wants you.  And if you were redeployed for budgetary reasons, there's usually no other jobs for you to get.  

Today, I learned a new one.  I heard of someone that was a casualty of a "resource action" at a company, and they have 30 days to find a new position....

Note to employers...  Bottom line, you are laying off people.  Doesn't matter what you call it.  A person no longer has a job for reasons most likely beyond their control.  Quit trying to come up with "creative" names to soften the blow.  It doesn't help.


For all you Lotuspherians... Here's when registration opens up...

Category IBM/Lotus

...sigh...  I don't get to go this year...  bummer!


Registration for the eleventh consecutive Lotusphere will be open as of Tuesday, September 30, 2003.  Lotusphere 2004 will once again be held at the Walt Disney World Resort in Lake Buena Vista, Fla., from January 25 - 29, 2004, and will feature current and future IBM Lotus software products and solutions. For customers and partners, Lotusphere is an opportunity to meet face to face with Lotus technology experts and obtain an exclusive look at new products.

Lotusphere 2004 will highlight Lotus' continued leadership position in human interaction and collaboration while expanding upon its Lotus Workplace initiative and strategy. By showcasing IBM's industry-leading software products, the conference will give attendees clear insight into the ways Lotus' Workplace initiative streamlines employee access to business-critical information and integrates people and business processes for improved responsiveness and productivity.

We expect thousands and thousands of customers, business partners, prospects and press to attend again this year.  Lotusphere 2004 is the premier event where we will define key messages and establish momentum for 2004.  This year's conference will include 20 pre-conference JumpStart sessions and 150 breakout sessions, special industry keynote sessions, a product showcase, informal interactive Birds-of-a-Feather sessions, certification training and testing, and other special events.

In an effort to make Lotusphere as affordable as possible for our customers and partners, a special registration price of $1395 is being offered for those registering from now until December 2, 2003.  Beginning December 3, the registration fee will be $1,695.  Additionally, companies registering five attendees at once, will receive a complimentary registration for a sixth attendee. For additional details visit www.lotus.com/lotusphere.


Finished up Seizure by Robin Cook...

Category Book Reviews

Last night, without the "motivation" of my cert test staring me in the face, I finished up Seizure by Robin Cook.  Cook is a physician who writes medical thrillers, usually with some pretty strong ethical issues underpinning the story.  In his latest, he deals with theraputic cloning.  A pair of researchers have discovered a way to use cloning in order to cure major genetic diseases like Parkinson's.  Their company is about to go under when a government bill is introduced that would ban the procedure.  But the senator who wants to ban it also needs the procedure to cure his Parkinson's.  Thus starts a race to get him treatment with an experimental process done outside the US.  

There's more to the story, and I won't disclose it here.  The story is not quite up to his normal standards, and none of the characters are very likeable.  It's all a little contrived, and I had to slog through some parts.  An OK read to pick up from the library, but not worth paying the big bucks for...


I am now an MCP (Microsoft Certified Professional)...

Category Microsoft

As mentioned awhile back, I needed to pick up some knowledge on SQL Server 2000, and I used the certification test 70-229 (Database Design And Implementation) as a side goal for my learning.  I took the test today and passed it, so now I can stick MCP behind my name (along with my Sun and various IBM/Lotus cert initials)...

A couple of recommendations on books to study for this if you are so inclined.  The MCSE: SQL Server 2000 Design Study Guide was my primary study tool, and I found it quite helpful.  Good information and exercises, and a good set of sample questions on CD for you to use to prep yourself.  I also had a copy of Microsoft SQL Server 2000 Database Design And Implementation Training Kit.  This book just didn't do it for me.  It was not set up as well as the other guide, and it was infinitely more difficult to read.  If I had relied solely on this book, I probably would have failed.

Sigh...  so nice to be done with that study effort.  A night off, and then time to start on a Websphere cert!  :-)  It never ends...


Are you a member of a technical user group? Are you aware that many publishers...

Category Everything Else

... have user group affiliation programs that will offer your members special offers and discounts?  You can also get review copies of many of their books in order to inform your members of good sources of info...

Portland Domino-Notes User Group has been a member of the O'Reilly program for quite a while, and I've done a number of book reviews for them.  I've also signed us up for the Sams, Que, New Riders, and Prentice Hall programs.  Quite an array of titles that should help your members master the new skills that they need.


Saturday morning ramblings...

Category Book Reviews
  • Gee, but I'm tired this morning...  Ian didn't get off work until 12:30 am last night (that kid has GOT to get his licence!), and I was wide awake at 7:30 this morning...  Bet I end up crashing this afternoon.
  • While waiting (and waiting, and waiting...) for Ian to get off work, I finished the book Reefer Madness - Sex, Drugs, and Cheap Labor in the American Black Market by Eric Schlosser.  This is the follow-up to his very interesting book Fast Food Nation.  Unfortunately, it's not on par with his earlier work.  Schlosser presents three essays on the marijuana industry, the strawberry labor market in California, and how the porn industry has evolved in America.  While interesting reading, they seemed to be only loosely tied together under the topic of the underground economy.  After the excellent expose of Fast Food Nation, I was expecting more.  An OK library book...
  • This is the last weekend of study before I take my 70-229 test for SQL Server 2000 on Monday.  If I pass it, I'll have another TLA (three letter acronym) to add to my title...  :-)

    I think that's about it for now...  


Cow Economics Redux

Category Humor

(Thanks, Bas!)

  You have two cows
  Your neighbor has none.
  You feel guilty for being successful.
  Barbara Streisand sings for you.
  You have two cows.
  Your neighbor has none.
  You have two cows.
  The government takes one and gives it to your neighbor.
  You form a cooperative to tell him how to manage his cow.
  You have two cows.
  The government seizes both and provides you with milk.
  You wait in line for hours to get it.
  It is expensive and sour.
  You have two cows.
  You sell one, buy a bull, and build a herd of cows.
  You have two cows.
  The government taxes you to the point you have to sell both to support a man in a foreign country who has only one cow, which was a gift from your government.
  You have two cows.
  The government takes them both, shoots one, milks the other, pays you for the milk, and then pours the milk down the drain.
  You have two cows.
  You sell one, lease it back to yourself and do an IPO on the 2nd one.
  You force the two cows to produce the milk of four cows. You are surprised when one cow drops dead.
 You spin an announcement to the analysts stating you have downsized and are reducing expenses.
  Your stock goes up.
  You have two cows.
  You go on strike because you want three cows.
  You go to lunch and drink wine.
  Life is good.
  You have two cows.
  You redesign them so they are one-tenth the size of an ordinary cow and produce twenty times the milk.
  They learn to travel on unbelievably crowded trains.
  Most are at the top of their class at cow school.  
  You have two cows.
  You engineer them so they are all blond, drink lots of beer, give excellent quality milk, and run a hundred miles an hour. Unfortunately they also demand 13 weeks of vacation per year.
  You have two cows but you don't know where they are.
  While ambling around, you see a beautiful woman.
  You break for lunch.
  Life is good.
  You have two cows.
  You have some vodka.
  You count them and learn you have five cows.
  You have some more vodka.
  You count them again and learn you have 42 cows.
  The Mafia shows up and takes over however many cows you really have.
  You have all the cows in Afghanistan, which are two.
  You don't milk them because you cannot touch any creature's parts.
  Then you kill them and claim a US bomb blew them up while they were in the hospital.
 You have two cows.
  They go in hiding.
  They send radio tapes of their mooing.
  You have two bulls.
  Employees are regularly maimed and killed attempting to milk them.
  You have a black cow and a brown cow.
  Everyone votes for the best looking one.
  Some of the people who like the brown one best, vote for the black one.
  Some people vote for both.
  Some people vote for neither.
  Some people can't figure out how to vote at all.
  Finally, a bunch of guys from out-of-state tell you which is the best-looking cow.
  You have fifteen million cows.
  You have to choose which one will be the leader of the herd, so you pick some cow from Arkansas.
  Crowd herd of happy fun loving cows into a small dirt lot.
  Feed cows weeds.
  Hire Hollywood to show commercial of HAPPY COWS in green pastures.
  Smoke weed left over from cow feeding.
  Make millions selling "HAPPY MILK."


I'm a little surprised that with all this virus activity of late...

Category Microsoft

... there hasn't been some high-profile class action lawsuit against Microsoft.  I realize there are standard software warantees that pretty much absolves the company from any and all forms of damage, real or imagined, in any and all circumstances, but I'm sure it's nothing that an office full of $1000 an hour lawyers couldn't solve...  :-)


Tribal wisdom...

Category Humor

A little morning humor... (Thanks, Scott!)


The tribal wisdom of the Dakota Indians, passed on from generation to generation, says that,

"When you discover that you are riding a dead horse, the best strategy is to dismount."

However, consultants working in government have more advanced strategies that are often employed, such as:

1. Buying a stronger whip.
2. Changing riders.
3. Appointing a committee to study the horse.
4. Arranging to visit other countries to see how other cultures ride dead horses.
5. Lowering the standards so that dead horses can be included.
6. Reclassifying the dead horse as living-impaired.
7. Hiring outside contractors to ride the dead horse.
8. Harnessing several dead horses together to increase speed.
9. Providing additional funding and/or training to increase dead horse's performance.
10. Doing a productivity study to see if lighter riders would improve the dead horse's performance.
11. Declaring that as the dead horse does not have to be fed, it is less costly, carries lower overhead and therefore contributes substantially more to the
bottom line of the economy than do some other horses.
12. Rewriting the expected performance requirements for all horses.
13. Promoting the dead horse to a supervisory position.


A thought-provoking read...

Category Book Reviews

I finished a short book (132 pages) by Scott Adams last night called God's Debris - A Thought Experiment.  Yes, this is the same Scott Adams that writes the Dilbert strip.  But don't expect his normal fare of comedic writing here...

It's important to read the intro to the book:

Adams describes God's Debris as a thought experiment wrapped in a story.  It's designed to make your brain spin around inside your skull.

Imagine that you meet a very old man who - you eventually realize - knows literally everything.  Imagine that he explains for you the great mysteries of life: quantum physics, evolution, God, gravity, light, psychic phenomenon, and probability - in a way so simple, so novel, and so compelling that it all fits together and makes perfect sense.  What does it feel like to suddenly understand everything?

You may not find the final answer to the Big Question inside, but God's Debris might provide the most compelling vision of reality you will ever read.  The thought experiment is this: try to figure out what's wrong with the old man's explanation of reality.

This is the type of book that could be used for a philosophy class and would spark some lively debates.  While I don't come to the same conclusions found in the book (then again, I'm not into deep philosophical debates, either), it does cause you to view issues in a different light.  And it's worth reading just to find out wha the title means...


Rogues? Hardly...

Category Everything Else

In the September 8th edition of
Computerworld, Frank Hayes has an article titled "Rogues? Hardly."  The opening lines...

Enough with the name-calling already! "Rogue IT" -- cases where users have launched their own IT projects without inviting the IT department to the party -- doesn't deserve that insulting name. Rogue implies that these users are unprincipled scoundrels or at least way out of line when they do IT themselves.

But they're not. They're doing the very messy, very necessary job of fixing business processes in near real time. We can't do that. We don't have the budget or the staff we'd need. We also don't have the intimate knowledge of the actual business processes, which change a lot faster than our systems can.

Business on the front lines is chaotic. Users have to cope with it. When the systems that IT implements don't do the job, users have to work around the problems. And when users see ways of automating those work-arounds using the consumer-grade technology they have access to, that's what they do.

They're not rogues. They're not out of line. They're just trying to survive.

How many of us, the Notes professionals, have found ourselves the target of this type of label?  Because of the RAD nature of Notes development, we can create incredible systems in a fraction of the time that it would take traditional IT, and we do it while working directly with the users in the real world.  We are solving real-world problems that need solutions now, and we look like heros to those who live on the front lines.  And that's threatening to the traditional IT structure where everything has to be planned, managed, and analyzed before taking the first step.

There are times and places for both types of projects (traditional and "rogue").  But I wonder if much of the IT resistance to Notes that we face seemingly every day is based on these attitudes?


A "Bare Bones" book review...

Category Book Reviews

While sitting outside the ice arena last night, I finished the book Bare Bones by Kathy Reichs.  The author is a forensic anthropologist, and that's also what the main character (Temperance Brennan) does for a living.  I have a feeling there are plenty of similarities between the lead character and the author in these stories.  


In this novel, Brennan has to analyze some bones found in a shallow pit to determine their source.  She also finds the cremated remains of an infant who was disposed of in a wood stove.  And finally, she's called in to analyze the remains of a plane crash that appears to be related to drug smuggling.  All of these cases start touching on each other, as well as intruding on her attempt to get a personal relationship going with a former partner.

Not as good as some of her previous work (Grave Secrets, Deja Dead), in my opinion.  The style and content will remind you a lot of the early Patricia Cornwell work.  I say "early" because I feel her recent Kay Scarpetta novels have stunk.  They now all seem to revolve around Scarpetta's lack of social life, recovery from her lover's death, and her interactions with her lesbian daughter.  Considering she's had some notable "affairs" in real life, it sounds like some "art imitates life" is going on there.  I'm really hoping that Reichs does not go down that same slippery path.  I enjoy her writing, and hope it gets back to some of the earlier excitement.


Whether true or not, this was "laugh out loud" hysterically funny (to me)...

Category Humor



The horror of blimps Last week while traveling I stopped at a Zany Brainy store and saw that they had a blimp for sale. It's called Airship Earth, and it's a great big balloon with a map of the Earth on it, and two propellers hanging from the bottom. You blow up the balloon with helium put batteries in it, and you have a radio control indoor blimp.

I'd seen these things for sale in Sharper Image catalogs for $60-$75. At Zany Brainy it was on clearance for $15. What a deal!

Last night my wife was playing tennis and it was just my daughter and I at home. I bought a small helium tank from a party store, and last night we put the blimp together.

Let me tell you, it's quite a blimp. It's huge. The balloon has like a 3 ft diameter.

We blew it up with the tank attached the gondola with the propellers, and put in batteries.

Then we balanced the blimp for neutral buoyancy with this putty that came with it, so it hangs in the air by itself neither rising nor falling.

It was easy and fun, and then I blew up another balloon and made Mickey Mouse helium voices for my daughter.

My three year old girl loved it. We flew the blimp all over the house, terrorized the dog, attacked the fish tank, and the controls were so easy my daughter could fly.

Let's face it, blimps are fun.

Alas, the fun had to end and my daughter had to go to sleep. I left the blimp floating in my office downstairs, my wife came home, and we went to bed, and slept the sleep of the righteous.

At this point it is important to know that my house has central heating. I have it configured to blow hot air out on the ground floor and take it in at the second floor to take advantage of the fact that heat rises.

The blimp, which was, up until this moment, a fun toy here embarked on a career of evil. Using the artificial convection of my central heating, the blimp stealthily departed my office. It moved silently through the living and drifted to the staircase. Gliding wraithlike over the staircase it then entered the bedroom where my wife and I lay sleeping peacefully.

Running silently, and gliding six feet or so above the ground on invisible and tiny air currents it approached the bed.

In spite of it's noiseless passage, or perhaps because of it, I awoke. That doesn't really say it properly. Let me try again.

I awoke, the way you awake at 2:00 AM when your sleeping senses suddenly tell you without reason that the forces of evil on converging on you.

That still doesn't do it. Let me try one more time.

I awoke the way you awake when you suddenly know that there is a large levitating sinister presence hovering towards you with menacing intent through the malignant darkness.

Now sometimes I do wake up in the middle of the night thinking that there are large sinister and menacing things floating out of the darkness to do me and mine evil. Usually I open my eyes, look and listen carefully, decide it was a false alarm, and go back to sleep.

So, the fact that I awoke in such a manner was not all that unusual.

On this occasion I awoke to the sense that there was a large menacing presence approaching me silently out of the gloom, so I opened my eyes, and there it was! A LARGE SILENT MENACING PRESENCE WAS APPROACHING ME OUT OF THE GLOOM, AND IT COULD FLY!!!

Somewhere in the control room of my mind a fat little dwarf in a security outfit was paging through a Penthouse while smoking a cigar with his feet up on the table, watching the security monitors of my brain with his peripheral vision. Suddenly he saw the LARGE SILENT SINSITER MENACING FLOATING PRESENCE coming at me, and he pulled every panic switch and hit every alarm that my body has. A full decade's allotment of adrenaline was dumped into my bloodstream all at once. My metabolism went from "restful sleep mode" to HOLY SHIT! FIGHT FOR YOUR LIFE OR DIE!!!! mode" in a nanosecond. My heart went from twenty something beats per minute to about 240 even faster.

I always knew this was going to happen. I always knew that skepticism and science were mere psychological decorations and vanities. Deep in our alligator brains we all know that the world is just chock full of evil and monsters and sinister forces aligned against us, and it is only a matter of time until they show up. Evolution knows this, too. It knows what to do when the silent terror comes at you from out of the dark.

When 50 million years worth of evolutionary survival instinct hits you all at once flat in the gut at 200 mph it is not a pleasant sensation.

Without volition I screamed my battle cry (which is indistinguishable to the sound a little girl makes when you drop a spider down her dress (not that I'd know what that sounds like,) and leapt out of bed in my underwear.

I struck the approaching menace with all my strength and almost fell over at the total lack of resistance that a helium balloon offers when you punch the living shit out of it with all the strength that sudden middle of the night terror produces.

Its trajectory took it straight into the ceiling fan which whipped it about the room at terrifying velocity.

Seeking a weapon, I ripped the alarm clock out of its plug and hurled it at the now High Velocity Menacing presence (breaking the clock and putting a nice hole in the wall.)

Somehow at this moment I suddenly realized that I was fighting the blimp, and not a monster. It might have been funny if I didn't truly and actually feel like I was having a legitimate heart attack.

On quivering legs I went to the bathroom and literally gagged into the toilet while shaking uncontrollably with the shock of the reaction I'd had.

Unbelievably, both my wife and daughter had completely slept through the incident. When I decided that I wasn't having a heart attack after all I went back into the bedroom and found the blimp, which had somehow survived the incident.

I took it to the walk in closet and released it inside where it floated around with the air currents released from the vents in there. I closed the door, this sealing it in, and went back to bed. About 500 years later I fell asleep.


At about 7 am my wife awoke. She had been playing tennis and wasn't aware that we have assembled the blimp the previous evening, and that is was now floating around the walk-in closet that she approached.

The dynamic between the existing air currents of the closet and the suction caused by opening the door was just enough to give the blimp the appearance of an Evil Sinister Menace flying straight towards her.

This time the blimp did not survive the encounter, nor almost, did I, as I had to explain to my very angry spouse what motivated me to hide an evil lurking presence in the closet for her to find at 7 am.

I can order replacement balloons on the internet but I don't think I will.

Some blimps are better off dead.


So as to not be left out of the Skype fad...

Category Everything Else

... I too downloaded it for testing...  You can find me at twduff.


A couple of interesting Knowledgebase items...

Category Software Development

In browsing the Knowledgebase this morning, I ran across a couple of interesting items...

A Guide To Secure Domino Applications - Well worth reading...
What Is The Lotus Web Services Enablement Kit? - If you're moving into the realm of web services, you should check this one out.


Time to test your Geek-spertise...

Category Everything Else

Head on over to SelfTestSoftware to try out the
IT Geek test.  See how much of a geek you truly are.  I scored 45%, and that's apparently above average for the 600 or so that have taken the test so far.  But it was a pretty weak 45%...  A lot of areas I know absolutely nothing about...  :-)


Need a quick throw-away email address? Try Mailinator!

Category Everything Else

In the latest issue of
Software Development, I ran across a short sidebar article on an email service that is rather unique.  The site is called Mailinator, and it's designed to be used as a disposible email site.  

You don't sign up for an account.  It creates the "account" when it receives the email.  For instance, if I send an email to twduff@mailinator.com, the account for that address will be set up when the email gets there.  When I go to the web site, I just type in twduff and I'll see the inbox for that name.  No password, no fuss, no anything.  Just an inbox.  

Privacy?  None.  What happens to the email?  It's auto-deleted in a few hours.  Can you send email from there?  Nope.  Can you delete the email yourself?  Nope.  What if the information there is private?  Stupid move on your part...  :-)

A nice option to use for online forums or site registrations where you either don't ever want email or you don't want any email after you get the registration confirmation.


Quick book review - White Death

Category Book Reviews

Last night I finished White Death by Clive Cussler and Paul Kemprecos.  This is part of Cussler's Kurt Austin series.  Very similar in nature to his Dirk Pitt series, so if you like those, you'll probably like this one.  In this novel, Austin gets involved in determining why an environmental group's protest ship (think Greenpeace) went out of control and rammed a Danish navel vessel.  That then leads to investigation of a multi-national fish farming company that seems to be very secretive and is willing to kill to keep things quiet.  Not being able to walk away from an adventure, Austin gets sucked in deeper and, as usual in these types of novels, finds his life in danger.

Fairly quick read, good mind candy, and may cause you to think about genetically-engineered food sources in a new light...


Blogsphere Mod for download - blocking comments by IP address...

Category Blogging

Like many other bloggers (both Blogsphere and non-Blogsphere alike), I got spammed in my comments area by someone pushing links of, um...  "questionable content".  It was easy to see the IP address of the comments, but there wasn't much I could do about it.  I don't host my own blog, so I couldn't set up my firewall to block out content.  What to do, what to do?

Enhance Blogsphere!

Attached is a zipped .NSF file that contains new/changed design elements that will allow you to block comments to your blog based on one or more IP addresses.  There's a new form that will accept an address (or you can use asterisks as wild cards) that should be blocked.  When a new comment is added via the web, there's a lookup to those addresses.  If there's a match, the comment will show as blocked in your blog.  The readers won't see who submitted the entry or any of the content, but they will see that address xxx.xxx.xxx.xxx was blocked.  On the Notes client, you will be able to review the comment and determine if you want to delete the comment or remove the block.

Check out the About document in the file in order to see what elements are new and which ones have changed (yes, I actually documented my work!)

I've forwarded this to Declan for inclusion in the next version of Blogsphere.  I'm pretty happy with the first iteration of this change.  If you have any questions or comments, please let me know...

IP Address Blocking


Interesting Notes.ini setting...

Category Software Development

While scanning the Knowledgebase this morning, I ran across this technote.  Not a bad idea to make it a little harder for hackers to tell what your platform might be...


When you go to a Domino web site and request a page, the HTML source displays the operating system platform and Domino version.  How can you hide this header information?

<!-- Lotus-Domino (Release 5.0.1a - August 17, 1999 on Windows NT/Intel) -->


Beginning with R5.0.2, you can add the NOTES.INI parameter, DominoNoBanner=1, to suppress the header information.

Excerpt from the Lotus Notes and Lotus Domino Release 5.0.2 QMR fix list:

Web Server - Web Palette
  • SPR# AWHN4A8QWM - Include a new notes.ini variable, "DominoNoBanner=1", to suppress the Domino version/platform information in HTML that is generated by the Web server [5.0.2]

An issue still exists in that the server information may be displayed (1) when the server generates an error page or (2) when you open a telnet session into the HTTP port of the server.  This issue was reported to Lotus Quality Engineering and has been addressed in Domino 5.0.9.

Excerpt from the Lotus Notes and Domino Release 5.0.9 MR fix list (available at http://www.notes.net):

Web Server - Security

SPR# WRAY4X3JWB - The Web Server will no longer display the version of Domino running on HTTP when DominoNoBanner=1 is set in the notes.ini file

Supporting Information:

An enhancement request (SPR# SONL4BSSCX) has been submitted to have this option added to the Domino Web Engine tab in the Server document.

If a router or firewall uses Network Address Translation (NAT), then along with the server version, the internal IP address can be displayed in the Web server's response to the HTTP request.  If you are unable to upgrade to Domino 5.0.9 or later, then this issue can be avoided by putting the fully qualified host name in the "Host Name" field of the Server document (Internet Protocols section, HTTP).

Related Documents:

Historical Number:


September 10, 2001... A Day To Remember...

Category Everything Else

I stole the following from
Mirth, Musings, And More...  This really caused me to stop and think today...  Thanks, Lugosi...


Today marks the second anniversary of September 10, 2001. You may recall it, for it was a day totally unlike any since. Here are just a few of the reasons 9-10-01 will be remembered for a very long time:

* There were no armed fighter jets patrolling the skies of the United States.
* We were able to get on an airplane without eying the other passengers suspiciously. And once the plane took off, all we had to worry about was the quality of the food.
* The purpose of flight attendants was to hand out little bags of peanuts and fluff our pillows, not to serve as the last line of defense for homeland security.
* Homeland what?
* We weren't afraid of our mail, and Anthrax was just a loud band.
* If we saw white powder somewhere, we automatically assumed someone had spilled creamer.
* No one gave a damn where Afghanistan was.
* No one had ever heard of Shanksville, Pennsylvania. And no one in Shanksville expected that anyone ever would.
* If we went downtown, the only thing we worried about was getting mugged.
* The Oklahoma City bombing of 1995 was the worst act of terrorism on U.S. soil, and April 19 would always be associated with that unimaginable horror.
* If a plane had crashed on September 10, our first thought would have been, "Gee, what a horrible accident."
* The only emotion we felt when we had to pull over for a firetruck was annoyance.
* Several thousand tourists enjoyed the spectacular view from the observation deck of the World Trade Center.
* Most of all, it was a day to feel good about the future, and our place in the world. After all, this is the United States.

Yes, September 10, 2001 was quite a day.


I finished Amazon Hacks last night...

Category Book Reviews

As mentioned a couple of days ago, I was sent a copy of Amazon Hacks by Paul Bausch courtesy of Marsee at O'Reilly's.  Being that I'm a very avid reader and sell many of my used books on Amazon, I looked forward to reading the book to learn some new tricks.  I was not disappointed...

There are 100 hacks in the book, covering everything from power searching via URL manipulation, participation in the Amazon community, and writing book reviews to working with the Amazon API to enhance your own web site.  They also cover how to sell used books on Amazon (which I take full advantage of), as well as how to participate in the Associates program to gain a commission on referral links.  Easy to understand, and a lot of meat in there for whatever level you happen to be at.

If you want to use some of their scripts listed in the book, you'll need to primarily be into Perl, PHP, or ASP.  There are some JavaScript code snippets you can use, but nothing for Java.  Since I'm not trying to turn Duffbert's Random Musings into a mini-Amazon, that's fine for me.  Just be aware that you may have to "roll your own" on the examples if you're not conversant in their three primary languages.

Even with that caveat, it's still a good book.  I learned a lot from it, and I look forward to trying out some of their tricks...


U R Sakd

Category Everything Else

Thanks to Bas for passing this along...  Having gone through a couple round of layoffs at Enron (and having watched it happen at a client site), this sounds all-too-familiar...        


June 7, 2003 U.S. Edition                          

THERE are, Paul Simon once sang, 50 ways to leave your lover. There may be fewer ways to sack your staff, but most are unpleasant--though rarely as nasty as the method chosen last week by Accident Group, a firm that specialises in personal-injury claims, after Amulet, its Luxembourg-based  parent, ran out of money.                                                  

Accident Group's 2,500 staff received a series of text messages on their mobile phones, telling them to call a number. There, a recorded message from the company's insolvency administrators at PricewaterhouseCoopers informed them that, "All staff who are being retained will be contacted today. If you have not been spoken to you are therefore being made redundant."                                                                

This may be the nastiest case of workers being fired by text message. But it is not the first time that firing has been nastier than it need be.  Wayne Cascio, a professor of human resources at the University of Colorado-Denver, recalls a technology firm whose staff returned from lunch to find that their security cards no longer worked. Paul Sanchez, of Mercer HR, recalls one firm that invited its staff to a conference in Florida. Briefing packs told some to go to Ballroom A, others to Ballroom B. Those in Ballroom A got a presentation on the firm's future; the others were told to go by noon.                                                  
Is there a better way? Francis "Tom" Coleman, an American lawyer who recently wrote a book on "ending the employment relationship", urges bosses to sack staff in private, doing it respectfully and preparing a script of what to say. He says bosses often panic, fearing that dismissed staff may steal valuable information if allowed to linger.                
In fact, brutally sacked staff may do more damage than those let go kindly. In America, they may sue for the "intentional infliction of emotional distress". At Accident Group, the staff promptly ransacked the firm's offices and made off with computers and other equipment.    

Copyright 2003 The Economist Newspaper Ltd.                
                          All rights reserved                            
                             The Economist    


The latest values for @Version...

Category Software Development

Ran into this today on a Knowledgebase Technote...

The following table maps the numbers returned by @Version to each Notes version.  
Number Returned by @Version
Corresponding Notes Version
6.0, 6.01


Enterprise Is Better Than Ease

Category Everything Else

Enterprise is Better than Ease
by Jim Rohn

If we are involved in a project, how hard should we work at it? How much time should we put in?

Our philosophy about activity and our attitude about hard work will affect the quality of our lives. What we decide about the rightful ratio of labor to rest will establish a certain work ethic.  That work ethic - our attitude about the amount of labor we are willing to commit to future fortune - will determine how substantial or how meager that fortune turns out to be.

Enterprise is always better than ease. Every time we choose to do less than we could, this error in judgment has an effect on our self-confidence. Repeated every day, we soon find ourselves not only doing less than we should, but also being less than we could. The accumulative effect of this error in judgment can be devastating.

--- Fortunately, It Is Easy To Reverse The Process ---

Any day we choose we can develop a new discipline of doing rather than neglecting. Every time we choose action over ease or labor over rest, we develop an increasing level of self-worth, self-respect and self-confidence. In the final analysis, it is how we feel about ourselves that provides the greatest reward from any activity. It is not what we get that makes us valuable, it is what we become in the process of doing that brings value into our lives. It is activity that converts human dreams into human reality, and that conversion from idea into actuality gives us a personal value that can come from no other source.

So feel free to not only engage in enterprise, but also to enjoy it to it's fullest along with all the benefits that are soon to come!

To Your Success,
Jim Rohn


Books, books, and more books... And some good personal news...

Category Book Reviews

Some book stuff coming up...

First off, I just finished off the latest J. D. Robb novel
Imitation In Death.  A picture named M2  This may well be my favorite series of novels.  I always consider it a treat when Nora Roberts comes out with a new episode involving Eve Dallas and the New York crime scene in 2050.  In this latest paperback, Dallas catches a murder that looks like a copycat killing based on Jack The Ripper.  The killer leaves a note directed to her, and the hunt is on.  When he kills the second person, its in the fashion of the Boston Strangler.  Dallas has the suspect list narrowed down to four people who all have motive and opportunity.  I won't go any further, as it would give away too much of the plot.  But it's a great read.

And on the tech side...  

The people at O'Reilly must like me...  Marsee (the user group program coordinator) has taken to sending me not only the books I request for review, but other titles that don't necessarily relate to the group in any way.  Yesterday, I was thrilled to get a package with
Amazon Hacks A picture named M3 and TiVo Hacks.  A picture named M4  Since we have some TiVo junkies in the office, I'll probably see who wants to bribe me for that one.  The Amazon Hacks book is rather cool.  I like Amazon, and I use it a lot for selling used books.  But the book shows you how to do cool stuff, like manipulating the URL to get to specific areas directly.  They also show you how to hack the registry to allow IE to show a Search Amazon dropdown option when you highlight a word in a web page and right-click the mouse.  I'm only about a 1/3 of the way through, but it's a very interesting read...

And on the personal side...

My wife started her new job on Thursday.  She's mostly been out of the workforce since our kids were born (Ian's 17 now), and she felt it was time to start doing something outside the home.  While she was getting interviews, she never quite seemed to make the final cut.  Before leaving for Canada, Sue interviewed for an office job at the educational admin offices here in Portland.  As usual, she missed out on it.  But they contacted her again last Friday for another similar position that had just come open, and asked her to interview for it.  She went in on Tuesday, was offered the job on Wednesday, and started Thursday.  It's 190 days a year (tied to the school schedule) and she gets full-time benefits.  And their benefit package is quite nice, so I'll probably switch all our coverage to her plan, as it's about 1/4 the cost of my coverage (and mine's not out-of-line to start with).  She likes the environment and the people, and will love having two months off during the summer...  I'm looking forward to having a little more financial breathing room...  :-)


Outsourcing in my company? I do not think so.

Category Everything Else

A friend tipped me off (thanks, GemPDX!) to a blog entry that really fired up the masses...  It was written by Sue Spielman, who is a senior consulting engineer for Switchback Software.  The blog entry is titled
Outsourcing In My Company?  I Do Not Think So.

The discussion is interesting both for the points she makes about the facts and fallacies of offshore outsourcing, and the discussion that followed.

Very much worth reading regardless of how you come down on the issue...


Love The Opportunity

Category Everything Else

This is a motivational article I have taped to my wall at work...


Love the Opportunity

by Jim Rohn

Somebody said you have to love what you do, but that's not necessarily true. What is true is that you have to love the opportunity. The opportunity to build life, future, health, success and fortune. Knocking on someone's door or making that extra phone call may not be something you love to do, but you love the opportunity of what might be behind that door or call.

For example, a guy says, "I'm digging ditches. Should I love digging ditches?" The answer is, "No, you don't have to love digging ditches, but if it is your first entry onto the ladder of success, you say, 'I'm glad somebody gave me the opportunity to dig ditches and I'm going to do it so well, I won't be here long.'"

You can be inspired by having found something; even though you are making mistakes in the beginning and even though it is a little distasteful taking on a new discipline that you haven't learned before. You don't have to love it, you just have to learn to appreciate where you live, appreciate opportunity and appreciate the person who brought you the good news; that found you.

Appreciate the person who believed in you before you believed in yourself, appreciate the person who said, "Hey, if I can do it, you can do it."

If you will embrace the disciplines associated with the new opportunity you will soon find that your self-confidence starts to grow, that you go from being a skeptic to being a believer. And soon when you go out person to person, talking to people, you will find it to be the most thrilling opportunity in the world. Every person you meet - what could it be? Unlimited! Maybe a friend for life. The next person could be an open door to retiring. The next person could be a colleague for years to come. It's big time stuff. And sometimes in the beginning when we are just getting started we don't always see how big it is.

So, before you are tempted to give up or get discouraged, remember all success is based on long term commitment, faith, discipline, attitude and a few stepping stones along the way. You might not like the stone you are on right now, but it's sure to be one of the stones that lead to great opportunities in the future.

To Your Success,

Jim Rohn


Question for you Blogspherians out there...

Category Blogging

Since I've started having my blog spammed (apparently the same guy is hitting Carl Tyler's blog too), I was wondering if there is some way in Blogsphere to lock out responses from an IP address (or range of addresses).  I don't see anything obvious, but I may be missing it.

I realize that a firewall could do that, but I don't host my own blog.  

If there's no existing way to do this, I was thinking of writing an enhancement to Blogsphere that would allow you to block responses from an IP address.  One configuration form to list addresses, and some code in WQO that matches the IP address of the person with the list.  If there's a match, you let them know that they can't respond due to restrictions...

Sound possible?


Update... got spammed again as I was posting the last story...

Category Blogging

Same content, and at least the same address for the first two parts of the IP address.  I remember the 61.181, but I don't recall if 5.118 matches the address from yesterday.  Regardless...  I'll be blocking this one...

Search results for:

OrgName:    Asia Pacific Network Information Centre
Address:    PO Box 2131
City:       Milton
StateProv:  QLD
PostalCode: 4064
Country:    AU

NetRange: -
NetType:    Allocated to APNIC
NameServer: NS1.APNIC.NET
NameServer: NS3.APNIC.NET
NameServer: NS.RIPE.NET
NameServer: RS2.ARIN.NET
Comment:    This IP address range is not registered in the ARIN database.
Comment:    For details, refer to the APNIC Whois Database via
Comment:    WHOIS.APNIC.NET or
Comment:    ** IMPORTANT NOTE: APNIC is the Regional Internet Registry
Comment:    for the Asia Pacific region. APNIC does not operate networks
Comment:    using this IP address range and is not able to investigate
Comment:    spam or abuse reports relating to these addresses. For more
Comment:    help, refer to
RegDate:    1997-04-25
Updated:    2002-09-11

OrgTechName:   APNIC Whois Contact
OrgTechPhone:  +61 7 3858 3100
OrgTechEmail:  search-apnic-not-arin@apnic.net


Summer random wrapup...

Category Book Reviews

September 1st is here, and for all practical purposes summer is over.  It's been a good one, all things considered.  I spent nearly two weeks at DisneyWorld, which is always a great time.  I also spent a week up in Canada with the kids attending a hockey camp.  Not necessarily a "vacation", but everyone had fun.  I've done some writing on the Java articles that
Joe and I are doing for Advisor, and that's been a wonderful learning experience.  And finally, I am still employed, which in today's environment is a very good thing!

I finished the first pass on Saturday for an article covering team development in Domino.  I'm getting a little feedback from some friends, and then I'll get that shipped off to the editors.  I remember approaching
e-Pro nearly two years ago with an article idea.  I thought that having one article published would look nice on the resume.  Now I have three done with e-Pro, two in the pipeline, and a series with Advisor.  This is turning into a nice sideline, and I really like doing it.  There's something very satisfying when you get an email from someone you don't know thanking you for the help they received from your writing.

I also slipped in some reading in between studying for my latest certification test.  The first book is
McNally's Dare by Lawrence Sanders and Vincent Lardo.  Actually, it's a Lawrence Sanders novel by Vincent Lardo, since Sanders is dead.  Rather than kill off the Archy McNally character when Sanders died, his estate found a writer that could capture the spirit of the series so as to carry it on.  If you've never read a McNally novel, you might want to check it out.  It's light summer reading set among the high society in Palm Beach, Florida.  In this latest novel, Archy is asked to discover if a heir to a fortune is really who he says he is.  But before he can get started on that case, a waiter is killed at a party where the heir is attending, and he is asked to figure out who killed him.  Since the heir is a possible suspect, Archy is also asked by the heir to figure out who killed the waiter.  The three cases start to intertwine and all merge together at the end.  The writing style is humorous, and I would enjoy reading it for style alone...

The other book is called
Steal This Computer Book 3 - What They Won't Tell You About The Internet by Wallace Wang.  This is one of those books that tries to look like an underground publication uncovering hidden secrets.  While the information isn't all that "hidden" to people who do this stuff for a living, it does have a number of links that are worth exploring.  And just having all the info in a single volume is nice.  Lots of info on worms, viruses, hacking tools, etc., and how these tools can be used by both white- and black-hat hackers...  If you have the opportunity to read through the book, it's worth it.  Or, you can just do what the title says and...

And finally, my blog got "spammed" yesterday.  I received two different email notifications that I had new responses to posts.  They were ones from some time back, so I took a look.  Turns out it was a list of links to "adult" and "medical enhancements" sites.  I'm guessing that they did this in order to work their way up on the Google search engines.  There are a couple of referrer links that look suspious, and I'm guessing that someone has designed some tool to post responses automatically on Blogsphere for this kind of spam.  No big deal, as I just deleted the postings.  But you may want to keep your eyes open.  At least it's not as bad as
Ed's problem with Tony's postings...  :-)

Want to support this blog or just say thanks?

When you shop Amazon, start your shopping experience here.

When you do that, all your purchases during that session earn me an affiliate commission via the Amazon Affiliate program. You don't have to buy the book I linked you to (although I wouldn't complain!). Simply use that as your starting point.


Thomas "Duffbert" Duff

Ads of Relevance...

Monthly Archives