Wednesday, February 18, 2009

Tuesday, February 17, 2009

Humor in Apple documentation

Found in "iPhone Dev Center > iPhone Reference Library > Topics > General > Security Overview > Security Services":
The procedure for signing code is not time consuming and requires few resources. See Code Signing Guide for details.

Friday, February 13, 2009

Yet another bad bluetooth headset

Just got my new Aliph Jawbone bluetooth headset. It's not quite epic fail, but it's bad. I could hear the other person fine, but she said I faded in and out - basically transmission quality was completely unacceptable. It goes into the dustbin along with the Samsung WEP301 (rated "useless junk" for terrible sound quality).

Google for domains sync to iPhone

To configure the new iPhone sync system for your Google for domains setup, use:

https://m.google.com/sync/settings/a/example.com/iconfig/

(Where example.com is replaced with your domain)

Tuesday, February 3, 2009

Building parameters strings for the iPhone from NSDictionary objects

Here's the code I use to build parameters strings for URLs on the iPhone.  It adds a method to NSDictionary to convert a dictionary to a parameters string:



What that mysterious %al means in gdb

If you're looking at Xcode's instruction pane in gdb, and you're on an Intel platform, %al is the least significant byte of the EAX register. So code that looks like this:
0x0000661a  <+0251>  call   0x3c21a <>0x0000661f  <+0256>  test   %al,%al0x00006621  <+0258>  jne    0x6650 < -[ConfCallStatusTableViewController mergeConfCallStatusViaNotification:]+305 >
Translates to:
  1. Call dyld_stub_objc_msgSend
  2. AND the least significant byte of the EAX register with itself. The point of this is the side effect - it sets the bits in the EFLAG register that will be used in the jne instruction that's coming next.
  3. Jump-if-not-equal to -[ConfCallStatusTableViewController mergeConfCallStatusViaNotification:]. jne looks at 'equal' bit that was set in the previous step, and if that bit is set, it jumps. If it's not set, just continue on to the next instruction.
Check out Wikipedia for a decent simple into to Intel assembly. I found the note about what %al in a course tutorial.