Archive for May 29, 2012

Tuesday, May 29, 2012

The Design of LLVM

Chris Lattner:

In the last five years, LLVM has evolved from an academic project to the universal back-end of C, C++, and Objective C compilers. The key to its success is its performance and adaptability, both of which derive from its unique design and implementation.

To me, this is some of the best work Apple is doing right now.

Making Xcode Behave

Keith Harrison:

It may be that you really want to stop Xcode from playing a “Basso” sound when a test fails but in general I find most of the default settings to be fine. The real power of behaviors comes when you realise that you are not limited to triggering them in response to an event (such as “Testing fails”).

If you click the “+” button at the bottom of the Behaviors preference pane you can add your own custom settings which can then be assigned a keyboard shortcut. This allows you to become much more task oriented. The basic approach is to define a custom behavior for each key task you perform (editing, debugging, NIB design, etc.). The keyboard shortcuts then provide a quick way to switch between tasks and always ensure that Xcode is configured just the way you want it.

See also: How to Make Xcode’s UI Work for You.

RaceSplitter—A Rejection With a Happy Ending

Matt Henderson:

Discussing that in the office, we just concluded that we must have been sent the boiler-plate response to all non-compliances with the particular referenced section of the App Review Guidelines, and that it really didn’t matter (to Apple) whether the response was actually accurate or not.