• Review: BusyCal

    When the folks at BusyMac showed BusyCal off at Macworld Expo, I was excited to see an iCal replacement. Unfortunately, at the time, it didn't handle CalDAV and we were using CalDAV at work. So, I didn't have a use for it. The BusyMac folks do great work and I've known John and Dave for years. Now that BusyCal has been released, things have changed for me. I'm not using CalDAV at work (some people are, but some are now using Google Apps for Your Domain). I downloaded BusyCal, installed it, and within about 10 minutes, purchased it!

  • Too good to be true?

    Recently I've seen a number of reviews for Ooma phone service and how you pay a one time fee and get free phone calling (in the US) forever (or until the company goes out of business). I've been looking at our $53 per month AT&T landline bill and keep wondering what we're getting for it. I've said for a long time that I wasn't going to go VOIP because of poor call quality and potentially unreliable 911 service. Well, with more and more people going VOIP, the 911 issue has pretty much gone away. Public safety answering points know how to deal with VOIP. The only question with 911 is if broadband goes out and/or power goes out. A UPS handles the power issue. As for voice quality, the reviews for Ooma have been largely good.

  • The magic geek box

    My boss loves Velcro and has Velcro straps around every wire and has taken things to the extreme by creating a Velcro board that he sticks all his cables to and sticks it in his briefcase. While this looked a bit geeky, he always has the cable he needs. While I liked this idea, I thought that a closed case would be the better way to go so that the stuff wouldn't fall out when the board is pulled out.

  • The end of unsized integers

    In recent versions of the Mac OS SDK, Apple has largely moved away from datatypes such as int and long as they have different meanings in 64 bit OSes. In a project I'm working on, this bit me twice recently. The first is that a UINT (the code was ported from Windows) was incorrectly typed to be a byte or a dword (2 bytes) when it should have been 4 bytes. If the type was a UINT32 (UInt32 in Mac speak), setting the correct type would have been easy and not confusing. Likewise, there was another case where a variable was typed as unsigned long long which was 8 bytes on a 32 bit OS, but 16 bytes on a 64 bit OS (if I'm off on the values, please forgive me). If it was specified as UInt64, that is completely unambiguous and a bug would not have occurred.