My team just had a problem with our shared Kafka cluster. Logstash processes in centralized-logging system were getting unstable and crashing. These Logstash sends logs to Kafka as a buffer before consuming the messages out and insert to ES. My colleague were suspecting that one of our new deployed application could be the cause of… Continue reading
Read logs and solve things
Imagine you and your friend are trying to use a high-tech microwave for the first time. Your friend push some buttons and it doesn’t seem to get the machine going. He then turn to you ask if you know what is wrong with this thing. All you can do is saying “I don’t know” and… Continue reading
Declarative style in reactive programming
My team has adopted reactive programming in our new project. We are using Spring WebFlux to serve data over REST call. The whole team is new on this programming style. The most essential concept I find myself struggling with is the declarative style of reactive programming The following made-up example in Kotlin below show typical… Continue reading
Heartbeat Thread in Kafka Consumer
Kafka Consumer 0.10.1 has introduced a background thread for sending heartbeat instead of relying on user application thread to keep polling regularly like in the earlier versions. The normal pattern of Kafka consumer looks like the code below Before 0.10.1, heart beat is sent as part of polling for new message. This is by-design mechanism to… Continue reading
Stop The World
I was watching an excellent technical session about Java GC. When the speaker said “Pause is inevitable no matter which collector you use”, a thought suddenly came to my mind that this is also true for living a life. We all has so many things to think about these days in the modern world that time is the… Continue reading
The long lost happiness
I took a two days vocation in Koh Samed a months ago. In the second night, I came across a beautiful fire shows on the beach near a restaurant. My Canon 6D was very good with low light so I took a lot of photos. I could not move around easily since the place was… Continue reading
Instance Confinement
Ialmost forgot that I have this story in my to-be-blogged list. I was assigned to perform performance tuning on a system in my previous project. I found a concurrency bottleneck and rearrange the synchronization pattern to gain noticeably throughput. I later had a chance to read about the Instance Confinement technique which could be applied… Continue reading
What I want to tell my junior colleague
I gave a talk in the internal un-conference in my organization. The original title is “What I want to tell my junior developers” since I aimed to talk mostly about technical things. It turned out that the top ranks of my topics were about non-technical stuff but I didn’t get a chance to change it… Continue reading
Cut it out and run
One of the big gaps between seasoned developers and the less experienced ones is the troubleshooting skill. Unlike any other knowledge, this kind of skill is difficult to teach and learn. Developers invest tons of hours to develop his or her own techniques in gathering information and seeing through details to find the root cause… Continue reading
My photography hobby and acquiring new skill
It has been 3 years since I started my photography hobby. I had never thought I would have interest in artistic hobby. I have put quite a lot of effort in learning it. There are some aspects of my self-practicing in photography that can be related to acquiring new skill of other kind. Let me… Continue reading