---
title: "Official guidance on publishing Go modules"
publication: "Go Weekly"
issue: 282
published_at: "2019-10-04"
canonical_url: "https://golangweekly.com/issues/282"
---

The latest Go development news       

#282 — October 4, 2019 

[Read on the Web](https://golangweekly.com/issues/282)   

Golang Weekly 

[![\](https://res.cloudinary.com/cpress/image/upload/w_1280,e_sharpen:60/v1570191683/yxp23yoxlrs2zbyrcypt.jpg)](https://changelog.com/gotime/100)  

▶[On Creating the Go Programming Language](https://changelog.com/gotime/100) — The recently returned Go Time podcast has really been putting out some amazing episodes. This time out, they chat with Rob Pike and Robert Griesemer (two of Go’s creators) about Go’s origins, growth, influence, and future. 

Go Time Podcast podcast   

[Publishing Go Modules](https://blog.golang.org/publishing-go-modules) — The last in a series of posts on the official Go blog about using modules. This time, how can you write and publish modules that _other_ modules can depend upon? 

Tyler Bui-Palsulich   

[Processing 40 TB of Code From 10 Million Projects with Go](https://boyter.org/posts/an-informal-survey-of-10-million-github-bitbucket-gitlab-projects/) — There are two parts to this interesting study. First, the why and _how_ of grabbing code from 10 million repositories, and secondly the results of his analysis over the downloaded code. There’s basically something for everyone in here, even if it’s just the most popular curse words in public repos(!) 

Ben E. C. Boyter   [![\](https://copm.s3.amazonaws.com/a553ab85.png)](https://www.bluematador.com/demo-for-100-golang) 

[Get $100 to Demo Blue Matador's Alert Automation](https://www.bluematador.com/demo-for-100-golang) — Blue Matador is alert automation for cloud infrastructures. Our proactive alerts take the time and toil out of monitoring. See production issues before anyone else. We're so confident you'll love it that we're offering $100 to demo it with our team. 

Blue Matador sponsor   

[Simple Go Project Layout with Modules](https://eli.thegreenplace.net/2019/simple-go-project-layout-with-modules/) — A gentle, up-to-date example of basic project structure in the modern Go world. Articles like this are always welcome. 

Eli Bendersky   

[Introducing `ent`: An Entity Framework for Go](https://entgo.io/blog/2019/10/03/introducing-ent/) — At Facebook’s Tel Aviv office, all new services are being written in Go and they’ve built their own ORM for modeling and querying data. Supports MySQL, SQLite, and Gremlin for now, but Postgres support is promised soon. [GitHub repo](https://github.com/facebookincubator/ent). 

Ariel Mashraki  

💻 Jobs  

[Backend Developer (Berlin, Germany)](https://remerge.recruitee.com/o/backend-developer-1) — This fast-growing mobile advertising company is seeking a developer to work on data processing and machine learning infrastructure. 

Remerge   

[Golang Developer at X-Team (Remote)](https://x-team.com/remote-go-developer-jobs/?utm_source=cooperpress&utm_medium=email-ad&utm_campaign=go) — Work with the world's leading brands, from anywhere. Travel the world while being part of the most energizing community of developers. 

X-Team   

[Find A Job Through Vettery](https://www.vettery.com/tech?utm_source=newsletter&utm_medium=cooper-golangweekly&utm_term=tech&utm_content=grouped&utm_campaign=ad-77582) — Vettery specializes in tech roles and is completely free for job seekers. Create a profile to get started. 

Vettery  

📘 Articles & Tutorials  

[The Magic of Go Comments](https://blog.jbowen.dev/2019/09/the-magic-of-go-comments/) — A look at a few ways that comments can do a lot more than merely provide guidance or information to readers of your code. 

James Bowen   

▶[Networking and Go: An Engineer's Journey](https://www.youtube.com/watch?v=XqKvgzXCoXc&feature=youtu.be) — An engineer at DigitalOcean shares a tale of how DigitalOcean uses Go as part of its software defined networking approach. 

Sneha Inguva   

[How to Fuzz Go Code with `go-fuzz` (Continuously)](https://fuzzit.dev/2019/10/02/how-to-fuzz-go-code-with-go-fuzz-continuously/) — Fuzzing or fuzz testing is an automated way to provide semi-random data as input to a program or function in order to test its resiliency and ability to handle input that may be outside of the norm. 

fuzzit   

[Results from our Video Developer Survey 2019](https://go.bitmovin.com/video-developer-report-2019?utm_source=cooper-go-sponsored-link&utm_medium=paid-newsletter&utm_campaign=dev-report-2019) — This year's report saw 542 participants from 108 different countries providing key insights into the evolving technology trends of the digital video industry - [download for free](https://go.bitmovin.com/video-developer-report-2019?utm_source=cooper-go-sponsored-link&utm_medium=paid-newsletter&utm_campaign=dev-report-2019). 

Bitmovin sponsor   

[Building Fast, Tiny GitHub Actions with Go and Docker](https://steele.blue/tiny-github-actions) 

Matt Steele   

[Common Traps, Gotchas, and Common Mistakes for New Go Devs](http://devs.cloudimmunity.com/gotchas-and-common-mistakes-in-go-golang/) 

Kyle Quest   

[I Still Love You, `GOPATH`](https://divan.dev/posts/gopath/) — Is `GOPATH` extinct in our brave, new module-based world? It’s still _supported_ but likely on the way out.. so Ivan has penned ‘a little homage’ to the good parts of `GOPATH`. 

Ivan Daniluk   

▶[How Robotics with Go is a Breeze](https://www.youtube.com/watch?v=mtDX7FOD2Rw) — Shows off [Gobot](https://gobot.io/), a framework for building robots, drones, etc. using Go. 

Gergely Brautigam  

🛠 Code & Tools  

[Sprig: 100+ Useful Template Functions for Go Templates](https://github.com/Masterminds/sprig) — If you use [`text/template`](https://golang.org/pkg/text/template/) you might find [this selection of template functions](http://masterminds.github.io/sprig/) useful. 

Masterminds   

[HttpRouter: A High Performance, Scalable HTTP Request Router](https://github.com/julienschmidt/httprouter) — Solid performance, allows parameters in your routing patterns, can do path auto-correction, generates zero bytes of garbage to collect.. check it out. 

Julien Schmidt   

[dnscrypt-proxy: A Flexible DNS Proxy, with Support for Encrypted DNS Protocols](https://github.com/DNSCrypt/dnscrypt-proxy) 

DNSCrypt   

[Build, Grow, and Extend Your API-First Products](https://www.manifold.co/?utm_source=go_newsletter&utm_medium=newsletter&utm_campaign=oct3) 

Manifold sponsor   

[Packr 2.7: A Way to Embed Static Files Into Go Binaries](https://github.com/gobuffalo/packr) 

Mark Bates   

[env: Simple Library to Parse Environment Variables to Structs](https://github.com/caarlos0/env) 

Carlos Alexandro Becker   

[websocket: A New, Minimal, Idiomatic WebSocket Library for Go](https://github.com/nhooyr/websocket) — Inspired by a couple of other implementations with an eye on simplicity. 

Anmol Sethi   

[go-elasticsearch: An Official Go Client for Elasticsearch](https://github.com/elastic/go-elasticsearch) — [Elasticsearch](https://github.com/elastic/elasticsearch) is a fantastic document-based search engine and this Go client continues to get frequent releases (such as v7.4.0 this week). 

elastic     

🕰 **ICYMI** _(Some older stuff that's worth checking out...)_ 

- Teiva Harsanyi highlights [the most common mistakes](https://medium.com/@teivah/the-top-10-most-common-mistakes-ive-seen-in-go-projects-4b79d4f6cd65) they have come across in various Go projects.
- This article about [understanding data types in Go](https://www.digitalocean.com/community/tutorials/understanding-data-types-in-go) digs into some satisfying detail, like the differences in the various number types and UTF-8 characters.
- A long-ish read about [the basics of Machine Learning, Tensorflow, and the state of ML in Go](https://medium.com/@hackintoshrao/deep-learning-in-go-f13e586f7d8a). The TL;DR? _There's work to be done_.
- Here's [how to batch a channel by size or time in Go](https://medium.com/@elliotchance/batch-a-channel-by-size-or-time-in-go-92fa3098f65) — a neat, practical pattern presnted in multiple ways.
- Looking for a gentle way to introduce someone to Go? This [build your own Pac Man clone](https://github.com/danicat/pacgo) may be a good place to start. No quarters required.         

Curated by [Glenn Goodrich](https://twitter.com/ruprict) and [Peter Cooper](https://twitter.com/peterc). 

[Change your email address](https://golangweekly.com/edit_subscription/*|UID|*) or[Stop getting this newsletter](https://golangweekly.com/leave/*|UID|*) 

© Cooper Press Ltd · Fairfield Enterprise Centre, Louth, LN11 0LS, United Kingdom
