Golang News http://golangnews.com Jobs, Code, Videos and News for Go hackers - everything about the go programming language Fri, 12 Feb 2021 17:36:00 +0000 Repository secure by design: how to sleep better without fear of security vulnerabilities 5 points posted by roblaszczak https://threedots.tech/post/repository-secure-by-design 4533 Tue, 09 Feb 2021 12:02:00 +0000 Infrastructure as Code on AWS using Go and Pulumi 4 points posted by Elton Minetto https://dev.to/aws-builders/infrastructure-as-code-on-aws-using-go-and-pulumi-gn5 4654 Tue, 09 Nov 2021 12:08:00 +0000 Show: Golang News – news for Gophers Welcome to Golang News - Hacker News for Gophers. This is a little experiment in writing an HN-like website in golang. 28 points posted by kenny http://golangnews.com 72 Wed, 30 Sep 2015 22:05:00 +0000 Video: So you wanna go fast #performance 18 points posted by kenny https://www.youtube.com/watch?v=DJ4d_PZ6Gns 2732 Sat, 30 Sep 2017 17:29:00 +0000 Moving from Go 1 to Go 2 13 points posted by kenny https://github.com/golang/proposal/blob/master/design/28221-go2-transitions.md 3624 Wed, 24 Oct 2018 08:59:00 +0000 Video: Image recognition in Go using TensorFlow 13 points posted by plutov https://www.youtube.com/watch?v=P8MZ1Z2LHrw 3088 Mon, 08 Jan 2018 01:03:00 +0000 Video: A code review with logging, errors, and signals #justforfunc This time I review a piece of code by <a href="https://twitter.com/sandeepdinesh" class="yt-uix-servicelink " data-url="https://twitter.com/sandeepdinesh" data-target-new-window="True" data-servicelink="CDEQ6TgYACITCInHqNLY_9QCFcYMFgod0PgO_yj4HQ" target="_blank" rel="nofollow noopener" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; background: rgb(255, 255, 255); color: rgb(22, 122, 198); cursor: pointer; text-decoration: none; font-family: &quot;YouTube Noto&quot;, Roboto, arial, sans-serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;">https://twitter.com/sandeepdinesh</a>, from his repo <a href="https://github.com/thesandlord/logpipe" class="yt-uix-servicelink " data-url="https://github.com/thesandlord/logpipe" data-target-new-window="True" data-servicelink="CDEQ6TgYACITCInHqNLY_9QCFcYMFgod0PgO_yj4HQ" target="_blank" rel="nofollow noopener" style="margin: 0px; padding: 0px; border: 0px; font-size: 13px; background: rgb(255, 255, 255); color: rgb(22, 122, 198); cursor: pointer; text-decoration: none; font-family: &quot;YouTube Noto&quot;, Roboto, arial, sans-serif; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px;">https://github.com/thesandlord/logpipe</a><br style="color: rgb(51, 51, 51); font-family: &quot;YouTube Noto&quot;, Roboto, arial, sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">The program simply reads from standard input and sends each line both to standard output and a logging service.<br style="color: rgb(51, 51, 51); font-family: &quot;YouTube Noto&quot;, Roboto, arial, sans-serif; font-size: 13px; font-style: normal; font-variant-ligatures: normal; font-variant-caps: normal; font-weight: normal; letter-spacing: normal; orphans: 2; text-align: start; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-text-stroke-width: 0px; background-color: rgb(255, 255, 255); text-decoration-style: initial; text-decoration-color: initial;">What could go wrong? Many things! 13 points posted by gopher https://www.youtube.com/watch?v=c5ufcpTGIJM 2388 Mon, 10 Jul 2017 21:49:00 +0000 Solid go design 13 points posted by kenny http://dave.cheney.net/2016/08/20/solid-go-design 1000 Sat, 20 Aug 2016 17:19: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> 12 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 Video: Decoding of binary network protocols by Axel Wagner #net 12 points posted by lolly https://www.youtube.com/watch?v=QUC_uqP1WVI 3811 Mon, 25 Feb 2019 20:47:00 +0000 On generics in Go #generics By Ian Lance Taylor. Go should support some form of generic programming. Generic programming enables the representation of algorithms and data structures in a generic form, with concrete elements of the code (such as types) factored out. It means the ability to express algorithms with minimal assumptions about data structures, and vice-versa 12 points posted by kenny https://github.com/golang/proposal/blob/master/design/15292-generics.md 1500 Mon, 09 Jan 2017 22:14:00 +0000 Video: Robert griesemer - prototype your design #dotgo 12 points posted by gopher http://www.thedotpost.com/2016/10/robert-griesemer-prototype-your-design 1285 Tue, 29 Nov 2016 17:34:00 +0000 Successful Go Program Design, 6 Years On 12 points posted by kenny https://www.infoq.com/presentations/go-patterns 942 Sat, 16 Jul 2016 10:20:00 +0000 Show GN: Golang Cafe the job board with no recruiters and clear salary ranges 11 points posted by 0x13a https://golang.cafe 3649 Thu, 08 Nov 2018 19:17:00 +0000 The Design of the Go Garbage Collector #language <p>Hi, I am Okada(<a href="https://twitter.com/ocadaruma" target="_blank">@ocadaruma</a>), a member of the LINE Ads Platform team. I've been interested in Go's GC (Garbage Collection or Garbage Collector) for a while, which got me even to write a post about it. Go is a programming language developed by Google and supports garbage collection. Go also supports concurrency through <a href="https://tour.golang.org/concurrency/2" target="_blank">channels</a>. Many companies, including Google, are using Go, and LINE also uses Go for developing tools and services.</p> 11 points posted by kenny https://engineering.linecorp.com/en/blog/detail/342 3604 Fri, 12 Oct 2018 08:28:00 +0000 Go 2.0 Draft Designs Yesterday, at our annual Go contributor summit, attendees got a sneak peek at preliminary <i>drafts</i>&nbsp;of possible designs for changes to error handling and generics. <a href="https://blog.golang.org/toward-go2" target="_blank">The development of Go 2</a>&nbsp;was announced last year and we are excited to share updates with you today. 11 points posted by kenny https://blog.golang.org/go2draft 3522 Tue, 28 Aug 2018 16:11:00 +0000 Recompiling NES Games into Native Executables with LLVM and Go 11 points posted by tomf http://andrewkelley.me/post/jamulator.html?utm=golangnews 2657 Fri, 15 Sep 2017 08:12:00 +0000 Cast: Aaron Schlesinger on Go in 5 Minutes and Design Patterns #gotime 11 points posted by kenny https://changelog.com/gotime-18 1110 Fri, 30 Sep 2016 19:50:00 +0000 Video: Rob Pike - The Design of the Go Assembler #gophercon 10 points posted by andythomas https://www.youtube.com/watch?v=KINIAgRpkDA 1001 Sun, 21 Aug 2016 18:53:00 +0000 High-Performance server for NATS, the cloud native messaging system 10 points posted by lolly https://github.com/nats-io/gnatsd 913 Mon, 27 Jun 2016 23:20:00 +0000 Handling user defined signals in go 10 points posted by lolly http://blog.mbassem.com/2016/05/15/handling-user-defined-signals-in-go 848 Mon, 23 May 2016 21:25:00 +0000 nacl - a pure Go implementation of the NaCL set of API's <p>This is a pure Go implementation of the API's available in NaCL: <a href="https://nacl.cr.yp.to/" style="box-sizing: border-box; color: rgb(3, 102, 214);">https://nacl.cr.yp.to</a>. Compared with the implementation in golang.org/x/crypto/nacl, this library offers <em style="box-sizing: border-box;">all</em>&nbsp;of the API's present in NaCL, better compatibility with NaCL implementations written in other languages, as well as some utilities for generating and loading keys and nonces, and encrypting messages.</p> <p>Many of them are simple wrappers around functions or libraries available in the Go standard library, or in the golang.org/x/crypto package. Other code I copied directly into this library with the appropriate LICENSE; if a function is longer than, say, 5 lines, I didn't write it myself. There are no dependencies outside of the standard library or golang.org/x/crypto.</p> 9 points posted by kenny https://github.com/kevinburke/nacl?golangnews 2423 Fri, 21 Jul 2017 20:57:00 +0000 Video: Prometheus: Designing and Implementing a Modern Monitoring Solution in Go 9 points posted by gopher https://www.youtube.com/watch?v=1V7eJ0jN8-E 1134 Fri, 14 Oct 2016 11:14:00 +0000 Design-based microservices in Go 9 points posted by lolly https://github.com/goadesign/goa 925 Fri, 08 Jul 2016 08:07:00 +0000 Proposal: Secure the Public Go Module Ecosystem with the Go Notary 8 points posted by kenny https://go.googlesource.com/proposal/+/master/design/25530-notary.md 3828 Tue, 05 Mar 2019 20:34:00 +0000 fn - the container native, cloud agnostic serverless platform Fn is an event-driven, open source, <a href="https://github.com/fnproject/fn/blob/master/docs/serverless.md" style="box-sizing: border-box; background-color: rgb(255, 255, 255); color: rgb(3, 102, 214); font-family: -apple-system, system-ui, &quot;Segoe UI&quot;, Helvetica, Arial, sans-serif, &quot;Apple Color Emoji&quot;, &quot;Segoe UI Emoji&quot;, &quot;Segoe UI Symbol&quot;; font-size: 16px;">functions-as-a-service</a>&nbsp;compute platform that you can run anywhere.&nbsp; 8 points posted by kenny https://github.com/fnproject/fn 2789 Wed, 11 Oct 2017 20:20:00 +0000 Using go to guide design decisions 8 points posted by kenny https://blog.dnsimple.com/2017/03/using-go-design-decisions 1949 Thu, 16 Mar 2017 19:38:00 +0000 gops - list and diagnose Go processes A tool to list and diagnose Go processes currently running on your system by google 8 points posted by tomf https://github.com/google/gops 1635 Fri, 27 Jan 2017 15:08:00 +0000 Gogs: Pull Request, Wiki and New Design 8 points posted by Unknwon https://unknwon.io/gogs-pull-request-wiki-and-new-design 464 Sun, 13 Dec 2015 05:03:00 +0000 Video: Go embed draft design 7 points posted by kenny https://www.youtube.com/embed/rmS-oWcBZaI 4411 Thu, 23 Jul 2020 13:47:00 +0000 Practice Go: Missing Numbers (exercise) 7 points posted by Tania http://pliutau.com/practice-go-missingnumbers 2906 Wed, 08 Nov 2017 10:37:00 +0000 Neugram Design principles #neugram <p>Neugram (<a href="https://neugram.io/">Go scripting</a>) is a new project with a long way to go. To help stay focused over a long project and to make it accessible to potential new contributors, this post documents some design principles for Neugram.</p> 7 points posted by kenny https://neugram.io/blog/design-principles 2888 Fri, 03 Nov 2017 20:34:00 +0000 Principles of designing go apis with channels Channels are concurrent-safe queues that are used to safely pass messages between Go’s lightweight processes (goroutines). Together, these primitives are some of the most popularly touted features of the Go programming language. The message-passing style they encourage permits the programmer to safely coordinate multiple concurrent tasks with easy-to-reason-about semantics and control flow that often trumps the use of callbacks or shared memory. 7 points posted by kenny https://inconshreveable.com/07-08-2014/principles-of-designing-go-apis-with-channels 1829 Tue, 28 Feb 2017 05:51:00 +0000 A minimalistic 12 factor log router written in Go #routers The 12 factor rule for logging says that an app "should not attempt to write to or manage logfiles. Instead, each running process writes its event stream, unbuffered, to stdout." The execution environment should take care of capturing the logs and perform further processing with it. Funnel is meant to be a replacement for your app's "logger + logrotate" pipeline. Think of it as a fluentd/logstash replacement(with minimal features!) but having only stdin as an input. All you need to do is just print to stdout and pipe it to funnel. And let it take care of the rest. 7 points posted by gopher https://github.com/agnivade/funnel 1736 Tue, 14 Feb 2017 13:43:00 +0000 Type alias proposal for Go Authors: Russ Cox, Robert Griesemer Last updated: December 16, 2016 Discussion at https://golang.org/issue/18130. 7 points posted by kenny https://github.com/golang/proposal/blob/master/design/18130-type-alias.md 1387 Mon, 19 Dec 2016 08:13:00 +0000 Go at Google: Language Design in the Service of Software Engineering 7 points posted by kenny https://talks.golang.org/2012/splash.article 503 Tue, 12 Jan 2016 12:29:00 +0000 A scalable 2d design language for laser cutters in Go HFD is meant to make it easier to create designs which are parameterized (i.e. one design where you could easily change the width, height, thickness, ect). And make it simpler to split and layout designs across multiple pieces of material. 6 points posted by kenny https://github.com/dustismo/heavyfishdesign 4291 Sun, 12 Apr 2020 08:58:00 +0000 readline - Readline is a pure go(golang) implementation for GNU-Readline kind library 6 points posted by Everton Marques https://github.com/chzyer/readline 4223 Thu, 19 Dec 2019 23:25:00 +0000 Go - A Key Language in Enterprise Application Development? 6 points posted by kenny https://www.infoq.com/presentations/go-lang-design 3886 Sun, 31 Mar 2019 05:20:00 +0000 Proposal: Non-cooperative goroutine preemption 6 points posted by kenny https://github.com/golang/proposal/blob/master/design/24543-non-cooperative-preemption.md 3267 Thu, 29 Mar 2018 11:48:00 +0000 Why do we need the sync atomic package? <h4>If aligned memory writes are atomic, why do we need the sync/atomic package?</h4><div><br></div><div>This is a post inspired by a question on the Go Forum. The question, paraphrased, was “If properly aligned writes are guaranteed to be atomic by the processor, why does the race detector complain?”</div> 6 points posted by kenny https://dave.cheney.net/2018/01/06/if-aligned-memory-writes-are-atomic-why-do-we-need-the-sync-atomic-package 3084 Sat, 06 Jan 2018 11:12:00 +0000 Recognizing value #gothamgo Before I was a member of the Go team, I was living and working in San Francisco working on the new Gerrit Code Review UI. I was there on an extended visit from New York — about 8 months — so that I could be closer to the team and try something new as I’ve lived here for more than ten years now. 6 points posted by gopher https://medium.com/@andybons/recognizing-value-55969d1029d3 2758 Thu, 05 Oct 2017 21:32:00 +0000 Code: Golang Pros & Cons (Part 2 of 6): Interface Implementation & Public/Private Designations <h3 id="golang-pro-interface-implementation">Golang Pro: Interface Implementation</h3> <p>Go’s automagic interface implementation is simply amazing. The number one reason we love it is because it saves us from <a href="http://disfunksioneel.blogspot.com/2011/04/linux-software-dependencies.html" target="_blank" style="box-sizing: border-box; background-image: initial; background-position: 0px 0px; background-size: initial; background-repeat: initial; background-attachment: initial; background-origin: initial; background-clip: initial; color: rgb(34, 54, 83); border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline; cursor: pointer; -webkit-tap-highlight-color: transparent;">dependency hell</a>.</p><h3 id="how-interfaces-work-in-golang">How Interfaces Work in Golang</h3> <p>Unlike most languages, interfaces in Golang are implemented automatically by structs that match the interface definition. Here’s a simple example. Notice the distinct lack of the <strong style="box-sizing: border-box; background: 0px 0px; border: 0px; margin: 0px; outline: 0px; padding: 0px; vertical-align: baseline;">implements</strong> keyword on the <code class="highlighter-rouge" style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 15.3px; padding: 0px; color: rgb(199, 37, 78); background: 0px 0px; border-radius: 4px; border: 0px; margin: 0px; outline: 0px; vertical-align: baseline;">Dog</code> and <code class="highlighter-rouge" style="box-sizing: border-box; font-family: Menlo, Monaco, Consolas, "Courier New", monospace; font-size: 15.3px; padding: 0px; color: rgb(199, 37, 78); background: 0px 0px; border-radius: 4px; border: 0px; margin: 0px; outline: 0px; vertical-align: baseline;">Cat</code> struct.</p> <p><a href="http://Golang Pro: Interface Implementation Go’s automagic interface implementation is simply amazing. The number one reason we love it is because it saves us from dependency hell. How Interfaces Work in Golang Unlike most languages, interfaces in Golang are implemented automatically by structs that match the interface definition. Here’s a simple example. Notice the distinct lack of the implements keyword on the Dog and Cat struct."<a href="https://blog.bluematador.com/posts/golang-pros-cons-for-devops-part-2/?utm_source=golangnews&utm_medium=link&utm_campaign=golang-pros-cons-2">Read more</a></p> 6 points posted by Philip Volmar https://blog.bluematador.com/posts/golang-pros-cons-for-devops-part-2/?utm_source=golangnews&utm_medium=link&utm_campaign=golang-pros-cons-2 2314 Tue, 13 Jun 2017 20:20:00 +0000 Video: William Kennedy - Package Oriented Design in Go #GopherConIndia William Kennedy - Package Oriented Design GopherCon India 2017 6 points posted by norbertfuhs https://www.youtube.com/watch?v=spKM5CyBwJA 2019 Fri, 31 Mar 2017 08:35:00 +0000 Video: Simone carletti - using go to guide api design decisions #dotgo 6 points posted by gopher http://www.thedotpost.com/2016/10/simone-carletti-using-go-to-guide-api-design-decisions 1780 Mon, 20 Feb 2017 15:12:00 +0000 Go object oriented design #oop 6 points posted by drogo https://nathany.com/good 613 Sun, 21 Feb 2016 11:32:00 +0000 Proposal: Register-based Go calling convention We propose switching the Go ABI from its current stack-based calling convention to a register-based calling convention. <a href="https://github.com/golang/go/issues/18597#issue-199914923" style="box-sizing: border-box; margin: 0px; padding: 0px; color: rgb(119, 89, 174); font-family: &quot;Open Sans&quot;, sans-serif; font-size: 14px; background-color: rgb(255, 255, 255);">Preliminary experiments indicate</a>&nbsp;this will achieve at least a 5–10% throughput improvement across a range of applications. This will remain backwards compatible with existing assembly code that assumes Go’s current stack-based calling convention through Go’s <a href="https://golang.org/design/27539-internal-abi" style="box-sizing: border-box; margin: 0px; padding: 0px; color: rgb(119, 89, 174); font-family: &quot;Open Sans&quot;, sans-serif; font-size: 14px; background-color: rgb(255, 255, 255);">multiple ABI mechanism</a>. 5 points posted by kenny https://go.googlesource.com/proposal/+/refs/changes/78/248178/1/design/40724-register-calling.md 4429 Fri, 14 Aug 2020 16:52:00 +0000 The revised Go generics draft 5 points posted by kenny https://go.googlesource.com/proposal/+/refs/heads/master/design/go2draft-type-parameters.md 4383 Tue, 16 Jun 2020 22:24:00 +0000 Self signed https servers for go 5 points posted by pj https://medium.com/@rocketlaunchr.cloud/self-signed-https-servers-for-go-ab32bb848a8a 4256 Sun, 16 Feb 2020 02:07:00 +0000 godsp - Digital signal processing package in Go for the discrete wavelet transform (DWT) 5 points posted by Everton Marques https://github.com/goccmack/godsp 4205 Wed, 04 Dec 2019 12:01:00 +0000