Michael FrancisinGeek CultureTracing errors in Go using custom error types.Making Go errors more useful by embedding the stack information in custom error types.7 min read·Aug 23, 2023----
Michael FrancisTowards a more literate program : spaces in symbol namesDo spaces really need to be special in programming and can we make reading programs more accessible?8 min read·Sep 10, 2022--1--1
Michael FrancisMusing on Go, Thunks, and delayed execution.This post is an adventure in delayed code execution in Go and some musings on shifting more functionality to the libraries vs. through…4 min read·Sep 10, 2022----
Michael FrancisRevisiting JSON streaming in GoI didn’t plan on writing the fourth part of a series on JSON streaming, but then I stumbled on a pattern in a Go protobuf decoder that…10 min read·Sep 4, 2022----
Michael FrancisPrinting Go Types as S-ExpressionsAn adventure in printing Go types as Lisp like expressions.11 min read·Sep 3, 2022----
Michael FrancisinGeek CulturePitfalls of GoLang interface streaming to JSON (part3)Taking what we have learned and decoding a JSON list of heterogeneous structs with an embedded $type into a GoLang interface6 min read·Aug 16, 2022--1--1
Michael FrancisinGeek CulturePitfalls of GoLang interface streaming to JSON (part2)In the first part of this short series, I covered the basic techniquesIn this part I touch on reflection and issues with type construction.5 min read·Aug 15, 2022----
Michael FrancisinGeek CulturePitfalls of GoLang interface streaming to JSON (part1)Pitfalls of streaming interface values to JSON and back into Go. A walk through and solution.9 min read·Aug 15, 2022----
Michael FrancisGo error handling, return if ?A ‘simple’ proposal for making Go errors less tiresome while not breaking Go’s core behavior. Go 2.0 proposal.3 min read·Aug 12, 2022--2--2
Michael FrancisThe ebbs and flows of writing softwareHave you ever noticed how cyclical productivity and creativity are when writing software? I’ve been at this job for nearly 30 years, yet I…3 min read·Aug 4, 2022----