Posts
Implementing Drag and Drop in UICollectionView and Core Data – Part 2
In Part 1 of this series, I walked through the process of adding drag-and-drop functionality to a
UICollectionView
backed by Core Data. While I got it working, I mentioned that the solution, while functional, wasn’t as modern as it could be. TheNSFetchedResultsControllerDelegate
implementation, with its manual block operations, felt a bit clunky and error-prone. This post is about that additional refactoring: moving from the traditionalNSFetchedResultsControllerDelegate
to the more modernUICollectionViewDiffableDataSource
.No More Off-Season: Building a Garage Golf Simulator - Part 2: Launch Monitor and Software
Welcome back to my DIY golf simulator journey!. In Part 1, I talked about measuring my space and figuring out the basics of my simulator setup. Now it’s time to choose the heart of the system: the launch monitor. This is the technological brain that translates a physical golf swing into a virtual shot. Making the wrong choice here could mean inaccurate data, endless frustration, or a system that just doesn’t work in my space.
No More Off-Season: Building a Garage Golf Simulator - Part 1: Introduction
It’s a dream many golfers share: the ability to play a round at Pebble Beach or St Andrews at a moment’s notice, rain or shine, day or night. No tee times, no weather delays, just pure golf. For a while now, I’ve dreamed of having my own golf simulator. This year, I’m finally turning that dream into a reality, and I’m taking you along for my entire journey.
Implementing Drag and Drop in UICollectionView and Core Data – Part 1
One of the feature requests I received was to allow users to rearrange gun photos in a custom order. Since I was planning other changes to the photos module, I decided to tackle this request first as it would lay a solid foundation for future updates. What seemed like a simple task turned out to be a bit more complex than expected, so I decided to blog about it.
Taming a Herd of View Controllers: Refactoring for Simplicity in Core Data with Swift
If you’ve worked on an iOS app of any significant size, you’ve likely encountered it: the copy-paste monster. It starts innocently. You build a view controller, get it working perfectly, and then you need another one that’s almost the same. You duplicate the file, change a few lines, and move on. But then you need another, and another. Before you know it, you’re the reluctant owner of a herd of nearly identical view controllers, and any change to one means a tedious and error-prone update to all the others. To be fair - there is the Rule of three (three strikes and you refactor), so some temporary duplication is very much okay as long as it is addressed in a timely manner.
Implementing client credentials grant flow with public/private key pair, client assertion, and JWKS in Node.js
This blog post will walk you through an implementation of the
client credentials
grant flow using aclient assertion
. We will build a system to create, sign, and validate JSON Web Tokens (JWTs) using public-private key pairs and JSON Web Key Sets (JWKS) in Node.js. We’ll use Node/Express for the server framework, Jose for JWT signing and validation, and Axios for HTTP requests. The system is composed of a bootstrapper and three microservices, orchestrated with Docker Compose for easy setup and execution.Auto-sizing UIImage on top of UITableView during rotation
As part of version 1.2 of Gun Vault I decided to include the functionality of having the primary image of a gun included on top of the Gun Details screen. I wanted the image to take 1/3 of the screen when the device is in portrait mode …
subscribe via RSS