Welcome , 2012
2011年12月31日 星期六
2011年12月23日 星期五
[記讀] 春宵苦短,少女前進吧
標籤:
閱讀
作者:森見登美彥 原文作者:Morimi Tomihiko 譯者:劉姿君 出版社:麥田 出版日期:2009年09月04日 語言:繁體中文 ISBN:9789861735498 |
荒誕又趣味橫生的小說,只是讓人有點苦惱的是,邊讀,就邊想起那斷讓人發窘又懷念的時光 ....
2011年12月16日 星期五
2011年11月29日 星期二
2011年11月24日 星期四
2011年11月21日 星期一
2011年11月7日 星期一
2011年11月4日 星期五
2011年11月2日 星期三
2011年10月31日 星期一
2011年10月27日 星期四
2011年10月21日 星期五
2011年10月18日 星期二
[記事] 2011.10.18
這女人是轉性了還怎樣 ? 之前「冰與火之歌」好端端的書架上睡覺被看不順眼,不臨幸就算了,還硬是要賣掉人家。事隔多年後,新購入的再版卻連看了兩遍,還頻頻問 : 「第二部呢 ? 第二部呢 ? 」
也好啦,至少不會再賣我的書了..應該吧..再賣我就...我就....我就不跟妳好了 XD (扭/弱
2011年10月15日 星期六
[記遊] Hong Kong (1)
我一直以為我會討厭像香港這種人無敵多無敵擠無敵忙的高度商業化城市,但在盛香園那一帶出人意料地又是舊樓又是小巷又是山城 fu ,我對這種最沒抵抗力了,一見為之傾心,當下把
2011年10月6日 星期四
[記遊] 黑部立山 (1)
十點半到旅館,第一天就這麼過去了。不過不是碰上什麼耽擱,而是本來選的行程就是這樣,最後一天還是一早的飛機哩,家中有兩隻牽掛後,出門個門總要七折八扣,這次要挑戰全程不寄宿,沒大吉那種勇氣,先試個三天吧,要不有個萬一,PDA那婆娘肯定要哭死。
即使是早已知道跟團免不了要走馬看花,即使本來就是來探路的,但導遊在簡介行程的時候,字句中就能感受到的倉促仍讓人惋惜,唉,氣象沒誤報的話三天都是大好天氣,而且還是正對楓紅時耶 ... 算了,探路...探路。
對了,出門前的新聞,又發生大事了,也好,省得這幾天被不斷重覆又重覆的訊息洗腦 ,天可憐見 @@
深夜的名古屋街頭,一些看起來很奇妙的女郎在街頭發著看起來很奇妙的小傳單...只是身邊攀著一隻PDA沒人要發給我,下次再找
當地時間十二點二十三分,肚子好撐,睡不著...對了,英台,你們家的飛機餐又變難吃了 :(
2011年10月5日 星期三
2011年10月3日 星期一
2011年9月30日 星期五
2011年9月26日 星期一
2011年9月19日 星期一
2011年9月10日 星期六
2011年9月7日 星期三
2011年9月4日 星期日
2011年9月2日 星期五
2011年9月1日 星期四
2011年8月31日 星期三
[記事] 2011.08.30
不著邊際的規劃很多、人要很多、資源吃很多、拉攏小朋友的玩具撒很多、批評其他單位的murmur很多,兩年的產能....... 0 ,真的當阿穗那麼憨呀 :p
今天是把人力挪走,明天呢 ?
種的因終要紛紛結成果了,只是...唉,這歲末大戲要是看不到我要怎麼辦啊 XD
今天是把人力挪走,明天呢 ?
種的因終要紛紛結成果了,只是...唉,這歲末大戲要是看不到我要怎麼辦啊 XD
2011年8月26日 星期五
2011年8月25日 星期四
2011年8月21日 星期日
2011年8月17日 星期三
2011年8月14日 星期日
2011年8月12日 星期五
2011年8月11日 星期四
2011年8月9日 星期二
2011年8月8日 星期一
[記讀] 廚房裡的人類學家
標籤:
閱讀
不要隨便讀的一本書,讀不到三分之一敗家李斯特多了長長的一串 XD
p. 027 還真的沒有任何一種活動比洗菜切菜,淘米醃肉樣熟能生巧的機械性動作更能安撫焦慮。
p. 027 做菜的樂趣在於它看得到摸得到,聞得到吃得到,而且有付出必有回饋。看著蔥蒜辣椒劈劈啪啪的在油鍋裡彈跳釋放香氣,酒水注入沸騰瀰漫於空氣中,那種滿足感是非常真切踏實的。
<未完>
p. 027 還真的沒有任何一種活動比洗菜切菜,淘米醃肉樣熟能生巧的機械性動作更能安撫焦慮。
p. 027 做菜的樂趣在於它看得到摸得到,聞得到吃得到,而且有付出必有回饋。看著蔥蒜辣椒劈劈啪啪的在油鍋裡彈跳釋放香氣,酒水注入沸騰瀰漫於空氣中,那種滿足感是非常真切踏實的。
<未完>
2011年8月7日 星期日
2011年7月31日 星期日
2011年7月28日 星期四
2011年7月27日 星期三
[記遊] 2011 尼泊爾 - Never End Peace And Love (4)
真神奇,尼泊爾遊記三號竟然把長據瀏覽排行榜首的PDA巧笑倩兮的UNA食記給擠下去了,除了納悶是誰在看這些東西外 ? 也要血淚控訴這些路過看過卻別說是吱聲了,連張衛生紙都沒留下的 : 白嫖! 你們這樣是白嫖啊~~~XD
2011年7月26日 星期二
2011年7月25日 星期一
2011年7月22日 星期五
2011年7月20日 星期三
[記事] 2011.07.20
其實,在看到兩條線時我也想像電視中演的那樣一把妳抱起轉個幾圈,無奈一手水果刀,一手黏膩的芒果汁,嘴裡還叼著吃剩的芒果子...
所以親愛的老婆,我們晚上重來一次好不好..
所以親愛的老婆,我們晚上重來一次好不好..
2011年7月18日 星期一
2011年7月15日 星期五
2011年7月14日 星期四
2011年7月7日 星期四
2011年7月4日 星期一
2011年7月3日 星期日
2011年6月29日 星期三
[記事] 2011.06.29
- I am good !
- 幸不辱命
- 這一搞,親愛的PDA又想起欠她很久的舊帳 orz
- 我的青春當然寶貴,但在他人眼中多半一文不名,不懂為何親愛的PDA老是要我自找難堪,大概是有到那個品質,所以那婆娘才會那麼介意和別人無償共享我的青春 (「你的青春干我屁事」言猶在耳,這麼快發生轉變,我該感到辛慰 = = ?)。既然如此,以後想要我的青春的請找親愛的PDA仲介。只是啊,當興趣老是要染些銅臭也就實在無趣就是了 (嘆
2011年6月24日 星期五
2011年6月22日 星期三
2011年6月21日 星期二
[記事] 2011.06.21
新家...當然有比較好,但好像也沒好到可以讓我果斷得回答人家「為什麼要搬家? 」這樣的問題。真要說,充其量也只有個說來要討人厭的理由,所以被問十次有十個口不由心的版本...
總之,這個在這五年當中我稱之為家的地方,幾年後再會了。
2011年6月18日 星期六
2011年6月14日 星期二
2011年5月31日 星期二
2011年5月26日 星期四
[記事] 2011.05.25
實在不該對一個有23雙鞋的蜈蚣精慫恿 : 「你穿起來好好看,都買吧」,然後兩雙鞋就吃掉我整季的治裝費,只是看著回家你一路嘴笑眉笑的,算了,誰叫你今天最大,治裝...就晚點吧....
Dear 蜈蚣精, Happy Birthday.
2011年5月24日 星期二
[記事] UMT (TWD97TM2) 轉 WGS84
標籤:
JAVA
public double[] TWD97TM2toWGS84(double x, double y) {
// Ref1 : http://www.uwgb.edu/dutchs/UsefulData/UTMFormulas.htm
// Ref2 : http://blog.ez2learn.com/2009/08/15/lat-lon-to-twd97/
// 修正 Ref2 中lng回傳值 toDegree 設錯地方的Bug
double dx = 250000;
double dy = 0;
double lon0 = 121;
double k0 = 0.9999;
double a = 6378137.0;
double b = 6356752.314245;
double e = Math.sqrt((1-(b*b)/(a*a)));
x -= dx;
y -= dy;
// Calculate the Meridional Arc
double M = y/k0;
// Calculate Footprint Latitude
double mu = M/(a*(1.0 - Math.pow(e, 2)/4.0 - 3*Math.pow(e, 4)/64.0 - 5*Math.pow(e, 6)/256.0));
double e1 = (1.0 - Math.pow((1.0 - Math.pow(e, 2)), 0.5)) / (1.0 + Math.pow((1.0 - Math.pow(e, 2)), 0.5));
double J1 = (3*e1/2 - 27*Math.pow(e1, 3)/32.0);
double J2 = (21*Math.pow(e1, 2)/16 - 55*Math.pow(e1, 4)/32.0);
double J3 = (151*Math.pow(e1, 3)/96.0);
double J4 = (1097*Math.pow(e1, 4)/512.0);
double fp = mu + J1*Math.sin(2*mu) + J2*Math.sin(4*mu) + J3*Math.sin(6*mu) + J4*Math.sin(8*mu);
// Calculate Latitude and Longitude
double e2 = Math.pow((e*a/b), 2);
double C1 = Math.pow(e2*Math.cos(fp), 2);
double T1 = Math.pow(Math.tan(fp), 2);
double R1 = a*(1-Math.pow(e, 2))/Math.pow((1-Math.pow(e, 2)*Math.pow(Math.sin(fp), 2)), (3.0/2.0));
double N1 = a/Math.pow((1-Math.pow(e, 2)*Math.pow(Math.sin(fp), 2)), 0.5);
double D = x/(N1*k0);
//double drad = Math.PI/180.0;
// lat
double Q1 = N1*Math.tan(fp)/R1;
double Q2 = (Math.pow(D, 2)/2.0);
double Q3 = (5 + 3*T1 + 10*C1 - 4*Math.pow(C1, 2) - 9*e2)*Math.pow(D, 4)/24.0;
double Q4 = (61 + 90*T1 + 298*C1 + 45*Math.pow(T1, 2) - 3*Math.pow(C1, 2) - 252*e2)*Math.pow(D, 6)/720.0;
double lat = Math.toDegrees(fp - Q1*(Q2 - Q3 + Q4));
// long
double Q5 = D;
double Q6 = (1 + 2*T1 + C1)*Math.pow(D, 3)/6.0;
double Q7 = (5 - 2*C1 + 28*T1 - 3*Math.pow(C1, 2) + 8*Math.pow(e2,2) + 24*Math.pow(T1, 2))*Math.pow(D, 5)/120.0;
double lon = lon0 + Math.toDegrees((Q5 - Q6 + Q7)/Math.cos(fp));
return new double[] {lat, lon};
}
p.s example
double[] x = TWD97TM2toWGS84(300795.859, 2781073.746);
double[] x2 = WGS84toTWD97TM2( x[0], x[1]);
System.out.println(x[0] + ", " + x[1]);
System.out.println(x2[0] + ", " + x2[1]);
output
25.1372420521456, 121.5037851750446
300795.8619411328, 2781073.7458224166
p.s2 UNIT
UMT: meter
WGS84: degree
// Ref1 : http://www.uwgb.edu/dutchs/UsefulData/UTMFormulas.htm
// Ref2 : http://blog.ez2learn.com/2009/08/15/lat-lon-to-twd97/
// 修正 Ref2 中lng回傳值 toDegree 設錯地方的Bug
double dx = 250000;
double dy = 0;
double lon0 = 121;
double k0 = 0.9999;
double a = 6378137.0;
double b = 6356752.314245;
double e = Math.sqrt((1-(b*b)/(a*a)));
x -= dx;
y -= dy;
// Calculate the Meridional Arc
double M = y/k0;
// Calculate Footprint Latitude
double mu = M/(a*(1.0 - Math.pow(e, 2)/4.0 - 3*Math.pow(e, 4)/64.0 - 5*Math.pow(e, 6)/256.0));
double e1 = (1.0 - Math.pow((1.0 - Math.pow(e, 2)), 0.5)) / (1.0 + Math.pow((1.0 - Math.pow(e, 2)), 0.5));
double J1 = (3*e1/2 - 27*Math.pow(e1, 3)/32.0);
double J2 = (21*Math.pow(e1, 2)/16 - 55*Math.pow(e1, 4)/32.0);
double J3 = (151*Math.pow(e1, 3)/96.0);
double J4 = (1097*Math.pow(e1, 4)/512.0);
double fp = mu + J1*Math.sin(2*mu) + J2*Math.sin(4*mu) + J3*Math.sin(6*mu) + J4*Math.sin(8*mu);
// Calculate Latitude and Longitude
double e2 = Math.pow((e*a/b), 2);
double C1 = Math.pow(e2*Math.cos(fp), 2);
double T1 = Math.pow(Math.tan(fp), 2);
double R1 = a*(1-Math.pow(e, 2))/Math.pow((1-Math.pow(e, 2)*Math.pow(Math.sin(fp), 2)), (3.0/2.0));
double N1 = a/Math.pow((1-Math.pow(e, 2)*Math.pow(Math.sin(fp), 2)), 0.5);
double D = x/(N1*k0);
//double drad = Math.PI/180.0;
// lat
double Q1 = N1*Math.tan(fp)/R1;
double Q2 = (Math.pow(D, 2)/2.0);
double Q3 = (5 + 3*T1 + 10*C1 - 4*Math.pow(C1, 2) - 9*e2)*Math.pow(D, 4)/24.0;
double Q4 = (61 + 90*T1 + 298*C1 + 45*Math.pow(T1, 2) - 3*Math.pow(C1, 2) - 252*e2)*Math.pow(D, 6)/720.0;
double lat = Math.toDegrees(fp - Q1*(Q2 - Q3 + Q4));
// long
double Q5 = D;
double Q6 = (1 + 2*T1 + C1)*Math.pow(D, 3)/6.0;
double Q7 = (5 - 2*C1 + 28*T1 - 3*Math.pow(C1, 2) + 8*Math.pow(e2,2) + 24*Math.pow(T1, 2))*Math.pow(D, 5)/120.0;
double lon = lon0 + Math.toDegrees((Q5 - Q6 + Q7)/Math.cos(fp));
return new double[] {lat, lon};
}
p.s example
double[] x = TWD97TM2toWGS84(300795.859, 2781073.746);
double[] x2 = WGS84toTWD97TM2( x[0], x[1]);
System.out.println(x[0] + ", " + x[1]);
System.out.println(x2[0] + ", " + x2[1]);
output
25.1372420521456, 121.5037851750446
300795.8619411328, 2781073.7458224166
p.s2 UNIT
UMT: meter
WGS84: degree
[記事] WGS84 轉 UMT (TWD97TM2)
標籤:
JAVA
public double[] WGS84toTWD97TM2(double lat, double lon){
// Ref1 : http://www.uwgb.edu/dutchs/UsefulData/UTMFormulas.htm
// Ref2 : http://blog.ez2learn.com/2009/08/15/lat-lon-to-twd97/
// convert from degrees to radians
lat = Math.toRadians(lat);
lon = Math.toRadians(lon);
double a = 6378137.0;
double b = 6356752.314245;
double long0 = Math.toRadians(121);
double k0 = 0.9999;
double dx = 250000;
double e = Math.sqrt(1- Math.pow(b, 2)/Math.pow(a,2));
double e2 = Math.pow(e,2)/(1- Math.pow(e,2));
double n = (a-b) / (a+b);
double n2 = n*n;
double n3 = n*n*n;
double n4 = n*n*n*n;
double n5 = n*n*n*n*n;
double nu = a / Math.sqrt(1- Math.pow(e,2) * Math.pow(Math.sin(lat),2));
double p = lon - long0;
double A = a * (1 - n + (5/4.0)*(n2-n3) + (81/64.0)*(n4 - n5));
double B = (3*a*n/2.0)*(1 - n + (7/8.0)*(n2 -n3) + (55/64.0)*(n4 - n5));
double C = (15*a*n2/16.0)*(1 - n + (3/4.0)*(n2 - n3));
double D = (35*a*n3/48.0)*(1 - n + (11/16.0)*(n2 - n3));
double E = (315*a*n4/51.0)*(1-n);
double S = A*lat - B*Math.sin(2*lat) + C*Math.sin(4*lat) - D*Math.sin(6*lat) + E*Math.sin(8*lat);
double K1 = S*k0;
double K2 = k0*nu*Math.sin(2*lat)/4.0;
double K3 = (k0*nu*Math.sin(lat)*(Math.pow(Math.cos(lat),3)/24.0)) * (5 - Math.pow(Math.tan(lat), 2) + 9*e2*Math.pow(Math.cos(lat),2)) + 4*Math.pow(e2,2)*Math.pow(Math.cos(lat), 4);
double y = K1+K2*Math.pow(p,2) + K3*Math.pow(p, 4);
double K4 = k0*nu*Math.cos(lat);
double K5 = (k0*nu*Math.pow(Math.cos(lat), 3)/6.0) * (1-Math.pow(Math.tan(lat),2) + e2*Math.pow(Math.cos(lat), 2));
double x = K4*p + K5*Math.pow(p, 3) + dx;
return new double[] {x,y};
}
// Ref1 : http://www.uwgb.edu/dutchs/UsefulData/UTMFormulas.htm
// Ref2 : http://blog.ez2learn.com/2009/08/15/lat-lon-to-twd97/
// convert from degrees to radians
lat = Math.toRadians(lat);
lon = Math.toRadians(lon);
double a = 6378137.0;
double b = 6356752.314245;
double long0 = Math.toRadians(121);
double k0 = 0.9999;
double dx = 250000;
double e = Math.sqrt(1- Math.pow(b, 2)/Math.pow(a,2));
double e2 = Math.pow(e,2)/(1- Math.pow(e,2));
double n = (a-b) / (a+b);
double n2 = n*n;
double n3 = n*n*n;
double n4 = n*n*n*n;
double n5 = n*n*n*n*n;
double nu = a / Math.sqrt(1- Math.pow(e,2) * Math.pow(Math.sin(lat),2));
double p = lon - long0;
double A = a * (1 - n + (5/4.0)*(n2-n3) + (81/64.0)*(n4 - n5));
double B = (3*a*n/2.0)*(1 - n + (7/8.0)*(n2 -n3) + (55/64.0)*(n4 - n5));
double C = (15*a*n2/16.0)*(1 - n + (3/4.0)*(n2 - n3));
double D = (35*a*n3/48.0)*(1 - n + (11/16.0)*(n2 - n3));
double E = (315*a*n4/51.0)*(1-n);
double S = A*lat - B*Math.sin(2*lat) + C*Math.sin(4*lat) - D*Math.sin(6*lat) + E*Math.sin(8*lat);
double K1 = S*k0;
double K2 = k0*nu*Math.sin(2*lat)/4.0;
double K3 = (k0*nu*Math.sin(lat)*(Math.pow(Math.cos(lat),3)/24.0)) * (5 - Math.pow(Math.tan(lat), 2) + 9*e2*Math.pow(Math.cos(lat),2)) + 4*Math.pow(e2,2)*Math.pow(Math.cos(lat), 4);
double y = K1+K2*Math.pow(p,2) + K3*Math.pow(p, 4);
double K4 = k0*nu*Math.cos(lat);
double K5 = (k0*nu*Math.pow(Math.cos(lat), 3)/6.0) * (1-Math.pow(Math.tan(lat),2) + e2*Math.pow(Math.cos(lat), 2));
double x = K4*p + K5*Math.pow(p, 3) + dx;
return new double[] {x,y};
}
2011年5月14日 星期六
[記事[ 2011.05.12
阿彌陀佛
Ref: http://mrjamie.cc/2011/05/02/programming-top-10/
Top 10 Things Ten Years of Professional Software Development Has Taught Me
Ref: http://mrjamie.cc/2011/05/02/programming-top-10/
Top 10 Things Ten Years of Professional Software Development Has Taught Me
- 物件導向比你想像中的還難,很多
每個剛畢業的都滿口 OO,喵的 !
- 程式設計師最重要的技能:溝通
這難度大概跟期望我家的喵會說話一樣高
- 你必須要學會說「不」
如果不怕被討厭的話
- 如果所有的事項都一樣重要,那意思是它們都不重要 — 無論如何必須把先後順序排出來,千萬別把事情複雜化
不但要把事情複雜化,太無聊的話還要製造人家沒辦法解決的問題
- 深入問題的核心,但是不要被困住了
永遠從問題的表面漂到另一個問題的表面
- 非常清楚的了解其他人在做的事情,無論是行銷、設計、客服
太了解了,了解到都能放著程式不寫來行銷、設計、客服!
- 你的同事就是你最好的老師 (你該試試 Pair Programming)
謝謝Garlic (無誤)!
- 無論如何最後的產品必須是好用的
對老闆昇遷沒幫助 ? 零分 !!
- 這世界上總會有一些混蛋
True! 但 ! 自古文人相輕,對,所以你永遠是別人眼中的混蛋 !
- 第一個版本就想做太多功能
不包個山包個海怎麼把專案Deadline拉到千秋萬歲 ?
- 採用太新的技術平台
虛擬化、雲端、分散式計算、還有什麼少了...hmm..
- 「複雜的問題,需要複雜的解法…」
不搞個狗兒生病不能自己檢查的演算法怎麼對得起抬青椒這塊招牌
- 團隊人手不足
人很多,都在做不同的事或..用嘴在做事
- 成員開始隱藏進度落後的事實和原因 (Schedule Chicken)
大家捏造人頭投報名表,大家領獎金,報名數不足 ? 都拿了錢大家都別追究了 !?
- 不斷更改、增加的需求 (Scope Creep)
誰不知道Requirement 的世界裡唯一不變的就是變 !
- 不知道客戶在哪裡
至少有一個呀,不是負責的人,就是老闆 !
- 2.0 症候群 — 後繼版本非要更大、更強、更美 (Second System Syndrome)
No comment!
- 與公司裡面另一個很有份量的產品競爭 (這在創業團隊應該不可能發生)
誰有份量 ? 是我才好唄,你不要來跟我競爭 = = !
- 根本從一開始就選了一個你無法解決的大問題
嘴砲就好了,誰在跟你解決問題 ? 製造下一個”需要人"來解決的問題才卡位才是王道!!
2011年5月4日 星期三
2011年5月3日 星期二
2011年5月2日 星期一
2011年4月28日 星期四
2011年4月20日 星期三
2011年4月1日 星期五
2011年3月30日 星期三
2011年3月24日 星期四
[記事] URLEncode NSString in Big5
標籤:
Objective-C
Quick note:
UInt32 big5 =
CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingBig5_HKSCS_1999);
NSString *str = @"這不是中文";
NSString *big5EncStr = [str stringByAddingPercentEscapesUsingEncoding:big5];
然後就可以拿來丟只認得Big5的老古董Web Server
照例補個幹...
Big5過不過時見人見智,但那有人Request 吃Big5 Response 吐 UTF-8的啦 = = !
相關連結:
NSStringEncoding
.
UInt32 big5 =
CFStringConvertEncodingToNSStringEncoding(kCFStringEncodingBig5_HKSCS_1999);
NSString *str = @"這不是中文";
NSString *big5EncStr = [str stringByAddingPercentEscapesUsingEncoding:big5];
然後就可以拿來丟只認得Big5的老古董Web Server
照例補個幹...
Big5過不過時見人見智,但那有人Request 吃Big5 Response 吐 UTF-8的啦 = = !
相關連結:
NSStringEncoding
.
2011年3月22日 星期二
2011年3月2日 星期三
2011年2月15日 星期二
訂閱:
文章 (Atom)