When working on code where I’m doing a lot of calculation in geometric spaces such as layout, animation, or color, I often find myself using the concept of a floating point interval: a closed range on the floating point number line. However, the existing ClosedRange requires its bounds to be ordered, which makes it less ...
Read MoreLifeHash Visual Hash Adopted by Blockchain Commons
In my previous post I discussed some of the work I’ve been doing with Blockchain Commons. I’d like to announce that Blockchain Commons has officially adopted my open source visual hash algorithm, LifeHash! I expect that Blockchain Commons will help LifeHash find wide adoption and many translations to other platforms and languages. I also created ...
Read MoreResearch for Blockchain Commons and URDemo Video
For almost two years I have been working with Christopher Allen on a series of research projects for his nonprofit Blockchain Commons. My work for Blockchain Commons has included research papers and open source code written in C, C++, Mathematica, and Swift. Code I’ve written for the project is now running on iOS, Unix, and ...
Read MoreSwift NIOTS: Apple’s own Promises and Futures in iOS Apps
Concurrency is an issue that comes up over and over in mobile development. iOS has threads, locks, run loops, callbacks, delegates, Grand Central Dispatch— a gallimaufry of ways to specify what should happen at some point in the future. Swift has closures, which can be called at some point in the future by any other ...
Read MoreAnnouncing Open Source Bitcoin Framework for iOS
Building on Libbitcoin Today I’m announcing the availability of the open source Bitcoin framework for iOS. I have been working with Blockchain Commons on wallet apps for iOS that will support airgapped transaction signing and BTCR Decentralized Identity (DID). As part of this effort we chose to build on the open source libbitcoin library. From ...
Read MoreProgramming with Fruit: Using Emoji in Swift Code
I recently ran across this article wherein the author strongly discourages the use of emoji in HTML, CSS, and Javascript code. While I actually agree with him in that context, I want to head off the idea that any use of emoji in any language is a bad idea. While UTF-8 is widely supported, different ...
Read MoreWolfCore for Swift: The Master’s Workshop
WolfCore is a library of conveniences for constructing Swift applications in iOS, tvOS, MacOS, WatchOS, and Linux. WolfCore is maintained by me. You can find WolfCore at GitHub. The following is my manifesto. The Master and the Mentor I am an iOS software developer, and I am a master at what I do. I am ...
Read More