Sharing Our Passion for Technology
& continuous learning
  • industrial worker looking at schematic plans on his phone in a factory setting

    Case Study: Delivering Mobile Solutions at Your Fingertips

    DEFINING THE PROBLEM Our global industrial automation manufacturer needed a platform that allowed sales representatives and third-party technicians to view customer product details from their mobile devices. Sales reps/technicians were used to having to travel back to their office in order to access availability, pricing, and item history. As you...
  • shipping containers on a boat at night

    Dockerize Your Dev Environment: Part 2

    The previous post highlighted the struggle in having to maintain a development environment in our cross-platform, multi-language, cloud-native, microservices-oriented world. The operations side of many organizations have leaned on Docker to provide some sanity. Let’s look at how we can use containers on the dev side as well. The VS...
  • man jumping over shipping container

    Dockerize Your Dev Environment: Part 1

    The subject of this blog post is about Docker. Except, it’s not really about Docker. It’s about changing our mentality around our development environments. Specifically, about the way we haven’t yet broken free of our old patterns in setting up our development machine. To borrow the adage, this post is...
  • Woman writing on notebook and looking at charts on cell phone

    Glue ETL Development with Dev Endpoint Notebooks

    In this post I will go through a simple tutorial for using Dev Endpoints and notebooks for Glue ETL development. This tutorial will be intentionally basic, so that you can get an understanding of how dev endpoint notebooks can be useful for your ETL development without getting bogged down in...
  • testing icon

    A Test-driven Intro to Java Reactor

    A year ago I joined a team which made heavy use of the Java Reactor library for their pub-sub system. Reactor is a library for high-performance, parallel programming using a functional API. The code tends to look like this: Flux.from(p) .ofType(SubscribeToShardEvent.class) .flatMapIterable(SubscribeToShardEvent::records) .limitRate(1000) .buffer(25) .subscribe(e -> System.out.println("Record batch = "...
  • Two people discussing tests in front of a computer

    How My Team Uses Cypress for End-to-End Testing

    This blog is part of a series on end-to-end (E2E) testing in Cypress. In this post, we will take a look at how our team uses Cypress to benefit our workflow and increase the safety in which we deploy new features. This information is available in this presentation I give...
  • A person working on some sweet tests on their computer

    Cypress for End-to-End Testing: An Overview of the Platform and Its Uses

    This blog is part of a series on end-to-end (E2E) testing in Cypress. In this post, we will take a look at what Cypress is, why our team chose it, and things you may want to consider when evaluating it for your own projects. Future posts will expound upon how...
  • Colored pipes in an industrial setting

    Event Sourcing

    Software development teams are responsible for building a wide variety of software to solve a wide variety of problems. Many of these software development projects implement business flows that have defined activities completed by specific parties. An architecture that implements these flows by mixing validation logic with record updates becomes...
  • Man on computer with headset

    Tips and Tech to Thrive While Pairing Remotely

    Throughout my eight years at Source Allies, I have had the opportunity to work on several teams at our various projects. Most of the time our teams work in open collaborative spaces, where pair programming is done side-by-side. However, there are occasions where I have paired with developers remotely. As...
  • Close-up of hands typing on a laptop

    Breathing New Life into an Old Laptop with RancherOS

    While taking stock of my electronics graveyard I came across an old laptop. I had been looking for a reason to play with Docker containers and this laptop provided me an opportunity to do so. Since it was only going to be running Docker containers, I wanted a no-frills setup....