Open in app

Sign In

Write

Sign In

Ben Johnson
Ben Johnson

6.2K Followers

Home

About

Published in

GoChain

·Oct 3, 2018

Scaling Blockchain Storage

Taming the monolithic database — GoChain has been successful in increasing blockchain performance through block size reduction, significant code optimizations, and Proof of Reputation consensus, however, that causes another issue—more transactions per second means that the storage size grows at the same rate. The storage layer originally used the go-ethereum implementation where all data is…

Database

4 min read

Scaling Blockchain Storage
Scaling Blockchain Storage
Database

4 min read


Published in

Go Walkthrough

·Sep 21, 2016

Go Walkthrough: fmt

In the last post we looked at fast, primitive encoding using strconv but in this post we’ll take a higher level approach by using templates with the fmt package. …

Golang

10 min read

Golang

10 min read


Published in

Go Walkthrough

·Sep 8, 2016

Go Walkthrough: strconv

Formatting & parsing primitive values in Go is a common task. You probably first dipped your toes into the fmt package when you started Go, however, there’s a less commonly used package for basic formatting that’s more efficient and preserves compiler type checking. The strconv package is built for speed…

Programming

9 min read

Programming

9 min read


Published in

Go Walkthrough

·Aug 29, 2016

Go Walkthrough: encoding/binary

When you need to squeeze every last bit or CPU cycle out of your protocol, one of the best tools is the encoding/binary package. It operates on the lowest level and is built for working with binary protocols. …

Programming

8 min read

Programming

8 min read


Published in

Go Walkthrough

·Aug 22, 2016

Go Walkthrough: encoding/json package

For better or for worse, JSON is the encoding of the Internet. Its formal definition is small enough that you could write it on the back of a napkin but yet it can encode strings, numbers, booleans, nulls, maps, and arrays. …

Golang

11 min read

Golang

11 min read


Published in

Go Walkthrough

·Aug 15, 2016

Go Walkthrough: encoding package

So far we’ve covered working with raw byte streams and bounded byte slices but few applications simply shuttle bytes around. Bytes alone don’t convey much meaning, however, once we encode data structures on top of those bytes then we can build truly useful applications. This post is part of a…

Programming

8 min read

Programming

8 min read


Aug 10, 2016

Standard Package Layout

Vendoring. Generics. These are seen as big issues in the Go community but there’s another issue that’s rarely mentioned — application package layout. Every Go application I’ve ever worked on appears to have a different answer to the question, how should I organize my code? Some applications push everything into…

Golang

7 min read

Standard Package Layout
Standard Package Layout
Golang

7 min read


Published in

Go Walkthrough

·Aug 8, 2016

Go Walkthrough: bytes + strings packages

In the previous post we covered byte streams but sometimes we need to work with bounded, in-memory byte slices instead. While working with a list of bytes seems simple enough, there are a lot of edge cases and common operations that make using the bytes package worthwhile. …

Golang

12 min read

Golang

12 min read


Published in

Go Walkthrough

·Aug 1, 2016

Go Walkthrough: io package

Go is a programming language built for working with bytes. Whether you have lists of bytes, streams of bytes, or individual bytes, Go makes it easy to process. From these simple primitives we build our abstractions and services. The io package is one of the most fundamental packages within the…

Golang

9 min read

Golang

9 min read


Jul 14, 2014

Structuring Tests in Go

How I organize my tests in Go — The Purpose of Tests People argue over testing style, whether to use TDD or BDD, or whether tests are even useful at all. Before I get into how I structure my tests in Go, I should explain how I see tests. Tests should be 2 things: Self-contained Easily reproducible That’s it. They should be…

5 min read

Structuring Tests in Go
Structuring Tests in Go

5 min read

Ben Johnson

Ben Johnson

6.2K Followers

Writing databases and distributed systems in Go.

Following
  • adrian cockcroft

    adrian cockcroft

  • Camille Fournier

    Camille Fournier

  • Tyler Treat

    Tyler Treat

  • Pew Research Center

    Pew Research Center

  • Jaana Dogan

    Jaana Dogan

See all (54)

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech

Teams