Blog Update

I’ve had it on my calendar for years to update this site. It hasn’t happened in the past because I’ve modified the theme so heavily that I knew it would take a long time to cleanup. This week I have started the process. Over the next week or two things are going to change. Read more »

Is Three the New Two?

Since it took so long for us to become parents the first time, we had to realize it may never happen for us. Then shortly after our first son was born we found out that Rachel was pregnant with our second son. This lead us down the path of determining what the size of our family should be. We decided that three children would be the correct size for our family. Which we’ve recently achieved with the birth of our third son. We have recently noticed the trend with our friends was to have more than two children also. Read more »

The Hidden Cost of Home Entertainment

At Christmas time we considered buying a new Blue Ray player. Last week we decided to get a Tivo. In recent years these devices have come down in price to what I consider reasonable.

Things like these have all kinds of hidden cost, but here is one you might not think about. Most modern equipment needs an internet connection to function properly. What many people may not know is that lots of Blue Ray players and DVRs do not come with built in WIFI. You could wire you house for Ethernet to get these online, but who really wants to do that? That means you have to buy a proprietary USB network adapter. An adapter you can only get from the manufacturer. These adapters usually run between $50 and $80 dollars.

If you do consider getting one of these "Home Entertainment" devices just make sure you know how it connects to the internet and if you will need one of these adapters.

The Price of Unrealistic Expectations

About 10 years ago all our friends were getting married. Five years ago they were all having kids. Now, many them are getting divorced. Rachel and I have noticed with this trend that it is the women in the relationship who are unhappy and looking to get out. We’ve mused on the cause of this and how do we improve the sanctity of marriage again. In these musings, We’ve come to the conclusion that in many of these cases, the root cause of the problem is unrealistic expectations. Expectations of what a man is, what a marriage is about, and what women are really looking for.

Apparently two-thirds of all divorces are initiated by women. With that fact and our musings about divorce I wanted to ask these questions: What shifts in society need to occur so that women are happy in marriage? What can be done to help combat the Twilight Effect, Princess Syndrome, and Unrealistic Marriage Expectations?

In an aside. While researching this post I thought I coined a new term "Princess Syndrome". A quick search proved me wrong though.

JavaScript Singletons in Firefox Add-ons

Occasionally when developing add-ons for Firefox, you want your JavaScript to only run once for the lifetime of the application. Normally, you would place your code in a browser overlay, but this causes the code to run every time a new window is opened. There are several ways to get around this. You could write an XPCOM service or use a JavaScript module. These are both valid methods and work very well if your code is Firefox specific. However, if you are also writing your add-on for Chrome, you might want the code to be able to run in both places. Here is a nice little hack that uses the hidden window so that you can run your Chrome background page within an iframe in Firefox.


  function getBackgroundPage(id, src) {

    // get the firefox hidden window
    var win = Components.classes["@mozilla.org/appshell/appShellService;1"].
                   getService(Components.interfaces.nsIAppShellService).
                   hiddenDOMWindow;

    // if the iframe was previously loaded store it and callback
    var iframe = win.document.getElementsById(id);
    if (iframe)
      return iframe.contentWindow;

    // create the iframe
    iframe = win.document.createElement("iframe");
    iframe.setAttribute("id", id);
    iframe.setAttribute("style", "display:none;");

    // load the source
    iframe.setAttribute("src", src);
    win.document.documentElement.appendChild(iframe);

    // return the content window
    return iframe.contentWindow;

Now you can access your background page by including the script in your overlay and doing:

  var bgp = getBackgroundPage("id for background page", "url of the background page");

2009 Year in Review

I know I’m a little late getting this out, but I thought I would put together a “Holiday Letter”/”Year in Review” for my family.

This was big year for the family. Back in May we found out we were going to have another child. In August we found out we were having a boy and at the end of December Jackson was born. Both Noah and Wyatt are loving being big brothers. Noah turned four this year and started preschool. He goes three afternoons a week and he is really loving it. Wyatt is also enjoying every minute of his brother being gone. He turned three this year and is getting very big. Rachel continues to become more involved in the community. Along with her deaconess duties, she has also become a member of the Warren County Child Abuse Prevention Council. This year was my fifteen year high school reunion. Planning was much smoother than the ten year reunion and we had a pretty successful turn out.

Even with the recent layoff announcements by AOL, I am still gainfully employed with them and really enjoying my work. KwiClick development continues to go well and has gotten quite a bit of good press recently. Although Forecastfox has slipped slightly in it’s ranking on Firefox, we were able to rewrite the code from scratch this year and get a version out for Chrome (which has been very warmly received). This new code base should allow us to iterate faster and get versions out for Firefox, Fennec, and others. I started the company Web Tech Studios this year to cover the contract work I do. To celebrate the creation of the company I created the "Near Me" add-on and entered it into the Extend Mobile Firefox contest. It was chosen as one of the winners and I received a Nokia N900 as the prize.

Now with three sons and lots of work to do, 2010 looks like it’s going to be a very exhausting happy year.

Web Tech Studios

After much trial and error the website for my company “Web Tech Studios” is now live. Please, look it over and let me know what you think. You can also follow me on twitter @webtechstudios.

The Muppets: Ringing of the Bells


Absolutely hilarious.

Diamond in the HTML “Rough”

KwiClick Search CloversFor the latest version of KwiClick we introduced a feature called search clovers. When you highlight a word on a page, a single diamond shaped “clover” appears. When you hover over the diamond, 3 more diamonds appear creating a 4 leaf clover configuration. To create these diamonds we use two html tags, an img surrounded by a div. Clover OverlapIn Firefox versions prior to 3.5 we used a background image on the div to create the look of a the diamond. The corners of the images overlapped each other causing problems when a user tried to hover or click on one of them.

With Firefox 3.5 we were able to fix this by creating the diamond using only html and some specialized css tags. Using the tags: -moz-transform, -moz-border-radius, and -moz-box-shadow we rotate the div 45 degrees and add a shadow to them.

  display: inline-block !important;
  border: 2px solid #494949 !important;
  background: none !important;
  background-color: white !important;
  -moz-transform: rotate(45deg) !important;
  -moz-border-radius: 4px !important;
  -moz-box-shadow: grey 2px 2px 2px !important;

This also rotates the content within the div. To fix that we rotate the image back 45 degrees.

  -moz-transform: rotate(-45deg) !important;

And viola, a diamond with all the html event goodness, made with only html and css. Safari and Chrome support these transforms with -webkit-transform so this same effect can be used there.

My Mom’s on Facebook

Although my mom isn’t yet on Facebook, there are enough other relatives that it makes this video hilarious. It’s not like my posts were exactly R rated before, but you do really have to think about who you are friends with before you make a post.

This is dedicated to my recent post :)

Next Page »