Issue 29

24 July 2019

by Lori M Olson

I’ll just channel my husband this week with his grumpy old geek hat on (he’s a Linux/Unix and network systems administrator) and say that y’all shouldn’t be depending on any particular shell being available on a system you are working on. The absolute minimum that you can depend on is the one, the original, the Bourne shell - sh.  Bend your brain a bit, and go all the way back to /bin/sh when you really need to script something without knowing what’s default or what’s installed.  – wndxlori

#FITS—Featured in the School

In case you think you missed out on last week’s contest, you’re in luck…we have yet to receive a correct answer! What contest you say? Well, to rehash: for FREE enrolment in RubyMotion Testing In Depth, who infamously “held out for the cash” when offered payment in Apple stock by Wozniak and Jobs?

Here’s an additional hint which will make this incredibly easy. The quoted can be seen speaking the quote in the 2011 documentary Steve Jobs: One Last Thing. Actually, the documentary is worth watching even if it’s not to help figure out the right answer.

Tweet your idea to @WNDXschool and if you’re the first one to get it right, the free enrolment is yours! Bonus points (actually…we’re kidding, there are no bonus points) if you get the unusual middle initial correct.

#DRGTK—DragonRuby Game Toolkit

The initial shock of how easy DRGTK makes creating 2D games may have worn off, so it makes sense to get down to the serious business of that million download game idea of yours which will enable you to live in the style to which you would like to become accustomed.

To kick that off how about Level Design Patterns in 2D Games. This just happens to be the title of a great blog post on Gamasutra by Ahmed KhalifaFernando de Mesentier Silva, and Julian Togelius.

The crux of their post is that to “create a game experience that is constantly engaging…it is possible to highlight common patterns that play a part in improving the quality of the design”.  In other words, there is an opportunity to leverage off the experience of others who have learned a ton from the school of hard knocks and jumpstart your own effort as a result. For those serious about game design, their blog post is must reading.

Incidentally, the post is a “more friendly and accessible” version of their academic paper which provides a whole additional level of detail. Consider loading it up on your eReader and taking it with you to the beach this summer instead of that complete-waste-of-time trashy novel. All kidding aside, for real aficionados of the art & science of game design, this is a paper you will want to check out.

#MSH—Motioneers Slack Highlights

Back on June 24th Amir said “7 days before anything that doesn’t support api 26 in 64 bit, will be rejected on Google Play”. Anybody who stumbled on this one statement might be panicking right about now. NO NEED! In a subsequent comment, Amir corrected that to say you actually have “7 days and one month before anything that doesn’t support api 26 in 64 bit, will be rejected on Google Play”. That’s the good news. The bad news is if you do the date arithmetic that new date is more-or-less the end of July. Better get crackin’

A further note from Amir along these same lines. In 2021 (we know, sounds like a long time, right?) Google will delete/pull any apps which are 32 bit only. That time is going to fly by so you still really need to get crackin’ on this, capisce?

In any event, read the whole story and/or join in the conversation on this topic.  What’s that you say? You’re not already a member of the Motioneers? Seriously? You really want to put that right.

#GOTW—Gem of the Week

Felix Krause, comments “xcodebuild terminal output is still mostly noise” and laments that this is still the case in 2019?! You would think they would have done something about this by now but, alas, that’s not the case.

Never fear, though, because Felix also points out there are two tools which solve this problem: xcpretty and trainer. The former is used to “convert xcodebuild plist files to JUnit reports” and the latter is a “flexible and fast xcodebuild formatter”.

Finally. Thanks for bringing this to our attention, Felix.


Julia Evans provides some insight on “how to read an error messsage”. Before you quip “from left to right?”* what Julia really means is how do you read an error message and make sense of it and, interestingly, how to google it properly.

She packages all of this goodness in a one page infographic which she tweeted out a couple of weeks back. Well worth a look.  Thanks, Julia, this is really handy, particularly for those just starting out on their code journey.

*Or, to cover all bases, “from right to left” for those who speak an RTL language such as Arabic, Hebrew or Persian.

#AHOTW—App Highlight of the Week

We think the crickets schtick has run its course, so we’re going to take a different tack here and simply point out cool apps that you could have made. But, sadly, now somebody else has beaten you to it.

To wit, Lightcatch out of beautiful Grande Prairie, Alberta. They/it were recently featured in a CBC article which describes the app as enabling “users to alert nearby members to a crime via text, photos and video. Witnesses can provide updates that show up on a map in real time and alert other users in the area”. Why didn’t you think of that, right?  Their 54 second video captures the concept in a nutshell and we think it’s really, really cool.

C’mon, folks, this is free advertising and it’s perfectly OK to nominate your own app for #AHOTW! Countless millions of #RMW readers await!

#TWIL—This Week I Learned

I think it’s fair to say the majority of #RMW readers of users of git, right? Assuming that’s correct, a reminder you can extend git with any old command you like. Here’s a great example: git-conflicts which lists all of the files currently in a conflict state. As the kids like to say, “awesome”.

By the way, we’re seriously considering adding additional git commands to cover off all of the spelling mistakes we make over and over and over…

That’s a Wrap!

Want to make sure you never miss and issue of #RMW?  Subscribe…it’s free! But maybe not forever, you never know. You can also follow us on TwitterFacebook and LinkedIn and we really hope you to see you on those platforms.

Until next time, may all of your files not be conflicted.

RubyMotion Weekly brought to you by