Definite's Extractor

My findings on Life, Linux, Open Source, and so on.

Category Archives: Ranting

Google Trips V.S. TripIt

Google Trips does make you travel easier … if you make it’s life easier.

It automatically recognizes the email from big name booking websites (e.g., airbnb) as well as airline. But if you order is from independent providers like many caravan parks, you are out of luck. You cannot even add them even you want to type everything yourself.

Google Trips also cannot capture the booking or reservation change via phone. You cannot blame them to not having this feature, but practical product should be able to allow user to make change.

Google Trips does have its strength beside the auto trips creation.  It provides a easy way to add city (but not necessary add reservation) and downloads offline maps that include Google reviews on  “things to do” and “food and  drink”.

TripIt offers some kind of automation, but you have to mail to, which is an extra step from Google Trips. Airlines and big name booking sites also got good support there: the important fields like date, confirmation number are prefilled. You do have to enter the information for smaller providers, but at least you CAN enter them. Not to mention that you can enter the cost in each item to track the total cost.

My advice? Install both of them. Use TripIt for handling the accommodation, airticket, car hire. And use Google Trips for local food and attraction.



在微信 (WeChat) 回報 Feature Request 的歡樂體驗

我把手機 reset 後,開始了漫長的回復過程。其他的軟體,從遊戲到Facebook、line都是只給帳密就什麼都恢復了…除了微信。


(我也想這樣做,可是光reset 生不出舊手機)
(我錯了,我不應該假設 Facebook 能,作為競爭對手的微信也能)
(雖然 Facebook 用戶更多,可是騰訊的工資和設備比臉書較便宜(應該吧),還是應該體諒人家)
(This is not a bug, it is a feature!)

本以為沒招了,眼睛瞄到,嘿,還有 WeChat Team 在啊,頓時躁動的心獲得解脫。馬上把
「我希望微信能像 Faceobook 和 line 一樣,手機 reset 後還能撈回群裡的歷史資料。」
這段貼給 WeChat Team。人家是專業的,必然能給專業的答案。





我沒看錯吧,要撈微信群的資料居然要動用 Facebook? 這跟當年問 iphone 誰是世界上最好的手機時,它推薦 三星手機 是一樣的無私啊。要是能用 Facebook 救微信的資料,那也是功德無量。既然這樣那還不趕快照著步驟做?

  1. 設置 -> 通用 ,可是我就是沒找著安卓上這個設定在那。查了一下,原來是蘋果的設置方法。往好處想,看來微信沒有偷查你是安卓還是蘋果,
  2. 雖然我對(轻触此处)不能直接連到 facebookapp略有微詞,不過瑕不掩瑜。可是我搜了半天,愣沒搜到 facebookapp 或 facebook 。這又使我對微信的嚴謹感到敬佩:你看,沒照步驟來,人家就不理你了,活該。



Introducing Bus Factor


The Bus factor measures the degree of the knowledge sharing. High number means the knowledge is well shared. For example, bus factor 10 means 10 team members need to be “neutralized” to stop the project working.

This lead to the following issue: How to introduce it to your team members.
Even it is called *bus factor* does not mean you should introduce as such.

I still remember when one of my colleague explaining the idea:

Consider when you are hitting by a bus …

My real feeling on that time was:

Are you trying to curse me?

That’s right. It triggers all negative feeling and reaction. In other words, that will not help knowledge sharing.

A good way to get around this is terming it with holiday factor instead. Ah, holiday, this associate with more pleasant mood, thus make the concept much easier to be delivered and heard. And, hey, we do need to consider the impact of long holidays like Christmas and Chinese New Year.

Using holiday factor also deliver following message:

If you do not share, we may need to call you in the most inconvenient time …

So, using holiday factor is more acceptable, realistic and passive aggressive. 🙂

Yet, everything has it own limitation, and the “bus factory” is no exception. One of my respected colleague, Seth Vidal, was indeed killed in car accident, and his project, yum, is postponed. However, dnf takes its place and has been adopted by Fedora community since Fedora 22.

Why some teachers say 5×3 does not mean 5+5+5

A child was marked as incorrect for translating “5×3” to “5+5+5” on a grade school math test.

Further discussion is at

According to Common Core: Represent and solve problems involving multiplication and division,  5×3 should be interpret as 5 groups of 3 objects each, which means 3+3+3+3+3.

I think this come from how every-day English express this kind of thing. Like 5 apples (apples appear 5 time), and 5 3’s is similar (3 appears 5 time). This also affect the definition of multiplicand and multiplier. Quote from Wikipedia Multiplication

When thinking of multiplication as repeated addition, the number to be multiplied is called the “multiplicand”, while the number of addends is called the “multiplier”.

In other world, 5×3 should be read as:

3 multiplied by 5

But for division, 5 ÷ 3 is read as:

5 divided by 3

IMHO, this is indeed confusing and inconvenient. If a teacher trying to teach multiplication using the word “multiplied” with blackboard and chalk, she need to

  1. Write 3 first, and say “three”
    Become:  3
  2. Write ×,  and say “multiplied by”
    Become: × 3
  3. Write 5, and say “five”
    Become: 5 × 3

Right to left writing, which is not a usual practice in English.

If the teacher  insists on left to right writing, she has to say “three” when she write “five”. 😛

Luckily, we have times to rescue. 5×3 should be read as:

5 times 3

“G_DEBUG=all” in .profile may kill most your GTK programs

When I was debugging ibus-chewing, I set the


in .profile. Then after a few days, all GTK related programs stop working. from gedit, gvim, emacs, to Firefox all stop at various warning.

At first, I noticed that those GTK programs can only run as root, so I tried with file permission and D-Bus permission, but no prevail. I also search intensively on

GLib-CRITICAL **: g_slice_set_config: assertion `sys_page_size == 0' failed

for Firefox and

WARNING **: AT-SPI: Could not obtain desktop path or name

for other programs, yet none worked.

Eventually, I read the section G_DEBUG section of Running GLib Applications carefully. Although it says

This environment variable can be set to a list of debug options, which cause GLib to print out different types of debugging information.

But in fact, “G_DEBUG=all” does much more than just print error and debug messages, it also enable all the debugging options, including:

Causes GLib to abort the program at the first call to g_warning() or g_critical().

In other words, it makes GTK programs fail on whichever warning it encountered. And most likely, most people does not set AT-SPI properly. Thus it will failed immediately after AT-SPI warning messages.

To check whether you have G_DEBUG in your system:

env  | grep G_DEBUG

If it returns empty, then you don’t have G_DEBUG.

Hey, Spammers do evolve!

I receive a reply looks like following:

I do believe all of the concepts you have offered to your post. They’re really convincing and will definitely work….

Problem of this post is, I wasn’t making any concepts but the functionality I want.

I did not find any link in the reply body, then what are they trying to advertise? What do they use to carry the advertisement? The answer: his/her user name, which link to some adult website.

Nice try.

看來得搬 blog 了

livejournal 廣告、SPAM 太多了,看來真的得考慮搬家了。

Re: [真的很偏激] 承認吧台灣人,你和挪威殺人魔一樣都是種族歧視者。
學弟果然偏激。 :-P

1. Breivik 還同時稱讚其他國家,包括日本、南韓並打算與其「結盟」。其他諸國跟 Breivik 劃清界線那是人之常情。墳墓君居然把他拉成同類?這太矯情了吧。自我反省非常高尚,但自污不是。

2. 世間事物皆有「度」。看人不順眼最多是惡不是罪,但是開槍打人就是罪。

3. 移民子女不會自己的母語不用怪政府,該怪父母。我自己就是移民,所以這個我知道。只要父母是抱持著「融入主流社會,其他再說」,即使政府提供絕佳的母語學習課程,那也不會有用。