Gopher Gold #51
Published: 2021-06-23 00:00:00

---
title: "Gopher Gold #51"
description: We're writing a 100% compatible drop in MySQL replacement in pure golang. That means copying all of MySQL's dumbest decisions, FYI: a single Go rune is not the same as a single visible character, We wrote a book about building business applications in Go, Columnar in-memory store with bitmap indexing
date: "2021-06-23"
tags: ""
---

We're writing a 100% compatible drop in MySQL replacement in pure golang. That means copying all of MySQL's dumbest decisions, FYI: a single Go rune is not the same as a single visible character, We wrote a book about building business applications in Go, Columnar in-memory store with bitmap indexing. Here is your Golang Weekly curation for Wed Jun 23 2021.

## Hot Go Articles This Week On Reddit

- [We're writing a 100% compatible drop in MySQL replacement in pure golang. That means copying all of MySQL's dumbest decisions](https://www.reddit.com/r/golang/comments/o4uy1l/were_writing_a_100_compatible_drop_in_mysql/) (2 days ago)
- [FYI: a single Go rune is not the same as a single visible character](https://www.reddit.com/r/golang/comments/o1o5hr/fyi_a_single_go_rune_is_not_the_same_as_a_single/) (6 days ago)
- [We wrote a book about building business applications in Go](https://www.reddit.com/r/golang/comments/o6aeg0/we_wrote_a_book_about_building_business/) (10 hours ago)
- [Columnar in-memory store with bitmap indexing](https://www.reddit.com/r/golang/comments/o30ie9/columnar_inmemory_store_with_bitmap_indexing/) (5 days ago)

## Go Articles This Week On Dev.To

- **Bibek**: [Error Handling in JavaScript  (Golang Style)](https://dev.to/bibekkakati/error-handling-in-javascript-golang-style-4fj1)
- **Javad Rajabzade**: [How to use Go Modules with Private Git repository](https://dev.to/gopher/how-to-use-go-modules-with-private-git-repository-53b4)
- **Wojciech Matuszewski**: [Understanding the AWS Lambda Runtime API](https://dev.to/wojciechmatuszewski/understanding-the-aws-lambda-runtime-api-286n)
- **Javad Rajabzade**: [Getting Started with Go Context](https://dev.to/gopher/getting-started-with-go-context-l7g)
- **Javad Rajabzade**: [Build CI/CD pipelines in Go with github actions and Dockers](https://dev.to/gopher/build-ci-cd-pipelines-in-go-with-github-actions-and-dockers-1ko7)
- **swyx**: [The 4 Types of Activity timeouts in Temporal](https://dev.to/temporalio/the-4-types-of-activity-timeouts-in-temporal-1p69)
- **Mario Carrion**: [Building Microservices in Go: REST APIs - OpenAPI 3 and Swagger UI](https://dev.to/mariocarrion/building-microservices-in-go-rest-apis-openapi-3-and-swagger-ui-8o1)
- **Dan Gillis**: [REST API Error Handling in Go](https://dev.to/gilcrest/rest-api-error-handling-in-go-14hn)
- **Gisela Miranda Difini**: [Parallel Mandelbrot Set Using Golang](https://dev.to/giselamd/parallel-mandelbrot-set-in-go-480o)
- **Roko Romic**: [Bootstrapping a Startup on AWS with AWS Serverless and Go](https://dev.to/mklabs/bootstrapping-a-startup-on-aws-with-aws-serverless-and-go-14og)
- **Dominik Braun**: [timetrace: New features of the time tracking CLI](https://dev.to/dominikbraun/timetrace-new-features-of-the-time-tracking-cli-2d62)
- **Alkesh Ghorpade**: [LeetCode - Rotate Image](https://dev.to/_alkesh26/leetcode-rotate-image-2b2o)
- **Javad Rajabzade**: [Algorithms for Go](https://dev.to/gopher/algorithms-for-go-2b8g)
- **Gunnsteinn Hall**: [Watermarking PDF Files in Go](https://dev.to/unidoc/watermarking-pdf-files-in-go-3bjj)
- **Marco Villarreal**: [Deploy a Serverless Api on Cloud Run with Github Actions](https://dev.to/mvillarrealb/deploy-a-serverless-api-on-cloud-run-with-github-actions-3ejo)
- **Alexandre Liberato**: [Instalando asdf e Golang no Ubuntu 20.04](https://dev.to/alexandreliberato/instalando-asdf-no-ubuntu-20-04-17gl)
- **Gernot Glawe**: [Implement Unit, Integration and Application Test for CDK Infrastructure and an EC2 Web Server Application](https://dev.to/megaproaktiv/implement-unit-integration-and-application-test-for-cdk-infrastructure-and-an-ec2-web-server-application-o68)
- **Karan Pratap Singh**: [Go Fiber, performant alternative to Express](https://dev.to/karanpratapsingh/introduction-to-go-fiber-2m0a)

## Trending Go Repositories This Week On Github

- **v2fly/v2ray-core** (Go): [A platform for building proxies to bypass network restrictions.](https://github.com/v2fly/v2ray-core)
- **thanos-io/thanos** (Go): [Highly available Prometheus setup with long term storage capabilities. A CNCF Incubating project.](https://github.com/thanos-io/thanos)
- **harvester/harvester** (Go): [Open source hyperconverged infrastructure (HCI) software](https://github.com/harvester/harvester)
- **gohugoio/hugo** (Go): [The world’s fastest framework for building websites.](https://github.com/gohugoio/hugo)
- **rancher/rancher** (Go): [Complete container management platform](https://github.com/rancher/rancher)
- **kubernetes/kubernetes** (Go): [Production-Grade Container Scheduling and Management](https://github.com/kubernetes/kubernetes)
- **denverquane/automuteus** (Go): [Discord Bot to automute Among Us players at round transitions, in conjunction with https://github.com/denverquane/amonguscapture](https://github.com/denverquane/automuteus)
- **influxdata/telegraf** (Go): [The plugin-driven server agent for collecting & reporting metrics.](https://github.com/influxdata/telegraf)
- **erda-project/erda** (Go): [An enterprise-grade application building, deploying, monitoring platform (An iPaaS).](https://github.com/erda-project/erda)
- **nsqio/nsq** (Go): [A realtime distributed messaging platform](https://github.com/nsqio/nsq)
- **gruntwork-io/terratest** (Go): [Terratest is a Go library that makes it easier to write automated tests for your infrastructure code.](https://github.com/gruntwork-io/terratest)
- **maaslalani/slides** (Go): [Terminal based presentation tool](https://github.com/maaslalani/slides)
- **derailed/popeye** (Go): [👀 A Kubernetes cluster resource sanitizer](https://github.com/derailed/popeye)
- **projectdiscovery/nuclei** (Go): [Nuclei is a fast tool for configurable targeted vulnerability scanning based on templates offering massive extensibility and ease of use.](https://github.com/projectdiscovery/nuclei)
- **tektoncd/pipeline** (Go): [A cloud-native Pipeline resource.](https://github.com/tektoncd/pipeline)
- **megaease/easegress** (Go): [A Cloud Native traffic orchestration system](https://github.com/megaease/easegress)
- **valyala/fasthttp** (Go): [Fast HTTP package for Go. Tuned for high performance. Zero memory allocations in hot paths. Up to 10x faster than net/http](https://github.com/valyala/fasthttp)
- **Dreamacro/clash** (Go): [A rule-based tunnel in Go.](https://github.com/Dreamacro/clash)
- **milvus-io/milvus** (Go): [An open source vector database powered by Faiss, NMSLIB and Annoy](https://github.com/milvus-io/milvus)
- **drakkan/sftpgo** (Go): [Fully featured and highly configurable SFTP server with optional FTP/S and WebDAV support - S3, Google Cloud Storage, Azure Blob](https://github.com/drakkan/sftpgo)
- **grpc-ecosystem/grpc-gateway** (Go): [gRPC to JSON proxy generator following the gRPC HTTP spec](https://github.com/grpc-ecosystem/grpc-gateway)
- **flipped-aurora/gin-vue-admin** (Go): [基于gin+vue搭建的后台管理系统框架，集成jwt鉴权，权限管理，动态路由，分页封装，多点登录拦截，资源权限，上传下载，代码生成器，表单生成器，通用工作流等基础功能，五分钟一套CURD前后端代码，目VUE3版本正在重构，欢迎issue和pr~](https://github.com/flipped-aurora/gin-vue-admin)
- **lightningnetwork/lnd** (Go): [Lightning Network Daemon ⚡️](https://github.com/lightningnetwork/lnd)
- **GoogleContainerTools/kaniko** (Go): [Build Container Images In Kubernetes](https://github.com/GoogleContainerTools/kaniko)
- **kyverno/kyverno** (Go): [Kubernetes Native Policy Management](https://github.com/kyverno/kyverno)

## Topics from the Weekly Go Forum

- [Fetch only ONE row QueryRow(x)?](https://forum.golangbridge.org/t/fetch-only-one-row-queryrow-x/23898)
- [My course "Master Go" is open again](https://forum.golangbridge.org/t/my-course-master-go-is-open-again/23854)
- [Testing program](https://forum.golangbridge.org/t/testing-program/23870)
- [Golang FTP PASS (password) command works locally, but doesn't while running on ECS](https://forum.golangbridge.org/t/golang-ftp-pass-password-command-works-locally-but-doesnt-while-running-on-ecs/23835)
- [Go Developer Wanted: #Proptech Australia](https://forum.golangbridge.org/t/go-developer-wanted-proptech-australia/23868)
- [Order in channels](https://forum.golangbridge.org/t/order-in-channels/23826)
- [How to write a file with go code?](https://forum.golangbridge.org/t/how-to-write-a-file-with-go-code/23864)
- [How to consume Third Part API using Golang?](https://forum.golangbridge.org/t/how-to-consume-third-part-api-using-golang/23841)
- [Freelance Go project opportunities (REMOTE)](https://forum.golangbridge.org/t/freelance-go-project-opportunities-remote/23847)
- [Help with syscall and getdents function](https://forum.golangbridge.org/t/help-with-syscall-and-getdents-function/23855)
- [Testing strategies with go routines](https://forum.golangbridge.org/t/testing-strategies-with-go-routines/23877)
- [GoLang language specification Document: What the declaration chan<- <-chan int means](https://forum.golangbridge.org/t/golang-language-specification-document-what-the-declaration-chan-chan-int-means/23903)
- [Returning a pointer to a struct](https://forum.golangbridge.org/t/returning-a-pointer-to-a-struct/23860)
- [How to find how much days left in a date](https://forum.golangbridge.org/t/how-to-find-how-much-days-left-in-a-date/23845)
- [Fork/exec no such file or directory LD_PRELOAD](https://forum.golangbridge.org/t/fork-exec-no-such-file-or-directory-ld-preload/23824)
- [Printing a large structure](https://forum.golangbridge.org/t/printing-a-large-structure/23862)
- [Newbie question: panic: mat: zero length in matrix dimension - Neural Networks](https://forum.golangbridge.org/t/newbie-question-panic-mat-zero-length-in-matrix-dimension-neural-networks/23889)
- [Problem while using go module](https://forum.golangbridge.org/t/problem-while-using-go-module/23895)
- [Where to place Go main on a Web Server?](https://forum.golangbridge.org/t/where-to-place-go-main-on-a-web-server/23857)
- [SigNoz - an open source performance monitoring tool for your Golang applications](https://forum.golangbridge.org/t/signoz-an-open-source-performance-monitoring-tool-for-your-golang-applications/23848)
- [Help with obtaining the go toolchain in memory-constrained environments](https://forum.golangbridge.org/t/help-with-obtaining-the-go-toolchain-in-memory-constrained-environments/23850)
- [Autofill Website Form From Window's Popup Window](https://forum.golangbridge.org/t/autofill-website-form-from-windows-popup-window/23912)
- [Specify local IP address in net.DialTCP throwing error bind: address already in use](https://forum.golangbridge.org/t/specify-local-ip-address-in-net-dialtcp-throwing-error-bind-address-already-in-use/23906)

_Gopher Gold is a weekly roundup for all things Go! If you have more suggestions for resources, submit them below! Follow me on Twitter for more projects [@dennisokeeffe92](https://twitter.com/dennisokeeffe92)._

_Image credit: [Katerina Kerdi](https://unsplash.com/@katekerdi)_