Building

Posts on system design, product, and craft.

When AI Agents Oversell and Damage Your Brand

1 minute read

A 3-agent architecture (SalesMaker, BrandDefender, Responder) can resolve the issue of AI agents overly focused on sales goals damaging brand integrity by ly...

My Instagram got hacked, now what?

1 minute read

This morning when I woke up and did my daily routine of checking email, two very suspicious emails showed up in my inbox.

100 Words in 100 Days 8/100: An evolving API (8)

less than 1 minute read

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...

100 Words in 100 Days 3/100: An evolving API (3)

less than 1 minute read

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 ...

100 Words in 100 Days 2/100: An evolving API 2

1 minute read

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...

How do I estimate my tasks

4 minute read

A short story of an ordinary discussion in GOGOVAN software engineering team

How to build robust GraphQL APIs

2 minute read

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...

Golang-journey 101 - defer

1 minute read

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...

How to make agile work as a developer? (Pt. 2)

1 minute read

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...

How to make agile work as a developer? (Pt. 1)

1 minute read

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...

Reducer in Mixpanel API is weird, but genius

3 minute read

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...

The journey in MPM as a software engineer

7 minute read

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...

Representing Statuses

2 minute read

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...

PHP is English

1 minute read

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...

Gotcha in CodeIgniter

2 minute read

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...

My follow-up on dynamic typing

less than 1 minute read

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...

Where to fork a thread?

2 minute read

This is a repost of a post in Tumblr over a years ago. Time flies and I found the solution.