Thursday, August 18, 2016

Only Backport Bugs Already Fixed in the Main Line

A development organization may need to maintain multiple branches for supporting previous releases and for developing some features that have huge impacts to the stability of the codes.

We should always have a main line that is whether the branches were forked from and will be synchronized with.

A bug fix should be fixed in this main line and then

Wednesday, July 27, 2016

Abbreviations I use

fyi = for your information
np = no problem
ttyl = talk to you later

Thursday, June 30, 2016

No regression bugs

How to ensure that there is no regression bugs while introducing new features?

Here are my thoughts:

1. Knowledge Sharing

Developers need to have the knowledge about the whole product, especially about how the feature he or she is responsible is being used.

No one would intend to make the code broken unless for political reasons, such as avoiding dependencies.  We can argue that the developers are careless.  However, in my experience, most of the cases, lake of the knowledge is the reason.

2. Document the dependencies

Tuesday, June 28, 2016

Release notes for your software

Release notes are created for the released versions of the software.

It should describe

  • What are the new features ?
  • What bugs are fixed?
  • What are the known issue?

Other optional sections

Friday, June 17, 2016

Support Timezone

What is a timezone?

A timezone is a region that shares the same interpretation of time based on their relative position on Earth to Sun.

Why do we have timezones?

A moment for people on Earth are the same, but people describe the moment differently.  For some people, such as me, who is living in San Francisco Bay Area, the time is 3PM now, but for people living in India, it is 3:30AM in the morning.  Also, timezone change the way how to view their date within the calendar.  For me, it is June 10, 2016, but for people living in Bangalore, India, it is June 11, 2016 already although many of them have not yet waked up.

When people look at the evnts happened in the past or the events should happen in the future, they may want to describes the time.  Time components of a timestamp data helps describing the time when the event happened or should happen.  It is the reason why we need to support timezone.  It helps accurately describing the time.  If you just need to roughly describe the time at the "date" or "month" level, you do not need to mention time zone.