CCK Wizard for Firefox 5

I've updated the CCK Wizard for Firefox 5 and placed it here.

The main change is that you can now explicitly specify the Firefox min and maxVersion when you create your XPI. It defaults to * for maxVersion so it will work on all future versions of Firefox.

Better Firefox Add-on Versioning

So I've been thinking about add-on versioning for Firefox going forward and I'm starting to think that maybe it's being done backwards.

Right now we have to change either our add-on, an updateURL or AMO every time a new Firefox is released (every 6 weeks). Wouldn't it make more sense to mark an add-on as compatible with every future version of Firefox (maxVersion of *)? Then you'd only need to do anything if you realize your add-on is NOT compatible, not change something for every version of Firefox...


Don't Second Guess Your Life Redux

It's been exactly one month since I shut down my blog and dropped Twitter and Facebook. While it has been kind of peaceful in that month, I realized that I was effectively punishing myself for something that I didn't do. So I'm bringing everything back as it was before, although some posts will remain removed.

The impetus of this decision was my preparation for the message I delivered at church today, Don't Second Guess Your Life. Feel free to give it a listen. Here's the summary:

  • Don’t spend too much time looking back
  • Don’t worry about what other people will think
  • Don’t be afraid to make a mid-course correction
  • Don’t underestimate the impact of one person
  • Don’t overestimate the effect of one decision
  • Don’t keep making the same mistakes
  • Don’t just make good decisions, make wise decisions

Also, in case it hasn't been clear, we moved the family back to Texas. There's more information about that in the message.

We're glad to be home.

Social Media Shutdown

Immediacy and reach.

When it comes to things like unrest in Egypt or tsunamis in Japan immediacy is incredibly important. We want to know what's happening and we want to know it now. And reach means that everyone in the world gets to hear and see what's going on.

But when it comes to our personal lives, maybe immediacy and reach isn't all it's cracked up to be.

All of us have moments where we have the impulse to say something that probably isn't the wisest decision. With the advent of the internet, blogging and social media, we are all given a platform from which to say these things. Immediacy means that we can say things quickly (usually without much thinking) and reach means that everyone can see it (whether we want them to or not). People have created entire sites based on this concept like Failbook. When you combine the immediacy and reach with the permanence of the internet, you have a recipe for failure. For that you have to look no further than FAILBlog.

My personality is such that when I have an opinion, I want to tell everyone. That's not necessarily a good thing. Besides my post this week, I've posted some pretty inflammatory things that I've regretted later. One of my goals this year was to be more less negative, and having a platform where I can easily post my negative opinions simply doesn't work for me. It's too easy. I know you're thinking I should just have some self-control, but it's not just about that.

I don't want the platform. And I want back the time that I waste interacting with platform.

So I'm swearing off social media for a while.

Not only am I stopping this blog, but I'm going to stop subscribing to blogs. The only blog I'll continue reading is planet Mozilla because it's job related.

I've unfollowed everyone on Twitter. I'll no longer be posting to Twitter. I tried to remove all my tweets, but Twitter doesn't make that easy.

I've removed all of my content from Facebook. I haven't unfriended everyone because I wasn't sure if I wanted to go that far. I'll probably just use the option that turns off all comments.

I'm leaving LinkedIn alone primarily because I don't interact with it and it has potential employment implications.

Note I'm not going to actually remove these accounts because I want to keep the names just in case I use them in the future, and also they are used for authentication.

So basically I'm going off the social media grid for a while. If you need to get a hold of me just send me an email. Anything at will get to me.

This post will self destruct on midnight on April 15.

Displaying a Web Page for Your Add-on Options

Update:I just want to clarify when this method can be used. Obviously a web page can't update preferences in Firefox. We had a unique situation where a web page notified the browser of a change that allowed us to update a preference. It wasn't a lot of preferences. There is a lot of debate over having web pages message add-ons in this manner.

A few of the add-ons I've developed use web pages for their options rather than having them in a dialog. Unfortunately, when you use a regular web page as an optionsURL in your install manifest, it's opened up in a separate window that doesn't have scroll bars and doesn't work properly. Here's a workaround.

I Dare You To Move

It's now been two years since I left IBM. During this time of self employment, I've learned a lot about myself. The biggest thing I learned is that while I enjoy the freedom of self employment, my personality style doesn't fit well with being in an office all day by myself. I miss being around people.

In addition, this past year has been a pretty rough one for our family, so looking forward we decided that we needed to make a major change. So we've decided…

Sending Binary Data with XMLHttpRequest

I recently had the need to send a CSV file from my add-on to a PHP server and was looking for an easier way than constructing a POST request. I discovered that XMLHttpRequest has an API for this called sendAsBinary(). Using the API on the client side was easy, but figuring out how to get the file from PHP was a little tougher, so I thought I would share the information on my blog.

How to Reduce Your Tax Refund

A few years ago, I wrote a blog post detailing the differences between exemptions, allowances and deductions and telling you how to reduce your tax refund. Tax time is coming up, so I thought it was a good time to repost the information.

I've converted the post into a page - Exemptions, Allowances and Deductions: How to reduce your federal tax refund. There's also a new version of the withholding calculator for 2011.

Don't Second Guess Your Life

Do you ever find yourself going back through the decisions you've made and wondering how your life would be if you had made different choices? I know I do. But, as the movie "It's a Wonderful Life" makes abundantly clear, we have no understanding of the impact that we've made in this life. Our decisions, good or bad, have brought us to exactly where we are and affected other people's lives in ways we can't imagine. Even the smallest choice could have had a major impact, just like The Butterfly Effect.