Golang Ninja Newsletter : The Economist and Go, detect smokers in movies, harmful mmap & more
Tags: go, backend, programming, gprc
Published: 2018-11-05 16:19:08

---
title: Golang Ninja Newsletter : The Economist and Go, detect smokers in movies, harmful mmap & more
published: yes
description: Stay up-to-date and ahead of your peers with Maarten Bezemer’s weekly newsletter for Golang Ninjas.
tags: golang, backend, programming, gprc
---

<img src="https://thepracticaldev.s3.amazonaws.com/i/1udemtuwhjn4hwbo7mr8.jpg" />

<h3><strong>Stay up-to-date and ahead of your peers with Maarten Bezemer's newsletter for senior Golang engineers.</strong></h3></p>

<p><a href="https://github.com/veger">Maarten</a> uses Go to build the back-end of developer platform <a href="https://www.jexia.com/">Jexia</a>. Are you a fresh new Gopher? Master the world of Go with his <a href="https://www.getrevue.co/profile/golang-jexia">newsletter for starters</a>.</p>

<table align="center" border="0" cellpadding="1" cellspacing="1" style="width: 600px;">
                <tbody>
                               <tr>
                                               <td bgcolor="#FAB200"><p><strong><i><a href="https://www.getrevue.co/profile/golang" target="_blank" rel="nofollow noopener noopener noopener noopener nofollow noopener" data-href="https://www.getrevue.co/profile/golang">Subscribe for this newsletter</a>. Ad and advertorial free, because one should not profit from other people's content.</strong></i></p></td>
</tr>
</tbody>
</table>


<h2>Fundamentals</h2>
<p><strong><a href="https://medium.com/@boobo94/web-service-architecture-for-golang-developers-a4147b8141ff?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Web service architecture for Golang developers</a></strong></p>
<p>Web service architecture is the first phase before building every project, it&rsquo;s like you prepare to build a house and start by creating the architecture plan.</p>
<h2>Best-practices</h2>
<p><strong><a href="https://medium.com/@rocketlaunchr.cloud/canceling-mysql-in-go-827ed8f83b30?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Canceling MySQL in Go</a></strong></p>
<p>There are many occasions when you want to cancel the execution of a MySQL query. With the advent of Go 1.8, the database/sql package made it possible.</p>
<p><strong><a href="https://medium.com/eaciit-engineering/soap-wsdl-request-in-go-language-3861cfb5949e?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">SOAP - WSDL request in Go</a></strong></p>
<p>This is my first post on EACIIT Engineering medium. I&rsquo;m going to share one of my experiences while working using SOAP-WSDL technology with Go.</p>
<p>{% twitter 1058555343624499200 %} </p>
<p><strong><a href="https://medium.com/@valyala/mmap-in-go-considered-harmful-d92a25cb161d?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">mmap in Go considered harmful</a></strong></p>
<p>Do you use syscall.Mmap in Go? There are high chances the answer is yes, even if you are unaware of it.</p>
<p><strong><a href="https://medium.com/@MichalPristas/forwarding-reader-to-multiple-consumers-a1574a9db4d6?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Forwarding reader to multiple consumers</a></strong></p>
<p>You have a reader as input and multiple readers (not writers) passed to different storage APIs. To avoid timeouts, you don&rsquo;t want to write to them sequentially.</p>
<p><strong><a href="https://medium.com/@jadr2ddude/a-big-little-problem-a-tale-of-big-little-gone-wrong-e7778ce744bb?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">A big LITTLE problem: a tale of big.LITTLE Gone Wrong</a></strong></p>
<p>On the night of October 24, a question appeared on the #darkarts channel in the Gophers Slack (a group chat of ~33k Go programmers).</p>
<p><strong><a href="https://towardsdatascience.com/lessons-learned-building-a-smoking-detector-for-video-with-machine-learning-5a0e93dfa8ec?gi=8632d204665a&amp;utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Detect smokers in movies with machine learning and Go</a></strong></p>
<p>As someone who spent a lot of time working with media companies implementing machine learning, I get asked a lot about the ability to detect smoking in videos.</p>

<table align="center" border="0" cellpadding="1" cellspacing="1" style="width: 600px;">
                <tbody>
                               <tr>
                                               <td bgcolor="#FAB200"><p><strong><i><a href="https://www.getrevue.co/profile/golang" target="_blank" rel="nofollow noopener noopener noopener noopener nofollow noopener" data-href="https://www.getrevue.co/profile/golang">Subscribe for this newsletter</a>. Ad and advertorial free, because one should not profit from other people's content.</strong></i></p></td>
</tr>
</tbody>
</table>

<h2>Tutorials</h2>
<p><strong><a href="https://banzaicloud.com/blog/dependency-injection-go/?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Dependency injection in Go</a></strong></p>
<p>We're building a feature rich enterprise-grade app platform, on top of Kubernetes, that consists of 30+ components that are all developed in Golang.</p>
<p><strong><a href="https://medium.com/@robeceiro/golang-dialogflow-d32c4be5e124?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Google Dialogflow&rsquo;s Golang Tutorial</a></strong></p>
<p>Tutorial on how to build a chatbot using Dialogflow as a backend and Golang as programming language.</p>
<p>{% twitter 1056846975235178497 %}</p>
<p><strong><a href="https://golangtranslated.postach.io/post/testirovanie-prilozheniia-na-go-kak-chernyi-iashchik-pri-pomoshchi-rspec?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Test an app in Go as black box using Rspec (originally in Russian)</a></strong></p>
<p>Well-written tests significantly reduce the risk of "breaking" the application when adding a new feature or fixing an error. In complex systems consisting of several interrelated...</p>
<p><strong><a href="https://golangtranslated.postach.io/post/building-microservices-with-event-sourcing-cqrs-in-go-using-grpc-nats-streaming-and-cockroachdb-rong-qi-shi-dai-caasone?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Building microservices with event sourcing CQRS in Go using gRPC, NATS Streaming and CockroachDB (originally in Russian)</a></strong></p>
<p>The main purpose of this article is to build event-driven microservices through *EventSourcing* and *CQRS*.</p>
<h2>Tools</h2>
<p><strong><a href="https://blog.github.com/2018-10-31-atoms-new-parsing-system/?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Atom understands your code better than ever before</a></strong> Atom 1.32 provides improved syntax highlighting and code folding by parsing your code while you type it.</p>
<p>{% twitter 1055046982337626112 %}</p>
<p><strong><a href="https://99designs.nl/blog/engineering/gqlgen-a-graphql-server-generator-for-go/?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Introducing gqlgen: a GraphQL server generator for Go</a></strong> gqlgen is the best way to build a GraphQL server in Go and possibly even any language. This article looks at why and how we developed it.</p>
<p><strong><a href="https://blog.iota.org/go-and-java-library-beta-out-now-and-whats-next-for-iota-client-libraries-d7b5dd18c761?gi=68ae8b64c7b9&amp;utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Go library beta out now: what&rsquo;s next for IOTA client libraries</a></strong></p>
<p>The IOTA Foundation, developer of a popular distributed ledger protocol, invests in the future of its users.</p>
<h2>Perspectives</h2>
<p><strong><a href="https://www.net.in.tum.de/fileadmin/bibtex/publications/theses/2018-ixy-go.pdf?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">Writing network drivers in Go (pdf)</a></strong></p>
<p>A Go implementation, called ixy.go, ties to reimplement the driver as closely as possible in idiomatic Go and does so within &yen;1000 lines of code.</p>
<p><strong><a href="https://www.reddit.com/r/golang/comments/9syjj8/what_are_some_red_flags_for_you_in_go_code_reviews/?utm_campaign=Golang%20Ninjas%20Newsletter&amp;utm_medium=email&amp;utm_source=Revue%20newsletter">What are some red flags for you in Go code reviews?</a></strong></p>
<p>Reddit members share their red flags in the comment threads.</p>
<h2>Presentations</h2>
<p><strong><a href="https://www.infoq.com/presentations/the--economist-go?utm_campaign=golang&amp;utm_medium=link&amp;utm_source=presentations_about_golang">Digital Publishing for Scale: The Economist and Go</a> &mdash; <a href="https://www.infoq.com/presentations/the--economist-go?utm_campaign=golang&amp;utm_medium=link&amp;utm_source=presentations_about_golang">www.infoq.com</a></strong> Kathryn Jonas talks about The Economist&rsquo;s struggles and victories in transitioning to Go and how Go has uniquely fit their digital publishing goals.</p>
<p>{% youtube wIrS5Lqi-xg %}</p><p>{% youtube i0y4RO2RQUY %}</p><p>{% youtube HNID8W2jgRM %}</p>