Monthly Archives: November 2018

go: base64 decoding

Here is an example how to decode base64 encoded strings https://play.golang.org/p/iojjUKwvZvn It uses encoding packages encoding/base64 and encoding/hex . package main import ( “fmt” “encoding/base64” “encoding/hex” ) func isAscii7printable(bytes []byte)(bool){ for _, b := range bytes { if b < … Continue reading

Posted in golang, workday | Leave a comment

go: characters frequency

Let’s explore characters frequency in the go string. Characters in go are in the format int32 – rune, and they can have any unicode value. Here is a simple go program https://play.golang.org/p/fbg7VXetxCg . package main import ( “fmt” “sort” ) … Continue reading

Posted in golang, workday | Leave a comment

go: duration loop

Here is a simple duration loop go program https://play.golang.org/p/ly9U9EUr2of package main import ( “fmt” “time” ) func main() { duration := time.Second *10 fmt.Println(“Hello, duration loop “+duration.String()+” long”) t1 := time.Now() for t2:= time.Now(); t2.Sub(t1) < duration; t2 = time.Now(){ … Continue reading

Posted in golang, workday | Leave a comment

go: proverbs

Rob Pike at Gopherfest on November 18, 2015 mentioned several thoughtful go proverbs, as you may see on this video. Here they are: Don’t communicate by sharing memory, share memory by communicating. Concurrency is not parallelism. Channels orchestrate; mutexes serialize. … Continue reading

Posted in golang, workday | Leave a comment

go: printing struct & array

Printing struct https://play.golang.org/p/BvMIqF3Pmc9 package main import “fmt” type point struct { x, y int } func main() { p := point{1, 2} fmt.Println(“Printing struct point:”) fmt.Printf(” type %%T: %T\n”, p) fmt.Printf(” just values %%v: %v\n”, p) fmt.Printf(” +field names %%+v: … Continue reading

Posted in golang, workday | Leave a comment

go: add elements to array

Here is one way, how to add elements to array in go language, see https://play.golang.org/p/nCLX23ymRUM package main import ( “fmt” ) type MyRecord struct { Name string Phone string } var recA = MyRecord{Name: “Anna”, Phone: “123”} var recB = … Continue reading

Posted in golang, workday | Leave a comment

GIMP: first script-fu

GIMP is great tool for images manipulation. Even better is to automate as much as possible through scripts. Lets say we would create file named my-first.scm and this file will be placed into sub-directory scripts. Location would depend on the … Continue reading

Posted in workday | Leave a comment

base64

Base64 encoding is widely used and there are nice online tools, for example https://www.base64decode.org/. On command line could be convenient choice to use openssl with argument base64 to encode or two arguments base64 -d to decode. Tool reads from stdin, … Continue reading

Posted in workday | Leave a comment

go: interface example

Go is fresh fast relatively new language. One of the key to utilize it’s power are interfaces. Here is example of the geometry interfaces. See https://play.golang.org/p/nQ_ylb2jXKS package main import ( “fmt” “math” ) //https://www.mathsisfun.com/area.html type geometry interface { area() float64 … Continue reading

Posted in golang, workday | Leave a comment