Issue 86

9 June 2021

by Lori M Olson

DRD086: It's our annual all zombies all the time issue. Actually there are only a couple of items which are anything about zombies, but we just really liked the headline.

(image: L. Olson)

OPED ― Lori’s Unvarnished Opinion

Don't Give Up until the Magic Happens!

You might have noticed that this week’s newsletter is a little late. That’s because I took last week off to go camping and then a few days more this week to go back to see the eye surgeon for yet another issue with my eye.

Speaking of camping and eye problems…we found ourselves at the same campground that we were at last year when I first ran into problems with my eye. The very first sign appeared when I was playing with a new toy I purchased: a fun telephoto lens for taking zoomed pictures and video with my iPhone. This consists of a monocular that can be used by itself, and an attachment clamp, to attach your phone to the monocular. I played with it last year for a long time and gave up because I couldn’t get anything to come into focus…probably because my eye had a macular hole.

This year I found my telephoto lens again in the trailer when we went camping at the exact same campground, and pulled it out to play. And damned if I still couldn’t get anything to come into focus!!!!

But I persisted, and experimented with it until I could reliably get the phone to attach and stay attached and centred on the monocular. But I still couldn’t quite get stuff to focus and look good until I discovered the trick was zooming in, so the outside circle of the monocular was no longer visible, and BAM! autofocus on the camera sprang into action. It really was like magic when everything worked and I got some beautiful video close-ups of birds (of which there were many).

When I got home, I realized it’s a lot like learning a new programming skill. You can copy the example code, and you can run it, and it looks kinda OK, but until you take that code and apply it to your own project, you can’t really come to that magical OMG I understand how it all works now!

So don’t give up too soon, when you are trying to learn something new. Keep banging away at it until the magic happens! — WNDXLori

It seems like the public has spoken on our recent poll and you like deep dives into specific topics best. Which is GREAT, because last month’s MiM was only part one of creating custom UI features for your apps. This month’s edition will be continuing on that topic, where we’ll be creating UI elements from bare drawing primitives! And I’ll be sharing some behind the scenes coding on an upcoming update for one of my own apps, WIMBY. You won’t want to miss this one, so if you haven’t subscribed to Motion In Motion New Adventures yet, now is the time!

(image: @WNDXLori)

TALK ― Talk of the Tech

If you recently upgraded to Big Sur and then see the ominous Your software license is expired, please visit http://account.rubymotion.com to renew message, all is not lost—there is a helpful thread on the Dragon Riders Slack which will at least have you commiserating with fellow DragonRubyistas who have run into the same thing. Spoiler alert: you may have to get in touch with Amir to get it sorted out. But the real lesson is using a secure password repository like 1password. Not a paid endorsement (we wish!) but we are fans.

Over on the more game oriented DragonRuby Discord, there’s a neat tip on how to record your game also provided by the seemingly-everywhere-all-the-time Amir. We just love it when the answer is just one line at the console.

APP ― All Things App

The world is neatly divided into two camps: those who have launched an app on an app store and those who haven’t. If you fall into the latter camp—which the overwhelming majority of us do—wouldn’t it be nice to hear some thoughts from somebody in that relatively rarified former camp: an after action report of sorts. Well, here’s one, and it’s provided in that increasingly popular format of the threaded tweet. Actually we kinda like that method of presentation: after all, why write pages of beautifully handcrafted prose when the reader is likely to only get through the first 280 characters anyway? Well done, Benn Patterson.

We tend to pay attention when the advice we get is “Please. Add. This. To. All. Your. Apps.” (spelled out exactly that way). Just like Josh Holtz did in a recent tweet regarding -com.apple.CoreData.ConcurrencyDebug 1. But here’s a question for Amir to answer in his ever-dwindling supply of free time: how to do the equivalent of this in RubyMotion?

Oh, right and what does ConcurrencyDebug do? “It essentially puts a break point in your app when it detects core data stuff is run on the wrong thread” so says Josh.

SPOT ― Spotlight On…

In the recent past we’ve been talking a lot about super low tech games: like the ones you would have played on your Nokia phone, for example. So we were pleased to see a game which is representative of kinda the next era after that: Tank vs. Zombies. The shadows on the trees, while not exactly ‘photo realistic’, represent a measured important step in that direction. So a game and a bit of a history lesson all rolled into one. Couldn’t care less about the source code or the history or any of that stuff? Then just play it now on itch.io. (Sheepishly, that’s what we did.)

We were staggered to see this next item is over six years old (that’s about a million in dog years) but it’s still pretty handy. Miss the ri (as in ruby index) command in the REPL? Miss it no more with this gist from no less than Jamon Holmgren.

Oh, yeah, and everybody loves stickers.

GAME ― All Things Gaming

And speaking of things that are about a million years old (in dog years, anyway) this is an item from the days before Discord had right-down-to-the-individual-comment URL links. Has a certain olde worlde charm about it, doesn’t it? Reading. It’s going to be huge.

(image: DragonRuby Discord)

Moving on, do you miss all the static text analysis goodness of rubocop since you moved on to DragonRuby. Well, you don’t have to because this is how you get rubocop with DragonRuby. Who knew it would be just one YAML file.

TWIL ― This Week I Learned

And from the “can’t wait for the future where all those pesky vowels are finally purged entirely from the English language” department: -ltr When added to the ls command, it’s pronounced ‘later’, and will “list files by time, latest last.” See what we did there? All kidding aside, thanks to Hack Saw for this really handy tip. By the way, your name is super meta.

HAHA ― And They All Laughed

(image: Rich Tennant, The 5th Wave)

That’s a Wrap!

The world’s best DragonRuby newsletter can be delivered to you—at least it will be if you subscribe! Follow the WNDX School on Facebook, and don’t forget to follow WNDXLori on Twitter and Instagram.

If you enjoyed this issue of the DragonRuby Dispatch, please forward to a friend and ask them to subscribed, too…we really appreciate it!


“I love zombies. If any monster could Riverdance, it would be zombies.” — Craig Ferguson.

RubyMotion Weekly brought to you by