Backward

Backward is a useful tool for C++ developers for diagnosing bugs.

In a nut shell, when a program terminates abnormally, Backward prints out the line in the source code that causes the trouble. It does this by catching signals and relies on either elfutils or GNU/binutils libraries to print out the debugging symbols in the executable.

To use it is as simple as 1, 2 3:

  1. include backward.hpp in the source file
  2. compile the source code with debugging symbols. i.e. compile with -g flag.
  3. link with elfutils or GNU/binutils library
Posted in Software Development | Leave a comment

美國訂雜誌心得

(原文轉自我fb) 這一年訂了很多雜誌:

以前在台灣時就曾經訂過一些英文雜誌,但這些雜誌在台灣都很貴。相較之下在美國雜誌很便宜,所以沒花多少錢,有些甚至不用錢。

一些心得:

The Economists是其中最挑戰的,因為每周一期,每一期厚厚一疊,內容、用字遣詞又很專業,看得很累。三年前就訂過一次The Economists,那時覺得很挑戰,現在想說美國待久了英文比較好,但還是覺得相當挑戰。相較之下其他新聞性周刊Time, Businessweek, Newsweek就輕鬆多了。雖然叫經濟學人,但其實內容基本上是濃縮整理版的當周國際新聞,對於了解國際大事很有幫助。

科學性雜誌中,Popular Science內容很灌水,根本就是廣告型錄,廣告比內文還多,內容大都跟science無關,較多報導科技、各種gadget的新聞,還好我是免費訂的。Discover比較有內容, NGM是其中最好的,而且也不貴。曾經想訂Scientific American(科學人)但一年要$30超出預算了。Reader’s Digest跟Inc都還沒時間讀…

電子版

這些雜誌有些提供免費電子版給訂戶:The Economists、Time、Businessweek、NGM。要省錢的話可以一個人訂,看印刷版,一個人看電子版。

價格:

The Economists免費,因為是在MagsForMiles.com用飛機哩程換的,只要3200哩就能換到,同一個兌換網站還有很多其它雜誌可以換。Time好像是兩年$25, Businessweek之前也是免費,填個問卷就有了。Popular Science免費,也是填問卷送的,Discover好像一年$4,之前趁特價在DiscountMagzine訂的。 NGM之前特價一年$9,是在facebook上旁邊的廣告連結看到的。Reader’s Digest跟Inc是Zinio電子版,之前有促銷只要註冊帳號就送免費credit。免費雜誌的情報我通常是看slickdeals論壇的討論。

評價:

Time是我最喜歡的新聞雜誌,NGM是我最愛的科學/自然雜誌。以後想挑戰Smiththonian 雜誌,感覺好像也不錯

Posted in Life, Mandarin Posts | Leave a comment

Summer Research Grant

I received summer research grant again this year!

申請到暑假研究獎金囉! 雖然這沒什麼特別的 (好像申請就能拿得到?),但畢竟有錢拿就開心! 暑假確定有薪水,加上今年退稅的錢(在美國滿五年變成resident allien身份後退很多),一整個心情大好。

Posted in English Posts, Life, Mandarin Posts | Leave a comment

鍵盤創業家

很討厭”鍵盤創業家” (原文轉自我fb)
ptt網路創業版上常看到一種文章,說他有個超棒的點子,需要找人寫程式,但沒有錢,希望等成功以後再分紅等等

這簡直就是無本萬利! 如果這樣也可以,那我應該馬上找人去做一個給寵物用的facebook, 再找人做給老人交友的facebook, 再做個給小baby的媽媽們的facebook…..一口氣做十個網站,創業成功率低沒關係,十個總有一個會成功吧,我只要有點子,分發出去,等兩年後我就可以空手套白狼了。

有個點子是頗重要的,但更重要的是執行。要別人為你免費寫程式,憑什麼? 一個除了點子什麼都沒有的人誰會想跟? 最起碼也說一下經歷吧,例如在這之前開過幾間公司等等。如果想做網路創業除了點子什麼都沒有,這成功的機率也太低了,應該很少人想冒這個險。要人免費付出等成功之後再分紅,但連個business plan都沒有要怎樣保證成功?

軟體成本低嗎? 軟體很容易免費取得、使用 (例如google, facebook不用錢),但並不代表軟體不用錢。google, facebook不用錢是因為它們的business model不是使用者付費而是廣告商付費。就像電視節目一樣,看電視不用錢不代表節目製作不用錢,而且事實上製作電視節目、請明星上節目的費用貴到翻了。

Posted in Life, Mandarin Posts | Leave a comment

美國辦手機心得

這幾年辦過很多支手機門號,也處理過很多手機相關的問題。這其中發現很多人因為不了解美國電信業者的遊戲規則,多花了很多不必花的錢,所以我想在這裡分享一些經驗,這些經驗應該是全美國都通用的。

  • Prepaid

通常會建議剛來的新生先辦一支prepaid phone。美國有非常多prepaid phone電信業者,在機場或者超市都很容易找得到: AT&T, Verizon, T-mobile, Virgin, TracFone, Net10, Boost Mobile等等。我自己評估過認為TracFone的費率最便宜(如果有買到double minutes的話,買60分鐘會再送60分鐘,只要$20可以用三個月)。之後要加值的話,線上就可以加值了。可以在TracFone官網上加值,或者在CallingMart買會便宜一點

  • Family Plan

West Lafayette這裡的台灣人大多是用AT&T門號。如果不用預付卡(prepaid),就是要綁約綁兩年。AT&T門號有兩種,一種是individual plan,顧名思義是一個人辦一個號碼,另一種是family plan,FP則是一個人辦多支號碼,平均起來費率比較便宜。舉例來說,invididual plan通話費至少$39.99/mo。而family plan通話費平均分攤最低一人是$19.99(以700分鐘兩人基本費率$69.99、外加三人$9.99*3計算)

700分鐘五人分攤聽起來不太多,但AT&T網內免費不算分鐘數,晚上跟周末也是免費時段,再加上AT&T可以rollover─打不完的分鐘數可以累績到下個月使用,所以大部份情況都打不完。

AT&T的基本plan並沒有包括簡訊。text是pay-per-use,一封$0.2非常貴,而且收、發雙方都要收錢。如果一個月簡訊使用量超過100封以上的話,可以買unlimited messaging plan,一個月$20。如果同一個family plan有兩個人簡訊用量很大的話,family plan unlimited messaging plan是一個月$30,比較划算。美國年輕人很喜歡傳簡訊,他們通常都有買unlimited messaging plan,如果有很多美國朋友的話可以考慮這個選項。

AT&T Wireless Rate to Taiwan

AT&T Wireless Rate to Taiwan

AT&T門號撥打國際電話非常昂貴(費率表),一分鐘$3.49(台灣市話)~$3.57(台灣手機)美元。如果有需要的話可以加購一個月$3.99的plan,如此一來費率會降到一分鐘$0.08~$0.16美元。請注意:撥打國際電話並沒有免費時段。當然啦,最便宜的方式還是改用Skype或Google Voice其它網路電話。AT&T門號接國際電話也是要錢的,但費率就跟接一般電話一樣,是算在網外分鐘數。

AT&T的費率說明請參照這裡

  • Purdue折扣

AT&T提供Purdue學生、教職員工20%折扣。詳情請見這裡。要享有此折扣,可以在申辦手機時跟店員出示Purdue學生證,或者提供Purdue email,會寄一封信到Purdue email去認證身份。根據AT&T店員所說,如果是family plan,20% off僅適用於最基本的費率部份(如700分鐘$69.99),而每多一個門號增加$9.99的部份並沒有打折。data plan的部份,現在必須用$50/5GB的方案以上才有折扣。

  • 辦手機

很多人不知道的是,辦AT&T門號不一定要去AT&T門市辦:Amazon, Apple Store (線上/實體店內), Bestbuy(線上/店內), RadioShack, Fry’s, Wal-Mart, Target, Meijer, Sam’s Club, Costco等等都能辦,可以辦prepaid也能辦contract phone, 可以辦一整組新的family plan、可以加新的門號(add a new line)、也能升級(upgrade)。而且往往會比在AT&T辦更便宜。至於那間店最便宜?很難講,因為每間店都有自己的特價時段,我只能說Apple Store的iphone從來沒有打折,AT&T也幾乎沒有打折(就算有也是最少的)。同一款手機在不同地方售價可以差到一百多美元。

AT&T門市雖然很少有折扣,但AT&T有referral program。介紹朋友辦AT&T門號可以拿介紹費$25,被介紹人也可以拿$25,算是不無小補。

AT&T辦新門號要activation fee $36,所以要省錢最好是接別人畢業不要的舊門號。舊門號還有一個好處:AT&T近年來一直調整費率,以前data plan還有200mb/$15,現在最低都要$20了,但AT&T不會自動調漲舊客戶的data plan費率,所以舊門號還能使用$200mb/$15費率。一旦舊門號調成其它的費率(如3GB/$30),就不能再調回$15的費率了。雖然說一般AT&T合約要綁兩年,但一個門號只要之前的合約有滿一年半就可以正常綁約價買手機(未滿一年半仍可升級,但手機價格介於空機價與綁約價之間,不太划算),所以可先從台灣自備手機來用舊號碼,等想要的手機上市後再綁約買新機。

  • 押金 (deposit)

在美國,信用(credit history)是很重要的紀錄,辦手機、網路、水電瓦斯都要看SSN查信用紀錄。對於AT&T來說,沒有信用紀錄(所有剛來美國的台灣新生)比很差的信用更慘。如果去AT&T 辦門號沒有SSN,或者SSN剛拿到沒有信用紀錄,一個門號最多要抵押$500(美元,不是台幣)押金,要放一年才會退回。如果一口氣辦了一整個family plan五支門號最多要抵$2500。所以剛來美國通常是找已經在美國待一陣子的舊生開family plan,比較不會有押金的問題。對同一個人來說,不管在那裡辦門號,押金的金額都是一樣的。

  • 空機 (full price phone)

一般零售店只賣綁約機(contract phone),所以如果要買空機,就只能在AT&T門市或AT&T網站上買(Apple Store有賣iPhone空機)。在美國買空機跟在台灣買不一樣,美國手機有分locked/unlocked版本,unlocked的手機可以用在各家電信公司沒有限制,就跟台灣一樣,而locked手機就只能搭配該公司的門號。

AT&T會自動偵測手機型號,如果是smart phone的話,即使是沒有綁約、從台灣帶來的,AT&T都會自動加上data plan。不過prepaid門號是例外,用prepaid門號AT&T不會自動加data。詳情請參照這裡。據說AT&T的prepaid門號也可以使用iphone的data,我沒試過。詳情請見這篇ptt留學板的教學

  • Data

美國可以用台灣的smart phone,但有幾點要注意:AT&T跟台灣的3G頻率不盡相同,我曾遇過台灣的smart phone不能用AT&T的3G頻率,只改用非常慢的2G網路,遇到這種情況就只能改用T-mobile了。不過大部份台灣的smart phone應該都能用3G。如果是Android手機,必須修改手機內的APN網路設定才能連接到正確的AT&T網路,請參考這個網頁設定。

台灣的iphone可以直接攜至美國搭配AT&T門號使用,不用設定。

  • 門號給別人(Transfer Billing Responsibility)

前文提到接手畢業生不要的門號的前提是family plan只認當初辦手機的”頭”,雖然真正使用者是五個人,但對AT&T來說他們紀錄上是當作一個人辦五個號碼/手機。在這種情況之下family plan只要不是當初辦手機的”頭”要離開,AT&T根本就不會知道,門號可以自由交換。

如果family plan的”頭”準備要走了,要把門號交給別人的話,必須要”transfer billing responsibility”。這個設定可以在店內、客服電話或att.net線上辦理,在店內或打客服要手續費: 轉移一個門號$18,但線上處理不用手續費。線上辦理非常容易:登入at&t網站選擇myAT&T->Bill & Payments->Billing->transfer billing responsibility”,選擇要轉出的號碼,輸入未來family plan的頭的姓名及email,對方會收到來自AT&T的信,信中會有轉入門號的instruction。值得注意的是,如果轉入者(transferee)信用分數不夠,還是得到AT&T門市繳交押金,但不會再收取轉移門號手續費。辦理轉移門號最好是在billing cycle截止前辦理,因為AT&T月租費是”pro-rated”,即本月收取的是下個月的基本月租費,而門號轉移AT&T並不會把剩下天數的費用退回,假設剛好是在billing cycle一開始辦理轉移,等於整整白繳一個月的費用。

以上資訊是近年來跟AT&T打交道的心得,由於AT&T是營(ㄎㄥ)利(ㄑ一ㄢˊ)事業,所以手續費、各項費率會不定期調漲,詳情以AT&T網站公告為主。如果以上資訊有任何錯誤,煩請不吝指教。

Posted in Life, Mandarin Posts | Tagged , , , | Leave a comment

GCC 4.8.0

GCC 4.8.0 is released recently and I’ve been testing it against Mace.

Interestingly starting from gcc 4.8.0, g++ uses a new error reporting format similar to LLVM/Clang which shows exactly where the error comes from (see: Expressive Diagnostics in Clang), unlike in the previous versions where the compiler only indicates which line it is. In the case where the error is inside a macro, it also expands the macro and shows where exactly the error resides. (nice feature)

However, gcc 4.8.0 added a new warning: -Werror=unused-local-typedefs for typedefs that are locally defined but not used (which is annoying). This new warning breaks several well known systems, in particular V8 engine and Boost library. Because it emits warning when compiling boost header files and mace regards warnings as errors, gcc 4.8.0 does not compile mace. A temporary workaround is to disable the warning (cmake -D CMAKE_CXX_FLAGS=-Wno-unused-local-typedefs)

The latest boost repo eliminated some of the unused local typedefs, but not all. I made a patch to eliminate the rest of the unused local typedefs and submitted to boost. Hope this patch will appear in the next boost revision! https://svn.boost.org/trac/boost/ticket/8546

Posted in English Posts, mace, Software Development | Leave a comment

Summer Plans

End of the semester and end of my fifth year at Purdue!

Time to move forward and plan for the summer. I’ll plan for a road trip, and work on a research paper or two. Other than that, I am planning to learn something more: I want to get started learning OpenStack, node.js, V8 engine. I’ll also spend some time writing a business plan.

Oh, and prepare for my prelim :)

Hoping to get out of Purdue by the end of next year. Not that I don’t like Purdue. I love Purdue and I love West Lafayette, but it’s about time to grow up and make changes to this world!

Posted in English Posts, Life | Leave a comment