Issue 54

19 February 2020

by Lori M Olson

DRD054: This issue, we live and die in the garden of good and evil. Oh, yes, and tips on how to better organize your code!

OPED — Our Unvarnished Opinion

There’s a lot of ways you can create apps that do good, that help people. And then there’s apps that are only there to rip people off. So, let’s talk about Opera. You know the browser Opera, the company Opera, they got caught a few weeks ago running four Android apps aimed at India, Kenya and Nigeria that basically are operating as loan sharks. This is kind of crazy and completely in violation of the Google Play Store policies for predatory loans. I have no idea why they thought they could get away with it. Maybe they thought no one would ever notice, but it seems like, at least according to the article, that Opera was using these loan apps to artificially prop up their financial results.

It’s been a long time since Google gave up on their do no evil slogan. I mean Google’s pretty evil, but this is some serious evil. There’s a lot of evil apps out there where they depend on people not paying attention and then charging ridiculous amounts of money. And these ridiculous amounts of money are hard to stop because the subscription workflow on iOS kind of sucks (definitely been improved in the most recent version of iOS, 13.2) but there’s still a lot of apps out there that basically try to fool you into spending money.

And honestly…be better than that. Make good stuff so that people want to give you money for it (see below!) — WNDXLori

So, the brand new Programming Fundamentals with Ruby course won’t be out this week. Next week for sure. Probably.

Every time we start working on a new course, this happens. We remember how much fun it is, seeing ideas and words come together into an integrated whole. And we forget the painful parts, like how long it takes to record and edit.

Stay tuned for some more behind the scenes pictures and videos of “the making of” that will be appearing on Twitter and Instagram!

(P.S. My husband thinks some of the outtakes from recording are hilarious. Hit reply and let me know if you’d like to see them and I’ll put together an outtakes reel. ~Lori)

AHTW — App Highlight This Week

The news of Opera’s really bad behaviour, and more generally the times in which we live, sometimes make us think everybody is a scoundrel who tries the get away with whatever they can. Then something comes along which re-affirms our faith that 97% of people really are trying to do the right thing. Here’s a great example from Olaonipekun Olanrewaju: “an Android app that uses machine learning to detect and count money for the visually impaired”. You really have to take a look at this. A beautifully simple implementation combined with a big hit of “why didn’t I think of that!” Nicely done, Olaonipekun, and we’re happy to help spread the word.

We have a bonus AHTW for those who are looking to broaden the deployment footprint for your iOS-only game. How about using Catalyst to convert your iOS game to Mac, as we were recently tipped off by Greg Pierce AKA the AgileTortoise. The only remaining question is why wouldn’t you do this? Thanks for the tip, Greg.

DRGTK — DragonRuby Game Toolkit

Ever wonder why Pong, once you get past the olde worlde charm looks so, well, fake? One word: physics (or rather, lack of physics). And as time went by, and the descendants of Pong appeared, what made them seem less fake? Again, one word: physics. Finally, did you ever wonder what made modern virtual reality games so real they can produce the same physiological responses as having lived the experience in real reality? The answer, once again? Physics. Makes you wish you hadn’t dropped that class, right? Or glad you didn’t.

What we’re trying to say is some real progress is being made in adding more real world physics in the DRGTK. Here are a couple of first-hand reports from that front: one from LittleB0xes on YouTube, and another from Craig Gilchrist. It’s definitely getting there. With this as a start, why not consider pushing out the envelope a little?

DRSH — Dragon Riders€™ Slack Highlights

Every once in a while we run across what we think is a huge issue only to discover the solution was crazily simple. Like the time the ‘Genius’ in The Apple Store showed us how to close apps in iOS and that we “probably don’t need a new battery” as we thought, cursedly. Gosh, maybe he really is a genius. On the one hand, we’re a little embarrassed with the easy answer. On the other, we want to high five everybody in sight for having solved the problem with minimum of muss and fuss. We think it’s just possible that this is what Dave Trollope thought when he solved what initially appeared to be a huge issue with dark mode. The screen just went completely blank. Let’s not kid ourselves…this has happened to all of us at one time or another.

Sort of along the same lines, there are those really simple, easy things which are really easy to forget, particularly when the error messages, using a technical term, suck to be perfectly blunt. In a thread kicked off by Joel Grinke here’s another great example regarding the command line tools as in “did you remember to install them”. Well, of course you did, right? Right? Hmm, better check.

ANDROID — Nothin’ but…

This is long overdue: “a code search tool that presents a view of all of the Android source code as you actually use it”. It’s a collaboration between the Googlers (Google-ites? Google-oids?) who run the internal code search combined with the capabilities of Kythe. This has the potential to save a ‘crap’-load of time for Android developers. It may also provide some inspiration for how to organize our own projects to make them more usable by others.

GOTW — Gem of the Week

We’re pretty sure this has come up before, but when the tools we choose offer virtually unlimited flexibility we sometimes wish they actually had a bit more of the opposite: that they had some slightly more rigid ‘opinions’ about how to do things. As we all know, nature abhors a vacuum (what, more physics?!) so where there are no opinions, somebody is bound to provide one. To wit Shawn ‘Swyx’ Wang provides some best practices for open source repository setup. Works for us and it’s our GOTW. Or is it now GOEOW?

COMM — Community

Some of the best nuggets come straight from the diverse communities to which belong, and here are a couple of particularly shiny ones:

Frank Courville brings to our attention that “push notification support is coming to an iOS simulator near you.” “Whoaaaaa”, indeed.

Also, Joseph Hall points us to an article which reports that Apple’s “app tracking…has dramatically cut location data flow to ad industry”. That’s either a huge PITA or a welcome relief depending on which side of that transaction we’re on.

Thanks to Frank and Joseph for these.

TWIL — This Week I Learned

We’ve also commented on the past that pair programming is either the best thing to ever happen to coding or a hellish dystopia we wouldn’t want to die in, let alone live. There’s really no in between. But if you’re of the former persuasion as opposed to the latter, you’re going to love that Joe Wright noticed that GitHub supports commits with co-authors. That’s “really cool!” or “the horror…THE HORROR!”, again, depending on which side the pair programming abyss you stand.

Did you drop out of CompSci the first time somebody offered you $25 and hour to “come up with a little program to help me with…” y’know, whatever. Seemed like all the money in the world, didn’t it? Then again, that CompSci might have come in handy right about now. But if you took the money and ran, here’s the one page substitute for that four year degree.

Algorithm, schmalgorithm.

HAHA — And They All Laughed

From Thomas Fuchs (no doubt pronounced foox) this is our new favourite gif. Mister Spock and wanton, random destruction: what’s not to love?

That’s a Wrap!

Never want to miss even a single issue of The world’s best DragonRuby newsletter? Then you had better subscribe and €“every other week DRD will come to you absolutely free! We’re also on Twitter and Instagram and we really hope you’€™ll follow us there for content you can’t get anywhere else.

Y’know what Einstein said about physics, right? “€œThere are only two ways to live your life. One is as though nothing is a miracle. The other is as though everything is a miracle.”€ You’re right, we have no idea what that means, either.

RubyMotion Weekly brought to you by