When AI Agents Oversell and Damage Your Brand
A 3-agent architecture (SalesMaker, BrandDefender, Responder) can resolve the issue of AI agents overly focused on sales goals damaging brand integrity by ly...
Posts on system design, product, and craft.
A 3-agent architecture (SalesMaker, BrandDefender, Responder) can resolve the issue of AI agents overly focused on sales goals damaging brand integrity by ly...
Project goal and core principles
How developers can 10x their impact with AI in 2025
Everyone use some kinds of project management tools to get things done. The space is HOT. There are some newcomers such as Notion and Airtable. Most of the c...
Recently, we have a lot of discussions around microservice . At GOGOVAN, with a relatively small engineering team, how exactly do we apply the microservice p...
This morning when I woke up and did my daily routine of checking email, two very suspicious emails showed up in my inbox.
In last article, the structure of the code is not adequate for 2 developers to separate their work and be focus. And lack of focus is the number 1 productivi...
In last article, the team has put in new coding standard to make our code easier to understand and modify. In the next few weeks, they started to realize the...
In last article, the team has run into some unclear code with mutating object. This makes debugging very hard. Bob suggest the team to enforce 2 new coding s...
In last article, Lucy had run a post mortem with the team and things went pretty well afterwards.
In our last article we talk about the incident Lucy and her team faced.
In our last article, we preview about there will be a production bug coming up. Here are the production bug reports Lucy and Adam saw.
In our last article, our CTO Lucy and her new teammates Adam had developed 2 new features on the same API and in this article, they needed to merge them toge...
So in our last article our CTO Lucy added a new field in our API and implemented a crude version of API versioning. They are happy to get some angel funding ...
In last article our startup CTO Lucy shipped their first version of API for announcing a request of van service in the system. Some of the engineers with kee...
This is my second attempt to revive a habit to write technical article. Everyday. Let’s see how it goes.
A short story of an ordinary discussion in GOGOVAN software engineering team
Just read this awesome article[1] in building GraphQL APIs. Github and facebook have created their own public facing GraphQL APIs. When I first dapple with t...
I am trying to explore the possibilities of adding another tools in the arsenal of my team. Rails is awesome in rapid development, developing and iterating b...
Previously in Pt. 1 & 2, we discuss 3 tactics to discuss priorities and make sure all parties is aligned. The last part I can share some of the mindset c...
Previously in Pt. 1, we have discussed why developers in Hong Kong or Taiwan think scrum is not working for them and one of the tactics on how to start the d...
Today I came across a very thought provoking post about why scrum / agile doesn’t work in most of the company in Taiwan1. In essence, the author make a point...
From time to time, we have to check if something is finished, or a particular script has been loaded successfully in the browser, we would make use of the se...
In our previous article, we have discovered GPU programming in the most unexpected place - an API of a SaaS product. It is the JQL of Mixpanel. And in this ...
Mixpanel had been a crucial tool in my previous 2 startup jobs. We have to compile a lot of different views for our team to make decision based on the Mixpan...
Last year I was very privileged to work with some of best engineers you can find in the region. Together we delivered products in the top-most software engin...
Originally posted in Medium
Originally post in Medium
Prelogue This is a shortened version of being a Software Engineer in MPM. MPM was providing mobile payment service for both consumers and merchants. Merchant...
原文於charizine.hk刋登。
After over 4 months of my first notorious “death march” our team can at last have life. I finally have time to write a custom component for my future use. It...
Personally I think this is a very bad decision. But I have not tried hard enough to convince people it is a bad idea.
Recently our company needed to unify the whole app into one locale, we have faced obstacle in making the DatePickerDialog to use app locale instead of system...
One of the recurring problem of developing Android application is the notorious back stack. In our application, we firstly following the o’almighty advice of...
In my recent development, I have received a requirement to put Spinner inside a PopupWindow. I expected an easy task. When the popupwindow is shown, there wa...
When I am doing system Design, there are some recurring problems. One of the problem is to represent status of certain records. Take an example of a transact...
Recently many software gurus(e.g.: [Jeff Atwood](http://www.codinghorror.com/blog/2012/06/the-php-singularity.html & Fabien Potencier) whom I admired deb...
This post is full of ignorance. But my main point still stand.
After 2 months of hustling, the development phase of my first “big” project is over. In this 2 months, I had to spend half of my brain debugging and implemen...
In my previous post, I’ve mentioned that it is up to the implementation to define whether the function will behave properly. Another issue that I can came ou...
Yes. It is been a long time.
This is a repost of a post in Tumblr over a years ago. Time flies and I found the solution.