The blog has moved to maragu.dev
The blog has moved to maragu.dev.
The blog has moved to maragu.dev.
Introduction: Welcome to the final episode of our Intro to Generative AI series! In this episode, Daniel Whitenack takes the concepts you’ve been learning and shows you how to apply advanced techniques like message chaining and factuality scoring to make your AI-driven syst...
Recently I’ve been motivated to learn more about functional programming and the name OCaml came up quite a few times. I have seen some praise about it from the people I follow on social media and decided to give it a try. I finally finished a small project in OCaml and woul...
#523 — September 17, 2024 Unsub | Web Version Go Weekly Building LLM-Powered Applications in Go — The post describes some different approaches to creating a Retrieval-Augmented Generation (RAG) server with different toolsets:...
A description of generic alias types, a planned feature for Go 1.24
Recently I've had to compile Go to WebAssembly to run in the browser in a couple of small projects (#1, #2), and in general spent some time looking at WebAssembly. I find WebAssembly to be an exciting technology, both for the web and for other uses (e.g. with WASI …
In the beginning at Solsten our engineering team focused on building products, tools, services but we never had the time to measure what was going on in our platform (it was an early-stage startup). Even though we had a feeling of what was right or not thanks to our customers, th...
Introduction: In Episode 1 of the Fearless Concurrency in Rust series, Herbert Wolverson introduces the foundational concept of threads in programming, tracing their origins and evolution while demonstrating how Rust handles concurrency in a safer, more manageable way. He explore...
LLM-powered applications in Go using Gemini, langchaingo and Genkit