The Curious Engineer

All blogs / Mobile / iOS / Android

Khanlou

khanlou.com

Mobile / iOS / AndroidSoftware / engineering practice

Posts
172 from 1 Jan 2012 to 24 Feb 2025
Posting
now and then
Kind
personal blog
Feed
https://khanlou.com/feed

2025 2

  1. Faking Value Semantics with Custom FormatStyles
  2. I wrote about what async/await might look like in Swift

2024 3

  1. Accessibility That Fits
  2. Advanced Techniques In Meridian
  3. The State Of Meridian

2023 2

  1. SchemaSwift
  2. Arbitrary Beautiful Colors

2022 2

  1. Which Collection?
  2. Name Your Colors!

2021 4

  1. Download Progress With Awaited Network Tasks
  2. The Context And The Logic
  3. Meridian
  4. I moved my server set-up

2019 4

  1. Regexes vs Combinatorial Parsing
  2. Linear Probing
  3. Continuous Integration
  4. File Coordination

2018 11

  1. Analyzing Complexity
  2. Streaming Multipart Requests
  3. Bloom Filters and Swift 4.2
  4. Hacking Hit Tests
  5. Similar Prefixes
  6. Missing The Else
  7. Infinite Collections
  8. Enums And Optionals
  9. Just Controllers
  10. How do I slice this collection up?
  11. The Perfect Bag

2017 22

  1. Enums And Protocols
  2. as my post from early today implies
  3. Mutating And Nonmutating Functions
  4. Advanced Request Behaviors
  5. The Flat Cache
  6. Dispatch On The Server
  7. Sourcery in Practice
  8. Nice json
  9. Errors On The Server
  10. refactoring
  11. Advanced Sequences On The Server
  12. Beacon
  13. blog post
  14. Model Mutation In Coordinators
  15. Migrating To Coordinators
  16. Safety In Swift
  17. You Probably Don't Want Enumerated
  18. On Comments
  19. a post
  20. Back Buttons And Coordinators
  21. structured under the hood
  22. request behaviors

2016 24

  1. Fatal Error
  2. Guarding Against Long Compiles
  3. Slicing
  4. Suggestion
  5. *COUGH*
  6. the original blog post
  7. Swifty Delegates
  8. a promise
  9. almost trivial
  10. a few weeks ago
  11. how to use Swift’s Hashable protocol to write a Dictionary from scratch
  12. Resources For New Programmers
  13. Configuration In Swift
  14. Easy Namespacing In Swift
  15. currently work this way in Swift 2.2
  16. Doubling Down on Protocol-Oriented Programming
  17. Six months of swift
  18. My GCD Handbook
  19. Reads can be concurrent and writes have to be serial.
  20. Decoding JSON in Swift
  21. cookbook project
  22. Units
  23. Many Controllers Make Light Work
  24. A Call For Blogs

2015 45

  1. Reflections On A Year
  2. Massive View Controller
  3. structs for its model layer
  4. smarter view
  5. MVVM Is Not Very Good
  6. Zero Dependencies
  7. Backchannel
  8. I wrote
  9. Unrigorous Definitions
  10. coordinator pattern
  11. class clusters
  12. we should get rid of positional parameters entirely
  13. Learning Lessons The Hard Way
  14. Many Models
  15. What the heck is a monad
  16. I stuck to a consistent pattern
  17. The Scrivener
  18. The Back of the Fence
  19. There are no mysteries
  20. struct-like object
  21. The Braid of Thought
  22. State Negotiations
  23. Cache Me If You Can
  24. pagination and mulitipart requests
  25. Declarations
  26. Why I don’t write Swift
  27. Protocol-Oriented Networking
  28. the Objective-C version
  29. Throw It All Away
  30. the method-object pattern
  31. the currently available strategies
  32. Mythology
  33. putting view controllers in cells
  34. object graph
  35. Nestable
  36. Announcing Instant Cocoa
  37. Emergence
  38. Layout Abstractions
  39. template method pattern
  40. decoration
  41. consistency
  42. Categorical
  43. the original post
  44. Finite States of America
  45. State Machinery

2014 17

  1. Pure Objects
  2. Wink in All Colors
  3. despite any writings in the past
  4. software is weird
  5. 8 patterns to help you destroy massive view controller
  6. Anatomy of a Feature: Push Notifications
  7. “Metaprogramming” isn’t a scary word (not even in Objective-C)
  8. Cells
  9. here before
  10. The value of value objects
  11. Replace enumerations with polymorphism
  12. Dynamic Method Construction
  13. Tests and Types
  14. Caching Text Sizes in UITableViewCells
  15. I’ve touched on this point here before
  16. Reactive Cocoa
  17. In defense of clarity

2013 10

  1. Objective-Shorthand
  2. I know about KVO
  3. Using dispatch_once to setup instances and not singletons
  4. NSArray and Longest Common Subsequence
  5. Preventing other instances of your dispatch_once'd singleton
  6. Grouped Table Views with Multiple Columns
  7. techniques were discovered
  8. an older post on this blog
  9. the next blog post
  10. How to handle view controller transitions with an animated: flag

2012 26

  1. UIViewController containment APIs
  2. Good Friday #7: FTWButton — Your designer will thank you
  3. Mixing UIView and CALayer animations
  4. Good Friday #6: SKInnerShadowLayer
  5. the problems that our voting system creates
  6. Why you might want more than one vote
  7. How to avoid gerrymandering
  8. Good Friday #5: FTWStartupLaunch
  9. SecondConf 2012 Blitz Talk — Bounce Animations with a little math, and with a little less math
  10. Good Friday #4: SKReachability
  11. CATransform3D and perspectives
  12. Asynchronous downloaded images with caching
  13. Good Friday #3: FTWCache — Dead simple caching
  14. Good Friday #1: FTWDevice — UIDevice, but for Macs
  15. SKBounceAnimation blog post
  16. Maps in iOS 6
  17. WWDC 2012
  18. The Evolution of Fireside
  19. Semi-rigorous iCloud testing
  20. How to mount your 27" iMac and/or Thunderbolt Display
  21. How to build a system that syncs
  22. Astrophotography
  23. Using the Javascript History API
  24. Starting a blog in 2012
  25. blog post
  26. the informational post