Browse posts with excerpts by year: 2017, 2016, 2015, 2014, 2013, 2012, 2011, 2010. Or start at page 1.

2017

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
7 How to Unit Test Dispatching ReSwift Actions from RxSwift Observables
6 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

2016

December 2016
19 Innocent Arrow Diagrams
12 Always Pay Attention to Implications of Technical Advice
3 Lifting Into a New Type: My first “Idiomatic” RxSwift Unit Test
1 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
8 BundleHunt Experiment
3 “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?
8 MVVM’s Place in Your App
6 Developer Documentation App Dash Removed from App Store – and No-One Can Do a Thing
5 TableFlip Launches
4 Apple Introduces Search Ads
September 2016
27 Breaking NSLocale API Changes Revisited
25 Magic Numbers Represent Concepts
19 Swift 2.3 NSLocale UIKit API Changes Break iOS 8 Compatibility
19 On Proprietarity of File Formats
17 Comment On “Real World Flux Architecture on iOS
10 TableFlip Will Be Released in October!
9 Tests Are Just Code, Too
3 Global State Was Preferred Because Typing Sucks
2 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
9 MVVM Is Quite Okay at What It Is Supposed to Do
5 Racing To the Top
3 Transparent NSTableView Headers
1 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)
7 I love Swift’s Expressiveness
3 UIStackView For Showing And Hiding User Interface Controls
2 Conflicting Mental Models in TableFlip’s Interface Design
1 Separating ReSwift Actions from UI Events
June 2016
27 TableFlip Closed Beta Invitations
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
9 Configuration Objects and the Then Microframework
6 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
9 How to Abort a Chain of Rake Tasks on Error
8 How to Get Started with Swift: Write New Tests in Swift
6 App Pricing and How to Make More Money
3 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
9 Refactoring to Clean Value Transformations in Swift
1 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
8 Creating a Lens for an Object to Provide a New Public Interface
February 2016
28 A Vacation Week – 20% Discount While I’m Away!
28 Reusable View Components from Nibs
27 Featherweight Router
27 Now
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 Piezo Exits the Mac App Store
15 Information Flow and Stateful Buttons
15 Uni-Directional Flow of Information with Realm
11 Publish and Subscribe — Decoupling Deep View Hierarchies from Event Handlers
8 Inline Blocks as Result-Producing Helpers
5 Extract Private Functions as Collaborators
4 Symmetry
3 1 Criterion to Determine if You Should Write Unit or UI Automation Tests
1 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 Events as Declarative State
21 Extending Types with a Conversion Factory: Where Should You Put It?
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
7 iRamDisk May Speed Up Your Xcode Compilation Times
4 Get Your App Indexed by Google

2015

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
4 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
4 Swift OS X Programming for Absolute Beginners Review
3 Core Data Calls Them Contexts for a Reason
3 Ideas to Solve Background Fetching and Saving Race Conditions with Core Data
2 Productive Writer’s Bundle Sale
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
10 Leave a Rating for Move! app on MacUpdate
9 Put Usage of a CoreDataFetchRequest out of Your Code and Into … Where Exactly?
8 Revisiting the Core Data + Domain Model Architecture
6 Expressive Domain Model, Core Data, and You
3 Chaining Events, Take One
2 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
28 Move! – Work Break Timer Now Ready for El Capitan
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
7 How to Create Flexible Components with Two Levels of Service Objects
5 What is CLEAN Code?
4 Move! – Work Break Timer Release
2 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
8 From East-Oriented Programming to Functional Bind
4 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 How Coursera Uses VIPER to Architect Transitions Between App Features
18 Refactoring a View Controller for Clean Information Flow
10 Using Blocks to Realize the Strategy Pattern
8 Clean Coding is a Programming Misnomer for a Software Engineering Principle
8 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
5 Test doubles for Core Data managed objects might not work as expected
3 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
7 Combining Collection-Like Repositories and East-Oriented Code
3 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
16 Zettelkasten Posts Moved
13 VIPER iOS App Architecture Approach
11 3 Ways to Model Relationships in a Domain
6 Split Commands and Informational Return Values Apart Using Events
1 Going Beyond Guard Clauses in Swift
February 2015
22 Plug-in a UITextView Placeholder Label Extension
13 Functional Error Handling in Swift Without Exceptions
9 Use Double-Dispatch and Polymorphism to Get Rid of Conditionals
5 Crafting Wicked Domain Models by Jimmy Bogard
4 Thinking in Terms of Functional Programming Encourages Clean Factoring of Code
January 2015
29 How John Sonmez Helped Me Streamline This Blog
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
6 Subscribe to My New Mailing List
2 Storyboard Segues VS Tell Don’t Ask Principle

2014

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
9 DEVONthink and Zettelkasten
8 “Exploring Mac App Development Strategies” Released!
2 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
5 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
2 Summer Knowledge Challenge 2014
September 2014
30 How I Prepare to Work on a Research and Writing Project
22 Introducing Myself on Zettelkasten.de
19 New Zettelkasten Blog Is Now Open
11 Self-Fulfillment and Growing Up
August 2014
27 Composing and Revising – The Two Modes of Writing
14 Word Counter v1.1.0 – Now With Daily Usage Statistics
July 2014
31 Challenge: Apply the Knowledge Cycle to Reading a Single Book
27 Feed for All Zettelkasten Posts
25 New Article Overview
17 Use a Short Knowledge Cycle to Keep Your Cool
12 Edit HTML with TextEdit for Mac
7 Word Counter (Mac) is Available Right Now!
3 Make Writing a Part of Your Identity
June 2014
25 How to Track Your Writing Progress
18 Include Images in nvALT for a Multi-Media Zettelkasten Experience
16 Developing a Word Counter for Mac – Apply as a Tester
7 Tapping Test app released
5 Calendar Paste v2.1.0 released
May 2014
24 How I use Outlines to Write Any Text
16 Building Blocks of a Zettelkasten
3 The Zettelkasten Platform – 2 Ways You Can Contribute
April 2014
22 SlipBox (Mac) Note Archive Review
11 Lessons Learned from Losing All Routine
4 Using nvALT as a Zettel Note Archive
March 2014
29 Baseline for Zettelkasten Software Reviews
20 The Need to Craft
14 Calendar Paste 2.0 – the iOS 7 Update
9 Reading Habits: Putting It All Together
February 2014
27 You Only Find What You Have Identified
21 Learn Faster by Writing Zettel Notes
15 Editorially is Shutting Down. What About Alternatives?
14 Note-Taking when Reading the Web and RSS
6 Count Your Words to Increase Your Productivity
January 2014
23 Looking for Alpha Testers
20 The Collector’s Fallacy

2013

December 2013
11 How to Make Daily Writing Practice Useful
November 2013
27 I Enabled Comments for Some Posts
26 Preparing Fragments Helps You to Ease Into Writing
8 Extend Your Mind and Memory With a Zettelkasten
October 2013
18 Announcing a Zettelkasten Info Product
7 Manage Citations for a Zettelkasten
September 2013
22 Solve database mapping problems and the impedance problem of ActiveRecord
15 Ruby RSpec/Guard/Spork Project Boilerplate
3 Create Zettel from Reading Notes
2 Unlock 802.1X wired internet via OpenWRT on TP-Link WA901ND
August 2013
10 Making Proper Marks in Books
June 2013
20 Create a Zettelkasten for your Notes to Improve Thinking and Writing
13 gitlogger Improved
6 Generate interactive documentation with Code Guide
May 2013
1 My Workspace
April 2013
24 Prototypes for Calendar Paste
24 Calendar Paste.app development notes (Series)
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
20 Birthday of my deceased baby brother
February 2013
23 CriticMarkup and a TextMate Bundle
January 2013
12 Interlude: first month of app sales

2012

December 2012
30 App Sales and Hourly Earnings Calculated
30 Parsing YAML Frontmatter in Ruby
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

2011

April 2011
18 nvALT review
February 2011
4 MultiMarkdown 3.0b1

2010

December 2010
12 Awesome new Notational Velocity
November 2010
4 Bringing Notational Velocity to a new level of massive text editing
October 2010
24 Multi-Markup Notational Velocity
15 How did Steve add Markdown to Notational Velocity?
13 Too many Notational Velocity forks?
12 Notational Velocity fork with fullscreen mode, menubar app, and more
10 Markdown HUD for Notational Velocity
6 Markdown Preview for Notational Velocity
5 Introducing MultiMarkdown Notational Velocity