I’m happy to share with you some news about the new release v0.3.0 of the Tideland Go Actor. This new version comes with a handful of exciting updates and improvements that make it easier and more efficient to work with Actors in Go. One important change in this release is the addition of the Repeat() method. This new feature allows developers to run background Actions in intervals, making it easier to handle long-running tasks in the background.
So far I had not missed generics in Go. Much could be solved via interfaces or closures. And with the disgusting syntactic aberrations of other languages when dealing with generics, I was rather afraid that the elegant simplicity of Go could be lost. As of Go 1.18, Google’s language now handles generics after much discussion.
I have always appreciated the implicit simplicity with which, for example, types in a statement like
The package Tideland Go Wait reached v0.2.0 due to a new added feature. It now contains the type Throttle to provide a limited processing of events per second, e.g. for web handlers. The events are simple closures or functions with a given signature. The limit and a burst size for the maximum number of events during one call are defined at throttle creation.
Example A throttled wrapper of a http.Handler.
There are times when you find a bug in your software. Today it had been in my testing library TIdeland Go Audit. Here the assertion ErrorContains() reacted with a panic in case of a nil error. So I fixed it like I already had done it earlier in ErrorMatch(). Interestingly I found in testing that I didn’t verified it there. So this test is now changed too.
Additionally during tests for a different library with high concurrency I, or better go test during the tests, discovered a race condition.