Debugging with Sound

Debugging is hard. You have to remember what you or someone else was trying to do while understanding what’s actually going on. I don’t remember where I heard it, but there is a saying that goes something like “Don’t write code at the peak of your understanding because debugging it requires 2 times the understanding…”. Sometimes it’s not that it’s hard it’s that there is just too much going on. For these cases, I’ve been using sound.

Continue Reading »

Calling Kotlin from C++

At Highrise we’ve been building the future of our platform in a way that supports Android. We’ve put together a stack that is pretty challenging but really fun to build. It’s based on a C++ core and platform specific projects in Swift (for iOS) and Kotlin (for Android) that uses that core. On Swift you need to have an Objective-C++ wrapper for Swift to call functionality in the C++ core, but it’s pretty straightforward and things like wrapping a block in an std::function works pretty well. Android however runs on the JVM and requires using JNI to communicate with C++. This took away the niceness of Kotlin lambdas for asynchronous completion away from us. Or did it?

Continue Reading »

→ Number Rush

Apparently I’m not the only one named “Josh Johnson” that has a problem with German numbers. Here is a web-based game by another Josh Johnson to help with your German number learning. It also uses React.js which is something I’ve been wanting to play with. You can see the code on Github.

→ Guide to Functional Reactive Programming

Realm, which posts amazing videos regularly, has just posted a Guide to Functional Reactive Programming. They discuss the why, the what, the how, and the who all while linking to some great videos. Definitely a nice resource if you haven’t looked into this. I’ve read a lot about it but I don’t think I’ve fully internalized this yet. This will definitely help.

Coding Weekend

This weekend I spent some time at the Ticketmaster DevJam in Durham. They are working on a public API with events, venues, and more that they’d like to get developers using. For me, it was a day long event with food and building a weird app with some friends.

Continue Reading »

→ Microsoft Acquires Xamarin

Interesting, and unsurprising, news today that Xamarin has been acquired by Microsoft. I’ve never used it directly to build apps but I did to some research into using their test cloud system (which is actually calabash-based, something I’ve worked a lot with and have written about before). I hear of a lot of people loving to be able to build iOS apps without learning Objective-C or Swift.

This gives Microsoft an interesting position as a vendor of an iOS SDK. It will be interesting to see what comes of this.

Learning German with AVSpeechUtterance

For the last couple of months I’ve been studying German with my wife. We both have always wanted to become polyglots so we decided to stop waiting around an just start learning. We both have some ancestors from Germany and would love to visit, so that was a great place to start. One thing I’ve been struggling with is numbers in German. I can count well, but hearing a number in conversation requires a lot of thought. The problem is it is backwards from English, Twenty-One in German would be One-and-Twenty (einundzwanzig). So what’s an iOS Developer to do? I made an app for me to practice.

Continue Reading »

My Developer Tools and Utilities List (2014 Edition)

I’ve often wanted to do a yearly roundup of the tools and utilities I use; if only as a log of things I use over time. I did this two years ago in 2012 and when I was thinking about getting back to blogging I wanted to update the list. The funny thing is not much has changed. I’m actually surprised that I don’t use that many tools. Hardware Retina MacBook Pro - Still working with my 2012 Retina MacBook Pro with 2.

Continue Reading »

→ Implementing a language with LLVM

Writing a programming language is not something I’d ever attempt to accomplish. However, the idea of getting a better understanding of LLVM is very interesting. This tutorial isn’t a complete lesson in the compiler, but I think it will at least help you learn a little more about it..

“This tutorial runs through the implementation of a simple language, showing how fun and easy it can be.”

Sounds fun. I’m in.

Controlling Xcode warnings via pragmas

I hate warnings in Xcode. Originally, they didn’t bug me too much and I’d even use the #warning preprocessor directive to note TODO items. I want problems to be the only thing that shows up in the build log so I notice it right away. Then, one day Xcode updates and I get a lot of new warnings. This is a good thing and you should choose to turn the stricter warnings on.

Continue Reading »