NSHipster - Latest Articles
Swift · · 1 min read · nshipster.com ↗
NSHipster - Latest Articles
Ingested: 2026-05-16T08:08:04Z Source: NSHipster
Title: NSHipster
URL Source: http://nshipster.com/
Markdown Content:
# NSHipster
[](http://nshipster.com/ "NSHipster")
## **NSHipster** is a journal of the overlooked bits in Objective-C, Swift, and Cocoa.
# [Replay](http://nshipster.com/replay/)
Fast, reliable API tests without mocks or stale JSON fixtures. Replay records real HTTP traffic once (as HAR) and replays it instantly with Swift Testing so your networking code stays honest and your test suite stays fast.
[Continue Reading](http://nshipster.com/replay/)
# Recent Articles
* [Manim](http://nshipster.com/manim/)
This year for Halloween, NSHipster is dressing up as 3blue1brown. And thanks to his open-source math animation library, we’re _totally_ pulling it off.
* [@isolated(any)](http://nshipster.com/isolated-any/)
There are cases where just a little more visibility and control over how to schedule asynchronous work can make all the difference.
* [Uncertain⟨T⟩](http://nshipster.com/uncertainty/)
GPS coordinates aren’t exact. Sensor readings have noise. User behavior is probabilistic. Yet we write code that pretends uncertainty doesn’t exist, forcing messy real-world data through clean Boolean logic.
* [Model Context Protocol (MCP)](http://nshipster.com/model-context-protocol/)
Language Server Protocol (LSP) revolutionized how programming languages integrate with developer tools. Model Context Protocol (MCP) aims to do the same for a new generation of AI tools.
* [Ollama](http://nshipster.com/ollama/)
While we wait for Apple Intelligence to arrive on our devices, something remarkable is already running on our Macs. Think of it as a locavore approach to artificial intelligence: homegrown, sustainable, and available year-round.
* [op run](http://nshipster.com/1password-cli/)
`.env` files can create friction in development workflows — especially as teams and projects grow over time. If you’re feeling this pain, the 1Password CLI (`op`) might be just what you need.
Cocoa[AVSpeechSynthesizer](http://nshipster.com/avspeechsynthesizer/)[AddressBookUI](http://nshipster.com/addressbookui/)[Apple Push Notification Device Tokens](http://nshipster.com/apns-device-tokens/)[Bundles and Packages](http://nshipster.com/bundles-and-packages/)[CAEmitterLayer](http://nshipster.com/caemitterlayer/)[CFBag](http://nshipster.com/cfbag/)[CFStringTransform](http://nshipster.com/cfstringtransform/)[CMDeviceMotion](http://nshipster.com/cmdevicemotion/)[CMMotionActivity](http://nshipster.com/cmmotionactivity/)[CharacterSet](http://nshipster.com/characterset/)[CloudKit](http://nshipster.com/cloudkit/)[Core Location in iOS 8](http://nshipster.com/core-location-in-ios-8/)[CoreGraphics Geometry Primitives](http://nshipster.com/cggeometry/)[DateComponents](http://nshipster.com/datecomponents/)[Dictionary Services](http://nshipster.com/dictionary-services/)[FileManager](http://nshipster.com/filemanager/)[Formatter](http://nshipster.com/formatter/)[Guided Access](http://nshipster.com/guided-access/)[IBAction / IBOutlet / IBOutletCollection](http://nshipster.com/ibaction-iboutlet-iboutletcollection/)[JavaScriptCore](http://nshipster.com/javascriptcore/)[KVC Collection Operators](http://nshipster.com/kvc-collection-operators/)[Key-Value Observing](http://nshipster.com/key-value-observing/)[Locale](http://nshipster.com/locale/)[LocalizedError, RecoverableError, CustomNSError](http://nshipster.com/swift-foundation-error-protocols/)[MKGeodesicPolyline](http://nshipster.com/mkgeodesicpolyline/)[MKLocalSearch](http://nshipster.com/mklocalsearch/)[MKTileOverlay,MKMapSnapshotter &MKDirections](http://nshipster.com/mktileoverlay-mkmapsnapshotter-mkdirections/)[Multipeer Connectivity](http://nshipster.com/multipeer-connectivity/)[NLLanguageRecognizer](http://nshipster.com/nllanguagerecognizer/)[NSAssertionHandler](http://nshipster.com/nsassertionhandler/)[NSCache](http://nshipster.com/nscache/)[NSCalendar Additions](http://nshipster.com/nscalendar-additions/)[NSCoding / NSKeyedArchiver](http://nshipster.com/nscoding/)[NSDataAsset](http://nshipster.com/nsdataasset/)[NSDataDetector](http://nshipster.com/nsdatadetector/)[NSError](http://nshipster.com/nserror/)[NSExpression](http://nshipster.com/nsexpression/)[NSFastEnumeration / NSEnumerator](http://nshipster.com/enumerators/)[NSHashTable & NSMapTable](http://nshipster.com/nshashtable-and-nsmaptable/)[NSIndexSet](http://nshipster.com/nsindexset/)[NSLinguisticTagger](http://nshipster.com/nslinguistictagger/)[NSLocalizedString](http://nshipster.com/nslocalizedstring/)[NSNotification &NSNotificationCenter](http://nshipster.com/nsnotification-and-nsnotificationcenter/)[NSOperation](http://nshipster.com/nsoperation/)[NSOrderedSet](http://nshipster.com/nsorderedset/)[NSPredicate](http://nshipster.com/nspredicate/)[NSRange](http://nshipster.com/nsrange/)[NSScanner](http://nshipster.com/nsscanner/)[NSSecureCoding](http://nshipster.com/nssecurecoding/)[NSSortDescriptor](http://nshipster.com/nssortd