The other day I got a notification from the Plesk control panel for Carticipate telling me that the user account was about to expire. I logged into Plesk only to find out that the disk on the VPS was full.

Now this was really confusing, since the entire Carticipate system consists of a web2py install, on Linux with a fairly small MySQL database, and the VPS had 20 gigabytes of disk space.

I looked around and found that there were three full backups each about 14Gb, with several incremental backups of a gig or so. Thinking this was the issue, I deleted all but the latest backup.

Well apparently, those backups are stored somewhere not on the server, so that made no difference to the space problem. So I did the next natural thing which was to look for big log files, clear out /tmp, and anything that might be causing the problem. I only managed to clear out a few megabytes of space.

I dug around some more and found a lot of files under the /root directory that seemed to be related to updating Plesk. Since that’s provided as part of my 1and1 VPS service, I called the support number to see whether they could help me figure out where my space had gone. Unfortunately, for the first time, they were not very helpful, suggesting that I needed to research and find out where the big files were on my system.

After some frustrating arguing with the support guy, where I pointed out that I couldn’t get support from Plesk, only they could, I finally gave up and went to my old stand by of Google.

First a quick search to find where the mysterious gigabytes of space were being consumed. First I did a quick “find” command with:

Going to a few of these folders and running “du -hs” gave me the folders that seemed to have a lot of files in them and were eating up a lot of space.

A few more searches on the Parallels site, and found a couple more references telling me that these were both OK to clean out.

The /root/psa folder is where Plesk was configured to download updates, and apparently it doesn’t clean out those folders after the update is successful.

The other folder is where all the dumps from the local backups get placed, and that was the primary problem area. The /var/lib/psa/dumps folder was over 14Gb of the 20Gb, so cleaning that out got me started again.

Looking at the dump directory, it appears to have daily dumps of all of the Plesk stuff going back forever, so this may happen again, but for now, my VPS backup is down to a much more reasonable 2Gb.

Today I finally finished updating my application for the PMI PMP certification. I used a spreadsheet to gather all of the information that I needed for the forms that you can see here.

The process of filling out the application turned out to be a lot more involved than I had expected it to be for a number of reasons.

My original thought was that I would be able to use information from my resume as a starting point. That turned out to be much more difficult for a number of reasons, not the least of which is that the resume is far too condensed to contain individual project start and stop times.

So my fallback plan (part of my risk management plan for my PMP quest) was to wade through my timesheets and emails to get as detailed information as I could find.

Since 1994, I’ve been doing work through my own business, so I have detailed timesheets for every week I’ve worked. This is where I ran into my first SNAFU: file corruption.

Over the years I’ve kept backups of my files in all sorts of places: external hard drives, thumb drives, and network backups, and email folders (PST files). At one point in the not too distant past, I had backups scattered across a number of devices, all from different points in time. I had an external hard drive crash on me, which made me realize I should probably have multiple copies of the same data, so I built backup folders on several different machines from the data on my thumb drive.

That, I believe, was my biggest mistake. Because when I started looking at the files, I found quite a few that were unreadable. Thinking it was an isolated problem, I checked every location I had a backup of the files, and (no surprise), they were all corrupt. So for a half a dozen weeks or so out of those years, I didn’t have the detailed timesheet.

This turned out not to be a huge problem, because I had invoices from those same periods, and was able to at least get the hours to add up in my spreadsheet. I proceeded to print out the entire book of timesheets that were still valid, and note the missing hours in the binder I filled with them.

My next issue turned out to be with the way I kept the timesheets when I first was working on my own. I was billing through another company to Cisco, and was reporting my status to Cisco separately, so I didn’t bother to fill in very detailed information on a daily basis. The timesheets said things like “analysis for FDF project”, or “design of component X”, so I knew my estimates were going to be based on my own memory (the worst type of historical records according to the PMBOK).

So now I figured I needed to dig through my emails, which once again turned out not to be as simple as I had hoped. I have copies of archive files from every project I’ve worked on since the early 90′s, so I thought this would be easy. But of course, nothing is ever easy. Always prepared with my fall back plan for this part of the project, I dug out my email archives, and realized that I didn’t have a copy of Outlook running (I’d switched to Entourage on my Mac a while back, and Microsoft in their infinite wisdom didn’t build a way for Entourage to read PST files).

I went to my wife’s desktop, and clicked on the “switch user” button, where I thought I’d be able to open the PST files using that copy of Outlook, only to be thwarted by some mystery on that machine. Immediately after logging in as “Rob”, the mouse stopped responding. I tried a couple of times, even deleting the new user and adding another one, with no luck. This mystery was obviously something I’d need to deal with later, but this wasn’t helping my quest for information.

So I decided to pollute my wife’s Outlook by opening my PST files while logged in as her. I clicked on “open user data file”, and started looking for my projects, only to see that not everything was there. There were folders for each project, but some of them were empty, and others were incomplete. I was beginning to feel like this was a project that was doomed to fail.

I poked around all my old backups, and found a few more PST files, and after much hunting, found the missing data in an archive file (victim of autoarchive I suspect, gotta love Outlook, archiving an archive file).  So finally I had folders for each project, and could figure out the start and stop dates, and look at email to see if I could find the missing timesheets.

Once I figured out the start and stop dates, and thought I remembered enough about each project to get started on the application, I went back to see if I could find the missing timesheets. I then ran into yet another place where I had outsmarted myself. At one point I had a much smaller hard disk, and my Outlook files were approaching several gigabytes in size.

I had just rolled off a project where I had to write a VBA macro that sent attachments to a client using MAPI, so I did an experiment: I wrote a macro that would automatically save message attachments to a folder, and place a link in the message to that file. I played with it for a while and it worked pretty well, and it made a HUGE difference in the size of the PST file.

Well, needless to say, when my external hard drive crashed, the folder that all of those attachments were saved to disappeared with it. Which means that all of the emails that have attachments in them, really only have links, which means no help there either. That was OK (other than reminding me that I need to try not to be so smart sometimes), since I had all the information I needed for the application already.

Now prior to 1994, I worked for another consulting company, so all of my time and email should have been in the backup from that job. But when I searched, I didn’t find the backup for that, so I had to resort to a combination of email (luckily the work was also at Cisco, so the emails were in the same PST file as I had been using) and estimates based on work days.

Finally after assembling all of this it was time to fill out the spreadsheet with the details about the specific time for the process groups. Being a good PM, I decided to do a PERT estimate, using the hours from the timesheet as the pessimistic (since timesheets always only reflect billable time, and not time that is above the cap), 8 hours a day, with vacation as the most likely, and 9 hours a day with vacation as the optimistic value, I calculated total likely hours for each project (formula is [P+4M+O]/6).

I then took my understanding of what I’d done on each project, and tried to come fairly close to that number (although in most cases I actually ended up arriving at something closer to the lower number).

Finally, this morning at around 10am, after almost two weeks of work, I have a reasonable spreadsheet, and I start sending it out to the people I’ve identified as my contact for validation. Once I hear from them, I will hit submit, and hopefully I’ll be on my way again to being a PMP …

On the first day of 360iDev, I was in a session to learn about programming an iPhone, and somebody mentioned that a friend of theirs had updated their iPod firmware, and couldn’t figure out how to reset it back to the prior version. Since I had recently done this, I thought I could write this walk-through.

Apple uses the iTunes application to upgrade your operating system which does a nice job and for the most part protects you from doing anything too terrible by automating the process. On the iPhone, iTunes will give you an alert about the availability of a new operating system, and ask you if you’d like to upgrade, and tell you that if you have problems you will have the option to restore from a backup.

The interesting thing about the backup piece though, is that it doesn’t really restore the firmware, only the settings. For most users this is fine since the reason for needing to go through the “restore” process is actually because of a problem with the firmware, and the “restore” does all the work required to get your phone back to working with the new firmware and your old settings.

If however, you need to go to a prior version of the firmware, the process is not so obvious. Until recently I didn’t even think this was possible for somebody to restore to the prior version unless they were a developer.

After I updated my firmware on my iPhone recently, I noticed that my hard drive was getting to be very full, which prompted me to search for what was using up my disk space. This led me to find that the old version of the firmware gets saved by iTunes when you do the update.

Firmware files have an .ipsw extension and can be found at the following locations:

On Windows:
Documents and Settings\Application DataApple ComputeriTunesiPhone Software Updates

On Mac:
~/Library/iTunes/iPhone Software Updates

Sotware updates on my Mac

To restore the firmware to the prior version, do the following:

  1. Launch iTunes (with your iPhone connected)
  2. Click the button that says “Restore” while holding down the “Option” key (use the Shift key on Windows). Note: if you get a prompt asking if you want to back up your phone, you probably weren’t holding down the key when you clicked, and you’re actually going through the restore process.

Alternatively, if you’re an iPhone developer, the XCode Organizer can also drive this process of selecting a version to install on your phone.

Organizer

In either case, the actual firmware change is done through iTunes. Now you should see the firmware file being extracted:

extracting firmware

Your phone will be reset, and you’ll see the firmware being validated in iTunes:

validate firmware

Next you’ll see the update message:

Restoring

At this point your phone will be reset back to factory settings for that prior version of the firmware. You’ll probably get the prompt that tells you an update is available, which you can cancel.

Finally if you want to restore your settings, pick the backup you want to use (you can also tell it to set up as a new iPhone, which just means you won’t have any of your settings from before).  This will restore all of your apps and setting, although you may end up with a message that tells you about applications that won’t work if you have any that are for a newer version of the firmware (in other words if your backup contains an App version that wasn’t available for the firmware you reloaded).

App warning

After all of this, iTunes will probably ask you if you want to upgrade your firmware to the current version, which is how you would go back to the current version when you are ready to do so (or you can go through this whole process again to go to a specific version). You may want to turn off the automatic update checking if you are going to switch to other versions very often.

Note that your “problem” applications from the prior message will work once again after you are on a version of the firmware that is current enough to support thos applicatons.