The iOS Development Podcast
Similar Podcasts
Elixir Mix
Elixir Mix is a weekly show focused on the Elixir programming community. Our panel discusses topics around functional programming, the Elixir ecosystem, and building real world apps with Elixir based tools and frameworks.
Developer Tea
Developer Tea exists to help driven developers connect to their ultimate purpose and excel at their work so that they can positively impact the people they influence.
With over 13 million downloads to date, Developer Tea is a short podcast hosted by Jonathan Cutrell (@jcutrell), co-founder of Spec and Director of Engineering at PBS. We hope you'll take the topics from this podcast and continue the conversation, either online or in person with your peers. Twitter: @developertea :: Email: developertea@gmail.com
Formación en Dermofarmacia
Bienvenido al canal formativo, a través de podcast, de la vocalía nacional de Dermofarmacia del Consejo General de Colegios Farmacéuticos.
Una iniciativa en la que se abordarán en profundidad los principales temas de interés y actuación del profesional farmacéutico en el campo de la dermofarmacia.
Únete al programa formativo en Dermofarmacia y déjanos en comentarios tus propuestas de temas.
Episode 43: 042 iPhreaks Show - Concurrency with Jeff Kelley
The panelists talk to Jeff Kelley about Concurrency in OS X and iOS.
Episode 42: 041 iPhreaks Show - The App Store with Azam Sharp
The panelists talk about the app store with Azam Sharp.
Episode 41: 040 iPhreaks Show - MGPCommandBus with Saul Mora
The panelists talk to Saul Mora about The Responder Chain and MGPCommandBus.
Episode 40: 039 iPhreaks Show – Subscription APIs for Recurring Revenue with Manton Reece
Panel Manton Reece (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Pete Hodgson (twitter github blog) Andrew Madsen (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:13 - Manton Reece Introduction VitalSource Riverfold Software 01:33 - Subscription APIs and Recurring Revenue 02:25 - How Subscriptions Work 12:10 - In-app Purchases Non-renewing Subscriptions Auto Renewing Subscriptions 16:11 - Verifying Receipts Store Kit 19:32 - Subscription Levels Changing Plans 25:14 - Payments Stripe vs PayPal Picks Eric S. Raymond: The Lost Art of C Structure Packing (Jaim) Torchlight II (Ben) SC2Casts (Ben) after_party (Ben) thebennybox (Ben) Using Receipts to Protect Your Digital Sales (Ben) Using Store Kit for In-App Purchases (Ben) 2 Free (Technical Support Incidents) TSIs (Pete) Bay Area Casual Carpool (Pete) Bay Area Bike Share (Pete) Lucky 13 (Pete) Mike Ash: Friday Q&A 2014-01-10: Let's Break Cocoa (Andrew) The official raywenderlich.com Objective-C style guide (Andrew) Bacon Ipsum (Chuck) David Brady: The Job Hunting Mindset (Chuck) David Brady: The Job Replacement Guide: Why I Have To Write This Book (Chuck) Stripe (Manton) Helios (Manton) Next Week MGPCommandBus with Saul Mora Transcript CHUCK: We got this Man-ton on our show! CHUCK: Hey everybody and welcome to episode 39 of the iPhreaks Show. This week on our panel we have Ben Scheirman. BEN: Hello, from Bayou City. CHUCK: Bayou City? BEN: That’s Houston’s nickname. If we had a Ruby Conference, it would be Bayou City Ruby, and no one would know where it was. CHUCK: Yeah, that’s true. ANDREW: We’d all be in Louisiana. [Chuckling] CHUCK: Why are y’all in New Orleans? JAIM: That would be dirty south [inaudible]. CHUCK: Hey, at least you can go [inaudible]. Anyway –. JAIM: No offense to my New Orleans listeners. CHUCK: [Chuckles] We also have Pete Hodgson. PETE: Good morning from San Francisco! I don’t know what her nickname is; I should look that up. JAIM: Golden Gate City, is that it? PETE: I was tempted to go for Rainbow City, but –. CHUCK: [Laughs] We’re batting two for two this morning. Alright, Andrew Madsen. ANDREW: Hi from Salt Lake City. CHUCK: Jaim Zuber. JAIM: Hello from the Twin Cities. CHUCK: I'm Charles Max Wood from DevChat.tv and this week we have a special guest, and that is Manton Reece. MANTON: Hello from Austin, Texas! Good to be here. CHUCK: Hey, I managed to say that right! Do you wanna introduce yourself for those of us who don’t know who you are? MANTON: Sure. My name is Manton Reece, and I work for a company called VitalSource doing e-book software with Mac iOS12 web development, and I have a little side business called Riverfold Software where I have a number of iOS and Mac apps, web apps. CHUCK: Cool! So we brought you on today to talk about subscription APIs and recurring revenue – is that a thing for iOS? MANTON: That’s a thing for iOS. It depends who you ask what kind of answer you're gonna get about the right way to do that, or whether you should do it. But it’s a thing, I would say. CHUCK: I thought the thing was to write Angry Birds and make millions of dollars. MANTON: That’s one way to do it. The problem with the app store – the great thing and the problem is that you do have these huge hits that make way too much money, but then most of us aren’t that lucky, and even the ones that are lucky have a big hit, you sell a bunch of copies, you quit your job, you say, “This is great” and you do really well. Eventually, your app’s gonna fall out of the top 10 and top 100 and sales are gonna drop off and so you have to do it all over again and get a big launch. So, the subscriptions, the hope is you get a little more recurring revenue,
Episode 39: 038 iPhreaks Show – OS X
Panel Jaim Zuber (twitter Sharp Five Software) Ben Scheirman (twitter github blog NSSreencast) Andrew Madsen (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:45 - iOS vs OS X UIViewController NSViewController 06:09 - NSWindowController 08:18 - Layered Views 09:48 - Bindings Cocoa Programming for Mac OS X by Aaron Hillegass Debugging 14:51 - Navigation NSPathView NSTableView NSScrollView NSCell 18:52 - Auto Layout 19:44 - Carbon 22:32 - Objective-C 24:44 - NS Classes Next Step 25:54 - Customization The Hit List Things NSOutlineView NSSplitView NSTabView 30:12 - Mac vs iOS Development Picks Mastering Modern Payments Using Stripe with Rails (Ben) The Doomsday Key: A Sigma Force Novel by James Rollins (Ben) The Art of the Screenshake (Ben) objc.io Issue #7: Communication Patterns (Jaim) The Snow Shark (Jaim) FastSpring (Andrew) objc-run (Andrew) Andrew's CocoaSlopes2013 Slides (Andrew) Disneyland (Chuck) New Media Expo (Chuck) Next Week Subscription APIs for Recurring Revenue with Manton Reece Transcript CHUCK: I’ll turn this podcast right around. CHUCK: Hey everybody and welcome to episode 38 of the iPhreaks Show. This week on our panel we have Jaim Zuber. JAIM: It’s 10 below, my car won’t start, and I'm not even mad. CHUCK: Ben Scheirman. BEN: It’s 35° and I'm also cold, but not quite as cold. [Chuckles] CHUCK: Andrew Madsen. ANDREW: 25° in Salt Lake City. CHUCK: I'm Charles Max Wood from DevChat.tv. Last week it was like 70-something degrees where I was at, so, very nice. This week we’re gonna be talking to Andrew; he’s kind of our guest, I guess. We’re gonna be talking about OSX programming. It’s kind of interesting after learning some of the techniques and tools for building things for iOS, I haven’t really looked at what's different with OSX. Do you want to kind of get us started on some of the things we have to know or do differently? ANDREW: Sure. Well I think the first thing to know is that iOS and OSX are sort of siblings, or you might even say that iOS is OSX’s kid, but iOS was obviously Apple’s chance to sort of do-over things that they wanted to do differently without the whole legacy baggage that kept them from doing that on OSX. In many ways, iOS is the more modern of the two – I wouldn’t say ‘operating systems,’ but the APIs are certainly more modern in a lot of places. There are things on OSX that are just more difficult if your coming from an iOS background you're sometimes left thinking, “Man, if I were in iOS this would be super easy, but it’s not so easy on OSX.” Fortunately there are also a few places where the opposite is true. OSX still makes things easier than they are on iOS. I'm not exactly sure where to start ‘cause there are quite a few differences. BEN: How about just the, maybe the [inaudible] example. The first thing I notice when I create a new Mac app is I'm used to just getting a view controller for free and that is kind of absent. You got a .NIB and that gives you a main window but there's really nothing else it gives you, right? ANDREW: Right. Well that's actually a great place to start. So on iOS, if you’ve done iOS programming, you know that UIViewControllers are sort of like the main class, almost, in iOS. Every single time you have a view onscreen, it has a UIViewController controlling it. On OSX, there is actually an NSViewController class, but that was introduced in 10.5, so relatively recently in the history of OSX, and what that means is that you can write an entire app without using NSViewController. It’s not sort of the vital class the UIViewController is on iOS, and that sort of gives you a lot more flexibility in terms of how you structure your application, but these days I've actually started using NSViewController more like UIViewControllers used on iOS.
Episode 38: 037 iPhreaks Show – MVC
Panel Jaim Zuber (twitter Sharp Five Software) Pete Hodgson (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Ben Scheirman (twitter github blog NSSreencast) Discussion 01:32 - Model View Controller (MVC) and Model View Presenter (MVP) Ruby on Rails Model View ViewModel (MVVM) MFC Knockout.js 14:20 - Implementing MVC in iOS Apps 16:46 - Designing Models Alistair Cockburn: Hexagonal Architecture Domain-Driven Design: Tackling Complexity in the Heart of Software by Eric Evans Ruby Rogues Episode #78: Hexagonal Rails with Matt Wynne and Kevin Rutherford Ruby Rogues Episode #61: Domain Driven Design (DDD) with David Laribee 28:32 - Models and the Controller Notifications 31:00 - Key-Value Observing (KVO) 35:48 - Delegates and Blocks Picks Mattt Thompson: Key-Value Observing (Pete) Alistair Cockburn: Hexagonal Architecture (Pete) Saul Mora - Design Patterns for Mobile Apps (Pete) New Spring: The Novel (Wheel of Time) by Robert Jordan (Chuck) Freelancing Q&A (Chuck) Next Week OS X Transcript PETE: I can’t believe I beat Ben Scheirman today. CHUCK: With a stick? PETE: No, he’s in the wrong state for that. CHUCK: Hey everybody and welcome to episode 37 of the iPhreaks Show. This week on our panel we have Jaim Zuber. JAIM: Hello from Minneapolis, where it’s a balmy 4°. CHUCK: Pete Hodgson. PETE: You just totally stole my thunder. I was going to complain about being cold in San Francisco, but it’s a lot warmer than that. Hello from not-so-frigid San Francisco. CHUCK: How cold is it in San Francisco? PETE: [Chuckles] Like, 32°. I don’t know, it feels like it’s freezing, but it’s probably not even 32°. Probably warmer than that, just cold for San Francisco. CHUCK: Charles Max Wood from DevChat.tv and it’s also 4° here. PETE: Okay, I’ll stop complaining. JAIM: Really? Or is it just dry cold? CHUCK: Yeah, it’s just dry cold here, too. We did get some snow. JAIM: There we go. PETE: It all makes sense now. JAIM: A little bit nicer. CHUCK: Yeah. Gives you something to do – go shovel snow, go skiing – we’re making people jealous now, I'm sure. PETE: I think I've been here once in San Francisco when it snowed, and it was like two or three flakes on the top of Twin Peaks, which is like the only really tall bit of San Francisco, and people drove their cars up there in the middle of the night to see these snowflakes fall [chuckles]. But it wasn’t like snowball fights; it was like four snowflakes. It was really exciting; it made my year. No skiing that year for us at San Francisco. CHUCK: Oh, come on. Alright. Anyway, so today on our [inaudible] we have MVC. JAIM: Alright, we’re talking MVC – an MVC extravaganza of sorts, I think. CHUCK: Yup. [Chuckles] PETE: Maybe we should start off with a definition. CHUCK: [Chuckles] A definition. Thanks, Josh. JAIM: That might take the entire episode, I think. PETE: With MVC, I always get really confused. So I know what MVC stands for: Model-View-Controller. And I kind of understand the principles quite well. But what I don’t get is the difference between MVC and MVP, and then it gets really confusing when you start talking about some of the other things out there. This is a long shot. Do either of you two know the difference between MVC and MVP? Because I definitely could not answer that if I have to save my life. CHUCK: I have a very vague idea of what it means, so I'm not even going to venture to try because I’ll probably get it wrong. One thing that I can say, though is that I've come to iOS programming from a very strong Rails background, and MVC in Rails and MVC in iOS are not the same. JAIM: Yup. CHUCK: I tend to think of iOS as more of an MVVM, because –. JAIM: I forgot about that one. CHUCK: The controller acts more like a view model or a view controller than it does, you know, a full-on controller.
Episode 37: 036 iPhreaks Show – Other Languages
Panel Jaim Zuber (twitter Sharp Five Software) Pete Hodgson (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:59 - Language Backgrounds 05:23 - Other Languages vs Objective-C Static Typing Go LINQ Semicolons First-Class Functions 18:46 - Benefits of Using Objective-C RubyMotion 25:44 - Building Apps Not Using Objective-C 29:36 - Xamarin 33:03 - Calatrava 33:39 - Appcelerator Titanium 38:01 - PhoneGap Picks Get an HD Antenna (Ben) FizzBuzzEnterpriseEdition (Jaim) Forecast (Pete) Stranger in a Strange Land by Robert A. Heinlein (Pete) MadTree Identity Crisis: A Black IPA from Cincinnati (Pete) The Walking Dead (Chuck) Duct Tape Marketing Revised & Updated: The World's Most Practical Small Business Marketing Guide by John Jantsch (Chuck) Next Week MVC Transcript CHUCK: Hey everybody and welcome to episode 36 of the iPhreaks Show. This week on our panel, we have Jaim Zuber. JAIM: Hello from Minneapolis. CHUCK: Pete Hodgson. PETE: Hello from San Francisco. CHUCK: Ben Scheirman’s going to be joining us in a few. This is a weird Christmas episode that we’re recording a little bit early. I’m Charles Max Wood from DevChat.tv and I just want to announce really quickly that if you go to RailsRampUp.com and you sign up before the end of the year, the 31st basically, actually I’m going to give you a few extra days. If you sign up by the 4th, then you can get 30 percent off if you want to learn Ruby on Rails, which is a handy thing for backend stuff. Anyway, this week we’re going to talk about some of the differences between some of our language backgrounds that we have. Some of us come from more enterprise languages like .NET or Java and some of us come from the hippie languages like Ruby, so should be an interesting discussion. JAIM: I think so. CHUCK: So real quickly, besides Objective-C, what are your languages that come out of your tool bag when you need to do something different? JAIM: Well for a long time, I did C# and .NET. Even before that, it was C and C++, embedded stuff, thick client stuff. So I can write C in any language, pretty much. [Chuckles] But things that I like with Objective-C is I’m getting more familiar with how a dynamic language really helps us out, especially with testing and being able to be more fluid with our development. So I like that. But I definitely do come from a static language background. I don’t know. What about you guys? PETE: So I guess I’ve been all over the place. I started off my career in C++. So when I first started doing iOS development, that actually felt quite familiar in some ways, doing manual memory management and all that fun stuff. And then I bounced around a bunch. I did some C#. I did a fair amount of Ruby. I still do quite a lot of Ruby. I do a lot of JavaScript. I do my current project, I’m writing Scala. I’m doing embedded C++ development in my spare time at the moment with Arduinos. So I guess I’ve been all over the place. But my main, my language I reach for the most is probably Ruby, still. And yeah, it’s interesting. I guess I’ve come to my journey into Objective-C is the opposite where I’m coming more from a dynamic place and seeing how it’s actually quite nice to have a type system sometimes, or have a static type system sometimes, and annoying as well. CHUCK: Very nice. BEN: It was a good fight we have right now. [Laughter] PETE: You know what? If you ever want to play with a strong type system, do some Scala development and you’ll either fall in love with type safety or you’ll absolutely hate it. It’s been driving me a little bit crazy but it’s also pretty cool. But anyway, that’s I guess a different podcast. CHUCK: Yeah. My background, I did Java and C++ in college but didn’t really take it seriously.
Episode 36: 035 iPhreaks Show – Mapkit with Christopher Judd
Panel Christopher Judd (twitter github blog) Pete Hodgson (twitter github blog) Andrew Madsen (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:37 - Christopher Judd Introduction CTO of Manifest Solutions 01:59 - Mapkit TomTom App Geocaching 04:16 - Getting an App to Work with Mapkit Core Location 06:19 - Accuracy iBeacon iSimulate 11:02 - Turn-by-turn Navigation maps.apple.com/maps 13:16 - New in iOS7 Overlay Levels MK Camera Snapshotter Direction & Routing Geo District Polyline Overlay Rendering Tiled Overlays 15:00 - Heat Mapping 16:44 - Alternatives Google Maps route-me CloudMade MapQuest Microsoft Bing Maps Mapbox Scout 19:35 - Gotchas 23:58 - Drawing Polygons/Charting 29:57 - Core Location iBeacon Estimote Beacons 34:49 - Battery Life Geolocation Picks Objective-Cloud (Andrew) Sound Exchange: Tampa Bay (Andrew) Jyoti Natural Foods Chhole, Chickpeas with Potatoes and Onions (Jaim) Indian Food (Pete) Cooking Your Own Indian Food: Madhur Jaffrey's Curry Nation (Pete) Upright Brewing (Pete) Pivotal Tracker (Chuck) Redmine (Chuck) Pepsi Max (Christopher) Cocoaconf (Christopher) Next Week Other Languages Transcript CHUCK: Hey everybody and welcome to episode 35 of the iPhreaks Show. This week on our panel, we have Pete Hodgson. PETE: Good morning from sunny San Francisco. CHUCK: Andrew Madsen. ANDREW: Good morning from cold Salt Lake City. CHUCK: Jaim Zuber. JAIM: Hey, hey. My, my. ANDREW: Rock and roll will never die. CHUCK: There we go. JAIM: [Inaudible] on mood. ANDREW: I’m a huge fan. CHUCK: I’m Charles Max Wood from DevChat.TV. And this week, we have a special guest and that’s Chris Judd. CHRIS: Thanks for having me. CHUCK: Yeah, no problem. Since you haven’t been on the show before, do you want to introduce yourself really quickly? CHRIS: Sure. I am the CTO of a medium-sized consulting company here at Columbus, Ohio called Manifest Solutions. And what I like to tell people is that by day, I’m a mild-mannered enterprise Java developer, but by night, I’m a crime-fighting mobile developer. CHUCK: Ooh, very nice. JAIM: Do you wear a cape for that? CHRIS: I don’t. But one of the applications I worked on is like ADT for your body. So, if you feel like you’re in a harmful situation, you can triple click this big button in the app and it will dispatch emergency or police to your location or open a one-way communication to a dispatch center. CHUCK: Oh, wow! JAIM: Wow! That’s pretty cool. PETE: It’s cool. It’s kind of like your phone is its own superhero or something. CHUCK: There you go. Do you wear glasses during the day and then take them off to save the world? CHRIS: Only when I go to the phone booth to change. CHUCK: For a second there, I was like, “I’d like to see that,” and then I was like, “No, no I wouldn’t.” [Laughter] PETE: So, do you do mainly iOS development when it comes to mobile or do you do Android as well? CHRIS: So, I do a variety. I do Android, iOS, I do mobile web, I’ve done some PhoneGap and I’m Titanium Certified. PETE: Okay. CHRIS: Wow. PETE: That sounds like the kind of thing a superhero would say, “I am Titanium Certified.” [Laughter] PETE: But Kryptonite allergic. CHUCK: Alright. Well, we brought you on today to talk about Mapkit. CHRIS: Well, that’s great because I think writing applications that take advantage of mapping data are a lot of fun. CHUCK: Do you know how many times my iPhone has gotten me lost? CHRIS: No, I don’t. [Laughter] PETE: You have to be a real expert to know that. I know about everyone’s Mapkit. CHUCK: It’s about half the time, it seems. I get directions and it’s just like,
Episode 35: 034 iPhreaks Show – Streaming with Chris Adamson
Panel Chris Adamson (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Ben Scheirman (twitter github blog NSSreencast) Pete Hodgson (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 01:03 - Chris Adamson Introduction Learning Core Audio: A Hands-On Guide to Audio Programming for Mac and iOS by Chris Adamson iOS SDK Development by Chris Adamson and Bill Dudney iPhone SDK Development by Chris Adamson and Bill Dudney Swing Hacks: Tips and Tools for Killer GUIs by Chris Adamson and Joshua Marinacci QuickTime for Java: A Developer's Notebook by Chris Adamson 07:25 - HTTP Live Streaming (HLS) Audio Streaming Browser Support Bitrates 22:35 - HLS vs Progressive Download Servers Dropbox 27:15 - Static Files Wowza Ustream Livestream Twitch Justin.tv Zencoder Compressor 35:57 - Encryption HTTP Live Streaming (Apple) DRM 39:37 - Media Consumption Picks Gilmourish.com (Ben) Pig Hoof MkII (Ben) Saint Arnold Sailing Santa (Ben) Snow Day Winter Ale (Jaim) Laphroaig Single Malt Whiskey (Jaim) Anti-pick: Patents (Pete) Adafruit Industries (Pete) Prohands Gripmaster (Pete) Soldering (Chuck) Thai Food (Chuck) ThemeForest (Chuck) UStream (Chris) Wirecast (Chris) Crunchyroll & Crunchyroll App (Chris) Founders Centennial IPA (Chris) Next Week Mapkit with Christopher Judd Transcript Coming Soon
Episode 34: 033 iPhreaks Show – AFNetworking with Kevin Harwood
Panel Kevin Harwood (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Ben Scheirman (twitter github blog NSSreencast) Andrew Madsen (twitter github blog) Pete Hodgson (twitter github blog) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 02:44 - Does iOS7’s NSURLSession obviate the need for AFNetworking? 03:20 - SSL Pinning Charles Multiple Certificates 08:09 - Reachability 10:24 - Is AFNetworking 2.0 based of NSURLConnection? AFHTTPRequestOperationManager AFHTTPSessionManager 11:52 - Serialization 12:18 - Session Manager NSURLSessionTask NSURLSessionDataTask 15:59 - Using AFNetworking Upgrading 18:11 - AFNetworking and iOS7 20:46 - Prefetching 22:00 - Contributors 22:37 - The three20 Library Category Methods BlocksKit 30:53 - Managing a Large iOS Open-Source Library Mattt Thompson @mattt Mutual Mobile 34:00 - Submitting a Feature to Mattt Picks Macintosh Software Business (Yahoo Group) (Andrew) Low -- Christmas (Jaim) Awful Recruiters (Ben) backup (Ben) Three Africans Coffee (Ben) The Mute Button in Gmail (Pete) P2 Magazine (Pete) Chasin’ Freshies: a fresh hop IPA from Deschutes (Pete) The Hobbit: The Desolation of Smaug (Chuck) AFHARchiver (Kevin) Bamboo (Kevin) Next Week Streaming with Chris Adamson Transcript PETE: I actually don’t [unintelligible] that much. BEN: But you are British. You have to. PETE: Yeah. I'm a traitor to my nation. I also don’t watch football that much. And that’s why I use ‘football’, not ‘soccer’. CHUCK: Hey everybody and welcome to episode 33 of the iPhreaks Show. This week on our panel, we have Jaim Zuber. JAIM: Hello from Minneapolis. CHUCK: Ben Scheirman. Andrew Madsen. ANDREW: Hi from Salt Lake City. CHUCK: Pete Hodgson. PETE: Hello from my pajamas. CHUCK: I'm Charles Max Wood from devchat.tv, with a real quick announcement: if you are interested in learning Ruby on Rails, my Rails Ramp Up course; if you buy it at the beginning of the year… actually, I´ll give you a few days. If you buy it by January 4th, you can get 30% off. You can get that on railsrampup.com We also have a special guess, and that’s Kevin Harwood. KEVIN: Hey guys, from Austin, Texas. CHUCK: Is it snowing in Austin? KEVIN: It’s actually 79 degrees right now. I think the high, it gets up 75 today. So it’s a nice day here in Austin. ANDREW: That sounds nice. JAIM: Not bad. So you are an Auburn guy? KEVIN: I am. It was a pretty good weekend. Me and Tim Cook had a lot to cheer for on Saturday. JAIM: I can sense the glow all the way through the internet. KEVIN: I haven’t stopped grinning since Saturday evening. CHUCK: [Laughs] JAIM: Yeah, that Auburn virus really infected my timeline. Really, the only person on my timeline that was tweeting anything other than football was John Siracusa and he was talking about TVs or something. PETE: I totally tune out whenever time it is that people tweet about this. I think it’s like Sundays or Mondays or something. I get quite annoyed with Twitter and I just stopped using because I don’t know, they are talking about touchdowns and basket hoops or something. I don’t know. It’s all very confusing to me. KEVIN: I'm actually hoping Twitter releases some statistic like they do, like a super bowl halftime show or something and see if we can see an impact from that game and see the usage spike on Twitter. PETE: Someone should do some sentiment analysis on Twitter, where they like to find out… that would be really cool actually to map like… JAIM: Didn’t Apple buy a company that does that? PETE: Really? JAIM: Yeah, for like 200 million. What was it called, Topsy? Isn’t that what they did? KEVIN: Yeah, I think so. PETE: You are telling me I just came up a 200 million dollar idea? [Laughter] I'm not going to tell you guys my other ideas.
Episode 33: 032 iPhreaks Show – Security with Rob Napier
Panel Rob Napier (twitter github blog) Andrew Madsen (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:38 - Rob Napier Introduction iOS 7 Programming Pushing the Limits by Rob Napier & Mugunth Kumar RNCryptor 01:30 - Apple and Security 04:21 - Security Concerns Passwords Personal Information 06:10 - Prevention SSL Verisign 09:50 - Generating Certificates Rob's Practical Security Talk, Slides and Sample Code from CocoaConf Rob Napier: Get Security and Privacy Right PBKDF2 13:05 - Initialization Vector AES Cipher Block Chaining (CBC) 16:06 - RNCryptor 17:34 - Formats OpenSSL HMAC AES Crypt 20:55 - Device Encryption 25:28 - Server Security and Storing Passwords Hashing Salting Shor’s Algorithm 37:48 - Breaking Passwords Rainbow Table BitTorrent John the Ripper 41:47 - Keeping Passwords Safe 1Password LastPass Convenience and Security 47:35 - Obfuscation Picks Use Option as Meta Key in Mac OS X Terminal (Jaim) iTerm2 (Chuck) Duct Tape Marketing Revised & Updated: The World's Most Practical Small Business Marketing Guide by John Jantsch (Chuck) Security Now (Chuck) Reflections on Trusting Trust by Ken Thompson (Rob) Coursera: Cryptography I (Rob) Learn You a Haskell for Great Good: A Beginner's Guide by Miran Lipovača (Rob) Next Week AFNetworking with Kevin Harwood Transcript CHUCK: Hey everybody and welcome to episode 32 of iPhreaks. This week on our panel, we have Andrew Madsen. ANDREW: Hi from Salt Lake City. CHUCK: Jaim Zuber. JAIM: I'm still recovering from the Black Friday deals with the pawn shop. I waited in line for three hours to save $5 on an Xbox 360. Totally worth it. CHUCK: [Laughs] I'm Charles Max Wood from devchat.tv. And we have a special guest this week and that’s Rob Napier. ROB: That's right. I'm here in Raleigh, North Carolina. CHUCK: So do you wanna introduce yourself really quickly for people who don’t know who you are? ROB: Sure. I'm an iOS and Mac developer. I was a Mac developer before iOS come around in the iPhone. I write the book iOS Pushing The Limits. And I do a lot of work in the security world, so I keep a security cryptography package called RNCrytor, for simplifying cryptography. CHUCK: Oh, nice. Isn’t that just a bunch of fancy math? ROB: It is just a lot of fancy math. But it’s easy to do it wrong. CHUCK: [Chuckles] That’s for sure. ROB: [Chuckles] ANDREW: Isn’t that computers? Just fancy math? ROB: It’s so true. We need more math. CHUCK: “So easy to do it wrong.” Don’t tell Adobe that. ROB: [Chuckles] CHUCK: So, speaking with security with iOS, it seems like Apple does a lot of things to provide you with security. I mean, they have sandboxing and all the other stuff that they do. Do we really need to worry about security when we are programming for the iPhone? ROB: Oh certainly, yeah. Apple has done a really great job -- I feel -- in iOS. While over the years, there have been various problems; some of the earliest locks didn’t really work well and early device encryption have trouble, but they’ve improved over the years. But iOS is really the first main stream operating system that came out with least privilege as the default, which was really brilliant, that they said day 1, “You are going to be locked in a little sandbox and you can't do anything,” which made it very hard to write malware against the iPhone. But it still doesn’t get us off the hook of managing user information carefully. While we may not get infected with the virus, we still have lots of ways that we could leak our customer information. CHUCK: What are some of those ways? If it’s just a self-contained app and it doesn’t talk to anything else, is that still a risk? ROB: That's true.
Episode 32: 031 iPhreaks Show – High Performance Core Data with Matthew Morey
Panel Matthew Morey (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Andrew Madsen (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:35 - Matthew Morey Introduction Buoy Explorer ChaiOne 01:23 - Making Core Data Perform 05:45 - Importing Data 08:23 - Batch Sizing 09:37 - Photo Blobs 13:25 - Persistence 16:43 - Query Performance String Comparison Order of Operations Hashing Tokens 22:24 - Concurrency Models Context Notifications Picks iPad Telepresence Robot (Ben) Mercurial SCM (Andrew) Florian Kugler: Backstage with Nested Managed Object Contexts (Andrew) Needle Doctor (Jaim) Grado Labs Black1 (Jaim) Remote: Office Not Required by Jason Fried and David Heinemeier Hansson (Chuck) Audible (Chuck) High Performance Core Data (Matthew) Planet Money Podcast (Matthew) Core Data: Data Storage and Management for iOS, OS X, and iCloud by Marcus S. Zarra (Matthew) Next Week Security with Rob Napier Transcript BEN: That’s the problem is that when my kids see the mixer, they are like, “Oh, knobs and buttons! I'm going to push all of them.” CHUCK: Hey everybody and welcome to episode 31 of the iPhreaks Show. This week on our panel, we have Jaim Zuber. JAIM: Boy, that is one cranky Rottweiler. CHUCK: Andrew Madsen. ANDREW: Hi from Salt Lake City. CHUCK: Ben Scheirman. BEN: Hi from Houston. CHUCK: I'm Charles Max Wood from devchat.tv and we have a special guest this week, and that is Matthew Morey. MATTHEW: Hello, also from Houston. CHUCK: So since you haven’t been on the show before, do you wanna introduce yourself? MATTHEW: Sure. So I got a couple of degrees in semiconductors physics and electrical engineering and quickly did nothing with those degrees. Spent a couple of years working on embedded electronics and a lot of C programming. And iOS SDK came out and jumped it to that, and been doing my own apps, including Buoy Explorer, which is a marine conditions app for surfers and water sports enthusiasts, where I implemented core data improperly there. And also I do work for a company here in Houston called ChaiOne, where we do a lot of client work. CHUCK: Yeah, I've met those guys before. MATTHEW: My boss is a real stickler. CHUCK: Yeah, I've heard that a couple of times. We brought John today to talk about high performance core data. Are there tricks to making core data perform or does it just work, or what? MATTHEW: Well, you can check the check box in the templates and it will generally just work. The problem is that it is such a complex framework and it’s just its so flexible and large. It’s very easy to put yourself in a bind or do the wrong thing and then suddenly, you'll have performance issues. I spent a lot of time making those mistakes, and I finally got to the point where I just wanted to figure all that out and kind of wrap my head around it. And so I've been focusing on that a lot, in particular. JAIM: You mentioned in Buoy Explorer, you initially did it improperly. Do you wanna elaborate on what mistakes you made there? MATTHEW: Yeah, so a common pattern in apps is you have to import data; either user’s data from the server or just general data, be it JSON, XML. On Buoy Explorer’s case, I'm downloading a bunch of data from these Buoys that are on the ocean and I measure wind conditions. And this data is very dense, so there's readings every 15 minutes from hundreds and thousands of these buoys. So there's a lot amount of data. And the way that the data is structured, I can't really fetch that data in a network efficient way. Unfortunately, I have to grab large amounts of data at a time. And importing that data into the persistence layer or into core data takes time; the data has to be parsed, the relationships have to be made, and then it has to be saved.
Episode 31: 030 iPhreaks Show – Building Hardware for iPhones with Joel Stewart
Panel Joel Stewart (twitter github) Andrew Madsen (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:30 - Joel Stewart Introduction VP of Engineering at Canopy Video Game Development 01:06 - Building Hardware Sensus Apple’s MFI Program 04:34 - Connectors 09:11 - Challenges of connecting a device through a lightning adapter Case Certification CES 11:39 - Build Process 17:24 - Detection Sensus SDK Developer Portal 21:54 - Bluetooth 4.0 Pebble Smartwatch 25:12 - Security 26:59 - Development Interface 29:22 - Sensus Release Market Strategy Leap Motion Picks i-calQ (Rod) Flow DJ Software (Andrew) MIKMIDI (Andrew) Bluegiga (Andrew) QONQR (Jaim) Airbnb (Chuck) Delta Airlines (Chuck) CARROT (Joel) Harvest (Joel) Next Week High Performance Core Data with Matthew Morey Transcript ROD: The audience is listening. CHUCK: Hey everybody and welcome to Episode 29 of The iPhreaks Show! This week on our panel, we have Andrew Madsen. ANDREW: Hi from Salt Lake City! CHUCK: Jaim Zuber. JAIM: Hello from Minneapolis! CHUCK: Rod Schmidt. ROD: Hello from Salt Lake! CHUCK: I’m Charles Max Wood from DevChat.tv. This week, we have a special guest and that’s Joel Stewart. JOEL: Greetings also from Minneapolis! CHUCK: Joel, do you want to introduce yourself for those of us who may not know who you are? JOEL: Sure! I’m currently a VP of Engineering at a company called Canopy up in Minneapolis. We’re a startup that is focusing on iPhone accessories. We do everything from hardware all the way up to stack to applications, then we part with a lot of content providers to integrate our functionality with our hardware inside their applications as well. Me personally, I’ve been doing the new game development for the last 6 or 7 years and I recently gotten involved in hardware. And yeah, [that’s] about it. CHUCK: Awesome. So you’re going to make a video game controller for the iPad? JOEL: Oh, yeah. CHUCK: What kind of hardware things are you building? JOEL: Well, our first product is called Sensus, and it is an iPhone case. It adds pressure sense with multi-touch panels to the back of your iPhone and also the edges. So, it can rename with functionality such as squeezing to scroll as opposed to using a thumb on the front of the screen to drag the contents around; you can just squeeze the edges and the content will automatically scroll. We do a lot of other things such as moving that touch and drag functionality to the back, moving environments as oppose to characters in the front; just adding an extra layer of interactions for your applications, for your games through the hardware. It’s attached to your iPhone through the Lightning connector right now, and it is part of Apple’s MFi program, which is made for iPhone. You have something to plot for and it has the entire slot for documentation that general public typically doesn’t get access to. CHUCK: Interesting. Is there some kind of trick to building hardware for iOS devices? JOEL: Certain metric. It’d be similar to most hardware products you create. You have a lot of industrial design (basically the plastics), a lot of mechanical engineering which is identifying what materials go into it, electrical engineering laying up those boards, firmware development, software development. I know it’s a much larger undertaking in just writing software, but process is a lot longer, it’s a lot more expensive, and it’s not easy, that’s for sure. ROD: Do you have to provide a driver to go with the hardware? JOEL: For the most part, no, since we’re talking through Apple’s Lightning connector; most of that protocols are already established so they provide a lot of documentation as to how to talk to the core operating system, iOS,
Episode 30: 029 iPhreaks Show – Continuous Integration Integration for iOS with Kevin Munc
Panel Kevin Munc (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Rod Schmidt (twitter github infiniteNIL) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discussion 00:27 - Custom Integration for iOS 02:58 - Jenkins CI 05:49 - Running Unit Tests from the Command Line 08:10 - Custom Integration (CI) 15:46 - Report Tools GCover Cobertura PlistBuddy 19:19 - Distribution TestFlight 21:50 - Continuous Deployment 24:47 - Travis CI 25:15 - Cloud Options for Setting up CI Hosted CI MacMiniColo TeamCity 27:22 - UI Automation 29:18 - XCUnit Specta Picks Host Xcode Server in a data center (Rod) NSScreencast (Rod) Intro to OCHamcrest (Jaim) Switch Your Control Key (Jaim) Gcovr User Guide (Jaim) Sketch (Kevin) Pixa (Kevin) Next Week Building Hardware for iPhones with Joel Stewart Transcript CHUCK: Hey everybody and welcome to Episode 29 of the iPhreaks Show. This week on our panel, we have Jaim Zuber. JAIM: Hello from Minneapolis! CHUCK: Rod Schmidt. ROD: Hello from Salt Lake. CHUCK: I'm Charles Max Wood from devchat.tv. We’ve got a special guest, and that is Kevin Munc. KEVIN: Hello from Memphis, Ohio. CHUCK: So we brought you on today to talk about continuous integration for iOS. Now, if I remember right, didn’t they add some kind of continuous integration thing to xcode? KEVIN: Yes. There is the bots now with the server, so you can avoid Jenkins if you want to. CHUCK: [Chuckles] KEVIN: It’s still got some limitations. And I think going through the pain with Jenkins ends up giving you more flexibility at this point in time, but it’s a really good sign that Apple is putting some effort and attention on quality and continuous integration. CHUCK: Right. But that's not what you were talking about; you're talking about people using Jenkins? KEVIN: Yeah, that’s where most of my experience is from. I've been doing continuous integration in other platforms for a long time; CruiseControl back in the day, and Jenkins for iOS stuff. JAIM: It’s pretty much the standard that people have been doing Jenkins for a while, would like to get into the bots, but they are not quite ready for primetime is what I'm hearing. Have you played enough around the bots to know that they are not quite ready? KEVIN: Somewhat. And I do sort of run into trouble at different points in time, just trying to know where the configuration options are, especially if I'm trying to back out… I’d like to do some blogging on it, do some speaking on it. So, I'm trying to get more familiar with it because that’s something that is in my wheelhouse here. But yeah, I'm definitely trying to go back and redo some things. And I run in to these issues that I didn’t run into the first time. And then trying to do things like… I usually in my continuous integration setup, there's the basic stuff where you does a build, do the tests, run and pass, and maybe some other stack analysis and reports. I usually try and add other things like have a ping to see if the APIs are healthy or not, and things like that. I haven’t figured out how to time that sort of thing into the new bot stuff. It seems it’s focused on the bare essentials at this point. And so, it’s kind of a lot to expect, I guess. ROD: Do you have to have a separate machine to use bots? KEVIN: No, I've been fiddling with it right on my laptop that I can do my normal development on. You need to get the server app from the app store, and I think you get promo code through the dev portal, so you know to buy it. And then I just run it locally. It has a lot of options on it and then at bottom is the xcode stuff. CHUCK: Nice. So let’s harp back over to Jenkins real quick. So you set up Jenkins on… do you have to run it on a Mac? Like a Mac Mini or something? Or can you run Jenkins on a Linux machine and still do the CI stuff? KEVIN: No. You have to have a Mac.
Episode 29: 028 iPhreaks Show – New iOS APIs
Panel Andrew Madsen (twitter github blog) Jaim Zuber (twitter Sharp Five Software) Pete Hodgson (twitter github blog) Ben Scheirman (twitter github blog NSSreencast) Charles Max Wood (twitter github Teach Me To Code Rails Ramp Up) Discus...