Yesterday, my wife and I went shopping for some outdoor umbrellas. Not just any umbrellas, but ones that would extend over our pool (I went swimming on Saturday and my wife and son sat under one of our regular umbrellas on the side of the pool and we thought it would be a good idea to get some shade actually over the pool). We went to Home Expo and found nothing; next stop was Home Depot where we found 2 umbrellas, but no bases for them. Then came Costco, Lowes, and another Home Depot. Nothing. (We always tend to miss the right time in the season to buy.) We looked online and I found several, some with free shipping. Problem was if we didn’t like them, returning them would be problematic due to the weight. I found the same umbrella we saw at Home Depot on their online site for the same price and free shipping. However, online purchases can’t be returned at the stores. Hmmm. The listing has an in store SKU, so I started calling stores. The store we went to said they had 5 available and would visually check the stock. After being transferred around for a bit, I finally spoke to someone who was yelling to someone that had a clue. Turns out they had 2 without bases (I could have told them that). They didn’t know where the other 3 or the bases were.) I’m not sure how you lose bases (there were 2 boxes per umbrella) that weight 114 pounds! I found another store (35 minutes away) that said they actually had 6 and set one aside for me (I asked for two). We drive up there (this was the first adventure with the little on in my car as his seat is on one side in my car and in the center in my wife’s car, so we could fold down one seat) and managed to get 2 umbrellas in my car. Wow, those are heavy. After getting home and having a neighbor help me pull them out of the car, I put them together and am quite pleased.So, it’s a good thing we got them at the “end of the season” otherwise I would have overlooked this model (it was 25% off). Too bad it was such a pain to get what I wanted. Such is life in the big city.
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.
Exceptions and error handling
One of the things users hate to see are bugs in programs, so there are many techniques for attempting to catch them before a user sees them. One that is routinely used is exception handling. However, some developers like to use exception handling instead of preventing the issue or gracefully handling it. For example, I was working on code to present errors (in a worst case scenario) to users and trapped the error handling. As I did this, I kept noticing strange exceptions being thrown when my app started. Turns out that Apple uses exceptions (which are benign) in Core Data for its parsing of XML. Personally I don’t think this is a great way of handling things, but who am I to judge?
On the same topic, I had a rash of users complain that they lost data in my apps. I was very perplexed as I’d never seen this. I took a look at the code where I save out the data and noticed that I had put the entire save routine along with some other routines in an exception block with the save being at the end. This meant that if there was a problem with the first chunk of code, the data would never get saved. While I still have no idea what would cause the first chunk of code to fail, I pulled the save out of the exception handling and have yet to receive a problem report (knock on wood).
So the moral of the story is to carefully watch how exceptions are used and don’t go overboard with exception handling.
Recovering my sales tax
After several email exchanges, I’ve been refunded the $6.93 and $3.10 from ASI Order and VMWare, respectively for the sales tax they collected on my completely electronic downloads (the first for the marathon pictures I ordered and the second for a copy of VMWare Fusion). This is a small victory for me, but I feel that these companies need to get with the 20th century and look at the tax laws for electronic commerce. ASI Orders appears to still be charging sales tax on their website, so I suspect they refunded my money on the sales tax to get me to be quiet.
DocumentWallet on MacUpdate Promo
Tomorrow, Tuesday, July 3, DocumentWallet will be on MacUpdate Promo for a special price. This is a one day only promotion and may not be repeated in the future, so hurry. If you’ve already a ReceiptWallet user, you’ll get a better price by going to the coupon form on our website to have a 50% off (regular price) coupon sent to you.
4 Mice Review of ReceiptWallet!
A friend of mine sent me a copy of an article in the August 2007 issue of Macworld magazine (the print issue that isn’t available on newsstands, yet, just to subscribers) that lists the most useful Mac applications. ReceiptWallet is listed in it and received a 4 mice review (that little blurb is the review). That’s not too shabby for my little side project. I’m not sure why it wasn’t a 5 mice review, but I’m pretty pleased. This definitely accounts for the nice sales increase this past week.
(I was going to call this entry, 4 rat review of ReceiptWallet, but decided against it. Way back when I worked in the print shop at my high school, we always used to joke around that the mice ratings were rat ratings; not that they were bad, but it was just entertaining to say things got a 4 rat review.)