025 iPhreaks Show – The Accelerate Framework with Jeff Biggus

    0
    192

    Panel

    Jeff Biggus (twitter blog)
    Rod Schmidt (twitter github infiniteNIL)
    Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up)

    Discussion
    00:32 – Jeff Biggus Introduction

    HyperJeff Network

    01:38 – The Accelerate Framework

    Audio
    Video
    Images
    Pure Math Functions

    11:11 – Accelerate Framework Tricks
    12:35 – Clang Extensions
    17:30 – Libraries
    23:06 – Gotchas
    28:39 – Mac -> iOS
    31:25 – The Convolution Integral
    33:49 – Finding the Accelerate Framework
    35:35 – Audio

    Picks

    F-Script (Rod & Jeff)
    Nathen Harvey: Learning Chef (Chuck)
    Start your free trial of Enterprise Chef (Chuck)
    Chef (Chuck)
    Cocoa Literature (Jeff)

    Next Week
    Custom UI Controls with Sam Davies
    Transcript

    Transcript

    CHUCK: Hey everybody and welcome to Episode 25 of the iPhreaks Show! This week on our panel, we have Rod Schmidt.

    ROD: Hello from Salt Lake!

    CHUCK: I'm Charles Max Wood from DevChat.tv. I just want to give you another quick reminder that you can find out about my freelancing journey at GoingRogueVideo.com, it's a 30-minute video detailing how I went from laid off to freelancing successfully.

    We also have a special guest, and that is Jeff Biggus.

    JEFF: Hello!

    CHUCK: Since you haven't been on the show before, Jeff, do you want to introduce yourself?

    JEFF: Sure! I'm a Mac and iOS programmer, I work for my own company, have for about 17 years now. Lately, it's been all Mac and iOS, maybe for the last 7 years or so, and I come from a background that's maybe more science, like academic science, but now I do a lot of just general programming stuff.

    CHUCK: Awesome. What kinds of things have you been academic-ing or studying or whatever?

    JEFF: [Chuckles] I used to do a bunch of computational physics stuff. So I was in the physics world for a while, and before that, I was an electrical engineer.  It was a lot of very practical engineering type programming. Ugly code that got the job done.

    CHUCK: Boy! That sounds like what I do!

    JEFF: [Chuckles]

    CHUCK: Ugly code that gets the job done.

    JEFF: Exactly, yeah. Which is basically what I do now; except it's a little more elegant these days. The tools are much nicer.

    CHUCK: Awesome. So, we brought you on today to talk about the Accelerate Framework.

    JEFF: Yeah.

    CHUCK: It's part of the standard suite of the libraries you get from Apple, it looks like. Can you explain briefly what it is or what it does?

    JEFF: Sure! It's a set of, really, C Libraries. It's called the Framework. Normally, when you hear framework, you'd think Objective-C framework, but this is all C-level calls. The goal of it is to give us set of functions, a humongous set of functions, that can allow you to do common tasks much faster because they're heavily optimized. As a consequence, that actually saves battery life so you get more power and better energy use. I would even like the case that if you get into it, that your code is actually often better; it's cleaner and it's more maintainable going forward.

    CHUCK: Huh! What exactly is it used for?

    JEFF: When you look at the framework, it looks like there are basically 3 areas that it seems to hit which is Audio, Video, and Images, and also Pure Math functions. But, since everything under the hood is all just bits, sometimes, whether it's something is an image or audio or math, it's just that your perspective on things.

    A lot of times, these functions that are in there can be used for even really mundane tasks that you might not be thinking about them as. You might grab an audio function to do something where you’re simply doing some very simple calculation for something that has nothing to do with audio.

    CHUCK: Got you!

    ROD: I would imagine game programming would use a lot especially 3D…

    JEFF: Oh, sure! Game programming seems like the easiest place to get the most immediate impact from this, but also, Video and Image Processing. Actually,