存档七月 28, 2006
正确地生活,正确地工作
昨天晚上看到一个很“干”的节目,给大家说说。
一个女的,十分想要小孩,然后怀孕了,然后去妇幼保健院做检查,化验单上说是弓形虫病,会影响到小孩。这个女的很紧张,跟家里人商量了两天,去医院把小孩做掉了。
节目看到这里,几乎大部分人用大腿想都能想到,这个女的没有弓形虫病,医院检查错了,恭喜大家都答对了。虽然电视里面还卖力的想说一些悬念,我却失去了看下去的兴致,换台了。
这个女的没有那种弓形虫病,但是得了“无逻辑思考,做事乱糟糟”病,这个病后患无穷。而且在中国得这种病的人不在少数。
为什么这样说?
这件事情正确的步骤是,首先确认是不是真的得病了。怎么确认?最好的办法是去另一家医院,不同医院同时误诊的概率还是比较小的。有她在家里想两天的功夫,基本上第二次检查都能做完了。怕花钱?这不太可能吧,作一个流产和作一次检查哪个更花钱?
所以说,我们接受教育,不只是接受那些可能将来毫无用处的知识,而是接受一种正确进行逻辑思考的方式。(新东方老罗,罗永浩,在新东方教的就是逻辑,他经常说得就是“逻辑混乱了”)这个女的很可怜,但是可怜之人必有可恨之处,自己首先就有大问题,再去找医院也没有什么用。
工作也是如此,我们公司有个不成文的要求,不同部门或者同事之间的一些决定,需要进行double check,也就是开完会以后,将会议记录发给每个人,保证彼此理解的正确。
这个女的,缺的就是double check双重确认。
使用mapbar.com查询公交车换乘路线
今天,因为要找一条交通路线去某个地方,不知道如何换乘,于是上网查询。
百度、go2map(现在是搜狗的了)还有大连公交网全都是柄锤(大连话,很没前途的意思)。
好在终于找到了mapbar.com,线路准确,速度也快。实在真的很方便。又来大连玩的朋友也可以提前用它查询一下旅游线路。
神雕侠侣最高潮
神雕侠侣最为高潮的一段,毫无疑问就是下面这段了。后面的杨过小龙女相见的大团圆场面,应该是为了照顾读者的情绪(万一读者一怒,再也不看金庸,那岂不糟糕)。连作者都觉得这样的狗尾续貂有些多余,在后面的蒙古大军一战中,幸福的杨过甚至武功大退,连“黯然销魂掌“都使不出来。
问世间情为何物,只教人生死相许。金庸在《神雕侠侣》里反反复复的铺陈这一个旋律。从李莫愁苦恋陆展元,王重阳与祖师婆婆的矜持之苦,杨过与小龙女的等待之苦,郭襄与杨过的无望之苦,郭靖与黄蓉的情深意重,种种深情如许,偏偏生死与共。
论写情,金庸毫不亚于琼瑶,甚至在某些地方还要更深沉。在绝情谷里,杨过长袖善舞、剑影飘飘,口诵的那首诗也很有名:“茕茕白兔,东走西顾,衣不如新,人不如故“。难怪公孙止见了两人如此相爱,都要发狂了。
实话说,张纪中版的《神雕侠侣》拍的真不错,很尊重原著的风格,将一个“情“字演绎的很完美。另外,片头曲和片尾曲也都很好听。
第三十八回 生死茫茫
此刻再临旧地,但见荆莽森森,空山寂寂,仍是毫无曾经有人到过的迹象,当下奔到断肠崖前,走过石壁,抚着石壁上小龙用剑尖划下的字迹,手指嵌入每个字的笔划之中,一笔一划的将石缝中的青苔揩去,那两行大字小字显了出来。他轻轻的念道:“小龙女书嘱夫君杨郎,珍重万千,务求相聚。”一颗心不自禁的怦怦跳动。
这一日中,他便如此痴痴的望见着那两行字发呆,当晚绳索双树而睡。次日在谷中到处闲游,见昔年自己与程英、陆无双铲灭的情花花树已不再重生,他戏称之为“龙女花”的红花却开得云霞灿烂,如火如锦,于是摘了一大束龙女花,堆在断崖的那一行字前。
这般苦苦等候了五日,已到三月初七,他已两日两夜未曾交睫入睡,到了这日,更是不离断肠崖半步,自晨至午,更自午至夕,每当风动树梢,花落林中,心中便是一跳,跃起来四下里搜寻观望,却那里有小龙女的影踪?自从听了黄药师那几句话后,他早知“大智岛南海神尼”云云,乃是黄蓉捏造出来的鬼话,但崖上字迹确是小龙女所刻,却半点不假,只盼她言而有信,终来相会。眼见太阳缓缓落山,杨过的心也是跟着太阳不断的向下低沉。当太阳的一半被山头遮没时,他大叫一声,急奔上峰。身在高处,只见太阳的圆脸重又完整,心中略略一宽,只要太阳不落山,三月初七这一日就算没过完。
可是虽然登上了最高的山峰,太阳最终还是落入了地下。悄立山巅,四顾苍茫,但觉寒气侵体,暮色逼人而来,站了一个多时辰,竟是一动也不动。再过多时,半轮月亮慢慢移到中天,不但这一天已经过去,连这一夜也快过去了。
小龙女始终没有来。
他便如一具石像般在山顶呆立了一夜,直到红日东升,四下里小鸟啾鸣,花香浮动,春意正浓,他心中却如一片寒冰,似有一个声音在耳际不住响动:“傻子!她早死了,在十六年之前早就死了。她自知中毒难愈,你决计不肯独活,因此图了自尽,却骗你等她十六年。傻子,她待你如此情义深重,你怎么到今日还不明白她的心意?”
他犹如行尸走肉般踉跄下山,一日一夜不饮不食,但觉唇燥舌焦,于是走到小溪之旁,掬水而饮,一低头,猛见水中倒影,两鬓竟然白了一片。他此时三十六岁,年方壮盛,不该头发便白,更因内功精纯。虽然一处艰苦颠沛,但向来头上一根银丝也无,突见两鬓如霜,满脸尘土,几乎不识得自己面貌,伸手在额角鬓际拔下三根头发来,只见三根中倒有两根是白的。
霎时之间,心中想起几句词来:“十年生死两茫茫,不思量,自难忘。千里孤坟,无处话凄凉。纵使相逢应不识,尘满面,鬓如霜。”这是苏东坡悼亡之词。杨过一生潜心武学,读书不多,数处前在江南一家小酒店壁上偶尔见到题着这首词,但觉情深意真,随口念了几遍,这时忆及,已不记得是谁所作。心想:“他是十年生死两茫茫,我和龙儿已相隔一十六年了。他尚有个孤坟,知道爱妻埋骨之所,而我却连妻子葬身何处也自不知。”接着又想到这词的下半阕,那是作者一晚梦到亡妻的情境:“夜来幽梦忽还乡,小轩窗,正梳妆;相对无言,惟有泪千行!料想年年肠断处,明月夜,短松岗。”不由得心中大恸:“而我,而我,三日三夜不能合眼,竟连梦也做不到一个!”
猛地里一跃而起,奔到断肠崖前,瞧着小龙女所刻下的那几行字,大声叫道:“‘十六年后,在此相会,夫妻情深,勿失信约!’小龙女啊小龙女!是你亲手刻下的字,怎地你不守信约?”他一啸之威,震狮倒虎,这几句话发自肺腑,只震得山谷皆鸣,但听得群山响应,东南西北,四周山峰都传来:“怎地你不守信约?怎地你不守信约?不守信约……不守信约……”
他自来生性激烈,此时万念俱灰,心想:“龙儿既已在十六年前便即逝世,我多活这十六年实在无谓之至。”望着断肠崖前那个深谷,只见谷口烟雾缭绕,他每次来此,从没见到过云雾下的谷底,此时仍是如此。仰起头来,纵声长啸,只吹得断肠崖上数百朵憔悴了的龙女花飞舞乱转,轻轻说道:“当年你突然失踪,不知去向,我寻遍山前山后,找不到你,那时定是跃入了这万丈深谷之中,这十六年中,难道你不怕寂寞吗?”
泪眼模糊,眼前似乎幻出了小龙女白衣飘飘的影子,又隐隐似乎听到小龙女在谷底叫道:“杨郎,杨郎,你别伤心,别伤心!”杨过双足一登,身子飞起,跃入了深谷之中……
郭襄随着金轮法王,同到绝情谷来。法王狠辣之时毒逾蛇蝎,但他既存收郭襄作衣钵传人,沿途对她问暖嘘寒,呵护备至,就当她是自己亲生女儿一般。郭襄恨他掌毙长须鬼和大头鬼,神色间始终是冷冷的。法王一生受人崇仰奉承,在西藏时俨若帝王之尊,便是大蒙古的四王子忽必烈,对他也是礼敬有加。但小郭襄一路上对他冷言冷语,不是说他武功不如杨过,便是责他胡乱杀人,竟将这个威震异域的大蒙古第一国师弄得哭笑不得。
这一日两人走到绝情谷,忽听得一人大声叫道:“怎地你不守信约?”声音充满着悲愤、绝望、痛苦之情。
郭襄听来,似乎四周每座山峰都在凄声叫喊:“你不守信约,你不守信约!”她吃了一惊,叫道:“是大哥哥,咱们快去!”说着抢步奔进谷中。金轮法王大敌当前,精神一振,从背上包袱中取出金银铜铁铅五轮拿在手里。这时他虽已将“龙象般若功”练到第十层,但想这十六年中,杨过和小龙女也决不会浪费光阴,搁下了功夫,因此丝毫不敢轻忽。
郭襄循声急奔,片刻间已至断肠崖前,只见杨过站在崖上数十朵大红花在他身旁环绕飞舞。她见那悬崖生得凶险,自己功夫低浅,不敢飞身过去,叫道:“大哥哥,我来啦!”但杨过凝思悲苦,竟是没有听见,郭襄遥遥望见他举止有异,叫道:“我这里尚有你一枚金针,须听我话,千万不可自尽……”一面说,一面便从石梁往悬崖上奔去。她奔到半途,只见杨过纵身一跃,已坠入下面的万丈深谷之中。
这一来郭襄只吓得魂飞魄丧,当时也不知是为了相救杨过,又或许是情深一往,甘心相从于地下,双足一登,跟着也跃入了深谷……
如何写一份好的工程师简历(转载)
个人认为这是一个很好的写简历的Guide,尤其对搞IT的人而言。
-------------------------------
2006年6月14日 上午 10:15:00
发表者:王忻,Google 工程师最近三年作为 Google(谷歌)的软件工程师,我每周会帮人事部门审查简历,决定要不要给他们面试。Google 这几年的发展让很多许多优秀的工程师都前来申请。到目前为止,我已经看了上千份简历,有些简历留下的印象比别的好很多。尤其是最近亲戚朋友常常问我如何修改他们的简历,所以我积累了一些常见的错误避免的提议,在此跟大家交流一下。
1.谈到你做过的技术时,应该提到用的程序语言、你的个人贡献和产品细节。
有时我看到有人把过去的经验在简历上一笔带过,比如说:
• 在三人小组里,为电子邮件软件写了些 features。
这是远远不够的,看简历的人希望了解你做的工作的难度和对本公司有多少联系,所以你最好写的具体一些。譬如:
• 用 C++ 语言写了网络电子邮件的自动 backups。在三人小组里,专门负责设计和写储存服务器。从设计开始, 一年后把这个功能 feature 的用户推到了三千。
2.多讲事实, 少用形容词。
看简历的人读你的简历时,需要做判断,所以在简历里需要事实和数目。如果你写“迅速的提高了软件的操作效率”,看简历的人很难判断你成就的难度。但如果你写“在3个星期内,把软件的操作效率提高了40%” 就好多了。
有些谦虚的朋友们不愿意把话说满,所以你也可以用这个办法。你如果说自己“突出”或“在项目上常常被请去救火”,听起来难免会有点骄傲。但你也可以用不能否认的事实来说明你的观点,如“《纽约日报》评这个产品为‘突出’”,或“加入了三个原本已落后于计划的项目小组,但经过努力和组员一起把它们都按时完成了。”
3.你获得的奖、商业的荣誉或表扬、受用户欢迎的产品和你做过的有难度的业余项目都该包括在简历里。
我有位朋友在硅谷一个著名的硬件公司做了六年,她设计的 IP phone(网络电话)为公司赚了上亿的收入,被公司与商业报道多次评了奖。我有一次在旧金山的高速公路上驾车时,看到路边有她产品的广告牌;还有一次我去上海度假时,竟然发现上海公路边上也有!
不久,这位朋友决定换工作,请我看看她的简历。我惊讶的发现,她居然轻描淡写的写了一句– “1998 – 2004:网络电话产品的硬件工程师组长” 和她的职责。
“产品赢的奖呢?它为公司赚的钱呢?” 我追问到。
“那些也该写吗?” 她说。
当然该写。
有人问,业余时间做的项目可不可以写?我觉得只要你的项目有代表性能说明对你的能力,都该包括。
4.分清主次,删掉相比之下不起眼的成绩,以免冲淡更加突出的成绩。
有朋友问,写简历是不是写的越多越好?譬如:
在甲公司做暑假实习生——
* 改善电子游戏的数值分类算法, 减少了内存要求 10%。
* 用 Java 写了 3000 行用户界面程序。
* 每周做两小时的人工测试。你在申请软件工程师的职位时,我觉得前两点比较相关,第三点其实就不必写了。有时我看到有的简历里会提到,”按时完成了任务,产品符合原计划规格”。但读简历的人通常会认为这是理所当然的,而你把这些声明出来反而减弱简历的效果。
写一份简历不容易,但写好了也会带来成就感 (和好工作!)。
Dreamhost使用java操作mysql数据库
Dreamhost使用java操作mysql数据库,Rome fetcher试验成功
归类于 技术心得, 爸爸说
因为对java不是很熟悉,以前感觉这个任务挺麻烦的,连人都愁的衰老了好几岁。
但是现在好了,我们有了NetBeans,NetBeans,用用更健康。
NetBeans写java,你好我好它也好。
以上的是NetBeans赞助的广告时间,废话不必多说,上源代码。
准备步骤:先从mysql网站下载了java驱动的3.1版本,然后使用NetBeans5.5编写,只要把解压后的jar添加到项目的library列表里就行了。
运行以后,真的见到了期待中的结果“success”,太爽了。Dreamhost的java版本是1.5.0_02,也就是说,比较新的特性都能够支持(当然,不能支持jsp和j2ee,只是一般的语言特性)。
如果能够运行成功java的ROME库,那我就可以达到使用java作为后台处理的目的了。
另外,import不用写mysql什么的,我猜想应该是java.sql是一个虚接口,而mysql是实际在干活的“实现者”,跟VC的COM接口也没啥区别。
RSS fetch也试验成功,只要包含RSS-rome-fetcher.jar就可以了。
1. /*
2. * Main.java
3. */
4. package javadb1;
5. import java.sql.Connection;
6. import java.sql.DriverManager;
7. import java.sql.SQLException;
8. import java.sql.Statement;
9. import java.sql.ResultSet;
10. import java.sql.ResultSetMetaData;
11. import java.sql.PreparedStatement;
12.
13. import java.net.URL;
14.
15. import com.sun.syndication.feed.synd.SyndFeed;
16. import com.sun.syndication.fetcher.FeedFetcher;
17. import com.sun.syndication.fetcher.FetcherEvent;
18. import com.sun.syndication.fetcher.FetcherListener;
19. import com.sun.syndication.fetcher.impl.FeedFetcherCache;
20. import com.sun.syndication.fetcher.impl.HashMapFeedInfoCache;
21. import com.sun.syndication.fetcher.impl.HttpURLFeedFetcher;
22.
23. public class Main {
24.
25. static PreparedStatement insertClass;
26.
27. public static void main(String[] args) {
28. try {
29. Class.forName(”com.mysql.jdbc.Driver”).newInstance();
30. }
31. catch (Exception ex)
32. {}
33. Connection conn = null;
34. Statement stmt = null;
35. ResultSet rs = null;
36. ResultSetMetaData rsMeta = null;
37. try
38. {
39. conn = DriverManager.getConnection(”jdbc:mysql://xxxxx.domain.com/dbname?user=dbuser&password=dbpassword”);
40. }
41. catch (SQLException ex) {
42. // handle any errors
43. System.out.println(”SQLException: ” + ex.getMessage());
44. System.out.println(”SQLState: ” + ex.getSQLState());
45. System.out.println(”VendorError: ” + ex.getErrorCode());
46. }
47.
48. if( conn != null)
49. {
50. try
51. {
52. stmt = conn.createStatement();
53. stmt = conn.createStatement();
54. stmt.executeUpdate(”SET NAMES utf8″);
55. stmt.executeUpdate(”SET CHARACTER SET utf8″);
56. stmt.executeUpdate(”SET COLLATION_CONNECTION=’utf8_general_ci’”);
57.
58. rs = stmt.executeQuery(”SELECT * FROM `locales_target`”);
59.
60. if( stmt.execute(”SELECT * FROM `locales_target`”))
61. {
62. rs = stmt.getResultSet();
63. rsMeta = rs.getMetaData();
64. String colName = rsMeta.getColumnName(1);
65. System.out.println(colName);
66. colName = rsMeta.getColumnName(2);
67. System.out.println(colName);
68. }
69.
70. String queryStr = “CREATE TABLE question_queuecc (qid int(10) NOT NULL default ‘0′,question text NOT NULL)”;
71. if( stmt.executeUpdate(queryStr) >=0 )
72. {
73. System.out.println(”Create table success”);
74. }
75. /*
76. * stmt.executeQuery(”select * from xxx”);
77. * ResultSet rs = stmt.getResultSet();
78. * while( r.next() )
79. * {
80. * String strIsCol1 = rs.getString(1);
81. * String strIsCol2 = rs.getString(2);
82. * boolean bIsCol3 = rs.getBoolean(3);
83. * Blob blobIsCol4 = rs.getBlob(4);
84. * Timestamp tsIsCol5 = rs.getTimestamp(”colTimeStamp”);
85. * //print out value or do some action.
86. * }
87. */
88. insertClass = conn.prepareStatement(”Insert into question_queuebb values(?,?,?,?)”);
89. insertClass.setInt(1, 50);
90. insertClass.setString(2, “lailaiququ”);
91. insertClass.setInt(3, 50);
92. insertClass.setString(4, “Is it a question?”);
93. insertClass.executeUpdate();
94. }
95. catch (SQLException ex)
96. {
97. // handle any errors
98. }
99. finally
100. {
101. if (rs != null)
102. {
103. try
104. {
105. rs.close();
106. System.out.println(”Run success.”);
107. }
108. catch (SQLException sqlEx)
109. {
110. // handle any errors
111. }
112. rs = null;
113. }
114.
115. if (stmt != null)
116. {
117. try
118. {
119. stmt.close();
120. }
121. catch (SQLException sqlEx)
122. {
123. stmt = null;
124. }
125. }
126. }
127. }
128.
129. // rome fetecher project test. it has chinese character problem ![]()
130. try
131. {
132. FeedFetcherCache feedInfoCache = HashMapFeedInfoCache.getInstance();
133. FeedFetcher feedFetcher = new HttpURLFeedFetcher(feedInfoCache);
134. SyndFeed feed = feedFetcher.retrieveFeed(new URL(”http://feeds.feedburner.com/sxn”));
135. System.out.println(”sunxiunan feed”);
136. System.out.println(feed);
137. feed = feedFetcher.retrieveFeed(new URL(”http://www.digg.com/rss/containertechnology.xml”));
138. System.out.println(”digg feed”);
139. System.out.println(feed);
140. }
141. catch(Exception ex)
142. {
143. System.out.println(”error”);
144. }
145.
146. }
147. }
MSDN May 2006 Library可以免费下载
如果没有这东西,估计很多人一行代码也写不出来,包括我。
MSDN Library May 2006 Edition
http://www.microsoft.com/downloads/details.aspx?FamilyId=373930CB-A3D7-4EA5-B421-DD6818DC7C41&displaylang=en
