Archive for March 31, 2013

Sunday, March 31, 2013

Universal Procedure Pointers

Uli Kusterer:

A UPP was a simple data structure that described the calling conventions and location of a PowerPC function in RAM, and started with a 68000 instruction. This data structure could be handed to any system function where it expected a callback, and could be executed by 68000 code just like a function pointer.

[…]

But of course the Intel CPU didn’t have that [endian] switch. And since an emulator only knows about raw bytes, the PowerPC emulator (“Rosetta”) in Intel Macs could not transparently convert the stored bytes. So it was decided to not allow mixing of PowerPC or Intel code at all. There would only be a tiny bit of translation at the point when a PowerPC application called into the system.

Hotline Revisited

Benj Edwards:

At the height of Hotline’s popularity in the late 1990s, users could connect to thousands of Hotline servers that suited every imaginable user interest. Many of them catered to underground tastes, providing pornography, MP3s, and warez (pirated software) with almost free reign, which attracted the lion’s share of media attention during Hotline’s heyday. But beneath the sensational headlines, strong communities formed through Hotline that led to lifelong friendships and emotional support groups.

10 Things You Need to Know About Cocoa Autolayout

Ole Begemann:

Unfortunately, using autolayout with Interface Builder forces you to be careful. For instance, if you find that you need to replace one control with another, deleting the original from your layout can lead IB to automatically create a bunch of new constraints that you then need to modify manually (again) once you have inserted the replacement control. It is probably not a good idea to constantly try to optimize your constraints while your layout is still in a state of flux. Better do it at a later stage when it is more stable.

Wil Shipley:

Constraints: The coolest technology in 10.7 masked by the WORST interface editor ever inflicted on humans.

Algolia

Algolia is a closed-source indexing and search engine for multiple platforms, with an Objective-C API. Apparently it’s faster and more efficient than Search Kit, which has languished and is not available for iOS.

Low-Cost iPhone

Pierre Lebeaupin:

But I think the most important reason is that having dedicated base models would allow Apple to sell devices where the hardware design flaws of yesterday (visible or invisible) are fixed, instead of having to keep having to take them into account in the next X years of software updates.

I recently came across a guy who was lamenting that he had just bought an iPhone 4. He had heard of Antennagate but thought Apple had fixed the problem. Yet, almost three years later, the iPhone 4 is still shipping with the same flawed antenna design. He’d spent the past week visiting a major US city, where his friend’s iPhone 4S consistently had better coverage on the same network.

Periodically I hear about cheap Android phones, and I’m about to chime in that there’s a “free” iPhone model, too. Then I remember my own horrible experience with the 4. I can’t believe Apple is still selling it.