EvanGroceryJS: JavaScript Your GroceriesPuppeteer is a JavaScript / Nodejs library that instruments Google Chrome or Chromium browers using the Chrome DevTools Protocol. Think of…7 min read·Oct 2, 2019----
EvaninHackerNoon.comTensor & Flow: Part 1, TensorFlow & Machine Learning on AndroidMany popular apps on both Android and iOS make extensive use of on-device machine learning. Apps like Inbox by Gmail or Siri make use of on…14 min read·Mar 8, 2018----
EvanA Journey Towards Android App Log SubscriptionsI’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…3 min read·Feb 14, 2018----
EvanThe Side ProjectThis is an essay from my weekly post called The Comment. The Comment is a weekly digest of the stuff that grabbed my attention or occupied…3 min read·Dec 11, 2017----
Evan// The Comment #1: PixelizationThe Comment is a weekly digest of the stuff that grabbed my attention or occupied some part my mind during the past week. Normally, it’ll…7 min read·Oct 30, 2017----
EvanShare the CacheA lot of Android apps make viewing images a core part of their user experience. Many of these apps use image caching libraries, like Glide…5 min read·Apr 13, 2017----
EvaninHackerNoon.comDiving into Android ThingsI’ve always tinkered with electronics since my teens. I went to school and graduated with a Computer Engineering degree with a focus on…6 min read·Feb 15, 2017----
EvanMigrating from ExoPlayer 1.x to 2.0In my previous article, I walked through how I architected an audio app on Android. I wagered that all of the work I would need to do would…3 min read·Nov 2, 2016--1--1
EvanAudio Playback on AndroidPlaying music, podcasts, or other audio is one of the most common activities for smartphones in 2016. Most of the time, audio plays in the…2 min read·Oct 22, 2016--3--3
EvanExploring ExoPlayer 2ExoPlayer is an extensible, application level media player for Android apps. It’s an alternative to the high level Android MediaPlayer API…3 min read·Oct 14, 2016--1--1