---
title: "#165: How to Not Use An HTTP Router in Go"
publication: "Go Weekly"
issue: 165
published_at: "2017-06-22"
canonical_url: "https://golangweekly.com/issues/165"
---

Go Newsletter 165   . 

[Read this on the Web](http://golangweekly.com/issues/165) 

[Go Newsletter](http://golangweekly.com) Issue 165 — June 22, 2017     

Featured [How to Not Use An HTTP Router in Go](http://blog.merovius.de/2017/06/18/how-not-to-use-an-http-router.html?utm_source=golangweekly&utm_medium=email) An opinionated post with some interesting observations. If you _want_ to implement HTTP routing in Go, this is well worth a read. Axel Wagner [Virtualgo: Workspace Based Development for Go Projects](https://github.com/getstream/vg?utm_source=golangweekly&utm_medium=email) A dep-compatible solution to problems caused by the `vendor` directory. Uses a `GOPATH` for each project instead. Stream [Cancelling Multiple Goroutines](https://chilts.org/2017/06/12/cancelling-multiple-goroutines?utm_source=golangweekly&utm_medium=email) Starting from the basics and working toward the ability to interrupt a web server cleanly with a `Context`. Andrew Chilton [Enabling Microservices: Containers & Orchestration Explained](https://resources.mongodb.com/microservices??jmp=cpress&utm_campaign=WW_CP_newsletter_sponsorship_FY17Q2&utm_content=primary&utm_medium=display&utm_source=gonewsletter0622) All the information you need to start learning how to build modern applications with microservices. MONGODBsponsored[![\](https://copm.s3.amazonaws.com/4961dcbb.png)](https://resources.mongodb.com/microservices??jmp=cpress&utm_campaign=WW_CP_newsletter_sponsorship_FY17Q2&utm_content=primary&utm_medium=display&utm_source=gonewsletter0622) [G.E.R.T: A Modified Go for ARMv7-A SOCs](https://github.com/ycoroneos/G.E.R.T?utm_source=golangweekly&utm_medium=email) Another fun use for Go here, as a high-level, type-safe, garbage-collected language that can run bare-metal on small ARM systems. Yanni Coroneos [Simplicity Debt Redux](https://dave.cheney.net/2017/06/18/simplicity-debt-redux?utm_source=golangweekly&utm_medium=email) A follow-on post (to [this](https://dave.cheney.net/2017/06/15/simplicity-debt)) about adding generics in Go, Dave dives deeper into the implications and effect on simplicity. Dave Cheney [Writing a Static Blog Generator in Go](https://zupzup.org/static-blog-generator-go/?utm_source=golangweekly&utm_medium=email) The design and decisions behind creating a Hugo-like competitor for a technical blog. Mario Zupan [ActiveState's ActiveGo, A Commercial Go Distribution](https://thenewstack.io/activestate-reveals-commercial-go-distribution-activego/?utm_source=golangweekly&utm_medium=email) An enterprise-ready bundle of popular Go packages from the open source world that also includes commercial support and licensing. Nick McCrory Jobs [Go (+Machine Learning) Developer](https://x-team.com/go-developer/?utm_source=newsletter&utm_medium=email&utm_campaign=go-news-june-17) We seek a developer with extensive Go and Machine Learning knowledge. We're 100% remote and provide the funding needed to help you achieve your goals and grow. X-Team [Finding a Job Shouldn't Feel Like Work. Try Hired Today.](https://hired.com/join/?utm_source=petercooperpress&utm_medium=sponsor&utm_campaign=%28b2c%29%28l-all%29%28r-swe%29%28q2-17-go-weekly%29&utm_content=newsletter) Get empowered to find the job that fits you. Try Hired. Hired In Brief [Pink and Blue Go-Gopher 'Plushies' Available](https://gopher.golangmarket.com/?utm_source=golangweekly&utm_medium=email) news Very cute. No connection to us but seems a nice product. GolangMarket [Binary Builds for 64-bit ARM Coming from Go 1.9 Onwards](http://blog.alexellis.io/go-comes-to-64bit-arm/?utm_source=golangweekly&utm_medium=email) news Alex Ellis [What's New in Go 1.9](http://www.infoworld.com/article/3201037/application-development/whats-new-in-googles-go-19-language.html?utm_source=golangweekly&utm_medium=email#tk.twt_ifw) news Paul Krill [Quick Tip: Find Out Which Go Version Built Your Binary](https://dave.cheney.net/2017/06/20/how-to-find-out-which-go-version-built-your-binary?utm_source=golangweekly&utm_medium=email) tutorial Dave Cheney [Go is Not Python](http://www.seanhelvey.com/go-is-not-python/?utm_source=golangweekly&utm_medium=email) tutorial An interesting look at potentially unexpected behavior in a simple example. Sean Helvey [Generating Good, Random and Unique IDs in Go](https://blog.kowalczyk.info/article/JyRZ/generating-good-random-and-unique-ids-in-go.html?utm_source=golangweekly&utm_medium=email) tutorial Comparing output from 7 existing libraries. Krzysztof Kowalczyk [Correct Error Handling is Hard](https://medium.com/@peter.gtz/correct-error-handling-is-hard-307ea72759c7?utm_source=golangweekly&utm_medium=email) tutorial The canonical example is deferring the closing of an IO object which a simple helper can handle. Peter Goetz [Full-stack observability for Go apps](https://www.datadoghq.com/dg/apm/lpg/?utm_source=golangweekly&amp=&utm_medium=email&utm_campaign=CooperPress-GoAPMS) tools See metrics and events from every part of your stack. Optimize performance with end-to-end tracing. Datadogsponsored [goism: Hack Emacs with Go](https://github.com/Quasilyte/goism?utm_source=golangweekly&utm_medium=email) tools An Emacs package allowing you to use Go within Emacs. Iskander Sharipov [zerolog: Zero Allocation, Chainable JSON Logger](https://github.com/rs/zerolog?utm_source=golangweekly&utm_medium=email) code Olivier Poitrey [mapgen: Generate Thread-Safe and Type-Safe Maps](https://github.com/ammario/mapgen?utm_source=golangweekly&utm_medium=email) code Ammar Bandukwala [gokrb5: A Native Kerberos Authentication Library](https://github.com/jcmturner/gokrb5?utm_source=golangweekly&utm_medium=email) code Jonathan Turner [rqlite 4.0: Distributed SQLite Now with Node-to-Node Encryption](http://www.philipotoole.com/rqlite-now-available-with-node-to-node-encryption/?utm_source=golangweekly&utm_medium=email) code Philip O'Toole [go-mp3: An MP3 Decoder in Pure Go](https://github.com/hajimehoshi/go-mp3?utm_source=golangweekly&utm_medium=email) code Hajime Hoshi [JSON Iterator: A Fast JSON Parser for Go (and Java)](http://jsoniter.com/migrate-from-go-std.html?utm_source=golangweekly&utm_medium=email) code jsoniter.​com [DSCache: Embeddable In-Memory Key/Value Store for Strings in Go](https://github.com/emluque/dscache?utm_source=golangweekly&utm_medium=email) code Emiliano Martínez Luque [go-chart: A Native Chart Drawing Library](https://github.com/wcharczuk/go-chart?utm_source=golangweekly&utm_medium=email) code Will Charczuk [Macaron: A Modular Web Framework for Go](http://go-macaron.com/?utm_source=golangweekly&utm_medium=email) code [GitHub repo](https://github.com/go-macaron/macaron). go-macaron.​com [$20 Free Credit on a new account.](http://welcome.linode.com/go-weekly?utm_source=cooperpress&utm_medium=sponsored&utm_term=go&utm_campaign=go-weekly) Linux cloud hosting starting at 1GB of RAM for $5/mo. Use code `GO20` for $20 credit. linodesponsored    

Go Newsletter is curated by [Peter Cooper](https://twitter.com/peterc) and [Glenn Goodrich](https://twitter.com/ruprict) [Read this issue on the Web](http://golangweekly.com/issues/165) [See our archives](http://golangweekly.com/issues) [Change your email address](*|UPDATE_PROFILE|*)  [Stop getting this newsletter](*|UNSUB|*)  

Published by [Cooperpress](https://cooperpress.com/)
Fairfield Enterprise Centre, Lincoln Way, Louth, LN11 0LS, UK
