post

Yard Work

When we bought this house 4 years ago it had been empty for more than two years. During the first summer, I was spending all of my available time getting the house in Miramichi ready to put on the market. So, the yard had suffered three years of neglect. When I started working on it, I found that the previous occupying owner had put down landscape and sheets of plastic, cut holes to plant a few things and then mulched. While that may work for a garden that’s being cared for, left to itself, it makes for a complete mess when neglected.

The mulch had decomposed and was full of twitch grass and other weed roots. The side garden had several shrubs and only one of them even looked halfway decent. In the spring two years ago, I ripped all but two of them out. One of the ones I removed was only about 3 feet away from one of the ones I kept. That summer the remaining one grew and looked healthy. Last summer, it blossomed. this year, you can hardly see the leaves for the blossoms:


When I was doing the final prep work on the house in Miramichi I brought two rugosa and two antique rose bushes here. Both are strains are old enough that they have no copyrighted/trademark to restrict natural propagation. Both grow suckers of the same type of rose from the roots, so they are not a product of grafting. Last year I moved a couple of the sucker plants to the side garden. Here’s one getting ready to blossom:


There are a couple other pics in Andrea’s photo stream which you can get to by clicking on either of the images above.

post

Financial Planning

Every financial planner (Canadian) I’ve talked to or read has recommended investing in RRSPs. This advice still applies even if you owe money on a mortgage, line of credit and/or credit cards. We do have two RRSPs: one with the locked in amounts from when I was contributing to employer plans and another where the money can be withdrawn at any time. The employer plans were not optional and the funds will not be accessible to us until I reach age 60. The reason we have the second plan is it’s a convenient way to have a fund set aside for a significant financial emergency.

The thing with this financial planning advice is that it isn’t the best use of your money. The Canadian tax system even has incentives built in which make it advantageous in the short term to invest in RRSPs while you have a mortgage. Depending on one’s tax bracket, the short term tax incentive ranges from a one time credit of 25-40% of the funds deposited in a RRSP. That sounds like a really great deal in a financial market where savings interest rates are less than 5%.

Essentially, you are giving the RRSP holder money which is lent back to you as a mortgage at a higher interest rate. The interest rate spread between mortgages & RRSPs over the last few years has been about 3.5%. For the life of a mortgage & RRSP, the mortgage is collecting 3.5% more interest than the RRSP is paying.

When we bought this house, we still had the house (and mortgage) in Miramichi. The only choice we had for a mortgage was 25 years. While we were paying both mortgages, there wasn’t much room for contributing to an RRSP. Once we sold the house in Miramichi and did a bit of planning we switched our mortgage here to bi-weekly payments. Our mortgage allows up to double payments without penalty.

For the last 3 years, we have been paying an extra $42 in each bi-weekly payment. Yesterday, I did the math & those 78 payments of $42 has saved us over $10,000 in interest on the mortgage. The first $42 saved us 24 years of interest at the mortgage rate. In terms of retirement savings, we have gained the 3.5% for 24 years. The next $42 we pay will save us 21 years of mortgage interest and gain 3.5% for 21 years.

There will be a point where the tax incentive makes the RRSP truly more advantageous. In another 5 years or so I’ll probably run some formulas to figure out when we should switch. At a guess, though, I would say the tax incentive only become the best choice in the last 5 years of the mortgage.

post

Forty-Six

When I was in college, I thought about where I wanted to be when I was 45. Three years ago, I was already working on passing off projects so I could part with my corporate job. Using vacation time I switched to working part time. At WordCamp San Francisco, two years ago, Matt announced that the WordPress lead team had decided to merge the WordPress and WordPress MU code bases.

One of the things I’ve been thinking about this weekend is how those are all tied together.

Andrea & I had been working at the WordPress MU consulting thing about a year prior to the merge announcement. For about a month after what we spent a quite a bit of time discussing was, “what were we going to do?” There was always the option for me to go back to corporate development, so we never felt that we were out of options.

With all of the time Andrea had put into the WordPress MU support forums, she had interacted with thousands of other people with a wide range of technical skills who were also using MU. So, the second question we pondered was, “what were the other users of MU going to do?”

The third question we discussed was, “what do we want to do?”. This question is what ties together the three disparate things in the first paragraph. Whether we would have discussed this at some point, it was the merge announcement that precipitated that discussion.

Once we were fairly sure of what we wanted to do, we started to work toward those goals by doing three things:

  • I volunteered to work on the merge. The worst that could happen was I might have been turned down. You don’t get anywhere if you don’t try or in this case offer. In addition to offering, I went ahead and did some preliminary prototyping work on a merged codebase using the 2.7.1. versions.
  • We chose and registered the WP eBooks domain. We had this domain for more than a year before we started developing the site but our goal for the site was established before we chose the domain name.
  • I started looking into developing a theme framework for BuddyPress. That work eventually turned into GenesisConnect which currently supports 34 themes.

All of these are done and/or established. This year we’ve been moving toward the other things that we discussed two years ago. Hopefully, we’ll be able to talk about those plans over the next few months.

At the beginning of the post I wrote about three separate things. The way that they are tied together is that twenty-some years ago what I wanted to be doing when I was 45 was working at something *I* wanted to do vs working at something because it paid the bills. When I turned 45, I was primarily working on the merge, a project that I had volunteered for.

Since then I’ve had a year to reflect a bit on that. Without a doubt I was fairly naive back in college. But it’s pretty amazing that I ended up where I wanted to be anyway. If there is a moral to this story, I would say that it’s true that life is 10% what happens to you and 90% what you do about it ๐Ÿ™‚

post

2010 in Review

Family

Izzy

This year our family grew by one. Andrea & I have our first grandchild. If you click on the thumbnail, it takes you to Andrea’s flickr set. That picture is from Christmas morning. She is a delight (of course) and having her here for her first Christmas was very special for both Andrea & I. Without anything else, Izzy would have made our year ๐Ÿ™‚

WordPress

In the summer of 2009, I sent off an email volunteering to work on the merge of the WordPress and WordPress MU code bases. A few weeks before Christmas 2009 I received an email from one of the WordPress leads asking if I was still interested in working on the merge. On Jan 5th I was temporarily given commit access to WordPress trunk. The temporary access lasted considerably longer than what I was initially expecting.

In 2009 I had spent quite a bit of time doing some exploratory prototyping and had a fairly solid feel for what was needed to support existing WP installs, existing MU installs and allow WP installs to be converted to the equivalent of a MU install. My estimate for getting a functional but rudimentary merge completed was 1-2 weeks. We landed somewhere in the range of 11-12 days. I was kept on the WP commit team until a few days before WP 3.0 was released in June.

Working on the merge & WordPress was a huge amount of fun. Nearly all the development work I’ve done over the last 20+ years has been working alone. One of the things I really enjoy about the WordPress community is that there are many opportunities for collaboration. The core platform is collaboration in a major way and, in addition to the success of WordPress 3.0 dev cycle, I got to know quite a few of the people who contribute to WP core.

The main challenges I had while working on WordPress 3.0 were the time commitment, IRC & trac. Time commitment I’ll discuss later. I didn’t really know what IRC was until I started using it in January. Essentially, it is a dedicated group chat channel. When we had dialup Internet and a single phone line, Andrea & I sometimes used gchat (or yahoo messenger before gchat existed) to communicate while she was connected (because I couldn’t call her). But I’ve hardly used chat programs out side of that. Ironically, building a TCP based group chat server and client was part of the curriculum in one of the programming courses I taught.

Getting a 45 year old brain used to having something like IRC running all the time is a real challenge. Even after more than 5 months, I only connected up to the IRC channel for part of the day. Most weekends I checked the IRC logs a few times a day to see if there was urgent that I needed to address.

WordPress trac is the site where people report and discuss bug reports and enhancement requests. Every one who has a wordpress.org username also has access to create or comment on trac tickets. Keeping up with all the trac activity requires several hours a day. The folks who do keep up with trac on an ongoing basis gained a whole new level of respect from me within a couple days of starting on the merge. It requires more than a little dedication.

StudioPress

Andrea & I have partnered with Copyblogger Media and StudioPress to provide BuddyPress support for the Genesis Theme Framework and most of the official StudioPress child themes. Our first iteration of BuddyPress support for Genesis and Genesis child themes consisted of a Genesis child theme that supported a psuedo-grandchild theme. The biggest issue with supporting the BuddyPress theme components this way was that it involved an integration process. The integration process had to be repeated with each update to our child theme.

In mid August after I had had a chance to catch my breath from working on WordPress 3.0, I looked at the possibility of converting our child theme to a plugin. By the tail end of summer I had most of the functionality ported over to a plugin and we began a beta. While it was in beta, I continued development and by the end of September all of the functionality had been ported over. BuddyPress 1.2.6 required updating the theme support, so our beta was extended until about a month ago when we officially launched.

Ron & Andrea

2010 was our second full year as a WordPress based business. In our first year and a half we had learned quite a bit about what it was we liked to do, the work we didn’t enjoy and the type work we should avoid. Our goal last year was to re-orient our business toward those things we enjoyed more and gave us better revenue stability.

Two of the critical things on the list were to switch from a WordPress MU focused business to one focused on WordPress and shifting the type of work we did so that less of our revenue was dependent on me. Although we had quite a bit of work to do once WordPress 3.0 was released, the time I invested in core development definitely addressed the shift from MU to WP.

In 2009, about 90% of our revenue came from development projects. Nearly all the development work fell to me. In several projects Andrea handled all of the implementation but her work schedule for that was dependent on when I had the development work done so she could implement. A year later, we are somewhere in the range of about a 50/50 split between project revenue and educational & commercial revenue.

2010 was the year where we wanted to arrive at a final decision as to whether we would continue with the WP based business or I would go back to doing corporate project management. Over the last few months business has stabilized to the point where we are comfortable that we will be able to sustain a reasonable revenue long term. So, we are definitely going to continue working within the WP community.

However, we are not in the place where we could sustain me making the kind of time commitment to the WordPress project that was required while I was a core committer for WP 3.0 (which was well over 50% of my time). Between Andrea & I we are planning on contributing 25% of our combined time to WP core, BP core, forum support & free plugins and themes. We are fairly comfortable that that level is sustainable long term.

This fall we discussed the pros and cons of incorporating a business and have decided that is the route we will be taking over the next 2-3 months. We have already decided on the business name and had initial discussions with our lawyer. So, hopefully we will have something to announce on that soon.

Summary

In 2010 we were extremely busy & sometimes fairly stressed. Other than Christmas, the only breaks I took from work were WordCamps which I really enjoy. Even though they are still focused on WordPress, WordCamps are a really good break for both of us. In September, we lost the engine in our 10 year old car. I had really been hoping the car would make it to at least next summer. Replacing it set us back quite a bit on our financial goals for the year. However, overall, we had good progress on those goals and we are really looking forward to our plans for 2011.

post

22 years and counting

Today, Andrea & I celebrate the 22nd anniversary of officially meeting. Technically, we had had a few conversations before that. But those were the “Is this seat taken?” type conversations. It was at the college Christmas party for the program we were both attending. I was in second year and she was in first. Witty repartee ensued & it was pretty much a done deal from the get go.

Of those 22 years, I’ve spent about half my career working from home. A little over 2 1/2 years ago, we decided that we would have a go at doing WordPress consulting & services full time at home. It took about five months to get things sorted and shifted from a full time corporate income to a more volatile freelancing income.

We set out on this part of our adventure with the goal of being captains of our own ship at least until I was ready to retire from information technology based work. During the 5 1/2 months I was working on the merge of WordPress and WordPress MU, Andrea & I a good chance to assess our experience over the previous year and draw some conclusions & plans from that experience.

Once WordPress 3.0 was released and my commitment to WordPress core was over, we dug in full steam toward developing a stable revenue base doing the things we both enjoy doing the most. While we haven’t quite reached the level of income I had as a corporate lead developer, we are getting into that range and can see it on the horizon.

Our goal from 2 1/2 years ago is still our goal now. I’m looking forward to another great year with Andrea who is a great partner both in business and in life ๐Ÿ™‚

post

New York, New York

On Friday morning, Andrea & I will be driving to Bangor, Maine to get on a plane bound for NYC. We will both be speaking at WordCamp NYC (WCNYC) on Saturday morning. (If you click through the link you’ll see our sessions are listed under the BuddyPress/MU track.) Most of our blogs and Homeschool Journal run on WordPress MU.

This will be our first overnight trip away together from all the children in about six years and it’s only the second time in 10 years. While it is technically a business trip we will get to have some time together.

Planning for WordCamps usually start a few months in advance. If I remember correctly, in the early planning, WCNYC was expecting 200-300 attendees. The registered list topped 500 over the weekend and is 530+ now. Many of the people attending are people that we know online. So, we are both excited to have the chance to get to meet them. It’s a bonus that no one will look at us strange when talk extensively about techy stuff ๐Ÿ˜€

We each have 3 sessions/presentations to prepare for. It is going to be a busy week for us, but a good busy.

post

Skipped a month

For the last long while I had been posting once or twice a month. On checking the date of my last post, I see it’s been almost 2 months. Today was Meaghan’s birthday and she turned 17. Wow, it’s been an amazing 17 years ๐Ÿ™‚

Today is also the start of National Blog Writing Month. A note of thanks to the blogs I read that mentioned it. I won’t promise to write every day because I know that won’t happen. I will try to write though.

Most of our business revenue comes from or through the US and US currency. In March we were averaging about 25% exchange ($100US = $125CDN). The average over the last 6 months has been somewhere in the range of 5-7%. For most of our projects we’ve been quoting 2-3 months in advance which meant that we had a 3 month period with a 15-20% shortfall in revenue.

The only recourse was to take on more work. Other things had to be put on the back burner and this blog was one of them. I do have lots of things to talk about and I’ll see if I can cover some of that in small chunks over the next month.

post

Facebook review

I’m currently working on a couple projects that involve connecting the site we are working on with Facebook (FB). Even though we have looked at FB over one of the girls’ shoulders, neither Andrea nor I had signed up.

For the most part it seems FB has taken functionality that exists elsewhere on the Internet and bundled that functionality together into a single site. On FB, you can share pictures like flickr or photobucket, you can post & comment like a blog and you can have friends and privacy filters like LiveJournal based sites.

As far as the privacy and filters part of it goes, if you put it on the Internet, it isn’t private. If it’s a picture it gets downloaded to every computer that shows it in a browser. So, I would not put anything on FB that I would not put either on my blog or flickr. If I wanted to say something to you privately, I’d send you an email or call you on the phone.

Now for the review:

I did sign up earlier this week so that I would have an account to test with. The signup went around in circles and kept coming back to the same screens until I clicked skip on all of them. Poking around my profile after I signed up, I found that it had collected all of the info I had provided. So, I had to delete all of the duplicate information. Strictly from a programmer’s perspective, a site reputed to have in excess of 100 million users ought to be able to get a simple signup process in place that works.

By about a day after I had signed up, I had received somewhere in the range of 30 to 50 email from FB. After the second batch of them showed up, I created a mail filter to dump the FB email into a folder so that it didn’t take over my inbox. When I had a few minutes, I went back and poked around some more to see if there was someplace where I could turn notices off. I was blown away to see that there were two screens worth of types of notices that FB sends. If you haven’t guessed already, I turned them all off.

The other annoyance I found with FB is the ads. Not that FB has ads, but the type of ads that I get. When I first noticed that I was getting dating site ads, I went through my profile to see where I could change the setting to say I was married (I did learn something about FB looking over the girls’ shoulders). Despite the fact that I’ve indicated I’m married, nearly every page view has at least one singles and/or dating site ad. Folks, it isn’t that hard to add a little logic to show people ads that reflect what they’ve told you about themselves.

The one positive note I have on the experience is that I did get to catch up with some folks that I haven’t seen in a few years.

A bit on the technology:

I haven’t used FB on dialup, but I expect that once you were actually in the site, it would work fairly well for you and be reasonably responsive. In fact, I suspect that they have put a fair amount of effort into making it so that it does work decently on dialup since a fair chunk of the world’s population doesn’t have ultra high speed connections.

One of the methods typically used to make sites more dynamic is called AJAX. The way AJAX increases the dynamic/interactive nature of a site is to send requests to the server and bring back small portions of updates to the screen that you are currently using. As long as it is done carefully, AJAX gets the most bang for the buck over dialup. The reason for that is that the main limiting factor in dialup is the volume of data. So, for small blocks of data, dialup is not that much slower than your typical high speed internet connection.

The place where AJAX kind of sucks is over satellite (which is what we have). Communicating over satellite involves a delay (called latency). The way that satellite technology compensates for that delay is by delivering data in large volume which works with most applications. If AJAX breaks updates to the page into several low volume requests, updating the page takes roughly the number of requests time longer to update than if you just requested a whole new page. Although I haven’t investigated to verify it, based on how painfully slow it is when using it, I suspect FB uses a lot of AJAX calls. So, FB isn’t going to get on my frequent use list.

post

Valentine’s Day

When Andrea & I were out yesterday, we went to dinner to celebrate our 19th wedding anniversary (which is today). The place we wanted to go was the place we had dinner 20 years ago on V Day. Then it was a Chinese restaurant and now it’s a pub. We opted to go to another Chinese restaurant instead.

It was during the dinner 20 years ago that Andrea and I first discussed how we felt about marriage. In remembering 20 years ago, I realized that my feelings on the subject of what marriage is (and is not) about have changed very little from what they were then. Having paid some attention to society at large, it’s safe to say that my feelings are not universal.

There are two things that our society places a great deal of emphasis on that I feel are largely inconsequential to marriage:

  • a state registered marriage (marriage certificate) – depending on the jurisdiction, there may be value in one of these to the couple such as enabling adoption. Also, property ownership may automatically be transfered in the event of death of one half of the couple. In other words, signing a marriage certificate has value in the legal and judicial system. I don’t have any objection to state marriages. That’s not my point. My point is that once it’s signed, the only place a marriage certificate has any material value is in the legal & judicial system. It does not contribute to the day to day work of being a couple.
  • a wedding ceremony – In saying that I am not knocking weddings. If a couple want to have a wedding and celebrate their marriage with their family & friends then that’s fantastic. But wedding ceremonies don’t make marriages. Marriage is something you do and are a part of every day. It isn’t a one time thing.

I’ve been to quite a few wedding over the years and have heard alot of variations in vows. What seems to be common among them are 3 words or actions: love, honor & cherish. The vows are about committing to doing those things on an ongoing basis. Doing those on an ongoing basis *is* what I believe is important in marriage. So, I’d like to talk about them in reverse order

  • Cherish – IMO, most marriages start with this and the fact that the couple cherishes one another is the reason they have decided to get married. I look at cherishing as valuing them as a person, wanting their companionship, liking their character & personality, etc. The thing is, that the divorce rate in our society show that cherishing your spouse is in itself insufficient in creating a lasting marriage.
  • Honor – I’m not quite sure what other people take this to mean. I think it means having respect for Andrea’s role as my wife and it is my responsibility to uphold her. The way I carry this out is by doing 2 things. First, I try to be a good husband, to appreciate the things she does for me, to value her opinion, and to be reasonable, caring, campassionate, thoughtful and considerate toward her. Second, I try to treat Andrea like she has been and will continue to be a good wife both when I’m around her and when I’m away from her. An example from the other side of marriage, if I have a bone to pick with I don’t deal with it at the local bar over a drink or at a buddy’s house. I talk to her about it and we work something out (which good spouses will do). I’ve never complained about her to anyone. Doing so would dishonor her. If she has a bone to pick with me, I want her to tell me about it and I want to work out something that is acceptable to both of us.
  • Love – As an adult, I’ve always taken this to mean charity in the Biblical sense: being longsuffering (enduring, patient and forgiving) & kind, thinking of others, having temperance and not being selfish or self-serving. In more practical terms it means putting the other person first.

Whether or not everyone sees marriage as I’ve described, every marriage that I have admired over the years has a good dose of those qualities.

post

grampy

I waited for Andrea to write her post first.

We always called them Little Nanny and Little Grampy. There’s a story that goes with why they had those names but it’s not particularly important here. From the time Andrea & I got married, these folks always treated me like I was another one of their grandchildren. There was never any distinction and that’s just the way it was.

Last year, my birthday card and gift from Little Grampy arrived in the usual few days early. And then we realized that Andrea hadn’t received one (her birthday is a couple weeks before mine). We knew he was declining, but that made it more real. At the same time, that missed birthday card ensured that Andrea & I will always remember that he was my Grampy too. Andrea’s post describes his life long interest in technology, so until the last few years it wasn’t unusual during a visit for Grampy to spend more time with me than he did with Andrea and the kids.

One little story that I’d like to pass on is that at his 90th birthday party, someone asked Grampy what was the best thing about turning 90. He responded without missing a beat, “I don’t have to apologize anymore.” That didn’t mean that he started treating people differently. He knew that people do overlook all sorts of incidental things that elderly people do. And on turning 90, he didn’t have to worry about calling someone by the wrong name and that sort of thing.