Simply invoke command line processes within Gradle Tasks Recently, I setup a system to automate the process of taking screenshots of an Android application. The system consisted of instrumentation tests, Gradle tasks, and a Fastlane command. The instrumentation tests were responsible for loading the different screens and capturing the screenshots. The Gradle tasks were responsible […]
Kotlin is often lauded for it’s conciseness and eloquent syntax, but often suffers from being confined to more limited Java coding conventions. This may be welcoming to Java developers looking to adopt Kotlin in their projects, but could be off-putting for others working in different environments, as well as, somewhat limiting Kotlin’s full linguistic potential. […]
We’ve got a fully packed program today. We’ll be covering a couple of cosmetic science news stories, catching up from my hiatus and answering questions about… Is silicone suffocating hair and causing hair loss? Do proteins in nail products strengthen nails? What is goat’s milk doing in soaps and more? What’s an affordable version of […]
Header Photo by Pearse O’Halloran on Unsplash For our Android clients we have a small component library which is used to shared common visual elements across the different Android applications that we work on. We recently updated our applications to the Material Components library, meaning that our component library itself needed to go through the same transition. Within […]
People like us, who believe in physics, know that the distinction between past, present, and future is only a stubbornly persistent illusion. — Albert Einstein Time representation is a necessity for nearly all applications. The ability to display, reference, track, and manipulate moments of time plays an important role in the development of applications. But […]
Live Regions are one of my favourite accessibility features on Android. They’re a super simple solution to a common accessibility problem that people with visual impairments can stumble across. Say you have a game app, really any type of game. Your user interacts with the play area, and as they do, their score increases or […]
Last year, I shared a solution to tackle A/B testing on iOS in swift. Now that we have SwiftUI, I want to see if there is a better way to implement A/B testing. Starting from the same idea, I’ll share different implementations to find the best one. From the same idea of my first try […]
What patterns, techniques and strategies can you copy from the pros NOW? Find out in this episode of the Essential Tennis Podcast! You’ll hear a special conversation with Matt Bradshaw, the host of “Coffee Break Tennis” on YouTube who’s been breaking down the stats and data from the best players in the world for years. […]
It’s a solo Beauty Brains podcast. Chemical Free RantSince I’m going solo, there are a few topics I’d like to rant about. Let’s start with chemical free. Can someone tell me something, what do people mean when they claim “chemical free”? I look at the world from the standpoint of a scientist but you don’t […]
How best to put this? The Godox TT600 is, objectively, a screaming bargain. It is a full-sized manual-only speedlight with power comparable to OEM speedlights that cost over eight(!) times as much. It features a reliable, built-in transceiver, a suite of different remote triggers and is part of a ridiculously comprehensive lineup of lighting gear. […]