Android Tip: adb reverse


I work from all over the place: Home, on public transit, the office, coffee shops, etc.

A big challenge to developing android apps in an environment where my laptop and phone are on different networks (wifi vs. LTE, or laptop tethered through phone) is the inability for my phone to see the API server that is often running locally on my laptop. Here is a simple tip to allow your phone to hit the backend over ADB and a usb cable.

Drinking The Koolixir – Part 2


To get a better handle on Erlang’s behavior, I decided to install a popular set of tools for debugging and performance profiling: EPER. I think it stands for “Erlang PERformance tools”, but it could also mean “Everything Proves Erlang Rules” or “Egrets Prefer to Eat Robots” or really anything for that matter. One thing is for certain, however: getting these tools built and running on Mac OS X was fraught with danger and build errors.

The User Experience Team of One: A Research and Design Survival Guide


I’ve recently made it one of my goals to learn more about UX and design.  To that end, I read a book that was highly recommended by our Grio designers, The User Experience Team of One: A Research and Design Survival Guide, by Lean Buley. The book is written for people who are or want to be UX professionals, with a focus on those who either the only person in their company working on UX or who are in some way UX evangelists in their organizations.  Although the intended audience of the book is UX professionals, there were also number of tips and ideas that a company like Grio can find useful.  On many projects, especially when budgets and time are tight, Grio takes on the role of UX evangelist for our clients.

Parallel Computing with a GPU


Graphic Processor Units are becoming more and more important in recent years and are spreading into many different fields, some of which include: computational finance, defense and intelligence, machine learning, fluid dynamics, structural mechanics, electronic biology, physics, chemistry, numerical analysis and security. There are many reasons why a person should learn how to write code for a GPU. For example, GPU’s have been used to successfully decrypt passwords (add reference) in record time, a 25-GPU cluster is able to crack any standard Windows password (95^8 combinations) in less than 6 hours. Other applications of the GPU include data mining for Bitcoin and also applying machine learning for sentimental analysis on tweets.

Internet Cryptography Demystified


About cryptography

While going through a set of configurations to connect on a remote machine I was asked to upload my public key and I realized that I didn’t really know what that was for. If you are asking yourself the same question, or need to convince your mom she can safely use her credit card online, here is brief summary of what’s going on behind the curtains.

Drinking The Koolixir – Part 1


In case you haven’t yet heard of it yet, Elixir is a functional programming language (technically, a collection of macros) written in Erlang. I have been persuaded to add it to my (and, consequently, Grio’s) technical repertoire due to a good amount of recent buzz in the blogosphere (as well as some points I’ll get to later). To make sure I have a strong foundation for my Elixir learning experience, I am starting my adventure with a foray into the underlying syntax of Erlang.