Category Archives: Uncategorized

Setting myself up on Fiverr

So I just created a gig on Fiverr. Usually, I’m the one who reads every scrap of instruction and advice I can find, and constructs a giant decision tree, trying to anticipate everything that could possibly happen as I work up front. Not this time–I was so eager to get my listing up that I jumped in feet first. It turned out fine, because although it was a bit time and labor intensive, it was simple.

They wanted me to create an account before I got a good look around, so I just went ahead and did it. They wouldn’t let me use an email alias. I’d rather filter my email on an alias than on a keyword, so now I’m crossing my fingers that I don’t lose a message.

I already had a clear, workable idea for a service, and so when they told me I’d be up and running in five minutes, I believed them. I should know better. On the Pricing screen, I was offered the option of creating three tiers for my service. I could have gone ahead with just the tiny test service I had in mind, but I knew this was my opportunity to invent a genuine, serious product, and I should take it.

The hardest part about the Description and FAQ page was paring my sales pitch down to fit the 1200 character limit. Cutting is a fact of life, and I’m finally getting used to it.

Then there was the Gallery page. For as much as I’ve struggled with the Gimp, you’d think I’d have some skills by now. Oh well, I can always polish and improve later.


For reference, the steps are:

1) Overview – tagline and category
2) Pricing – simple product or three tiered system, with the option to offer add-ons (such as expedited delivery and extra re-dos)
3) Description and FAQ – your marketing copy, 1200 chars plus the FAQ
4) Requirements – what you need from the client to do the job (in my case, I needed a video or audio file of the speech I’m to evaluate, plus an optional text description of the client’s goals and objectives)
5) Gallery – one (required) to three still images, and optionally, a video
6) Publish

BTW, if you’d like some coaching on your speech, come see me.

Film Review: Dr. Strangelove

As part of my study of storytelling through film, this weekend I watched Dr. Strangelove Or: How I Learned To Stop Worrying And Love The Bomb.

More than 50 years after it as made, it doesn’t have the shocking impact that it originally had. Irreverent, over the top political satire wasn’t part of the culture then. Today, however, we’ve lived through the era in which people got their news from John Stuart. (They still do, for all I know–I try my best to avoid it.) We just assume that our top political and military brass are from the bottom of the barrel. The film looks normal, maybe even slightly boring, in this regard.

What is totally relevant today is the particular dysfunctionalities of the powerful men it skewers. At least three of the main characters, and we can easily speculate about a fourth if not all, are driven by masculine anxieties and misdirected lust. General Ripper’s paranoia about Soviet plots against his “bodily fluids” and “purity of essence,” which both led him to initiate the strike against the Soviets and revealed to his colleagues that he was certifiably insane, floats in modern variations around the internet today without irony. His delusions that women sense his supposed superiority and “flock around,” trying to parasitize his “essence,” are straight out of the MGTOW meme pool.

Cultural commentary aside, the film is a masterpiece of suspense. We know, because it’s such biting satire, that the Doomsday Machine is going to be triggered–but how? How close will they come to being able to save humanity before they fail? How many holes in their own best laid plans will they be able to exploit? How many ways will their own scheming and arrogance come back to bite them? How far out of touch can they be, at what worst possible moment?

The War Room is a beautiful, iconic set, with its huge, elegant circular table in a lofty, triangular room, and with the big screens overhead. It makes the inept, immature behavior of its occupants seem all the more pathetic by juxtaposition. And it is a joy to see Peter Sellers play three different characters, all distinct, each one beautifully done.

And from now on, whenever I stumble into another annoying MGTOW rant, I’ll be be able to laugh at the looming, grandiose Jack D. Ripper, chomping on his classically phallic cigar and spitting about “fluids.” For that, I will be eternally grateful.

From a Ramble to a Story

Earlier today, an aspiring speaker asked how to turn a 25 minute ramble, which he had already created, into a 10 minute story. By the way he asked, I could tell he knew it was about much more than shortening it; it was about giving it structure. He had a formless collection of ideas, and he wanted a work of art that could plug into the human mind and evoke change in the listener.

He may not have realized it, but he had actually taken the proper first step to write a story from scratch. Brainstorming is a useful first step in writing, no matter the project. His brainstorming just happened to be in spoken form. His intuition for the craft was excellent; he just needed a little information.

Here’s what I told him:

Decide what you message you want your story to have – what enemy you defeated, what lesson you learned, what change you made, or what have you. Choose the event from your ramble that serves as the hinge point of the conflict, lesson or change; that will be the turning point or climax of your story. Everything else in your story will support it.

Now choose the event in which you first meet the enemy or see the need for change, and put it first. Finally, choose several events between these two to illustrate the rising conflict, and make a mini-story from each one, relating them all to each other as you go along. This will be your basic story structure.

Once that is done, choose some descriptive elements to illustrate what life was like before the story begins and put those in an introduction, and likewise, choose some from after it ends for the wrap-up. This will show how the change has been fought for and achieved.

Now you have a hero’s journey, with stasis at the beginning, initiation into the “other” world with the first conflict, rising action building to a climax, resolution, and a higher level of stasis at the end. To see more, google “hero cycle” or “freytag’s pyramid.” Best of luck.

Toastmasters Club Officer Training for Secretary

Dear Fellow Toastmasters,

Here are the resources I showed and referred to in my Club Officer Training for the office of Secretary. If you have any questions or suggestions, please contact me at kelley nnn nospam at gmail dot com.

To find Club Central, log in at the Toastmasters International site, click the Menu button in the upper left hand corner, click “Leadership Central” in the drop down menu, then click on “Club Central” in the submenu. From there, you will be able to access your club’s administration page. You will also want to look at “Club Officer Tools”. There you will find resources such as an electronic copy of the Club Officer Handbook, and information about the Distinguished Club Program and Club Success Plan.

Club Leadership Handbook PDF (direct link)
Plain text template for minutes writeup – Windows version
Sample of written up minutes using the template – Windows version
Plain text template for minutes writeup – *nix version
Sample of written up minutes using the template – *nix version
Minutes taking cheat sheet from Tony DeLeon (MS Word file)
Minutes taking cheat sheet designed by me (Google Sheet)
Checkbox image used in the Google Sheets cheat sheet
Sample of minutes taken directly on agenda – front of sheet (jpeg)
Sample of minutes taken directly on agenda – back of sheet (jpeg)
Minutes taken directly on agenda – both sides (pdf)
Guide to the Secretary role from the Club Officer Handbook
The agenda and case studies from the session, including duties list (pdf file)
The agenda and case studies from the session, including duties list (Open Document Format file)
Sample spreadsheet to track your Club Success Plan
Free Toast Host for creating a home page for a club
Easy Speak for automating club administration
District 4 home page
District 101 home page

Example of a club’s charter document:


To submit your club’s updated Officer list, go to

Good luck!

Trying Too Hard

In a post titled The Problem with the FizzBuzz Problem, Gayle Laakmann McDowell discussed the cognitive trap that a high performer can fall into when faced with a deceptively inelegant real world problem. She called it the “Smart Person’s Mirage.”

I was caught in this trap in an interview once myself. I was asked to write a function that took an integer parameter and wrote out an ascii art diamond pattern in the given size, like this:


The symmetry cried out to me. There must be some way, I was sure, to leverage it in both directions at once. It seemed like an affront to the concept of elegance if I didn’t! Also, there were so many options. Use a buffer, or several, or none? Make nested loops? How should an even parameter be handled?

In a matter of minutes, I had pieces of at least three conflicting solutions scattered all over the whiteboard. That was when the interviewer let me know that that was exactly what the question was designed to test for.

The way out of this failure mode is to not try too hard. As tempting as it is to write code poetry and dazzle my interviewer, the bottom line is that it’s not required. Moving forward with something, anything, that actually completes the task is. Optimizaton, neatness and elegance (and sometimes insight) can come later.

Inspired by Gayle’s post, I revisited the ascii art diamond problem. By letting go of finding a “perfect” solution, I came up with a workable one in a couple of minutes. Here it is in all its kludgy, messy glory.

    /* diamond.c
     * utility to take an integer on the command line and
     * output an ascii art diamond in that size made of splats
    #include <stdio.h>
    #include <string.h>
    #include <stdarg.h>
    #define MAX_DIMENSION 41
    int main (int argc, char **argv) {
    	char line[MAX_DIMENSION];
	static char on_char = '*';
	static char off_char = ' ';
	int dimension = DEFAULT_DIMENSION;
	int midpoint;
	int lineno = 1;
	int columnno = 1;
	int i, j;

	if (argc > 1) {
		dimension = atoi (argv[1]);
		/* even dimensions end up being treated as the
		 * next highest odd dimension (ex. 4 makes a 5x5)
    /*		if (dimension % 2 == 0)
			dimension += 1; */
		if (dimension > MAX_DIMENSION)
			dimension = DEFAULT_DIMENSION;

	memset (line, off_char, MAX_DIMENSION * sizeof (char));
	midpoint = dimension / 2 + 1;

	/* print top half of lines to midline */
	for (i = 0; i < midpoint; i++) {
		printf ("%s\n", line);
		line[midpoint - i] = on_char;
		line[midpoint + i] = on_char;
	/* print bottom lines */
	for (; i > -1; i--) {
		line[midpoint - i] = off_char;
		line[midpoint + i] = off_char;
		printf ("%s\n", line);
	return 0;