Delivered once every Week. No Spam Ever.

Issue - 6


Worthy Read

If you want to pitch or convince your manager/CTO/colleague about the adoption of Go Programming Language. Refer to this page. If you have successfully adopted / implemented Go in your organization update/add it to the page.

The Go Package Management Committee formed few months back to evaluate better tool/approach for go programmers to manage dependency and build, has produced three research docs as artifacts. Amongst these have a look at the features document to see upcoming solutions/feature set.

Ever faced the problem of having multiple ports in an application, one for each service? In this post, I’m going to brief about how to run multiple services via the same listener port.

StackImpact takes production profiling to the next level. It automatically collects and reports regular and anomaly-triggered profiles, including CPU usage, Memory allocations, Network waits, System call waits, Locking. Note StackImpact is a commerical tool.

Ever checked out PostgreSQL’s full text search feature? It’s easy to use, and, together with Go.

So I wrote a crawler. A parallel crawler with go routines. Go and get the main site, parse out any URLs (image sources and anchor hrefs), add any that are unique to a map, crawl the next one. It was a fun exercise in getting familiar with Go and concurrent processing again. But it takes 24 minutes! Unacceptable across 5000 pages. So my idea was to create a distributed crawler, using the same core code, modified for distributed workload across multiple machines. However many you want, just start up the client on a new computer and it will dial the server and begin getting URLs that haven't been processed yet. It's done. Pretty awesome thing. I'm not going to post the code here now, because it's on a different computer, and I haven't figured out a good project structure and put it in git yet.

Introduces Golang’s testing semantics and how it’s applied to test routines and channels.

Microservices require a certain amount of specialized support. RPC safety, system observability, infrastructure integration, even program design — Go kit fills in the gaps left by the standard library, and makes Go a first-class language for writing microservices in any organization.

Writing Go applications in an isolated environment with Docker comes with some great advantages. You get a clean GOPATH, the bare essentials for developing, and you can easily change which Go version you’re developing against. In this quick tutorial, we’re going to show you how to structure a Go application with Docker Compose as your development environment.

If you are coming to Go from another language like Ruby or Python there are a lot of changes to take in, and many of these revolve around the string type. Below is a list of some quick tips that answered questions I had during my first few weeks using Golang.

Web scraping is practically parsing the HTML output of a website and taking the parts you want to use for something. In theory, that’s a big part of how Google works as a search engine. It goes to every web page it can find and stores a copy locally. goQuery is pretty much like jQuery, just for go. It gives you easy access to the HTML structure of a page and enables you to pick which elements you want to access by attribute or content.

In Go 1.7 we introduced HTTP tracing, a facility to gather fine-grained information throughout the lifecycle of an HTTP client request. Support for HTTP tracing is provided by the net/http/httptrace package. The collected information can be used for debugging latency issues, service monitoring, writing adaptive systems, and more.

The Framework for Internal Navigation and Discovery (FIND) allows you to use your (Android) smartphone or WiFi-enabled computer (laptop or Raspberry Pi or etc.) to determine your position within your home or office. You can easily use this system in place of motion sensors as its resolution will allow your phone to distinguish whether you are in the living room, the kitchen or the bedroom, etc. The position information can then be used in a variety of ways including home automation, way-finding, or tracking!

nacl-crypt to encrypt and decrypt files on disk, using NaCL authenticated encryption implemented in secretbox. The library lets you implement "streaming" encryption of data, as well as an efficient encoding of sparse data (as in "files with holes").

Golang’s standard sql package is extremely simple, yet powerful. This post covers the basics of the sql package.


Projects

log - 11 Stars, 3 Fork
light weight and flexible logging framework of Go.

RapidMQ - 6 Stars, 0 Fork
RapidMQ is a pure, extremely productive, lightweight and reliable library for managing of the local messages queue

travis-line-notify - 4 Stars, 0 Fork
Notify build result on Travis CI via LINE Notify. Curators Note - This is experimental and only useful to those who use LINE a Whatsapp alternative popular in asia.

flag - 2 Stars, 0 Fork
Flag is a command-line flag parsing library for Go, support slice, structure, env variables parsing.

crawlfarm - 1 Stars, 0 Fork
A Crawl Farm written in Go. Crawl a site using multiple workers which each process in parallel. Curator Note - Here is a write up the author Jason on crawlfarm http://www.jasontconnell.com/posts/crawlfarm