Christoph Berger
banner
christophberger.com
Christoph Berger
@christophberger.com
From Code to Clarity: Making Complex Technology Accessible
Reposted by Christoph Berger
Happy birthday to the only two women with elements named after them on the periodic table: #MarieCurie & #LiseMeitner.

As I do every year, I will once again repeat my proposal that November 7 should be International #WomenInSTEM Day!

#histSTM #chemistry #physics
#OnThisDay #OTD #PeriodicTable👩‍🔬🗃️📜
November 7, 2025 at 2:29 PM
What if you could write shell scripts like a short story (and use Go code in that process)?

I tested integrating Go into Atuin Runbooks; find the results in the latest Applied Go Weekly Newsletter.

newsletter.appliedgo.net/archive/2025...

#golang
Literate Scripting • The Applied Go Weekly Newsletter 2025-10-12
Literate Scripting Hi , A compiled language usually isn't designed to be a good scripting language. Go isn't either, but projects like Mage, Yaegi, or...
newsletter.appliedgo.net
October 14, 2025 at 2:14 PM
A plane's flight recorder is of little use for determining why the plane has been late. Go's flight recorder, on the other hand, is perfectly suited for that kind of investigation!

newsletter.appliedgo.net/archive/2025...

#golang
Enjoy The Flight! • The Applied Go Weekly Newsletter 2025-09-28
Enjoy The Flight! Hi , Q4 has begun, and the Applied Go Weekly Newsletter isn't quite dead yet. Au contraire, mon ami, I am busy optimizing my workflow to...
newsletter.appliedgo.net
October 1, 2025 at 3:51 PM
“Any intelligent fool can make things bigger, more complex, and more violent. It takes a touch of genius — and a lot of courage to move in the opposite direction.”
― E.F. Schumacher

newsletter.appliedgo.net/archive/2025...

#golang
Never Get Bored With The Basics • The Applied Go Weekly Newsletter 2025-09-14
Never Get Bored With The Basics Hi , Are you ready for a journey? I am planning to do a Spotlight series about building a basic SaaS platform for...
newsletter.appliedgo.net
September 16, 2025 at 2:45 PM
"We're now in a liminal moment, where our tools have outpaced our frameworks for understanding them."

– Gian Segato

giansegato.com/essays/proba....
August 24, 2025 at 2:15 PM
git commit -m...

Uh, what commit message shall I write... what could I... perhaps... ummm, what did I even change...

AI, do you have an idea?

newsletter.appliedgo.net/archive/2025...

#golang
Commit Messages That Write Themselves
Commit Messages That Write Themselves Hi , The final 🌴 Summer Break 🌴 issue is in your inbox! With this issue, I'm concluding the AI series and looking...
newsletter.appliedgo.net
August 19, 2025 at 2:42 PM
The world:

- The thing you are trying to do
- Things causing problems now
- Things that will be causing problems soon
- Things that are not causing problems

–David Adrian
Tech Debt? I don't believe it exists.
Rodents of Unusual Size? I don't believe they exist. There’s endless discourse around tech debt. Kellan has some really good categorizations of different types, Will Larson has a great explainer of organization debt in his book, and I also like the idea of product debt. Throughout my career, I’ve been an engineer complaining about tech debt, a manager prioritizing (and deprioritizing) addressing tech debt, and a product manager, where I assume I primarily inspire the creation of new tech debt.
dadrian.io
August 15, 2025 at 2:02 PM
Let the coolest backend language and the hottest AI technologies team up for raving success!

newsletter.appliedgo.net/archive/2025...

#golang
Blue Gopher Meets Stochastic Parrot • The Applied Go Weekly Newsletter 2025-08-10
Blue Gopher Meets Stochastic Parrot Hi , Geez, the previous Spotlight was a bit long and code-heavy (for a Spotlight), wasn't it? Even though this newsletter...
newsletter.appliedgo.net
August 12, 2025 at 2:43 PM
Blah blah blah... Only chatting with an app is boring. Let's give them some toys to play with!

newsletter.appliedgo.net/archive/2025...

#golang
You're Lucky: Full Moon Tonight! • The Applied Go Weekly Newsletter 2025-08-03
You're Lucky: Full Moon Tonight! Hi , This is the second of four 🌴 "Summer Break" 🌴 issues with reduced content. As you may have guessed when you read the...
newsletter.appliedgo.net
August 5, 2025 at 9:05 PM
Charm_ released Crush, an open-source, multi-model Claude Code alternative.

It's the first AI coding tool I know that comes with an honest warning message.

(Nerd sniping definition: xkcd.com/356/)

github.com/charmbracele...

#aicoding #golang
July 30, 2025 at 9:17 PM
Algorithms are precise, LLMs are wobbly, flaky, hallucinating machines. Would you want to have your code call an LLM and process its replies? Sure you would.

newsletter.appliedgo.net/archive/2025...

#golang
Let's Ask An LLM • The Applied Go Weekly Newsletter 2025-07-27
Let's ask an LLM Hi , This newsletter is in 🌴 Summer Break Mode 🌴 until August 24th, which means reduced content, and I decided to take the opportunity to...
newsletter.appliedgo.net
July 29, 2025 at 5:05 PM
Reposted by Christoph Berger
You might be over-engineering your workflow orchestration.

I just shipped a simple Go library that gives you:
- Conditional branching
- Parallel execution
- Retry management
- State management
- Embedded scripting
- Snapshotting interfaces

🚀 github.com/deepnoodle-a...

#golang
GitHub - deepnoodle-ai/workflow: An easy-to-use workflow automation library for Go. Supports conditional branching, parallel execution, embedded scripting, and execution checkpointing. Think of it lik...
An easy-to-use workflow automation library for Go. Supports conditional branching, parallel execution, embedded scripting, and execution checkpointing. Think of it like a lightweight hybrid of Temp...
github.com
July 28, 2025 at 6:43 PM
Go vs JSON: The cards are being reshuffled.

The latest Applied Go Weekly Newsletter is here!

newsletter.appliedgo.net/archive/2025...

#golang
New And Improved Formula! • The Applied Go Weekly Newsletter 2025-07-20
New And Improved Formula! Hi , In this corner: JSON, the champion of sloppy data constructs. In the opposite corner: Go, the guardian of rigid data...
newsletter.appliedgo.net
July 22, 2025 at 2:18 PM
Browsers allow any tab to use the session context of other tabs. Servers have to take measures to protect against the resulting cross-site request forgery (with the help of browsers, to be fair).

Go 1.25 makes CSRF protection considerably easier.

appliedgo.net/spotlight/cs...

#golang
Don't Mess With My Site! (New in Go 1.25: CrossOriginProtection)
Fighting cross-site request forgery (CSRF) becomes easier in Go 1.25, thanks to the new cross origin protection feature.
appliedgo.net
July 18, 2025 at 2:06 PM
Take notes, but not too many.

(Go 1.25 gets a flight recorder.)

appliedgo.net/spotlight/go...

#golang
Spotlights
Short tips, essays, and news about working with Go and software development. Most spotlights originate from my [Go newsletter](https://newsletter.appliedgo.net/archive).
appliedgo.net
July 16, 2025 at 2:35 PM
Infiltrating a web site through cross-site request forgery (CSRF) becomes harder with Go 1.25.

Wait, what?

No, protecting a web site against CSRF becomes easier with Go 1.25!

newsletter.appliedgo.net/archive/2025...

#golang
Don't Mess With My Site! • The Applied Go Weekly Newsletter 2025-07-13
Don’t Mess With My Site! Hi , There are myriad ways of attacking a web app, and cross-site request forgery is a particularly perfidious way of hijacking an...
newsletter.appliedgo.net
July 15, 2025 at 5:10 PM
WaitGroups in Go will become more convenient and beginner-friendly in Go 1.25, thanks to a small but very effective addition:

A Go() method.

No more Add()s.
No more Done()s.
Just one Go() and one Wait().

Nice!

appliedgo.net/spotlight/go...

#golang
New in Go 1.25: WaitGroup.Go()
WaitGroups are a means of synchronizing goroutines; yet the Add()/defer Done() idiom feels clumsy and is error-prone. A new method, Go(), puts an end to goroutine counting.
appliedgo.net
July 10, 2025 at 2:21 PM
How to leave no traces might be a topic for a spy movie, but software should rather be concerned about how to leave traces—specifically, how to leave the right amount of traces at the right point in time.

Like a flight recorder.

The latest Applied Go Weekly Newsletter is here!
(Don't) Leave No Trace • The Applied Go Weekly Newsletter 2025-07-06
(Don't) Leave No Trace Hi , Logs and traces are nice and useful ... until they start filling your disks. It would be much better to capture only the...
newsletter.appliedgo.net
July 8, 2025 at 2:41 PM
A surefire way to get into trouble: Attempt to use more resources than you actually have.

(Luckily, Go 1.25 becomes much smarter about artificial limits imposed by container runtimes.)

The latest Applied Go Weekly Newsletter is here!

newsletter.appliedgo.net/archive/2025...

#golang
Know Your (CPU) Limits! • The Applied Go Weekly Newsletter 2025-06-29
Know Your (CPU) Limits! Hi , Living beyond one's means is rarely a smart move. But it's easy to get their if you aren't aware of your limits. Go apps have...
newsletter.appliedgo.net
July 2, 2025 at 6:23 PM