InfernoRed Blog

Ed Buhain

Throughout his entire life, Ed Buhain has enjoyed using technology to solve problems. Ed applies cutting-edge technology to professional software development and technical project management as well as his personal hobbies, such as social media applications, home improvement, and cooking.

Ed has over 18 years of professional experience in software development and technical project management. Ed maintains several professional certifications, including MCPD Enterprise Application Developer, PMP, CSM, CSPO, CSD, and CSP certifications.

Find me on:

Recent Posts

Going Native: Using Android Views In Xamarin.Forms

Posted by Ed Buhain on May 30, 2017 11:05:39 AM


We previously walked through how to get started with a cross-platform Xamarin.Forms project, but what if we started with an Android app built in Android Studio? Here's a way to re-use a lot of our Android code and layouts with Xamarin.

Read More

Topics: Xamarin, Android

Xamarin.Forms: A Fire TV Quick Start

Posted by Ed Buhain on Apr 28, 2017 10:13:11 AM


How hard is it for a .NET developer to build a Fire TV app with C#? With the right tools, it's pretty easy; a Fire TV app is just an Android app optimized for viewing on a TV.

Since .NET's inception, my language of choice has been C#. For the C# developer, Xamarin is a useful tool for deployment to more than one platform, such as Windows, Android, iOS, or in our case, Fire TV. With Xamarin, we can build one set of back-end tests and code in C# and share the same code among all of those platforms.

Xamarin.Forms provides even more shared functionality: with Xamarin.Forms, we can even build our views using a set of controls common to all of our target platforms.

Read More

Topics: Xamarin, Android, Fire TV

Obfuscating Shared Preferences in Fire TV Apps

Posted by Ed Buhain on Apr 11, 2017 9:58:48 AM


What's the best way to keep secure data in our local Android or Fire TV shared preferences? Well, don't do it. If someone's curious enough, it's not too hard to dig into the Android file system to look at a particular app's preferences.

What could we do to keep curious users from breaking our app by tampering with the settings? Perhaps we could make it a little less convenient to inspect or modify the settings.

Read More

Topics: Android, Fire TV

Abstracting Analytics: RxJava Observers in TV Apps

Posted by Ed Buhain on Apr 7, 2017 11:25:30 AM


Sometimes analytics are nice to have. Sometimes they're critical, like in our Fire TV apps we just published on Amazon.

Content providers and distributors are always negotiating who can show what content (and for how much). However, I imagine it's much harder to turn down the content that we, the viewers, find most valuable. Analytics are one way to find out what shows we're really watching; without analytics, it's possible that some of our favorites, like Firefly, could be cancelled after only one season!

Read More

Topics: Fire TV, Java

Terrible Technical Talks (and how to avoid giving them)

Posted by Ed Buhain on Jun 29, 2016 11:57:38 AM

 Have you attended a presentation on the hottest bleeding-edge technology and the presentation turned out to be less exciting than watching the paint grow (or the grass dry)?

When it comes to technology, I don't learn by watching somebody else do it; I have to do it myself.

So why do so many technical talks consist of reading slides or pasting code blocks?

Read More

Topics: Best Practices

Why I Became a TDD Sith Lord

Posted by Ed Buhain on May 5, 2016 12:32:54 PM


My enforcement of Test-Driven Development has earned me a lot of nicknames. There's Test <insert name of WWII-era German socialist party>1. Some people "lighten it up" to Test<last three syllables of a Nicaraguan socialist party>2. I personally prefer TDD Sith Lord, because I can type that without any footnotes or disclaimers, and as far as I can tell, the Sith have not been terribly active in the last century.

All of the names connote that I'm a misguided, power-hungry TDD advocate. So why am I such a fervent enforcer of TDD?

Read More

Topics: TDD