golang

golang

125 bookmarks
Custom sorting
The Tao of Go — Bitfield Consulting
The Tao of Go — Bitfield Consulting
What is the Tao of Go, and how can we work with it, like a surfer going with the waves instead of struggling against them? By being kind, simple, humble, and not striving; here’s how.
·bitfieldconsulting.com·
The Tao of Go — Bitfield Consulting
Speeding up a Go cli application with concurrency
Speeding up a Go cli application with concurrency
Premise A few months ago I worked with a company which provided fully functional backend for online multiplayer games. As part of their product portfolio, they provided their customers with a cli utility, called ds-uploader (dedicated server uploader). Written in Go, this CLI helped the customer: Process all files and assets in a directory of their choice containing their game server. Synchronize each file to a remote object storage bucket (meaning to upload only files that are new or modified).
·cuffaro.com·
Speeding up a Go cli application with concurrency
Unmasking a Go HTML Parser Bug with Differential Fuzzing
Unmasking a Go HTML Parser Bug with Differential Fuzzing
In this write-up, we’ll delve into how, through differential fuzzing, we uncovered a bug in Go’s exp/net HTML’s tokenizer. We’ll show potential XSS implications of this flaw. Additionally, we’ll outline how Google assessed this finding within their VRP program and guide how to engage and employ fuzzing to evaluate your software. Introduction Reminisce with me the discussion boards of 2005. Open to all, searchable from every corner, with no account needed to peek in.
·mionskowski.pl·
Unmasking a Go HTML Parser Bug with Differential Fuzzing
Analyzing Go Build Times
Analyzing Go Build Times
Go is often praised for its fast build times. While they are pretty quick, they are slow enough that I spend a lot of time waiting for them, enough that it prompted me to go down the rabbit hole of thoroughly analyzing them. This post covers all aspects of what makes Go builds fast or slow. Throughout this blog, we will use Istio as an example of real-world codebase. For reference on its size:
·blog.howardjohn.info·
Analyzing Go Build Times
A Deep Look Into Golang Profile-Guided Optimization (PGO)
A Deep Look Into Golang Profile-Guided Optimization (PGO)
Intro Profile-Guided Optimization (PGO) is an optimization method which improves final compiled binary by using profile data hints and compiling the code based on those profiles. There are several optimization mechanisms that compilers usually get into account when compiling your code to binary. Like dead code elimination, Register allocation, Constant folding or function inlining; you may split your code into smaller and smaller functions and different level of abstractions to ease up future changes and modifications, but from compiler point of view multiple calls to different functions may not be very optimize and sometimes compiler decides to inline your functions!
·theyahya.com·
A Deep Look Into Golang Profile-Guided Optimization (PGO)