Building a Local Flink Environment with Docker and Submitting Your First Job

Apache Flink is a powerful tool for processing data streams, but setting it up locally can sometimes feel like an uphill task. As someone who appreciates a smooth development workflow, I’ve found that using Docker simplifies the process immensely. In this post, I’ll walk you through setting up Flink locally using Docker Compose, troubleshooting potential

Scanning BLE Advertisements with TypeScript and @abandonware/noble

Bluetooth Low Energy (BLE) has revolutionized how devices communicate wirelessly, enabling lightweight, low-power connectivity. If you’re diving into BLE with Node.js, understanding how to scan BLE advertisements is essential. I recently tackled this challenge using the @abandonware/noble library and TypeScript, and I want to share the process, step by step. What is BLE (Bluetooth Low

Keeping Your .NET App Configuration Fresh with Azure App Configuration

six clear glass mason jars filled with juice on black table

Managing application settings is critical for modern applications, especially when your app needs to adapt dynamically to changes without redeployment. In this blog post, I’ll share how you can use Azure App Configuration in a .NET application to keep your configuration fresh, reliable, and responsive to change. When working with Azure App Configuration, you can

Formatting Scala Code in VS Code

When I first started working with Scala in VS Code, one of the most frustrating challenges was getting my code to format consistently. Scala’s syntax is expressive and concise, but without a proper formatter, it can easily become messy and difficult to read. After some trial and error, I discovered the right way to set

Troubleshooting the “DefaultAzureCredential Failed to Retrieve a Token” Error on macOS for .NET Apps

When I first set up a .NET application on my Mac and encountered the error DefaultAzureCredential failed to retrieve a token from the included credentials, it was one of those moments where I thought I might be missing a configuration or overlooking a setting. However, this error is actually fairly common among developers when integrating