Archive for May 11, 2013

Saturday, May 11, 2013

True-Color GIF Example (via Mathia Bynens):

While using more than 256 colors in GIF is in most cases a bad practice, and should be limited to certain technical cases where extreme size can be tolerated, a statement that the GIF image file format is limited to 256 colors is simply false.


I took a screenshot so interested people can see how badly images can be mangled by the proxies used by some mobile companies.

buddydvd says it’s slow in Safari because:

It’s actually more of a hack to deal with malformed GIFs and goes directly against spec. To address GIFs where each frame has a 0 frame delay, most GIF decoders implement a minimum frame delay value.

More In-Store iProduct Repairs


The workload of Apple retail store Genius Bars is scheduled for a huge increase later this year, after the company introduces a revamped AppleCare product that includes a longer list of iPhone, iPad and iPod problems that will repaired in-house. The changes will reportedly save the company $1 billion a year, but could also significantly lower customer satisfaction with time-consuming repairs, instead of being handled in five minutes with a swap-out.

The current swap policy is nice for those of us who don’t live near an Apple Store, but perhaps actual repairs will make addressing common hardware problems more affordable.


Henry Robinson (via Hacker News):

No subject appears to be more controversial to distributed systems engineers than the oft-quoted, oft-misunderstood CAP theorem. The purpose of this FAQ is to explain what is known about CAP, so as to help those new to the theorem get up to speed quickly, and to settle some common misconceptions or points of disagreement.

(Hat tip to my mentor Nancy Lynch, who proved the theorem.)

Windows Kernel Performance

An anonymous Microsoft developer (via Romit Mehta):

Windows is indeed slower than other operating systems in many scenarios, and the gap is worsening. The cause of the problem is social. There’s almost none of the improvement for its own sake, for the sake of glory, that you see in the Linux world.

Granted, occasionally one sees naive people try to make things better. These people almost always fail. We can and do improve performance for specific scenarios that people with the ability to allocate resources believe impact business goals, but this work is Sisyphean. There’s no formal or informal program of systemic performance improvement. We started caring about security because pre-SP3 Windows XP was an existential threat to the business.


Maarten Billemont presents a framework for working around Core Data iCloud bugs (via CocoaPods):

While Apple portrays iCloud integration as trivial, the contrary is certainly true. Especially for Core Data, there are many caveats, side-effects and undocumented behaviors that need to be handled to get a reliable implementation.

Unfortunately, Apple also has a bunch of serious bugs left to work out in this area, which can sometimes lead to cloud stores that become desynced or even irreparably broken. UbiquityStoreManager handles these situations as best as possible.