Ardan Labs
Featured Post

RAG in Go: A Vulnerability Research Tool

Published April 21st, 2026 12 min read

Introduction In the previous post, you saw how you can use tools to add information to an LLM query. In this post, we’ll see another method of adding information to an LLM called RAG, or …

Subscribe to our Newsletter

By signing up you get access to our FREE Training Bundle, Technical Tuesday releases, Special Offers, & Notifications on our latest content.

All Blog Posts

Published

Apr 18, 2019

-

8 min read

Concurrency Trap #2: Incomplete Work

go Training golang

One of the traps of concurrency is “incomplete work” which occurs when a program terminates before outstanding Goroutines complete. Depending on the program, this may be a serious problem. This post demonstrates the trap and discusses possible solutions.

go Training golang testing integration tests

Integration tests give insights to the end-to-end operation of web services. In part 1 of this 2 part series over integration testing in Go we explore how to run integration tests in restrictive environments, such as Jenkins.

Published

Dec 19, 2018

-

6 min read

Goroutine Leaks - The Abandoned Receivers

go Training golang

Goroutine Leaks are a common cause of memory leaks in Go programs. In my previous post, I presented an introduction to Goroutine leaks and provided one example of a common mistake that many Go developers make. Continuing that work, this post presents another scenario on how Goroutines could be leaked.

Published

Nov 12, 2018

-

8 min read

Goroutine Leaks - The Forgotten Sender

go Training golang

Goroutine leaks are a common source of memory leaks in concurrent programs. This post defines Goroutine leaks and provides one example of a leak that is easy to miss in production code.

Published

Aug 14, 2018

-

3 min read

Creating the Art for Gopher Kart

Go Gopher GopherCon GopherKart

In the months leading up to GopherCon, my wife Jamilet and I had come up with the idea of creating a “small” browser-based game for the convention using the racing …

Published

Jun 27, 2018

-

6 min read

Ultimate Go Service

go Training golang

Introduction I teach a class called Ultimate Go. The class is three days long and teaches you the history, mechanics and semantics of the Go programming language. The …

Published

Apr 28, 2018

-

5 min read

Bounds Check Elimination In Go

go Training golang

Introduction One day I was talking to Damian Gryski in Slack about some performance improvements he made to his go-metro package. When I first looked at the changes I was …

Published

Mar 23, 2018

-

12 min read

Interface Values Are Valueless

go Training golang

Introduction I’ve been seeing a lot of question about interfaces lately on Slack. Most of the time the answers are technical and focus on implementation details. …

Published

Feb 20, 2018

-

17 min read

Focus On Being Precise

go Training golang

Introduction I was guided for many years to write functions that are generalized and to create layers upon layers of abstraction so things don’t break as business …