Clearing an input field in Puppeteer

I’m working on a project in Puppeteer. I needed to clear a text field. Turns out, it’s not straightforward, but it’s not hard either.
Read more →

Tensor & Flow: TensorFlow & Machine Learning on Android

In Tensor & Flow we will explore the specifics of what is needed to do to deploy a machine learning model to an Android app. I will be using TensorFlow Mobile in Part 1.
Read more →

A Journey Towards Android App Log Subscriptions

I’ve got an Android project going that uses FFmpeg to build short video files (more on this at a later date). Normally, you run FFmpeg in a terminal window or command prompt. It updates you on the status of a task in that terminal window. I’ve instrumented FFmpeg on Android with some C code and a JNI interface. When I execute FFmpeg from an Android app those status updates are written to logcat.
Read more →

A Factoid: The Enforcing-Inheritance-Generic-Thing-in-Kotlin

I learn a Kotlin thing everyday. Today’s thing, “Enforcing-Inheritance-Generic-Thing-in-Kotlin” (I’m terrible with names and terms, there’s an official term for this that I cannot remember). I have a function that starts an activity for a result. I want to limit this function to only be able to start activities extending an abstract class, FooActivity. In Java: private void start(Activity activity, Class<? extends FooActivity> cls) { // some stuff with intents } In Kotlin:
Read more →

Diving into Android Things

I’ve always tinkered with electronics since my teens. I went to school and graduated with a Computer Engineering degree with a focus on hardware (embedded systems, ASIC design, etc). I somehow got into software since graduation and am now an Android developer at RadioPublic. When Google announced Android Things in late 2016, I was beyond excited because it gave me a reason to break out my old breadboard, resistors, LEDs, and power regulators.
Read more →

Exploring ExoPlayer

ExoPlayer is an extensible, application level media player for Android apps. It’s an alternative to the high level Android MediaPlayer API. MediaPlayer is built on several low level media playing APIs like AudioTrack and MediaDRM. These low level APIs can also be used by developers to build your own media player with it’s own custom behavior. ExoPlayer is built on these low level APIs and it has the additional benefit of being open source.
Read more →

Diversity (Lacking) in Tech

Twitter, following in the same steps of Google, Facebook, Yahoo, and other big technology companies, published statistics regarding the diversity of their workforce.

As I would have guessed (and have observed in real life), most tech companies are (disproportionately, relative to the ethnic makeup of the United States) comprised of White males, especially in technical fields. Across the board (at Google, Twitter, Facebook, and Yahoo), only 1-2% of technical roles are filled by Black workers.

Read more →

Saving Fragment States

As of Android 3.0 (SDK Level 11), there is a great facility for saving and restoring the state of your fragments for your Android application.
Read more →