Touchless UI – Solving Problems or Creating Them?

by

On my way through the San Francisco International Airport last month, I stopped at one of the new automatic water dispensers to fill my water bottle. I set my bottle down below the spigot and waited for the water to come out, as is common with most of the automatic dispensers currently on the market. However, when nothing happened, I began waving my hand around the machine in an attempt to find the sensor, while simultaneously looking around to see if anyone noticed how silly I looked. 

Engineering Product and Market Fit

by

(This article is derived from a presentation given by Gideon Spencer)

As creators and developers, we are constantly coming up with new ideas for what we believe will be the next big product. However, creating the hottest product on the market is about more than just having a big idea; it is about engineering the product/market fit to ensure that you have an item that users cannot live without. In this post, I will be outlining a systematic approach you can take to product/market fit, as well as examining a case study on this process. Another great source of information on the topic is the original post written by Rahul Vohra, the founder of the company in the case study, Superhuman.

Getting Hands-on with Embedded Firmware

by

Have you ever wondered what makes a fan spin, a microwave rotate, a lock engage, or a washing machine spin? Every day, we encounter dozens of items that would not function without the use of embedded firmware. In this post, I will introduce the various components of embedded firmware, and will share ways that you can get involved in embedded firmware development. 

Conducting A Good Tech Interview

by

At Grio, we believe it takes great people to build great software. That’s why, when we add new members to our team, we work hard to ensure that we are hiring the best people for the job. In this blog post, I will cover tech interviews – why we do some of the things we do and how we use efficient tech interviews to screen for the best candidates for open positions.

A Wolf in Sheep’s Clothing: The Creation of Stay Vigilant

by

Fourteen years ago, a seemingly insignificant event inspired the creation of a single phrase that would be become the name of my brand, as well as the mantra by which I lived my life. In this blog post, I will discuss how my side projects, habits, and branding all evolved into one cohesive unit: Stay Vigilant. 

The Living Specification: A Quixotic Quest

by

I want to tell you of a beautiful, elusive dream. It is an idealistic goal I call “The Living Specification.” The Living Specification is the idea that we can continue to update a specification, the description of an application’s behavior, throughout its life. I will detail why this is so challenging, and the steps that Grio can take to make this dream a reality. 

Demystifying Regular Expressions

by

In this post, I am going to introduce one of the most contentious tools utilized by software developers: regular expressions. Regular expressions can be extremely useful, but they can also be complex and tedious at times. Many developers, therefore, have complex relationships with them. 

Internet Linguistics: Examining the Way We Talk When We Type

by

What is the goal of communication? To accurately convey to someone else what you mean. Whatever it is, tonally, contextually, and based on the content, the point of the conversation is to ensure that the person you are talking to is understanding what you want them to understand. 

With the rise of technology, the ways in which we communicate have become much more varied and complex. In this post, I will examine how the way we text is a reflection of the way we speak in a society where more and more communication is happening textually.

Elixir LiveView Countdown Clock

by

Pushing a Boulder Uphill

If you’ve ever worked on a large application, you know that it is easy for it to become very complex very quickly. You’ve likely found yourself building a javascript single-page application in React, Angular, or Vue. Using Webpack to bundle your distribution. Adding  NodeJS to an existing backend infrastructure to expose an easier-to-use GraphQL application programming interface (API). Then, adding pre-rendering to optimize your front-end.