A week of server woes

Last week was another one of those weeks where my server decided not to cooperate. On Wednesday morning, I copied 7 GB of photos to my server so my wife could tag them and upload some of them (not 7 GB, of course) around 8:15 am. Every 2 hours, my server automatically backs up to a secondary hard drive. Apparently this process (using rsync) combined with other stuff going on (that’s my current theory) caused my server to have a fit and crashed around 10:30 am. Then the process kept continuing as it kept trying to copy the files every 2 hours. Then at around 1 am, my server backs up everything to tar/gzipped files which caused it to crash again due to the load getting way too high combined with higher external temperatures. I finally figured out what was going on around 2:15 am when I was up with the little tike and got my server stablized by excluded the photos directory. Then on Friday when I was doing backups, there was some corruption on my backup drive which caused the CPU load to spike to 14 (normal is about 0.25 or less) and prevented me from unmounting the drive. A quick reboot got me up and running again. I reformatted the backup drive, did backups to it and everything has been running smoothly. During this whole fiasco, I increased the case fan speed to the max and brought the temperature down a bit.

Phew, everything is working again with very little downtime. I still refuse to co-locate my server somewhere as I like to have complete control over things and am extremely paranoid about backups (see my post on what I actually do.

Soon I should probably replace the main drives in my machine as they’re over a year and a half old. While that may not sound old, they’ve been running 24/7 since I installed them. Since the drives are in a RAID 1 configuration, replacing them should just be a matter of shutting down, yanking one drive, putting in a new drive, formatting it, let the RAID rebuild and then repeating the process. Anything I can do to prevent another crisis is well worth it.

Keeping good on a promise

In a pervious post, I said that I’d purchase the products from Potion Factory even though I currently have no use for them because Andy Kim’s open source PotionStore is a perfect solution for my own store. Well, I kept forgetting about this and finally got around to making the purchase this morning. Thanks again, Andy, for the store; not only is it working beautifully, it has also gotten me interested in Ruby on Rails.

Dumped Sirius!

Today we finally dumped Sirius radio! We got it as a gift from my in-laws a few years back and they’ve been paying the fee since then which was fine, however, we got real annoyed at the DJs. In January, we got my wife a new car with a built-in XM receiver and she enjoyed the 3 months free. However, I held out subscribing until they sent me an offer I couldn’t refuse (the dealer said to wait until they sent a good offer and they sent several offers). When I subscribed, it also came with free online access which was pretty neat. I found an XM Radio plugin for my Squeezebox and was pleased. I discovered that I could stream 2 XM stations at once, so I picked up another Squeezebox today (used) and hacked the XM plugin code to let me connect twice. Now we can stream 2 XM stations at once or have XM on one Squeezebox and MP3s on the other; this also works out well so that we can play children’s music on one box and whatever we want on the other. Very cool. Goodbye, Sirius and the crappy DJs! (I hope things don’t go downhill when/if the Sirius/XM merger is finalized.)

I rock!

Well, today I completed my second Rock ‘N’ Roll Marathon. I registered for it last year before I knew that my wife was pregnant. To say that training was a bit tough and I wasn’t ready was an understatement. Our son is just over a month old and I haven’t run long runs in months. However, my goal was just to complete the marathon again. I’m not sure how I did it, but I beat my last year’s time by over 12 minutes; I came in at 4:02:37 which still amazes me.

Will I run another marathon? At this point, it’s unlikely. My reason for running my first marathon was to prove to myself that I could do it; with that behind me, I have a lot less motivation to run another.

get.jpeg

New family addition

It’s been awhile since I blogged last and there is good reason for that! On May 3, we welcomed our newest addition to our family, Aiden Pierce Gruby. He has been keeping us busy and I’m sure he’ll do so for the next 18 years!

Aiden

Whoa…Sprint actually came through!

I’m now through a few billing cycles with Sprint after the guy at the Sprint store mucked with my account. As I posted before, I got 4 additional lines (and phones) and my bill was supposed to drop by about $20 per month. Low and behold, it actually has (it takes a few billing cycles to work out the plan changes)! So I have 4 phones sitting on the shelf doing nothing. I probably could get a few bucks more off per month (one discount I have wasn’t applied to 4 lines), but I’m not going to sweat it. I would also have liked free mobile to mobile calling on all lines (there are 10 on my account and only 5 have mobile to mobile), but since we don’t go over our minutes, it isn’t a problem. I did have to sign up for another 2 year contract, but that’s minor as I don’t see switching off Sprint any time soon; coverage is good for me (and my family) and they finally have phones that I like (my wife and I have the Motorola Razr V3m). You might be asking why I have 10 lines on my account; 4 lines are idle (phones on my shelf), one used by me, 1 by my wife and the other 4 by my family members. They get a sweet deal piggybacking off my account, but I don’t mind as long as we’re under our allotted minutes.

For all my complaining about Sprint, this time I can really say, thanks for doing something right!

I don’t play well with others

For years I’ve known that I sometimes don’t work well with others; this wouldn’t be much of a probably if it was every now and again, but for me it is something I have to work on all the time. I was thinking about this the other day and figured out when this started happening. It was my senior year in college when I had an internship and had to work with a QA person. This QA person had no clue about consumer software and if it didn’t work right for him, it wouldn’t pass. The problem with this is that he was testing from a lab where he had to dial a 9 to get an outside line where our product was targeted at the home user that just had to dial a number (the product setup a dial up networking account). So we kept having to write code to get QA to pass it. This annoyed me to no end because this person just didn’t seem competent to me and actually hindered the product (he wasn’t the only person that hindered it; whoever setup the deal did some poor negotiating). This wasn’t my last time having to write code to get QA to get off my back.

I was OK for awhile as I dealt with people that I thought were competent, but whenever I ran into someone that I didn’t think was competent, things got messy. I won’t say that I’m a genius (OK, maybe I am :-)), but I’m able to think through problems very quickly and when people can’t keep up or don’t come to a conclusion as quickly as I do, I get frustrated and it makes me look like I’m not a team player. In addition, I have a very good memory (knock on wood), so I recall conversations, email messages, web sites I visited, etc. So if someone asks me a question that I know has been answered already and they received a copy of the answer, I’m very quick to jump on him. If I don’t recall the answer or don’t know the answer, I know how to quickly find the answer; something that whoever asked the question should be able to do, in most cases. The Internet is a very powerful tool if you know how to use it.

To make matters worse, I believe that every engineering project should make money (I basically learned this in college; no sense investing resources in something that is dead from the start). This point got me into trouble as well as I can’t recall the number of projects I’ve been on where from the get go, management knew the project wouldn’t make money, but continued to invest time and money into it for years.

This problem has delayed a promotion for me and many times made me want to get up and leave what I’m doing. It’s a good thing I work for myself now, otherwise, I’m sure my boss would have fired me a long time ago! While I don’t think I’ll ever overcome this issue, I’m always working on it. I like working with the best of the best and unfortunately I don’t always have that option.

The nice thing about writing my own software is that I only have one person to blame and that’s me. I try to be as courteous as possible to my customers, but frankly, some people are just too clueless to use my software even if my current products are easy enough for my parents to use (my parents aren’t dumb, but sometimes aren’t the most computer savvy). Some customers really try my patience and in the end, sometimes they are right, but in many cases I feel like a broken record.

DocumentWallet Released

Today I released DocumentWallet, a product similar in concept to my ReceiptWallet program. The two programs share much of the same code, but I felt that they needed to be separate applications. The market for this type of program is quite crowded and I own a few of the “competition”, but didn’t find any one of them to meet my needs. I hope that others feel the same way. I think I’ve done some clever sales tactics by offering it for 50% off for ReceiptWallet customers. I also decided not to penalize people that buy one and then want to buy the other. Some vendors give you a great deal for a bundle, but if you don’t buy it then, tough luck. I now choose to run my business in a way that my customers want to come back. Having an easy to use product should make it easier to sell than some of my past products. I hope it sells well.

Upper body pain – huh?

Today after my run (training has begun for my 2nd marathon), I started to feel pain in my upper body. This doesn’t happen after a run so I started thinking, what could cause this? Then I remembered I started playing my Nintendo Wii 2 days ago. While I haven’t played with it much, the swinging action is doing a number on me. I thought I was in decent shape, but it’s making me work in a way I didn’t expect. Thanks Nintendo!

A solution to an annoying ScanSnap issue

I’ve now had my Fujitsu ScanSnap fi-511E0XM for less than a day now and one thing that I found quite annoying is that if I wanted to scan between scanning to ReceiptWallet and to another application, say preview, I had to go into the ScanSnap Manager preferences (sorry, settings), and change the app. The app has a dock menu, so it wouldn’t have been rocket science to let me switch between apps from the menu. So, with a point in the right direction from a colleague, I present ScanHelper. ScanHelper is a small application that places a menu in the menubar that lets you select which application should be used for scanning. Simply tell the ScanSnap Manager to use ScanHelper and then ScanHelper routes the scans to the selected application. You can now easily select a destination right from the menubar. I’m releasing this as free software, but if you like it, please buy my ReceiptWallet application. You can download ScanHelper here.