A Small Git Problem
(And why I am still uncomfortable with Git)

Recently, I have used Trac to manage a git project, and I used a git post-receive hook to sync the commit back to Trac.

The hook starts with something like this:

It works fine for most cases, however, when I try to push a new branch to remote, the $oldrev becomes 0, and caused problem.

fatal: ambiguous argument '0..70e0844': unknown revision or path not in the working tree.

Read more A Small Git Problem
(And why I am still uncomfortable with Git)

Automated Testing for Chrome Extension

Since I have migrated the extension of Simple Gmail Notes as an official side project of the new company , I would like to keep a more rigid development process of this.

Very soon, the extension would need to support 4 different environments, it would be run for:

  1. Chrome + Gmail
  2. Firefox + Gmail
  3. Chrome + Google Inbox
  4. Firefox + Google Inbox

Read more Automated Testing for Chrome Extension

Mobile Apps – Native, Hybrid, and HTML5 – A More Comprehensive Review

Say, your own a small team of capable programmers, and you need to build an an mobile app across two platforms (iOS and Android), what would be your best bet?

Currently, there are a lot of different ways to do that, and that's exactly the biggest problem to many people. If we have no other choices, then we would simply build one iOS app and build one android app, without thinking too much. Unfortunately, that's not the case today. We have a lot of different choices now, in fact, we have too many choices.

Read more Mobile Apps – Native, Hybrid, and HTML5 – A More Comprehensive Review

A Fatal Bug of Simple Gmail Notes

Starting from weeks ago, there were two strange bug reports about Simple Gmail Notes. Bug reports of this extension were actually not rare, there were users complaining about various items from time to time.

However, those reports were a bit unusual, the users claimed their Gmail accounts were temporarily locked by Google because of excessive network requests, and they believed this extension was the culprit.

I was shocked at first, as it was a very serious charge. I carefully inspected my code, checked all possible places with network requests. Nothing suspicious was found. And according to my calculation, there was no way for the extension to perform endless network requests.

So after some further investigations, I concluded that they might be just false alarms.

Read more A Fatal Bug of Simple Gmail Notes

Git vs SVN

There are so many comparisons of Git vs SVN outside, but as far as I can tell, 99% of them are biased. (And so is this one, probably.)

And there are many Git tutorials outside, and none is clear enough so others could get on hand easily. In fact, it remains to be one of the major drawbacks of Git.

I have used SVN for many years, and used Git for quite a while now. I admit that I am not yet an expert of Git, but I have tried and suffered a number of traps of Git, and I learned a lot from those painful experiences. Some of the traps could get me stuck for one day.

Read more Git vs SVN