Open in app

Sign In

Write

Sign In

Simplify Complexity
Simplify Complexity

439 Followers

Home

About

Aug 7, 2022

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

Google

2 min read


May 22, 2022

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)
Wifi

1 min read

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

--

--


May 15, 2022

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?
Golang

2 min read


May 8, 2022

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

Shopify Development

1 min read


May 8, 2022

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

Go

1 min read


Apr 27, 2022

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. …

Load Balancing

2 min read

How does Google load balance requests?
How does Google load balance requests?
Load Balancing

2 min read


Jan 28, 2022

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?
Go

2 min read


Jan 28, 2022

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

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, 2022

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

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, 2022

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

Go

1 min read

Simplify Complexity

Simplify Complexity

439 Followers

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

Following
  • Som Dutt

    Som Dutt

  • Evan Crosby

    Evan Crosby

  • Dee Per

    Dee Per

  • Avigail Halberg

    Avigail Halberg

  • Tom Smykowski

    Tom Smykowski

Help

Status

Writers

Blog

Careers

Privacy

Terms

About

Text to speech