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. Their original feature is the only one I've ever cared about. I get a folder on my Mac that transparently syncs to my other Mac. I can also access files from an iOS app. Dropbox has built a bunch of other stuff onto their service, but I don't care about any of that. I want files to sync between Macs, and that's it. For a variety…

read more →

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? It'd be nice to think that dates and times follow predictable routines whose cycles all use nice round (or at least consistent) numbers. However: The universe doesn't care about regular numbers. The length of a year doesn't divide into an integer number of days. Convenient time periods like months are no better. The Earth's rotation isn't entirely consistent. So we have leap years, and leap…

read more →

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.

As some of you are aware, when I'm not working on apps I'm also a radio DJ, at KRCC in Colorado Springs, CO. If you aren't, you might still have noticed how I used to win prizes at "Stump the Experts" at Apple WWDC by identifying song. While DJing I get to listen to a ton of great music, and I wanted to write about what I'm listening to. So I'm introducing Tom Swift FM (my on-air nickname is "Tom Swift", which seemed apt for a Swift developer). I'll post about whatever great music I've been listening to lately.

I hope you'll check it out. That's all I'll say about it here.

permalink

Later this month I'm hosting Stump 360 III: The Search for Stump, the third annual Stump 360. It's part of 360iDev in Denver. It's on August 23, 4:45pm - 6:00pm. In case you're not familiar with Stump 360, here's some possibly interesting information. Stump is sort of approximately a game with two teams, the audience and the panel. It's a quiz/trivia style event where each team poses questions to the other in the hope of stumping them. But don't take the game too seriously. I certainly don't. Ideally everyone will have some fun, and just maybe, some people will get correct answers to some of the questions. Having fun is more important than being able to recite complex technical answers from memory. The panel is made up of volunteers from…

read more →

One of the cool things UIStackView can do for you is make it easy to dynamically update your app's user interface while it's running, with smooth animations and not a lot of code. My recent talk at iOSDevCamp DC covered some techniques. Natasha the Robot wrote a couple of great posts based on my talk, and today I'm going to talk about another unexpected (to me?) use of stack views. Animated Updates with Stack Views Stack views exist to figure out the layout constraints for their arranged subviews. But only for the stack views that are visible. It might seem obvious but stack view layouts don't consider subviews that don't appear on the screen. The great thing about this is that you can dynamically update your UI just by changing the value…

read more →