Keyhole Software Releases React Guitar Tuner Application

Keyhole Software Articles, Community, Company News, Keyhole, Keyhole Creations Leave a Comment

Keyhole Software is proud to announce the release of the Keyhole Guitar Tuner application. This open source application provides audio for tuning guitars.

With the free web application, users can select any listed guitar tuning note and various audio samples for each note are played. The application features different ways to listen to the tuning audio including playing a single note continuously, listening to the notes played in one strum, or playing the “tune” option that plays each note five times.

This application was built by…

Agile Perspective

Tim Broyles Agile, Articles, Project Management 2 Comments

You may think of Agile as just another process. While this is incorrect (as it is a framework created to help developers create processes), there is a fundamental difference between this methodology and most methodologies that have come before.

Agile–done the way it was intended–is revolutionary. Fundamentally, Agile is an advocate of a bottom-up development process. I believe this is why it is often proposed with good intention, however then implemented with a top-down, fixed idea of what the Agile team (and hence the process) will be like.

If you take time to read the Agile Manifesto you will read statements like: ”The best architectures, requirements, and designs emerge from self-organizing teams.” Just consider that for a second. The team has the power to keep what works and dispose of what does not.

There are some basic concepts that allow Agile development to be successful. In this post, I highlight the key parts of Agile that appeal to me (as a reluctant process advocate) and have enabled successful Agile development in recent projects…

Unit Testing Your Architecture With ArchUnit

Cindy Turpin Architecture, Articles, Development Technologies & Tools, Testing 1 Comment

I am a Spring/Java developer (primarily) and an advocate of unit testing.

There is often a debate over what constitutes a unit test, an integration test, a system test, etc. But, most of us agree that tests keep you from going “off the rails” once a project becomes sufficiently complex.

However, I have found very few discussions on architectural tests. What keeps us from deviating wildly unintentionally from our original, planned architecture? And, after all, how many enterprise projects even keep the same architects from the beginning of the initiative to shelving and replacement?

In this blog, I introduce ArchUnit, a Java architecture test library for specifying and asserting architecture rules in plain Java. We’ll discuss how it works to mitigate architectural risks in developing quality enterprise applications…

Java 10 and Local-Variable Type Inference

Robert Rice Articles, Development Technologies & Tools, Java Leave a Comment

JDK 10, an implementation of Java Standard Edition, was released in March 2018. It brought with it Local-Variable Type Inference to help simplify the writing of Java applications.

Basically, it’s a new syntax meant to reduce some of Java’s verbosity, while still maintaining the enforcement of static type safety. In simpler terms, you are able to declare variables, but won’t necessarily have to specify the type.

In this blog, I give recommendations for best practice when using Local-Variable Type Inference in JDK 10 with an eye for common var pitfalls…

Angular and Swagger: Experiences Learned

RJ Dela-Cruz Angular, Articles, Development Technologies & Tools, JavaScript 2 Comments

Recently I was fortunate enough to be a part of a project where we were building an application from scratch into an Angular front-end application with Microservices in the back end. Swagger was used as the contract between the UI and Microservices.

In this blog, I talk about the things I learned from this project experience, like how to use Swagger to define the endpoints of the Microservices, integrating Swagger-generated code into Angular, and working with configuration (including oAuth2 tokens), among other “gotchas…”