April 2017
28 One Way to Solve Inexplicable Race Conditions in Tests
25 SwiftyBeaver: Record to Array
24 Swift Protocols with Default Implementations as UI Mixins
10 Clean Cocoa Blog Redesign
09 FatSidebar View Component for macOS Released
March 2017
26 Non-Obvious Swift: Defer
03 Setting the Line Height of a NSTextView
01 How to Make ReSwift Actions Undoable with NSUndoManager
February 2017
23 Handle Pending File Changes with ReSwift as Your Backbone
17 Recording of Wednesday's Webinar
14 Make Money Outside the Mac App Store – Swift 3 Update
12 Register for My Webinar About Ditching the Mac App Store
11 Express Either–Or-Relationships as Enums
07 How to Unit Test Dispatching ReSwift Actions from RxSwift Observables
06 Core Data is Invasive. You Can Hide It, Or You Can Embrace It
January 2017
31 “Bugs are the edges of what works”
28 Better Swift FileManager File Existence Checks
27 Shopify's Ruby on Rails app statistics
26 Refactoring – Extract Objects Horizontally or Vertically
25 Framework Oriented Programming and It's Relation to OOP
19 A Look at the ReSwift Event Log During Launch of My Latest Project
17 How to Save File Changes Using ReSwift Actions
15 InfiniteCanvas – Vector Drawing App Concept
11 Swipe Transitions and ReSwift
December 2016
19 Innocent Arrow Diagrams
12 Always Pay Attention to Implications of Technical Advice
03 Lifting Into a New Type: My first "Idiomatic" RxSwift Unit Test
01 It's the Worst Time to Go Open Source Because So Many Stupid People Will See It
November 2016
22 Open Source and the Open, Distributed Mindset
18 Dan Counsell's Mac App Store Wish List
13 RocketData is a Uni-Directional UI Component Data Source
12 Debugging NSBeep Error Sound in NSResponder Method Calls
08 BundleHunt Experiment
03 "Exploring Mac App Development Strategies" 4th Extended Edition Now Available
October 2016
27 Resolving NSTreeController's "Ambiguous use of 'children'" in Swift 3
16 Let Them Perish
15 Clean Swift aka VIP Architectural Approach
12 My Declarative Breakthrough: Wherein I Stop Thinking in Terms of Object Collaboration
11 How to Refactor Messy Apps for a New Architecture?
08 MVVM's Place in Your App
06 Developer Documentation App Dash Removed from App Store – and No-One Can Do a Thing
05 TableFlip Launches
04 Apple Introduces Search Ads
September 2016
27 Breaking NSLocale API Changes Revisited
25 Magic Numbers Represent Concepts
19 On Proprietarity of File Formats
19 Swift 2.3 NSLocale UIKit API Changes Break iOS 8 Compatibility
17 Comment On "Real World Flux Architecture on iOS"
09 Tests Are Just Code, Too
03 Global State Was Preferred Because Typing Sucks
02 Programmer, Interrupted
August 2016
28 On Software Feedback
22 Assertions in Swift Kill Your Code
18 Switch VS Checkbox in User Interface Design
17 Putting ReSwift Actions on the Undo Stack Using Middleware
12 When You Code, You Design Both Structure and Information Flow
09 MVVM Is Quite Okay at What It Is Supposed to Do
05 Racing To the Top
03 Transparent NSTableView Headers
01 NSDocument Weirdness: Sheet Contents Appear Disabled
July 2016
31 Ownership of the Apps You Use: Ulysses App Pricing, Subscription Models, and the Death of Licenses?
29 On Reaching Mastery
28 What Projects Do You Identify With? Maybe They Drag You Down
26 Implementing CollectionType in Swift 2.x
22 Revamped Blog Archive
21 Splitting the View Models of TableFlip, a Short Aftermath
18 I'll Split Up the Monolithic View Model in TableFlip. Here's What I Expect to Happen
17 How PlanGrid uses a Flux-Inspired Architecture to Simplify State Management
15 TIL: How to Make NSTextView Reject Newlines
14 Iteratively Improving Your App: Decoupling Components at Module Seams and Adding Facades
13 First Contact with AppKit for iOS Developers (Under the Radar #26)
07 I love Swift's Expressiveness
03 UIStackView For Showing And Hiding User Interface Controls
02 Conflicting Mental Models in TableFlip's Interface Design
01 Separating ReSwift Actions from UI Events
June 2016
25 Check Boxes in AppKit
23 Location Matters
17 objc.io Books 30% Off
16 Disabling Segments in a NSSegmentedControl in a Toolbar
14 How to Create a Segmented NSToolbarItem like Apple Mail.app
12 Coding TableFlip: the Bigger Picture
09 Configuration Objects and the Then Microframework
06 Principles of Object-Oriented Design in Swift 2.2
May 2016
31 TIL You Can Cancel Enqueued GCD Blocks
26 Hustling
25 The Surprising Intricacies of Editing Parts of NSTableView
23 Custom Enumerated Sequences in Just 1 Line of Code
18 Evaluate and Launch Your Idea With Small Steps
15 Swift Depends on Objective-C
12 Outperforming the Competition
11 Better Sliding Menus
10 Calendar Paste 3 FREE this Week
09 How to Abort a Chain of Rake Tasks on Error
08 How to Get Started with Swift: Write New Tests in Swift
06 App Pricing and How to Make More Money
03 What I Did When I Found Emojis in Strings Always Lost the Last Byte
April 2016
28 Replacing Loops with Mapped Ranges
25 Type-Safe Storyboard Segues
14 Productivity Tips for Programmer Solopreneurs
12 The Power of Guard
11 How to Edit NSTableView Headers with a Double-Click
09 Refactoring to Clean Value Transformations in Swift
01 Use Xcode Deprecation Warnings to Refactor
March 2016
31 Currying and Treating Instance Methods as Curried Functions
29 The Swift Developer's Cookbook Review
25 5 Heuristics for "I have a complicated nested view controller setup. How do I handle passing data?"
24 Swift Selector Syntax Sugar
22 Book Updates for Swift 2.2
21 Translate Optional Delegate Protocol Methods to Swift Block-based Event Handlers Using Nested Objects
19 Blocks: Useful to Perform Actions In Context
18 VIPER by Experience: How to Set Up an iOS Project
16 How I Toggle or Switch 2 NSMenuItems from the Main Menu
14 Extend View Controllers with Behavior Objects Right from Within Interface Builder
12 Creating a Cheap Protocol-Oriented Copy of SequenceType (with a Twist!)
11 Announcing TableFlip
10 How to Create Fixture Files for Unit Tests
08 Creating a Lens for an Object to Provide a New Public Interface
February 2016
28 Reusable View Components from Nibs
27 Featherweight Router
26 Import Parts of a Module
25 Ignoring UILocalNotifications When the App is Running
24 rethrows in Swift
22 MVC on iOS Done Right
19 My Desk 2016
18 How do You Really Mock Objects You Don't Own? You Replace Them with Adapters
16 DevMate is Completely Free Now
15 Information Flow and Stateful Buttons
15 Uni-Directional Flow of Information with Realm
15 Piezo Exits the Mac App Store
11 Publish and Subscribe — Decoupling Deep View Hierarchies from Event Handlers
08 Inline Blocks as Result-Producing Helpers
05 Extract Private Functions as Collaborators
04 Symmetry
03 1 Criterion to Determine if You Should Write Unit or UI Automation Tests
01 Always Write Functions to Cope with all Possible Parameter Values
January 2016
30 Use and Misuse of Helper Functions
29 Block-Based API vs. Delegates – a Comparison
27 Make Money Outside the Mac App Store now Available on Amazon
26 Move! Review at Softpedia
26 Mind Node adds Tasks
23 Flow Controllers to Replace Segue-based View Transitions
22 ReSwift, Law of Demeter, and Another Level of Indirection
21 Extending Types with a Conversion Factory: Where Should You Put It?
21 Events as Declarative State
18 I'll be writing a Word Counter Swift module fully East-Oriented
16 How to Couple UITableView Cell Identifiers and View Models
15 Separating State from State Changes
11 How Closures are a Better Event Handler Protocol Alternative
07 iRamDisk May Speed Up Your Xcode Compilation Times
04 Get Your App Indexed by Google
December 2015
29 Making Cocoa the Outermost Layer
23 Encapsulate a Process in a Single Line Using Bind and Good OO Design
21 Segues: How to Use Them While Saving Lines of Code
19 Separate Read Model from Write Model to Support Complex Forms
14 iOS View Architectures and VIPER Explained
11 Make Money Outside the Mac App Store
10 Yelp's Modular UITableViews
04 Extract UITableView Contents and Configuration Into Helpers
November 2015
28 Configuration Objects: Delegate Initialization to a Parameter
26 Parameter Objects Simplify Your API Versions
25 Presenter and MVVM for UITableViews?
23 How to Handle Errors When You're Not Interested in the Details
20 Switching iOS App Login Methods by Creating Your Own Simple Login Module
17 Tips to Conquer Massive View Controllers
13 Ruby 2.3 Will Have Optional Chaining
13 Jiggle GCD Queues to Find Problems
11 Modeling: From Structured Data Representation to Problem Domain
04 Swift OS X Programming for Absolute Beginners Review
03 Core Data Calls Them Contexts for a Reason
03 Ideas to Solve Background Fetching and Saving Race Conditions with Core Data
October 2015
31 What It Means to Domain-Drive Your Design
29 Word Counter Now with File Monitoring
28 Don't Build on El Capitan Without Checking App Transport Security
26 NSOpenPanel's and NSSavePanel's Block-Based API is Superior
24 Small Helper Objects Take You Far
23 How I Solve the Unexpected Error Handling User Experience Problem
20 Make Custom Debug Build Configurations Play Nicely With CocoaPods
17 Optional Protocol Methods in Swift using Closures and No Protocol, Actually
16 Achieve More with a Variety of Value Objects in Swift
14 Decouple UI from Model with View Models and Controls
13 How to Move Bootstrapping Code Out of AppDelegate
12 Transactions and Rolling Back Changes in Core Data with UnitOfWork
09 Put Usage of a CoreDataFetchRequest out of Your Code and Into ... Where Exactly?
08 Revisiting the Core Data + Domain Model Architecture
06 Expressive Domain Model, Core Data, and You
03 Chaining Events, Take One
02 How I Now Deal with Collapsible Split View Controllers on the iPhone 6
September 2015
29 Universal Deep Linking on iOS: Design Each Scene to Be Remarkable
26 Swift Protocol Extensions as Mixins – And How Do You Test That?
24 Testing Shorthand: Use a Subclass of the Real Object Under Test
24 Make Money with Mac Apps Outside the MAS: E-Book Prerelease, Need Feedback
22 Using Guard in Unit Tests
19 Save Yourself Casting Headaches with a Generic Fetch Request Object
16 How to Change the Detail of a UISplitViewController in the Background
14 Dismissing a Modally Presented Scene on Both iPad and iPhones Using Unwind Segues
10 Weird EXC_BAD_ACCESS in Swift 1.2 Was Due to A Compiler Bug
07 How to Create Flexible Components with Two Levels of Service Objects
05 What is CLEAN Code?
02 Where Instead of Using Functional Bind, I Create an Expressive Model
August 2015
29 Create UML Diagrams Quickly with Draw.io
24 Cut-Out Animation of a Table View Cell Into the Next Scene
08 From East-Oriented Programming to Functional Bind
04 How to Write Pragmatic, Testable Singletons in Swift
July 2015
29 Refactoring Legacy Code: Replace Free Function in Tests, Even Swift's Own Functions
28 Support the Word Counter With a Review
28 Library for Providing Static UITableView Contents in Swift
20 “Exploring Mac App Development” Updated for Swift 2.0 + Coupon to Save 50%
18 Refactoring a View Controller for Clean Information Flow
18 How Coursera Uses VIPER to Architect Transitions Between App Features
10 Using Blocks to Realize the Strategy Pattern
08 Clean Coding is a Programming Misnomer for a Software Engineering Principle
08 How I prepare Calendar Paste E-Mail Pitches
June 2015
24 Protocol Madness: Comparing Apples to Oranges from the Vantage Point of Fruit
23 How to Write Unit Tests for Storyboard-based Buttons in Swift
22 Using Swift Enums to deal with Storyboard Segues
19 So I've finished my model, now what?
13 Freemium won't solve your problems magically
11 Generics in Objective-C
10 Be Cautious with Try-Catch for error handling in Swift 2.0
05 Test doubles for Core Data managed objects might not work as expected
03 State of Mocking in Swift Tests
May 2015
28 This is probably the nicest Swift Result enum ever
13 Observing Enums in Swift 1.2 with KVO
07 Combining Collection-Like Repositories and East-Oriented Code
03 Calendar Paste 2.2.0 Release Is Out
April 2015
25 Swift Extensions and Information Hiding
17 Success and Error Callbacks in Objective-C: a Refactoring
16 Return Types can Capture Async Processes and Failures
14 Book Updates for Swift 1.2
11 Functional Programming in Swift (YouTube Videos)
10 Event Publisher Revision 1
March 2015
31 Painless Event Delivery With a Custom Publish-Subscribe Infrastructure
25 Save Your Butt in Unit Tests With Shallow Reaching
13 VIPER iOS App Architecture Approach
11 3 Ways to Model Relationships in a Domain
06 Split Commands and Informational Return Values Apart Using Events
01 Going Beyond Guard Clauses in Swift
February 2015
22 Plug-in a UITextView Placeholder Label Extension
13 Functional Error Handling in Swift Without Exceptions
09 Use Double-Dispatch and Polymorphism to Get Rid of Conditionals
05 Crafting Wicked Domain Models by Jimmy Bogard
04 Thinking in Terms of Functional Programming Encourages Clean Factoring of Code
January 2015
24 How to Resolve Word Counter Update Issues
23 Model–View–View Model (MVVM) Primer
17 Getting XPC to a Helper App Working with Sandboxing Enabled
02 Storyboard Segues VS Tell Don't Ask Principle
December 2014
19 Model-View-View Model in Swift
18 Making Good Use of Singletons in Refactoring the iOS App Calendar Paste
13 Calendar Paste 2 is now Open Source
08 “Exploring Mac App Development Strategies” Released!
02 I'm About to Release a Little E-book on Domain-Driven Design and Mac Application Development
November 2014
23 Idea Indexes of Books Flickr Group
13 Core Data Violates DDD Principles by Default
05 The Word Counter, NaNoWriMo, and You
October 2014
31 How I Edited my Last Zettelkasten Post and Came up With Something Even Shorter Than the Post Itself
24 Making the Word Counter More Useful
17 gitlogger updated to deal with UTF-8
September 2014
11 Self-Fulfillment and Growing Up
August 2014
14 Word Counter v1.1.0 – Now With Daily Usage Statistics
July 2014
12 Edit HTML with TextEdit for Mac
07 Word Counter (Mac) is Available Right Now!
June 2014
16 Developing a Word Counter for Mac – Apply as a Tester
07 Tapping Test app released
05 Calendar Paste v2.1.0 released
March 2014
20 The Need to Craft
14 Calendar Paste 2.0 – the iOS 7 Update
December 2013
11 How to Make Daily Writing Practice Useful
November 2013
27 I Enabled Comments for Some Posts
September 2013
22 Solve database mapping problems and the impedance problem of ActiveRecord
15 Ruby RSpec/Guard/Spork Project Boilerplate
June 2013
13 gitlogger Improved
06 Generate interactive documentation with Code Guide
May 2013
01 My Workspace
April 2013
24 Prototypes for Calendar Paste
21 Outlining and Plain Text
March 2013
29 Rails.js XHR form callbacks fixed for invalid submissions
28 Sales and AppLaunch.us experience for Calendar Paste
February 2013
23 CriticMarkup and a TextMate Bundle
January 2013
12 Interlude: first month of app sales
December 2012
30 Parsing YAML Frontmatter in Ruby
30 App Sales and Hourly Earnings Calculated
22 Nanoc3 Boilerplate
18 Interactive Guide to Blog Typography
14 Link Love: practicallyefficient.com
13 Calendar Paste release
November 2012
19 Remove Objective-C method declaration fluff with Keyboard Maestro
September 2012
19 iOS Project coming soon
April 2011
18 nvALT review
February 2011
04 MultiMarkdown 3.0b1
December 2010
12 Awesome new Notational Velocity
November 2010
04 Bringing Notational Velocity to a new level of massive text editing
October 2010
15 How did Steve add Markdown to Notational Velocity?
12 Notational Velocity fork with fullscreen mode, menubar app, and more
10 Markdown HUD for Notational Velocity