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]

Quick Numbers: Atomic and Mutex

Sometimes I'm the poster child for premature optimization. Normally, I write something and if it is fast enough I don't look at the benchmarks. I've written a lot of Go, so I generally have performant code that gets the job done without benchmarking. Most of what I write has a specific audience, so I can simply base it on if it holds up with the clients. But certain work, such [Read More]

My Dev Lessons From 2020

Interns/New grads are not a resource, they are a cost center What layer you build a capability into is crazy important Ubiquity wins, because HTTP/HTML/X509/REST/JSON are just awful technology REST is a mess, just stop and use GRPC and export to REST if you must Kubernetes is to Borg what Frankstein is to the Dali Lama Benchmarks matter Don't refactor a bad code base, rewrite [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]