• Hell has frozen over

    Earlier this year, a friend of mine that I've known for over 15 years told me that he bought an iPad. Normally I'd think nothing of it, but this friend has been writing Windows code (Windows desktop, mobile, embedded) for a long time and never came close to a Mac or Apple products. Then in October, he told me he got an iPhone 4S after liking his iPad. Oh no, what was next?

    A few weeks back, he started asking me how hard would it be to learn iOS development. I told him it would take a little bit of time and that I'd help him if needed. One of his clients was interested in having him do some iOS development.

    Today, he let me know that the 13" MacBook Air that his client sent had just arrived. In less than a year, he now has basically a complete line up of Apple products (save for the Apple TV and some lesser used items). Will he come over to the Mac and iOS? I just read an article this evening about a former Microsoft Evangelist quitting his day job to write iOS apps. Maybe this will happen to my friend as well; it will give me something to pester him about if he does. "Why did it take you so long to wake up?" :-)

  • Review: Klein Non-Contact Voltage Tester

    I'm not much of a tool person, but have my collection of tools and occasionally pick up something that looks like it could be useful. After one of my last projects doing electrical work, I picked up a Klein Non-Contact Voltage Tester from Home Depot. The concept is pretty simple, turn it on, wave it near a wire, electrical outlet, light switch, etc. and it will beep if there is electricity flowing. I've used it a few times mainly just to see how cool it is.

    This past weekend, I discovered that the motion sensor in an outside light wasn't working, so I needed to fix it. The problem was that since it wasn't working, I didn't know which circuit breaker to turn off and just relying on the light switch was potentially dangerous. While the switch was in a box with 2 other switches, I could hope that they were all on the same circuit, but given my luck, someone probably went against code and wired it such that 2 circuit breakers controlled the box.

    I remembered that I had the Klein tool and pulled it out. With the breaker on, waving the tool over the switch showed electricity flowing. While I went outside to the breaker box, my wife, used the tool and let me know when I hit the right breaker. I was pretty confident that I wasn't going to get shocked, so I took the light off the wall, used the tool again and verified that I wasn't going to get zapped.

    This tool is absolutely a tool that should be in every handyman's (or handywoman's) toolbox. It's relatively inexpensive and saves you the trouble of getting knocked on your rear when you touch the live wires.

    Pros

    • Relatively inexpensive.
    • Uses standard batteries.
    • Easy to use.

    Cons

    • After changing the batteries the button gets stuck a lot requiring some wiggling to get it to work.

    Summary

    I definitely recommend this product. I'm sure I can resolve the hiccup with the switch by rubbing a little bar soap on the places that the button rubs. I wish I had gotten this years ago as I've gotten zapped at least twice because I wasn't careful enough; I do test every outlet, but made assumptions because outlets in the same room were out, but not the ones that zapped me. This tool would have immediately told me to stop; it's easier to use than a standard 3 prong tester or a regular test meter.

  • Are you my neighbor?

    When I went to walk my dog this evening, I found a present at the end of my driveway.

    IMG 0767

    With neighbors like these, who needs enemies? I did clean it up after I got back, but I find it very rude that some people don't pick up after their dogs.

    (My wife thinks it could be from a coyote, but I don't think so. We live near a canyon, so it is a possibility.)

  • Working with blocks

    In Mac OS X 10.6 and iOS 4, Apple added blocks to Objective-C. When I first started looking at them because various APIs used them, the syntax confused me, and I pretty much ignored them as I was still doing work that ran on iOS 4 and Mac OS X 10.5.

    This spring, all my projects moved to iOS 4 and Mac OS X 10.6 as the minimum requirements, so I took another pass at learning blocks. This time, however, I could actually use them and read all I could about them. The more I started looking at them, the more I became enamored with them. I started using blocks in my own APIs and just finished rewriting a significant chunk of code using blocks. Using blocks has made my code more readable and has greatly simplified certain aspects of our app.

    One of my co-workers cautioned me to not use blocks just because they were the shiny new tool which I admit was what I was looking at doing. However, after using them, we found that using blocks was pretty much vital to making our code more readable.

    For developers that aren't familiar with blocks, I'd suggest learning them. With most iOS apps having a minimum OS of 4.0, there is no reason to avoid them.