Hi folks, it's holiday season in Europe and lots of you are on your holidays or thinking of a sandy beach and sangria.
You're hearing from me because you signed up on one of my blogs or bought a product from the store.
A lot has changed since I emailed you last. For one, I'm now a dad, to a little baby girl, we received so many lovely messages on Twitter
Back to you.
I'm sure it's almost time for your vacation, and I always used to take a bunch of books with me in a separate suitcase - with varying topics like business & personal development, software, and relaxation. I may need to switch over to eBooks now that little Charlotte is here with us.
Everyday Golang is the summary of my 6 year journey of learning Go and applying it at work, in open source and for fun.
It's the unofficial, de-facto language of the Cloud Native Computing Foundation (CNCF), so if you're looking to contribute to a Cloud Native project like Prometheus, Kubernetes, Docker, OpenFaaS or any of the Hashicorp products, having some patterns under your belt could come in really handy.
My Go in 2016, was anything but idiomatic
Now when I first learned Go, I ran a coding contest and asked for code submissions for a client that could find the HTTP servers behind a load balancer by looking at an X-Served-By header. My Go code was anything but idiomatic, it looked like a Node.js developer had written it. Because, well, I was one and had done.
Here's my version from back then: https://github.com/alexellis/xservedbyfinder/tree/master/go_v1
And the version my colleague and good friend Mark Roberts wrote: https://github.com/alexellis/xservedbyfinder/tree/master/go_v2
Both versions worked, but his used concurrency patterns and channels, which I hadn't fully grasped at the time. My eBook covers concurrency in detail, along with special patterns from the Go standard library like error groups, singleflight and synchronisation.
Continually updated, with feedback and new content
I recently brought on an associate software engineer at OpenFaaS Ltd, and as he's been getting to grips with all this, and mixing in Prometheus metrics, I decided to update the section I wrote on both topics. You'll get this update in a week or two, baby permitting.
What if you're already a concurrency wizard?
Premium editions, and discount codes
No worries, there's plenty more topics in the eBook including a dedicated chapter to writing OpenFaaS functions in the Premium Edition, with code samples that you can use to just get started.
If you want to upgrade to the Premium Edition of any of the eBooks, write to me at email@example.com and I'll send you instructions.
So here's the offer for your holidays:
- 15% off Everyday Go - upgrade to Premium Edition or gift it to a friend?
- 15% off Serverless For Everyone Else - automate tasks, write scheduled jobs, explore functions with Node.js
- 25% off Netbooting RPis with K3s workshop - dust off those RPi 3s and 4s
Offers are not available for the scholarship edition, see the notes.
Clackity clack - last few keys available
And don't miss out on the keycaps. They are lovely thick plastic and very durable. I've been using one for months with no signs of wear.
I posted 5 of these off yesterday, so once they are gone, they will be gone.
Enjoy those holidays, and feel free to check out my new branded serving boards in the UK only.