Home » Author Archives: Keyhole Software (page 2)

Author Archives: Keyhole Software

Keyhole is a midwest-based consulting firm with a tight-knit technical team. We work primarily with Java, JavaScript and .NET technologies, specializing in application development. We love the challenge that comes in consulting and blog often regarding some of the technical situations and technologies we face.

Caching Strategy Reminder for Maven-Based Docker Builds

apache-maven-logo

My local development feedback loop between code change and runnable container was annoyingly long on a Maven-based project I was recently working on. I wanted to speed things up. The scenario was something like this:             touch/change some source code docker build maven downloads the world maven compiles my project docker run touch/change some source ...

Read More »

Checking Sanity in TDD Testing

software-development-2-logo

Whether you’re in the process of fully adopting Test Driven Development (TDD), providing unit tests after you have written your code, or something in between, the question that you will soon ask is: “What should I be testing?” The simplest answer to me is: any place where you can isolate and test just your code. In my opinion, Test-Driven Development ...

Read More »

Docker: VMs, Code Migration, and SOA Solved

docker-logo

It’s rare that a piece of software as new as Docker is readily adopted by startups along with huge, well established companies. dotCloud, the company that created and maintains Docker, recently nabbed $40 million in funding. Microsoft also announced on 11/18 a Docker CLI for Windows. Docker will also play a central role in Azure as well as the next ...

Read More »

Someday Is a Lie

software-development-2-logo

“You don’t have a time machine— you’re living the same twenty-four hours we all are. You can barely make it through your day with all the current things there are to do; when is “someday” finally going to arrive? The answer is, of course, never. Today is it.”  – Andrew J. Mellen, “Unstuff Your Life!” If you’re a software professional, you’ve probably ...

Read More »

Using PouchDB for Offline/Data Sync

software-development-2-logo

Recently the term “Mobile First” received additional notoriety as the new CEO of Microsoft proclaimed the company’s shift in focus. As I’ve been researching mobile frameworks lately, I’ve run across another term – “Offline First.” As much as you may be online with your mobile phone or tablet, inevitably there will be times when you’re not connected, but still need ...

Read More »

Java And The Sweet Science

java-logo

When you have been developing in Java for 15 years and a coworker asks you to help them debug a null pointer exception, you don’t expect to be surprised. Usually it is quite obvious what is null and the only thing you need to do is find out why. Sometimes it is a little more difficult because someone has created ...

Read More »

Don’t just randomize, truly randomize!

software-development-2-logo

The state of web application cryptography has changed, and each development language provides its own way of working with it. I will touch on the current state of random number generation and the differences found with it within the Java and JavaScript development languages. When designing and building web applications, security concerns obviously play a crucial role. The term security ...

Read More »

Processing Java Annotations Using Reflection

java-logo

In my previous article covering Java Annotations, I outlined a recent use case and provided you with some examples of custom annotations and how they might be used. In this article, I’m going to take that a step further and give you a few examples of custom annotations and how you would process these custom annotations using the Java Reflection API. ...

Read More »

JAXB – A Newcomer’s Perspective, Part 2

java-logo

In Part 1 of this series, I discussed the basics of loading data from an XML file into a database using JAXB and JPA. (If JSON is called for instead of XML, then the same idea should translate to a tool like Jackson.) The approach is to use shared domain objects – i.e. a single set of POJOs with annotations ...

Read More »

Functional Reactive Programming and JavaScript

javascript-logo

Functional reactive programming (FRP) is an emerging programming paradigm that has recently gained popularity in the web world. That popularity isn’t just tied to fact that the video streaming giant Netflix blogged about how it applies FRP to optimize its API, but because it actually provides an elegant way to reduce the complexity of dealing with time-varying events and asynchronous ...

Read More »
Want to take your Java Skills to the next level?
Grab our programming books for FREE!
  • Save time by leveraging our field-tested solutions to common problems.
  • The books cover a wide range of topics, from JPA and JUnit, to JMeter and Android.
  • Each book comes as a standalone guide (with source code provided), so that you use it as reference.
Last Step ...

Where should we send the free eBooks?

Good Work!
To download the books, please verify your email address by following the instructions found on the email we just sent you.