Monday, October 31, 2005

Girl scout slide

NOTE: Image upload failed; please try again later.

Girl scouts at trunk or treat

Sarah joins us on our morning hike. I will miss these.

Sunday, October 30, 2005

From the mouths of babes

As we turned into the cove and drove toward the house, Noah looked ahead and with total seriousness exclaims, "Hey! The car is gone!"

Saturday, October 29, 2005

Bark bark bark

Molly plays with Sarah's boyfriend's dogs.


So why am I having dizzy spells again? Because 3 days ago I found out that in 1 week I have to come up with more money than some people make in a month. And I will do it!

Friday, October 28, 2005

Boys. Boys. Boys! Use Protection!!

Just a nick

What would you call this? Late life circumcision?

So what kind of macho locker room talk preceded this? "Oh yeah? Well mine is so big I can get a home run!"


Old News. Sulu has an awakening!

Well now, this AP photo just sums it up quite nicely doesn't it!

What say we all break into song?

Click to see Leonard Nimoy sing the Ballad of Bilbo Baggins

If the movie doesn't load you can find it here. And you copyright nimrods ought to be ashamed!

Comparison Shopping

This piece is actually interactive so those of you reading via RSS or ATOM from a news reader may want to go to the blog.

Nutrition Facts
Serving Size: 1 Cup(32g/1.1oz)
  % Daily Value**
Calories 120 120
Calories from Fat 10 10
Total Fat 1g* 2% 2%
Saturated Fat 0.5g: 3% 0g: 0%
Trans Fat 0g -- --
Polyunsaturated Fat 0g Not listed --
Monounsaturated Fat 0g Not listed --
Cholesterol 0% 0%
Sodium 150mg: 6% 120mg: 5%
Potassium 35mg: 1% 25mg: 1%
Total Carborhydrate 28g 9% 8%
Dietary Fiber 1g: 4% 0g: 0%
Sugars 15g -- --
Other Carbohydrate 12g -- --
Protein 1g -- --
Vitamin A 10% 15%
Vitamin C 25% 25%
Calcium 0% 10%
Iron 25% 25%
Vitamin D 10% 10%
Thiamin 25% 25%
Riboflavin 25% 25%
Niacin 25% 25%
Vitamin B6 25% 25%
Folic Acid/Folate 25% 50%
Vitamin B12 25% 25%
Phosphorus 2% 2%
Magnesium Not listed 2%
Zinc 10% 25%
(listed in order as they appear on the label)
  • sugar
  • corn flour
  • wheat flour
  • oat flour
  • partially hydrogenated vegetable oil (one or more of: coconut, cottonseed, and soybean)
  • salt
  • sodium ascorbate and ascorbic acid (vitamin C)
  • niacinamide
  • reduced iron
  • natural orange, lemon, cherry, raspberry, blueberry, lime and other natural flavors
  • red #40
  • blue #2
  • zinc oxide
  • yellow #6
  • turmeric color
  • pyridoxine hydrochloride (vitamin B6)
  • blue #1
  • riboflavin (vitamin B2)
  • thiamin hydrochloride (vitamin B1)
  • annatto color
  • vitamin A palmitate
  • BHT (preservative)
  • folic acid
  • vitamin B12
  • vitamin D
  • corn
  • wheat flour
  • oat flour
  • sugar
  • partially hydrogenated vegetable oil (one or more of: canola, cottonseed, and soybean)
  • salt
  • calcium carbonate
  • dicalcium phosphate
  • sodium ascorbate
  • natural orange, lemon, cherry, raspberry, blueberry, lime and other natural flavors
  • zinc oxide
  • reduced iron
  • red #40
  • blue #1
  • yellow #6
  • yellow #5
  • BHT (preservative)
  • vitamin A palmitate
  • pyridoxine hydrochloride (vitamin B6)
  • thiamin mononitrate
  • riboflavin (vitamin B2)
  • folic acid
  • vitamin D
  • vitamin B12
  Hide identical percentages
Which is healthier? A

My conclusion? They definitely have different tastes but I can't say one tastes better than the other. We buy A so I am certainly more familiar with it. A has a more pleasant smell than B. A has larger, more regular circles than B. B has better packaging than A. Both were equally satisfying as a meal. B gets my recommendation.

No, it's not about beer

My wife thinks I'm Canadian eh!

Wish Him Well!

Today Arcite's Day turns 3! And with that arcite notes:

This year has seen many blog become cold dark sites in the blogsphere.

And poses the question "Shall we go on?" Pay arcite a visit today and leave a comment to let him know that his writings and photos are too worthy to be sucked into the void of dead blogs.

He seeks merely 5 or more comments as his validation.

Desire to hide

I want nothing more than to lie in bed all day holding my wife.

Thursday, October 27, 2005

Miss those great college conversations?

Here's a blog that records converstaions overheard at UWO

How high?!

I'm jumping so much today I don't think my feet have touched the ground!

So why do I grab myself?

My wife has pointed out that the webcam (as seen in the sidebar to the left) has twice in the past 10 minutes caught me grabbing my crotch. First off, being male that is a perfectly acceptable practice. After we become "self-aware" circa 4-6months old we become obligated to "check our package" frequently for the rest of our lives to ensure that nothing is lost. However I must point out that it is my seat cushion and not my crotch that is being grabbed. I sit on a hard wood chair and have placed a lumpy seat cushion on it that slips throughout the day. That's my story and I'm sticking to it! Of course, you have the photographic evidence and are more than welcome to refute my claim.

Costumed Yet?

Can't decide which Star Wars character to be for Halloween? Print a mask and try it on!

My town

The picture may not depict it well but we have a good view of the mountains today

Bush Tries Censorship To Improve Image

Presidential Seal

The White House has asked satirical website The Onion to stop using the presidential seal.

"When any official sign or seal is being used inappropriately the party is notified," Duffy said.

But the Onion's editor-in-chief has a different view noting that he has seen the presidential seal in comedy sketchs his whole life.

MSNBC has a live vote to get options on whether or not the Onion should stop using the presidential seal.

Tuesday, October 25, 2005

Thru My Eyes, A Funny World

Its all how you look at it


RTB In Hiding

So, anyone know why The Rocky Top Brigade is down?


So how creative do you plan to be with your jack-o-lantern?

Of Grasshoppers

Student: I could have prevented it.
Master: Now live with it.

Ride the bus today...and stand in respect!

Rosa Parks has passed. Wouldn't it be great today if everyone that could rode a bus today and refused to sit leaving the seat available for Mrs. Parks spirit?

Nearly 50 years ago, Rosa Parks made a simple decision that sparked a revolution. When a white man demanded she give up her seat on a Montgomery, Ala., bus, the then 42-year-old seamstress said no.
Mrs. Parks died Monday evening at her home of natural causes, with close friends by her side...

"I am leaving this legacy to all of you ... to bring peace, justice, equality, love and a fulfillment of what our lives should be. Without vision, the people will perish, and without courage and inspiration, dreams will die - the dream of freedom and peace."

Of Grasshoppers

Student: I am lost.
Master: Those who wander aimlessly are not even lost, just completely without direction. At least now you know to be looking for a path. Soon you will have direction.

Monday, October 24, 2005

I need...

When I posted earlier my list of things I need I forgot to list a club passing partner (juggling) for Monday, Oct 31st from 6pm-9pm. You don't have to be good; just willing.

Pick Your Furniture Appropriately

For those of you too bashful to try your furniture out in a real showroom first, Tok & Stok has a virtual answer for you! Warning! Not safe for work! Aw come on! It has to the be number one question whispered in any furniture store.

Good inventions

"LONDON (Reuters) - From a scented patch to boost a woman's sex drive to a bicycle that travels sideways..." Are the two items related? For the creative, yes!

As for that patch, they should make a pillow case version so that the ladies wake up the way the men do. Better than coffee!


Mark one demon knocked down. Had an outstanding rfp hanging out over my head. She's been put to rest for the moment. I hope it comes through. It would be a fun, classy project! And I'd be busy through the rest of the year.

This summary is not available. Please click here to view the post.

I need...

  • an account/book keeper
  • a programmer
  • a sales person
  • an intern
  • a lawyer
  • administrative assistant
  • a computer technician (A+ certified)
  • an angel
  • and the money to pay these people

My morning walk in the woods with molly is so calming!

Dear Cathy,

Thank you for Firefly! Better than sex!

Sunday, October 23, 2005

From the mouths of babes

Wife: "I hang out on the curly side. I don't know about the straight side."

Cathy asks that I clarify the topic of discussion was shampoo and conditioners. Please note that I called her a "babe!"

Saturday, October 22, 2005


Cool cloud and great colors

Note: the camera phone just didn't capture this one well.

Hotch and ty cover the other door

Noah selling popcorn at butler and bailey

4 dogs

Molly plays

Reply to Barry's Bringin' Down the House

I just tried replying to Barry's Bringin' Down the House post and am not sure if he is moderating comments or if haloscan is having hiccups so I'm reposting the comment here:

First satirical conspiracy theory:
Perhaps, just perhaps, such movies are a government sponsored de-sensitization program for things the They fear might come to reality. If you've already seen the Hoover Dam blown to pieces and wash into a crevice that causes a reaction with the fault line and dumps one third of the US into the pacific then when something actually happens it is not the first time people are seeing it albeit real versus fiction.

Don't forget the reason you are seeing a huge influx of war movies and that new Iraq weekly show and other fighting hurrah war movies is that after 9/11 the government contracted Hollywood to make pro war movies.

"Hollywood was ordered by the U.S. government to promote pro-war movies.
Musicians at the Grammys were threatened with blackout if they made any anti-war comments."

see also Operation Hollywood

Now back to reality:
My saddened awakening was before 9/11 when the Taliban destroyed the Buddas. I have always dreamed of travelling the world and seeing its wonders. I am fortunate to have been on the World Trade Center but my kids will never know that thrill. Destroying the Buddas was a reminder that nothing is permanent and that if we want to experience then we need to get out and do it. Remember Clingman's Dome when it was green? I do because my family didn't sit in their home saying "...when we get around to it..." or "...we don't have enough money..." I want my kids to see the wonders of the world before those wonders fall to the hands of man or the forces of nature (will Disney survive Wilma?).

Friday, October 21, 2005

My Knowledge Debunked!

For my prayer post I wanted to cross reference Ring Around the Rosies as a piece written relating to Black Death but I had the gumption to look further than the first link I found and Snopes debunked my believe that Ring Around the Rosies was written about Black Death. My world is shaken!

Outdated Prayer

As a child every night before be I would kneel and say:

Now I lay me down to sleep
I pray the Lord my soul to keep
If I should die before I wake
I pray the Lord my soul to take. Amen.

As an adult I have a problem with this. I don't think children should be sheltered from such realities as death but to hyperfixate on them night after night in our times is too negative. Perhaps this was once appropriate during times of plagues but today I think there needs to be another variation. Perhaps the stuffed animal Amy is playing with has the answer:

Now I lay me down to sleep
I pray the Lord my soul to keep
May angels watch me through the night
And keep me in their blessed sight. Amen.

Thursday, October 20, 2005

Of Grasshoppers

Student: The deadline looms.
Master: Focus on the task, not the deadline.

A blogger returns ... and with great material!

David Baldinger is back! I love his Remnants cartoon!

Special Effects - Invisible Skate Boards

Could someone explain to me how they filmed these kids on invisible skateboards? The shadows are perfect. The little clouds of dust imply a board. The only thing I can imagine is that they Chroma key'd the boards and edited them out by hand but if that's the case this is some fine editing!

Wednesday, October 19, 2005

A Winning Ticket!

Yes! I won! I matched 3 number without the powerball so I scored $7. I swear I almost bought the power play which would have made this a $35 ticket. Wahoo!

Buy your ticket

Just incase you haven't heard, the lottery is up to $340,000,000! Draws tonight. I really hope that no one gets it. I'd love to see this break $400 million and I sincerely hope that someone truly deserving gets the money.

Yellow monsters poke above the tree line as they pilliage the earth. Once gone you cannot have it back.

Of Grasshoppers

Student: Only I believe in me.
Master: And that is all that matters.

Tuesday, October 18, 2005

Of Grasshoppers

Student: I have reached a crossroads.
Master: Read the signs carefully.

Now that changes the odds

For those into home defense. (yes, you've seen that gun on Predator)

The Wooly Worm Says...

My wife posted this picture of a wooly worm that was crawling around outside our house. It's head is toward the top of the picture. Looks like a mild winter to me.

The National Oceanic and Atmospheric Administration explains the wooly worm as a weather predictor.

"...the amount of black on the woolly bear in autumn varies proportionately with the severity of the coming winter..."

"The longer the woolly bear's black bands, the longer, colder, snowier, and more severe the winter will be."

"...every 3rd weekend in October the annual Woolly Worm Festival in Banner Elk, NC. They begin worm their worm races around 10:20 AM..."

Ours was heading west. Now what does that mean?!

Saturday, October 15, 2005

Dad Stock Up

Sarah is failing math so today I finished installing her Internet connection in her room.

From the mouths of babes

Noah (9): "Dad, I think I'm understanding more of what you do."
Dad: blink. blink.

Friday, October 14, 2005

Scouting for 'camel toads' at pool

(click for work safe picture)
Ode (or 'oad or owed even) to the generation gap (and slang gap) Posted by Picasa

UPDATE:Snopes has commentary answering the questions:

  1. Was this question-and-answer exchange published in a newspaper's advice column?
  2. Did the question come from a submission received by the columnist (rather than being something she made up herself)?
  3. Was the letter on the level, or did the submitter simply fabricate a narrative for humor's sake?

The first two are definitely true.

Geocaching Gains Acceptance With Park Services

Instead of fighting Geocaching Park Services are beginning to accept Geocaching as they do horseback riding including offering Geocaching tours.

Another Windows Upgrade

Microsoft has begun promoting its new operating system Vista. My only question is why they chose a picture of a man taking a wiz off a cliff for the promotion. Just what are they saying about their operating systems?! (I know..its probably a woman but its gender neutral enough for this line of humor)

Thursday, October 13, 2005

No airplanes in the sky

What kind of day is it?

It's a Quad I day! and I feel weary already...

Even those that don't play are playing now!

Incase you don't follow it, Saturday's Powerball is estimated at $290,000,000. Yes! That's 7 zeros behind a 29! Regardless of the odds, your views on gambling, or your like/dislike of the lottery, it might be a good time just to spend a dollar or two on the off chance that your numbers come up.

Now, I remember the lottery commissioner in an interview saying two remarkable things:

1) The odds of getting in a car accident on the way to buying your ticket are greater than winning the lottery
and 2) if you only buy one ticket then your odds are the same as mine [the commissioner's] and I [the commissioner] can't play.

That said, your odds are even less if you don't buy a ticket.

I had the pleasure of speaking with somone that declared herself "the neighborhood bookie" and went on to explain she was buying tickets for all the ladies that didn't want to come out and do it themselves. She giggled and said, "we are the desperate housewives." This lottery is dragging out people that would never play it. The statistics on back that up. I hope the winner is someone that truly deserves it and needs the money.

Today's Wisdom

"Today is the Tomorrow we thought about Yesterday." -author unknown, by I've cited it my whole life.

Wednesday, October 12, 2005

Tuesday, October 11, 2005

Offline for a couple of days

Bank of america needs to open another branch. It is 1:38 on a tuesday and far too backed up

More bad luck


Of Grasshoppers

Student: I'm capable.
Master: Then do.

Chat Away!

For grins I added a chat application to TN Lottery Results. The same chat appears on Complete Lottery Info. I wonder if it will see any use.

World's Smallest Controllable Robot

"Researchers there have built what they say is the world's smallest untethered, controllable robot. When placed on a penny, it looks like a mole on the side of Lincoln's chin, measuring a hundredth of an inch by one four-hundredth of an inch."

Monday, October 10, 2005


Tommy rides

Of Grasshoppers

Student: How can I do more?
Master: Say "no" a lot.

Going To be small lots

In the end the will be no trees

View over the church

This morning's programming challenge

Within the next 2 hours, write a piece of javascript that based upon values in a series of pulldowns determines the price of a product using quantity, an attribute, another attribute, a third attribute, and the size of the product. There is not a mathematical basis for the price.

Update: The solution follows. This is viewable through the source otherwise I wouldn't post it. Basically we create a class/object to hold the pricing data. When then create an array of objects to hold each permutation of pricing. Then we make a call to the database and fill the array. Finally, whenever a selection box is changed, we loop through the selections comparing values to what is stored in our objects until we find the one that has the price we want. Then we update the price field. The final product can be seen shortly at under the products listings. Right now flyers works correctly and I'm updating code for the other products.

//define a class to hold the data
function productinfo(qty, coating, sides, tag, productsize, price) {
//initialize object properties
    this.quantity = qty;
    this.uvcoating = coating;
    this.sides = sides;
    this.tag = tag;
    this.productsize = productsize;
    this.price = price;

//create an array to hold the objects of data
var products = new Array();

       echo "products[".$x."] = new productinfo(".$line['Qty'].",".$line['Coating'].",".$line['NumSides'].",".$line['Tagline'].",'".$line['AvailableSize']."',".$line['ProductPrice'].");";

function updateprice(){
    var pricefound = false;

    for(i=0; i < products.length; i++) {
       //test values here
       frm = document.productselection;
       //businescards = ProductSize, ProductSides, Coating, qty, tag
       //brochures = ProductSize, ProductSides, Coating, qty, tag
       //cdinserts = ProductSize, Coating, qty, tag, ProductSides
       //flyers = ProductSize, ProductSides, Coating, qty, tag
       //posters = ProductSize, ProductSides, Coating, qty, tag
      if(document.getElementById('ProductSize').options[document.getElementById('ProductSize').selectedIndex].value == products[i].productsize
          && document.getElementById('ProductSides').options[document.getElementById('ProductSides').selectedIndex].value == products[i].sides
          && document.getElementById('Coating').options[document.getElementById('Coating').selectedIndex].value == products[i].uvcoating
          && document.getElementById('qty').options[document.getElementById('qty').selectedIndex].value == products[i].quantity
          && document.getElementById('tag').options[document.getElementById('tag').selectedIndex].value == products[i].tag) {
      updatedivs('price','Price: $'+products[i].price.toFixed(2));
       pricefound = true;
       alert('price found! '+products[i].price);
    if(!pricefound)       updatedivs('price','Price: $----');

Interpret This

I dreamed last night that I was trying to pull strings to get Matthew Perry a job. The dream was very fixated on the presidential bridge that connected Knoxville and Lenior City? (perhaps Chattanooga) so that the president could go from the one city to the other on a flat service without having to deal with driving through valleys and ridges.

Of Grasshoppers

Student: I have a vice.
Master: You have a vice squad.

Sunday, October 09, 2005

Yes! I did something for me!

TN Lottery Results is no longer terribly embarassing!

Of Grasshoppers

Student: Can we really learn from our mistakes?
Master: It would be a mistake to do otherwise.

Saturday, October 08, 2005

Rhys and liam sell popcorn for pack 251

Noah and chase sell popcorn for pack 251

Come Buy Popcorn at Butler And Baileys!

Since nothing is better to snack on during football than popcorn Noah and I and some other scouts will be outside of Butler & Bailey (map) selling popcorn from noon to 4pm. The popcorns sales go on during October and are Pack 251's only fundraiser. If you don't want popcorn consider buying some as a Christmas gift or as a donation. Thank you!

Of Grasshoppers

Student: I grow shorter everyday.
Master: You carry too much weight.

Friday, October 07, 2005

MS Events

Anyone going to any of the Microsoft MSDN or Launch events?

Programmer or Hack

There are days I just don't feel like a programmer and then there are days like today! Wahoo! Let the code flow.

Thank G*d for David Bowie!

Why did Bush get re-elected?

Ariadne's Labyrinth brings us a link to the reason (video with sound some foul language).

How are you doing?

I think perhaps the most cruel way to greet a person is to say "How are you doing?" No one really wants the real answer. They want the response "Fine thank you. And you?" What if you answered "well since you asked I'm not really doing so hot. I'm trying to be a hero to my kids and teach them right from wrong along with good manners but every time I turn around I'm be kidney punched and my self-confidence is shot. Seems like everytime I start to feel good about myself some smug sob comes along to yank the carpet out from under me. We are really lucky to be keeping food on the table. So, how's things with you?"

Whenever someone I know is a psychologist or psychiatrist asks the "how are you?" question I grin and want to laugh because they don't really mean it. So I respond "is that a personal or professional question?"

So I vowed to myself to work hard at removing "How are you?" type greetings from my vocabulary. Instead I choose to use more positive greetings such as "Good to see you!" or "You look great!" or even simply "Hello." Of course moments after I made this vow in my head I bumped into someone and I spouted out, "How you doing?"

Thursday, October 06, 2005

Murph is back!

Of Grasshoppers

Student: I'm shattered.
Master: Nothing broken ever goes back together without cracks.

Do NOT use Dr James T DeBerry!

If you are looking for a dentist for your children in Knoxville do NOT use Dr. James T DeBerry!!

The Onion Foresees the Future All Too Well

Can you believe this was published on January 17, 2001?!

Bush swore to do "everything in [his] power" to undo the damage wrought by Clinton's two terms in office, including selling off the national parks to developers, going into massive debt to develop expensive and impractical weapons technologies, and passing sweeping budget cuts that drive the mentally ill out of hospitals and onto the street.

During the 40-minute speech, Bush also promised to bring an end to the severe war drought that plagued the nation under Clinton, assuring citizens that the U.S. will engage in at least one Gulf War-level armed conflict in the next four years.

"You better believe we're going to mix it up with somebody at some point during my administration," said Bush, who plans a 250 percent boost in military spending. "Unlike my predecessor, I am fully committed to putting soldiers in battle situations. Otherwise, what is the point of even having a military?"

There's more! Keep reading.

War Torn Families

I have a hard time imagining being separated from my family for a full 8 hours of the day. I can't imagine being separated for two or more years! I feel bad for our soliders.

Politically Aware

Know your representative? You should!

Of Grasshoppers

Student: Will I ever get out of this hole?
Master: You cannot climb with a shovel in your hands.


Finally! A foothold! I might start working out of this hole!

Oh I Wish I Had Money! - Great WOOT!

Woot has a launch event today. That means they are the very first to be selling a product (via special arrangements). Today's woot is a Vivitar 8.1MP Compact Digital Camera with 2.5-in. LCD for $299.99 plus $5 shipping. Ultra thin and dandy. If I could I'd buy 3 and tuck two away for Christmas presents.

Of course, at 8.1MP you need to give them a new harddrive also!

Seeking Juggling Partner - No skills required

When I posted that I'm seeking a juggling partner in or near Knoxville (that sounds like a personals ad) I should have added that you don't have to be all that good. Most people would say, "I'm not that good" or "I'm not good enough" and it makes me wonder what scale they are measuring themselves against.

I just need someone willing to commit to a little time. I had piano lessons for 4 years and once I showed up for my lesson and the teacher asked, "Did you practice?" to which I replied, "no." The instructor frowned, closed the cover over the keys, and said, "so what do you want to talk about?" The message was clear and left a lasting impression. So, I don't need someone good. I just need someone willing.

The goal will be to do some passing for an audience near the end of the month. I promise you'll have a blast. No. This is not a paid gig.

ps. Bonus if you look good in a sequined bikini! Oh no no.. That would be a magician's assistant instead of a juggling partner.

Wednesday, October 05, 2005

Mug shots

Just what did they look like?

Technical hurdle

Finally, my SME Server is working with RH Linux, Apache, Php, and MySQL. Which technically is a LAMP setup since acronyms seem to be all the rag today. Figuring out how to grant privileges on MySQL 3.23.x so that I could use SQLYog (SQL Query Analyzer for MySQL) from my PC was a pain but its working now. I look forward to upgrading to MySQL 4.1. Right now I just want to get back to coding.

Hiking in the woods

Molly says something lives here. About the size of my head

Seeking Juggling Partner

If you are in the Knoxville area and willing to commit to at least an hour's practice a week, I'm looking for a juggling partner. You don't have to "be good," just committed. (Interpret that as you may). I also have a juggling show near the end of this month that I'd like to entice someone to do some routines with me.

Oops. Server down?

Here's a good reason to never put passwords in source code. Apparently Yahoo's php server was down today. On the other hand, some commenting would be better than what is shown here. Next post: The ethics of posting other peoples code.

include 'Yahoo/Frontpage/Weather.php';

define('COOKIE_DOMAIN', '');
define('PIXEL_WIDTH', '145');

$linkviews = array();

function track_linkview ($link) {
global $linkviews;
array_push($linkviews, $link);

function log_linkviews () {
global $linkviews;
if (count($linkviews)) {
yahoo_track_page_params(array('link' => join("\002", $linkviews)));

function quote ($str) {
return preg_replace('/([\\\"\'])/', '\\\$1', $str);

function js_start () {
print "<script language=\"javascript\" type=\"text/javascript\">\n";
print "d=document;\n";
print "d.domain='';\n";
print "p=parent.document;\n";
print "lc=p.getElementById('lc');\n"; // weather content
print "ca=p.getElementById('ca');\n"; // change location link
print "cl=p.getElementById('cl');\n"; // change location
print "wt=p.getElementById('wt');\n"; // module title
print "wa=p.getElementById('wa');\n"; // alert
print "wg=p.getElementById('wg');\n"; // weather message

function js_end () {
print "</script>\n";

function js_set ($key, $value) {
return "$key=\"" . quote($value) . "\";\n";

function weather_result ($label, $url, $cond) {
$rd = $label == 'Today' ? 'r/w3' : 'r/w5';
$lo = $cond["lo"];
$hi = $cond["hi"];
$sky = $cond["sky"];
$fc = $cond["forecast"];
$result = "<a href=\"$rd/*$url\"><b>$label</b></a>";
$result .= "<img src=$sky alt=\"$fc\">";
$result .= "$fc<br>";
$result .= "hi <span class=hi>$hi°<span class=sc>F</span></span> - ";
$result .= "lo <span class=lo>$lo°<span class=sc>F</span></span>";
return $result;

function show_results ($city_state, $weather) {
$url = $weather->url;
$today = weather_result("Today", $url, $weather->today);
$tomorrow = weather_result("Tomorrow", $url, $weather->tomorrow);
$xfc =
"<span class=mr>" .
"<a href=\"r/w7/*$url\"><b>»</b> Extended Weather Forecast</a>" .

print js_set("wt.innerHTML",
htmlentities(fp_limit_location($city_state, PIXEL_WIDTH)));
print js_set("wt.href", "r/wt/*$url");
print js_set("", "inline");
print js_set("ca.className", "");
print js_set("lc.innerHTML",
"<div class=b>$today</div>" .
"<div class=b>$tomorrow</div>" .
//print "wt.focus();wt.blur();parent.clo=0;\n";
print "parent.clo=0;\n";

// U.S. location for local search, disabled
if (0 && preg_match('/\b\w{2}$/', $city_state)) {
print js_set("parent._wcs", $city_state);
print "if (p.sf1.csz) " . js_set("p.sf1.csz.value", $city_state);

yahoo_track_page_params(array("wrs" => $weather->id));

function show_error ($status) {
$code = "error";
if (!is_null($status)) {
$code .= ":$status";
print js_set("wa.innerHTML",
"<strong>Your search produced no matches.</strong><br>".
"Please re-enter a City or U.S. Zip Code:");
print js_set("", "none");
print js_set("", "block");
yahoo_track_page_params(array("wrs" => $code));

function show_picklist ($list) {
$ccc_file = "/home/y/share/htdocs/includes/weather/ccc2full.cdb";
$ccc_map = dba_open($ccc_file, "r-", "cdb");
$choices = "";
## re-order USA first
if (array_key_exists('USA', $list)) {
$newlist = array();
$newlist['USA'] = $list['USA'];
foreach ($list as $ccc => $region) {
$newlist[$ccc] = $region;
$list = $newlist;
foreach ($list as $ccc => $region) {
$country = $ccc;
if ($ccc_map !== FALSE &&
($full = dba_fetch($ccc, $ccc_map)) !== FALSE) {
$country = $full;
$choices .= "<div>$country</div>";
foreach ($region as $loc) {
list($id, $cs) = $loc;
$param = quote($id);
$choices .= "<a href=\"javascript:parent.zp('$param');\">$cs</a>";
if ($ccc_map !== FALSE) {
print js_set("wa.innerHTML",
"<span>" .
"<strong>Your search matched multiple cities.</strong><br>" .
"Please select the appropriate location below:" .
"</span>" .
"<span id=ls class=wil>" .
$choices .
print js_set("", "block");
print js_set("", "block");
yahoo_track_page_params(array("wrs" => "picklist"));

function retry_validate_location ($lm, $csz, $limit) {
$attempt = 0;

do {
if ($attempt) usleep(500000); // 0.5 seconds
$return = $lm->validatelocation($csz, 1);
} while ($return[0] == '-5' and $attempt < $limit);

if ($return[0] != 1 and $return[0] != -1 and $return[0] != -2) {
error_log("validatelocation($csz) failed: $return[0]");

return $return;

function find_location ($lm, $wtr, $csz) {
$attempts = 3;
$return = retry_validate_location($lm, $csz, $attempts);
$results = array();

if (($return[0] == -2 or $return[0] >= 0) &&
array_key_exists('geolist', $return)) {
foreach ($return['geolist'] as $location) {
if ($wtr->load($location)) {
array_push($results, $location);
else {
error_log("no weather data for: " . fp_city_state($location));

return $results;

function set_weather_cookie ($value) {
$expire = time() + 90 * 86400;
setcookie(WEATHER_COOKIE, $value, $expire, "/", COOKIE_DOMAIN, 0);

function clear_weather_cookie () {
setcookie(WEATHER_COOKIE, "", 0, "/", COOKIE_DOMAIN, 0);

## main ()

$v = $_GET;
$location = new yahoo_location_manager();
$weather = new YahooFrontpageWeather(array('pixel_width' => PIXEL_WIDTH));

## /yahoo/site/main/weather (non-frontpage traffic)
yahoo_track_page_params(array('PL' =>
yahoo_full_cookie('PL') === FALSE ? 0 : 1));

if (array_key_exists('test', $v)) {
$version = 'v' . yahoo_get_data(YIV_GET, 'test');
yahoo_track_page_params(array('test' => $version));

if (array_key_exists('wl', $v)) {
$pixel = '';
$wlocid = yahoo_get_data(YIV_GET, 'wl');

if ($weather->load($wlocid)) {

header("Location: $pixel");
else if (array_key_exists('p', $v) and
(($csz =
yahoo_get_data(YIV_GET, 'p', YIV_FILTER_UNSAFE_RAW)) != '')) {
$results = find_location($location, $weather, $csz);

## invalid location
if (count($results) == 0) {
if ($csz == 'delete') {
// clear weather cookie
if (yahoo_full_cookie(WEATHER_COOKIE) !== FALSE) {
// clear location manager cookie
if (yahoo_full_cookie('PL') != FALSE) {
setcookie('PL', '', 0, '/', "");
## single result
else if (count($results) == 1) {
$loc = $results[0];
$cs = fp_city_state($loc);
$id = $loc['uniqueId'];

if ($weather->load($loc)) {
if (array_key_exists('sv', $v) && $v['sv'] == 'on') {
// clear weather cookie
if (yahoo_full_cookie(WEATHER_COOKIE) !== FALSE) {

// clear PL older cookie scoped on
if (yahoo_cookie_part('PL', 'V') == '1.0') {
setcookie('PL', '', 0, '/', COOKIE_DOMAIN);

$return = $location->setLocation($id, "weather", 1);
if ($return[0] != 1) {
error_log("setLocation($id) failed: $return[0]");

yahoo_track_page_params(array('wsv' => 1));

if ($cs == '') {
$cs = $weather->location;

show_results($cs, $weather);
else {
## pick list
else {
$list = array();

// group by country
foreach ($results as $loc) {
$cs = fp_city_state($loc);
$id = $loc['uniqueId'];
$ccc = $loc['country'];
$item = array($id, $cs);

if (array_key_exists($ccc, $list)) {
array_push($list[$ccc], $item);
else {
$list[$ccc] = array($item);

if (count($list) == 0) {
else {
## initial pageview
else {
$loc = fp_get_weather_location();

if ($loc !== FALSE) {
$cs = fp_city_state($loc);

if ($weather->load($loc)) {
if ($cs == '') {
$cs = $weather->location;
show_results($cs, $weather);




Oh I want the luxury of exercise!

New Orleans Buses On The Move

For those still following the New Orleans flooding, here is some interesting photographic evidence along with explanation of buses evacuating people.

Tuesday, October 04, 2005

Ipod Nano 200gb Upgrade - DIY

For you Ipod enthusiasts that just want more space, instructions are now online to explain how to upgrade your Ipod Nano to 200gb for 150,000 minutes of music! If you don't read all the instructions at least scroll to the very bottom for the results.

Customer service day. Client two happy

Customer satisfaction day. Client meeting one done

Children Make Us Better Adults

A simple request, "Dad, would you read me the book Granddaddy got me?" during a heated, high pressure deadline reminds us that sometimes a break makes us more productive. Taking a few minutes with children instead of replying, "not now. I'm busy." makes us feel good where as putting them off gives us guilt. Remember, a toddler and even older children do not understand the concept of "later" and particularly "I'm busy." They don't care. They want you to be busy with them.

Reading Amy's story took less time than writing this post. She enjoyed the time and at the end of the story went on happily to other things. I love it!

Studies are even showing that napping (taking a short break) during the day helps make us as much as 30% more productive.

Liberty Wellness Tip: Well-rested employees create happier & more productive workplaces.

My Blades are gone!

Blades is a concept SME Server (mitel e-smith) uses to allow easy additions of upgrades or software to the server. It is very much like Windows Update. I found this note on SME Server 5.6 release notes:


* The Blades web panel has been removed from the server manager as we have chosen to focus all blades-related development on our commercially supported products. Updates to this developer release will continue to be made available as downloadable RPMs as they were prior to the introduction of the blades interface. Commercial customers will continue to be able to download both updates and additional applications as software blades..

Got Woot?

Good Woot today! Sold out in 39 minutes profitting Woot $23,992. Wouldn't that be nice?!

Today's item quantity: 800
Last Order time: 12:39 AM Central Time
Woot Member to blame: jaykid007
Order Pace: 0m 3.317s
Woot Wage: $36,160.11 an hour

Linux Server Up!

It took all stinkin' day. Brought me bear the point of tears. But I got version 6.01 of e-smith server (now SME Server) installed and running. Normally this would take less than 2 hours but I was having hardware issues. What a pain!

It set me unbelieveablly behind in my work but conceptually this greatly speed up my development efforts.

Point of interest. The linux server which I do all my php development (the one with the harddrive that is finally dying) only has 40MB ram, a 1.6gb harddrive and is lightning fast! The new server, a 10gb harddrive and 64MB ram. I don't know the processor on either offhand but they are vintage.

Monday, October 03, 2005

Accident in front of red cross office

Nothing in this town before 10 am!

Thank you Comcast! Gimme more!

332 KB/s! I thought we were supposed to be doing better than that but I'm not complaining. I recall the days of 4KB/s all too well.

Today's first task: build a new linux development server. Somehow work on two clients at once all day.

Sunday, October 02, 2005

From the mouths of babes

Amy (3): I'm ready for my noodles (lasagna) now and I promise not to throw them.

Juggling Skills Put To Test


Great visit with the folks. Much conversation and many good eats were had by all. The kids were on exceptional behavior! The dog was obnoxious.

Dismantled a Dell Inspiron 700m and cleaned coffee from its innards. That's a well built machine! Returned cleaned machine to client.

Went to Bilo and was an embarassment to my wife.

Time to cook dinner.

Juggling Skills Put To Test

Act X - Clean self

Performance over. Guests arriving.

Juggling Skills Put To Test

Encore complete.

Next performance: clean self.

On the playbook but with possible cancellations: bathe the dogs, rake the yard, clean up the driveway, cut the grass (implies preshow of fix the mower), clean all surfaces in the house, post the lottery results.

Juggling Skills Put To Test

Act IX - Hardwoods in Living Room and Dining Room

Entailed brewing coffee. Walking the dog. Eatting breakfast. Changing a dirty diaper. So blog reading.

Encore: Hallway and bedrooms hardwoods.

Next act: Clean self.

Juggling Skills Put To Test

Next performance - clean hardwood floors

Juggling Skills Put To Test

Act VIII - Quality Time with Tommy / Dungeons and Dragons

The evening went relatively well. Tommy started out behind mindful but by the end of the night was talking non-stop.

Next: Intermission

Saturday, October 01, 2005

Juggling Skills Put To Test

Act VI - Hard woods


Act VII - Quality Time with Evan and dinner prep

Next performance - Dungeons and Dragons/Quality Time with Tommy

Juggling Skills Put To Test

Act V

Noah and spent a great deal of time together making progress on his Smithsonian Motor-Works engine Pop gave him for his birthday. Much fun was had and I practiced (with limited success) not being too gruff and terse with Noah.

Next act - Clean hardwood floors in dining room and living room.

Book marks I've wanted to post

These have been hanging around in an open window for weeks!
Open Source Web Design
ColdFusion 101: Config Files A-Go-Go
Ajax: A New Approach to Web Applications

I have comments on each of these but those are for another lifetime.

Teach Programming without a Computer!

Here's a board game called c-jump using snowboarding as a metaphor for programming and teaches programming logic through the game. Based on a real program. Bet I could find errors in the program!


It's true! Our beloved Mahnamahna song from Sesame Street that has recently been repopularized in a Dr. Pepper commercial was originally written for a porn movie. Wikipedia tells the whole story!

Google SMS

I tried Google SMS from IHOP the other day and was only met with frustration. Perhaps I need to learn how to use it first.

Windows XP Themes

This Windows XP Theme looks great but I can't see spending $8.95 for a theme! Perhaps if I wasn't stimatized into thinking the theme would mess up the OS.

Juggling Skills Put To Test

Act IV - Sec Master HDD Error

Turns out this referred to the 10GB IDE harddrive that had been removed from the system but was still listed in the BIOS. Correcting the boot order to make sure that SCSI was a boot device and redecting the harddrives to remove the reference to the 10GB HD corrected the error. Once the IDE harddrive was returned to the system it would not boot. Moving the ide harddrive to the slave position with one of the CDROMs as master allowed the system to boot. I've had my friend's computer for 4 weeks and feel terribly guilty. I am thankful that it will be returned tonight.

Next Act - Quality Time with Noah

I now understand why you should spend more than $25 on a toaster...

 Posted by Picasa

I opened the front door the other morning to see a St. Andrews Cross hanging in front of me. This guy to the tips of his legs is about the size of a silver dollar!

We also have some Orb-Weaving Spiders about.

 Posted by Picasa

Juggling Skills Put To Test

Act III - Bathroom Floors

The bathroom floors have been cleaned. This involved removing all non-permanent objects (trashcan, toilet brush, step stool, baby bath, etc.) and sweeping then mopping. Side acts included making lunch for Amy, helping Noah identify spider webs and spiders, drilling a hole in the floor, staring at closet and deciding future design, scaring prospective renters with the dog, and fetching diapers.

 Posted by Picasa

Next Act - Solving "Sec Master HDD Error" on bootup of a system with SCSI drives.

Juggling Skills Put To Test

Act II - Website Updates

Terms of Serviced added to a registration page complete with javascript to disable submitting the form until the TOS had been marked agreed. Addition of information into confirmation email. Changing a background color on a particular page. Creating a form that submits to mail server. Side acts included some blogging and phone conversation.

Next act - Clean bathroom floor

Juggling Skills Put To Test

Act I - Kitchen Floors

Performance included removing non permanent objects like trash cans from kitchen. Trash was emptied from kitchen trash can and bathroom trash can and diaper pail while burning my first fried egg. Dog walked while taking trash out. Trash cans sanitized. Lottery results posted. 2nd egg put in frying pan. Kitchen floors swept. Dog walked while mop pail and bucket are retrieved and filled. After little progress noticed on fried egg, burner turned on. Floors mopped. Egg eatten.

Next Act - Brief updates to website

Juggling Skills Put To Test

Today is going to be a bizarrely stressful day of balancing work, cleaning, and attention to the kids. I could easily spend all day simply cleaning. I could easily spend all day trying to clear some backed issues off my plate. The stress my wife will take upon herself at the thought of a surprise visit from my folks and their friends will undoubtedly bring us both to the breaking point multiple times today.

I begin today's show with the kitchen floors...