Look for any podcast host, guest or anyone
Showing episodes and shows of

Soroush Khanlou

Shows

Swift over CoffeeSwift over CoffeeS3E1: People want to get togetherIn 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-0356 minLimitless PossibilityLimitless Possibility117: Swiss Cheese Bus NetworkYanik 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 map2019-07-2250 minSwift over CoffeeSwift over CoffeeS1E1: No magic bulletsIn 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-0126 minFatal ErrorFatal Error70. The FinaleIn 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-1145 minFatal ErrorFatal ErrorTeaser: 70. The FinaleIn 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 @freak4pc2018-06-1101 minHallo SwiftHallo SwiftCoordinator PatternLinks"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 iTunes2018-05-2700 minFatal ErrorFatal Error69. The Billion Dollar MistakeThis 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 definitionSubEthaEdit2018-05-2536 minFatal ErrorFatal Error68. NegotiatingThis 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-1127 minFatal ErrorFatal ErrorTeaser: 68. NegotiatingThis 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-1101 minFatal ErrorFatal ErrorThe Whatever Planet From The SunSoroush 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 experiments2018-05-0430 minFatal ErrorFatal Error66. 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-2728 minFatal ErrorFatal ErrorTeaser: 66. Sequence and Collection and Iterator, Oh MySoroush 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-2701 minFatal ErrorFatal Error65. Times That Do Not ExistYour 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-2043 minInside iOS DevInside iOS DevSoroush 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-1626 minFatal ErrorFatal Error64. AI ApoptosisThis 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-1338 minFatal ErrorFatal ErrorTeaser: 64. AI ApoptosisThis 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-1301 minFatal ErrorFatal Error63. Two People Who Like Type SystemsThis 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-0640 minFatal ErrorFatal Error62. Convergent Swift EvolutionThis 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-3047 minFatal ErrorFatal ErrorTeaser: 62. Convergent Swift EvolutionThis 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-3001 minFatal ErrorFatal Error61. Hypothetical Testing TricksThis 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-1633 minFatal ErrorFatal ErrorTeaser: Episode 60 - Soroush in the Standard LibraryThis 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-0929 minFatal ErrorFatal ErrorTeaser: Episode 60 - Soroush in the Standard LibraryThis 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-0901 minFatal ErrorFatal Error59. 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-0236 minFatal ErrorFatal ErrorTeaser: Episode 58 - Pi, Delicious PiThis week’s episode turns into a grab bag of nerdy topics: home automation, Raspberry Pis, music, time, and also MoviePass.2018-02-2301 minFatal ErrorFatal Error57. Lattnerianly In-DepthThis 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-1631 minFatal ErrorFatal ErrorA Chris Shaped ScreamChris 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-0935 minFatal ErrorFatal ErrorTeaser: A Chris Shaped ScreamChris 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-0901 minFatal ErrorFatal Error55. Fired Up about FirebaseAfter 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.jsJavaScriptCoreCertificat2018-02-0231 minFatal ErrorFatal ErrorEpisode 54 - Ecstatic about EnumsChris 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-2641 minFatal ErrorFatal ErrorTeaser: Episode 54 - Ecstatic about EnumsChris 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-2601 minFatal ErrorFatal Error53. Amped About androidIn 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-1949 minFatal ErrorFatal Error52. Spooked about SpectreAfter 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-1242 minFatal ErrorFatal ErrorTeaser: Episode 52 - Spooked about SpectreAfter 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-1201 minFatal ErrorFatal ErrorTicks & TripsWe’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-0543 minFatal ErrorFatal ErrorInternet of ThingsChris, 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-1352 minFatal ErrorFatal ErrorInternet of ThingsChris, 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-1300 minSwift by SundellSwift by Sundell10: “Boy, I have a lot of thoughts on this”, with special guest Soroush KhanlouSoroush 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 Dziuk2017-11-0748 minFatal ErrorFatal ErrorChris Writes PythonSoroush 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-0637 minFatal ErrorFatal Error48. ProductivityThis 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-3033 minFatal ErrorFatal ErrorTeaser: 48. ProductivityThis 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-3001 minFatal ErrorFatal Error47. Strange LoopSoroush 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-2325 minFatal ErrorFatal Error46. Reflecting on Swift and Objective-CThis 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-0938 minFatal ErrorFatal ErrorTeaser: 46. Reflecting on Swift and Objective-CThis 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-0901 minFatal ErrorFatal Error45. Fault Tolerance with ActorsChris 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-0239 minFatal ErrorFatal Error44. Grab BagSoroush 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-2542 minFatal ErrorFatal ErrorTeaser: 44. Grab BagThis 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-2501 minFatal ErrorFatal Error43. Jason Brennan on BeachJason 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-1848 minFatal ErrorFatal ErrorPatron Bonus: Apple Event Sept. 12Chris and Soroush go a little crazy talking about this week’s Apple event.2017-09-1428 minFatal ErrorFatal Error42. ActorsChris 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-1147 minFatal ErrorFatal ErrorTeaser: 42. ActorsChris 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-1101 minFatal ErrorFatal Error41. Talking Swift-Evolution with KelvinKarlie 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-0433 minFatal ErrorFatal Error40. 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-2848 minFatal ErrorFatal ErrorTeaser: 40. Async/AwaitThis 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-2801 minFatal ErrorFatal Error39. Our First AppsGet 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-2137 minFatal ErrorFatal Error38. 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-1426 minFatal ErrorFatal ErrorTeaser: 38. Third-Party DependenciesThis 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-1401 minFatal ErrorFatal Error37. Soroush’s Swift Evolution ProposalGet 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 Process2017-08-0725 minFatal ErrorFatal Error36. 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-3129 minFatal ErrorFatal ErrorTeaser: 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-3101 minFatal ErrorFatal Error35. The Ownership ManifestoGet 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-2433 minFatal ErrorFatal Error34. Promises … in Objective-CThis 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 Size2017-07-1730 minFatal ErrorFatal ErrorTeaser: 34. Promises … in Objective-CThis 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-1701 minFatal ErrorFatal Error33. Server-Side Swift in PracticeGet 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 types2017-07-1034 minThe Run LoopThe Run LoopEpisode 11: Soroush KhanlouSoroush Khanlou joins Collin to talk about developing the Beacon app, server side Swift, blogging, and languages. Special Guest: Soroush Khanlou.2017-07-0700 minFatal ErrorFatal ErrorTeaser: 32. Getting Started in a New CodebaseThis 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-0301 minFatal ErrorFatal Error31. Swift 4Get 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-2635 minFatal ErrorFatal Error29. Protocols with Associated TypesThis 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-0829 minThe iPhreaks ShowThe iPhreaks Show201 iPS Japan, Sequences & Collections with Soroush KhanlouOn 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-0400 miniPhreaksiPhreaks201 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-041h 13iPhreaksiPhreaks201 iPS Japan, Sequences & Collections with Soroush KhanlouOn 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-041h 14Fatal ErrorFatal Error28. 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-0136 minFatal ErrorFatal ErrorTeaser: 28. The String ManifestoThis 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-0101 minFatal ErrorFatal Error27. Core DataGet 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-2424 minFatal ErrorFatal Error26. PersistenceThis 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-1732 minFatal ErrorFatal ErrorTeaser: 26. PersistenceThis 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-1701 minFatal ErrorFatal Error25. Interviewing, with Erica and SaraGet 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-1045 minFatal ErrorFatal Error24. The fileprivate kerfuffleThis 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-0332 minFatal ErrorFatal Error23. 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-2739 minFatal ErrorFatal Error22. 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-2024 minFatal ErrorFatal Error21. try! Swift TokyoGet 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-1325 minFatal ErrorFatal Error19. Playgrounds ConferenceGet 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-2724 minFatal ErrorFatal Error17. Testing your Network LayerGet 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-1318 minFatal ErrorFatal Error16. 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-0631 minFatal ErrorFatal Error15. Not Invented HereGet 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 Twitter2017-01-3033 minFatal ErrorFatal Error14. Tests and TypesChris 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-2335 minFatal ErrorFatal Error13. The Law of DemeterGet 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-1628 minFatal ErrorFatal Error12. 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-0943 minFatal ErrorFatal Error11. CodegenGet 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-0228 minFatal ErrorFatal Error10. Why This All MattersChris 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-0527 minSwiftCoders: Interviews with Swift DevelopersSwiftCoders: Interviews with Swift Developers35: Your Humble Host - Season 2 FinaleIn 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-2300 minFatal ErrorFatal Error8. Domain-Driven DesignSoroush 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-0730 minFatal ErrorFatal Error7. 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-2436 minFatal ErrorFatal Error6. SingletonsSingletons 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-1027 minFatal ErrorFatal Error5. Reactive ProgrammingThis 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-2649 minFatal ErrorFatal Error4. PromisesThis 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-1234 minFatal ErrorFatal Error3. View Models, AgainAfter 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-2941 minFatal ErrorFatal Error2. View ModelsIn 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-1530 minFatal ErrorFatal Error1. CoordinatorsIn 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-2327 minInquisitiveInquisitiveSetting A Little Fire, with Dave WiskusThis 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-181h 10VectorVector66: The third man in the spy van, with Soroush KhanlouTim 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-111h 30