JSON vs Property Lists, Revisited Mar 3, 2020 In a previous post I wrote about How JSON compares to Apple property lists and the obstacles to converting data between them. That was a while ago but the post is still accurate, as far as it goes. But Swift changes the situation in some ways, so an update is in order. Recap: JSON vs. Property Lists The previous post was motivated by the problems some people encountered trying to download JSON from a server and then save it as a property list. ...
Getting started with PDFKit Feb 26, 2020 In my post about my custom presentation slide app I mentioned that because of time constraints, I decided against doing my own slide layout. Instead I’d do that in DeckSet, export my slides to PDF, and show the PDFs in my app. So, how do you do that then? Getting a PDF on the screen The basics of PDFKit are actually pretty basic. If you have a PDF, you create a PDFDocument to hold it and a PDFView to display it. ...
Interactive Presentation Slides at 360iDev Jan 28, 2020 This is a story of how a trip to a karaoke bar led to me writing my own app to display presentation slides. Of how a user interface that allows live smartass comments led to me being completely nerd sniped until I was able to do something I’ve never seen in a conference session– however silly the result was. In the end audience members could send Emoji and other images directly to the slides during the session, which ended up looking like this. ...
Better logging with Emoji Jan 17, 2020 Apple’s developer tools provide a rich variety of debugging aids. Sometimes though, it’s useful to do things the old fashioned way. With debugging, this often means just printing out data while your code runs, and then looking through the results to see what’s going on. Some scenarios where printing debug data helps include: When you need to check on something that happens a lot. When the mental context switching between using your app and using the debugger gets to be too much. ...
Return to Independence Jan 14, 2020 Aaaaand, I’m back. It’s been a long time since I posted anything here. Mainly this was because I worked full time for a while. I found it hard to work all day on someone else’s project, then come home and do even more blog-worthy code-related stuff. At the end of the work day I was done with code. So, this blog faded away. Back before that, in my glorious years of independence, I could find time to explore whatever technical areas caught my eye. ...
BombBomb in the Gazette Nov 4, 2017 The Colorado Springs Gazette just did a nice feature article about BombBomb, the place where I write apps these days.
Data Detection in Swift Oct 25, 2017 I have a love/hate relationship with regular expressions. I love them because they’re great for examining text to find useful information and, often, to change the text in some way. I hate them because once you get beyond basic matching, they descend into bizarre write-only code that gives me flashbacks to my days writing Perl. In extreme cases they may well endanger the universe. And so we come to one of my recent coding issues: How can I find out if a string contains a valid email address? ...
Migrating from Dropbox Nov 10, 2016 Over the past year or so I’ve been trying out Resilio Sync (formerly BitTorrent Sync) as a possible alternative to Dropbox. It’s gradually improved to where I think I can rely on it. With my Dropbox subscription up for renewal in a couple of weeks, now’s the time. In this post I’ll describe how to set up Resilio to get a Dropbox-like experience. What I want from file syncing I’ve used Dropbox for several years now. ...
Date Math is Hard, Let's Do it Tomorrow Nov 6, 2016 This post is based on a lightning talk I gave at CocoaConf San Jose a couple of days ago. It’s that time of year– the time when summer time, or “Daylight Saving Time” as we for some reason call it in the USA– is ending. That time when a developer’s thoughts turn to date math and what a pain in the ass it can be. Why is this so hard to get right? ...
My other blog Sep 9, 2016 I try to keep this blog on topic, sticking to technical posts of interest to iOS and macOS developers. So when I wanted to write about something else I set up a different blog unrelated to my business. ...