podcast
details
.com
Print
Share
Look for any podcast host, guest or anyone
Search
Showing episodes and shows of
Soroush Khanlou
Shows
Swift over Coffee
S3E1: People want to get together
In this episode: we discuss Apple's incredible new accessibility features, ask how you can keep learning and growing in your career, and share your wish lists for WWDC23. iOS Dev Happy Hour links: https://links.iosdevhappyhour.com Apple introduces new features for cognitive accessibility, along with Live Speech, Personal Voice, and Point and Speak in Magnifier: https://www.apple.com/newsroom/2023/05/apple-previews-live-speech-personal-voice-and-more-new-accessibility-features/ Arnold's Pump Club podcast: https://podcasts.apple.com/gb/podcast/arnolds-pump-club/id1680075779 Deep Dish Swift: https://deepdishswift.com Deep dish pizza: https://twitter.com/twostraws/status/1653069375828553730 Soroush Khanlou, MVVM is Not Very Good: https://khanlou.com/2015/12...
2023-06-03
56 min
Limitless Possibility
117: Swiss Cheese Bus Network
Yanik is frustrated with the transit network changes in Trois-Rivières.Related LinksAdmin note: We will be recording an episode for release on August 18th about our first time playing through the Midgar section of Final Fantasy VII. Feel free to play along at home!FU: Soroush Khanlou: Continuous IntegrationFU: YouTube/Digital Foundry: Switch Lite Reveal Analysis: Nintendo's New Hardware Plans Come Into FocusFU: YouTube/Gaijin Hunter: Nintendo Switch | Save Data SharingFU: YouTube/Digital Foundry: The Next Switch: Tegra X1 'Mariko' - What Is It And What Can It Do?STTR network map
2019-07-22
50 min
Swift over Coffee
S1E1: No magic bullets
In this episode: raw strings are back in review, Dynamic Type is more popular than you realize, and we look at ways to fix massive view controllers. - Raw strings: https://github.com/apple/swift-evolution/blob/master/proposals/0200-raw-string-escaping.md - xkcd backslashes: https://xkcd.com/1638 - 40% of users use Dynamic Type: https://twitter.com/browgrammer/status/1031630345551065089 - The Swift team are working on Docker support: https://forums.swift.org/t/kickstarting-new-official-docker-support-for-swift/15487 - Paul's pick: SE-0225 shows that Swift Evolution is working well. - Sean's pick: SpriteKit is awesome! - Dave DeLong's talk at App Builders: https://youtu.be/YWVzCd5...
2018-09-01
26 min
Fatal Error
70. The Finale
In the final episode of Fatal Error, Chris and Soroush go through some follow-up, then recap the news from WWDC. 59. Why did they even hire Chris?? Swift Unwrapped Ghost Animoji has a tongue! (h/t @parrots) Platforms State of the Union CodeRunner Steve S Smith Marzipan Thread Jake Marsh on Intents UNNotificationContent.threadIdentifier One of many articles on SMS hijacking via SS7 (search the Web for “SS7 SMS Hijack” for more) YubiKey Social engineering SMS code Chromium Touch ID second factor (Tweet) Published after we recorded the episode: The Pixelbook’s power button can double as a U2F secu...
2018-06-11
45 min
Fatal Error
Teaser: 70. The Finale
In the final episode of Fatal Error, Chris and Soroush go through some follow-up, then recap the news from WWDC.Tweets & photos from the live show at WWDC:From @_ivancrFrom @_jessetiptonFrom @jbradforddillonFrom @freak4pc
2018-06-11
01 min
Hallo Swift
Coordinator Pattern
Links"Presenting Coordinators" - Soroush Khanlou"Coordinators Redux" - Soroush Khanlou"MVVM-C In Practice" - Steve "Scotty" ScottPicksBen: - build-your-own-xVincent: - ChronologySocialBen auf TwitterDom auf TwitterVincent auf TwitterHallo Swift auf TwitterSwiftDe-SlackHallo Swift WebseiteHallo Swift auf iTunes
2018-05-27
00 min
Fatal Error
69. The Billion Dollar Mistake
This week, Chris and Soroush talk about null, the billion dollar mistake. They talk about its past, its present and maybe even its future. Nice!enum Brain { case small case medium case large case galaxy case universe }Liskov Substitution PrincipleNull References: The Billion Dollar MistakePython on Google App EnginePEP 484: Type HintsThe Definitive Reference To Why Maybe Is Better Than NullThat One Optional PropertyThe algebra (and calculus!) of algebraic data typesPoint-Free episode 4: Algebraic Data TypesOptional definitionSubEthaEdit
2018-05-25
36 min
Fatal Error
68. Negotiating
This week, Chris and Soroush talk about something engineers are stereotypically bad at: negotiating. In particular, we really recommend setting aside half an hour to read the first link in the show notes: Patrick McKenzie: Salary Negotiation: Make More Money, Be More Valued Stephanie Hurlburt: “Just a PSA, I know of many people (Exact #? Hm. Over a hundred?) who are programmers making high six figures a year. …”
2018-05-11
27 min
Fatal Error
Teaser: 68. Negotiating
This week, Chris and Soroush talk about something engineers are stereotypically bad at: negotiating.Get a new Fatal Error episode every week by becoming a supporter at patreon.com/fatalerror.
2018-05-11
01 min
Fatal Error
The Whatever Planet From The Sun
Soroush and Chris share some sad news, talk about Soroush's first official Swift Evolution proposal, and a post about giving presentations by Dave DeLong.Soroush’s pitch: `count(where:)` on SequenceE66: Sequence and Collection and Iterator, Oh MyHarlan Haskins & Robert Widmann - Becoming An Effective Contributor to SwiftHow to Read the Swift Standard Library SourceSoroush’s Swift PRSoroush’s Swift Evolution proposal PRSwift Unwrapped: 56: SE-206 Hashable EnhancementsChris Lattner’s comment on Soroush’s pitchE60: Soroush in the Standard LibrarySoroush’s Lazy dropLast implementationDave DeLong: You should give that presentationProductivity Strategies: Exploration vs ExploitationMulti-armed bandit experiments
2018-05-04
30 min
Fatal Error
66. Sequence and Collection and Iterator, Oh My
Soroush’s Sequence and Collection talk from Playgrounds last year [Pitch] Remove the single-pass requirement on Sequence Cryptographically secure pseudorandom number generator Ben cohen / @airspeedswift Ben’s thread on Twitter Dave Abraham’s Github repo AnySequence / type erasers The Fencepost Problem Soroush’s Galaxy Brain meme sequence(first:next:) Nate Cook / @nnnnnnnn Soroush’s pull request for the count(where:)implementation Soroush’s pull request for the count(where:)proposal
2018-04-27
28 min
Fatal Error
Teaser: 66. Sequence and Collection and Iterator, Oh My
Soroush and Chris talk about Sequences, Collections, and Swift Evolution drama.Get a new Fatal Error episode every week by becoming a supporter at patreon.com/fatalerror.
2018-04-27
01 min
Fatal Error
65. Times That Do Not Exist
Your Calendrical Fallacy Is...iOS 11.2.6 DateFormatter.date returns nil for cities that observe Brasília Summer TimePub quiz question,"How many time zones are there"I was still explaining to my fellow pub attendees about the complexities of time zones by the time the answer came aroundWhere is the extra 75 seconds coming from?I think a great interview question is“how do you compute the length of a string?” If the candidate responds by asking“what do you mean by‘length’ and what do you mean by‘string’?” they pass — @txsectorBig-O NotationOle Begemann: Strings in Swift 4 (explains how family emoji are composed of person...
2018-04-20
43 min
Inside iOS Dev
Soroush Khanlou on dev community, architecture, best books to read, and more.
Soroush Khanlou joins for a rapid fire style interview. He talks about the iOS dev community, app architecture, best books to read as a dev to level up, and more! Find Soroush at: https://fatalerror.fm/ and http://khanlou.com/ Wanna chat with other smart iOS developers? Sign up for our free forum: https://forum.insideiosdev.com Studying for an iOS Interview? https://iosinterviewguide.com/?promo=inside-ios-dev-ref Book recommendations: Domain Driven Design, Practical Object-Oriented Design in Ruby, Patterns of Enterprise Application Architecture.
2018-04-16
26 min
Fatal Error
64. AI Apoptosis
This week, Chris and Soroush review what inheritance in OOP is good for … and the problems it brings with it. Also: an update on the lights in Soroush’s bathroom. Chris’s Alexa Aircraft Radar skill Apoptosis Episode 50: Internet of Things Wemo Mini Smart Plug Sylvania HomeKit Bulbs Philips Tap Switch Hue Labs Toggle Behavior Why inheritance never made any sense Chris: Cocoa’s mutable-subclass pattern is an antipattern Chris: Multiple Inheritance vs. Traits or Protocol Extensions Ruby Forwardable module (def_delegator and def_delegators) Objective-C forwardingTargetForSelector: Multiple Inheritance in C++ and the Diamond Problem The Ghost of Swift Bu...
2018-04-13
38 min
Fatal Error
Teaser: 64. AI Apoptosis
This week, Chris and Soroush review what inheritance in OOP is good for … and the problems it brings with it. Also: an update on the lights in Soroush’s bathroom.Get a new Fatal Error episode every week by becoming a supporter at patreon.com/fatalerror.
2018-04-13
01 min
Fatal Error
63. Two People Who Like Type Systems
This week, after a brief detour into the subject of pizza, Soroush and Chris discuss how they’d go about the broad goal of “improving an app.”Artichoke Basille’s Pizza New York's Artichoke Basille Pizza: Why The Controversy?Ann Arbor vs DetroitYpsilanti, MIDetroit-style pizzaBilly Bishop Toronto City AirportVillanova, PACode audit - WikipediaSwiftLintSwiftFormatSwift Enums Are 'Sum' Types. That Makes Them Very InterestingYak Shaving DefinedBikesheddingGet a new Fatal Error episode every week by becoming a supporter at patreon.com/fatalerror.
2018-04-06
40 min
Fatal Error
62. Convergent Swift Evolution
This week, Chris and Soroush discuss Soroush’s efforts to implement BigDecimal in Swift, recap Teki Con, and take a detour into evolutionary biology. Teki Con talks krzysztof zablocki michael ayers dave delong Fatal Error Episode 2: View Models Model-View-Controller Applications Programming in Smalltalk-80™: How to use Model-View-Controller (MVC) Lexicographical order Georgia Aquarium Whale Shark Convergent evolution BigInt in the Swift Git repository Prototypes in the Swift Git repository Swift Advanced Operators (Overflow Operators) addingReportingOverflow dividingFullWidth Matt Gallagher - Cocoa With Love: Partial functions in Swift, Part 2: Catching precondition failures Matthew Green: On the NSA (see the first footnote) the...
2018-03-30
47 min
Fatal Error
Teaser: 62. Convergent Swift Evolution
This week, Chris and Soroush discuss Soroush’s efforts to implement BigDecimal in Swift, recap Teki Con, and take a detour into evolutionary biology.Get a new Fatal Error episode every week by becoming a supporter at patreon.com/fatalerror.
2018-03-30
01 min
Fatal Error
61. Hypothetical Testing Tricks
This week, Soroush and Chris get ready for Dynamic Callable and Dynamic Member Lookup by thinking through how you could use them to mock objects for testing. Plus: more Booleans, national parks, and chat about testing in general.#Pragma Conference 2017 - Soroush Khanlou - You Deserve Nice ThingsTeki ConSE-0199: Adding toggle to BoolEpisode 59: Why did they even hire Chris??Mutating and Nonmutating FunctionsGoogle Image Search: Gates of the Arctic National ParkDynamic Callable & Dynamic Member LookupMartin Fowler: Mocks Aren't StubsRoy Williams: Tautology Tests@whatjasdevreads on TwitterGist by Soroush: How to generate a hex string for push notificationsGet...
2018-03-16
33 min
Fatal Error
Teaser: Episode 60 - Soroush in the Standard Library
This week, Soroush talks Chris through his efforts to make an improvement to the Swift standard library. dropLast dropLast Implementation Soroush’s lazyDropLast Gist Ole Begemann: How to Read the Swift Standard Library Source Umberto Raimondi: A Short Swift GYB Tutorial Wikipedia: Circular Buffer Runtime: Command+F for the win!
2018-03-09
29 min
Fatal Error
Teaser: Episode 60 - Soroush in the Standard Library
This week, Soroush talks Chris through his efforts to make an improvement to the Swift standard library.Get a new Fatal Error episode every week by becoming a supporter at patreon.com/fatalerror.
2018-03-09
01 min
Fatal Error
59. Why did they even hire Chris??
This week, Chris and Soroush talk about impostor syndrome, starting a new job, team dynamics and rockstar developers. Then: toggling booleans and the Law of Demeter!“No Feigning Surprise” - Recurse CenterFear, Uncertainty, and Doubt - CocoaLove 2014Impostor SyndromeThe Inner JSON EffectBus FactorSalary Negotiation: Make More Money, Be More Valued“’You miss 100% of the shots you don’t take’” - Wayne Gretzky” - Michael Scott"Every great developer you know got there by solving problems they were unqualified to solve until they actually did it." - Patrick McKenzie“People sometimes ask me how I learned the crazy stuff I like to do. This...
2018-03-02
36 min
Fatal Error
Teaser: Episode 58 - Pi, Delicious Pi
This week’s episode turns into a grab bag of nerdy topics: home automation, Raspberry Pis, music, time, and also MoviePass.
2018-02-23
01 min
Fatal Error
57. Lattnerianly In-Depth
This week, Chris and Soroush discuss the world of independent Cocoa conferences, then debate Chris Lattner’s recently-accepted dynamic member lookup proposal.The end of the conference eraRelease NotesStrange LoopCocoa LoveCingletonGitHub: Lascorbe/CocoaConferencesNSScreencastDestroy All Software ScreencastsPoint-FreeSwift TalkTeki ConSwiftFestSoroush Khanlou - You Deserve Nice ThingsXOXO FestivalSE-0195: Introduce User-defined "Dynamic Member Lookup" TypesSE-0195 Review ThreadTensorFlowProposal draft: Introduce User-defined Dynamically "callable" TypesSourceryGet a new Fatal Error episode every week by becoming a supporter at patreon.com/fatalerror.
2018-02-16
31 min
Fatal Error
A Chris Shaped Scream
Chris and Soroush talk about boring startuppy administrative code, web frameworks in shell languages, before moving on to Vapor 3 and Swift 4.1. Conditional conformance is going to be huge. Huge! They close out the show talking about running your own little Heroku. Chris’s startup Django Pyramid Cuba LOL Bash Bash on Balls What’s new in Vapor 3 What’s new in Swift 4.1 Swift Unwrapped on conditional conformance Welp, Swift 4.1’s biggest features, conditional conformance and automatic Equatable synthesis, won’t actually work together Swift Blog post on conditional conformance Dokku
2018-02-09
35 min
Fatal Error
Teaser: A Chris Shaped Scream
Chris and Soroush talk about boring startuppy administrative code, web frameworks in shell languages, before moving on to Vapor 3 and Swift 4.1. Conditional conformance is going to be huge. Huge! They close out the show talking about running your own little Heroku.Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2018-02-09
01 min
Fatal Error
55. Fired Up about Firebase
After an update on Chris's bread project, Soroush tells Chris about Firebase Cloud Functions, and we discuss deduplicating some report-generation code in Soroush's current project.Saltie's FocacciaChris’s breadCensysEpisode 44: Grab BagFirebase AnalyticsFirebase Realtime DatabaseFirebase StorageFirebase Cloud FunctionsAWS LambdaParse (Wikipedia)ES7 Async/AwaitBabeltoLocaleDateString()React NativeSuperdistribution - Brad CoxChris Lattner: Concurrency in Swift: One approachMozilla Hacks: Why WebAssembly is Faster Than asm.jsJavaScriptCoreCertificat
2018-02-02
31 min
Fatal Error
Episode 54 - Ecstatic about Enums
Chris and Soroush chat about the new Swift Forums, Soroush’s recent Swift Evolution pitch, and recent enum-related Evolution proposals. (Plus, an update on Chris’s MacBook keyboard and Soroush’s server.) Space Gray iMac Pro alias ggit Let’s Encrypt Chris: Deploying Let’s Encrypt with Nginx on Ubuntu 16.04 Why Comcast injecting messages into web traffic is dangerous Security Tip: Disallow Root SSH Logins How To Disable Password Authentication for SSH How To Protect SSH with Fail2Ban on Ubuntu 14.04 How to Install and Configure Postfix as a Send-Only SMTP Server on Ubuntu 16.04 Jekyll Working Copy: Git on iOS S...
2018-01-26
41 min
Fatal Error
Teaser: Episode 54 - Ecstatic about Enums
Chris and Soroush chat about the new Swift Forums, Soroush’s recent Swift Evolution pitch, and recent enum-related Evolution proposals. (Plus, an update on Chris’s MacBook keyboard and Soroush’s server.)Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2018-01-26
01 min
Fatal Error
53. Amped About android
In this episode, Chris asks Soroush about his experience diving into Android development.Android 101 for iOS Developerslyft/scoop: “micro framework for building view based modular Android applications.”Soroush’s $99 testing phoneJava 8 lambdas/closuresKotlinRuby’s tap methodthen microframework for SwiftBrandon Williams and Lisa Luo — Anything you can do, I can do betterAndroid LayoutsUIStackView vs LinearLayoutAndroid
2018-01-19
49 min
Fatal Error
52. Spooked about Spectre
After a brief discussion about cryptocurrency, Chris and Soroush discuss the CPU vulnerabilites that made news recently: Meltdown and Spectre. Kodak Debuts Bitcoin Miner as Blockchain Pivot Juices Stock Price Coinbase Dogecoin Market Cap Hits $1 Billion, to Its Creator’s Dismay Chris’s Meltdown & Spectre reading list Wired: A Critical Intel Flaw Breaks Basic Security for Most Computers Google Project Zero: Reading privileged memory with a side-channel Meltdown and Spectre Ad blockers iMore: Best ad blockers for iOS Better Adblock Plus uBlock Origin NoScript Apple: About the security content of macOS High Sierra 10.13.2, Security Update 2017-002 Sierra, and Secu...
2018-01-12
42 min
Fatal Error
Teaser: Episode 52 - Spooked about Spectre
After a brief discussion about cryptocurrency, Chris and Soroush discuss the CPU vulnerabilites that made news recently: Meltdown and Spectre.Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2018-01-12
01 min
Fatal Error
Ticks & Trips
We’re back! Chris and Soroush kick off this season with a more freeform podcast format, discuss baking bread, and follow up on Soroush’s Notes.app-centric productivity system.NYT Tartine Sourdough Bread RecipeNYT No-Knead Bread RecipeBread Debugging PageProfessional Baking by Wayne GisslenFolding Bread Proofer and Yogurt MakerTartine Bread by Chad RobertsonThingsOmniFocusNew features in Apple Notes on iOS 11 (including scanning and folders)BearNSUserActivitynvALTChris’s “Archive nvALT Note” AppleScriptLifehacker, Oct. 2005: The Kinkless GTD SystemTwitter thread: @mb: OH: “Notes is OmniFocus”GTD Weekly ReviewsAsk Ubuntu: How to harden an SSH server?Secure Secure ShellGet a new Fatal Error episode every...
2018-01-05
43 min
Fatal Error
Internet of Things
Chris, Soroush, and Soroush’s girlfriend Taylor talk about the Internet of Things. Sonos Wemo Light Switches Wemo Plugs Eero 3-pack fast.com speed test homeassistant Thread about Wemo connection issues Raspberry Pi Homebridge Smart House An escalator can never break, it can only become stairs. You would never see an ”Escalator Temporarily Out Of Order” sign, just ”Escalator Temporarily Stairs. Sorry for the convenience. We apologize for the fact that you can still get up there.” Running terminal commands at startup with launchd “When you’re house sitting for millennials and ask how the lights work” “Like, 90% of infomercial sty...
2017-11-13
52 min
Fatal Error
Internet of Things
Chris, Soroush, and Soroush’s girlfriend Taylor talk about the Internet of Things. Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2017-11-13
00 min
Swift by Sundell
10: “Boy, I have a lot of thoughts on this”, with special guest Soroush Khanlou
Soroush Khanlou joins John to talk about blogging, MVVM and other iOS architecture patterns, unit testing, new features in iOS 11 & Xcode 9 and much more.LinksSoroush on Twitter: @khanlouJohn on Twitter: @johnsundellkhanlou.comContainer View ControllersUsing tokens to handle async Swift codeUnder the hood of Futures & Promises in SwiftMinority Report's gesture-based user interface - YouTubeUIView.safeAreaInsets - UIKit documentationMVVM is Not Very GoodFacade pattern - WikipediaCyclomatic complexity - WikipediaInterviewing, with Erica and Sara - Fatal ErrorIntro and outro music by Dariusz Dziuk
2017-11-07
48 min
Fatal Error
Chris Writes Python
Soroush interviews Chris about his experience writing Python at work over the past couple of months.Chris was wrong about something! Python is not pass-by-reference; see Is Python call-by-value or call-by-reference? Neither.Pyramid Web FrameworkGoogle App EnginePython 2 or Python 3Unicode in Python 2Uncle Bob - The Dark PathOur episode on Tests and Types (Patreon-only)“if you ignore uncle bob's terrible opinions on women, you can fully appreciate how terrible his opinions on software are” — @pasiphae_goalsmypy: “an experimental optional static type checker for Python”Truth Value Testing in Python (2.7)Soroush: Falsiness in SwiftPython Anti-Patterns: Using a mutable de...
2017-11-06
37 min
Fatal Error
48. Productivity
This week, Chris and Soroush chat about productivity tools and techniques. Getting Things Done (GTD) Omnifocus Things 3 Bear Notes App: The Ultimate Guide AnyList - Grocery list/recipe organizer Using AnyList with Amazon Alexa IFTTT Instapaper Pinboard Chris’s Pinboard Next Episode
2017-10-30
33 min
Fatal Error
Teaser: 48. Productivity
This week, Chris and Soroush chat about productivity tools and techniques.Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2017-10-30
01 min
Fatal Error
47. Strange Loop
Soroush interviews Chris about his experience at this year’s Strange Loop conference.Strange LoopStrange Loop Schedule (currently showing the 2017 schedule)Alex Miller"Just-So Stories For AI: Explaining Black-Box Predictions" By Sam RitchieDecision Tree LearningRandom Forest""It Me": Under The Hood Of Web Authentication" By Yan Zhu, Garrett RobinsonLito Nikolai"Level Up Your Concurrency Skills With Rust" By David SullinsSwift Ownership ManifestoCity Museum"To Serve The People: Public Interest Technologists" By Matt Mitchell"Redux: Architecting And Scaling A New Web App At The Ny Times" By Juan Carlos Montemayor Elosua"The Holy Grail Of Systems Analysis: From What To...
2017-10-23
25 min
Fatal Error
46. Reflecting on Swift and Objective-C
This week, Soroush and Chris talk about what it’s like to write Objective-C after a few years of Swift. Run Loops Episode 34: Promises … in Objective-C ObjC Lightweight Generics NSNumber Chris’s as_ macros List comprehensions Key-Value Coding Programming Guide Chris: Cocoa’s mutable-subclass pattern is an antipattern The Responder Chain Understanding Event Handling, Responders, and the Responder Chain Event Architecture The Future of Status Board Soroush: Why I don’t write Swift Soroush: Reflections on six months of Swift
2017-10-09
38 min
Fatal Error
Teaser: 46. Reflecting on Swift and Objective-C
This week, Soroush and Chris talk about what it’s like to write Objective-C after a few years of Swift.Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2017-10-09
01 min
Fatal Error
45. Fault Tolerance with Actors
Chris and Soroush continue their discussion of the future of concurrency in Swift by considering how Erlang achieves fault isolation with actors.Concurrency in Swift: One approachPreviously: Episode 42: ActorsErlang and ElixirErlang Hot Code SwappingConcurrent and Distributed Programming with Erlang and Elixir: Part 1Errors and ProcessesWho Supervises The Supervisors?Fault Tolerance doesn't come out of the boxConcurrency in Erlang & Scala: The Actor ModelAlan KaySmalltalkHeart of SmalltalkSmalltalk in One PageWhat is OTP? (Learn You Some Erlang)erlang/OTP on GitHub Get a new Fatal Error episode every week by becoming a supporter at patreon.com/fatalerror.
2017-10-02
39 min
Fatal Error
44. Grab Bag
Soroush has a new mic ATR2500-USB Thanks to you, Patreon supporters, for buying us new mics! Chris is making an Alexa Skill FlightAware ADS-B Exchange Cheap ADS-B Aircraft Radar (this isn’t Chris’s exact setup, but it’s similar) What it’s like to build an Alexa skill - and how you can do it yourself Build your First Alexa Skill Fact Skill Tutorial: Build an Alexa Skill in 6 Steps AWS Lambda Creating a Deployment Package (Node.js) Speech Synthesis Markup Language (SSML) Reference Chris’s ADS-B posts: Monitoring aircraft via ADS-B on OS X ...
2017-09-25
42 min
Fatal Error
Teaser: 44. Grab Bag
This week, Chris and Soroush discuss a few different topics including Sourcery, building an Alexa skill, and Swift CLI programs.Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2017-09-25
01 min
Fatal Error
43. Jason Brennan on Beach
Jason Brennan joins Chris and Soroush to discuss his new project, Beach.Jason Brennan (@jasonbrennan)BlogBeach landing pageAlan Kay https://en.m.wikipedia.org/wiki/Alan_KayHyperCard.orgHyperCard on WikipediaGuerrillas in the Myst (WIRED, 1994)Emergent BehaviorTurtles, Termites and Traffic Jams by Mitchel ResnickHSLApple Reinvents Textbooks with iBooks 2 for iPad (2012)iBooks AuthorHopscotchA LEGO Mindstorms programBret Victor: Stop Drawing Dead FishSketchJason’s fork of PrototopeSwift Playgrounds“I think I’m more excited by people’s shitty versions of things (sketches, prototypes, etc) than the finished, polished thing” — @jasonbrennanBrian Lee O’Malley on InstagramOn the BeachThread from Jason: “Teachers have to worry about ‘how...
2017-09-18
48 min
Fatal Error
Patron Bonus: Apple Event Sept. 12
Chris and Soroush go a little crazy talking about this week’s Apple event.
2017-09-14
28 min
Fatal Error
42. Actors
Chris and Soroush discuss the Actor model from Chris Lattner’s concurrency manifesto. Concurrency Manifesto, part 2: Actors Actor model (Wikipedia) ActorKit: “A lightweight actor framework in Objective-C” Ownership Manifesto What are move semantics, exactly? Go FAQ: Why is there no type inheritance? Object Oriented Inheritance in Go Under the hood of Futures & Promises in Swift Episode 30: Server-Side Swift Episode 33: Server-Side Swift in Practice Note from Chris: I failed to realize this while we were recording, but move semantics should also allow passing a non-ValueSemantical reference type into an actor method — if ownership of some parameter moves to the acto...
2017-09-11
47 min
Fatal Error
Teaser: 42. Actors
Chris and Soroush discuss the Actor model from Chris Lattner's concurrency manifesto.Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2017-09-11
01 min
Fatal Error
41. Talking Swift-Evolution with Kelvin
Karlie KlossKode with KlossyXcode 9’s new editor is written in Swift (WWDC 2017 Initial Impressions)swift-evolution mailing listswift-evolution GitHub repositoryKelvin’s proposal to improve Swift’s pointer typesAndy Trick on TwitterSwift 5: start your engines announced the new evolution process changesSoroush’s guard-catch proposal (see also Episode 37: Soroush’s Swift Evolution Proposal)Chris Lattner: “Because proposals must be implemented before review, the core team is pre-reviewing proposals to provide guidance of whether they are conceptually plausible for inclusion in swift. This is to avoid the problem of someone spending a bunch of time implementing something, then the core team saying ‘no, that's a bad idea’”Da...
2017-09-04
33 min
Fatal Error
40. Async/Await
Chris Lattner: Concurrency in Swift: One possible approach Chris Lattner: Concrete proposal for async/await in Swift Your steadfast hosts were mistaken about the existence of an Erica Sadun post. It was the topic of an as-yet-unpresented talk that she’s writing. We’ll link it here if and when she gives the talk. Coroutines Continuation-passing style Soroush: Async Await Episode 16: Swifty Error Handling antitypical/Result: Rob Rix’s Result microframework
2017-08-28
48 min
Fatal Error
Teaser: 40. Async/Await
This week, Chris and Soroush chat about async/await in Swift!Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2017-08-28
01 min
Fatal Error
39. Our First Apps
Get a new Fatal Error episode every week by becoming a Patreon supporter!This week, Soroush and Chris revisit their first iOS apps.360|iDevAndrew Sardonecdzombak/CAENLabStatus-iOSInitial commits"I’m an asshole”CDZTableViewSplitDelegate.m was used so that a separate, reusable object could handle the parallax scrolling effect used on maps in the app.DZCLabStatusHelper.mScreenshotsArizona Daylight Saving TimeEpisode 6: SingletonsTransitioning to ARC Release NotesAdded August 23: Chris also gave a Git intro talk for a student group in 2012. That talk is archived here: Collaborating with Git.
2017-08-21
37 min
Fatal Error
38. Third-Party Dependencies
#15: Not Invented Here #34: Promises … in Objective-C Soroush’s OAuth Signature Generator BAKMultipartRequestBuilder Michael Jurewitz: “You never go full Brichter” Letterpress: Word Game Will Shipley: My “Doom” 20th Anniversary Stories
2017-08-14
26 min
Fatal Error
Teaser: 38. Third-Party Dependencies
This week, Chris and Soroush revisit the topic of third-party dependencies. Should you bring them into your project? Why or why not?Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2017-08-14
01 min
Fatal Error
37. Soroush’s Swift Evolution Proposal
Get a new Fatal Error episode every week by becoming a Patreon supporter!Richy Adem, Caleb Davenport, Erica Sadun, Tim Vermeulenswift-evolution pull request #734: Add a proposal for guard-catchThe proposal: Introducing guard-catchswift-evolution discussion: [Pitch] Guard/CatchChris Lattner’s comment on let/catchThe “monads are like burritos” jokeBrent Yorgey: Abstraction, intuition, and the “monad tutorial fallacy”Mark Dominus: Monads Are Like BurritosBen Cohen (airspeedswift)Open PR since April 8: removeAll ProposalSwift Evolution Process
2017-08-07
25 min
Fatal Error
36. Conferences & Talks (& Blogging)
360iDev Talks by Soroush & Chris Soroush: Many Controllers Make Light Work Chris: DRYing up duplicate code WWDC Scholarships Announcing try! Swift NYC Diversity Scholarships Strange Loop Talk at Strange Loop: Spreadsheets for developers On the Turing Completeness of Microsoft PowerPoint (SIGOBVIK) Fatal Error episode 19: Playgrounds Conference Fatal Error episode 21: try! Swift Tokyo
2017-07-31
29 min
Fatal Error
Teaser: 36. Conferences & Talks (& Blogging)
This week, Chris and Soroush discuss speaking at conferences, attending them, and coming up with ideas for blog posts.Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2017-07-31
01 min
Fatal Error
35. The Ownership Manifesto
Get a new Fatal Error episode every week by becoming a Patreon supporter.This week, Chris and Soroush talk about Swift's ownership manifesto.Ownership ManifestoSwift Ownership Manifesto TL;DRThe Rust Programming Language: What is Ownership?Also: References and BorrowingPony is an open-source, object-oriented, actor-model, capabilities-secure, high performance programming language.Safely Sharing Data: Reference Capabilities in Pony
2017-07-24
33 min
Fatal Error
34. Promises … in Objective-C
This week, Chris and Soroush discuss Soroush’s latest project, which among other things involves porting his Swift Promises library to Objective-C. Soroush’s Swift promise library Gist of Soroush’s Objective-C promise library Fucking Block Syntax Episode 4: Promises Episode 15: Not Invented Here BAPromise CocoaPods, Carthage Bitcode Android Support Library Tiny Swift Idioms in Objective-C We didn’t discuss this in the episode, but it’s relevant: One Weird Trick to Lose Size
2017-07-17
30 min
Fatal Error
Teaser: 34. Promises … in Objective-C
This week, Chris and Soroush discuss Soroush's latest project, which among other things involves porting his Swift Promises library to Objective-C.Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2017-07-17
01 min
Fatal Error
33. Server-Side Swift in Practice
Get a new Fatal Error episode every week by becoming a Patreon supporter!Chris and Soroush dive deep on server-side Swift.Fatal Error Episode 30: Server-Side SwiftBeaconAshley Nelson-HornsteinVaporFoundation’s base64 encoding bug on Linux Vapor SlackMonoreposDan Luu on MonoreposDavid R. MacIver on Monreposgit-subtreeKituraErrors on the server on Soroush’s bloggithub.com/khanlou/PromiseFatal Error 4. PromisesFatal Error 5. Reactive ProgrammingProposal to unify Swift.String Index types
2017-07-10
34 min
The Run Loop
Episode 11: Soroush Khanlou
Soroush Khanlou joins Collin to talk about developing the Beacon app, server side Swift, blogging, and languages. Special Guest: Soroush Khanlou.
2017-07-07
00 min
Fatal Error
Teaser: 32. Getting Started in a New Codebase
This week, Chris and Soroush discuss techniques for getting started in an unfamiliar codebase.Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2017-07-03
01 min
Fatal Error
31. Swift 4
Get a new Fatal Error episode every week by becoming a Patreon supporter!Chris’s new jobBeaconAshley Nelson-HornsteinString Processing for Swift 4Swift Strings: Unicode discusses extended grapheme clustersSE-0180: String Index Overhaul (under review until June 28)SE-0168: Multiline String LiteralsSE-0165: Dictionary & Set EnhancementsErica Sadun: The surprising awesomeness of Grouped DictionariesSE-0169: Improve Interaction Between private Declarations and ExtensionsSE-0143: Conditional conformancesSE-0166: Swift Archival & SerializationBen Scheirman: Ultimate Guide to JSON Parsing with Swift 4SE-0161: Better Key-Value Coding for SwiftExpanding User-Defined Runtime Attributes in Xcode with Objective-CKuery: A type-safe Core Data query API using Swift 4's Smart KeyPathsSR-5220: Expose API to retrieve string re...
2017-06-26
35 min
Fatal Error
29. Protocols with Associated Types
This is the last non-Patreon-exclusive episode of our second season. Episode 30 will appear on our Patreon page next week, then we’ll take a 6-week break and Episode 31 will be posted here on July 3. Thank you for listening!Protocol 'XYZ' can only be used as a generic constraint because it has Self or associated type requirements. Oh no, what now?Alexis Gallagher: Protocols with Associated TypesGwendolyn Weston: Keep Calm and Type Erase OnMislav Javor: Swift Enums Are "sum" Types. That Makes Them Very InterestingBrandon Williams’ Few But Ripe blog, for learning about sum and product types, amon...
2017-05-08
29 min
The iPhreaks Show
201 iPS Japan, Sequences & Collections with Soroush Khanlou
On today's episode, Jaim, Erica, and Andrew discuss Japan, Sequences & Collections with Soroush Khanlou. Soroush is an iOs developer from New York City. He served as one of the speakers in try! Swift Conference in Japan. Also, he is a blogger and the co-host of a popular software engineering podcast titled Fatal Error. Tune in!
2017-05-04
00 min
iPhreaks
201 iPS Japan, Sequences & Collections with Soroush Khanlou
On today's episode, Jaim, Erica, and Andrew discuss Japan, Sequences & Collections with Soroush Khanlou. Soroush is an iOs developer from New York City. He served as one of the speakers in try! Swift Conference in Japan. Also, he is a blogger and the co-host of a popular software engineering podcast titled Fatal Error. Tune in!
2017-05-04
1h 13
iPhreaks
201 iPS Japan, Sequences & Collections with Soroush Khanlou
On today's episode, Jaim, Erica, and Andrew discuss Japan, Sequences & Collections with Soroush Khanlou. Soroush is an iOs developer from New York City. He served as one of the speakers in try! Swift Conference in Japan. Also, he is a blogger and the co-host of a popular software engineering podcast titled Fatal Error. Tune in!
2017-05-04
1h 14
Fatal Error
28. The String Manifesto
String Processing for Swift 4 (aka “The String Manifesto”) Chris: String is not a sufficient type: how using your type system can help you make better software Primitive Obsession in Ruby Primitive Obsession in Swift An adventure with a memory leak in Node Soroush: My Least Favorite Thing About Swift NSHipster’s NSRegularExpression article discusses NSRange and Swift Swift String Pattern-matching Prototype
2017-05-01
36 min
Fatal Error
Teaser: 28. The String Manifesto
This week, Chris and Soroush talk about Swift's String Manifesto.Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2017-05-01
01 min
Fatal Error
27. Core Data
Get a new Fatal Error episode every week by becoming a Patreon supporter!This week, Soroush and Chris talk about why they'd basically never use Core Data.Mike Ash comment on Hacker News (copied below)Cache Me If You Can: Soroush's post on why not to use Core Data as a cacheRuby Midwest 2011 - Keynote: Architecture the Lost Years by Robert MartinCaleb Davenport: Ditching Core Data (and using YapDatabase)ACID GuaranteesMike Ash:The short and easy answer is no, never.Core Data is just not a good technology. People on the other side...
2017-04-24
24 min
Fatal Error
26. Persistence
This week, Chris and Soroush talk about how they persist data in their apps. YapDatabase YapDatabase Extensions YapDatabase R-Tree Index for Fast Geospatial Queries ValueCoding: Swift protocols for encoding/decoding value types, which can be used with YapDatabase How FriendFeed uses MySQL to store schema-less data PostgreSQL 9.6 Documentation: JSON Types Realm Core Data mogenerator NSPersistentContainer - Apple’s simple core data stack class Appropriate Uses for SQLite EGODatabase FMDB FCModel
2017-04-17
32 min
Fatal Error
Teaser: 26. Persistence
This week, Chris and Soroush talk about how they persist data in their apps.Listen to the whole episode — and get access to the entire Fatal Error back catalog — at patreon.com/fatalerror.
2017-04-17
01 min
Fatal Error
25. Interviewing, with Erica and Sara
Get a new Fatal Error episode every week by becoming a Patreon supporter! This week, Soroush and Chris have two very special guests. Erica Gutierrez and Sara Ahmad were part of last year's summer class at Flatiron School. Since then, they've had a lot of trouble landing junior positions at tech firms. Sara and Erica share their frustrations with the hiring and interviewing process over the last year. Flatiron School try! Swift meetup in Queens Vapor – Swift server Swift Access Specifiers Rebecca Slatkin's technical interview prep guide (Google doc)
2017-04-10
45 min
Fatal Error
24. The fileprivate kerfuffle
This week, Soroush and Chris work through their feelings about the ongoing debate about fileprivate and access control in Swift. SE-0159: Fix Private Access Levels SE-0025: Scoped Access Level Zachary Drayer Access Control and protected: Apple Swift blog post about protected C++: friend declaration Swift Needs a Scope Keyword: Jared Sinclair on scopes in Swift Note: we’re still working out our recording setup for in-person recordings. Audio quality will be better next time we’re recording from the same place.
2017-04-03
32 min
Fatal Error
23. Metaprogramming (Objective-C vs Swift)
Get a new Fatal Error episode every week by becoming a Patreon supporter! This week, Chris and Soroush try to compare Objective C and Swift, but end up talking about metaprogramming a lot. “Metaprogramming” isn’t a scary word (not even in Objective-C) by Soroush Mantle - JSON mapping JTObjectMapping - more JSON mapping InstantCocoa - Soroush's Rails-esque iOS framework Method Dispatch in Swift - good overview of the different kinds of function dispatch in Swift The Ghost of Swift Bugs Future - Overview of static dispatch with protocol with default implementations
2017-03-27
39 min
Fatal Error
22. Optional Properties
Soroush: That One Optional Property Massive View Controller Sandi Metz: Nothing is Something (RailsConf 2015) Finite State Machine (Wikipedia) StatefulViewController Soroush: a state machine where invalid transitions can’t compile A gentle introduction to dependent types Less gently: Dependent Types at Work D Oisín Kidney: In which I Misunderstand Dependent Types Validated Andy Matuschak: A composable pattern for pure state machines with effects Functional core, imperative shell is from Boundaries by Gary Bernhardt
2017-03-20
24 min
Fatal Error
21. try! Swift Tokyo
Get a new Fatal Error episode every week by becoming a Patreon supporter!try! Swift TokyoNatashaTheRobot (@natashatherobot)Fatal Error Episode 19: Playgrounds ConferenceNate Cook (@nnnnnnnn)Relevant article: Unsafe Swift: Using Pointers And Interacting With CLaura Ragone (@lauraggle)Inclusive-Color: Color Blindness Simulation for UIColorKyle Fuller (@kylefuller)Frank is a library for quickly writing web applications in SwiftAgnes Vasarhelyi (@vasarhelyia)Brandon Williams (@mbrandonw)ReactiveSwift and ReactiveCocoaSommer Panage (@Sommer)antitypical/Result: Swift type modelling the success/failure of arbitrary operations.
2017-03-13
25 min
Fatal Error
19. Playgrounds Conference
Get a new Fatal Error episode every week by becoming a Patreon supporter!This week, Soroush was in Melbourne, Australia for the Playgrounds conference. In this episode, Chris interviews him about the conference, his talk, and other talks he found interesting.Playgrounds ConferenceSoroush's slides: Everything You Ever Wanted To Know About Sequence And CollectionA Beginner's Guide to Big O NotationBig-O Cheat SheetSwift sequence & collection types:SequenceCollectionBidirectionalCollectionRandomAccessCollectionMutableCollectionRangeReplaceableCollectionIteratorProtocolStack Overflow: MutableCollection vs RangeReplaceableCollectionDoubly-Linked ListMatt Comi, StagehandStack Overflow answer on pathfinding algorithms, with links to additional readingRay TracingMatt Gallagher: Cocoa With LoveMersenne primesUnsafeMutableBufferPointerSwift optimization tip: Use unchecked integer arithmetic when...
2017-02-27
24 min
Fatal Error
17. Testing your Network Layer
Get a new Fatal Error episode every week by becoming a Patreon supporter! This week, Chris and Soroush discuss different approaches to testing your network layer. OHHTTPStubs Testing NSURLSession with Swift An Easy Way To Stub NSURLSession Soroush: Request Behaviors Waiting in XCTest
2017-02-13
18 min
Fatal Error
16. Swifty Error Handling
Representing and Throwing Errors in Swift Cocoa with Love: Values and errors, part 1: ‘Result’ in Swift antitypical/Result Sunset Lake Software: Swift 2 Error Handling in Practice Soroush: Decoding JSON [swift-evolution] throws as returning a Result Joe Fabisevich on Twitter: “Food for thought when considering Swift’s un-typed errors. Do types end up mattering much?” Java Exception Handling Olivier Halligon — Asynchronous error handling Swift Asserts: the missing manual reviews fatalError and the other ways for your code to fail at runtime Never: “The return type of functions that do not return normally; a type with no values.” Railway Oriented Programming Scott Wlaschin - Railw...
2017-02-06
31 min
Fatal Error
15. Not Invented Here
Get a new Fatal Error episode every week by becoming a Patreon supporter!Caleb and Sam from Runtime join Chris and Soroush to talk about "Not Invented Here" and how we approach project dependencies.Wikipedia: Not Invented Heresoffes/mixpanel: Sam's Unofficial Swift Mixpanel clientNPM's Left PadCocoaPods: Quality IndexesSwift Package ManagerFloat LabelGithubGif of the animationantitypical/Resultjonkykong/SideMenuSVProgressHUDYour hosts:Sam on TwitterCaleb on TwitterChris on TwitterSoroush on Twitter
2017-01-30
33 min
Fatal Error
14. Tests and Types
Chris and Soroush discuss Uncle Bob’s controversial blog post about languages with type systems that he finds too strict. Uncle Bob’s original post: The Dark Path The Kotlin Programming Language SwiftCheck: property testing in Swift Fox: property testing for ObjC Proof in Functions Null References: The Billion Dollar Mistake Chris Eidhof’s response: Types vs TDD Uncle Bob’s follow up: Types and Tests Soroush’s post from a few years ago: Test and Types
2017-01-23
35 min
Fatal Error
13. The Law of Demeter
Get a new Fatal Error episode every week by becoming a Patreon supporter! The Law of Demeter (also known as the Principle of Least Knowledge) shows up occasionally in code reviews and discussions of object-oriented programming practices. But what does it actually mean, and why should we use it? Law of Demeter Set the settings set Easy Namespacing in Swift AVFoundation Programming Guide: Playback [[[[[playerItem tracks] objectAtIndex:0] assetTrack] asset] duration]; The Paperboy, The Wallet, and The Law Of Demeter
2017-01-16
28 min
Fatal Error
12. Swift 3 Migration
Xcode 8 Release Notes: “Xcode 8.2 is the last release that will support Swift 2.3.” SE-0069: Mutability and Foundation Value Types Swift.org Migration Guide SE-0121: Remove Optional Comparison Operators Stack Overflow thread on NSURL changes in Swift 3 Soroush: Emptiness Validated: “A Swift μ-Library for Somewhat Dependent Types” FileURL.swift PathKit: “Effortless path operations in Swift” Swift 3 Access Controls SE-0047: Defaulting non-Void functions so they warn on unused results SwiftLint Vertical Whitespace Rule Your Delegation Methods Might Not Be Called In Swift 3 Stack Overflow: NSKeyedArchiver does not work in Swift 3 Intro to git bisect from thoughtbot
2017-01-09
43 min
Fatal Error
11. Codegen
Get a new Fatal Error episode every week by becoming a Patreon supporter! To kick off this season of Fatal Error, Chris and Soroush discuss code generation in Swift: what, why, and how? SourceKitten Sourcery mogenerator CaseCountable, for counting the number of cases on enum swift-protobuf Swift Standard Library CollectionAlgorithms.swift.gyb (an example .gyb template) gyb.py (the Generate Your Boilerplate tool) Ole Begemann: How to Read the Swift Standard Library Source SwiftGen Coordinators
2017-01-02
28 min
Fatal Error
10. Why This All Matters
Chris and Soroush spent the last 18 weeks discussing the things they think are important to consider in building software. In the final episode of Fatal Error Season 1, they make the case for why it's important to think about these concepts — and just as crucially, how to use technical debt effectively. Judicious Use of Shitty Code Technical Debt 101 Soroush: State Negotiations Cyclomatic Complexity Keeping Your Classes Shorter Than 250 Lines Chris's Pinboard on technical debt
2016-12-05
27 min
SwiftCoders: Interviews with Swift Developers
35: Your Humble Host - Season 2 Finale
In this Season 2 Finale, Garric talks about his recent experience at Swift Summit, looks back and looks ahead at all the Swift things in his life, talks about his Swift Goals for 2017, and gives some timely advice for every level of SwiftCoder, from beginner to ninja. We'll be back January 17th, 2017 with the start of Season 3. Happy Holidays! Links: Swift Summit - https://www.swiftsummit.com Learn Swift LA - https://www.meetup.com/LearnSwiftLA/ SwiftCoders LA - https://www.meetup.com/SwiftCoders-L-A/ Alistair Cooper - @SwiftComposer - https://twitter.com/swiftcomposer Yariv Nissim - @yar1vn - ...
2016-11-23
00 min
Fatal Error
8. Domain-Driven Design
Soroush tells Chris about some of his takeaways from Eric Evans's book, Domain-Driven Design, and they discuss how we can apply some of its lessons in our day-to-day thinking about iOS development. Soroush's post on programming books: Resources For New Programmers Domain-Driven Design: Tackling Complexity in the Heart of Software, by Eric Evans Entity vs Value Object: the ultimate list of differences Value vs Entity Objects in Domain Driven Design Soroush: The Value of Value Objects The Swift blog: Value and Reference Types Tiny Types Soroush's post on enumerations Facade Pattern DDD: Aggregate Strategy Pattern Domain Driven Design...
2016-11-07
30 min
Fatal Error
7. The Single Responsibility Principle
A responsibility is an axis of change — a potential motivation for change. SRP is the S in SOLID Book chapter about SRP from Uncle Bob via Uncle Bob's Principles of Object-Oriented Design Single Responsibility Principle: A Recipe for Great Code SRP in Ruby Off-topic: Falsehoods Programmers Believe About Names A Controller By Any Other Name (Soroush) Episode 2: View Models
2016-10-24
36 min
Fatal Error
6. Singletons
Singletons get a bad rap. Why? Should you use them in your application? And if you've inherited several of them, what should you do? Singleton Pattern A Controller by Any Other Name (Soroush) The Sin in Singleton (Ben Sandofsky) singletons.info (Chris's blog posts and other links about singletons) Real World Singleton Design Singletons in Cocoa applications Quick followup on singletons Using static let to create singletons in Swift Using static let is thread-safe Avoiding Singleton Abuse (Stephen Poletto)
2016-10-10
27 min
Fatal Error
5. Reactive Programming
This week, Chris and Soroush finally get to the topic they've been waiting for since they started the podcast: reactive programming. Chris gives a high level intro, and they dive into Q&A. How Chris and Soroush met Soroush: “Reactive Cocoa” Chris: “Objective-C” Chris: “The Value of ReactiveCocoa” Soroush: “In Defense of Clarity” Then, beers. RxMarbles RACMarbles, which is RxMarbles with RAC terminology! A General Theory of Reactivity Accidental vs. Essential Complexity (Paper PDF) Reactive tooling for iOS/macOS ReactiveCocoa RxSwift ReactiveKit (née Bond) Interstellar The ReactiveCocoa repository contains excellent documentation for the framework and reactive concepts in general Design...
2016-09-26
49 min
Fatal Error
4. Promises
This week, our boys talk about promises: where do they come from, and what they are good for? Soroush's post about the experience of writing a Promise class Soroush's follow-up post about how easy it is to build cool things with promises The JavaScript A+/Promise spec WWDC video for improved GCD in Swift 3 Chris Lattner's retrospective on Swift 3 “First class concurrency: Actors, async/await, atomicity, memory model, and related topics.” “Lifetimes” in Rust Async and Await in C# Common iOS Promise libraries PromiseKit BrightFutures FutureKit SwiftTask UView+Promises from PromiseKit Soroush's Promise library
2016-09-12
34 min
Fatal Error
3. View Models, Again
After recording Episode 2, Soroush remembered some other questions about View Models. In this special episode, your hosts answer even more View Model questions. Separate Read Model from Write Model to Support Complex Forms MVC on Wikipedia How MVC works in Smalltalk HATEOAS “A hypermedia-driven site provides information to navigate the site's REST interfaces dynamically by including hypermedia links with the responses.” ReactiveCocoa Actions The Action type This issue provides an example of a view model exposing an Action
2016-08-29
41 min
Fatal Error
2. View Models
In our second episode, we discuss view models. Chris starts with a bold definition of what they are, and more importantly, what they aren't. Soroush raises some concerns he's had with view models, and Chris explains his approach. Finally, we touch on how reactive programming is related to view models. Soroush's post: MVVM is not very good Ash Furrow's response: MVVM is exceptionally ok The Facade Pattern Canonical MVVM, by Rogelio Gudino, delves into the backstory of how MVVM got started at Microsoft Caleb Davenport and Sam Soffes discuss view models for empty states on runtime...
2016-08-15
30 min
Fatal Error
1. Coordinators
In our first episode, we talk coordinators. What are they? How do you use them? How did they come to be? How do they relate to storyboards? Your intrepid hosts answer these questions and more. Soroush's original blog post The Coordinator Soroush's talk on Coordinators at NSSpain The blog post version of the talk: Coordinators Redux Post on using coordinators with storyboards and follow up
2016-07-23
27 min
Inquisitive
Setting A Little Fire, with Dave Wiskus
This week Myke is joined by Dave Wiskus. They talk about Dave's foray in to creating video content and his critical take on the current state of tech podcasting. This episode of Inquisitive is sponsored by: lynda.com: An easy and affordable way to help individuals and organizations learn. Free 10-day trial. Harry's: An exceptional shave at a fraction of the price. Use code INQUISITIVE for $5 off your first purchase. Campaign Monitor: Helping you send beautiful emails and get better results. Guest Starring: Dave Wiskus Links and Show Notes: ...
2014-12-18
1h 10
Vector
66: The third man in the spy van, with Soroush Khanlou
Tim Cook is proud to be gay, Obama wants Net Neutrality, the next great divide, the importance of role-models, diversity vs. inclusivity, and looking back 100 years from now. With Guy English, Rene Ritchie, Dave Wiskus, and Soroush Khanlou. Show notes Tim Cook speaks up Thank you, Tim Cook Net Neutrality: President Obama's Plan for a Free and Open Internet Do you want net neutrality or not, John Legere? Gamergate and the politicization of absolutely everything The Colbert Report: Gamergate - Anita Sarkeesian Humans Interacting Panel Soroush Khanlou of khanlou.com Guy English of Kickingbear ...
2014-11-11
1h 30