Systems | Development | Analytics | API | Testing

Latest Posts

Advanced Dependency Injection in Elixir with Rewire

In our last post, we explored how Dependency Injection (DI) is a powerful design pattern that can improve our ExUnit tests. In this article, we will dive deeper into the topic of DI in Elixir, focusing on the Rewire library for Elixir projects. We will cover Rewire's core concepts, how to get started with it, and practical examples. We will also see how to use Rewire alongside Mox. Let's get started!

Achieving Zero Trust on VMs with Universal Mesh

Two of the main tenets of Zero Trust are encryption between services and managing the connections each service is allowed to use. Achieving this generally falls to running a service mesh in a Kubernetes cluster. Refactoring applications to run properly in Kubernetes takes time and considerable investment. For many organizations, running their applications on virtual machines will be a necessity for years to come. However, this doesn't mean security should fall behind.

How to Use Flink SQL, Streamlit, and Kafka: Part 2

In part one of this series, we walked through how to use Streamlit, Apache Kafka, and Apache Flink to create a live data-driven user interface for a market data application to select a stock (e.g., SPY) and discussed the structure of the app at a high level. First, data with information on stock bid prices is moved via an Alpaca websocket, then, it’s produced to a Kafka topic in Confluent Cloud where it is also processed with Flink SQL.

Observability in Snowflake: A New Era with Snowflake Trail

Discovering and surfacing telemetry traditionally can be a tedious and challenging process, especially when it comes to pinpointing specific issues for debugging. However, as applications and pipelines grow in complexity, understanding what’s happening beneath the surface becomes increasingly crucial. A lack of visibility hinders the development and maintenance of high-quality applications and pipelines, ultimately impacting customer experience.

API Design-First: Enhance Your Development Process

Why should you prioritize an API design-first approach in your development strategy? This essential methodology promotes early and thorough API specification, fostering a blueprint that guides the entire development process. You can cut straight to improved efficiency, consistency, and quality in your API projects by embracing this approach from the start.

Branching Strategies Guide: Code Branching Strategy Best Practices

Having a dedicated branching strategy is key for teams wanting to speed up their workflows, meet tasks on a deadline, and reduce code errors. But with all the different branching strategies – including release branching, trunk-based branching, feature branching, and more – it can be difficult to determine which one best fits your team’s needs.

Best practices on How to write effective Test Cases in Software Testing

In the dynamic world of software development, quality is paramount. Every line of code, every feature, every functionality needs to be meticulously evaluated to ensure a flawless user experience. This is where test cases come in – the unsung heroes of the development process.

Preventing Medical Device Recalls: The Vital Role of SIL, HIL, and Hybrid Loop Testing

The medical device industry has recently seen a troubling increase in recalls, often due to software failures or software-to-hardware miscommunication. The number of medical devices with software is also increasing, considering the rise in IoMT (Internet of Medical Things). These issues highlight the urgent need for thorough and robust testing methodologies to ensure the reliability and safety of medical devices.

Accelerate Development and Productivity with DevOps in Snowflake

Today’s data-driven world requires an agile approach. Modern data teams are constantly under pressure to deliver innovative solutions faster than ever before. Fragmented tooling across data engineering, application development and AI/ML development creates a significant bottleneck, hindering the speed of value delivery required to stay competitive. Disparate tools create a complex landscape for developers and data teams, hindering efficient pipeline development and deployment.