git_backup.pl - a simple script to backup with git

For a while now, I’ve been backing up the few WordPress blogs that I run for various people with a very simple script that followed this algorithm: Copy files to a temporary directory. Dump the MySQL data into a file in that directory. Tarball it up. Scp that file to another server that I run. At the time, I did this because it was the simplest thing that could possibly work.
Read more →

Fixing R.app’s tendency to forget history

Being the data and visualization nerd that I am, I’ve been delving into R on occasion. For this purpose, I am using R.app on my Mac. To start it up for a certain working directory (to keep different projects separate), I run “open -a R <working dir>". This worked great until I noticed that my history wasn’t getting saved to the .Rhistory file in each directory. When I use the command line R executable it does, but not in the R.
Read more →

New SLR Stage 1: Blurry Backgrounds

In an attempt to pursue a hobby that does not involve a heap of monitor staring, I decided to get more serious about photography.  I’ve always enjoyed taking pictures, but I wanted to get deeper into the process.  So, I saved up some money and purchased a used Canon 30D from a friend back in March.  In the months that followed, I noticed myself passing through several stages as I got used to photography as a hobby rather than just image capture.  In retrospect, I thought they were rather funny.  I’ll share them over the next few blog posts.

Read more →

A Plane Birthday

Today was a great day. Today Sara and I celebrated my birthday. She planned the whole thing out, so all I had to do was go along for the ride. After sleeping in till 10:30 (due to a late night up in Hollywood catching District 9 with some old friends), we ate a breakfast of waffles and bacon with pineapple and apple juice. We took our time and really enjoyed each other’s company.
Read more →

Watch out for technical debt

I’m always looking for ways to improve myself as a programmer. It usually involves something fun, but after reading this post, I think my new area of improvement is to stop increasing my technical debt. From a related post from Steve McConnell: Other debt accumulates from taking hundreds or thousands of small shortcuts--generic variable names, sparse comments, creating one class in a case where you should create two, not following coding conventions, and so on.
Read more →

Saying good-bye to one of my favorite people

Today was the last day of work for one of my co-workers. It’s weird to call him that, he was a friend for a long time before he was a co-worker, but it’s the co-working part of our relationship that’s coming to an end. We’ve worked together for more than three and a half years, and in that time, we were able to build some really cool stuff. We worked together so well that at one point, when we were the only two developers, we were routinely referred to as “Navid,” a portmanteau of our first names.
Read more →

NDWall Milestone 2: Missed

Well, I didn’t get much of a chance to blog about the NDWall milestone 2 before it flew past this last Saturday. Dave and I agreed a few weeks ago that milestone 2 would include the following features: Add a configuration/settings area for the application. The keys are: Display Name, Username, Password, URL Move the downloading of new messages into a thread so that it happens in thebackground. We set the deadline for this milestone to be last Saturday, the 17th of January.
Read more →