Delivered once every Week. No Spam Ever.

Issue - 5


Worthy Read

GopherPods is a community-driven curated list of podcasts that cover the Go programming language and Go related projects.

go-httpstat is a golang package to trace golang HTTP request latency (DNSLookup, TCP Connection and so on). Because it uses httptrace internally, just creating go-httpstat powered context and giving it your http.Request kicks tracing (no big code modification is required). The original idea came from httpstat command ( and Dave Cheney's golang implementation) :clap:. This package now traces same latency infomation as them.

Moq is a tool that generates a struct from any interface. The struct can be used in test code as a mock of the interface. In this post Mat Ryer shows us how to use it.

When reviewing Go code, if I run into a situation where I see an unnecessary deviation from idiomatic Go style or best practice, I add an entry here complete with some rationale, and link to it. Have a look at the reddit discussion too - https://www.reddit.com/r/golang/comments/54v6h5/idiomatic_go/

Youtube channel of Sydney Go Meetup Group. You can check out Rob Pike's Stacks of Tokens, A study in interfaces here https://www.youtube.com/watch?v=sDTGhIqyMjo. Note there is some audio issues, not very annoying but manageable.

The first part of the tutorial helps set up the project and build a simple application using Gin that will display a list of articles and the article details page. The second part of the tutorial adds functionality like user registration, login, logout, article submission and authentication to the application to give you a clear idea of how to build real world applications using Gin and Go. Note that all the while the series also focuses on writing test code for your application.

The prior week I had been reversing Linux Lady which was also written in GO, however it was not a stripped binary so it was pretty easy. To illistrate some of my examples I’m going to use an extremely simple ‘Hello, World!’ example and also reference the Rex malware.

Fast and unfancy HTTP server framework for Go (Golang). Up to 10x faster than the rest.

Micha? ?owicki talks about the nuance behind variable Initialization.

During university I set out to create a distributed file system which was originally written in C#. Over the last few months I have been teaching myself Go and have been using this distributed project in order to give myself something to work towards whilst I learn. I’ve now decided to blog my developments in learning Go and developing a distributed file system. There are three articles in the series as of now and you can find it here https://medium.com/@davidsbond


Projects

generics - 62 Stars, 4 Fork
Package generics is the true way to program generically in golang

watcher - 42 Stars, 2 Fork
watcher is a simple Go package for watching for file/directory changes without file system events.

curvetls - 24 Stars, 1 Fork
curvetls is a Go library that gives you a robust framing and encryption layer for your Go programs, striving to be secure, strict, and simple. With curvetls, it's dead easy to go from ordinary sockets to secure encrypted channels that support framing. This makes it trivial for you to write secure, robust clients and servers that do not need to implement low-level control flow. curvetls does not use large or unproven libraries, avoids unsafe C bindings, follows well-documented specifications, practices well-understood cryptography, and avoids placing undue trust in peers, even authenticated ones.

election-au-2016 - 23 Stars, 5 Fork
In 2016 there was a national election in Australia, this application was used to show the current state of the nation, where it was possible to vote, and once voting had closed the live results as they came in.

biu - 20 Stars, 2 Fork
biu is a golang binary util. you can convert bytes to diffrent string format(binary,hex,octal. support binary format only right now), even can convert your data(basic data type) to diffrent string format directly. And you can also convert a string in binary,hex or octal format to a data with data type whatever you wanted.

gobanner - 8 Stars, 0 Fork
banner written in golang.

ws-cli - 8 Stars, 0 Fork
WebSocket Command Line Client written in Go

reloadproxy - 6 Stars, 0 Fork
reloadproxy restarts your server and reloads what's in your browser, anytime any changes are detected.

go-servemux - 3 Stars, 0 Fork
100% net/http router for Go Programming Language. The fastest http router for Go Programming Language. ServeMux takes advantage of the new context package.