#377 — September 3, 2021 |
Go Weekly |
The Tale of Monkey: A 'Satirical' Package Used Unwittingly.. — Monkey was a package to experiment with ‘monkey patching’ in Go but its license said no-one had any permission to use it(!) Of course, you can guess what happened next. This post also includes a fun interview with the developer of the package – he recommends gomonkey, if you really need to do this. Esoteric Codes |
A Guide to Interfaces in Go — A fantastic and comprehensive guide that we imagine will be bookmarked by a high number of gophers. Learn how to check if a method exists, how you can not implement all the methods on an interface, and a use case for unexported methods on interfaces. Martin Kock |
Gophers - Opportunity is Knocking — We’re a premier software engineering firm looking for mid to senior level engineers to help us develop advanced software solutions and applications in Go. Got at least 1 year of professional Go experience and located in the Americas or Western Europe? We want to hear from you. Ardan Labs sponsor |
QUICK BITS:
|
Go Multi-Module Workspace Mode, A Feature Coming to Go 1.18 — A Chris Siebenmann |
A New Way of Blogging About Go? — We mentioned this tool in our JavaScript newsletter a year ago, but now if you blog about Go and want a more interactive experience for your readers, Klipse is here for you too. Yehonathan Sharvit |
How to Release an Ebiten Game for Steam — Ebiten is a cool 2D game library for Go that we’re always happy to cheerlead for, and it’s great to see you can publicly release a Ebiten-powered game on the popular Steam marketplace if you get that far with your game project. Hajime Hoshi |
Plugins in Go — Eli covers both compile- and run-time plugins, spending more time on the latter and its design principles, drawbacks, and alternatives. Eli Bendersky |
Some Tips For Effective Go Tests
|
|
🛠 Code & Tools |
glog: Leveled Execution Logs for Go — “an efficient pure Go implementation of leveled logs in the manner of the open source C++ package glog.” |
SeqKit 2.0: A Go Toolkit for FASTA/Q File Manipulation — Perhaps a handful of you will find this useful but it’s neat to see Go being used for working with biochemistry. FASTA/FASTQ are formats for storing “nucleotide and protein sequences”. Wei Shen |
The Fastest API to Set Up Transactional Notifications Courier sponsor |
Centrifugo V3: Scalable Real-Time Messaging Server — Language agnostic, but written in Go itself. Centrifugal |
GoKart 0.2.0: A Static Analysis Tool for Securing Go Code — It traces the source of variables and function arguments to determine whether input sources are safe. Praetorian |
coraza-waf: A ModSecurity Compatible Web Application Firewall — Coraza aims to be the “first enterprise-grade Open Source Web Application Firewall” and is a port of ModSecurity. It’s a shared library, but already has some integrations (Caddy) with more on the way. Juan Pablo Tosso |
go-nfs: A Go-Powered NFSv3 Server — First linked a year ago when it was read-only but it can handle read-write now too, although it’s still a WIP. Will Scott |
WASM-4: Build Retro Games for a 'Fantasy Console' with WebAssembly — It’s not Go specific, but you can use Go to target this. Want to see what the results are like? Try this ‘snake’ game. Bruno Garcia |
countdown: Terminal Countdown Timer — Run Anton Medvedev |
Chezmoi 2.2.0: Manage Your Dotfiles Securely Across Multiple Machines
|