Rixstep
 About | ACP | Buy | Industry Watch | Learning Curve | News | Products | Search | Substack
Home » Learning Curve » Developers Workshop » One Year with Lion

One Year with Lion (5)

Year Two might be better.


Get It

Try It

CUPERTINO (Rixstep) — Apple's OS X 10.7 Lion was introduced one year ago next week. It's been a bumpy ride. Lion's successor is due out within days. Let's hope for something a bit better.

'Fireworks in Apple's /usr/bin/clang'

It's impossible to rigorously test compilers. That's what makes creating them so difficult. You can only be careful and hope for the best. And test test test. Prefab backends and front ends can make things easier.

The worst thing in the world for a computer scientist is witnessing a compiler out of control.

Microsoft shipped their own compiler for Windows 3. They never used it internally - they purchased a licence to a compiler from Zortech instead.

The compiler Microsoft sold to third party vendors for serious pocket change was worthless - so worthless that competitor Borland took out the two page opening spread in Microsoft Systems Journal for months on end to show letters they'd received from purchasers.

The code was flawed. Sometimes the sorry thing wouldn't even work - you'd issue a command to start it and it'd just spit back the command prompt again.

The scariest thing in the world.

Imagine then the horror when developers using Apple's new LLVM compiler encounter the same thing.

Process:         clang [19399]
Path:            /usr/bin/clang
Identifier:      clang
Version:         3.1 (318.0.61)
Code Type:       X86-64 (Native)
Parent Process:  clang [19398]

Date/Time:       2012-07-03 15:00:34.498 +0200
OS Version:      Mac OS X 10.7.4 (11E53)
Report Version:  9

Crashed Thread:  0  Dispatch queue: com.apple.main-thread

Exception Type:  EXC_BAD_ACCESS (SIGSEGV)
Exception Codes: KERN_INVALID_ADDRESS at 0x0000000000000000

VM Regions Near 0:
-->
    __TEXT                 00000001070ea000-00000001082a3000 [ 17.7M] r-x/rwx SM=COW  /usr/bin/clang

A compiler that crashes.

'Mixing Metaphors'

Apple have been using the NSBrowser code class for their file I/O dialogs for some time. Someone got the great idea to use NSOutlineView instead. Except it doesn't work too good.

Start here. To save a file. Start in ~/Library but after that select Application Support. Note the popup above the file listing does not change to Application Support.



Now change the display mode to the old default NSBrowser. Note that by simply changing the mode, the popup changes to display Application Support.



Now switch back to the original NSOutlineView. Note the popup does not change and the file listing is not the same as the original.



Playing around with the interface will make the user almost as confused as the Apple engineers who designed it.

One | Two | Three | Four | Five | Six

See Also
Industry Watch: 10.7 Roars
Industry Watch: Lion: Kernel Panics
Industry Watch: Lion: 'Ten Days After'
Industry Watch: Got Lion? Get OWNED?
Industry Watch: Apple Lion Security Update

The Technological: OS X Lion 10.7.2 WTF?
The Technological: Lion's Bulging Scroll Bars

Developers Workshop: Apple Rooting Their Own Systems?
Developers Workshop: Fireworks in Apple's /usr/bin/clang

9,737 files (97,370 data cells) in 0.143 seconds. Beat that, Apple.

About | ACP | Buy | Industry Watch | Learning Curve | News | Products | Search | Substack
Copyright © Rixstep. All rights reserved.