Author Archives: Joel Kraut

Joel Kraut

About Joel Kraut

Developing on Apple platforms for, holy shit, over ten years now. Find me on linkedin and twitter. My personal website is foon.us.

Mistakes Were Made: Audio and ARC

There’s a mistake I have, to my own great embarrassment, made twice, so I think it’s worth writing up for posterity. This one’s brief: you can laugh at me and move on. Under ARC, AVAudioPlayers don’t retain themselves while playing. … Continue reading

Posted in Explanation | Tagged , , , , , , , | Leave a comment

Premature Completion: An Embarrassing Problem

Working on a project recently, Jerry and I came across an odd bug. We have a two-level UI that allows the user to navigate between several different scroll views. For the sake of keeping things pretty, we want to reset … Continue reading

Posted in Explanation | Tagged , , , , , , , , | 10 Comments

Things I Learned at Siggraph II (2012)

In the interests of becoming a more well-rounded individual in the extremely narrow field of computer graphics, I spent last week in sunny LA, attending Siggraph. What follow are my notes and a little bit of synthesis from various sessions … Continue reading

Posted in Philosophy | Tagged , , , | Leave a comment

SMShadowedLayer

Impetus For a recent project, we needed to “simulate” or “fake” the look of pieces of paper in a physical environment. We didn’t need fancy physical modeling or curves and curls and folds, just perspective and shadowing during an animation. … Continue reading

Posted in Code, Software | Tagged , , , , , , , , , , , | 1 Comment

Countries of the World in an NSArray

Continuing our popular series of lists we’ve typed in so you don’t have to (although this one is thanks to sed). Caveats: scraped from a random source on the internet; may not be accurate; provided for entertainment/lorem ipsum purposes only. … Continue reading

Posted in Code | Tagged , , , , , , , | 1 Comment

Goodnight Safari

We’ve mentioned a couple of times over the past few months that there’s a side project keeping us busy. Today we are proud to announce that said project has shipped, and we can tell you all about it (except for … Continue reading

Posted in Software | Tagged , , , , | 1 Comment

Mistakes Were Made: Integral Bounds

Here’s another mistake from the day job. (Why do they pay us? Because we do eventually find and correct our errors?) “Misaligned” CATextLayers As you may know, the Core Animation instrument has a flag to “Color Misaligned Images“. This is … Continue reading

Posted in Code | Tagged , , , , , , , , | Leave a comment

All in the Timing: Keeping Track of Time Passed on iOS

Imagine you’re writing a game called Small Skyscraper. It’s one of a certain type of freemium game: it’s not particularly difficult, but achievements take a lot of time. You make money by selling in-app purchases to reduce the amount of … Continue reading

Posted in Explanation | Tagged , , , , , | 1 Comment

Lion: Breaking the Boundaries

New operating systems always bring so much to be annoyed by. In an attempt (perhaps already failed!) to look less like a curmudgeon, I’m going to talk about one of these things in a constructive way. Full-Screen Animations in Non-Full-Screen … Continue reading

Posted in Philosophy | Tagged , , , | Leave a comment

CALayer Internals: Contents

It’s right there in the CALayer documentation: contents An object that provides the contents of the layer. Animatable. @property(retain) id contents Discussion A layer can set this property to a CGImageRef to display the image as its contents. The default value is nil. There’s … Continue reading

Posted in Explanation | Tagged , , , | 1 Comment