• $2000 dog bone

    No, we don't feed our dog diamond studded bones or anything like that. We've been letting him chew on a plastic Nylabone. He loves them and goes through them periodically. Well, on Sunday we were playing with him when I noticed a tooth fragment on the ground. My wife looked in his mouth and saw the tooth with the pulp exposed. After reading that this could be serious, I took him into the vet yesterday. The vet said that it was a fractured tooth and the tooth was a major one. The only option is root canal since Marley (the dog) is only 3.5 years old (older dogs he'd recommend just giving antibiotics and depending on the tooth, extracting it) and he really needs the tooth.

    There are basically 2 veterinary dentists in Southern California; one here in San Diego (there are less than 100 board certified veterinary dentists in the world). The vet called later in the day after talking to the dentist and gave me the bad news; it was going to be close to $2000 for the root canal plus $250 for X-rays prior to the procedure. Ouch. So, the dog is scheduled for his root canal next Friday. While we have pet health insurance, I think we'll be lucky if it covers half. (Yes, we have insurance for our dog; while it may seem frivolous to some, the costs as seen here, for some procedures are extremely high.)

    I hate that this is going to cost a chunk of change (and will likely delay the purchase of some stuff), when do you say stop paying for your pet? Isn't your pet family? I know that Marley is a big part of our lives and I can't imagine life without him. I know that his time will come, but until that happens, we're going to do all that we can do for him.

  • ReceiptWallet 2.0 Released!

    I am pleased to announce that ReceiptWallet 2.0 has been released along with a completely redesigned website! Thanks goto Julie Bender for the new website design, my beta testers for finding all the bugs that I couldn't have found on my own, Eric Ullman for my press release, and of course, my wife, for putting up with me while I got this release out the door!

    I'm very excited not just about the software release, but about the website as it now looks professional and all 5 components of my site are themed the same (the main site, the knowledge base, the store, the news area, a WordPress install, and the contact area). A lot of work went into getting this site to work smoothly and I think it looks great! I'm biased, but I've seen few "indie" developer sites that have the same look on all pieces of their sites; some get close, but leave out a piece here or there. I figured that while I was getting my site redone, I might as well go all out and make it all be consistent (as much as possible). My site looked like crap before and I should have made the leap earlier to get a professional to do it, but that's now 20/20 hindsight.

    Oh, and this ReceiptWallet upgrade is FREE to all ReceiptWallet and DocumentWallet users!

  • Important lesson in using NSLocalizedString

    In ReceiptWallet 2.0, I use an ellipses in a number of places for menu items, window titles, etc. I switched all my source files to UTF-8 and started using ellipses in the NSLocalizedString macros to make localization easier whenever I get to that point. Well, despite using UTF-8 for the file encoding, something went horribly wrong that I didn't notice until today. The ellipses caused a bunch of my menu items to take on names of other things, like Scan Receipt became Combining Documents…. Huh, I thought. So after a bunch of research, I found the solution. 1) Replace … with \\U2026 and 2) In my script phase where I run genstrings to generate the Localizable.strings file, add a -u flag. While that seems like an easy fix, I almost went bonkers today as I'm nearing the ReceiptWallet 2.0 release and this would have been bad.

  • Package Based Documents

    There have been a number of postings about having a Cocoa document based application where the documents are packages. None of the posts seemed to nail exactly what I wanted, so I managed to piece together a bunch of posts and came up with some sample code to demonstrate it. I used this as a basis for ReceiptWallet 2.0, but have made a bunch of changes since then. Feel free to use this code in any way you see fit, but I make no promises of how well it will work for anyone besides me.

    Grab the source