こちらはLayerX AI Agentブログリレー36日目の記事です。 LayerX バクラク事業部で AI/MLOpsエンジニアをしている中村(@po3rin)です。今回はAI Agentのビジネス価値を計るバックテスト基盤を構築した話と、そこから学んだAI Agent開発のプラクティスを紹介します。 目次 目次 AI Agent機能の評価の重要性 AI Agent機能のバックテスト バックテスト基盤開発の難しさ バックテスト基盤を...| LayerX エンジニアブログ
In 2024 I did some work on a project at Google (the Go version of Genkit) that used JSON schemas.| Airs - Ian Lance Taylor
Introducing Source Spotter, a Go Checksum Database auditor and Go toolchain reproducer| www.agwa.name
Go 1.25 includes a new experimental garbage collector, Green Tea.| go.dev
Welcome to the Go podcast with host Dominic St-Pierre! In this episode, Dominic and I discuss the most common testing mistakes that Gophers make and explore my newly launched book, “50 Go Testing Mistakes.”| Jakub Jarosz
False sharing killed our performance. Data-oriented design saved it. Learn cache lines and NUMA.| skoredin.pro
Some of my favorite tidbits from the past year of working with Go.| harrisoncramer.me
序文 土日のGo Conference 2025 , 月曜の golang.tokyo , 火曜の Go 1.25 リリースパーティ と 連日Goイベントに参加してようやくひと段落ついたのでテックブログを書いてます。 裏番組では Kaigi on Rails 2025 やってたり PyCon JP 2025 やってたり全部参加するなら体が3つくらい欲しいWeekでしたね。 運営の皆さん、参加者の皆さん、そしてテック系企業の広報の皆さんはお疲れ様でした。 ...| ANDPAD Tech Blog
本文永久链接 – https://tonybai.com/2025/10/19/flask-creator-choose-go 大家好,我是Tony Bai。 Armin Ronacher,这个名字在 Python 世界如雷贯耳。作为广受欢迎的 Web 框架 Flask 的创造者、Sentry 的首批工程师之一,他被公认为 Python 社区最具影响力的开发者之一。然而,最近在一场深度访谈中,他透露了一个足以让许多人感到惊讶的决定: 在他的新 AI 创业公司中,Go 成为了核心的后端语言。 ...| Tony Bai
本文永久链接 - https://tonybai.com/2025/10/13/string-and-rune-in-go 大家好,我是Tony Bai。 “为什么我的字符又乱码了?!” 这是一个在软件开发历史上,曾让无数程序员彻夜难眠的哀嚎。处理文本,是编| tonybai.com
こんにちは!LayerX の バクラク事業部でSWEをしております、 2025年4月入社の新卒エンジニア shoyan です! 今回は先日 layerx.go #2 で発表した、Protocol Buffers の Opaque API のメリットと安全な移行方法 について紹介します。 speakerdeck.com Opaque API とは? まずは、Protocol Buffers (Protobuf) について簡単に説明します。Protobuf は、Google が開発したデータシリアライゼーション形式です。...| LayerX エンジニアブログ
こんにちは。バクラク申請・経費精算チーム エンジニアの ktr です。 LayerX は9月27日・28日に開催された Go Conference 2025 にシルバースポンサーとして協賛し、2名のメンバーが LT で登壇しました! この記事では当日の様子についてお伝えしたいと思います。 Go Conference について Go Conference はプログラミング言語 Go に関するセッションやワークショップなどが行われる、Go ...| LayerX エンジニアブログ
How CUE schemas eliminate type assertion boilerplate when handling multiple IoT sensor types in a home automation system| Aran Wilkinson
A family road trip to Niagara Falls, Canada, is one […] The post Niagara Falls with Kids: A Family Guide to the Canadian Side appeared first on Indy with Kids.| Indy with Kids
For more than a decade, my family has packed up […] The post Wishlist Weekend at the Chicago Toy & Game Fair (PROMO CODE) appeared first on Indy with Kids.| Indy with Kids
Not my proudest work, but I needed a quick shell script. I’ve been diving deeper into Matrix bridges lately — those connectors that let Matrix users communicate with other platforms like WhatsApp, Telegram, Discord, Slack, and more. In doing so, I’ve learned a lot about how these bridges are built, deployed, and maintained. The twist? I’m running everything on OpenBSD. Running -current on OpenBSD is great, but it does mean I often need to compile packages faster than the official rele...| geekyschmidt.com
Rewriting a Homebrew script from Perl to Go showed how Go’s design supports platform engineering—simpler distribution, safer types, production‑ready tools.| The Phoenix Trap
Learn how Centrifugo's new publication filtering feature allows clients to subscribe with server-side tag filters, significantly reducing bandwidth usage and client-side processing overhead through efficient zero-allocation filtering.| centrifugal.dev
Go 1.25 introduced a new http.CrossOriginProtection middleware to the standard library — and it got me wondering:| www.alexedwards.net
Welcome to the Go podcast with host Dominic St-Pierre! In this episode, Dominic and I chat about using Go in cybersecurity, DevSecOps, and testing. Whether you’re an experienced developer or just curious about Go, there’s something for everyone. Let’s dive in!| Jakub Jarosz
84 million requests a second means even rare bugs appear often. We'll reveal how we discovered a race condition in the Go arm64 compiler and got it fixed.| The Cloudflare Blog
Letting Go Quotes: Let these quotes about letting go of the past assist you in moving on with your life, since clinging to the past will only serve to make your future more difficult. It is not always easy to let go of things that were very important to us, but if we want to...| TailPic
September 27, 2025 at 05:54| eli.thegreenplace.net
rqlite is a lightweight, open-source distributed relational database implemented in Go, and which uses SQLite as its storage engine. It has reached a new milestone in the open-source community by surpassing 17,000 stars on GitHub. Thanks to everyone for the ongoing support.| Vallified
The speed and efficiency of the Go programming language make it popular for backend development. Combine Go with the Gin framework —which offers a fast and minimalistic approach to building web applications—and developers can easily create high-performance APIs and web services. Whether you’re working on a personal project or building a production-ready application, Go and Gin make for an attractive stack perfectly suited for lightweight, scalable web development. Creating a Go/Gin appl...| Heroku
前書き 黒魔術のざっくり概要 黒魔術をどうやって使うか 黒魔術の副作用 黒魔術に対する防衛術 ~Defence Against the Go's dark Arts~ インターフェース適合アサーション 標準的な構文 動作メカニズム 主な用途 実装例 配列長アサーション 標準的な構文 動作メカニズム 主な用途 実装例 定数演算と型定義によるアサーション 標準的な構文 動作メカニズム 主な用途 実装例 マ...| ANDPAD Tech Blog
An interesting little change recently landed in the development| utcc.utoronto.ca
Go 1.25 introduces a new tool in the diagnostic toolbox, flight recording.| go.dev
Security, System & Electrical Automation| Jakub Jarosz
Security, Systems, Network & Electrical Automation| Jakub Jarosz
The Day the Linter Broke My Code| Fillmore Labs Blog
XTX Markets is a leading algorithmic trading firm which uses state-of-the-art machine learning technology to produce price forecasts for over 50,000 financial instruments across equities, fixed income, currencies, commodities and crypto. It uses those forecasts to trade on exchanges and alternative trading venues, and to offer differentiated liquidity directly to clients worldwide. The firm trades over $250bn a day across 35 countries and has over 250 employees based in London, Singapore, New...| www.xtxmarkets.com
This is a quick note on how to change the log output level in Terraform. Introduction Outputting DEBUG-Level Logs in Terraform Setting Log Levels Separately for Terraform and Providers Appendix: Reading Terraform's Source Code Conclusion References Introduction When troubleshooting, logs are an impo…| BioErrorLog Tech Blog (en)
A quick overview of the Functional Options Pattern in Go. Introduction Functional Options Pattern in Go Conclusion References Introduction While using a Go-based library, I came across the Functional Options Pattern. Here's a brief note on what the Functional Options Pattern is in Go. Note: This art…| BioErrorLog Tech Blog (en)
This is a memo on how to implement an MCP server using Golang. Introduction Prerequisite: Is there an official Go MCP SDK? Implementing an MCP Server in Go The Target MCP Server Implementing the MCP server in Go Implementing the Tool Implementing the Resource Implementing the Prompt Testing the Serv…| BioErrorLog Tech Blog (en)
Learn the basics of the Go-based game engine Ebitengine by implementing a Boids Flocking simulation. Introduction What is Ebitengine? What I built: Boids Flocking Implementing Boids Flocking Minimum setup: Hello, World! Directory structure Implementing Game Logic Implementing the Boids Flocking Logi…| BioErrorLog Tech Blog (en)
A follow up to what is the go proxy even doing? now with more answers. Russ Cox (rsc) and I traded a few emails trying to work out what was going on. They’re going to make a few changes, and I also learned a few things it would have been helpful to know. | flak.tedunangst.com
An often overlooked part of the Rust license is that within a year of usage, users are required to make a comparison to their (previously) favorite language. While I am a bit late, I am ready to pay my dues. Given the overabundance of Rust vs X content, I'll try to cover only areas that haven't been discussed to death. Lifetimes and Borrows Did I say I wouldn't cover areas everyone has already talked about? I lied!| howardjohn's blog
At Grab, our decade-old Go monorepo had become a 214GB monster with 13 million commits, causing 4-minute replication delays and crippling developer productivity. Through custom migration tooling and strategic history pruning, we achieved a 99.9% reduction in commits while preserving all critical functionality. The result? 36% faster clones, eliminated single points of failure, and a 99.4% improvement in replication performance—transforming our biggest infrastructure bottleneck into a develo...| Grab Tech
After years of comfortable cruising through the Ruby nebula, I discovered something that changed everything. This is the story of why a die-hard Rubyist decided to learn Go—and what I found on the other side.| Seuros Blog
本文永久链接 - https://tonybai.com/2025/09/09/the-power-of-ten-in-go 大家好,我是Tony Bai。 在软件工程领域,有些智慧是永恒的。 2006 年,NASA/JPL(喷气推进实验室)的 Gerard J. Holzmann 公布了其团| tonybai.com
An introduction to Centrifuge – real-time messaging with Go| centrifugal.dev
Learn structured logging fundamentals in Go advanced patterns performance tradeoffs and how to avoid critical production pitfalls| www.dash0.com
Think you know GoLand? Discover ten secret superpowers that can save you time and help you move faster, write better code, and scale with confidence.| The JetBrains Blog
Go 1.25 introduces experimental support for encoding/json/jsontext and encoding/json/v2 packages.| go.dev
Errors in Go are like the STOP sign. They send a strong signal to avoid disasters. Just like the Go error yelling don’t trust returned value, don’t use it.| Jakub Jarosz
What Is the Principle Behind Go's GMP Scheduler| en.smallyu.net
In an attempt to use Go in the context of AWS, I wanted to see how Go would work with AWS Lambda. I decided to create a small project where the function would take an image and convert it to an ASCII art. Using Go for serverless functions Using Go for serverless functions makes a lot of sense. Speed of execution keeps the costs down and delivers the results quickly. When you are getting charged by the amount of resources you consume and the time it takes to complete your function, using a tec...| Evgenii Pendragon
本文永久链接 - https://tonybai.com/2025/08/28/go-primer-published 大家好,我是Tony Bai。 前不久,在知乎上看到一个关于 Go 社区的帖子,其中一条评论让我感慨良多: “GopherChina 都没了,国内还有几| tonybai.com
A discussion of testing asyncronous code and an exploration of the `testing/synctest` package. Based on the GopherCon Europe 2025 talk with the same title.| go.dev
August 26, 2025 at 20:38| eli.thegreenplace.net
"I have two news for you, bad and worse," said the mechanic. "The battery is dead and I won't get a new one until Monday. Forget about your annual inspection today," he continued. "But..." you started. "There is no but." he cut short. No setup, no testing. Just like in your Go program.| Jakub Jarosz
This morning a one line change had several of us tearing up the fabric of reality trying to understand why a failing test wasn’t failing, or, in fact, being run at all. Increasingly frantic efforts to upgrade/downgrade Go, run the tests on another machine, run the tests in CI, all served to only unnerve us […]| Dave Cheney
Today’s post comes from a recent Go pop quiz. Consider this benchmark fragment. A convenience wrapper around sort.Sort(sort.StringSlice(s)), sort.Strings sorts the input in place, so it isn’t expected to allocate (or at least that’s what 43% of the tweeps who responded thought). However it turns out that, at least in recent versions of Go, each […]| Dave Cheney
The Go compiler’s SSA backend contains a facility to produce HTML debugging output of the compilation phases. This post covers how to print the SSA output for function and methods. Let’s start with a sample program which contains a function, a value method, and a pointer method: Control of the SSA debugging output is via […]| Dave Cheney
Per the overlapping interfaces proposal, Go 1.14 now permits embedding of interfaces with overlapping method sets. This is a brief post explain what this change means: Let’s start with the definition of the three key interfaces from the io package; io.Reader, io.Writer, and io.Closer: Just as embedding a type inside a struct allows the embedded type’s […]| Dave Cheney
A few days ago Fatih posted this question on twitter. I’m going to attempt to give my answer, however to do that I need to apply some simplifications as my previous attempts to answer it involved a lot of phrases like a pointer to a pointer, and other unhelpful waffling. Hopefully my simplified answer can […]| Dave Cheney
Conventional wisdom dictates that the larger the number of types declared in a Go program, the larger the resulting binary. Intuitively this makes sense, after all, what’s the point in defining a bunch of types if you’re not going to write code that operates on them. However, part of the job of a linker is […]| Dave Cheney
Programmers have a tendency to be superstitious. Particularly, when a programmer hears that copies are expensive, they start to see them everywhere, especially when they learn that, in Go, every assignment is a copy. Consider this code; x is three orders of magnitude larger than y, is the assignment of x to a more expensive […]| Dave Cheney
This article was derived from my GopherCon Israel 2020 presentation. It’s also quite long. If you’d prefer a shorter version, head over to the-zen-of-go.netlify.com. A recording of the presentation is available on YouTube. How should I write good code? Something that I’ve been thinking about a lot recently, when reflecting on the body of my […]| Dave Cheney
This is a thought experiment in API design. It starts with the classic Go unit testing idiom: func TestOpenFile(t *testing.T) { f, err := os.Open("notfound") if err != nil { t.Fatal(err) } // ... } What’s the problem with this code? The assertion. if err != nil { ... } is repetitive and in the […]| Dave Cheney
APIs should be easy to use and hard to misuse. — Josh Bloch A good example of a simple looking, but hard to use correctly, API is one which takes two or more parameters of the same type. Let’s compare two function signatures: What’s the difference between these functions? Obviously one returns the maximum of […]| Dave Cheney
This is a post about performance. Most of the time when worrying about the performance of a piece of code the overwhelming advice should be (with apologies to Brendan Gregg) don’t worry about it, yet. However there is one area where I counsel developers to think about the performance implications of a design, and that is API design.| Dave Cheney
A few weeks ago Anton Zhiyanov published the blog post Expressive tests without testify/assert. It's a good and well thought-out post, and I recommend giving it a read if you haven't already. In the post, Anton makes the argument for not using packages like testify/assert for your test assertions, and instead creating your own minimal set of assertion helpers to use in your tests. In fact, so minimal that there are only 3 helpers he uses: AssertEqual, AssertErr and AssertTrue.| www.alexedwards.net
Goroutines Are Cheap, but Not Free| Fillmore Labs Blog
Understanding Go Error Types: Pointer vs. Value| Fillmore Labs Blog
New GOMAXPROCS defaults in Go 1.25 improve behavior in containers.| go.dev
I used to use the go log package, then I switched to the slog package, and it’s been a bumpy ride.| flak.tedunangst.com
The go module proxy caches requests from users, so everyone has a consistent and reliable experience regardless of upstream host. But what if the go proxy is contributing to the instability of the upstream host? There have been other complaints about the go proxy, that’s just the way it works, but I collected a few minutes of logs to examine that may be interesting.| flak.tedunangst.com
本文永久链接 - https://tonybai.com/2025/08/06/go-new-engine-of-old-languages 大家好,我是Tony Bai。 我先来描述一种编程语言生态,请你猜猜它是谁: 它诞生于 1995 年,旨在为当时一个叫“万维网”的新| tonybai.com
Vendoring. Generics. These are seen as big issues in the Go community but there’s another issue that’s rarely mentioned — application package layout. Every Go application I’ve ever worked on appears to have a different answer to the question, how should I organize my code? Some applications push| Go Beyond
Using eBPF to record your programs dying breathes| Discover the Performance Engineer in you. | Polar Signals
Why Go is a compelling choice for building CLI tooling| Kartones' Blog
Viewstamped replication(VR) is a replication technique that takes care of failures when one or more nodes end up crashing in a cluster. It works as a wrapper on top of a non-distributed system & allows the underlying business logic to be applied independently while the protocol itself takes care of replication. The protocol was introduced in the paper and then was revised with a set of optimizations under a new paper known as Viewstamped replication revisited. | Distributed Computing Musings
Have you ever wondered what happens with the variables you define in your Golang (Go) programs? Do they exist forever, or are they recycled at some point? Where do they live in memory and how are they managed?| blog.allegro.tech
本文永久链接 - https://tonybai.com/2025/07/25/go-vs-rust-vs-cpp-in-complexity) 大家好,我是Tony Bai。 最近,一张关于编程语言规范词数统计的图表,在技术圈广为流传。它以一种极其直观、甚至有些残酷的方| tonybai.com
rqlite is a lightweight, user-friendly, open-source, distributed relational database. It’s written in Go and uses SQLite as its storage engine. Recent versions—8.38.0 through 8.42.0—introduce several notable improvements, including Google Cloud Storage support, new HTTP APIs for cluster control, and improvements to Backup support. New Features and Enhancements Leader Stepdown API and CLI SupportVersions 8.40.0 through…| Vallified
Test coverage of delicate Go cryptographic assembly through a new mutation testing framework.| words.filippo.io
Operating systems expose a wall clock that can leap or slew with NTP and a monotonic clock that never runs backward. In Go, only time.Now (might) carries both readings, while values from time.Parse, time.Date, etc., are wall-clock-only—so naïve equality checks or time.Since on those can mislead when the system clock shifts.| VictoriaMetrics
Memory safety is all the rage these days. But what does the term even mean? That turns out to be harder to nail down than you may think. Typically, people use this term to refer to language...| www.ralfj.de
本文永久链接 - https://tonybai.com/2025/07/22/cedardb-choose-cpp-rather-than-rust 大家好,我是Tony Bai。 近年来,Rust 语言无疑是技术圈最炙手可热的明星。它以“内存安全”的核心承诺,向统治了系统编程领| tonybai.com
I wanted to learn more about blockchain and how it works for a while now. Like many others, I have heard plenty about the applications of blockchain from cryptocurrency to NFT to healthcare ledgers. In this post, we will explore a simple blockchain application which will showcase one the main features of blockchain - the chaining itself. This application builds a chain of blocks that contain some simple transaction data which comprise a simple ledger application.| Evgenii Pendragon
Go 1.24's Swiss Tables cut our map memory usage by up to 70% in high-traffic workloads. Here's how we profiled the savings and improved performance.| Datadog
Discover GORM's powerful features for seamless database management in Go with practical examples and advanced techniques.| DEV Community
Historically I have worked on many projects related to high-performance Protobuf, be that on the C++ runtime, on the Rust runtime, or on integrating UPB, the fastest Protobuf runtime, written by my colleague Josh Haberman. I generally don’t post directly about my current job, but my most recent toy-turned-product is something I’m very excited to write about: hyperpb.| mcyoung.xyz
Hello, there! 👋 Creating content I decided to start a blog to write on topics that are interesting to me or something that I would like to explore. The topics in this blog should cover tech, software development, cybersecurity, AI, business, recent news, and occasional book reviews. Hopefully the learnings that will be discovered in this blog will be useful to many more people. Building a brand Building a personal or a professional brand is important these days. Brand is associated with tr...| Evgenii Pendragon
Learn how to build your first Model Context Protocol (MCP) server by connecting a local LLM to the Google Maps API step by step.| workingsoftware.dev
tl:dr star is a python(ish) programming environment that lets you call Go library functions. click down to the repl if you’d just like to play around Starlark is Google’s custom subset of Python that it uses as a configuration language with Bazel. I started looking into it a little because it has some interesting characteristics. It’s not turing complete (no unbounded loops), it doesn’t have classes or higher level abstractions, it’s also deterministic and is somewhat safe to run un...| Max McDonnell
本文永久链接 - https://tonybai.com/2025/07/10/mcp-official-go-sdk 大家好,我是Tony Bai。 随着大型语言模型(LLM)的能力边界不断扩展,“function calling”或“tool use”已成为释放其潜力的关键。MCP(Model| tonybai.com
Most people don’t know that Go has special syntax for directives. Unfortunately, it’s not real syntax, it’s just a comment. For example, //go:noinline causes the next function declaration to never get inlined, which is useful for changing the inlining cost of functions that call it.| mcyoung.xyz
I’ve had a few conversations about async code recently (and not so recently) and seen some code that seems to make wrong assumptions about async, so I figured out it was time to have a serious chat about async, what it’s for, what it guarantees and what it doesn’t.| Il y a du thé renversé au bord de la table !
Adding type parameters to interface types is surprisingly powerful| go.dev
本文永久链接 - https://tonybai.com/2025/07/05/go-is-8020-language 大家好,我是Tony Bai。 如果你写了一段时间的 Go,你可能会有一种独特的感觉。一方面,它简洁、高效、可靠;另一方面,你又会时常觉得它“| tonybai.com
When I'm building a web application in Go, I prefer to use command-line flags to pass configuration settings to the application at runtime. But sometimes, the client I'm working with wants to use environment variables to store configuration settings, or the nature of the project means that storing settings in a TOML, YAML or JSON file is a better fit. And of course that's OK — it makes sense to be flexible and vary how configuration is managed based on the specific needs of a project and/or...| www.alexedwards.net
Go is the most hated programming language. Compared to other languages, it provides 80% of utility with 20% of complexity. The hate comes from people who want 81% of utility, or 85% or 97%.| blog.kowalczyk.info
Building a Lua interpreter in Go| www.zombiezen.com
One of the perks of being a Google Developer Expert is the incredible opportunities it provides.| eltonminetto.dev
An introduction to Wirego, a tool for Wireshark plugin development| Quarkslab's blog