Showing posts from January, 2018

Android | Backporting Graphics Code to 4.1.2

I've created a framework for displaying a streamed/stored video from any source to Android display at 60fps, given it has a GPU, supports OpenGLES2.0+, and is running on Android 4.4.4+. This has been in use in several systems at Tonbo and all was great until we received a head mounted display - Recon Jet which runs on Android 4.1.2. The Android SDK equivalent version is 16. This is a post on how I backported the framework, the thought process involved in debugging why the Recon wouldn't play the stream. I'm certain this will make sense to only someone who's worked on Android graphics, GLES, and Gstreamer, but may interest someone who enjoys debugging in general.


Receive the Recon. Run my application.


My streaming library isn't compatible here. The minimum SDK version my code runs on is SDK 19, but the Recon is at SDK 16. First thoughts, I will have to backport all my base graphics rendering calls from SDK 19 introduced android.opengl.EGL14 to the old…

All the world's a nowhereland

Why do you work so hard, child? There was infinite work before you were here, and there will be infinite work after you go. Yes you might think you've contributed to a significant amount during your act, but on the grand stage you are merely a performer with limited time. Your work may influence the acts of other performers and you may change the course of the story in your own little way, but there will always be more stage-time once you go.

If you never existed, your workplace would have still continued to function, if you leave, your workplace will not come to a stand-still. Even if you work twice the number of hours you can only take the company so far; there will still be an infinite amount of work left.

Your time here is a lot like a long car drive from no-where-land-A to no-where-land-B; there are infinite no-where-lands ahead of you and infinite no-where-lands behind you. You decide where you start, and keep driving until you decide to stop. Just as with every new highway… is live!

I created a portfolio website during my junior year while I was learning Python Flask. I hosted it on using their free-tier account provided subdomain - it's long and cannot be shared because you're bound to spell pythonanwyhere[1] wrong. I've been passively looking for a good domain name for a long time but never spent more than a minute or two on godaddy. I really wanted to buy one and tick this off of my to-do list., and were not available. I thought a family domain and individual members sub-domain, for example, would have been really cool but none of them were available. Though was available, it just didn't have the same ring as a .com or .me domain and besides it seemed too short. Short .com's are very expensive. My nick/alias on most websites is crearo[2], and would've been it for me had it been available. It turns out there's a Chinese…