Monthly Archives: March 2009

(Lack of) Time Warner Internet Problems

I first started having intermittent connection issues with my Time Warner Internet connection sometime in May of 2008. After dealing with a total of 15 different individuals in Time Warner Technical Support over the course of 8 months, I finally got the issue resolved on February 3rd, 2009. On February 3rd, a technician came out and replaced our modem for the second time. I’m not sure what made this change different, but our connection has behaved itself since. I posted the scripts I use to monitor my connection, reboot the modem, and parse the log file on my personal website a while back. Now that things appear to be working correctly, I decided to parse my logs and see what they show.

Jul 2008: 472
Aug 2008: 507
Sep 2008: 188
Oct 2008: 217
Nov 2008: 1084
Dec 2008: 935
Jan 2009: 348
Feb 2009: 160
Mar 2009: 144

Downtime is counted in minutes. That means that in February and March, we experienced around 5 minutes of downtime per day. Most likely these minutes were non-conservative and were not noticeable. During the worst months of November and December, we experienced more than a half hour of downtime each day. This was quite noticeable and often occurred in 3, 6, or 9 minute blocks of downtime.

The best conclusion to take away from this is that pinging a server every minute to check connection availability is not granular enough to be overly useful statistics, but it was very useful to ensure that our Internet connection did not remain down for hours at a time.

svn switch

I’ve struggled with this command for a while. It should let me change the URL of a directory in a repository, but I’ve never had any luck. It turns out it wasn’t so hard. Running “svn info” shows the current URL and that it ends in “cosc170”.

[email protected]:~/compilers$ svn info
Path: .
URL: svn+ssh://dakara/home/zac/repositories/marquette/cosc170
Repository Root: svn+ssh://dakara/home/zac/repositories/marquette
Repository UUID: e0bd8123-bfd5-445b-929b-77a6dd82f418
Revision: 29
Node Kind: directory
Schedule: normal
Last Changed Author: zac
Last Changed Rev: 27
Last Changed Date: 2009-01-31 15:06:57 -0600 (Sat, 31 Jan 2009)

I want to change “cosc170” to “cosc/170” because I already made this change in the repository and the URL is out of date on this working copy. Therefore, I type “svn switch” followed by the new URL and then a “.” to specify the current directory.

[email protected]:~/compilers$ svn switch svn+ssh://dakara/home/zac/repositories/marquette/cosc/170 .
At revision 36.

It updates the URL and the working copy. Now a “svn info” shows the correct URL and the updated revision number.

[email protected]:~/compilers$ svn info
Path: .
URL: svn+ssh://dakara/home/zac/repositories/marquette/cosc/170
Repository Root: svn+ssh://dakara/home/zac/repositories/marquette
Repository UUID: e0bd8123-bfd5-445b-929b-77a6dd82f418
Revision: 36
Node Kind: directory
Schedule: normal
Last Changed Author: zac
Last Changed Rev: 33
Last Changed Date: 2009-03-09 23:18:47 -0500 (Mon, 09 Mar 2009)

When the directory structure of a repository changes, it isn’t necessary to check out a new copy. The existing working copy can be updated to reflect the change to the repository.

Recording Cell Phone Voicemails

My girlfriend Clarissa asked me if it is possible to save a voicemail message that is stored by her mobile provider’s voicemail system. The short answer is no, but I figured I could do better.

Google released Google Voice which replaces GrandCentral. I went ahead and upgraded my GrandCentral account to a Google Voice account. It went smoothly, and now my Gmail account is integrated with my old GrandCentral account. I have my Google Voice account configured to ring my office phone, my mobile phone, and a Gizmo5 SIP account.

Back to saving a mobile voicemail message. Since it costs to dial out through Gizmo, I figured I could place the call through Google Voice and answer it with the Gizmo client on my laptop. Then I could use Gizmo to record the voice mail message and then send it to Clarissa. I entered her mobile number on Google Voice and hit dial. I answered it on the Gizmo client, but pressing # did not prompt me to enter her PIN to check her messages. When I tried doing the same thing on my office phone, it worked fine. After a bit of creative thinking, here is the solution that I came up with:

  1. Dial my Google Voice phone number on my office phone, and then answer the call in the Gizmo client.
  2. Start a new call on my office phone, and dial Clarissa’s mobile number.
  3. When Clarissa’s recorded greeting starts playing, hit #. When prompted for her PIN, enter her PIN.
  4. Conference the two calls together on my office phone, and mute myself on the office phone and in the Gizmo client.
  5. Hit record in the Gizmo client.
  6. When the message is done playing, hang up the conference call on my office phone, and hang up the call in the Gizmo client.
  7. Edit the recording to remove unnecessary audio from the beginning and end of the message.

There you have it, an elaborate solution to record voicemails stuck in your mobile voicemail inbox. I have been using YouMail to avoid this problem, and I plan on helping Clarissa switch to it soon.

Bad Bash Sourcing

A while back I switched such that my .bash_profile sources my .bashrc instead of the reverse. Based on a few sources, this seems to be the preferred approach. Today I decided to push those files to a few servers that haven’t been updated lately. I transferred my .bash_profile and then my .bashrc:

[email protected]:~$ scp ~/.environment/bash/bash_profile lansky:~/.bash_profile
bash_profile                                  100%  120     0.1KB/s   00:00    
[email protected]:~$ scp ~/.environment/bash/bashrc lansky:~/.bashrc
lost connection

What happened? My .bash_profile sources my .bashrc, but since I hadn’t yet replaced the .bashrc, it still sources my .bash_profile. That means infinite loop and that I am an idiot. SSH, rsync, and scp are all broken. There is no way to remove or replace either of those files without another account. I guess it’s time to open a support ticket at DreamHost.

The moral of the story is to always be careful how you source those files. I usually try to keep an SSH session open on the remote machine when I modify those files in case I break login, but this time I didn’t. A few searches didn’t reveal any solutions. I’d love to know if someone has a way of resolving this without access to another account on the remote machine.