Empat aku

Aku kala yang jemarinya gatal meremasi kehidupan
Merah gelisah memburui ketidakberdayaan
Gelap, hampa, tak terbatas

Aku jiwa yang tekun menjaga equilibrium kewarasan
Mengalir sejuk merengkuhi asa harapan
Hijau, dingin, mendamaikan

Aku yang tak bernama, mengobral senja, perhatian dan kasih sayang
Menguari aroma cempaka wardana
Wangi, hangat layaknya pertemuan

Aku janji yang tak berarti
Menutupi setiap bohong dari matahari
Redup, pilu dan sendu

Kami hanyalah bagian kecil dari mimpimu


Renjana durjana

Satu dua hari ini ada duri yang menancap di hati

Atau sebenarnya tidak

Tapi telah berbulan bulan sebenarnya

Setiap sore ditimang-timang

Setiap malam disiram dengan pengharapan

Namun di pagi hari dilupakan oleh kesibukan

Oh renjana ini

Selalu tersenyum balik di setiap kesunyian

Namun tak kunjung jua hausnya terpuaskan

Oh durjana ini

Merawat kerinduan mati-matian

Terkekang dan mengekang ketidakpastian

Intercepting Http Response writer in Go

Sometimes we have to use http handler written by external library which we don’t want to change. It’s all fine until we need to know what the handler does, like what is the status code written to the response header.

In Go net/http it’s not possible to read the response directly for many good reason. Luckily ResponseWriter is interface!

Here is example of the interceptor, to get status code.

type HTTPResponseInterceptor struct {
	StatusCode int

//NewHTTPResponseInterceptor create new httpInterceptor
func NewHTTPResponseInterceptor(w http.ResponseWriter) *HTTPResponseInterceptor {
	return &HTTPResponseInterceptor{w, http.StatusOK}

//WriteHeader override response WriteHeader
func (i *HTTPResponseInterceptor) WriteHeader(code int) {
	i.StatusCode = code

The usage is pretty straight forward, wrap the writer with the one from the interceptor. Below example is how I used in my toy project, to get status code then update echo context status code.

func (i *Index) GetIndexHandler(context echo.Context) (err error) {
	i.bleveGetIndex.IndexNameLookup = func(*http.Request) string {
		return context.Param(i.indexNameLookupKey)
	w := util.NewHTTPResponseInterceptor(context.Response().Writer)
	i.bleveGetIndex.ServeHTTP(w, context.Request())
	context.Response().Status = w.StatusCode


I need 2 hours to come up with this solution, but it’s worth the time.
Quick googling give me this blog post which does exactly the same http://ndersson.me/post/capturing_status_code_in_net_http/

How twisted life is

I found this day my daily intake of tea is replaced by warm honey and lemon, it’s not like I get lemon in my life then make lemonade out of it. This night is not different, in this dimmed lit room accompanied by warm liquid of honey and lemon I start my contemplation. You may call it the end of year contemplation, but it’s just me romanticising everything (just like always).

It started a couple of minutes ago, woke up in the middle of the night realising that I slept before taking Isya pray. Had planned to get quick shower but end up with an hour empty gazing into tub full of water, thinking how generous god to me lately or to be exact in my entire life.

Born into lovely family who support me, giving good break, reminding and keeping me as a normal human doing human thing. Well loves are loves, they come from everywhere and everything, and family always come first. All of loves I have was started from this little family of four, even though I never particularly close to my mother or father or my sister but I love them. It will sound cheesy, well I know they are there and being my home to me, a place I call “pulang”.

But I realise that life is not only about your first loves, it’s also first hates, first love outside your family and the loves you feel right this second. And all of that are always being the force pushing me through my days, being lemon at not so good day and being honey at the sweet day.

It all come slowly right? Your peaceful day to day you take for granted into full realisation of how twisted life is. I thought 9 years ago I understand it, 5 years later I thought how naive I was that day and now I think I understand how twisted life is. You can be so happy, so angry, so lonely, so graceful, so regretful, feeling being loved then feeling so lonely in other day, and name other thing you can imagine. I even felt sadness in the middle of my happiness, fearing the happiness will come to end. Like when you watch very beautiful movie and realising that the film will end eventually.

Started 4 years ago I like to fill my room with therapeutic aroma, this day I like to use two drops of Kamboja Essence with full bowl of Cajuput Oil. This night the scent feels so warm, the honey starting to kick in and the music just smoothing the feeling, now I’m ready to take another year ahead.

Then let’s see what it will bring, will my understanding of life remain the same, who knows.