No Serenade, No Fire Brigade, Just Pyromania

 
Air quality is bad

Air quality and visibility were much worse today than yesterday. I don’t know if the winds shifted or if it just takes a day or so for all the ashes and soot to fall back to earth.

 

Proving that there’s a positive side to everything, the Santa Ana winds that have fanned these fires around Southern California also knocked down half the trees in our community, which will now have to be removed and replaced, so if you’re in the landscaping service business, this is a good time for you.

 
Fire in Foothill Ranch
“Honey! Call Farmers and get a quote on
homeowners insurance – stat!”

My wife is in the insurance business. She’s received several calls over the past few days from people wanting to buy a homeowners policy. Ordinarily, she’d be happy to sell them one . . . the problem is that the houses are in zip codes that are currently on fire, and her company has suspended sales of homeowners insurance in those areas.

Here’s a tip, folks: The time to buy insurance is before your house is on fire.

A Lesson in Leadership

 

I took the dog for a walk this morning before dropping my son off at school . . . in theory, the dog is “his” dog, but in practice, I wind up doing most of the work.

As we got back from the walk, the boy was standing outside yelling, “Let’s go! We’re late!”

“Okay, Mr. Doesn’t-Do-Any-Work-While-Barking-Out-Orders-To-Others,” I said.

“That’s what leadership’s all about,” he said.

Fire Update

 

As of this afternoon, the fires had shifted and were no longer considered a significant threat to Irvine homes.

Here’s a map of the areas affected so far. The fire started — or I should say “was started,” since it’s now believed to be an arson fire — in the area bounded by the top of the map, the 261 to the west, the 241 to the east, and Portola Parkway to the south.

Firefighters were able to stop the fire from crossing Portola, but it continued to burn east and is now bearing down on Foothill Ranch, the residential area in the lower right corner of the map . . .

Setting the World on Fire

 

Wildfires are burning all over Southern California, including one here in Irvine:

Fire map

What they’re saying on the TV news is that firefighters are planning to make a stand at Portola Parkway and stop the fire there, which is good news because we live south of Portola. About 100 feet south, but it’s better than nothing.

Here are some blurry photos from our patio:

Fire: View 1

Fire: View 2

Fire: View 3

In Fair Verona

 
Verona cookies

My son and I are in the kitchen looking for something to eat. He finds a bag of Pepperidge Farm Verona cookies (I prefer the Raspberry Milanos myself), holds the bag up to my face, and says

In fair Verona, where we lay our scene,
Where civil blood makes civil hands unclean
Two hours traffic on our stage blah blah blah

Then he eats the cookies.

So who says Shakespeare has no relevance for the modern student?

More School Choice

 
Cleveland police officer

And if you want your kid to know what to do when the principal says “Code Blue” over the intercom, move to Cleveland:

Students said they took cover in closets after the school principal announced a “Code Blue” on the intercom.

I just asked my own high school-age son if he knows what “Code Blue” means and he doesn’t know. In a health care setting, it means cardiac arrest, or more generically, imminent loss of life. So the day your kid comes home and tells you he learned what to do when the principal says “Code Blue” over the intercom is a good day to start looking for a new school.

School Choice

 

Another gem from the freshman football mailing list . . .

Of the four high schools here in Irvine, only one — Irvine High — has a stadium on campus. There’s a movement afoot, led by local attorney and parent Emmett Raitt, to build a second stadium.

Football stadium

Here’s an excerpt from Emmett’s email suggesting that parents write to the school board about this matter:

The reasons a second stadium are needed include the elimination of Thursday night games, which lowers student attendance at games; it will ease the overcrowding of the Irvine Stadium facility (and particularly the snack bar, a personal favorite of mine); and it will allow all schools to use District facilities for their graduations, which they do not now do.

Hmmm . . . I can’t see how increasing student attendance is going to ease overcrowding, nor do I think the fact that some local fatso thinks there are too many people ahead of him in the snack bar line justifies spending $10 million on a new stadium.

Now here’s the follow-up email that came out from Rick Curtis, the varsity football coach at my son’s school, Northwood High:

I just read where the Huntington Beach district is putting in 2 new stadiums at Huntington Beach HS (8.5 million) and at Westminster (7.5 million). All Capo Valley Unified high schools have stadiums and each have field turf and all weather tracks at their schools.

All Saddleback Valley high schools have stadiums, except El Toro High School. Each high school also has field turf and all weather tracks at their schools (including El Toro High School).

We need to get to the school board meetings and we need to get organized. . . . These are the people that we are competing against and we are way behind in providing state of the art facilities for our student athletes.

All the districts that he mentions in the email are good academically, but they’re not in the same class as the Irvine district, which is the crème de la crème.

So here’s a no-cost solution:

  • If you want your kid to get a top-notch education, live in Irvine.
  • If you want a quick hot dog while your kid runs around on field turf, move to Saddleback Valley.
  • If you want a quick hot dog in a brand new stadium, move to Huntington Beach.
  • If you want a quick hot dog and corrupt administrators (allegedly), move to Capo Valley.

Problem solved!

Pug Photos from Pugtoberfest and Flickr

 

Pugs ‘N Pals holds an annual Pugtoberfest in Costa Mesa, a fun-filled day of costume contests and pug games.

Here are some links to photos and a video from this year’s event:

More recent pug photos from Flickr

Olivia the Pug

Originally uploaded by Up Late Cakes.

Oscar

Originally uploaded by ljc@flickr.

And finally . . .

A great Flickr set of pug photos.

Gore Wins Nobel Prize, High Court Gives It to Bush

 

Although former Vice President Al Gore won the Nobel Peace Prize this week for his work as a global-warming performance artist, the U.S. Supreme Court ruled early today that President George Bush would receive the gold medal, the diploma and the $750,000.

Offshoring: What Can Go Wrong?

 

You might wonder whether the Linux operating system provides evidence that offshoring can pay off. I had often wondered about this point myself, so I put the question to Linus Torvalds, founder of the Linux project. Torvalds replied that the two models of software development aren’t comparable:

I don’t think the Linux model works for offshoring in the commercial sense, or really ends up even being very relevant. The problem ends up being communication and the mental model pretty inherent in offshoring.

My belief is that when you say “offshoring,” you very much mean “control the project on one shore, work on the other.” That is, the implication of the offshore work being “subservient” is very much there in the notion of offshoring.

In contrast, the Linux model (and open-source in general) is that there’s no one-sided control, and that when work gets done overseas, it gets done because it makes sense to them, not to “us.” There’s no control of one end over the other–both shores do what they want to do. The fact that makes it all work out is that, in the end, everybody tends to have somewhat overlapping goals.

— Norman Matloff, “Offshoring: What Can Go Wrong?,” IT Professional, vol. 07, no. 4, pp. 39-45, Jul/Aug, 2005

Getting to Know You

 

My son’s just diagnosed and fixed a problem with my wife’s laptop PC . . .

“I should join the Northwood [his high school] Tech Squad,” he says, “with all the guys who tuck their shirts in.”

The King and I

“That reminds me,” my wife says to him. “What clubs are you in at school?”

“What clubs am I in?” he says. “How about none?”

“You need to be in a club,” she says.

I say, “He’s in football and roller hockey.”

“He can be in those,” she says, “but he still needs to be in a club so he can get to know people.”

For some reason, this launches the boy into a Rodgers and Hammerstein tune . . .

“Getting to knooooow yooooou . . .”

“Can you look it up,” my wife says, “and see what clubs they have at Northwood?”

“No,” I say. “I’m busy.” Which I am.

“When can you do it?” she says.

“Why can’t you do it?”

“I need it by tomorrow.”

The boy’s now coming to the end of the stanza . . .

“. . . my cup of tea.”

How he knows that song so well, I have no idea, but maybe there’s a musical theater club we can get him into . . .

Slaves of Things

 

I adjure you by the gods, cease to admire material things, cease to make yourselves slaves, first of things, and next, for their sake, of men who can acquire them or take them away.

EPICTETUS, Discourses, Book III, Ch. 20

When we moved recently, having to pick up everything we own and transport it from Point A to Point B confirmed something I’d long suspected, which is that we’ve accumulated way too much junk and clutter in our lives.

And if I were to walk away from here with nothing but the clothes I’m wearing, how much of it would I really miss?

Answer: Not much.

EppsNet Labs: VoiceXML RSS Reader

 

The Big Picture

We’re going to build application that takes RSS data — specifically the EppsNet.com feed — as input, and outputs a VXML file that can be read and spoken by a VoiceXML browser.

The RSS Source Format

The general structure of the EppsNet feed — or any RSS 2.0 feed — looks like this:

<?xml version="1.0" encoding="UTF-8"?>
<!-- generator="wordpress/2.2.2" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>

  <channel>
    <title>EppsNet: Notes from the Golden Orange</title>
    <link>https://eppsnet.com</link>
    <description>Online journal based in Orange County, CA. 
        Hilarious anecdotes tempered by the icy chill of certain 
        death.</description>
    <pubDate>Fri, 05 Oct 2007 03:51:21 +0000</pubDate>
    <generator>http://wordpress.org/?v=2.2.2</generator>
    <language>en</language>
    <item>
      ...
    </item>
    <item>
      ...
    </item>
      ...
  </channel>
</rss>

Each item within the RSS feed has a format that looks (slightly simplified) like this:

    <item>
      <title>Post Title</title>
      <link>https://eppsnet.com/2007/10/post-title</link>
      <pubDate>Fri, 05 Oct 2007 03:51:21 +0000</pubDate>
      <dc:creator>PE</dc:creator>

      <category><!&#91;CDATA&#91;Category1&#93;&#93;></category>

      <category><!&#91;CDATA&#91;Category2&#93;&#93;></category>

      <description>
        <!&#91;CDATA&#91;
        Item summary
        &#93;&#93;>
      </description>
      <content:encoded>
        <!&#91;CDATA&#91;
        Full item content
        &#93;&#93;>
      </content:encoded>
    </item>

VXML Output

Consult the VoiceXML 2.1 specification for more details, but the output we want will look like this:

<?xml version="1.0" encoding="utf-8" ?>
<vxml version="2.1">
  <form id="MainMenu">
    <field name="select_num" type="digits">
      <prompt>
        EppsNet: Notes from the Golden Orange
        <break size="small"/>
      </prompt>
      <prompt>Please select a story from the following list.</prompt>
      <prompt>
        1: Post Title 1
        <break size="small"/>
      </prompt>
      ...
      <prompt>
        5: Post Title 5
        <break size="small"/>
      </prompt>
      <noinput>
        Please select a number.
        <reprompt/>
      </noinput>
      <nomatch>
        Please select a valid number.
        <reprompt/>
      </nomatch>
    </field>
    <filled>
      <assign name="selection" expr="select_num"/>
      <if cond="selection =='1'">
        <prompt>
          Post Title 1. Post summary goes here [...]
          <break size="small"/>
        </prompt>
        ...
        <elseif cond="selection =='5'"/>
        <prompt>
          Post Title 5. Post summary goes here [...]
          <break size="small"/>
        </prompt>
      </if>
      <clear namelist="select_num"/>
      <reprompt/>
    </filled>
  </form>
</vxml>

What this will do when processed by a VoiceXML browser is:

  1. Say the title of the RSS feed.
  2. Offer the listener a numbered list of post titles to select from.
  3. Parse the user’s selection, by either voice or touch-tone input.
  4. Read out the selected post summary.
  5. Clear the input variable and offer the opportunity to select another item.

Generating VoiceXML from RSS

Because this is a WordPress site, we’re going to use PHP for the task of converting RSS input to VXML output. To simplify the task of parsing the input, we’ll use MagpieRSS, an RSS parser written in PHP.

The main loop in the code below processes up to 5 RSS items and simultaneously builds up two strings, one for the selection prompts and one for the item details.

<?php
/* We need this for MagpieRSS */
require_once 'rss_fetch.inc';

/* Read the RSS feed */
$url = 'https://eppsnet.com/feed';
$feed = fetch_rss($url);

$selection = '';
$detail = '';
$counter = 0;

$selection .= '<form id="MainMenu">';
$selection .= '<field name="select_num" type="digits">';
$selection .= '<prompt>';
$selection .= $feed->channel['title'] . '<break size="small"/>';
$selection .= '</prompt>';
$selection .= '<prompt>';
$selection .= 'Please select a story from the following list.';
$selection .= '</prompt>';

foreach ($feed->items as $item ) {
    /* Limit output to 5 items */
    if ($counter++ >= 5)
        break;

    if ($counter == 1)
    {
        $detail .= '<filled>';
        $detail .= '<assign name="selection" expr="select_num"/>';
        $detail .= "<if cond=\"selection =='$counter'\">";
    }
    else
    {
        $detail .= "<elseif cond=\"selection =='$counter'\"/>";
    }
    $detail .= sprintf('<prompt>%s. %s<break size="small"/></prompt>',
$item[title],$item[description]);

    $selection .= sprintf('<prompt>%d: %s<break size="small"/></prompt>',
$counter,$item[title]);
}

$selection .= '<noinput>Please select a number. 
                              <reprompt/></noinput>';
$selection .= '<nomatch>Please select a valid number. 
                              <reprompt/></nomatch>';
$selection .= '</field>';

$detail .= '</if>';
$detail .= '<clear namelist="select_num"/><reprompt/>';
$detail .= '</filled></form>';

/* Output the VXML */
echo '<vxml version="2.1">';
echo $selection;
echo $detail;
echo '</vxml>';
?>

Try It

I put the PHP script at https://eppsnet.com/lab/vxml but the output is not very interesting in a regular browser. Fortunately, Voxeo offers a free service that maps voice applications to phone numbers. You give them the URL of your voice app and they’ll point a phone number to it.

So — if you pick up the phone, call 800-289-5570 and enter PIN 9992002320, the Voxeo application will fetch the VXML output from our PHP script and read selected excerpts from the EppsNet feed to you over the phone.

Try it!

Limitations

The VXML output doesn’t contain the entire contents of each post, just the truncated version from the RSS <description> field. I tried using the <content:encoded> field instead but some markup constructs choked the Voxeo application. I think I could get it to work if I spent enough time on it, but for now, I’ve decided to leave it as an exercise for the reader.

Be Prepared, but Don’t Overdo It

 

Since I’m currently unemployed, my friend GL asked me to write something about the job interview process. The problem is, there’s already so much written about the job interview process, it’s hard to think of anything to add.

Which brings me to my point: It’s easy to overprepare for interviews.

Best Answers to the 201 Most Frequently Asked Interview Questions

For example, we have a book here that my wife bought called Best Answers to the 201 Most Frequently Asked Interview Questions.

Two problems:

  1. Who has time to prepare answers for 201 interview questions?
  2. What if the interviewer asks a question that’s not on the list? Where is your God now?

But wait! It gets worse! If you go to Amazon and look up this book, you’ll find a list of similar titles like

Clearly this notion of preparing answers to all possible interview questions in advance quickly reaches a point of diminishing returns.

Here’s what I’d suggest instead: Write up a list of the key points you want to make about yourself in the interview, the unique contributions you’ll make to the job and the company. Brush up on a few stories that show you at your best in the workplace.

Then — no matter what the interviewer asks — respond with your points and stories. We’re in the midst of a political season, so it’s easy to observe this technique in action. Politicians are not out there to think up answers to every stupid question someone throws at them. They have a list of points they want to make. So do you!

This list is mostly for your own reference, but you may want to go ahead and put together a nicely formatted version, print out a few copies and bring them to the interview. That way, if the interviewer asks — and they often do — “What makes you the best person for the job?,” you hand them a copy of your list.

Bonus: Most of what’s said in an interview is quickly forgotten. What remains is a general impression and of course — documents!

Related Links

An Open Letter to My Former Employer

 
Guillotine

No hard feelings, but I’m looking at the company president’s new employment agreement on EDGAR . . . the stock’s down 50 percent, the bond rating’s been lowered to junk, you laid off 400 people end of July and announced plans to lay off 1,000 more, and yet shareholders will still be paying for a really fabulous set of benefits for this lout: luxury automobiles, first-class air travel, $35,000 a year for financial planning services, and not one, but two, country club memberships.

The rest of the peasants — er, employees — have to pay for their own cars, green fees, financial planners, etc., which is even tougher when you’ve been laid off thanks to my man’s (lack of) stewardship at the mortgage bank.

Let them eat cake!

I challenge you post a link to the employment agreement on the company web site and see if he isn’t guillotined within the fortnight.

This Week in Sports Parents Must Die

 

My son’s playing freshman football, pursuant to which I received the following email (names changed):

Fellow Freshman parents,

Zelda and I are disappointed with the poor quality of the duffle bags the boys purchased at the start of the season. Rocko’s bag is already ripping and the zippers are becoming non-functional. As a result, we intend to buy him a much higher quality, replacement bag made out of extra heavy duty material from a Montana vendor. My firm has purchased customized travel bags from this vendor before, and our clients/employees love them. We also intend to have the bag (which will be slightly larger to accommodate a football helmet) embroidered with the T-Wolf logo and his name. This is what the bag looks like, sans logo:

High quality duffel bag

If ten or more families decide to buy such replacement bags, the cost will be $285 each plus tax and the cost of name embroidery (I don’t think the latter will amount to much, but I’m looking into it). If the order is for less than ten units, then there will be a modest charge for logo. Two families in addition to our has already asked to be included them in this order. You can visit the vendor’s website at http://www.redoxx.com/.

Please let me know as soon as conveniently possible (i.e., by the game this Saturday) if you would like to be included in the order. If so, kindly also respond back with the spelling of your son’s name to be embroidered on his bag.

Thanks.

Go Wolves, Beat University!

Scott and Zelda Fitzgerald

In short, if you are experiencing similar problems, this would be a high quality replacement that should last for some time.

 

Yeah sure, I’m definitely up for spending $300 for a bag my son can stuff his football uniform into, particularly if your “firm” has a track record with the company.

I sent the following response:

I’ve never seen a decent bag for only $285. I’ve been looking at this one from On the Fly:

Alligator leather bag

It’s a little pricey (around $12,000) but it’s made of black alligator leather and if you’re concerned about durability, it will withstand a charging rhino.

Don’t ask me how I know that.

Best regards,

Captain Jeffrey T. Spaulding

 

I didn’t hear back from the original emailer, but I did get a response from a philanthropic but somewhat dim individual:

I hope that was a joke. If not I think you are getting carried away about a bag that the boys are going to drag around through the mud. If you have that much money to throw away maybe you should donate it to children who can’t afford equipment to even play sports.

Just a thought…

 

Oh dear, I guess I was a little too subtle . . .