Concurrency Patterns in Go: A *Short* Deep Dive Series

Introduction

Concurrency is one of those topics that can make even experienced developers break out in a cold sweat. It’s like trying to juggle flaming chainsaws while riding a unicycle on a tightrope. But here’s the thing – in today’s world of multi-core processors, distributed systems, and high-performance applications, understanding concurrency isn’t just a nice-to-have skill; it’s absolutely essential.

Go, with its goroutines and channels, makes concurrency more approachable than most languages. But just because it’s easier doesn’t mean it’s easy. You still need to understand the patterns, the pitfalls, and the best practices to build robust, scalable systems.

That’s what this series is about. We’re going to dive deep into the concurrency patterns that every Go developer should know. Not just the theory – we’ll look at real, working code examples that you can run, modify, and learn from. This blog post is going to also act as the index to the posts, with today starting with the Pipeline Pattern.

What You’ll Learn

This series covers 12 essential concurrency patterns, each with practical examples and detailed explanations. Here’s what’s coming:

Continue reading “Concurrency Patterns in Go: A *Short* Deep Dive Series”

Implementing Datadog in iOS: A SwiftUI vs UIKit Perspective

I’ve been diving deep into implementing Datadog in iOS applications and wanted to share my experience with both SwiftUI and UIKit approaches and the related elements of the work. Let’s break this down into what works, what doesn’t, and why you might choose various options when using Datadog (or deciding not to use Datadog).

The Setup

First things first, you’ll need these Datadog SDK packages:

dependencies: [
    .package(url: "https://github.com/DataDog/dd-sdk-ios", from: "2.27.0")
]
Continue reading “Implementing Datadog in iOS: A SwiftUI vs UIKit Perspective”

Stop Wasting Time on Teams: 3 Additional Hacks for Fixes You Need

Here’s an unvarnished truth: if you’re still clicking around Teams like it’s 2010, you’re wasting time. Stop complaining and learn these three hacks your future self will thank you.

NOTE: No, I’m not becoming a Microsoft Teams blogger, it’s just these along with a few other prospective features can help when stuck dealing with Microsoft Teams. Since I have to be tortured with such an app, I’m just offering this meager help via blog entries. Otherwise, you can rest assured I’ll be back to regularly scheduled software development and related technical topics very soon!

1 >> Stop Clicking >> Use Slash Commands & Keyboard Shortcuts

  • What to do: Hit Ctrl + E (Win) or ⌘ + E (Mac) to jump to the command bar (yeah, there’s a command line, also see docs), then type / and a command:
    • /dnd to set Do Not Disturb
    • /call [name] to ring someone immediately
    • /files to see your recent docs
  • Plus: Memorize the basics:
    • Ctrl + Shift + M to mute/unmute
    • Ctrl + Shift + O to toggle your camera
    • Ctrl + N to start a new chat
  • Why it matters: Teams is famously sluggish, stop letting the UI slow you down. If you can’t spare ten minutes to learn these, fine then keep clicking.
Continue reading “Stop Wasting Time on Teams: 3 Additional Hacks for Fixes You Need”

When the AI Ghost Vanishes

You’re cruising along, vibe-coding your way through a new feature, and—poof—the AI assistant goes dark. Maybe it hallucinated a library that doesn’t exist. Maybe it repeated the same wrong snippet ad nauseam. Welcome to the moment of reckoning: your blind faith in “make me the code” meets cold, hard compiler errors.

Spinning the wheel of madness: You tweak a comment here. You change “public” to “private” there. You pray to the Codegen Deity. You hope it understands your increasingly desperate prompts.

Lose an hour or a day: You still haven’t fixed the NullReferenceException, and your caffeine cold-brew is now room temperature.

Blame the tool that’ll fix it!: It’s obviously a bug in the AI, right? Right? RIGHT? Your sanity is going to ebb, beware the blaming of tools!

This cycle feels familiar because it is, the tooling is great at scaffolding code, less so at understanding your context. When it bails on you, you’ll need a plan B.

Continue reading “When the AI Ghost Vanishes”

The Terror of Microsoft Teams & Workarounds

If you’ve used Microsoft Teams, you’ve had issues and likely have spent hours working through things that you shouldn’t have had to deal with. I have endeavored to help others work their way through mitigating Teams calamities. I’ve put together this short list of my own workarounds.

Here are three things Teams consistently screws up—and what you can do if you don’t want to keep banging your head against the wall:

1) Messages Lag & Drop in the Web App

What’s happening: The browser version of Teams is a resource-heavy single-page app. All that JavaScript, caching and real-time syncing means your chat can stall, duplicate, or even fail to show new messages for minutes.

Continue reading “The Terror of Microsoft Teams & Workarounds”