Using SSH and Domain Sockets For Serving

Have you ever found the need to secure access to administrative traffic? This might be a system agent or a diagnostic endpoints for a service. Recently I had the need to secure traffic for code examples I'm using in an book I am writing. I wanted to secure the traffic to a bunch of host machines without putting my readers (or myself) through the hassle of TLS mutual AAA or [Read More]

WebGears: I'll get your HTML/Javascript and your little dog Toto too!

TLDR Web development stinks I don't want to program in 5 languages to serve a webpage I wrote the webgear package so I can just program in Go with Web Components This package powers Golang Basics Preamble Hey, if you don't want to listen to my meandering (and I can meander with the best of them), just skip towards the bottom. Does anyone like HTML for Apps? Well, probably, but [Read More]

Flatbuffers in Go Fall Flat

Flatbuffers are a Google message format in the same vein as Protocol Buffers or JSON. They were designed for game programmers in C++ who want to avoid heap allocations at all costs. It isn't a new tech, but I started seeing articles recently saying people should use them. I was truly skeptical about this as all the example code for Go looked painful. I recently had a very niche use [Read More]

Proto vs encoding/json - No Contest

The standard library's JSON encoder is slow. And JSON is not efficient. BSON is where JSON should have been, at least eliminating base64 encoding to transfer bytes. The non-standard library JSON encoders either require code generation (which you might as well use proto as it encodes better) or can't support the full feature set. I was being lazy recently and I decided to use JSON for encoding an internal frame [Read More]

Socket to me: A Set Of Unix Socket Packages for Go

Introduction Unix Domain Sockets are an Interprocess Communication(IPC) mechanism that is available on Linux/OSX/BSD/Windows systems. Go has support for unix sockets via the net.Dial() and net.Listen() calls. However this lacks higher level wrappers that provide: Authentication/Security Chunking Message streaming RPCs As such I am releasing a set of packages to provide these on Linux/OSX systems. TLDR Packages to do IPC via unix [Read More]