All blogs / Mobile / iOS / Android
Khanlou
- Posts
- 172 from 1 Jan 2012 to 24 Feb 2025
- Posting
- now and then
- Kind
- personal blog
- Feed
- https://khanlou.com/feed
2025 2
2024 3
2023 2
2022 2
2021 4
2019 4
2018 11
2017 22
- Enums And Protocols
- as my post from early today implies
- Mutating And Nonmutating Functions
- Advanced Request Behaviors
- The Flat Cache
- Dispatch On The Server
- Sourcery in Practice
- Nice json
- Errors On The Server
- refactoring
- Advanced Sequences On The Server
- Beacon
- blog post
- Model Mutation In Coordinators
- Migrating To Coordinators
- Safety In Swift
- You Probably Don't Want Enumerated
- On Comments
- a post
- Back Buttons And Coordinators
- structured under the hood
- request behaviors
2016 24
- Fatal Error
- Guarding Against Long Compiles
- Slicing
- Suggestion
- *COUGH*
- the original blog post
- Swifty Delegates
- a promise
- almost trivial
- a few weeks ago
- how to use Swift’s Hashable protocol to write a Dictionary from scratch
- Resources For New Programmers
- Configuration In Swift
- Easy Namespacing In Swift
- currently work this way in Swift 2.2
- Doubling Down on Protocol-Oriented Programming
- Six months of swift
- My GCD Handbook
- Reads can be concurrent and writes have to be serial.
- Decoding JSON in Swift
- cookbook project
- Units
- Many Controllers Make Light Work
- A Call For Blogs
2015 45
- Reflections On A Year
- Massive View Controller
- structs for its model layer
- smarter view
- MVVM Is Not Very Good
- Zero Dependencies
- Backchannel
- I wrote
- Unrigorous Definitions
- coordinator pattern
- class clusters
- we should get rid of positional parameters entirely
- Learning Lessons The Hard Way
- Many Models
- What the heck is a monad
- I stuck to a consistent pattern
- The Scrivener
- The Back of the Fence
- There are no mysteries
- struct-like object
- The Braid of Thought
- State Negotiations
- Cache Me If You Can
- pagination and mulitipart requests
- Declarations
- Why I don’t write Swift
- Protocol-Oriented Networking
- the Objective-C version
- Throw It All Away
- the method-object pattern
- the currently available strategies
- Mythology
- putting view controllers in cells
- object graph
- Nestable
- Announcing Instant Cocoa
- Emergence
- Layout Abstractions
- template method pattern
- decoration
- consistency
- Categorical
- the original post
- Finite States of America
- State Machinery
2014 17
- Pure Objects
- Wink in All Colors
- despite any writings in the past
- software is weird
- 8 patterns to help you destroy massive view controller
- Anatomy of a Feature: Push Notifications
- “Metaprogramming” isn’t a scary word (not even in Objective-C)
- Cells
- here before
- The value of value objects
- Replace enumerations with polymorphism
- Dynamic Method Construction
- Tests and Types
- Caching Text Sizes in UITableViewCells
- I’ve touched on this point here before
- Reactive Cocoa
- In defense of clarity
2013 10
- Objective-Shorthand
- I know about KVO
- Using dispatch_once to setup instances and not singletons
- NSArray and Longest Common Subsequence
- Preventing other instances of your dispatch_once'd singleton
- Grouped Table Views with Multiple Columns
- techniques were discovered
- an older post on this blog
- the next blog post
- How to handle view controller transitions with an animated: flag
2012 26
- UIViewController containment APIs
- Good Friday #7: FTWButton — Your designer will thank you
- Mixing UIView and CALayer animations
- Good Friday #6: SKInnerShadowLayer
- the problems that our voting system creates
- Why you might want more than one vote
- How to avoid gerrymandering
- Good Friday #5: FTWStartupLaunch
- SecondConf 2012 Blitz Talk — Bounce Animations with a little math, and with a little less math
- Good Friday #4: SKReachability
- CATransform3D and perspectives
- Asynchronous downloaded images with caching
- Good Friday #3: FTWCache — Dead simple caching
- Good Friday #1: FTWDevice — UIDevice, but for Macs
- SKBounceAnimation blog post
- Maps in iOS 6
- WWDC 2012
- The Evolution of Fireside
- Semi-rigorous iCloud testing
- How to mount your 27" iMac and/or Thunderbolt Display
- How to build a system that syncs
- Astrophotography
- Using the Javascript History API
- Starting a blog in 2012
- blog post
- the informational post