2008: Year in Review

For the past few years I have been writing a end-of-year review summarizing major events or changes in my life that occurred for that year as well as reviewing the resolutions I had set at the beginning of the year. I have found the process of writing these reviews extremely helpful for my own personal advancement. Having such reviews to look back at the years also helps me see where I could have improved and what things I considered important. If you have a blog, journal, or even a diary, I strongly encourage you to do something similar.

This past year seems to have brought the greatest number of changes to my life, as seems to be the case for every year that passes (a good thing, I think). Changes on the material level have been equally as great as those on the personal level. Continue reading

Mint.com on Walking Away From Your Home

I just finished reading a Mint.com blog post about whether or not you should walk away from your home. It was especially interesting to me because I made the decision almost a year and a half ago to walk away from all three of my rental properties when I saw what was happening to the market. If you're not familiar with my situation, you can read my comment on the post, or below, for a quick overview.

I purchased my first rental property at the age of 21. Everyone said I would make a killing and was really smart for investing so young. I wish I had done more research and seen that we were approaching an inevitable bubble. I bought my first property (a 2-family) for $190k in 2003. Within a year it was valued at double that.

After refinancing and putting money into the first property, I bought two more properties the following two years. I had 12 tenants total (being a landlord is no easy task!). The mortgage lenders were pushing ARM’s like crazy… and they made sense to an investor like me. I needed the lowest monthly payment so I could take the little income left from the rent to put back into the properties. Plus, I could always just refinance my 2-year fixed / 28 year adjustable mortgage before the 2 years-fixed were up (refinance to a conventional 30-year fixed)… right?

Well, taxes went way up. I had a few tenants that cost me over $15k in lost rent (damn tenant-rights laws!), unexpected property damage from frozen water pipes, a couple more bad tenants, and while all this was happening the value of my house secretly dropped below the amount I owed… oh sh*t.

Then I get a letter in the mail saying my monthly mortgage payments are going to increase by more than $600 a month… but wait, I’m already dishing out over $200 a month from my pocket to pay for the properties (assuming all the units are fully rented)! I can’t refinance because the value of the property is less than what I owe. I can bust my ass for the next 5-10 years trying to keep up with the payments or I can let everything fall down, file for bankruptcy, and move on.

I’m filing. And I’m damn glad. $450k multi-family properties are now for sale at $140k… less than I bought my first property in 2003. For me it’s easy because they were investment properties, not houses my family lived in (I’m single). I’m renting now and saving as much money as I can, because when things start to turn around I want to be ready, not buried under a million dollars in debt.

Slow Down and Listen to Life

When was the last time you voluntarily spent lots of time away from technology? When was the last time you laid in the sun and simply enjoyed doing "nothing"? For myself, spending long amounts of time away from technology is extremely relaxing and healing (and by long, I mean more than six hours!).

Technology operates on a timescale much different than that of life. By constantly surrounding ourselves with and using technology we subconsciously expect ourselves to keep up with it (and to operate on the same level). It's like looking at the road directly in front of your car on the highway and expecting yourself to process and react to changes in the road conditions.

We need to slow down and relax our minds. Try taking a 24-hour vacation from all technology (that includes mobile phones). Light some candles. Meditate. Have a conversation. Play a board game. Enjoy the life-giving sunlight. Listen to the wind. Listen to your heartbeat. Listen to silence. Breathe.

Three time-management books explored by Chris Hardwick

Diary of a Self-Help Dropout: Flirting With the 4-Hour Workweek is a fun and interesting article by Chirs Hardwick where he writes about his adventures in applying the tactics provided by three time-management books: David Allen's Getting Things Done, Julie Morgenstern's Never Check E-Mail In The Morning, and Timothy Ferriss' The 4-Hour Workweek. I've read Getting Things Done and as a practitioner, but not exactly a follower, of the GTD method I found Chris Hardwick's Day 9 of Getting Things Done to be most apropos and humorous. Also, his use of outsourcing using the Ask Sunday service (The 4-Hour Workweek, Day 8) was most interesting. The Internet is making amazing things possible.

A Snowy Weekend of Snowboarding

We had two big snow storms this weekend, one on Friday night that dumped 6" - 9" of snow on us and then another on Sunday that dumped at least another 12". Looking to enjoy the new snow, I went snowboarding at Wachusett Mountain and Loon Mountain (despite the fact that I was running on only 3 hours of sleep, both days were awesome). The snow was soft (none of that icy man-made stuff) and the slopes weren't packed (probably because the storms caught a lot of people by surprise). The conditions on Loon Mountain were both insane and awesome at the same time (40 - 50mph gusts of wind, whiteout blizzard conditions, and snow whipping at your face so hard it felt like sand). My 4x4 truck got me through 12"-14" of unplowed roads like a knife through butter and I almost felt bad for the dozens of people who wiped out on the side of the highway.

I subconsciously converted a problem into a shell script

I have been writing a lot of shell scripts lately as part of the C/Unix class that I'm taking at Harvard Extension. My familiarity with how the Unix shell and the underlying system works has grown exponentially. When I came across a problem earlier today, I subconsciously turned the problem into a shell script without even thinking about it!

The problem: "How can I check to make sure my program is running every 30 minutes and restart it if it's not?"

Answer:

# If myscript isn't running, restart it
ONLINE=`ps aux | grep -c myscript`
# 2 because grep myscript also finds 'grep myscript'
if [ $ONLINE -ne "2" ]; then
        $MYSCRIPT_PATH/restart_service.sh
fi

I'm sure there are many better ways to solve this problem, but the fact that I instantly translated the problem into shell scripting code (and that it worked as expected on my first try) astonished me. I can see how good programmers who write in a particular language, and know the in's and out's the like the back of their hand can turn problems into code seamlessly (or know exactly where to look to find answers if they're unsure).

It's really amazing how easily you can solve simple problems when you have a deeper understanding of how the system works.

That's all. I just wanted to share my excitement. 🙂

HOWTO: Take a Screenshot on your iPhone

Taking a screenshot on your iPhone is really useful for documenting stuff or when submitting a bug report to a developer (a picture is worth a thousand words!). I mentioned how to do this in an Aside a few months ago, but I really think it deserves a little more attention. It's so useful, but also so simple:

Step 1: Press and hold the Home button
Step 2: Press and release the sleep/power button

The screen will flash white for a second and return to normal. Now you can find the screenshot in the Photos section and email, or send it to MobileMe.

How to take an iPhone Screenshot

HOWTO: Remove Google Software Update on Mac OS X

A few days ago I wrote about how evil Google secretly installed software update on my computer. Well, even worse than that, when I choose to continue with the update it gives me this message:

Updates Unsuccessful

So every other day for the past two weeks I have been prompted to update the Google Talk plugin, and every single time I choose OK this same error message pops up. I had planned to leave the software update installed, but since it's not working and it's really starting to bug me, I'm removing it.

According to some discussion on Google Groups, the Google Software Update can only be removed by uninstalling any plugins associated with it (Google Earth, Google Talk, etc). Well that's not fair. I never installed any plugins to begin with! Time to do it the hacky way.

Hidden away on a page labeled "What is Google Software Update?", Google provides the single command you need to run to uninstall Google Software Update from your entire system:

sudo /Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/Resources/install.py --uninstall

NOTE: Make sure the --uninstall portion of the command actually has two dash characters. It's possible your browser replaced the two dashes with a single dash character.

If you have something like the Google Gears plugin installed in your browser, you should either uninstall the Gears plugin or use it with caution. The Google Software Update is meant to help keep your Gears plugin (and other plugins) updated with any new security patches. Of course, if the Software Update isn't working, then it's really nothing more than an annoying nag screen.

UPDATE 2016-01-27: this comment has several links that may contain more up-to-date information.

UPDATE 2016-02-25: It appears this is the most recent command that seems to work:

sudo ~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/ksinstall --nuke

Removing the Update Engine from your Home Directory

Several commenters mentioned the update engine was installed in their home directory. If the update engine was installed on a per-user basis (as opposed to system-wide), then use this command instead:

~/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/Resources/install.py --uninstall

NOTE: Make sure the --uninstall portion of the command actually has two dash characters. It's possible your browser replaced the two dashes with a single dash character.

Update: A commenter mentioned that if the install.py file is not found, you can try running the following command instead:

/Library/Google/GoogleSoftwareUpdate/GoogleSoftwareUpdate.bundle/Contents/Resources/GoogleSoftwareUpdateAgent.app/Contents/Resources/ksinstall --uninstall

Preventing Google Earth from Reinstalling the Update Engine

A commenter provided this solution for preventing Google Earth from reinstalling the update engine:

Google Earth reinstalls the software updater when it’s launched. To prevent this I created an empty file at ~/Library/Google/GoogleSoftwareUpdate, then transferred ownership to root and made it read-only for normal users:

touch ~/Library/Google/GoogleSoftwareUpdate
sudo chown root ~/Library/Google/GoogleSoftwareUpdate
sudo chmod 644 ~/Library/Google/GoogleSoftwareUpdate

Update: As one commenter mentioned, Google now has a page relevant to this discussion.

Update: It appears that at least some of Google's software now gives you the option for disabling the installation of the automatic update engine during the setup process. See this blog post for an explanation.

It appears that now you can plug this into your terminal to disable Google Software Updater from checking for updates:

defaults write com.google.Keystone.Agent checkInterval 0

Google Update Uninstaller Tool

Viktor Petersson from Wireload notified me of a tool they put together to make uninstalling the Google Update engine really simple. If you don't feel comfortable with the command line, download the Google Update Uninstaller.

Using 'rsync –exclude-from' to Exclude Files Containing Spaces

A few months ago I wrote a post about escaping filename or directory spaces for rsync. Well that wasn't the end of rsync giving me problems with spaces.

When I used the --exclude-from rsync option to specify a list of exclusions, I figured using single or double-quotes around files/directories that contain spaces would be enough to escape them. However, after swashing through hundreds and hundreds of lines from rsync's output, I discovered the excluded directories were still being synced!

When using --exclude-from, files and directories should not contain any single or double quotes, only a backslash:

/afs/*
/automount/*
/Users/raam/Documents/Virtual Machines/*

Note: A commenter pointed out that this no longer applies to the latest version of rsync. I tested this on Mac OS X 10.9 (Mavericks) and rsync v2.6.9 and confirmed that you no longer need to escape spaces in the exclude file.

iPhone: Create an Application Icon from a Safari Bookmark

Have you ever wanted to easily access to your favorite news site directly from your iPhone Home Screen? I don't know about you, but I really hate opening Safari and navigating the various windows just to load a single site, especially when I'm short on time and I just want to read a few headlines.

You can create a bookmark to a particular site and have an icon for it created on your iPhone Home Screen:

  1. Browse to the site and click the + icon at the bottom of the screen.
  2. Click Add to Home Screen
  3. If you want, modify the name or accept the defaults. If a favicon is not provided by the site, an icon is generated using the visible portion of the site.
  4. The icon is then added to the Home Screen and can be moved around and deleted like the other icons (by pressing down on the icon until it starts wiggling).

flaab.com – the wrong kind of motivation

Flaab.com is a website that allows you easily create a motivational goal to lose weight. The site authors say that they "employ the two greatest motivators known to the human race: Money and Humiliation". Having lost over 70lbs myself, I know first-hand that money is definitely not a great motivator for losing weight and humiliation doesn't last long enough (as soon as you're in slightly better shape, everyone around you will start saying good things and you won't be humiliated anymore). The best motivators for losing weight? A slow painful, unhealthy, disease-ridden life of struggle inside your own body, and eventually premature death.

The day the Earth was run on Generators

Well, not quite the entire Earth, but it almost seems that way. I saw The Day the Earth Stood Still this weekend and I couldn't imagine a more fitting movie for what we're dealing with around here. We've been without electricity for three days now and living at the very end of a dead-end dirt road means we're probably last on the electric company's fix-it list. There are power lines strewn across the road and wires hanging from the telephone poles, big broken branches being held up by nothing more than a few thin wires, and entire trees toppled over alongside the road.

At night, the darkness is incredible. The full moon, the closest to the Earth it has been since 1994, is the only source of light around. Normally silent enough to hear a distant neighbor shut their front door, the night is filled with the sounds of dozens upon dozens of humming machines, each providing a little bit of that life-giving force to its owner. So often taken for granted, this electricity is not used for running televisions or computers or even for lighting the entire house, but instead for only our most basic necessities: heat to keep ourselves (and the water pipes) from freezing and for the small electric water pump that allows us to shower.

My hands smell of gas, my shoulder hurts from pulling the starter, my body is tired, and for the first time in a long while, I feel like I actually had a real weekend. The vast world of technology and the Internet seemed so distant -- like a dream of the way things once were. Everything felt more real, and life, more difficult. Life should be difficult. Not only mentally, but physically too. If the entire Earth was run on generators I think people would have more appreciation for not only life itself, but one another.

Power Still Out

The power is still out in parts of NH and MA, including where I live. Looks like I'm in for more cold showers by the candle light, iPhone+NetShare for Internet access, and limited laptop usage (as long as the battery lasts).

HOWTO: Show the Full Path in Finder's Title

An annoying feature of the OS X Finder is that it doesn't show the full path of the folder you're currently browsing -- it only shows the name of the folder in the title. I like seeing the entire path of the folder because I do a lot of stuff from the command line, so as you can imagine I was thrilled to discover an easy fix to this problem.

Simply open the terminal (Applications -> Utilities -> Terminal.app) and run the following command:

defaults write com.apple.finder _FXShowPosixPathInTitle -bool YES

You'll then need to restart Finder by either rebooting or running the killall Finder command. Now Finder will show the full path in the title!

Path in Finder's Title

If for some reason you want to revert back to seeing only the folder name (I can't imagine why you would), simply repeat the process and change YES to NO at the end of the command.

Sid Savara's Productivity Blog

I discovered Sid Savara's blog today while browsing Hacker News. Unlike most productivity blogs I have come across, Sid's blog has very practical information that is easy to understand and apply. I've only started exploring his posts, but his description of metawork and his post on paying himself with his time were real eye-openers for me, as I too think in terms of "time" and his post reaffirmed my thinking. Like myself, he is also a follower of the GTD method.

WordPress 2.7: Fixing 'Fatal error' with Automatic Upgrade

A few days ago I installed WordPress 2.7 RC1 on one of my blogs to get a feel for the new interface. One of the awesome new features of WP 2.7 is the built-in upgrade feature, a feature that the very cool WordPress Automatic Upgrade plugin has handled for me up until now.

I was eager to try the new built-in upgrade feature, so when WP 2.7 was officially released I rushed to upgrade the RC1 blog (Tools -> Upgrade). To my surprise however, I was shown something that did not even remotely look like a success message:

Fatal error: Cannot redeclare class pclzip in /home/homeproj/public_html/wp-admin/includes/class-pclzip.php on line 171

After a little research, I discovered the problem was the WordPress Automatic Upgrade plugin! Both the WPAU plugin and the built-in upgrade functionality of WordPress 2.7 must declare the same pclzip class. This means you cannot have the WPAU plugin active and use the built-in upgrade functionality of WP 2.7 at the same time.

To fix the problem, you simply need to deactivate the WordPress Automatic Upgrade plugin.

If you don't have the WPAU plugin installed, you can try deactivating all of your plugins to see if any of them are causing a conflict.

WordPress 2.7 "Coltrane" Released

WordPress 2.7 has been officially released! It was only a few days ago that I wrote about the first WordPress 2.7 Release Candidate, so congrats to everyone on the dev team (literally hundreds of people) for the quick release! It appears the WordPress team is now publicly giving the releases their own code name, with this latest release being called "Coltrane". (As far as I know, this is something new, but I could be mistaken.) For those who know the Simpsons like they know their own family (I don't), you may be aware that Coltrane was the Simpsons' fourth cat (and of course we can't forget John Coltrane, the American jazz saxophonist to whom the release is really dedicated).