Open in app
Home
Notifications
Lists
Stories

Write
Simplify Complexity
Simplify Complexity

Home

5 days ago

Notes on Google SRE Experience

Google created the SRE role. The idea of software engineering for operations is an exciting approach. My observation for a few months of SRE work is as follows: SRE does a lot of development Unlike a typical ops role, a development project is normal to your work. Each quarter's planning includes a couple of medium sizes…

Google

2 min read


May 22

How to force Login Screen on Public Wi-Fi (e.g. Pret, Starbucks)

Problem

Wifi

1 min read

How to force Login Screen on Public Wi-Fi (e.g. Pret, Starbucks)
How to force Login Screen on Public Wi-Fi (e.g. Pret, Starbucks)

How to force Login Screen on Public Wi-Fi (e.g. Pret, Starbucks)

--

--


May 15

How to Check nil Interface in Golang?

It’s not a good idea to check an interface for nil. Try the following code: type user interface{} type staff struct{} func compareNil() { var generic user generic = nil // works as expected fmt.Printf("value=%v type=%T (generic==nil)=%v\n", generic, generic, generic == nil) generic = (*staff)(nil) //…

Golang

2 min read

How to Check nil Interface in Golang?
How to Check nil Interface in Golang?

May 8

How does Shopify routes Traffic?

A short read — https://shopify.engineering/mobius-shopify-unified-edge What is the Problem? The traffic could be ingress from multiple sources. Edge could support a few types of applications only. It was hard to onboard a new service to the edge. Observability of overall traffic was missing or incomplete. What’s an Edge? The edge is a boundary…

Shopify Development

1 min read


May 8

Example of Strategy Pattern in Golang

What is Strategy Pattern — The strategy is a behavior pattern. It fits where multiple choices for an interface are available and the design would allow switching them dynamically. Conditions A set of choices with similarities in the interface Dynamic update of a choice Example A cache with evictions Multiple eviction algorithms A cache could switch to…

Go

1 min read


Apr 27

How does Google load balance requests?

The answer is Maglev. Maglev is a L3/L4 software load balancer. A load balancer such as Nginx, and HAProxy distributes requests among multiple backend services. Goals It should allow seamless scalability so a set of load-balancers can be added/removed and the user does not notice any connection drop. A set of…

Load Balancing

2 min read

How does Google load balance requests?
How does Google load balance requests?

Jan 28

How Golang DB migration tool work?

migrate Database migrations tool is written in Go. Use as CLI or import as a library. Migrate reads migrations from sources and applies them in the correct order to a database. The migration tool uses a schema_migrations table. One table exists for one DB. mysql> select * from schema_migrations; +---------+-------+ | version |…

Go

2 min read

How Golang DB migration tool work?
How Golang DB migration tool work?

Jan 28

golang: NewReader vs NewBufferString

NewReader func bytes.NewReader(b []byte) *bytes.Reader bytes.NewReader on pkg.go.dev NewReader returns a new Reader reading from b. NewBufferString func bytes.NewBufferString(s string) *bytes.Buffer bytes.NewBufferString on pkg.go.dev NewBufferString creates and initializes a new Buffer using…

Go

1 min read

golang: NewReader vs NewBufferString

NewReader

func bytes.NewReader(b []byte) *bytes.Reader

bytes.NewReader on pkg.go.dev

NewReader returns a new Reader reading from b.

NewBufferString

func bytes.NewBufferString(s string) *bytes.Buffer

bytes.NewBufferString on pkg.go.dev

NewBufferString creates and initializes a new Buffer using…

--

--


Jan 28

go tool: no such tool “compile”

I got go tool: no such tool "compile" error after installing a local build of go. The golang source was in /usr/local $ cd /usr/local $ ls total 41240 drwxr-xr-x@…

Go

1 min read

go tool: no such tool “compile”

I got go tool: no such tool "compile" error after installing a local build of go.

The golang source was in /usr/local

$ cd /usr/local$ ls  
total 41240
drwxr-xr-x@…

--

--


Jan 28

json: cannot unmarshal object into a Go struct field

PROBLEM — json: cannot unmarshal object into Go struct field CODE package main import ( "encoding/json" "fmt" ) // DTO object type mould struct { Particle tiny } type tiny interface { GetName() string } // Implement the interface type speck struct { Name string `json:"name"` } func (s *speck) GetName() string {…

Go

1 min read

Simplify Complexity

Simplify Complexity

Golang, Distributed Systems, File Systems, Python, C/C++, Linux

Following
  • Diana Meresc

    Diana Meresc

  • Shoreditchpoet

    Shoreditchpoet

  • Matteo Cervelli | People Gardener 🧑‍🌾

    Matteo Cervelli | People Gardener 🧑‍🌾

  • Matthew Donnellon

    Matthew Donnellon

  • Alux

    Alux

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Knowable