A sabbatical is not a trial-run for retirement

A year ago when I first started planning my sabbatical I had the idea that I would use it as a trial-run for my future retirement. I know many people, many of them men, who work all their lives and yet when they retire they don’t know what to do with themselves. My Dad is one of those people. He has owned his own business, pouring himself into it, for the past 40 years. Now that he’s on the verge of retirement he seems to be at a loss with what to do with himself. I’m like my Dad in that I pour myself into my job. Could I use the time off from work to cultivate skills that I would ultimately need in my eventual retirement?

I’m here to tell you that while a sabbatical can be amazing and useful for cultivating some retirement skills, it isn’t a trial-run for retirement. The biggest reason for this is that a sabbatical has an end-date.

Retirement skills

Sabbaticals are great for identifying things that you need to survive retirement that your work currently provides.

The biggest eye-opener for me was how much I need to be involved in a technical pursuit. I love programming and working with a team, things that I primarily get to indulge in at work. After I started my sabbatical, however, I didn’t have anything technical that I could really sink my teeth into. After a couple of months I started back into volunteering with Distributed Proofreaders doing development work which really improved my overall happiness. Frustratingly, the pendulum swung too far and DP became work for a while which took some time to realize and correct.

Another thing that I really needed was time away from my significant other. I love Daniel, but unlike my parents who have spent almost every day together for the past 40 years running the family business, I need time away from my S.O. Having some time apart lets us do our own thing for a bit and then come back together later to share different experiences.

Yet another thing that became important to me was some structure to my day. When I am working I have a fairly structured schedule. I have some idea of what tomorrow will look like, at least in part. When you’re on sabbatical, and presumably when you’re retired, tomorrow’s calendar might not have anything at all on it. For some people that can be liberating. For those of us who thrive on structure, it is intimidating. For me I’ve discovered that while not every day needs a plan, that having some plan for some days makes it easier to enjoy the days when anything goes.

Not a trial-run: the end is coming!

If you only have a limited time off of work you’re likely to do a fair bit of traveling. Indeed that’s what I did, including a week at Critical Northwest, 2 weeks in the DC area, 3.5 weeks in Europe, 2 weeks in the Carolinas, and 2 weeks in Texas. We have plans to spend 2 weeks in the bay area next month and hopefully a week or more in Denver in March. That doesn’t include other smaller trips to Portland, the Tri-Cities area, and Sequim. For me at least, that amount of travel isn’t sustainable when I retire but I would have kicked myself if I hadn’t taken advantage of the time off of work. That much time away from home makes forging strong out-of-work social networks challenging — networks that I know I will need in retirement.

Knowing that there’s an end-date prevents you from committing to activities that will go beyond that time, such as volunteering with local organizations that have a weekly time commitment during the day, or investing heavily into a craft that will take over a room in your house.

Worth every penny

If you have the opportunity to take an extended leave away from work, I highly encourage you to take it. It may not be a trial-run for retirement, but you’ll have a great time learning more about how you derive happiness from work and ways to achieve that outside the office.

Parental reflections

I spent the last two weeks enjoying some quality one-on-one time with my parents. We joked, we laughed, we reminisced about old times. We got caught up on happenings and ongoings. We crafted, baked, cooked, ate, played board games, unpacked boxes, fixed computer problems, and just enjoyed each other’s company. It was amazing.

The last time I hung out with just my parents for two weeks was the beginning of August 1980, just before my first brother was born. Needless to say, that was a while ago. Since then we’ve all changed and grown into very different people: from how we live to how we eat, from what we believe to how we vote. In some ways we couldn’t be more different, but it’s remarkable how we’re still so much alike.

I was also reminded of where I learned some traits and habits after having them reflected back to me from my parents. Many of these are great things that I value, like seeing how my Mom exemplifies the definition of hospitality and her excitement about a new creative project. Or see my Dad’s insane attention to detail, his tenacity with a problem, and how much he loves my Mom and takes pleasure in her happiness. I also saw some things reflected back to me that I’m not so enamored with. Little things that bothered me growing up and yet I see myself doing as an adult. Now that I realize I’m doing them, hopefully I can change them.

Perhaps spending time with your parents as an adult bears multiple fruit: those of quality time, shared memories, and realizing why we are who we are. The latter empowers us to selectively carry the best of our parents forward into our own lives without requiring that we take it wholesale.

Of tenants and landlords

In 2007 when Benjamin and I were moving to Denver, we decided to rent our 4-bedroom house in Austin. My sister-in-law is a Realtor and helped us put it up for lease on the Austin MLS. The first people that came by to look at it were four incoming UT freshman. I was distinctly unamused.

More than a week went by with no other bites. I was a day or two away from begrudgingly accepting future fratboys living in my house when a woman named Jen called and asked if it was still available. She came by, loved it, and within a week we had a lease signed for her, her daughter, and her mother to move in.

Almost 9 years later and Jen and is still in the house with her husband Brad and their daughter. They are the most perfect tenants a landlord could ever want. Period.1 I only hear from them when there are major issues to address, like the AC went out (the Friday before the 4th of July weekend), or the dryer broke, or the garage door opener died (all of these things seem to occur on a Friday for some reason). They coordinate with Home Depot or whomever else needs to come by to install a new appliance or repair something. When the above-the-range microwave went out, I purchased a replacement from Home Depot and Jen and Brad installed it themselves! Brad is a superbly competent handyman and takes care of many small around-the-house things like repairing the fence or replacing a faucet, all on their own without calling me.

Periodically when I’m in Austin visiting my family I drive by and visit with them about how things are going, any concerns they might have, and any maintenance they think we need to address. They always welcome me into their home — and yes, it is very much a home — and we visit like old friends. It’s clear that they put a lot of love and care into where they live.

We aren’t just landlords and tenants, we’re a team. A very friendly team working towards complimentary goals. We are partners in making sure that where they live feels like a home they are proud of and enjoy living in, while ensuring that the value of the property is protected.

I am ridiculously fortunate to have them in the house. Should they ever decide not to renew their lease, I will sell the property rather than attempt to find someone else to fill their shoes as I will only be disappointed.

As someone who is both a tenant and a landlord it’s such a crap-shoot on who you’re going to get on the other side. There’s no way to screen people for “love where you live and treat it like a home”. Or any way to legally put into a lease “do the Right Thing when something needs fixing, even if that means just fixing it yourself” but “call me before you decide that fixing it involves tearing out a wall”. Even “I won’t jack up the rent on you when you renew your lease just because I can”.

How much better would the rental experience be if we treated the person on the other side of the legal document as if they were people wanting the best for everyone involved and doing what it takes to make it so. That’s the kind of person I want to rent to and the kind of person who I want to rent from.

That’s the kind of person I strive to be.

1 This is particularly notable given that I, myself, am a tenant and they win hands-down over me.

Enabling DP development with a developer VM

Getting started doing development on the DP code can be quite challenging. You can get a copy of the source code quite readily, but creating a system to test any changes gets complicated due to the code dependencies — primarily its tight integration with phpBB.

For a long time now, developers could request an account on our TEST server which has all the prerequisites installed, including a shared database with loaded data. There are a few downside with using the TEST server, however. The primary one being that everyone is using the shared database, significantly limiting the changes that could be made without impacting others. Another downside is that you need internet connectivity to do development work.

Having a way to do development locally on your desktop would be ideal. Installations on modern desktops are almost impossible, however, given our current dependency on magic quotes, a “feature” which has us locked on PHP 5.3, a very archaic version that no modern Linux desktop includes.

Environments like this are a perfect use case for virtual machines. While validating the installation instructions on the recent release I set out to create a DP development VM. This ensured that our instructions could be used to set up a fully-working installation of DP as well as produce a VM that others could use.

The DP development VM is a VMware VM running Ubuntu 12.04 LTS with a fully-working installation of DP. It comes pre-loaded with a variety of DP user accounts (proofer, project manager, admin) and even a sample project ready for proofing. The VM is running the R201601 release of DP source directly from the master git repo, so it’s easy to update to newer ‘production’ milestones when they come out. With the included instructions a developer can start doing DP development within minutes of downloading the VM.

I used VMware because it was convenient as I already had Fusion on my Mac and that VMware Player is freely available for Windows and Linux. A better approach would have been VirtualBox1 as it’s freely available for all platforms. Thankfully it should be fairly straightforward to create a VirtualBox VM from the VMware .vmdk (I leave this as an exercise to another developer).

After I had the VM set up and working I discovered vagrant while doing some hacking on OpenLibrary. If I had to create the VM again I would probably go the vagrant route. Although I expect it would take me a lot longer to set up it would significantly improve the development experience.

It’s too early to know if the availability of the development VM will increase the number of developers contributing to DP, but having yet another tool in the development tool-box can’t hurt.

1 Although I feel dirty using VirtualBox because it’s owned by Oracle. Granted, I feel dirty using MySQL for the same reason…

A new release of the DP site code, 9 years in the making

Today we released a new version of the Distributed Proofreaders code that runs pgdp.net! The announcement includes a list of what’s changed in the 9 years since the last release as well as a list of contributors, some statistics, and next steps. I’ve been working on getting a new release cut since mid-September so I’m pretty excited about it!

The prior release was in September 2006 and since that time there have been continuous, albeit irregular, updates to pgdp.net, but no package available for folks to download for new installations or to update their existing ones. Instead, enterprising individuals had to pull code from the ‘production’ tag in CVS (yes, seriously).

In the process of getting the code ready for release I noticed that there had been changes to the database on pgdp.net that hadn’t been reflected in the initial DB schema or the upgrade scripts in the code. So even if someone had downloaded the code from CVS they would have struggled to get it working.

As part of cutting the release I walked through the documentation that we provide, including the installation, upgrade, and configuration steps, and realized how much implied knowledge was in there. Much of the release process was me updating the documentation after learning what you were suppose to do.1 I ended up creating a full DP installation on a virtual machine to ensure the installation steps produced a working system. I’m not saying they’re now perfect, but they are certainly better than before.

Cutting a release is important for multiple reasons, including the ability for others to use code that is known to work. But the most important to me as a developer is the ability to reset dependency versions going forward. The current code, including that released today, continues to work on severely antiquated versions of PHP (4.x up through 5.3) and MySQL (4.x up to 5.1). This was a pseudo design decision in order to allow sites running on shared hosting with no control over their middleware to continue to function. Given how the hosting landscape has changed drastically over the past 9 years, and how really old those versions are, we decided it’s time to change that.

Going forward we’re resetting the requirements to be PHP 5.3 (but not later, due to our frustrating dependency on magic quotes) and MySQL 5.1 and later. This will allow us to use modern programming features like classes and exceptions that we couldn’t before.

Now that we have a release behind us, I’m excited to get more developers involved and start making some much-needed sweeping changes. Things like removing our dependency on magic quotes and creating a RESTful API to allow programmatic access to DP data. I’m hoping being on git and the availability of a development VM (more on that in a future blog post) will accelerate development.

If you’re looking for somewhere to volunteer as a developer for a literary2 great cause, come join us!

1 A serious hat-tip to all of my tech writer friends who do this on a daily basis!

2 See what I did there?

The life of a book at Distributed Proofreaders

Distributed Proofreaders (DP) is an international web-based community working together to create eBooks from physical books in the public domain. I’ve been a volunteer and developer at DP for over 9 years and a site administrator for the past 6. During my sabbatical I’ve enjoyed a more active role in the community wearing my developer and system administrator hats.

After realizing that many folks aren’t aware of how DP works, I wrote a post on the DP blog that follows the life of a book at Distributed Proofreaders. Therein you can see how the children’s book Uncle Wiggily’s Auto Sled by Howard Roger Garis went from a physical form to a beautiful eBook at Project Gutenberg (you can read the HTML version in your web browser).

I’ve got a few more big DP development tasks I want to complete in the next 3 months before my sabbatical is over. Stay tuned!