Golang News http://golangnews.com Jobs, Code, Videos and News for Go hackers - everything about the go programming language Mon, 24 Jun 2019 15:19:00 +0000 Code: flowascode - Run a workflow defined in a YAML file Define and run a workflow using a yaml configuration file 2 points posted by Sascha Andres https://github.com/sascha-andres/flowascode 4024 Mon, 24 Jun 2019 15:16:00 +0000 Video: How to write testable code by David Cheney 2 points posted by gopher https://www.youtube.com/watch?v=BaMcmZRrG-c 4023 Mon, 24 Jun 2019 13:09:00 +0000 Video: Bryan C. Mills - Rethinking Classical Concurrency Patterns Developers tend to learn a set of general concurrency patterns and apply them across programming languages. Go's lightweight goroutines and concurrency primitives significantly change the cost/benefit tradeoffs for those patterns. In this tutorial session, Bryan will examine common “classical” concurrency patterns — such as worker pools, asynchronous callbacks, futures, and condition variables — and demonstrate some of the alternatives that Go enables. 3 points posted by gopher https://www.youtube.com/watch?v=5zXAHh5tJqQ 4022 Mon, 24 Jun 2019 09:12:00 +0000 Casey Muratori on 'clean' code – Oliver Powell A blog on programming, and life. 4 points posted by kenny http://www.opowell.com/post/casey-muratori-on-clean-code 4021 Fri, 21 Jun 2019 18:14:00 +0000 Real-Time Maps with a Raspberry Pi, Golang, and HERE XYZ 5 points posted by nraboy https://developer.here.com/blog/real-time-maps-with-a-raspberry-pi-golang-and-here-xyz 4020 Thu, 20 Jun 2019 14:50:00 +0000 Quick go performance improvements 4 points posted by gopher https://stephen.sh/posts/quick-go-performance-improvements 4019 Tue, 18 Jun 2019 17:56:00 +0000 Secure certificate issuance from cloudflare 4 points posted by lolly https://blog.cloudflare.com/secure-certificate-issuance 4018 Tue, 18 Jun 2019 14:44:00 +0000 Code - tankpreise - gas price query 3 points posted by Sascha Andres https://github.com/sascha-andres/tankpreise 4017 Tue, 18 Jun 2019 14:42:00 +0000 Go creeping in I’ve seen the inside of the Google and Amazon tech stacks. There are common threads that run through them and also, I bet, through most BigTechCos. Here and there down the stack is a lot of C++ and vestigial remnants from earlier days, Perl or PHP or whatever. Out in front of humans, of course, JS. But in between, there are oceans and oceans of Java; to a remarkable degree, it runs the Internet. Except for, here and there, you find a small but steadily increasing proportion of Go. 8 points posted by kenny https://www.tbray.org/ongoing/When/201x/2019/06/12/Go-Creeping-In 4016 Tue, 18 Jun 2019 10:07:00 +0000 demoservice - a go service that simulates abnormal situations 4 points posted by lolly https://github.com/wolfgangB33r/demoservice 4015 Mon, 17 Jun 2019 08:40:00 +0000 Barebones model of Spotify's 'Recently Played' screen using a Least Recently Used (LRU) cache Barebones model of Spotify's 'Recently Played' screen using a Least Recently Used (LRU) cache in Golang 4 points posted by drogo https://ieftimov.com/post/spotify-recently-played-least-recently-used-cache-golang 4014 Sun, 16 Jun 2019 16:20:00 +0000 Interface Type the key of Polymorphism, Type Assertion, Abstraction and Embedding 3 points posted by Amit http://www.golangprograms.com/go-language/interface.html 4013 Sun, 16 Jun 2019 11:56:00 +0000 Using go analysis to write a custom linter 5 points posted by kenny https://arslan.io/2019/06/13/using-go-analysis-to-write-a-custom-linter 4012 Fri, 14 Jun 2019 10:28:00 +0000 tint - a terminal style module for go 3 points posted by gopher https://github.com/printzero/tint 4011 Fri, 14 Jun 2019 09:01:00 +0000 How tinder delivers your matches and messages at scale #tinder 6 points posted by drogo https://medium.com/tinder-engineering/how-tinder-delivers-your-matches-and-messages-at-scale-504049f22ce0 4010 Thu, 13 Jun 2019 18:36:00 +0000 echoip - IP address lookup service 5 points posted by Everton Marques https://github.com/mpolden/echoip 4009 Thu, 13 Jun 2019 14:29:00 +0000 update-golang 0.21 - easily fetch and install new Golang releases 3 points posted by Everton Marques https://github.com/udhos/update-golang/releases/tag/v0.21 4008 Thu, 13 Jun 2019 14:27:00 +0000 Go 1.12.6 and Go 1.11.11 are released 3 points posted by Everton Marques https://groups.google.com/forum/?fromgroups=#!topic/golang-nuts/Rp1RUOu330Q 4007 Thu, 13 Jun 2019 14:25:00 +0000 Video: Anthony Starks - Go for Information Displays Informations displays are everywhere! Go is usually considered as a language for building back-end systems, but it is also suited for "programming pictures" -- turning data into compelling displays and visualizations. Anthony will explore this topic using three tools: SVGo, OpenVG library, and dec, with examples from sports, Go developer data, IT diagrams, flyers, stock data, persona views, time/weather/news, and general charting. Anthony will also introduce the notion of the "universal canvas" (ucan), as the framework for building information displays and visualizations. 7 points posted by drogo https://www.youtube.com/watch?v=NyDNJnioWhI&feature=youtu.be 4006 Thu, 13 Jun 2019 07:18:00 +0000 Migrating a standalone go project from dep to go mod <p>This is a much shorter article than I though it would be when I started migrating our, admittedly small, projects to <code>go mod</code>.</p> 5 points posted by kenny https://d53dev.net/2019/05/17/migrating-a-standalone-go-project-from-dep-to-go-mod 4005 Wed, 12 Jun 2019 21:18:00 +0000 Microservice messaging - the event that changed everythnig 4 points posted by tollela https://resgate.io/blog/the-event 4004 Wed, 12 Jun 2019 05:57:00 +0000 Video: Testing Techniques [2014] 4 points posted by gopher https://www.youtube.com/watch?v=ndmB0bj7eyw 4003 Tue, 11 Jun 2019 13:26:00 +0000 script - making it easy to write shell-like scripts in Go <p><code>script</code>&nbsp;is a Go library for doing the kind of tasks that shell scripts are good at: reading files, executing subprocesses, counting lines, matching strings, and so on.</p><div><br></div> 5 points posted by kenny https://github.com/bitfield/script 4002 Mon, 10 Jun 2019 20:27:00 +0000 GoLang Trends no 18 3 points posted by iris-go https://dormoshe.io/newsletters/ag/golang/18 4001 Mon, 10 Jun 2019 14:15:00 +0000 Learn Go Lang with Examples Learn latest programming technologies online with examples. -4 points posted by Suresh Dasari 3999 Sat, 08 Jun 2019 09:36:00 +0000 Rethinking visual programming with go 7 points posted by kenny https://divan.dev/posts/visual_programming_go 3993 Wed, 05 Jun 2019 07:05:00 +0000 Proposal: A built-in Go error check function, try #errors <p>We propose a new built-in function called <code>try</code>, designed specifically to eliminate the boilerplate <code>if</code>&nbsp;statements typically associated with error handling in Go. No other language changes are suggested. We advocate using the existing <code>defer</code>&nbsp;statement and standard library functions to help with augmenting or wrapping of errors. This minimal approach addresses most common scenarios while adding very little complexity to the language. The <code>try</code>&nbsp;built-in is easy to explain, straightforward to implement, orthogonal to other language constructs, and fully backward-compatible. It also leaves open a path to extending the mechanism, should we wish to do so in the future.</p> 10 points posted by kenny https://github.com/golang/proposal/blob/master/design/32437-try-builtin.md#proposal-a-built-in-go-error-check-function-try 3992 Wed, 05 Jun 2019 05:52:00 +0000 Hiring: Platform Software Engineer - Game Service at Mattel #remote #usa Want to work with <a href="https://twitter.com/NateTheFinch/status/1135935984938508289">Nate Finch</a> on a Go platform? Mattel's Connected Products Platform team is *the model* of where Mattel is going with its products. It is a service platform expanding to be used by teams all across the whole 30,000 person company. 3 points posted by gopher https://jobs.mattel.com/job/el-segundo/platform-software-engineer-game-service/2015/12083533 3991 Tue, 04 Jun 2019 21:45:00 +0000 Object Calisthenics in Golang 4 points posted by Elton Minetto https://dev.to/eminetto/object-calisthenics-in-golang-1h75 3990 Tue, 04 Jun 2019 02:26:00 +0000 ANN: Zstandard Go compression package <span id="docs-internal-guid-1f53113f-7fff-6786-208e-adc5a165a1f0"><p dir="ltr">I am happy to announce the availability of the first Zstandard compressor written in Go. This package will allow you to get very fast compression to the Zstandard format.</p><p dir="ltr">The current compressor is focused mainly on speed and outperforms gzip/deflate typically by a factor of 3x for similar compression ratios. It is also within a reasonable margin, typically 0.75x the throughput of the reference library called with cgo. Also, it has CRC checks and better error handling compared to the cgo library.</p><p dir="ltr">Alongside the previously released decompressor, this will allow you to do very fast compression and decompression with unrivaled efficiency in pure Go.</p><p dir="ltr">Both a stream and byte blob compressor is made available and both operate without allocations if re-used, so it will also play nicely with the rest of your application.</p><p dir="ltr">As a bonus, there is a Snappy -&gt; Zstandard stream converter. This was mainly a development tool, but could be useful for some.</p><p dir="ltr">Current status: The main goal for the initial release was to get something that would be a feasible replacement for both deflate/gzip and the cgo wrapper. The package in its current shape allows to replace both for scenarios where fast compression is required. The compressor has been (fuzz) tested, but may still contain subtle bugs - so if you are dealing with critical data, you might want to do your own testing first.</p><p dir="ltr">Feedback and experience reports are appreciated. This has taken most of my free time the last several months and has been a great learning experience. I plan to dive into the more efficient (and slower) compression modes next - but feel free to write if you desperately need something else.</p><p dir="ltr">Also, it seems like Go is the first language to get a Zstandard implementation that isn’t a wrapper around the reference library. Yay!</p><br><p dir="ltr">Package: <a href="https://github.com/klauspost/compress/tree/master/zstd#zstd">https://github.com/klauspost/compress/tree/master/zstd#zstd</a></p><br> 7 points posted by Klaus Post https://github.com/klauspost/compress/tree/master/zstd#zstd 3989 Sun, 02 Jun 2019 16:38:00 +0000 Routebuilder - build your http routes fluently #web 4 points posted by hankmartinez https://github.com/askm3/routebuilder 3988 Fri, 31 May 2019 11:04:00 +0000 Video: Protocol Buffers in Go 3 points posted by kenny https://www.youtube.com/watch?v=NoDRq6Twkts 3987 Thu, 30 May 2019 13:28:00 +0000 Scraply - scrape html content and convert it to JSON APIs Scraply is a simple dom scraper to fetch information from any html website 3 points posted by Mohammed Al Ashaal https://github.com/alash3al/scraply 3986 Wed, 29 May 2019 16:24:00 +0000 tbls is a CI-Friendly tool for documenting a database, written in Go. 9 points posted by lolly https://github.com/k1LoW/tbls 3985 Sun, 26 May 2019 07:34:00 +0000 Maps tutorial for beginners 6 points posted by Amit http://www.golangprograms.com/go-language/golang-maps.html 3984 Sat, 25 May 2019 16:47:00 +0000 g-fu - a Lisp to Go <p><a href="https://github.com/codr7/g-fu">g-fu</a>&nbsp;is a pragmatic <a href="https://xkcd.com/297/" rel="nofollow">Lisp</a>&nbsp;developed and embedded in Go. This document describes the initial release; which implements an extensible, tree-walking interpreter for a fully block-structured Lisp-dialect with quasi-quotation and macros, lambdas, optimized tail-recursion, opt-/varargs, first class environments, user-defined setters, threads and channels.</p> 6 points posted by kenny https://github.com/codr7/g-fu 3983 Sat, 25 May 2019 06:39:00 +0000 Video: Understanding Allocations: the Stack and the Heap 12 points posted by lolly https://www.youtube.com/watch?v=ZMZpH4yT7M0 3982 Thu, 23 May 2019 10:33:00 +0000 Why Go Fuzzing? <b id="docs-internal-guid-82054ead-7fff-c4f3-dd48-7fff64125509"><p dir="ltr">Why we need to make fuzzing a standard practice in Go development backed by the Go toolchain.</p></b> 8 points posted by kenny https://docs.google.com/document/d/1N-12_6YBPpF9o4_Zys_E_ZQndmD06wQVAM_0y9nZUIE/edit 3981 Thu, 23 May 2019 07:59:00 +0000 Go modules with private git repositories 6 points posted by Tim Donell https://medium.com/cloud-native-the-gathering/go-modules-with-private-git-repositories-dfe795068db4 3980 Wed, 22 May 2019 21:23:00 +0000 Garbage collection in go - traces 6 points posted by gopher https://www.ardanlabs.com/blog/2019/05/garbage-collection-in-go-part2-gctraces.html 3979 Wed, 22 May 2019 14:25:00 +0000 Recursion and tail calls in go 3 points posted by gopher https://www.ardanlabs.com/blog/2013/09/recursion-and-tail-calls-in-go_26.html 3978 Wed, 22 May 2019 14:24:00 +0000 URL Parser 3 points posted by Amit http://www.golangprograms.com/golang-package-examples/url-parser-in-golang.html 3977 Sun, 19 May 2019 16:04:00 +0000 Garbage collection in go 5 points posted by gopher https://www.ardanlabs.com/blog/2018/12/garbage-collection-in-go-part1-semantics.html 3976 Sat, 18 May 2019 05:11:00 +0000 Understanding real world concurrency bugs in go 8 points posted by kenny https://blog.acolyer.org/2019/05/17/understanding-real-world-concurrency-bugs-in-go 3975 Fri, 17 May 2019 07:46:00 +0000 Cast: Go for beginners #gotime 5 points posted by kenny https://changelog.com/gotime/85?utm_campaign=golangnews 3974 Wed, 15 May 2019 19:25:00 +0000 radix - a fast string sort algorithm Uses a fast string sorting algorithm (MSD radix sort)<br> 4 points posted by gopher https://github.com/yourbasic/radix 3973 Wed, 15 May 2019 12:07:00 +0000 🏆goldmark - A markdown parser #commonmark A markdown parser written in Go. Easy to extend, standard(CommonMark) compliant, well structured. - yuin/goldmark 7 points posted by kenny https://github.com/yuin/goldmark 3971 Tue, 14 May 2019 20:14:00 +0000 openapi-assert - Asserting data against OpenAPI docs. #openapi #assert #swagger 4 points posted by faabiosr https://github.com/faabiosr/openapi-assert 3970 Mon, 13 May 2019 21:25:00 +0000 How I investigated memory leaks in Go using pprof on a large codebase I have been working with Go for the better part of the year, implementing a scalable blockchain infrastructure at Orbs, and it’s been an exciting year. Over the course of 2018, we researched on which… 5 points posted by kenny https://medium.freecodecamp.org/how-i-investigated-memory-leaks-in-go-using-pprof-on-a-large-codebase-4bec4325e192 3969 Sun, 12 May 2019 15:06:00 +0000 go-sfdc is a library used to interface to Salesforce APIs using golang 4 points posted by tomf https://github.com/g8rswimmer/go-sfdc 3968 Sat, 11 May 2019 18:33:00 +0000