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
Post Category → Tech
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
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
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
Agile Tour Bangkok 2012
The Agile Tour Bangkok 2012 initiated by the Agile66 community could be count as the biggest public agile event (that I know of) ever held in Thailand. It is quite an interesting time of agile movement here. Most of the big companies still stick to the traditional way of building software but the agile practices are… Continue reading
DOM NodeList iteration performance problem
I am having a performance problem with a module of my project. The code actually does something really easy. It just iterates over a NodeList and overwrites an attribute of each element. At first, I thought this slowness was related to the size of my XML document. I found out later that it has more… Continue reading
That is twelve months feedback loop
I was reading Linkedin Questions weeks ago when I found a question asking about how to do annual performance review for agile team. I read through some answers and found a really short and interesting one. It said “annual review? That’s twelve months feedback loop”. Imagine a decent competent programmer; Alex, in a performance review… Continue reading
Skill To Duck And Weave
I was quite nervous yesterday. It was the last day that code could be committed for this sprint and I just found out there was a several defects in my code. I was able to solve them all in the afternoon and the struggling of finding workarounds got me thinking about task estimation from developers’… Continue reading
How agile affect conflict in the team
Agile teams are self-managed team. They decide together as a team how they want to do things. Conflict between team members is also one of the things that they need to be handled by themselves. The nature of agile development plays a part in how conflicts are managed Yesterday, I read an article titled “We’re better… Continue reading
Simple explanation for inner join and left join
Last week, I have heard my colleague explained how inner join and left join are used. SQL join types are typically explained using Venn diagrams but my colleague’s explanation is from the view of how we are using them. Let’s say we are writing an SQL to get list of employees in the database shown below SELECT… Continue reading