Issue 20

17 April 2019

by Lori M Olson


A part of me wants to find this tweet/pic funny. That’s the part that still thinks the bad old joke—”There are three hard problems in programming… 1) Naming 2) Off by one errors”—is funny. But it’s also a near endemic problem.

📐 Default coordinate system for
iOS developers vs macOS developers.

I have one question:

— Lisa Dziuba (@LisaDziuba) April 8, 2019

Think about this particular issue for a moment. Someone decided to do this. To create an API/coordinate system that was different. There’s all sorts of history and reasons presented for these choices, but now, more than 10 years later, we are stuck with this choice, probably as long as iOS and macOS exist as separate things. And when Marzipan is finally released… well, let’s just say most of us won’t enjoy working through the coordinate system issues.

If you are in charge of defining an API, think about what the user experience of that API will be for the coders using it. I wrote a blog post on a related topic like 6 years ago, but it’s still relevant today. UX ALL THE THINGS. — wndxlori

Did you know that the origins of Easter pre-date Christianity by thousands of years? In fact, where Easter falls in the calendar is not based on any specific historical event, but rather on the Spring equinox in the Northern Hemisphere, which is when day and night are both 12 hours long.

What the ancients knew for sure, though, is ‘round about that time of year things really began to perk up, weather-wise, and the edible plants which seemed dead magically came back to life. All that eventually morphed into the modern, thoroughly non-denominational Spring holiday which celebrates new life, fertility, health and all that crap. C’mon, now, eggs made out of chocolate? Does it get any healthier than that?

This is a very roundabout justification that APRIL IS ALL ABOUT HEALTH & WELL-BEING according to the Canada Learning Code website.

So what does this have to do with the the School? Turns out that one of the most common objections of our students is “I don’t have an app idea!” Well, one of the more underserved app domains is health and wellness. A quick read of the CLC page should give you enough ideas for a lifetime all the while as you improve somebody else’s. It’s good work in every sense of the word. See #TWIL, below, for more on that latter score.

#MSH: Motioneers Slack Highlights

We have a couple of items from the Motioneers Slack team this week:

First, there is an interesting thread between wndxlori, Amir and Aaron about RubyMotion converging back to Ruby, at least with regard to keyword arguments. Seems like that’s a natural course of events doesn’t it? Things slowly creep out from established practices and then every once in a while you have to, with apologies to Pacino, “pull [them] back in again.”

Also, we have an epic thread (92 replies as of this moment) about helping with RubyMotion compiler-related issues. Best make yourself a cup of coffee before tackling that one. The headline, however, is pretty straightforward: it’s a lot of hard work. Tell you something you don’t know, right?

#GOTW: Gem of the Week

One of the more popular mechanisms for macOS app licensing is Paddle which describes itself as “hundreds of developers and software companies rely on our checkout and licensing solution to sell their products globally”. If you’re inclined to use it, or even give it a try, Martin Kolb has come up with a controller for it. It’s pretty cool and that is why it’s our #GOTW.

#COMM: Community

Did you know that in addition to the Motioneers Slack team, there is also a community forum for RubyMotion? It, too, is a great resource for RubyMotion-related chit-chat and if you haven’t done so already, join today and give it a try. You’ll be glad you did.

A great illustration of what you’ll find there is Holger Sindbaek seeking some assistance with the Braintree CocoaPod. The indefatigable Amir ran through some debugging techniques for this type of problem. It’s advice we would all do well to heed.

So now do you want to join? You really should.

#AHOTW: App Highlight of the Week

For anybody who might doubt the potential platform coverage of RubyMotion, it’s a pleasure to congratulate Amir on the release of his A Dark Room for Nintendo Switch. As it is describes on its home page “A Dark Room is an innovative text-based adventure that harkens back to the magic of Zork, adding a modern spin on a classic genre and time in gaming.” If you enjoyed A Dark Room on the iPhone, you’re going to be fascinated with what Amir has done with it for the Switch. And…well, that would be telling, and I promised I wouldn’t. What the hell – EASTER EGG!

Seriously, though this is great news for Amir. Well done, man. It’s also great news for the rest of us in that we can now think of the Nintendo platform as yet another place where we can play, no pun intended. Also, if you’re interested in a little more history check our Ryan C. Gordon’s Patreon page for the project.

#TWIL: This Week I Learned

We’re #TWIL-ing twice again this week:

First up Federico Viticci tweeted about turning PDF pages using nothing but facial expressions (and an iPhone TrueDepth camera). I know, we had to read that twice, too. Of course, this has huge potential benefits for Accessibility users. In addition, how about for musicians? They usually have their hands otherwise engaged—well, like, y’know—playing the instrument.

Also, we #TWIL-ed about the use of real time interrupts in assembly code. Huh? Seriously? Well, actually, this is a great example of context being everything: it’s how the Apollo Guidance System worked. Y’know, that little known program from way back in the sixties which only PUT A MAN ON THE MOON. It’s a great read on Medium called We’re Go On That Alarm: Inside the Apollo Operating System by Joe Kutner. If that’s not enough, we also recommend Digital Apollo by David A. Mindell, a full length book on the same subject. It’s truly stunning what was accomplished with computing power roughly equivalent to a really old pocket calculator. There’s a lesson in that for all of us.

That’s a Wrap

That’s it for another week. Hard to believe, we know. Can’t stand the thought of missing a future issue of #RMW? Then you simply must subscribe! Both free and easy. Also, follow us on Twitter, Facebook or LinkedIn for other Newsletter-worthy content between now and then.

Until then…may your guidance be interrupted (in a good way, of course).

RubyMotion Weekly brought to you by