Security is the cornerstone of software built for regulated industries. Applications must work properly and meet strict compliance standards while protecting sensitive information at every stage. In healthcare, finance, and other regulated fields, secure Java development ensures data is safe, trust is maintained, and legal obligations are met. At Keyhole Software, we help teams build security into every part of …
Zellij: The Impressions of a Casual tmux User
Let’s get this out of the way: I love tmux. Gaining the ability to multi-task within the terminal was a monumental productivity boost for me, and if you’ve used it in the past, you probably have similar stories about how it leveled up your workflow. It’s fast, it’s well-supported, and it has a plethora of features you can invoke with just a few keystrokes.
…and personally, I can only remember about a dozen of them.
Boost Your Automated Testing with Cucumber and Selenium
As discussed in a previous blog post, Selenium is a popular choice for automation testing, and when you pair it with Cucumber, you unlock even more benefits. By writing test cases in Cucumberโs human-readable format, teams can improve clarity, boost maintainability, and make collaboration easier โ even for non-technical stakeholders. In this post, Iโll walk you through how to integrate Cucumber with Selenium to create efficient, effective tests that set your team up for success.
Implementing GitHub OAuth with NextAuth.js
In my last post, โIntroduction to Web Apps with Next.jsโ, we went through the steps of setting up a new Next.js project, customizing a landing page, and implementing a very simple web application. In this post, weโll implement an Open Authentication (OAuth) based Single Sign-On (SSO) API within Next.js using NextAuth.js. Weโll be using GitHub as our provider, but the steps here are very similar for other platforms, such as Google or Discord. This will allow us to place portions of our website behind a login screen, restricting access to certain content or APIs for anonymous visitors.
Achieving Effective API Test Coverage: Best Practices and Tools
Test coverage is a metric that measures how much of your codebase is exercised by tests, providing insight into the effectiveness of your testing efforts. In this blog, weโll focus on API projects, exploring the types of tests suited for code coverage, realistic goals (and tools to help achieve them), and the minimum coverage needed to reap the benefits of your tests.
Testing your codeโdown to individual linesโis a critical practice in modern software development. It helps ensure applications remain reliable, stable, and maintainable, all while balancing practical constraints.




