So intense “おしゃかしゃま/RADWIMPS(Cover)”

Advertisements

Refleksi hangat malam hari

IMG_20170910_220711_234

Di samping remang lampu, bayangan pena ini menari-nari mengikuti lantunan kidung malam. Membelai tipis dari kejauhan wangi minyak kayu putih yang menguap hangat dari tungku aroma terapi di ujung ruangan. Malam ini telah terkondisikan semua indra untuk merasakan hangat. Secangkir teh hijau hangat dan selimut tebal tak ketinggalan.

Pelan-pelan kubenamkan pikiran, kujauhkan dari segala hiruk-pikuk keseharian. Kuhempas keras pikiranku untuk terbang tinggi bersama jiwa, hingga dapat melihat dunia lebih luas. Jauh terbebas dari dunia kecil yang tercipta oleh keseharian.

Continue reading

drown in a jar full of nuts

no one love to be left unnoticed

someone said it’s kinda taste like mixed bag of nuts

except that I love every kind of nuts

 

being unnoticed means more time to be drown by solitudity

more time to eat all gross food I like

more time to sleep until my arm aching

more time to nurture my disgusting and dirty imagination

more time thinking about being left unnoticed

 

it’s just like you leaves and I am staying

it’s just like you forget and I am being forgotten

it’s just like you are trying and I am giving up

it’s just like you are write a book and I am throwing all the memories

it’s just like you miss me and I’m being missed by you

gRPC is cool. Then what?

grpc_square_reverse_4x

What is the most popular RPC right know? I would say restful with JSON. It is flexible, easy to test, using very common http stack and easy to do versioning. Then comes gRPC, offering more efficient network usage, faster serialization and deserialization and has good versioning support. I will not cover how to create basic service and the implementation, but will talk instead about using gRPC alongside existing restful API and doing versioning on gRPC.

In restful API there are routing and handler function which handle incoming request and responds it back. Another common practice is to have middleware to do pre or postprocessing on the request like logging and sanitizing. The question is could we use these existing functionality to work on our new gRPC service?
Everything is possible in engineering, but how big the changes is? It’s depending on your existing code.

Make it work together

This is common go webservice structure, or at least this is my favorite way to organize my code.

/middleware
 ./logging.go
/student
 ./handler.go
 ./data.go
/schedule
 ./handler.go
 ./data.go
/router.go
/main.go

Inside route.go is http routing in this app, may looks like this :

router := httprouter.New()
router.GET("/student/:id", student.GetIDHandler)
router.GET("/schedule/:id", schedule.GetIDHandler)

Then we will have two services on the gRPC which has their getID procedure.

service student {
 rpc getID(studentMessage) returns (idResponse){}
}

service schedule {
 rpc getID(scheduleMessage) returns (idResponse){}
}

On the go side we can do service multiplexing on the same connection for both services, let’s put it on gRPCServer.go . Continue reading

Menjaga apa yang terucap

Pernah menyampaikan suatu hal yang anda kira sesuatu yang remeh temeh, tetapi ternyata mungkin saja menyakiti orang lain? Kejadian ini seringkali menimpa diri saya dan tentu hal itu memberikan penyesalan yang amat dalam.

Saya membangun kehati-hatian dalam berkata melalui informasi yang terkumpul dan asumsi, namun ternyata asumsi-asumsi yang saya bangun seringlah jauh dari kenyataan. Kesalahan asumsi itulah yang seringkali membuat suatu pernyataan menjadi menyakitkan bagi orang lain walaupun tidak diniatkan untuk seperti itu.

Berbagai asumsi yang mudah dibuat seperti kondisi keuangan, kondisi keluarga ataupun pengalaman pribadi dari seseorang. Contohnya seseorang yang terlihat ceria belum tentu memiliki kebahagiaan yang bisa kita asumsikan entah dari sisi keluarga, keuangan ataupun hal lainnya.

Saya pernah bercerita tentang seorang anak yang selama ini mendapat kehidupan yang kurang baik karena kondisi keluarganya tidak memungkinkan. Cerita itu kusampaikan kepada seseorang yang saya asumsikan memiliki kondisi yang Continue reading