Hi.

I'm Jon Gear, a software engineer with a passion for distributed systems, machine learning and brain-computer interfaces.

Latest Posts

CCopy Git history from one repository to another

07/06/20191 Min Read — In Git

Ever need to migrate a codebase AND keep the commit history? Same. Recently I needed to migrate a codebase from one Git provider to another. I wanted to preserve the commit history since this was an npm library with versioning which meant a copy/paste over of the files would not work. Let's…

BBuilding a mind-controlled drone

06/08/20197 Min Read — In Hacking

All of the code that will be discussed in this post can be found in my GitHub repo github.com/jongear/mindcraft A little over a year ago I stumbled across a demo by Alex Castillo showcasing how you can control a retail drone with your mind. To say I was inspired is an understatement. I…

JJavaScript returns undefined if curly brace is on next line

08/28/20181 Min Read — In JavaScript

Semicolons are optional in JavaScript. If you do not open a brace or add your return object to the same line as the return statement, JavaScript will interpret this as desiring to return undefined. This behavior trips up a lot of developers coming from languages where the standard is to add the…

SScript deploy gotcha with Travis CI

09/17/20171 Min Read — In Travis CI

Recently I was attempting to leverage the script deploy provider offered by Travis CI . This provider is similar to the after_success lifetime hook but adds additional customization in the form of offering the added capability to control deploys based on target branch. I prefer to use the…

WWhat is Serverless Computing?

04/02/20172 Min Read — In Serverless

Serverless Computing has steadily picked up steam since AWS released Lambda in 2014. Serverless Computing or FaaS (Function as a Service) is a subsector of cloud computing that enables the automated execution of Unit of Work sized codebases. In Serverless Computing the host environment manages the…

BBuilding a uselesss machine

12/10/20161 Min Read — In Robotics

The other day I found myself in MicroCenter which if you haven’t been before I recommend checking one out. They are an interesting cross between a chain computer store and a post-apocalyptic warehouse of robotic parts, but I digress. In my quest to find a new RFID shield for my Arduino unit I ran…

WWEB API and Serializable

10/19/20161 Min Read — In ASP.NET, WEB API

Recently I was working on a solution that needed to make use of Redis to cache expensive calculated results to increase performance. We added the dependency to Redis and marked the desired classes with the Serializable attribute to satisfy our cache layer requirement. However, an unintended…

TTypeScript Angular Forms with Angular 1.5 Components

10/18/20161 Min Read — In Angular

Form validation, every front-end developers favorite topic. Recently I have been migrating form validation over to TypeScript and I have been pleasantly surprised by how clean TypeScript Angular forms development is. Consider the following form example that allows a user to enter a date into an…

SSpice Up Your Lorem Ipsum Filler Text

10/10/20161 Min Read — In UX Tools

I have been doing a lot of wire framing over the past few weeks and thought I would share some of the Lorem Ipsum alternatives I am using. If you are not familiar with Lorem Ipsum it is a section of dummy text used to imitate user content in a design. Lorem Ipsum is simply dummy text of the printing…

CCustom Status Code for JSON using MVC on Azure

08/25/20161 Min Read — In ASP.NET, MVC

Recently I was tinkering with a MVC side project hosted on Azure and I ran into a curious scenario where my custom JSON errors were not returning properly. When appending a custom status code for JSON using MVC on Azure I was receiving responses in plain text/html when this exact solution worked…

JJavascript var vs let

07/17/20161 Min Read — In JavaScript

You’ve seen let and var used and for the most part they appear to be interchangeable but what exactly is the difference between let and var? The simplest explanation of the difference between let and var is that let is bound by block scope while var is bound by function scope. Consider the following…

nng-metadata is the answer to upgrading to Angular 2

06/16/20161 Min Read — In Angular

Earlier this week I spoke to making a poor man’s TypeScript Component decorator to begin to make Angular 1.x syntax more Angular 2.x compliant. Since then one of my coworkers brought to my attention a phenomenal library that extends on what I spoke to. ng-metadata is a library that allows you to…

MMake a TypeScript Angular 1.5 Component look like a Angular 2 Component

06/13/20162 Min Read — In Angular

Recently I started wondering if it was possible to create an Angular 1.5 Component that would look and act similar to an Angular 2 Component. The motive behind this was fueled by the idea that if I could convert an existing Angular 1.5 code base over to a more Angular 2 compliant syntax it would…

AASP.NET Session State Blocking AJAX Requests

05/20/20161 Min Read — In ASP.NET, MVC

A copy of my demo application can be found on GitHub Last week one of my colleagues noticed some strange behavior in our MVC layer that was causing otherwise asynchronous AJAX calls to run synchronously. At first observation we assumed it must be a bug in how our MVC layer is communicating with our…

UUpload a file with $http.post in AngularJS 1.5.5

05/07/20161 Min Read — In Angular

Recently I was porting a jQuery Bootstrap file upload over to an Angular 1.5.5 modal and ran into an issue when I tried to upload a file with $http.post in AngularJS. Essentially I was able to receive all of my form data on the server except for my file. The main gotcha in this scenario is that…

AAutocomplete with AWS CloudSearch

04/18/20162 Min Read — In Cloudsearch, AWS

In this post we will discuss supporting Autocomplete with AWS CloudSearch. CloudSearch is a full featured search engine that allows AWS users a performant way to query NoSQL solutions via index columns. Read the following article if you would like to learn how to port DynamoDB data to CloudSearch to…

WWordPress on Google Cloud with a .io domain

04/07/20164 Min Read — In GCP

Objective We are going to use Google Cloud and Google Domains to create a WordPress powered .io ending website in the cloud. We will be utilizing Google Cloud Compute Engine’s Click To Deploy WordPress package. A working knowledge of DNS is not required but recommended. Estimated time to complete is…