Further Reading…

If you didn't get enough about me here, there is my personal website with a brief life history and a slideshow about a friend who built a geodesic dome. Don't miss my recollections of my time in New York City working for Time Magazine.

Contact me here.

Breaking Through A Creative Block

Everyone who creates, be it writing, photography, painting, graphic design, etc., has encountered the problem of creative block. This is when the flow of ideas and skill suddenly isn’t there anymore. Most artists have developed ways to break through this problem. I present one idea here that helped my wife Nel to be able to finish her latest painting.nelworking

There is a common belief that there are two “sides” of the brain. One side handles the rational day-to-day thinking necessary for our survival and the other our expressive and creative side. There is an interesting book that deals with this written by Betty Edwards called Drawing on the Right Side of the Brain where this effect is used to teach people how to draw. The idea is to try to prevent the “rational side” of the brain from interfering with the creative side. Everyone is different and we all have to find what works for us.

In Nel’s case, it was the discovery of audio books that she could download onto her iPod. Somehow, listening the the classics (Tale of Two Cities was one of her favorites) occupied her think side of her brain in such a way that allowed her creative side to flow freely. She now recommends that everyone who is having creative block problems give it a try. If it worked for her, it just might work for you.

Adding Animation to a Logo

 

vrlogoThis is a logo I designed for a company that provides an email publishing web-based service.  The users create articles and maintain a mailing list of subscribers. Each subscriber is tagged as to what product lines they are interested in. The articles are also similarly tagged so that when it comes time to publish, the subscribers only get information on those products they are interested in.

I wanted to make an animation that would take the place of those annoying splash  or intro screens that were a part of the old web. Everyone always looks for the “skip this intro” button anyway. I thought a brief animation on the actual page when it launches would be the best approach.

The thought I had in my head was emails coming out of the logo and spreading across the page as if they were being “sent out”. This seemed to be the simplest way of expressing what the service actually does without getting too didactic.  I had seen this movie

which may have been where I got the idea.  I didn’t really want to spend a lot of time on this since I have lots more work ahead of me in designing this website, but I really wanted to see this through. I started out with a sketch of how I thought best to go about starting to write the code.

 

Using  javascript I could change the position, size and transparency of the icons. The diagram I drew informed me that if I would live with only 8 possible compass points for direction of movement, I could really make this process simple. Here is the code:

<!--

var r012vals = new Array (-1,0,1);

function pageSetup() {
	setTimeout("startEnvelope('env01');",500);
	setTimeout("startEnvelope('env02');",650);
	setTimeout("startEnvelope('env03');",800);
	setTimeout("startEnvelope('env04');",900);
	setTimeout("startEnvelope('env05');",1000);
	setTimeout("startEnvelope('env06');",1200);
	setTimeout("startEnvelope('env07');",1250);
	setTimeout("startEnvelope('env08');",1400);
	setTimeout("startEnvelope('env09');",1500);
	setTimeout("startEnvelope('env10');",1650);
	setTimeout("startEnvelope('env11');",1800);
	setTimeout("startEnvelope('env12');",1900);
	}

function r012() {
	return r012vals[Math.floor(Math.random()*3)];
	}

function moveEnvelope(env,xf,yf,xPos,yPos,alph,size) {
	yp = yPos+"px";
	xp = xPos+"px";
	document.getElementById(env).style.top = yp;
	document.getElementById(env).style.left = xp;
	yPos = yPos + 3*yf;
	xPos = xPos + 3*xf;
	if (size > 0) { size ; }
	sz = size+"px";
	document.getElementById(env).style.width = sz;
	if (alph < 199) {
		alph++;
		setOpacity(env,alph);
		setTimeout(function(){moveEnvelope(env,xf,yf,xPos,yPos,alph,size);},10);
		}
	}

function startEnvelope(ex) {
	xf = r012();
	yf = r012();
	if (xf==0 &#038;& yf==0) { yf = 1; }
	xPos = 100;
	yPos = 20;
	alph = 0;
	size = 140;
	env = ex;
	document.getElementById(env).style.visibility = "visible";
	moveEnvelope(env,xf,yf,xPos,yPos,alph,size);
	}

function setOpacity(myOBJ,opac) {
	var tOBJ = document.getElementById(myOBJ).style;
	if (opac > 100) { opac = 100 - (opac - 100); }
	opac = (opac == 100)?99.999:opac;		// IE/Win
	tOBJ.filter = "alpha(opacity:"+opac+")";	// Safari<1.2, Konqueror
	tOBJ.KHTMLOpacity = opac/100;			// Older Mozilla and Firefox
	tOBJ.MozOpacity = opac/100;			// Safari 1.2, newer Firefox and Mozilla, CSS3
	tOBJ.opacity = opac/100;
	}

//-->

The first thing was to look at how to make the animation random every time the page loads. If you look at my diagram, you will see that a vector can be described in terms of three numbers which are -1, 0 and +1.  I established an array with these three numbers and created a random number generator that would give me a random number between 0 and 2 to select one item in the array. Only one problem. There is a case where it will generate two zeros. There is no vector for two zeros so I had to have a line of code to check for that. Quick and dirty fix on that was just to make the y vector a 1 in that case. Not perfect, but it works. The rest is fairly straightforward and makes something that looks like this in a screen capture: and for the full effect, you can click here and watch it in motion. Mouseover the logo and it will do another random effect.

Perfect Gift for Gifted Child

123infinity Stan Vernooy, one of the top reviewers on Amazon.com leads his review of this book with “You want your 10-year-old to win a Nobel prize some day?” and he may be only slightly overstating the importance of this book in forming the lives of some of the best of our generation. I often tell the story about how I got kicked out of Sunday School for asking too many questions and showing up armed with a slide rule. This was a long time ago but I remember I was worried that “heaven” would not be large enough to accommodate me. I had done some calculations as to populations (past present and future)  and asked something about what the size of heaven might be. I was excused from further attendance which pleased me and didn’t seem to upset my parents very much. More time to work in my home laboratory and read. This book provided the answers to most of my questions and allowed me to move on in my quest for knowledge.

I have a pilots license (private, instrument rating) and because of this I often receive forwards from other pilots relating to aviation. Recently I received this one…

In addition to communicating with the local Air Traffic Control facility, all aircraft in the Persian Gulf AOR are required to give the Iranian Air Defense Radar (military) a ten minute ‘heads up’ if they will be transiting Iranian airspace.

This is a common procedure for commercial aircraft and involves giving them your call sign, transponder code, type aircraft, and points of origin and destination.

I just flew with a guy who overheard this conversation on the VHF Guard (emergency) frequency 121.5 MHz while flying from Europe to Dubai. It’s too good not to pass along. The conversation went something like this…

“Iranian Air Defense Radar: ‘Unknown aircraft you are in Iranian airspace. Identify yourself.’

Aircraft: ‘This is a United States aircraft. I am in Iraqi airspace.’

Air Defense Radar: ‘You are in Iranian airspace. If you do not depart our airspace we will launch interceptor aircraft!’

Aircraft: ‘This is a United States Marine Corps FA-18 fighter. Send ‘em up, I’ll wait!’

Air Defense Radar: (no response … total silence)

It was followed with this picture:fighterjet

On the surface this seems to be a variation on the typical school yard bully challenge. But upon reflection, isn’t it about the power of our technological superiority? Or, to put it another way, “our engineers are better than your engineers”.

There are concerns expressed in the electronic engineering trade journals about the future of engineering. Those of us who grew up in the run-up to being the technology leading country in the world recall the days when building radios from kits was a beginning of a life in engineering… or at least an appreciation of how such things are created.

I was fortunate to have been friends with Scott Crossfield while he was flying out of my old hangout, Leesburg Airport (KJYO). We spoke often about the race to technological superiority with the Soviet Union and the role he played in that race. For more insight into this read his book Always Another Dawn (free).

So, if you have a curious child on your list, give them this book.  Think of it as investment in America’s future.