Keyhole at Blockchain KC 2020

Keyhole Speaking & Sponsoring Blockchain KC Conference

Keyhole Software Articles, Blockchain, Community, Company News, Educational Event, Hyperledger, Keyhole Leave a Comment

We are pleased to announce that Keyhole Software is a Gold Sponsor of the 2020 Blockchain KC Conference! Our very own principal consultant and managing partner, David Pitt, will be speaking on Blockchain software from his rich experience with the platform. 

The one-day conference will be held on April 23rd in Kansas City. Multiple tracks and sessions will be offered on a wide range of topics including Blockchain for Enterprise, Cryptocurrency Regulation, Developing Blockchain Applications, and New Developments on the Horizon. Industry leaders from technological, legal, financial, and business development standpoints will share pointers for successful development and administration and coach organizations on how to utilize Blockchain in their enterprise architecture. 

Decoding Mobile Development Options

Decoding Mobile Development Options

Mike Cerny Articles, Development Technologies & Tools, Mobile, React Native, Xamarin 1 Comment

It can be challenging to decide on the right strategy for reaching the mobile audience, though. If you decide an app is what you need, the next question is “what are my options?” In general terms, the types of mobile applications you could choose to build can be divided into three groups: vendor-native, cross-platform, and hybrid web.

In this post, we give an overview of the various mobile development strategies on our shortlist for enterprise clients to consider; for example, Xamarin, Flutter, React Native, and Ionic. For each tool, we give a brief introduction and highlight the key advantages and disadvantages found in implementing each mobile development approach.

Expression Parser with Antlr4

An Antlr4-Based Expression Parser

Lou Mauget Articles, Development Technologies & Tools, Java, Programming, Python 1 Comment

In this blog, we’ll present a simple arithmetic expression parser implemented through an Antlr4 parser generator. It will be able to take in an input string (such as 2+4+-4+-2*10%9*7) to produce the result (-12.0).

You may be thinking, “Great, but what’s the point?” Well, to answer your question, as simple as this example may seem, the principles involved actually extend to use cases such as DSLs, transpilation, and anything else expressible by grammar rules.

This post has two parts. In part 1, we’ll discuss the background components of a parser. In part 2, we’ll cover building the demo and running it. If you already understand grammar parsing, you could skip part one.

Spring Batch to AWS Cloud: Transferring with Ease

Transferring Spring Batch Apps to AWS Cloud

Rik Scarborough Articles, AWS, Cloud, Development Technologies & Tools, Spring, Spring Batch, Tutorial 2 Comments

The last few years have seen a lot of movement to bring applications that don’t require manual intervention from the mainframe to Unix, Linux, Windows servers, or even to the desktop. This concept is commonly known as batch programming, and Spring Batch has been the tool many of us are using to accomplish this. Another trend that is gaining steam is to move from an internally-hosted server to a cloud-hosted system.

In this post, we discuss multiple ways for transferring Spring Batch applications up to the AWS Cloud, including EC2, Docker, Lambda, and others. I concentrate on AWS in this post, but, from my experience in Google Cloud, the same ideas will apply…

Go With A Vue

Chris Berry Articles, Go, Vue.js 1 Comment

Last year I blogged about creating a Lean Mean Vue Machine called Quotes on Demand. The application was a fully-featured CRUD application served from a NodeJS server and had a self-contained VueJS front end. Since then I’ve also added a Python version of the same API.

But wouldn’t it be a nice test to see if that same Vue application could switch over to another API – say, something like a Golang application server?

In this post, we will create a Golang application server that will have 100% parity to an existing NodeJS web application. This will enable an existing VueJS front end to connect to the application with no additional code changes in the user interface code.