<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-4006012385177912817</id><updated>2012-01-03T21:04:21.568+08:00</updated><title type='text'>Unbuilt Heaven</title><subtitle type='html'>I was one of the spirits in heaven.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default?start-index=101&amp;max-results=100'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>106</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-8765930029626788138</id><published>2011-11-14T13:12:00.001+08:00</published><updated>2011-11-14T13:12:45.726+08:00</updated><title type='text'>与用户的连续三次沟通</title><content type='html'>昨天晚间，一位老师在使用我们的网站应用时，连续几次电话和我沟通。&lt;br&gt;第一次，她说无法添加评阅内容，添加评阅内容的输入框不会出来。我询问了她的电脑的操作系统和她使用的浏览器，得到的回答是遨游浏览器，只能很抱歉的让她换用其他浏览器，因为目前我们的网站不支持遨游浏览器以及其他等等安全的浏览器，我们只支持Firefox、Chrome和IE7以上浏览器。&lt;br&gt;第二次，她说换了浏览器，可是仍旧无法添加评阅内容。我猜测她想添加评阅的位置不对，我告诉她只能在原文上进行划词后，然后输入评阅内容；而她希望是像Word一样批注。&lt;br&gt; 第三次，她说系统自动生成的评阅内容不能删除，我告诉她删除按钮在右侧；系统自动生成的评阅和她自己添加的评阅都可以删除的。&lt;br&gt;&lt;br&gt;以上说明：&lt;br&gt;1. 我们的产品是有很多问题的（浏览器兼容、易用）。&lt;br&gt;2. 用户是不会去看使用指南的（在告诉用户可以使用产品的邮件中都附带了使用说明的，而且对上述所有问题都有讲述；整个文档共七页，大部份页面是截图）。&lt;br&gt;3. 现场用户的声音很重要，产品验证应该提前，在正式开发前就要请用户来验证设计。&lt;br&gt; &lt;br&gt;几次通话后，本没有想到太多。后来看到《启示录》里对于产品设计验证的建议，就我目前手头的几个产品来讲，确实很有感触。&lt;br&gt;&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-8765930029626788138?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/8765930029626788138/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=8765930029626788138&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8765930029626788138'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8765930029626788138'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2011/11/blog-post.html' title='与用户的连续三次沟通'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-3913543768035485698</id><published>2011-09-13T19:30:00.000+08:00</published><updated>2011-09-13T20:28:12.277+08:00</updated><title type='text'>悲剧的网络</title><content type='html'>Gmail等于连不上了，将就着用紫狐打开也是奇慢无比。VPSYou也很适时的发来邮件，说机器挂了，只能备份数据退款处理。更不用提下班后回到租住的房子里那让人断念的长宽。悲剧的网络，悲剧的网络时代！&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-3913543768035485698?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/3913543768035485698/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=3913543768035485698&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3913543768035485698'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3913543768035485698'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2011/09/blog-post.html' title='悲剧的网络'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-3390290388051692901</id><published>2011-08-17T15:02:00.002+08:00</published><updated>2011-08-17T15:07:00.941+08:00</updated><title type='text'>Excluding Operation For Multiple-Choice Items In Computer-based Test</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/-8wr4fUFTA5A/TktoWYLh25I/AAAAAAAAAGc/KXAKWyhlT4I/s1600/mc-states.png"&gt;&lt;br /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Multiple choice is a popular item type in computer-based or internet-based tests. Its implementation and operation is so easy and straightforward that nobody need more instructions. However, some skills we used in paper-based tests cannot be applied to computerized tests. Excluding is just one of these. In a paper-based test, one can draw a slight line on the options to indicate the option is not the favored answer. How to provide this facilitation in computerized tests? It's a good idea to use right mouse-clicking for this function. Thus, we have two operations for the choice option, one is left click to choose it as the answer, the other is right click to exclude it as a distractor. And an option will have three states: normal, chosen as answer, excluded as distractor. We can draw a table about these states and operations.&lt;div&gt;&lt;br /&gt;state            operation            output&lt;br /&gt;normal          left click             chosen&lt;br /&gt;normal          right click           excluded&lt;br /&gt;chosen         left click             chosen&lt;br /&gt;chosen         right click           excluded&lt;br /&gt;excluded      left click             chosen&lt;br /&gt;excluded      right click           normal&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://blog.boyue.info/wp-content/uploads/2011/08/mc-states.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 231px; height: 164px;" src="http://blog.boyue.info/wp-content/uploads/2011/08/mc-states.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;green arrows indicate left clicks&lt;/div&gt;&lt;div&gt;red arrows indicate right clicks&lt;/div&gt;&lt;div&gt;&lt;br /&gt;As shown in above table, whenever left-clicking an option will lead to choose it as the answer - keeping the choosing operation straightforward, while right-clicking has a bit more functions. When the option is excluded, right clicking on it again will change it to normal state, otherwise to excluded state. Maybe a simple state transition diagram will make things clear. All left-clicking arrows point to the chosen state and all right-clicking arrows point to the excluded state except one started from itself, the last one arrow give a chance to change the option from excluded to normal. The states, operations and transitions make a simple and powerful design for computerized multiple choice items.&lt;/div&gt; &lt;div&gt;&lt;br /&gt;Question 1: Why not change the option to normal when right-clicking an chosen option?&lt;/div&gt;&lt;div&gt;Answer: Because we never provide a way to undo the choosing, we don't want to give the user more things than excluding. All new things is excluding and undo the excluding.&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-3390290388051692901?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/3390290388051692901/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=3390290388051692901&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3390290388051692901'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3390290388051692901'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2011/08/excluding-operation-for-multiple-choice.html' title='Excluding Operation For Multiple-Choice Items In Computer-based Test'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-4374717590491369691</id><published>2011-08-03T18:10:00.001+08:00</published><updated>2011-08-03T18:10:35.008+08:00</updated><title type='text'>Build Link Grammar and Python bindings</title><content type='html'>refer to:&lt;div&gt;&lt;a href="http://theco.agilityhoster.com/?p=3"&gt;http://theco.agilityhoster.com/?p=3&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="https://answers.launchpad.net/pylinkgrammar/+faq/336"&gt;https://answers.launchpad.net/pylinkgrammar/+faq/336&lt;/a&gt;&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Just do as above two posts instruct. Have fun!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-4374717590491369691?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/4374717590491369691/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=4374717590491369691&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4374717590491369691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4374717590491369691'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2011/08/build-link-grammar-and-python-bindings.html' title='Build Link Grammar and Python bindings'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-6314271843355201324</id><published>2011-07-12T14:14:00.002+08:00</published><updated>2011-07-12T14:21:28.679+08:00</updated><title type='text'>空调(出现)之前</title><content type='html'>当我第一次看见空调的时候，就想这绝对是最愚蠢的发明。前几天在The New Yorker上看见了这么一首诗。&lt;span style="font-size:100%;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Before Air-Conditioning&lt;/span&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;span class="c cs"&gt;&lt;span&gt;&lt;br /&gt;by &lt;/span&gt;&lt;/span&gt;Frederick Seidel&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;The sweetness of the freshness of the breeze!&lt;br /&gt;The wing is wiggling the trees.&lt;br /&gt;The sky is black. The trees deep green.&lt;br /&gt;The man mowing the enormous lawn before it rains makes goodness clean.&lt;br /&gt;It’s the smell of laundry on the line&lt;br /&gt;And the smell of the sea, brisk iodine,&lt;br /&gt;Nine hundred miles inland from the ocean, it’s that smell.&lt;br /&gt;It makes someone little who has a fever feel almost well.&lt;br /&gt;It’s exactly what a sick person needs to eat.&lt;br /&gt;Maybe it’s coming from Illinois in the heat.&lt;br /&gt;Watch out for the crow, though&lt;br /&gt;With them around, caw, caw, it’s going to snow.&lt;br /&gt;I think I’m still asleep. I hope I said my prayers before I died.&lt;br /&gt;I hear the milkman setting the clinking bottles down outside.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-6314271843355201324?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/6314271843355201324/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=6314271843355201324&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6314271843355201324'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6314271843355201324'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2011/07/blog-post.html' title='空调(出现)之前'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-7426045352685836413</id><published>2011-04-30T23:02:00.001+08:00</published><updated>2011-04-30T23:02:08.304+08:00</updated><title type='text'>公司与椅子</title><content type='html'>昨天在列表里看见一个觉得很无聊的问题，问有哪些公司难进，值得进，正准备屏蔽掉的时候，发现一帮人随后开始讨论公司与椅子的问题了。其中有人说&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "&gt;选公司很简单，去面试的时候看看他们坐什么椅子。确实，我上学时觉得对于程序员来说最累的是屁股和眼睛，所以一定要有个好的椅子和显示器。实验室当初装修的时候，买的300多的椅子，虽然说不是什么太好的东西，可感觉比那些小椅子舒服多了。等毕业到了公司，我有时候会拿公司的椅子和显示器说事，那种小转椅，旧的CRT显示器，好不容易换液晶显示器了，居然是个1366*768的18.5寸的憋屈玩意儿。记得转正的时候，主管问我有啥意见，我直说硬件比较差，在追问之下，我干脆就说显示器和椅子。看来，椅子确实不是对公司的偏见了。终于，我又回实验了，当然跟椅子没太大关系。看来对于某些不知道员工为什么要离开的老总们，先把公司的椅子换换吧。&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-7426045352685836413?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/7426045352685836413/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=7426045352685836413&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7426045352685836413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7426045352685836413'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2011/04/blog-post.html' title='公司与椅子'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-8694626044060998663</id><published>2011-03-30T21:02:00.001+08:00</published><updated>2011-03-30T21:02:49.378+08:00</updated><title type='text'>折腾</title><content type='html'>这一年来没少在折腾。最近发现折腾出了几根白发，而且似乎大有星火燎原之势，难怪某日梦见已然银发满头，真是未卜先知哪。&lt;div&gt;昨天又有前公司的领导同事过来请吃饭顺带一个主要任务是邀我回去继续做同事，虽然理性分析给出的条件还不错，但是我想我还是会做非理性的选择，至少在看得见的一两年内还得继续折腾。&lt;/div&gt;&lt;div&gt;地球离了谁照转，他说出来的，我深感同意。机会只是瞬间的，不会为谁停留。留给我的还是折腾。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-8694626044060998663?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/8694626044060998663/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=8694626044060998663&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8694626044060998663'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8694626044060998663'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2011/03/blog-post.html' title='折腾'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-7696043752392637069</id><published>2011-02-07T22:17:00.001+08:00</published><updated>2011-02-07T22:17:13.354+08:00</updated><title type='text'>春节假期过去了</title><content type='html'>因为放假前事情太多，家里房子又刚刚装修，所以这个春节没有回去过年了。这是我第二次没有回去过年了，上一次是98年1月地震后。&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;这几天除了休息、工作，还尽情地玩了几个晚上魔方，发现虽然忘了几个公式，但是速度却比以前稳定了，50次平均成绩终于进了26秒，如果再想提升，就必须有目的的加以练习了。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;这几个下午，还去城隍庙和文化宫去猜了几回谜语，在城隍庙时遇到一个高中生，跟他一起猜谜。今天下午去文化宫去猜谜语，猜了十几个，得了一双手套、水笔、铅笔袋什么的，结果灯谜协会的看我对猜谜语挺感兴趣，就邀我周末有空的时候过去一起玩，还留了联系方式。回来的路上还冥思苦想了几个计算机相关的谜语。我知道自己属于瞎猫逮死耗子的那种，完全业余，所以回来搜索了一下灯谜协会的活动，顿时觉得自己的文学与知识面都太弱了，还是老老实实写代码吧。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;继续老老实实写代码，马上春节假期就结束了。&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-7696043752392637069?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/7696043752392637069/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=7696043752392637069&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7696043752392637069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7696043752392637069'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2011/02/blog-post_07.html' title='春节假期过去了'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-322775439238685308</id><published>2011-02-04T23:35:00.000+08:00</published><updated>2011-02-04T23:48:15.066+08:00</updated><title type='text'>魔方界杂感</title><content type='html'>在等待Android SDK下载的空当，手里转着魔方，想起好久没到魔方吧去看看了，不知大过年的有啥活动没。打开论坛却发现了已过半年的一次事件，老瓦被WCA禁赛三年。为了了解下事情经过，进而翻了好多旧贴，看到了很多东西，连同之前自己的一些想法，整理一下。&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;规则&lt;/div&gt;&lt;div&gt;翻看了论坛里相关的贴子，仍然是一团糊涂。既然WCA已经出结果了，那就按规则来吧，反正大家参加的都是WCA的比赛，那就只能按WCA的规则来办事了。感觉老瓦的行为是有些过了，但是我却不认为这是单一的原因。经历了南京赛的最小步风波，再看这里到处提到的一轮还是两轮的赛制，真是觉得无奈。如果说最小步风波是比赛规则的漏洞可能被利用了，那么赛程的不确定性就是这次事件的导火索了。数次比赛的安排给参赛者的意思都是看时间吧，如果时间允许都安排两轮。如果说大家在赛程上没有分歧的话，就不会把矛盾积累到这么深。所以，比赛规则和赛程还是事先确定，跟大家明确讲清楚了比较好。&lt;/div&gt; &lt;div&gt;我觉得WCA虽然是个有规则的组织，但它并不是一个专业的机构，所以能做的事情很少，即使在这些冲突的处理中，也只能是从主办方和WCA代表处了解些情况。现在比赛举办的越来越多了，主办方应该先把规则和赛程定好，以避免类似的事件。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;商业&lt;/div&gt;&lt;div&gt;魔方这么火热，最开心的就应该是魔方厂家了，当然，也没啥太开心的，因为靠这东西发大财还是很难的。但是，随着魔方的继续升温，比赛越来越多，规模肯定也会越来越大，那样，看中商业机会的也许是不仅仅是几个魔方厂家了，也许还会有其他厂商。这样，魔方中的商业气氛就会变浓，冠名、代言、赞助这些形式的广告宣传也一定会影响主办方及参赛者。为了避免因商业化而引起的与运动本身的冲突，更应确定好比赛的基本规则，将比赛限定在一个基本的框架内。外围事物可以丰富广阔，但不应影响到运动本身。看到占星拒绝春晚的机会的时候所写的东西，很佩服他的想法，尤其是提到不能让魔方奥数化。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;魔方&lt;/div&gt;&lt;div&gt;我很佩服国内魔方厂家的创新精神。国甲二加入了轨道，尺寸小了那么一点儿，感觉顺手多了，我现目前用的还是两年前从老张那里买的国甲二，后来又买了若干各式魔方，都没觉得这个顺手。国甲五干脆把每个块的大小都做了变化，初次试用，真是爱不释手。现在大雁孤鸿凌云又深得大家喜爱。不过，随着魔方热，背后的专利问题很可能会困扰各魔方厂家。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;真想不到，一个小小的魔方，引出了这么多事。魔方界在不知不觉中形成了。&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-322775439238685308?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/322775439238685308/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=322775439238685308&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/322775439238685308'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/322775439238685308'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2011/02/blog-post.html' title='魔方界杂感'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2093226520165624491</id><published>2011-01-07T13:26:00.001+08:00</published><updated>2011-01-07T13:26:07.183+08:00</updated><title type='text'>Sikuli X 之 如何创建GUI单元测试脚本</title><content type='html'>Sikuli集成了jUnit，所以支持图形用户界面的单元测试。在Sikuli IDE中通过快捷键&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px; "&gt;&lt;font class="Apple-style-span" face="&amp;#39;Lucida Grande&amp;#39;, &amp;#39;Lucida Sans Unicode&amp;#39;, Geneva, Verdana, sans-serif"&gt;&amp;nbsp;&lt;/font&gt;&lt;tt class="kbd docutils literal" style="font-size: 0.95em; letter-spacing: 0.01em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(221, 221, 221); color: rgb(51, 51, 51); "&gt;&lt;span class="pre"&gt;&lt;span class="Apple-style-span" style="background-color: rgb(242, 242, 242); font-family: Consolas, &amp;#39;Deja Vu Sans Mono&amp;#39;, &amp;#39;Bitstream Vera Sans Mono&amp;#39;, monospace; "&gt;Ctrl-U&lt;/span&gt;&lt;span class="Apple-style-span" style="background-color: rgb(255, 255, 255); "&gt;&lt;font class="Apple-style-span" face="arial, helvetica, sans-serif"&gt;或者菜单View下的Unit就可以打开单元测试面板。&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;div&gt; &lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px; "&gt;&lt;tt class="kbd docutils literal" style="font-size: 0.95em; letter-spacing: 0.01em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(221, 221, 221); color: rgb(51, 51, 51); "&gt;&lt;span class="pre"&gt;&lt;span class="Apple-style-span" style="background-color: rgb(255, 255, 255); "&gt;&lt;font class="Apple-style-span" face="arial, helvetica, sans-serif"&gt;&lt;br&gt; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px; "&gt;&lt;tt class="kbd docutils literal" style="font-size: 0.95em; letter-spacing: 0.01em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(221, 221, 221); color: rgb(51, 51, 51); "&gt;&lt;span class="pre"&gt;&lt;span class="Apple-style-span" style="background-color: rgb(255, 255, 255); "&gt;&lt;font class="Apple-style-span" face="arial, helvetica, sans-serif"&gt;Sikuli IDE旨在尽力减少代码输入，所以在Sikuli IDE中，一个继承自junit.framework.TestCase的Python类会自动生成并把你的单元测试脚本包起来。&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px; "&gt;&lt;tt class="kbd docutils literal" style="font-size: 0.95em; letter-spacing: 0.01em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(221, 221, 221); color: rgb(51, 51, 51); "&gt;&lt;span class="pre"&gt;&lt;span class="Apple-style-span" style="background-color: rgb(255, 255, 255); "&gt;&lt;font class="Apple-style-span" face="arial, helvetica, sans-serif"&gt;&lt;br&gt; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px; "&gt;&lt;tt class="kbd docutils literal" style="font-size: 0.95em; letter-spacing: 0.01em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(221, 221, 221); color: rgb(51, 51, 51); "&gt;&lt;span class="pre"&gt;&lt;span class="Apple-style-span" style="background-color: rgb(255, 255, 255); "&gt;&lt;font class="Apple-style-span" face="arial, helvetica, sans-serif"&gt;通常，一个单元测试脚本包含有构造和析构函数，分别是setUp()和tearDown()，还包含一堆以test为前缀的测试方法。&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px; "&gt;&lt;tt class="kbd docutils literal" style="font-size: 0.95em; letter-spacing: 0.01em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(221, 221, 221); color: rgb(51, 51, 51); "&gt;&lt;span class="pre"&gt;&lt;span class="Apple-style-span" style="background-color: rgb(255, 255, 255); "&gt;&lt;font class="Apple-style-span" face="arial, helvetica, sans-serif"&gt;&lt;br&gt; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" color="#333333" face="arial, helvetica, sans-serif"&gt;&lt;span class="Apple-style-span" style="line-height: 21px;"&gt;单元测试脚本的基本结构如下：&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt; &lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px; "&gt;&lt;tt class="kbd docutils literal" style="font-size: 0.95em; letter-spacing: 0.01em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(221, 221, 221); color: rgb(51, 51, 51); "&gt;&lt;span class="pre"&gt;&lt;span class="Apple-style-span" style="background-color: rgb(255, 255, 255); "&gt;&lt;font class="Apple-style-span" face="arial, helvetica, sans-serif"&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0); font-family: &amp;#39;Lucida Grande&amp;#39;, &amp;#39;Lucida Sans Unicode&amp;#39;, Geneva, Verdana, sans-serif; font-size: small; "&gt;&lt;pre class="sikuli-code" style="overflow-x: visible; overflow-y: visible; font-family: Osaka-mono, monospace; letter-spacing: 0.015em; line-height: 1.5em; padding-top: 0.5em; padding-right: 0.5em; padding-bottom: 0.5em; padding-left: 0.5em; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: solid; border-bottom-style: solid; border-left-style: solid; border-top-color: rgb(204, 204, 204); border-right-color: rgb(204, 204, 204); border-bottom-color: rgb(204, 204, 204); border-left-color: rgb(204, 204, 204); background-color: rgb(248, 248, 248); display: table-cell; white-space: pre-wrap; word-wrap: break-word; width: 707px; margin-left: 2em; "&gt; &lt;span class="kw" style="color: blue; "&gt;def&lt;/span&gt; setUp(self):  openApp(&lt;span class="str" style="color: rgb(128, 0, 0); "&gt;&amp;quot;AnyRandom.app&amp;quot;&lt;/span&gt;)   &lt;span class="skw" style="color: rgb(63, 127, 127); "&gt;wait&lt;/span&gt;(SCREENSHOT_OF_THE_APP) &lt;span class="cmt" style="color: rgb(64, 128, 144); "&gt;# wait until the app appears&lt;/span&gt;  &lt;span class="kw" style="color: blue; "&gt;def&lt;/span&gt; tearDown(self):  closeApp(&lt;span class="str" style="color: rgb(128, 0, 0); "&gt;&amp;quot;AnyRandom.app&amp;quot;&lt;/span&gt;)   untilNotExist(SCREENSHOT_OF_THE_APP) &lt;span class="cmt" style="color: rgb(64, 128, 144); "&gt;# wait until the app disappears&lt;/span&gt;  &lt;span class="kw" style="color: blue; "&gt;def&lt;/span&gt; testA(self):  ....   &lt;span class="kw" style="color: blue; "&gt;assert&lt;/span&gt; exists(PICTURE_THAT_SHOULD_BE_THERE)  &lt;span class="kw" style="color: blue; "&gt;def&lt;/span&gt; testB(self):  ....   &lt;span class="kw" style="color: blue; "&gt;assert&lt;/span&gt; &lt;span class="kw" style="color: blue; "&gt;not&lt;/span&gt; exists(PICTURE_THAT_SHOULD_NOT_BE_THERE)&lt;/pre&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px; "&gt;&lt;tt class="kbd docutils literal" style="font-size: 0.95em; letter-spacing: 0.01em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(221, 221, 221); color: rgb(51, 51, 51); "&gt;&lt;span class="pre"&gt;&lt;span class="Apple-style-span" style="background-color: rgb(255, 255, 255); "&gt;&lt;font class="Apple-style-span" face="arial, helvetica, sans-serif"&gt;&lt;br&gt; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" color="#333333" face="arial, helvetica, sans-serif"&gt;&lt;span class="Apple-style-span" style="line-height: 21px;"&gt;要运行单元测试脚本，需要点击单元测试面板上的&amp;ldquo;Run&amp;rdquo;按钮，而不是普通的运行按钮。&lt;/span&gt;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class="Apple-style-span" color="#333333" face="arial, helvetica, sans-serif"&gt;&lt;span class="Apple-style-span" style="line-height: 21px;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" color="#333333" face="arial, helvetica, sans-serif"&gt;&lt;span class="Apple-style-span" style="line-height: 21px;"&gt;另外，也可能从命令行使用选项 -t test-script来运行单元测试脚本。&lt;/span&gt;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class="Apple-style-span" color="#333333" face="arial, helvetica, sans-serif"&gt;&lt;span class="Apple-style-span" style="line-height: 21px;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 21px; "&gt;&lt;tt class="kbd docutils literal" style="font-size: 0.95em; letter-spacing: 0.01em; border-bottom-width: 1px; border-bottom-style: solid; border-bottom-color: rgb(221, 221, 221); color: rgb(51, 51, 51); "&gt;&lt;span class="pre"&gt;&lt;span class="Apple-style-span" style="background-color: rgb(255, 255, 255); "&gt;&lt;font class="Apple-style-span" face="arial, helvetica, sans-serif"&gt;&lt;br&gt; &lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/tt&gt;&lt;/span&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2093226520165624491?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2093226520165624491/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2093226520165624491&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2093226520165624491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2093226520165624491'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2011/01/sikuli-x-gui.html' title='Sikuli X 之 如何创建GUI单元测试脚本'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5078766279220090207</id><published>2011-01-07T12:28:00.001+08:00</published><updated>2011-01-07T12:28:44.672+08:00</updated><title type='text'>是软件就会有BUG</title><content type='html'>&lt;div&gt;为了证明是软件就会有BUG，把翻出来的几张旧图贴贴。请看红色圈。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;标题是"讨好主人"，内容却是买好友。&lt;/div&gt;&lt;div&gt;&amp;lt;a href=&amp;quot;&lt;a href="http://blog.boyue.info/wp-content/uploads/2010/12/friendbuy.png"&gt;http://blog.boyue.info/wp-content/uploads/2010/12/friendbuy.png&lt;/a&gt;&amp;quot;&amp;gt;&amp;lt;img class=&amp;quot;alignnone size-medium wp-image-38&amp;quot; src=&amp;quot;&lt;a href="http://blog.boyue.info/wp-content/uploads/2010/12/friendbuy-300x201.png"&gt;http://blog.boyue.info/wp-content/uploads/2010/12/friendbuy-300x201.png&lt;/a&gt;&amp;quot; alt=&amp;quot;QQ 讨好主人是买好友&amp;quot; width=&amp;quot;300&amp;quot; height=&amp;quot;201&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;反过来的BUG也是可能的。&lt;/div&gt;&lt;div&gt;&amp;lt;a href=&amp;quot;&lt;a href="http://blog.boyue.info/wp-content/uploads/2010/12/qqfriend.png"&gt;http://blog.boyue.info/wp-content/uploads/2010/12/qqfriend.png&lt;/a&gt;&amp;quot;&amp;gt;&amp;lt;img class=&amp;quot;alignnone size-medium wp-image-44&amp;quot; title=&amp;quot;qqfriend&amp;quot; src=&amp;quot;&lt;a href="http://blog.boyue.info/wp-content/uploads/2010/12/qqfriend-300x197.png"&gt;http://blog.boyue.info/wp-content/uploads/2010/12/qqfriend-300x197.png&lt;/a&gt;&amp;quot; alt=&amp;quot;QQ 买好友与讨好主人&amp;quot; width=&amp;quot;300&amp;quot; height=&amp;quot;197&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;主窗体状态是在线，任务栏图标却是离线。&lt;/div&gt;&lt;div&gt;&amp;lt;a href=&amp;quot;&lt;a href="http://blog.boyue.info/wp-content/uploads/2010/12/qqstatus.png"&gt;http://blog.boyue.info/wp-content/uploads/2010/12/qqstatus.png&lt;/a&gt;&amp;quot;&amp;gt;&amp;lt;img class=&amp;quot;alignnone size-medium wp-image-39&amp;quot; src=&amp;quot;&lt;a href="http://blog.boyue.info/wp-content/uploads/2010/12/qqstatus-171x300.png"&gt;http://blog.boyue.info/wp-content/uploads/2010/12/qqstatus-171x300.png&lt;/a&gt;&amp;quot; alt=&amp;quot;QQ状态&amp;quot; width=&amp;quot;306&amp;quot; height=&amp;quot;450&amp;quot; /&amp;gt;&amp;lt;/a&amp;gt;&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;还有某些时候出现的 第22页/总21页，数数确实是个难题。&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5078766279220090207?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5078766279220090207/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5078766279220090207&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5078766279220090207'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5078766279220090207'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2011/01/bug.html' title='是软件就会有BUG'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-6563736986353462603</id><published>2010-12-29T14:05:00.001+08:00</published><updated>2010-12-29T14:05:24.790+08:00</updated><title type='text'>Sikuli X 之 Region类相关说明</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: &amp;#39;Trebuchet MS&amp;#39;, Arial, sans-serif; font-size: 14px; color: rgb(68, 68, 68); line-height: 21px; "&gt;&lt;strong&gt;PSMRL&lt;/strong&gt;&lt;/span&gt;：指可以把模式（Pattern）、指向图像文件名的字符串或者表示纯文本的字符串（string ）、匹配（Match）、区域（Region）或者位置（Location）作为参数进行传递。&lt;div&gt; &lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;#39;Trebuchet MS&amp;#39;, Arial, sans-serif; font-size: 14px; color: rgb(68, 68, 68); line-height: 21px; "&gt;&lt;strong&gt;PS&lt;/strong&gt;&lt;/span&gt;：指可以把模式（Pattern）、指向图像文件名的字符串或者表示纯文本的字符串（string ）作为参数进行传递。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;#39;Trebuchet MS&amp;#39;, Arial, sans-serif; font-size: 14px; color: rgb(68, 68, 68); line-height: 21px; "&gt;&lt;strong&gt;applicable for Screen or Match or Screen and Match&lt;/strong&gt;&lt;/span&gt;：尽管区域（Region）的所有方法可以用于显示器（Screen）类和匹配（Match）类的对象上，但是每个方法在这些类上都是合理的（例如：Screen(0).below()，find(PS).setRect(rectangle)）。所以，如果提及它，就表示在应用场景中这个方法在屏幕对象或者匹配对象上使用是合理的。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: &amp;#39;Trebuchet MS&amp;#39;, Arial, sans-serif; font-size: 14px; color: rgb(68, 68, 68); line-height: 21px; "&gt;&lt;strong&gt;Note on Multi Monitor Environments&lt;/strong&gt;&lt;/span&gt;：在多于一个显示器被激活的情况下，想要对非默认屏幕（这种情况下是主显示器）上的区域进行操作，要考虑一些特殊因素。所以，在多于一个显示器的环境下开始使用Sikuli之前，要先阅读多显示器环境相关章节。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-6563736986353462603?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/6563736986353462603/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=6563736986353462603&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6563736986353462603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6563736986353462603'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2010/12/sikuli-x-region_29.html' title='Sikuli X 之 Region类相关说明'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-6031032493460710417</id><published>2010-12-28T20:09:00.001+08:00</published><updated>2010-12-28T20:09:07.407+08:00</updated><title type='text'>Qt单实例运行</title><content type='html'>&lt;div&gt;程序要求单实例运行，且如果第二次运行激活已存在的程序实例的窗口。&lt;/div&gt;&lt;div&gt;于是有了下面的这段代码。&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;	&lt;/span&gt;QSystemSemaphore sema(&amp;quot;sema&amp;quot;, 1, QSystemSemaphore::Open);&lt;/font&gt;&lt;/blockquote&gt; &lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;	&lt;/span&gt;sema.acquire();&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;	&lt;/span&gt;QSharedMemory mem(&amp;quot;memObject&amp;quot;);&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;	&lt;/span&gt;if (!mem.create(1)) {&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;		&lt;/span&gt;HWND w = FindWindow(NULL, &amp;quot;Window Title&amp;quot;);&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;		&lt;/span&gt;if (w)&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;		&lt;/span&gt;{&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;			&lt;/span&gt;SetForegroundWindow(w);&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;			&lt;/span&gt;ShowWindow(w, SW_SHOWNORMAL);&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;		&lt;/span&gt;}&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;		&lt;/span&gt;sema.release();&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;		&lt;/span&gt;return 0;&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;	&lt;/span&gt;}&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-tab-span" style="white-space: pre; "&gt;	&lt;/span&gt;sema.release();&lt;/font&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;神奇的是的Qt里，只写ShowWindow是不行的，如果窗口最小化后再从另一个实例中激活它，窗口上的控件得不到绘制。可能是Qt的消息处理函数进行了判断吧。而且必须得在ShowWindow之前调用SetForegroudWindow。&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-6031032493460710417?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/6031032493460710417/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=6031032493460710417&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6031032493460710417'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6031032493460710417'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2010/12/qt.html' title='Qt单实例运行'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-7401708892833976367</id><published>2010-12-24T17:28:00.001+08:00</published><updated>2010-12-24T17:28:16.077+08:00</updated><title type='text'>Sikuli X 之 Region类</title><content type='html'>区域（Region）就是屏幕上的一个矩形部分，它由位置和维度确定。位置 (x, y) 就是它的左上角相对于屏幕左上角的距离；维度 (w, h) 就是它的宽和高。&lt;div&gt;其中 x、y、w、h是以像素为单位计算距离的整数值。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;区域（Region）只知道它在屏幕上的位置和它的维度，并不知道任何它的可视内容（窗体、图片、图形、文本等）。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;新的区域（Region）可以在已有的区域基础上创建：你可以在各个方向上扩展区域或者获取相信区域，直到屏幕的水平或者垂直边界。&lt;/div&gt;  &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;区域（Region）上的可视内容和文本内容可以使用像find()这样的方法计算得到，find()方法在区域搜索一个给定的矩形像素模式或者文本串。区域中进行匹配的内容有一个在0到1之间的相似度，0就是没有找到，1就是找到了且它的每一个像素都与模式精确匹配。可以让find以一个最小的相似度进行搜索，这样一些形状和颜色的微小变化就可以被忽略。如果不指定其他东西，Sikuli将以最小相似度0.7进行搜索，通常的情况下这样做与预期相符。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;查找（Find）操作返回一个匹配（Match），它具有一个区域（Region）拥有的所有属性和方法，可以以相同的方式使用（比如查找或点击它里面的另一个目标）。匹配（Match）包含了搜索中使用的模式的维度，它也知道模式被发现的位置以及相似度。有一个区域保存了最后一次成功的查找操作中最佳的匹配和最后一次成功的findAll()返回的所有匹配（通过getLastMatch()/getLastMatches()获取）。你可以使用wait()等待模式出现，使用waitVanish()等待模式消失，或者只是使用exists()检查一下模式是否存在，这样就不用处理异常（当模式不存在的时候，exists()返回None，而不是抛出异常）。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Sikuli X支持可视化事件驱动编程。你可以告诉一个区域来观察某些东西的出现、消失或变化。这就有可以等待一个观察结果的完成或者让它在后台运行，而你的脚本继续执行。当这些可视化事件发生时，你脚本中的处理器就会被调用。每个区域有一个观察者，每个观察者可以处理多个可视化事件。停止观察是你的责任。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;你可以通过模拟鼠标和键盘行为在一个区域上操作。你可以选择在先前查找操作中计算出的区块内操作，也可以一个将被隐含查找的模式上操作。要想模拟像游戏或者图形这样的特殊应用程序中的复杂操作，有低级的鼠标和键盘操作可用。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;想支持更复杂和健壮的脚本，你可以处理FindFailed异常，当查找操作失败会将会抛出它。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;在同一个区域上的操作，可以使用Python的"with"语句进行分组。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Screen是继承了Region类的所有属性和访求的另一个类。通过Screen类，你可以获取屏幕维度和不同的显示器（如果你有多个显示器）。如果你不指定区域，它也给了你一个默认的区域来操作。通常在你对整个屏幕进行搜索的时候，仍需要写region.find(image)，只是这里的region是整个屏幕。所以为了方便，如果只写find(image)将简单的在整个屏幕中操作（实际上是默认/主要的屏幕），而不用每次都指定默认的SCREEN。而另一面，这样做将降低搜索速度，因为在整个屏幕上查找目标是耗时的。所以，为了提升处理速度，写region.find()能把搜索限定在指定的更小的矩形内（通常是你感兴趣的应该程序的主窗体）。另外，可以使用setROI()把随后的查找操作在比整个屏幕更小的区域中。&lt;/div&gt;  &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-7401708892833976367?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/7401708892833976367/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=7401708892833976367&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7401708892833976367'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7401708892833976367'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2010/12/sikuli-x-region.html' title='Sikuli X 之 Region类'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5755402762286595880</id><published>2010-12-21T14:00:00.001+08:00</published><updated>2010-12-21T14:00:54.101+08:00</updated><title type='text'>Why X? eXperimental</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, &amp;#39;Bitstream Vera Sans&amp;#39;, &amp;#39;DejaVu Sans&amp;#39;, Tahoma, sans-serif; font-size: 14px; line-height: 17px; "&gt;Sikuli X要来了，一直纳闷为什么要改成X呢，今天到LaunchPad上一逛，原来&lt;/span&gt;&lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, &amp;#39;Bitstream Vera Sans&amp;#39;, &amp;#39;DejaVu Sans&amp;#39;, Tahoma, sans-serif; font-size: 14px; line-height: 17px; "&gt;X stands for eXperimental。难道以后就这样一直eXperimental下去，一直X下去了？不管如何，准备开始跟踪这个X了。&lt;/span&gt;&lt;div&gt; &lt;font class="Apple-style-span" face="UbuntuBeta, Ubuntu, &amp;#39;Bitstream Vera Sans&amp;#39;, &amp;#39;DejaVu Sans&amp;#39;, Tahoma, sans-serif"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 17px;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class="Apple-style-span" face="UbuntuBeta, Ubuntu, &amp;#39;Bitstream Vera Sans&amp;#39;, &amp;#39;DejaVu Sans&amp;#39;, Tahoma, sans-serif"&gt;&lt;span class="Apple-style-span" style="font-size: 14px; line-height: 17px;"&gt;看了Sikuli的文档，全局函数里只有几个打开关闭应用程序的函数，可是平时写代码的时候都是直接find，click的啊，难道它们不是全局函数？果然，它们都是Region对象的函数，当不指定对象直接使用这些函数的时候，默认的对象是Screen，当然，Screen类是继承自Region类的。看来就从这个重要的Region类开始吧。&lt;br&gt; &lt;/span&gt;&lt;/font&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, &amp;#39;Bitstream Vera Sans&amp;#39;, &amp;#39;DejaVu Sans&amp;#39;, Tahoma, sans-serif; font-size: 14px; line-height: 17px; "&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt; &lt;span class="Apple-style-span" style="font-family: UbuntuBeta, Ubuntu, &amp;#39;Bitstream Vera Sans&amp;#39;, &amp;#39;DejaVu Sans&amp;#39;, Tahoma, sans-serif; font-size: 14px; line-height: 17px; "&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5755402762286595880?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5755402762286595880/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5755402762286595880&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5755402762286595880'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5755402762286595880'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2010/12/why-x-experimental.html' title='Why X? eXperimental'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-7407350493868965131</id><published>2010-12-17T13:55:00.001+08:00</published><updated>2010-12-17T13:55:12.266+08:00</updated><title type='text'>够酷够强的Sikuli</title><content type='html'>又见 Sikuli。自从Sikuli刚刚出来时，简单用了下，发现它真是&lt;a href="http://unbuiltheaven.blogspot.com/2010/02/sikuli.html"&gt;够酷够简&lt;/a&gt;，后来没有再用到也就没继续关注了。现在偶然又看见了Sikuli的身影，真是够酷够强了。不仅很久以前就已经有了一些OCR的功能，而且整个IDE也更加完整了，还提供了UnitTest框架，看来确实想在界面自动化测试方面大展身手了。&lt;div&gt; &lt;br&gt;&lt;/div&gt;&lt;div&gt;再看看预告中的Sikuli X，首先是要加入文本的识别与匹配，这一功能不仅可以简化脚本的编写，对于一些文本界面元素，直接在脚本中输入文字不必非得去屏幕取图了，而且对于脚本中对目标程序的控制也更加方便，可以读取并处理界面中的文本了。此外，Sikuli脚本将允许使用import语句重用，这样就有可能通过编写不同层次的Sikuli脚本以形成一个产品的测试框架。还有就是Sikuli将会把操作限制在目标程序的窗口范围之内，这样应该可以提高效率与准确性。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;仍是简单试用了一下，发现对双显示器的支持还是不够，目标程序放在主显示器，Sikuli可以匹配到目标，操作的时候却把鼠标移到了次显示器的相应坐标处。期待能在Sikuli X中解决这问题。也许Sikuli X把操作限制在目标程序 窗口范围之内的功能有助于这个问题的解决。&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-7407350493868965131?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/7407350493868965131/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=7407350493868965131&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7407350493868965131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7407350493868965131'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2010/12/sikuli.html' title='够酷够强的Sikuli'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2768390207788052535</id><published>2010-11-08T22:11:00.001+08:00</published><updated>2010-11-08T22:11:15.718+08:00</updated><title type='text'>QMessageBox点滴</title><content type='html'>QMessageBox本地化，需要使用QT自己的翻译文件，translations下的qt_zh_CN。这也告诉我们利用Qt的翻译机制本地化软件是很方便的，而且便于管理显示字符串。&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;QMessageBox如果不指定parent，则其图标为系统默认程序图标；如果不指定标题，则标题会取可执行文件的文件名。&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2768390207788052535?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2768390207788052535/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2768390207788052535&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2768390207788052535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2768390207788052535'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2010/11/qmessagebox.html' title='QMessageBox点滴'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-3192917146158951217</id><published>2010-11-05T14:05:00.001+08:00</published><updated>2010-11-05T14:05:43.634+08:00</updated><title type='text'>停用QQ号</title><content type='html'>在这些只允许娱乐的日子，连能活着都得靠幸运，何况什么隐私安全。&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;自从用了Win7，每次打开QQ系统都会弹出个提示框需要提升权限，因为QQ要Update。终于，某年某月某一天，照例启动QQ，授权Update后，桌面上多了一个QQ医生。我异常震惊，居然Update出一个医生，这是我绝对没有想到的事，它挑战了我的权限，我的脑子里一片空白，唯一能做就是马上把它卸载掉。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt; 又到某年某月某一天，我无聊到打算QQ游戏一把中国象棋的时候，猛然发现下盘棋也要实名制了。在全国人民都在斗地主的时候，也得时刻记得自己的身份，这不是你的地盘，你做不了主。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;这一回，它拒绝运行了。原来6亿的桌面只是别人娱乐的舞台。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-3192917146158951217?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/3192917146158951217/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=3192917146158951217&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3192917146158951217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3192917146158951217'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2010/11/qq.html' title='停用QQ号'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-3362196128148355704</id><published>2010-10-27T01:36:00.001+08:00</published><updated>2010-10-27T01:36:25.844+08:00</updated><title type='text'>潜行</title><content type='html'>&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;近来经常是伴着落网的音乐工作的，当看到VOL.220的标题时，我知道这就是我最近在寻找的词，潜行。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;昨天以前公司的主管打电话来，说是准备成立一个产品研究组，问我是否愿意回去做这块儿。我还是很赞同部门作这决定的，尽管我离职时也提到了更愿意转向产品方面的工作，但是我更想踏踏实实的把现在的工作做好。&lt;div&gt;到了新的工作中，角色有一些变化，而且刚过来的一段时间先是接手了一个比较紧急的项目，所以还没有完全适应过来。现在，这个项目进入了常规化状态，又有一些新的项目即将启动，在这个时候，需要思考一下接下来的工作内容和方式。&lt;/div&gt; &lt;div&gt;潜行，就是给自己的状态。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;说到产品研究，确实值得去做。如何将新技术运用到产品中去，给用户带来效率的提升？面对市场上充斥着的各种产品，如何体现自己的特点与优势？如何做用户需要的东西。&lt;/div&gt;&lt;div&gt;前段时间接手项目后，跟客户就需求文档中的某些内容进行确认与探讨，客户说，我们共同的目标是做出易用的软件产品，而不是做出仅仅符合文档的产品。而看到许多难用的产品时，有时候很是怀疑我们是否应该指望计算机或者软件来帮助我们改善生活。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;就自己而言，目前对于产品，需要进行的工作有：&lt;/div&gt;&lt;div&gt;了解同类产品的相关情况，分析各产品的特点&lt;/div&gt;&lt;div&gt;了解可以改善产品的思想与技术&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-3362196128148355704?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/3362196128148355704/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=3362196128148355704&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3362196128148355704'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3362196128148355704'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2010/10/blog-post.html' title='潜行'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-6247547619903680120</id><published>2010-08-09T11:52:00.001+08:00</published><updated>2010-08-09T11:52:59.211+08:00</updated><title type='text'>Web与桌面的混合</title><content type='html'>AQP里一开始就讲Web与桌面的混合编程。回想一下最近做的几个项目，全都是这种模式。这样做的好处是充分利用了Web页面丰富的表现形式和桌面程序对本地资源的控制能力。&lt;br&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-6247547619903680120?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/6247547619903680120/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=6247547619903680120&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6247547619903680120'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6247547619903680120'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2010/08/web.html' title='Web与桌面的混合'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5985887927717879989</id><published>2010-07-15T10:52:00.001+08:00</published><updated>2010-07-15T10:52:58.491+08:00</updated><title type='text'>Delphi 2010 使用UAC的问题</title><content type='html'>&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;1. 不要引用XPMan单元。&lt;/div&gt;&lt;div&gt;2. 把Delphi 2010生成的资源文件中trustInfo节中的requestedExecutionLevel节点的level属性设置为requireAdministrator。&lt;/div&gt;&lt;div&gt;重新打开工具，编译；OK。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;其实最好还是修改程序避免总是使用UAC。&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5985887927717879989?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5985887927717879989/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5985887927717879989&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5985887927717879989'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5985887927717879989'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2010/07/delphi-2010-uac.html' title='Delphi 2010 使用UAC的问题'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-1833322391680081203</id><published>2010-07-06T19:26:00.001+08:00</published><updated>2010-07-06T19:26:55.932+08:00</updated><title type='text'>Love Explains It All</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, &amp;#39;Times New Roman&amp;#39;; font-size: 13px; "&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, &amp;#39;Times New Roman&amp;#39;; font-size: 13px; "&gt;记着这些日子。&lt;/span&gt;&lt;/div&gt; &lt;div&gt;&lt;span class="Apple-style-span" style="font-family: Arial, Helvetica, &amp;#39;Times New Roman&amp;#39;; font-size: 13px; "&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;You say the words I need to hear&lt;br&gt;Dry my tears when I cry&lt;br&gt;You pull me close when I&amp;#39;m not near&lt;br&gt; &lt;br&gt;You knows the colours of my mind&lt;br&gt;Every breath that I take&lt;br&gt;And still they say that love makes blind&lt;br&gt;&lt;br&gt;And here I am&amp;nbsp;&lt;br&gt;Once again&lt;br&gt;Trying to think of what to say&lt;br&gt;And you&amp;#39;re my friend&lt;br&gt;Knowing all of my dreams and my fears&lt;br&gt; And here we are - you and me&lt;br&gt;I guess love explains it all&lt;br&gt;&lt;br&gt;I stay awake to watch you breath&lt;br&gt;So much I should have said&lt;br&gt;Somehow I tell you when you sleep&lt;br&gt;I love the silence when you&amp;#39;re near&lt;br&gt;And i love knowing you&lt;br&gt; And every word you say i keep.&lt;br&gt;&lt;br&gt;And here I am&amp;nbsp;&lt;br&gt;Once again&lt;br&gt;Trying to think of what to say&lt;br&gt;And you&amp;#39;re my friend&lt;br&gt;Knowing all of my dreams and my fears&lt;br&gt;And here we are - you and me&lt;br&gt;I guess love explains it all&lt;br&gt; &lt;br&gt;Time will pass&lt;br&gt;Time will change&lt;br&gt;Everything we know will turn to something else&lt;br&gt;Turn to something else&lt;br&gt;&lt;br&gt;Time has shown&lt;br&gt;Us where to go&lt;br&gt;And still i wonder why you catch me when I fall&lt;br&gt;I guess love explains it all&lt;br&gt; &lt;br&gt;Cause here I am&lt;br&gt;Once again&lt;br&gt;Trying to think of what to say&lt;br&gt;And you&amp;#39;re my friend&lt;br&gt;Knowing all of my dreams and my fears&lt;br&gt;And here we are - you and me&lt;br&gt;I guess love explains it all&lt;br&gt;&lt;br&gt;Here I am&lt;br&gt; Once again&lt;br&gt;Trying to think of what to say&lt;br&gt;And you&amp;#39;re my friend&lt;br&gt;Knowing all of my dreams and my fears&lt;br&gt;And here we are - you and me&lt;br&gt;I guess love explains it all&lt;br&gt;&lt;br&gt;Love explains it all&lt;br&gt;I guess love explains it all&lt;br&gt; Love explains it all&amp;nbsp;&lt;br&gt;&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-1833322391680081203?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/1833322391680081203/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=1833322391680081203&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/1833322391680081203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/1833322391680081203'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2010/07/love-explains-it-all.html' title='Love Explains It All'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2310192798897884724</id><published>2010-04-24T20:04:00.001+08:00</published><updated>2010-04-24T20:04:12.555+08:00</updated><title type='text'>一个软件缺陷的来龙去脉</title><content type='html'>&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;背景&lt;/div&gt;P软件主要有两个模块C和M组成。前期发现C模块中的A组件存在问题，所以决定由另一项目组的一名开发发员W来改写A组件，暂称A'组件。&lt;div&gt;我负责修改P软件，以更换新的A'组件，同时修改若干其他问题。由于旧的A组件在M中所用的功能没有发现问题，所以我没有修改M模块。&lt;/div&gt;&lt;div&gt;我修改了C模块，采用新的A'组件，在未经严格测试的情况下，把P软件部署到了客户现场使用。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;问题&lt;/div&gt;&lt;div&gt;由于A'组件未经严格测试，存在缺陷：采用A'组件生成的文件无法以普通方式打开。&lt;/div&gt;&lt;div&gt;而P软件通常并不以普通方式打开A'组件生成的文件，只是在C模块中采用A'生成文件，然后在M模块中通过A组件进行操作，转换为另一格式的文件。&lt;/div&gt;&lt;div&gt;但是在少数情况下，也需要以普通方式打开A'组件生成的文件。&lt;/div&gt;&lt;div&gt;很快，少数情况真的出现了，问题显露了，C模块生成的文件不能以普通方式打开。我确定了这一事实后，开始怀疑在M模块中是否能正确进行转换工作，因为P软件的C和M模块的采用的组件是不同的。&lt;/div&gt; &lt;div&gt;客户暴怒、技术支持愤慨，测试人员紧急测试一番，M模块工作正常，P软件工作正常。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;反思&lt;/div&gt;&lt;div&gt;如果C和M模块的A组件被同时替换为A&amp;#39;组件，虽然问题不能避免，但出现问题时，不必考虑由于C和M模块中组件不一致会引起的可能性。&lt;/div&gt;&lt;div&gt;如果P软件经过严格测试，出现问题时，就不会考虑M模块功能是否正常，能确切知道缺陷影响的范围。&lt;/div&gt;&lt;div&gt;P软件对于未经严格测试的A'组件，有测试的义务，因为A'组件本身不是一个项目，只是一个开发人员写的组件。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2310192798897884724?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2310192798897884724/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2310192798897884724&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2310192798897884724'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2310192798897884724'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2010/04/blog-post.html' title='一个软件缺陷的来龙去脉'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5629975650784610241</id><published>2010-02-02T23:10:00.001+08:00</published><updated>2010-02-02T23:10:14.097+08:00</updated><title type='text'>够酷够简的Sikuli</title><content type='html'>&lt;div&gt;&lt;br&gt;&lt;/div&gt;Sikuli真的够COOL，样子也真的够简陋，安装好了只有一个Editor，连个Help菜单也没有。不过这些都没关系，阻碍不了它的酷，也妨碍不了它今天0.9.7明天0.9.8的的版本更新速度。&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;正在开发的程序，界面主要由Flash组成，以前用的自动化测试工具还不能认出Flash中的控件，只好用取坐标的方式来编写自动化脚本了；这真是让Sikuli一显身手的地方。中午开始，把以前用AutoIt3编写的一段脚本，由Sikuli来完成，算是试用。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;前两天只看到了Sikuli的四个函数：switchApp、wait、click和find。这四个函数已经够做一些事了。可是今天需要更多，于是看一下API吧，真是少得可怜，当然，毫无疑问这才叫足够简单。好了，既然是Python，import几个模块来用用，def几个函数试试，一切顺利，一小段GUI自动化测试脚本完成了。运行一下，跟之前脚本的功能一样，不过，Sikuli可是更聪明，它能知道需要的界面出来没有。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;再看一下Sikuli Test API，哈哈，函数少到不到再少，只有assertExist和assertNotExist两个函数。可是测试不能只看存在不存在，如果能多几个OCR之类的函数，可能用处会更大吧。也许很快就会出现了。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5629975650784610241?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5629975650784610241/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5629975650784610241&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5629975650784610241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5629975650784610241'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2010/02/sikuli.html' title='够酷够简的Sikuli'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-8528557617579617093</id><published>2009-12-17T23:20:00.001+08:00</published><updated>2009-12-17T23:20:17.519+08:00</updated><title type='text'>换位</title><content type='html'>毕业时找工作，几次面试的感觉很是不爽。&lt;div&gt;昨天换了位置，第一次面试别人，于是可以不再单方面的看待面试这一过程了。&lt;/div&gt;&lt;div&gt;应聘者如何表现出自己的技能，面试者如何给应聘者机会来展示自己，这确实需要仔细思考。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;最近项目组比较缺人。没有准备的时候，被同事拉去面试一个应聘者，完全不了解任何情况，我跟同事前往洽谈室。路上简单向同事问了下基本要求，然后去人力资源那里拿了份简历看了看。应聘者简单自我介绍后，同事开始跟他谈一些他过去项目相关的问题，我借机把简历仔细看了一遍，接着他们的话题插了几句。最后，问了几个简单的技术问题。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;其实我一直觉得面试应该是有一个提纲的，或者更死板一点儿，应该有若干预备问题的，这样的一个提纲，从不同方面来考察一个应聘者的表现。&lt;/div&gt;&lt;div&gt;从面试别人我才认识到介绍项目时对于自己在项目中的工作，以及遇到的重点和难点的解决过程的说明是非常重要的。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;究竟需要从哪些方面来考察一个应聘者呢？&lt;/div&gt;&lt;div&gt;我想对于项目组的应用开发来说，从应聘者对软件开发流程的理解、对所用开发工具的熟悉程度、以及对基础概念的了解几方面看就可以了。&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-8528557617579617093?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/8528557617579617093/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=8528557617579617093&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8528557617579617093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8528557617579617093'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/12/blog-post.html' title='换位'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2530581618735716906</id><published>2009-12-14T18:40:00.001+08:00</published><updated>2009-12-14T18:40:23.559+08:00</updated><title type='text'>Detach from Program</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Verdana, Arial, Tahoma, Helvetica, sans-serif; font-size: 11px; "&gt;&lt;p style="line-height: 1.3em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1.1em; margin-right: 0px; margin-bottom: 1.1em; margin-left: 0px; "&gt; &lt;span class="Apple-style-span" style="font-size: small;"&gt;一个程序出问题了，我用Delphi附加到远程进程进行调试，下班的时候，我想把本地机器关掉，让远程的程序继续运行。无奈不知怎么脱离开调试的程序。&lt;/span&gt;&lt;/p&gt;&lt;p style="line-height: 1.3em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1.1em; margin-right: 0px; margin-bottom: 1.1em; margin-left: 0px; "&gt; &lt;span class="Apple-style-span" style="font-size: small;"&gt;查看Delphi帮助，明明确确的看到了一条&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; line-height: normal; border-collapse: collapse; "&gt;&lt;b&gt;Detach from Program&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; Choose Run|Detach from Program to tell the debugger that you no longer want to debug a process. It is different from Program Reset in that Reset kills the process you&amp;#39;re debugging. Detach from Program effectively ends the debug session on the current process, but it leaves the process running (the debugger no longer controls the process).&lt;/blockquote&gt; &lt;p style="line-height: 1.3em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1.1em; margin-right: 0px; margin-bottom: 1.1em; margin-left: 0px; "&gt;&lt;font class="Apple-style-span" face="arial, sans-serif" size="3"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px; line-height: normal;"&gt;但是到菜单里一看，根本就没有Detach from Program这个菜单项嘛，帮助文件睁眼说瞎话？&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;p style="line-height: 1.3em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1.1em; margin-right: 0px; margin-bottom: 1.1em; margin-left: 0px; "&gt;&lt;font class="Apple-style-span" face="arial, sans-serif" size="3"&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-size: 13px; line-height: normal;"&gt;求助于AQTime看看，结果看到FAQ里这样一条：&lt;/span&gt;&lt;/font&gt;&lt;/p&gt; &lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; Q.: How do I detach from the process that I attached to earlier?&amp;nbsp;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; A.:&amp;nbsp;Currently, detaching is not supported. When attaching, AQtime instruments the process&amp;#39;s binary code and these changes cannot be undone.&lt;/blockquote&gt;&lt;div class="a"&gt;&lt;p style="line-height: 1.3em; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; margin-top: 1.1em; margin-right: 0px; margin-bottom: 1.1em; margin-left: 0px; "&gt; &lt;span class="Apple-style-span" style="font-size: small;"&gt;好嘛，What done cannot be undone。&lt;/span&gt;&lt;/p&gt;&lt;/div&gt;&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2530581618735716906?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2530581618735716906/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2530581618735716906&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2530581618735716906'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2530581618735716906'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/12/detach-from-program.html' title='Detach from Program'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-1750722761770044205</id><published>2009-10-29T16:18:00.001+08:00</published><updated>2009-10-29T16:18:02.652+08:00</updated><title type='text'>准命令行编译Flash</title><content type='html'>&lt;div&gt;没用过Flash，但是项目中有Flash的工程，当然希望Flash的编译成为自动构建的一部分。&lt;/div&gt;&lt;div&gt;本来以为可以用Flex SDK来搞定的，但是构建人员没有搞出来，只好回归到&lt;font class="Apple-style-span" face="&amp;#39;comic sans ms&amp;#39;, sans-serif"&gt;jsfl先&lt;/font&gt;用这准命令行的方式吧。&lt;/div&gt;还是先放代码&lt;div&gt;&lt;br&gt;&lt;/div&gt; &lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;comic sans ms&amp;#39;, sans-serif"&gt;//demo.jsfl&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;var doc = fl.openDocument(&amp;quot;file:///c:/demo.fla&amp;quot;);&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;doc.exportSWF(&amp;quot;file:///c:/demo.swf&amp;quot;, true);&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;fl.quit(false);&lt;/font&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;再加个命令行&lt;/div&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;comic sans ms&amp;#39;, sans-serif"&gt;flash.exe demo.jsfl&amp;nbsp;&lt;/font&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;有些时候，简单解决问题就好。&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-1750722761770044205?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/1750722761770044205/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=1750722761770044205&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/1750722761770044205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/1750722761770044205'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/10/flash.html' title='准命令行编译Flash'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-443372934553122490</id><published>2009-10-29T15:54:00.001+08:00</published><updated>2009-10-29T15:54:49.602+08:00</updated><title type='text'>Invalid floating point operation</title><content type='html'>&lt;span class="Apple-style-span" style="font-family: Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 12px; line-height: 18px; "&gt;&lt;div&gt;诡异事件的出现，多数是由于对其了解不够多。&lt;/div&gt;&lt;div&gt;本来在C++中调用多次的dll，放到Delphi中调用，总是产生&amp;ldquo;&amp;rdquo;&lt;span class="Apple-style-span" style="font-family: arial, sans-serif; font-size: 13px; line-height: normal; border-collapse: collapse; color: rgb(2, 19, 36); white-space: pre; -webkit-border-horizontal-spacing: 2px; -webkit-border-vertical-spacing: 2px; "&gt;Invalid floating point operation&lt;span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Tahoma, Verdana, Geneva, Arial, Helvetica, sans-serif; font-size: 12px; white-space: normal; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; line-height: 18px; "&gt;&amp;rdquo;异常，很是诧异。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt; &lt;div&gt;多方搜索，原来要关闭浮点异常。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;先放一段Delphi帮助中的例子，恐怕有很多人忘了用完之后设置回去。&lt;/div&gt;&lt;div&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; procedure NumericExample;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; var&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &amp;nbsp;&amp;nbsp;Saved8087CW: Word;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; begin&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &amp;nbsp;&amp;nbsp;Saved8087CW := Default8087CW;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &amp;nbsp;&amp;nbsp;Set8087CW($133f); { Disable all fpu exceptions }&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &amp;nbsp;&amp;nbsp;ThirdPartyRoutine;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &amp;nbsp;&amp;nbsp;Set8087CW(Saved8087CW);&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; end;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Delphi帮助中的关于Set8087CW的说明，被我重新编排了一下引用如下（三段话，顺序正好与原来相反）。&lt;/div&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; It is recommended that you disable all floating-point exceptions when using OpenGL to render 3D graphics. To do this, call Set8087CW(0x133f) in your main form� OnCreate event before calling any OpenGL functions.&lt;/blockquote&gt; &lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; This routine allows the programmer to have direct access to the CW. Be aware that using this routine to change the value of the 8087CW will change the behavior of the program� FP calculations. It is the programmer&amp;#39;s responsibility to reset it.&lt;/blockquote&gt; &lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; The floating-point unit control word controls the precision of floating point calculations, the rounding mode, and whether certain floating-point operations trigger exceptions. See Intel&amp;#39;s processor documentation for details.&lt;/blockquote&gt; &lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;再放一段搜索来的内容增加长度。&lt;/div&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; Tripping floating-point exceptions&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; Floating-point exceptions are, as you might expect by virtue of the name, rare. The ones that happen most commonly by mistake&amp;nbsp;in my experience are the zero-divide and invalid operation exceptions. Zero divide tends to happen whenever you have an unchecked&amp;nbsp;normalization operation, such as resetting a 2D or 3D vector to unit length &amp;mdash; which works fine, until someone hands you a vector of length zero.&amp;nbsp;Another example would be trying to normalize a portion of audio that was totally silent. When the zero-divide exception is masked, the FPU spits out a signed infinity instead, which sometimes works out in the end. For instance, if the expression is of the form |x/y| &amp;gt; n, then the infinity would give you the correct result.&lt;/blockquote&gt; &lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; Invalid operation exceptions are more serious and result from operations that don&amp;#39;t have a graceful way to degrade, such as 0/0, the square root of -1, etc. These too often result from the lack of bounds checks. For instance, a common way to determine the angle between two vectors is through dot product, since the shortest angle between two vectors is acos(dot(v1 / |v1|, v2 / |v2|)). Unfortunately, the common way of normalizing vectors is to multiply by the reciprocal square root of the squared length (dot(v,v)), which can give you a not-quite-unit-length vector since the squaring operation discards half of the usual precision. This can then lead to taking the arccosine of a number slightly larger than 1. When such an operation occurs and invalid operation exceptions are masked, the FPU spits out a Not a Number (NaN) value and keeps going. You can also trip such an exception by trying to operate on NaNs, especially by loading garbage data that isn&amp;#39;t a valid IEEE finite number.&lt;/blockquote&gt; &lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; In general, you don&amp;#39;t want to be tripping floating-point exceptions, even if they are masked. The reason is that when the FPU hits one, the fast hardware can&amp;#39;t handle it and punts to the microcode, which then takes about twenty times longer. This is especially bad with NaNs since any operation with a NaN produces another NaN, causing them to spread throughout your calculations (NaN disease) and slow down everything massively. You can even crash due to NaNs blowing past clamp expressions, since any comparison with a NaN is false and converting one to integer form results in integer indefinite (0x80000000). Despite the erroneous results, though, NaNs can appear sporadically in a large Win32 program without anyone knowing, and may go unnoticed in a code base for years.&lt;/blockquote&gt; &lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; Note that although exceptions are really slow and usually indicate mistakes, the results when the exceptions are masked are well-defined. It is possible, and sometimes reasonable, to actually depend on and test for specific results from masked exceptions. So it isn&amp;#39;t valid to simply say &amp;quot;don&amp;#39;t do that.&amp;quot;&lt;/blockquote&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&lt;/div&gt;&lt;/span&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-443372934553122490?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/443372934553122490/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=443372934553122490&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/443372934553122490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/443372934553122490'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/10/invalid-floating-point-operation.html' title='Invalid floating point operation'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2738161133231936533</id><published>2009-10-26T20:42:00.001+08:00</published><updated>2009-10-26T20:42:20.453+08:00</updated><title type='text'>八小时里的那点儿事儿</title><content type='html'>又开始一个新项目了，工期不会超过两个月，代码不过万把行。&lt;div&gt;每个项目都是所谓工期短，时间紧，公司领导很重视。结果就是造就了一堆没人用的小玩意儿。&lt;/div&gt;&lt;div&gt;每个产品后期都会随着一次次的产品评审改来改去，其实那最应该叫做需求评审。&lt;/div&gt;&lt;div&gt;每个领导都有自己的想法，会对产品提出改进意见，但是，如果一个领导需要为界面上的几个普通的元素亲自负责的话，那是不是应该先招聘几个设计师呢。&lt;/div&gt;&lt;div&gt;每次例会都是以这些问题很重要开始，以这些问题会后讨论结束。&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2738161133231936533?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2738161133231936533/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2738161133231936533&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2738161133231936533'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2738161133231936533'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/10/blog-post.html' title='八小时里的那点儿事儿'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-478230199473252213</id><published>2009-09-10T17:26:00.001+08:00</published><updated>2009-09-10T17:26:55.872+08:00</updated><title type='text'>Be Careful</title><content type='html'>连续两天到客户现场去测试程序，由开发、测试、技术支持三队人马一起行动。显然，这种情况需要事先安排好计划，到了现场以后才可能有条不紊的进行工作，否则，只能是一团糟或者延误时间。&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;今天自己犯了一个太大的错误，在现场以为数据库里都是些测试数据，直接把某个表的数据全部UPDATE成了初始状态，谁知里面有一万多条客户真实数据，幸好客户的这批任务已全部结束，否则不堪设想。事情虽然没有产生什么恶性后果，但这样的错误难以忍受。以后做类似操作，一定要确保头脑清醒，且谨慎！&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-478230199473252213?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/478230199473252213/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=478230199473252213&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/478230199473252213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/478230199473252213'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/09/be-careful.html' title='Be Careful'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5065661601787148833</id><published>2009-08-31T21:35:00.001+08:00</published><updated>2009-08-31T21:35:04.328+08:00</updated><title type='text'>To be, or not to be</title><content type='html'>&lt;br&gt;&lt;div&gt;我写了一些自动化脚本，为了在C/S结构软件中编写服务端时，有个客户端可以自已运行，省得一心二用，左顾右盼。我自己用到开发过程中，这个小东西效果很好，省了很多事。&lt;/div&gt;&lt;div&gt;它看起来确实不错呀，项目组长发现了，推荐给测试人员吧。我摇身一变，从开发变成测试开发了。但是GUI测试确实烦人呀，好歹将就着能用了，我真希望到此为止吧。但是，用户的需求是不断的，然而，我希望这些工作应该是由测试人员来做的。因为，工具只是辅助工作的，只有使用他的人才知道怎么最有效。&lt;/div&gt; &lt;div&gt;不能说服别人做好，如果真的做的好，别人自然会按你做的来；同样，我也不希望把东西做好了送到别人跟前让人承认这是好东西。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;我把桌面的AutoIt背景换掉了，到此为止。附加的一个原因是，没有发现AutoIt中动态调用函数的方式，再做更多工作需要的代价过高了。&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5065661601787148833?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5065661601787148833/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5065661601787148833&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5065661601787148833'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5065661601787148833'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/08/to-be-or-not-to-be.html' title='To be, or not to be'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-8412374732259362004</id><published>2009-08-18T16:48:00.001+08:00</published><updated>2009-08-18T16:48:33.788+08:00</updated><title type='text'>WTL及其他</title><content type='html'>&lt;br&gt;&lt;div&gt;WTL有更新了，8.1，在VS2008中安装Wizard时再也不会复制-打开-替换-保存-关闭操作了。&lt;/div&gt;&lt;div&gt;WTL程序中，包含ActiveX控件要导入类型库，在stdafx.h中加入&lt;/div&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;comic sans ms&amp;#39;, sans-serif"&gt;#import &amp;quot;c:/windows/system32/wmp.dll&amp;quot; raw_interfaces_only, raw_native_types, no_namespace, named_guids&lt;/font&gt;&lt;/blockquote&gt;&lt;div&gt;Flash控件可能不在system32下了，跑到Macromed中的某个地方了。&lt;/div&gt; &lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;包含RichEdit控件，要在创建前进行&lt;/div&gt;&lt;div&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;comic sans ms&amp;#39;, sans-serif"&gt;HINSTANCE hInstRich = ::LoadLibrary(CRichEditCtrl::GetLibraryName());&lt;/font&gt;&lt;/blockquote&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;comic sans ms&amp;#39;, sans-serif"&gt;ATLASSERT(hInstRich != NULL);&lt;/font&gt;&lt;/blockquote&gt;&lt;div&gt;否则主窗体创建失败。&amp;nbsp;&lt;/div&gt;&lt;div&gt;结束前&lt;/div&gt;&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;font class="Apple-style-span" face="&amp;#39;comic sans ms&amp;#39;, sans-serif"&gt;::FreeLibrary(hInstRich);&amp;nbsp;&lt;/font&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Subversion也支持external文件了，但是还存在已知问题，所以多数时候还是没用，因为我想external的多数是二进制文件。&lt;/div&gt;&lt;div&gt;&lt;br&gt; &lt;/div&gt;&lt;div&gt;好长时间没注意，FOP也更新到0.95了。&lt;/div&gt;&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-8412374732259362004?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/8412374732259362004/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=8412374732259362004&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8412374732259362004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8412374732259362004'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/08/wtl.html' title='WTL及其他'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-4685833993907543334</id><published>2009-08-12T11:18:00.001+08:00</published><updated>2009-08-12T11:18:24.144+08:00</updated><title type='text'>DON'T DO THIS</title><content type='html'>&lt;br&gt;Delphi的帮助中有一个条目是Returning a PChar local variable，当然这个条目说的是反例，是说长字符串与PChar之间的差别会引起的问题。在这个条目中所举的例子里，特别注释了&amp;ldquo;&lt;font class="Apple-style-span" color="#FF0000"&gt;// DON&amp;#39;T DO THIS&lt;/font&gt;&amp;rdquo;，但是正如这一条目开头便指出的，这却是一个常见的错误，所以这样写法还是屡见不鲜，而且通常看起来也似乎正确，但是，并不是这样的。&lt;blockquote class="gmail_quote" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0.8ex; border-left-width: 1px; border-left-color: rgb(204, 204, 204); border-left-style: solid; padding-left: 1ex; "&gt; &lt;br&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;function ReturnLocalStringToPChar: PChar;&lt;/span&gt;&lt;/font&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; var S, Y: string;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; begin&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;S := &amp;#39;aaa&amp;#39;;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;Y := &amp;#39;bbb&amp;#39;;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;S := S + Y;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;Result := PChar(S);&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; end;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; procedure Test(S: string)&lt;/span&gt;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; var&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; A: string;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; P: PChar;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;begin&lt;/span&gt;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; P :=&amp;nbsp;ReturnLocalStringToPChar;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; WriteLn(P);&lt;/span&gt;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; A := GetCurrentDir;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; WriteLn(P);&lt;/span&gt;&lt;/font&gt;&lt;/div&gt; &lt;div&gt;&lt;font class="Apple-style-span" face="&amp;#39;courier new&amp;#39;, monospace"&gt;&lt;span class="Apple-style-span" style="font-size: small;"&gt;&amp;nbsp;&amp;nbsp;end;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;如果你认为两次打印的内容是一样的，那就错了。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt; &lt;div&gt;所以，文档是一定要看的。想起邮件列表中有人回答问题的同时说不知道为什么很多人不看文档，而他对很熟悉的东西也是要常翻翻文档的。&lt;/div&gt;&lt;div&gt;同样，在前几天，在同别人调试AutoIt3脚本时，发现因为没有看到最新的文档，对返回值的判断不正确的情况。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;看清楚文档，用明确知道的东西，知道自己在写什么，才可能写出可靠的代码。&lt;/div&gt; &lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-4685833993907543334?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/4685833993907543334/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=4685833993907543334&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4685833993907543334'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4685833993907543334'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/08/dont-do-this.html' title='DON&apos;T DO THIS'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2805531826867554396</id><published>2009-07-17T23:31:00.001+08:00</published><updated>2009-07-17T23:31:17.634+08:00</updated><title type='text'>Out of Memory 就这样崩溃</title><content type='html'>一年多的短信从来没有删除过，手机终于崩溃了，任何动作都提示空间不足。&lt;br&gt;我也一样，一年过去了，就这样静静的崩溃，做不出任何动作。&lt;br&gt;Formatting的是手机。格式化的是我。&lt;br&gt;无声无息。无知无觉。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2805531826867554396?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2805531826867554396/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2805531826867554396&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2805531826867554396'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2805531826867554396'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/07/out-of-memory.html' title='Out of Memory 就这样崩溃'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-3493309969306825446</id><published>2009-07-17T22:48:00.000+08:00</published><updated>2009-07-17T22:50:19.514+08:00</updated><title type='text'>行动 Just Do It</title><content type='html'>行动是最重要的。今天被自己的行为教育了。&lt;br&gt;半年前，为了熟悉HMM，将别人的一个英文词性标注器用Python实现了一遍，无非是在C++和Python间翻译代码。可是，翻译完了一测试，准确率不足70%，毫无疑问，肯定是自己的实现某处有不显眼的错误。当时没有找出问题所在，后来多次打算把这个调试好，以备后用，但每次瞅几眼那些代码就困意重重而作罢。今天中午终于打定主意，仔细调试了一遍代码，不到二十分钟就找出来了问题，修改后已知词准确率98%。其实，跟以前相比，差别就是多了一点儿行动与耐心。&lt;br&gt;想起一位科学家谈到自己的重大发现时轻描淡写的说，只要做实验，谁都能看到。&lt;br&gt;只有行动才可能有结果；只有付出才可能有收获。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-3493309969306825446?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/3493309969306825446/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=3493309969306825446&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3493309969306825446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3493309969306825446'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/07/just-do-it.html' title='行动 Just Do It'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-7059623285074936571</id><published>2009-05-14T20:42:00.004+08:00</published><updated>2009-05-14T21:16:32.149+08:00</updated><title type='text'>南京小聚</title><content type='html'>几个人从不同的方向到南京，不顾劳累，放弃游玩，来小聚一场。&lt;div&gt;&lt;br /&gt;&lt;div&gt;上学时起租房的老朋友已几年不见，饭桌上突然说起魔方的时候，只以为是他一贯的调侃作风；当他真的从背包里拿出 &lt;span class="Apple-style-span" style="font-weight: bold; "&gt;Rublk's Cube&lt;/span&gt; 的时候，我也笑着拿出了自己的魔方，我们再一次握手。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://2.bp.blogspot.com/_zybfAlfP40M/SgwXyOrHZgI/AAAAAAAAAC4/7rUNoHviaQ4/s400/RIMG0087.JPG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5335665810227029506" /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;南京几位东家的盛情款待让我感到情意的深厚，这是多么难得的开心时刻。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://2.bp.blogspot.com/_zybfAlfP40M/SgwZIGyDiSI/AAAAAAAAADA/3mL0yqAuxRw/s400/RIMG0070.JPG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5335667285577402658" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-7059623285074936571?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/7059623285074936571/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=7059623285074936571&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7059623285074936571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7059623285074936571'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/05/blog-post.html' title='南京小聚'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zybfAlfP40M/SgwXyOrHZgI/AAAAAAAAAC4/7rUNoHviaQ4/s72-c/RIMG0087.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-6211666109217967410</id><published>2009-04-26T18:26:00.002+08:00</published><updated>2009-04-26T18:34:34.324+08:00</updated><title type='text'>魔方聚会</title><content type='html'>在某个KFC小聚。还好直到两三个小时后才被“请”出来。&lt;div&gt;见到了各式各样的魔方爱好者和各式各样的魔方。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;img src="http://2.bp.blogspot.com/_zybfAlfP40M/SfQ4mJ_X35I/AAAAAAAAACw/Qv377P2Fm5I/s400/RIMG0015.JPG" style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 400px; height: 300px;" border="0" alt="" id="BLOGGER_PHOTO_ID_5328946487254048658" /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-6211666109217967410?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/6211666109217967410/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=6211666109217967410&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6211666109217967410'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6211666109217967410'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/04/blog-post_26.html' title='魔方聚会'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zybfAlfP40M/SfQ4mJ_X35I/AAAAAAAAACw/Qv377P2Fm5I/s72-c/RIMG0015.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-6256634069554086798</id><published>2009-04-16T06:13:00.004+08:00</published><updated>2009-04-16T07:37:08.594+08:00</updated><title type='text'>Lose Count 数不清</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;我用针尖计算着与你见面的日子，一次又一次的麻木与苏醒，不断忘了数目又从零开始。&lt;div&gt;一夜中睡了三次，起来三次，我不知道该怎么计算。&lt;/div&gt;&lt;div&gt;这些混乱的日子，无休无止，我数不清。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Do we really need to count?&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;有时候简单的数几个数也总是数不对，计算机如此擅长此事，而我们却没有给以足够的信赖。&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;TCountState = class&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  private&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    Xes: TList;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    FXCount: Integer;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  public&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    procedure AddX(X: XClass);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    procedure Reset;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  property XCount: Integer read FXCount;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;end;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;TCountState.AddX(X: XClass);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;begin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  if not Xes.Has(X) then&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  begin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    Xes.Add(X);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    Inc(XCount);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  end;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;end;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;TCountState.Reset;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;begin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  XCount := 0;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  // However, nothing be done with Xes here.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;end;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;div&gt;毫无疑问，在这千头万绪的岁月中，&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;AddX()&lt;/span&gt;会在不同的线程中调用，即使算上脚指头，我们也无法数清楚XCount到底是什么了。好歹我们知道有个东西叫&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;InterLockIncrement&lt;/span&gt;。&lt;/div&gt;&lt;div&gt;很好，似乎学会数数了，但是，看起来有时候还是会数错，尤其是在一次次的麻木与苏醒之后，也许想忘记过去，却不够彻底，忘了一些东西而记住了另一些东西，这会混乱不堪。所以，在醒来之前把过去消除掉吧，它可能是美好的回忆，但也可能是沉重的包袱，或者兼而有之。&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;Xes.Clear;&lt;/span&gt;这一次，可以坚信不用手指头也可以正确数数了。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;等等，我们真的需要数吗？&lt;/div&gt;&lt;div&gt;这些混乱的日子，无休无止，是度日如年、一日三秋还是十年一梦，谁也数不清，只有日历最清楚。&lt;/div&gt;&lt;div&gt;还是直接问问它们吧。&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;TCountState = class&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;  private&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;    Xes: TList;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;    function GetXCount: Integer;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;  public&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;    procedure AddX(X: XClass);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;    procedure Reset;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;  property XCount: Integer read GetXCount;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;end;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;TCountState.AddX(X: XClass);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;begin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;  if not Xes.Has(X) then&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;  begin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;    Xes.Add(X);&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;  end;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;end;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;TCountState.GetXCount;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;begin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  Result := Xes.Count;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;end;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;TCountState.Reset;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;begin&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;  Xes.Clear;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;end;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;数数真的很难，曾经QQ空间这样跟我说&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="color: rgb(51, 51, 51);   line-height: 15px; font-family:Arial;font-size:10px;"&gt;&lt;blockquote&gt;共 &lt;span style="color: rgb(51, 102, 255); "&gt;126&lt;/span&gt; 个签名，第 &lt;span style="color: rgb(255, 0, 0); "&gt;22&lt;/span&gt; 页/共 21 页&lt;/blockquote&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;曾经我们在邮件列表中这样计算&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="border-collapse: collapse;   font-family:arial;font-size:13px;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="border-collapse: collapse;   font-family:arial;font-size:13px;"&gt;K = 12&lt;br /&gt;AVE = 23.45&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial; font-size: 48px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="border-collapse: collapse;  font-family:arial;font-size:13px;"&gt;k=13&lt;br /&gt;average=23.57&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial; font-size: 48px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="border-collapse: collapse;  font-family:arial;font-size:13px;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:verdana;"&gt;&lt;div&gt;&lt;span style="color:#000080;"&gt;k=13&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="color:#000080;"&gt;AVG=23.49&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 128);"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 128);"&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 0);  font-family:arial;"&gt;出现了互斥问题，修正一下当前k=14,ave=23.60&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="border-collapse: collapse;  font-family:arial;font-size:13px;"&gt;&lt;span class="Apple-style-span"  style=" ;font-family:verdana;"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 128);"&gt;&lt;span class="Apple-style-span"  style="color: rgb(0, 0, 0);  font-family:arial;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style=" ;font-family:'courier new';"&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-6256634069554086798?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/6256634069554086798/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=6256634069554086798&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6256634069554086798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6256634069554086798'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/04/lose-count.html' title='Lose Count 数不清'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-8964941891809805058</id><published>2009-04-15T21:53:00.004+08:00</published><updated>2009-04-15T22:53:10.576+08:00</updated><title type='text'>思维与行为的灵魂</title><content type='html'>&lt;span class="Apple-style-span"   style="border-collapse: collapse;   font-family:arial;font-size:13px;"&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="border-collapse: separate; white-space: pre;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"  style="border-collapse: separate;  white-space: pre; font-family:Arial;"&gt;两本好书。&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;一本是&lt;span class="Apple-style-span" style="font-style: italic;"&gt;The Pragmatic Programmer&lt;/span&gt; ，道理不只为程序设计而言。文章也写得很好，言简意赅，读来学英文也很不错。这不得不让我想起了一本商业英语写作与演讲的书 &lt;span class="Apple-style-span" style="font-style: italic; "&gt;Plain English at Work&lt;/span&gt; ，讲述了如何使用简洁的英文高效的传递信息，而书本身就是一个极佳的范例。前一本书远不止对程序设计有益处，而后一本也远不止对写作演讲有帮助。代码和文章的字里行间处处是思维与行为的灵魂，绝不仅仅是技巧与规则的躯壳。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;1、关心你的技艺 &lt;br /&gt;Care About Your Craft &lt;br /&gt;除非你在乎能否漂亮地开发出软件，否则其它事情都是没有意义的。 &lt;br /&gt;&lt;br /&gt;2、思考！你的工作 &lt;br /&gt;Think!About Your Work &lt;br /&gt;在你做某件事情的时候思考你在做什么。不间断地思考，&lt;wbr&gt;实时地批判你的工作。这将占据你的一些宝贵时间，&lt;wbr&gt;酬劳则是更为活跃地参与你喜爱的工作、&lt;wbr&gt;感觉到自己在掌握范围日增的各种主题以及因感受到持续的进步而欢&lt;wbr&gt;愉。从长远来说，&lt;wbr&gt;你在时间上的投入将会随着你和你的团队变得更为高效、&lt;wbr&gt;编写出更易于维护的代码以及开会时间的减少而得到回报。 &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;3、提供各种选择，不要找蹩脚的借口 &lt;br /&gt;Provide Options,Don't Make Lame Excuses &lt;br /&gt;不要说事情做不到；要说明能够做什么来挽回局面。&lt;wbr&gt;不要害怕提出要求，也不要害怕承认你需要帮助。 &lt;br /&gt;&lt;br /&gt;4、不要容忍破窗户 &lt;br /&gt;Don't Live With Broken Windows &lt;br /&gt;不要留着“破窗户”（低劣的设计、错误的决策、或者糟糕的代码）&lt;wbr&gt;不修。发现一个就修一个。如果没有足够的时间进行适当的修理，&lt;wbr&gt;采取某种行动防止进一步的破坏，并说明情势处在你的控制之下。 &lt;br /&gt;如果你发现你所在团队和项目的代码十分漂亮——编写整洁、&lt;wbr&gt;设计良好，并且很优雅，你不会想成为第一个弄脏东西的人。 &lt;br /&gt;&lt;br /&gt;5、做变化的催化剂 &lt;br /&gt;Be a Catalyst for Change &lt;br /&gt;你不能强迫人们改变。相反，要向他们展示未来可能会怎样，&lt;wbr&gt;并帮助他们参与对未来的创造。 &lt;br /&gt;设计出你可以合理要求的东西，好好开发它。一旦完成，&lt;wbr&gt;就拿给大家看，让他们大吃一惊。然后说：“要是我们增加...&lt;wbr&gt;可能就会更好。”假装那并不重要。坐回椅子上，&lt;wbr&gt;等着他们开始要你增加你本来就想要的功能。人们发现，&lt;wbr&gt;参与正在发生的成功要更容易。让他们瞥见未来，&lt;wbr&gt;你就能让他们聚集在你周围。 &lt;br /&gt;&lt;br /&gt;6、记住大图景 &lt;br /&gt;Remember the Big Picture &lt;br /&gt;如果你抓一只青蛙放进沸水里，它会一下子跳出来。但是，&lt;wbr&gt;如果你把青蛙放进冷水里，然后慢慢加热，&lt;wbr&gt;青蛙不会注意到温度的缓慢变化，会呆在锅里，直到被煮熟。 &lt;br /&gt;不要像青蛙一样。留心大图景。要持续不断地观察周围发生的事情，&lt;wbr&gt;而不只是你自己在做的事情。 &lt;br /&gt;&lt;br /&gt;7、使质量成为需求问题 &lt;br /&gt;Make Quality a Requirements Issue &lt;br /&gt;你所制作的系统的范围和质量应该作为系统需求的一部分规定下来。&lt;wbr&gt;让你的用户参与权衡，知道何时止步，提供足够好的软件。 &lt;br /&gt;&lt;br /&gt;8、定期为你的知识资产投资 &lt;br /&gt;Invest Regularly in Your Knowledge Portfolio &lt;br /&gt;&lt;br /&gt;让学习成为习惯。 &lt;br /&gt;持续投入十分重要。一旦你熟悉了某种新语言或新技术，继续前进，&lt;wbr&gt;学习另一种。 &lt;br /&gt;是否在某个项目中使用这些技术，或者是否把它们放入你的简历，&lt;wbr&gt;这并不重要。学习的过程将扩展你的思维，&lt;wbr&gt;使你向着新的可能性和新的做事方式拓展。思维的“异花授粉”&lt;wbr&gt;十分重要；设法把你学到的东西应用到你当前的项目中。&lt;wbr&gt;即使你的项目没有使用该技术，你或许也能借鉴一些想法。例如，&lt;wbr&gt;熟悉了面向对象，你就会用不同的方式编写纯C程序。 &lt;br /&gt;如果你自己找不到答案，就去找出能找到答案的人。&lt;wbr&gt;不要把问题搁在那里。 &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;9、批判地分析你读到的和听到的 &lt;br /&gt;Critically Analyze What You Read and Hear &lt;br /&gt;不要被供应商、媒体炒作、或教条左右。&lt;wbr&gt;要依照你自己的看法和你的项目的情况去对信息进行分析。 &lt;br /&gt;&lt;br /&gt;10、你说什么和你怎么说同样重要 &lt;br /&gt;It's Both What You Say and the Way You Say It &lt;br /&gt;&lt;br /&gt;作为开发者，我们必须在许多层面上进行交流。&lt;wbr&gt;我们的时间有很大部分都花在交流上，所以我们需要把它做好。 &lt;br /&gt;如果你不能有效地向他人传达你的了不起的想法，&lt;wbr&gt;这些想法就毫无用处。 &lt;br /&gt;知道你想要说什么；了解你的听众；选择时机；选择风格；&lt;wbr&gt;让文档美观；让听众参与；做倾听者；回复他人。 &lt;br /&gt;交流越有效，你就越有影响力。 &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;11、DRY原则——不要重复你自己 &lt;br /&gt;DRY - Don't Repeat Yourself &lt;br /&gt;系统中的每一项知识都必须具有单一、无歧义、权威的表示。&lt;wbr&gt;与此不同的做法是在两个或更多地方表达同一事物。&lt;wbr&gt;如果你改变其中一处，你必须记得改变其它各处。&lt;wbr&gt;这不是你能否记住的问题，而是你何时忘记的问题。 &lt;br /&gt;&lt;br /&gt;12、让复用变得容易 &lt;br /&gt;Make it Easy to Reuse &lt;br /&gt;你要做的是营造一种环境，在其中要找到并复用已有的东西，&lt;wbr&gt;比自己编写更容易。如果复用很容易，人们就会去复用。&lt;wbr&gt;而如果不复用，你们就会有重复知识的风险。 &lt;br /&gt;&lt;br /&gt;13、消除无关事物之间的影响 &lt;br /&gt;Eliminate Effects Between Unrelated Things &lt;br /&gt;我们想要设计自足（self-contained）的组件：&lt;wbr&gt;独立，具有单一、良好定义的目的。如果组件是相互隔离的，&lt;wbr&gt;你就知道你能够改变其中一个，而不用担心其余组件。&lt;wbr&gt;只要你不改变组件的外部接口，你就可以放心：&lt;wbr&gt;你不会造成波及整个系统的问题。 &lt;br /&gt;你得到两个主要好处：提高生产率与降低风险。 &lt;br /&gt;&lt;br /&gt;14、不存在最终决策 &lt;br /&gt;There Are No Final Decisions &lt;br /&gt;没有什么永远不变——而如果你严重依赖某一事实，&lt;wbr&gt;你几乎可以确定它将会变化。与我们开发软件的速度相比，需求、&lt;wbr&gt;用以及硬件变得更快。通过DRY原则、解耦以及元数据的使用，&lt;wbr&gt;我们不必做出许多关键的、不可逆转的决策。&lt;wbr&gt;有许多人会设法保持代码的灵活性，而你还需要考虑维持架、&lt;wbr&gt;部署及供应商集成等领域的灵活性。 &lt;br /&gt;&lt;br /&gt;15、用曳光弹找到目标 &lt;br /&gt;Use Tracer Bullets to Find the Target &lt;br /&gt;曳光弹能通过试验各种事物并检查它们离目标有多远来让你追踪目标&lt;wbr&gt;。 &lt;br /&gt;曳光弹代码含有任何一段产品代码都拥有的完整的错误检查、结构、&lt;wbr&gt;文档、以及自查。它只不过功能不全而已。但是，&lt;wbr&gt;一旦你在系统的各组件之间实现了端到端（end-to-end）&lt;wbr&gt;的连接，你就可以检查你离目标还有多远，&lt;wbr&gt;并在必要的情况下进行调整。一旦你完全瞄准，&lt;wbr&gt;增加功能将是一件容易的事情。 &lt;br /&gt;&lt;br /&gt;16、为了学习而制作原型 &lt;br /&gt;Prototype to Learn &lt;br /&gt;任何带有风险的事物。以前没有试过的事物，&lt;wbr&gt;或是对于最终系统极其关键的事物。任何未被证明的、试验性的、&lt;wbr&gt;或有疑问的事物。任何让你觉得不舒服的东西。&lt;wbr&gt;都可以通过制作原型来研究。比如：架构；已有系统中的新功能；&lt;wbr&gt;外部数据的结构或内容；第三方工具或组件；性能问题；&lt;wbr&gt;用户界面设计等等。 &lt;br /&gt;原型制作是一种学习经验，其价值并不在于所产生的代码，&lt;wbr&gt;而在于所学到的经验教训。 &lt;br /&gt;&lt;br /&gt;17、靠近问题领域编程 &lt;br /&gt;Program Close to The Problem domain &lt;br /&gt;计算机语言会影响你思考问题的方式，以及你看待交流的方式。&lt;wbr&gt;用你的用户的语言进行设计和编码。 &lt;br /&gt;&lt;br /&gt;18、估算，以避免发生意外 &lt;br /&gt;Estimate to Avoid Surprises &lt;br /&gt;在着手之前先进行估算。你将提前发现潜在的问题。 &lt;br /&gt;1）要选择能反映你想要传达的精确度的单位； &lt;br /&gt;2）基本的估算诀窍：去问已经做过这件事情的人； &lt;br /&gt;3）理解提问内容； &lt;br /&gt;4）根据对问题的理解，建立粗略、就绪的思维模型骨架； &lt;br /&gt;5）把模型分解为组件，找出描述这些组件怎样交互的数学规则，&lt;wbr&gt;确定每个组件的参数； &lt;br /&gt;6）给每个参数指定值，找出哪些参数对结果的影响最大，&lt;wbr&gt;并致力于让它们大致正确； &lt;br /&gt;7）进行多次计算，改变关键参数的值，&lt;wbr&gt;然后根据那些参数表达你的答案； &lt;br /&gt;8）在被要求进行估算时说的话：“我等会回答你”。 &lt;br /&gt;&lt;br /&gt;19、通过代码对进度表进行迭代 &lt;br /&gt;Iterate the Schedule with the Code &lt;br /&gt;实行增量开发。追踪你的估算能力，提炼对迭代次数、&lt;wbr&gt;以及在每次迭代中可以包含的内容的猜想。&lt;wbr&gt;提炼会变得一次比一次好，对进度表的信心也将随之增长。&lt;wbr&gt;你将给予管理部门你所能给予的最精确的进度估算。 &lt;br /&gt;&lt;br /&gt;20、用纯文本保存知识 &lt;br /&gt;Keep Knowledge in Plain Text &lt;br /&gt;&lt;br /&gt;保证不过时； &lt;br /&gt;杠杆作用：每一样工具，都能够在纯文本上进行操作； &lt;br /&gt;更易于测试； &lt;br /&gt;你需要确保所有各方能够使用公共标准进行通信。&lt;wbr&gt;纯文本就是那个标准。 &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;21、利用命令shell的力量 &lt;br /&gt;Use the Power of Command Shells &lt;br /&gt;GUI环境通常受限于它们的设计者想要提供的能力。&lt;wbr&gt;当你想要快速地组合一些命令，&lt;wbr&gt;以完成一次查询或某种其他的任务时，命令行要更为适宜。&lt;wbr&gt;多使用你的命令shell，&lt;wbr&gt;你会惊讶它能使你的生产率得到怎样的提高。 &lt;br /&gt;&lt;br /&gt;22、用好一种编辑器 &lt;br /&gt;Use a Single Editor Well &lt;br /&gt;选一种编辑器，彻底了解它，并将其用于所有的编辑任务。&lt;wbr&gt;如果你用一种编辑器进行所有的文本编辑活动，&lt;wbr&gt;你就不必停下来思考怎样完成文本操纵：&lt;wbr&gt;必需的键击将成为本能反应。编辑器将成为你双手的延伸；&lt;wbr&gt;键会在滑过文本和思想时歌唱起来。这就是我们的目标。 &lt;br /&gt;&lt;br /&gt;23、总是使用源码控制 &lt;br /&gt;Always Use Source Code Control &lt;br /&gt;&lt;br /&gt;总是。即使你的团队只有你一个人，你的项目只有一周时间；&lt;wbr&gt;确保每样东西都处在源码控制之下。 &lt;br /&gt;源码控制是你的工作的时间机器——你能够回到过去。 &lt;br /&gt;把整个项目置于源码控制系统的保护之下具有一项很大的、&lt;wbr&gt;隐蔽的好处：你可以进行自动的和可重复的产品构建。 &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;24、要修正问题，而不是发出指责 &lt;br /&gt;Fix the Problem,Not the Blame &lt;br /&gt;要接受事实：调试就是解决问题，要据此发起进攻。&lt;wbr&gt;Bug是你的过错还是别人的过错，并不是真的很有关系。&lt;wbr&gt;它仍然是你的问题。 &lt;br /&gt;&lt;br /&gt;25、不要恐慌 &lt;br /&gt;Don't Panic &lt;br /&gt;做一次深呼吸，思考什么可能是bug的原因。 &lt;br /&gt;&lt;br /&gt;要总是设法找出问题的根源，而不只是问题的特定表现； &lt;br /&gt;搜集所有的相关数据； &lt;br /&gt;开始修正bug的最佳途径是让其可再现； &lt;br /&gt;使你的数据可视化； &lt;br /&gt;跟踪：观察程序或数据结构随时间变化的状态； &lt;br /&gt;找到问题的原因的一种非常简单、&lt;wbr&gt;却又特别有用的技术是向别人解释它。&lt;wbr&gt;你只是一步步解释代码要做什么，常常就能让问题从屏幕上跳出来，&lt;wbr&gt;宣布自己的存在。 &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;26、“Select”没有问题 &lt;br /&gt;"Select" Isn't Broken &lt;br /&gt;Bug有可能存在于OS、编译器、或是第三方产品中——&lt;wbr&gt;但这不应该是你的第一想法。有大得多的可能性的是，&lt;wbr&gt;bug存在于正在开发的应用代码中。与假定库本身出了问题相比，&lt;wbr&gt;假定应用代码对库的调用不正确通常更有好处。&lt;wbr&gt;即使问题确实应归于第三方，在提交bug报告之前，&lt;wbr&gt;你也必须先消除你的代码中的bug。 &lt;br /&gt;&lt;br /&gt;27、不要假定，要证明 &lt;br /&gt;Don't Assume it - Prove It &lt;br /&gt;不要因为你“知道”&lt;wbr&gt;它能工作而轻易放过与bug有牵连的例程或代码。证明它。&lt;wbr&gt;在实际环境中——使用真正的数据和边界条件——证明你的假定。 &lt;br /&gt;&lt;br /&gt;28、学习一种文本操作语言 &lt;br /&gt;Learn a Text Manipulation Language &lt;br /&gt;你用每天的很大一部分时间处理文本，&lt;wbr&gt;为什么不让计算机替你完成部分工作呢？ &lt;br /&gt;应用示例： &lt;br /&gt;&lt;br /&gt;数据库schema维护; &lt;br /&gt;Java、C#属性(Property)访问; &lt;br /&gt;测试数据生成。 &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;29、编写能编写代码的代码 &lt;br /&gt;Write Code That Writes Code &lt;br /&gt;代码生成器能提高你的生产率，并有助于避免重复。 &lt;br /&gt;&lt;br /&gt;30、你不可能写出完美的软件 &lt;br /&gt;You Can't Write Perfect Software &lt;br /&gt;这刺痛了你？不应该。把它视为生活的公理，接受它，拥抱它，&lt;wbr&gt;庆祝它。因为完美的软件不存在。在计算机简短的历史中，&lt;wbr&gt;没有一个人曾经写出过一个完美的软件。你也不大可能成为第一个。&lt;wbr&gt;除非你把这作为事实接受下来，&lt;wbr&gt;否则你最终会把时间和精力浪费在追逐不可能实现的梦想上。 &lt;br /&gt;&lt;br /&gt;31、通过合约进行设计 &lt;br /&gt;Design with Contracts &lt;br /&gt;什么是正确的程序？不多不少，做它声明要做的事情的程序。&lt;wbr&gt;用文档记载这样的声明，并进行校验，是按合约设计（简称DBC）&lt;wbr&gt;的核心所在。 &lt;br /&gt;这里，强调的重点是在“懒惰”的代码上：&lt;wbr&gt;对在开始之前接受的东西要严格，而允诺返回的东西要尽可能少。 &lt;br /&gt;使用DBC的最大好处也许是它迫使需求与保证的问题走到前台来。&lt;wbr&gt;在设计时简单地列举输入域的范围是什么、边界条件是什么、&lt;wbr&gt;例程允诺交付什么——或者，更重要的，它不允诺交付什么——&lt;wbr&gt;是向着编写更好的软件的一次飞跃。不对这些事项作出陈述，&lt;wbr&gt;你就回到了靠巧合编程，那是许多项目开始、结束、失败的地方。 &lt;br /&gt;&lt;br /&gt;32、早崩溃 &lt;br /&gt;Crash Early &lt;br /&gt;死程序不说谎。 &lt;br /&gt;当你的代码发现，某件被认为不可能发生的事情已经发生时，&lt;wbr&gt;你的程序就不再有存活能力。从此时开始，&lt;wbr&gt;它所做的任何事情都会变得可疑，所以要尽快终止它。&lt;wbr&gt;死程序带来的危害通常比有问题的程序要小得多。 &lt;br /&gt;&lt;br /&gt;33、如果它不可能发生，用断言确保它不会发生 &lt;br /&gt;If It Can't Happen,Use Assertions to Ensure That It Won't &lt;br /&gt;断言验证你的各种假定。在一个不确定的世界里，&lt;wbr&gt;用断言保护你的代码。 &lt;br /&gt;不要用断言代替真正的错误处理。&lt;wbr&gt;断言检查的是决不应该发生的事情。 &lt;br /&gt;&lt;br /&gt;34、将异常用于异常的问题 &lt;br /&gt;Use Exceptions for Exceptional Problems &lt;br /&gt;异常表示即使的、非局部的控制转移——这是一种级联的（&lt;wbr&gt;cascading）goto。异常应保留给意外事件。&lt;wbr&gt;那些把异常用作其正常处理的一部分的程序，&lt;wbr&gt;将遭受所有可读性和可维护性问题的折磨。这些程序破坏了封装：&lt;wbr&gt;通过异常处理，例程和它们的调用者被更紧密地耦合在一起。 &lt;br /&gt;&lt;br /&gt;35、要有始有终 &lt;br /&gt;Finish What You Start &lt;br /&gt;只要可能，分配某资源的例程或对象也应该负责解除其分配。 &lt;br /&gt;&lt;br /&gt;36、使模块之间的耦合减至最少 &lt;br /&gt;Minimize Coupling Between Modules &lt;br /&gt;&lt;br /&gt;编写“羞怯”的代码； &lt;br /&gt;函数的得墨忒耳(Demeter)法则规定，&lt;wbr&gt;某个对象的任何方法都应该只调用属于以下情形的方法： &lt;br /&gt;1）它自身； &lt;br /&gt;2）传入该方法的任何参数； &lt;br /&gt;3）它创建的任何对象； &lt;br /&gt;4）任何直接持有的组件对象。 &lt;br /&gt;物理解耦。 &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;37、要配置，不要集成 &lt;br /&gt;Configure,Don't Integrate &lt;br /&gt;细节会弄乱我们整洁的代码——特别是如果它们经常变化。&lt;wbr&gt;把它们赶出代码。当我们在与它作斗争时，&lt;wbr&gt;我们可以让我们的代码变得高度可配置和“软和”——也就是，&lt;wbr&gt;容易适应变化。 &lt;br /&gt;要用元数据（metadata）描述应用的配置选项：调谐参数、&lt;wbr&gt;用户偏好（user preference）、安装目录，等等。 &lt;br /&gt;&lt;br /&gt;38、将抽象放进代码，细节放进元数据 &lt;br /&gt;Put Abstractions in Code,Details in Metadata &lt;br /&gt;但我们不只是想把元数据用于简单的偏好。&lt;wbr&gt;我们想要尽可能多地通过元数据配置和驱动应用。&lt;wbr&gt;我们的目标是以声明方式思考（规定要做什么，而不是怎么做），&lt;wbr&gt;并创建高度灵活和可适应的应用。&lt;wbr&gt;我们通过采用一条一般准则来做到这一点：为一般情况编写程序，&lt;wbr&gt;把具体情况放在别处——在编译的代码库之外。 &lt;br /&gt;也许你在编写一个具有可怕的工作流需求的系统。&lt;wbr&gt;动作会根据复杂的（和变化的）商业规则启动和停止。&lt;wbr&gt;考虑在某种基于规则的系统（即专家系统）中对它们进行编码，&lt;wbr&gt;并嵌入到你的应用中。这样，你将通过编写规则、&lt;wbr&gt;而不是修改代码来配置它。 &lt;br /&gt;&lt;br /&gt;39、分析工作流，以改善并发性 &lt;br /&gt;Analyze Workflow to Improve Concurrency &lt;br /&gt;时间是软件架构的一个常常被忽视的方面。&lt;wbr&gt;时间有两个方面对我们很重要：并发（事情在同一时间发生）&lt;wbr&gt;和次序（事情在时间中的相对位置）。 &lt;br /&gt;我们在编写程序时，通常并没有把这两个方面放在心上。&lt;wbr&gt;当人们最初坐下来开始设计架构，或是编写代码时，&lt;wbr&gt;事情往往是线性的。那是大多数人的思考方式——总是先做这个，&lt;wbr&gt;然后再做那个。但这样思考会带来时间耦合：&lt;wbr&gt;方法A必须总是在方法B之前调用；同时只能运行一个报告；&lt;wbr&gt;在接收到按钮点击之前，你必须等待屏幕重画。“嘀”必须在“嗒”&lt;wbr&gt;之前发生。 &lt;br /&gt;这样的方法不那么灵活，也不那么符合实际。 &lt;br /&gt;我们需要容许并发，并考虑解除任何时间或者次序上的依赖。 &lt;br /&gt;&lt;br /&gt;40、用服务进行设计 &lt;br /&gt;Design Using Services &lt;br /&gt;实际上我们创建的并不是组件，而是服务——位于定义良好的、&lt;wbr&gt;一致的接口之后的独立、并发的对象。 &lt;br /&gt;通过把你的系统架构成多个独立的服务，你可以让配置成为动态的。 &lt;br /&gt;&lt;br /&gt;41、总是为并发进行设计 &lt;br /&gt;Always Design for Concurrency &lt;br /&gt;首先，必须对任何全局或静态变量加以保护，使其免于并发访问，&lt;wbr&gt;现在也许是问问你自己、你最初为何需要全局变量的好时候。此外，&lt;wbr&gt;不管调用的次序是什么，你都需要确保你给出的是一致的状态信息。 &lt;br /&gt;在被调用时，对象必须总是处在有效的状态中，&lt;wbr&gt;而且它们可能会在最尴尬的时候被调用。你必须确保，&lt;wbr&gt;在任何可能被调用的时刻，对象都处在有效的状态中。&lt;wbr&gt;这一问题常常出现在构造器与初始化例程分开定义的类中（&lt;wbr&gt;构造器没有使对象进入已初始化状态）。 &lt;br /&gt;一旦你设计了具有并发要素的架构，&lt;wbr&gt;你可以灵活地处理应用的部署方式：单机、客户-服务器、&lt;wbr&gt;或是n层。 &lt;br /&gt;&lt;br /&gt;42、使视图与模型分离 &lt;br /&gt;Separate Views from Models &lt;br /&gt;也就是常说的MVC模式（Model-View-&lt;wbr&gt;Controller）。 &lt;br /&gt;&lt;br /&gt;模型。表示目标对象的抽象数据模型。&lt;wbr&gt;模型对任何视图或控制器都没有直接的了解。 &lt;br /&gt;视图。解释模型的方式。&lt;wbr&gt;它订阅模型中的变化和来自控制器的逻辑事件。 &lt;br /&gt;控制器。控制视图、并向模型提供新数据的途径。 &lt;br /&gt;通过松解模型与视图/控制器之间的耦合，&lt;wbr&gt;你用低廉的代价为自己换来了许多灵活性。 &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;43、用黑板协调工作流 &lt;br /&gt;Use Blackboards to Coordinate Workflow &lt;br /&gt;用黑板协调完全不同的事实和因素，&lt;wbr&gt;同时又使各参与方保持独立和隔离。 &lt;br /&gt;现代的分布式类黑板（blackboard-like）系统，&lt;wbr&gt;比如JavaSpaces和T Spaces。 &lt;br /&gt;&lt;br /&gt;44、不要靠巧合编程 &lt;br /&gt;Don't Program by Coincidence &lt;br /&gt;&lt;br /&gt;总是意识到你在做什么。 &lt;br /&gt;不要盲目地编程。试图构建你不完全理解的应用，&lt;wbr&gt;或是使用你不熟悉的技术，就是希望自己被巧合误导。 &lt;br /&gt;按照计划行事。 &lt;br /&gt;依靠可靠的事物。如果你无法说出各种特定情形的区别，&lt;wbr&gt;就假定是最坏的。 &lt;br /&gt;为你的假定建立文档。“按合约编程”有助于澄清你头脑中的假定，&lt;wbr&gt;并且有助于把它们传达给别人。 &lt;br /&gt;不要只是测试你的代码，还要测试你的假定。 &lt;br /&gt;为你的工作划分优先级。 &lt;br /&gt;不要做历史的奴隶。不要让已有的代码支配将来的代码。 &lt;br /&gt;所以下次有什么东西看起来能工作，而你却不知道为什么，&lt;wbr&gt;要确定它不是巧合。 &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;45、估算你的算法的阶 &lt;br /&gt;Estimate the Order of Your Algorithms &lt;br /&gt;在你编写代码之前，先大致估算事情需要多长时间。 &lt;br /&gt;&lt;br /&gt;46、测试你的估算 &lt;br /&gt;Test Your Estimates &lt;br /&gt;对算法的数学分析并不会告诉你每一件事情。&lt;wbr&gt;在你的代码的目标环境中测定它的速度。 &lt;br /&gt;&lt;br /&gt;47、早重构，常重构 &lt;br /&gt;Refactor Early,Refactor Often &lt;br /&gt;在需要时对代码进行重写、重做和重新架构。要铲除问题的根源。&lt;wbr&gt;不要容忍破窗户。 &lt;br /&gt;关于重构，详见Martin Fowler的《重构》一书。 &lt;br /&gt;&lt;br /&gt;48、为测试而设计 &lt;br /&gt;Design to Test &lt;br /&gt;在你还没有编写代码时就开始思考测试问题。测试驱动开发？ &lt;br /&gt;&lt;br /&gt;49、测试你的软件，否则你的用户就得测试 &lt;br /&gt;Test Your Software,or Your Users Will &lt;br /&gt;测试是技术，但更是文化。一点预先的准备可以大大降低维护费用、&lt;wbr&gt;减少客户服务电话。 &lt;br /&gt;&lt;br /&gt;50、不要使用你不理解的向导代码 &lt;br /&gt;Don't Use Wizard Code You Don't Understand &lt;br /&gt;向导很了不起。只需要点击一个按钮，回答一些简单的问题，&lt;wbr&gt;向导就会自动为你生成骨架代码（skeleton code）。但如果你使用向导，却不理解它制作出的所有代码，&lt;wbr&gt;你就无法控制你自己的应用。你没有能力维护它，&lt;wbr&gt;而且在调试时会遇到很大的困难。 &lt;br /&gt;&lt;br /&gt;51、不要搜集需求——挖掘它们 &lt;br /&gt;Don't Gather Requirements - Dig for Them &lt;br /&gt;需求很少存在于表面上。它们深深地埋藏在层层假定、&lt;wbr&gt;误解和政治手段的下面。 &lt;br /&gt;&lt;br /&gt;52、与用户一同工作，以像用户一样思考 &lt;br /&gt;Work with a User to Think Like a User &lt;br /&gt;要了解系统实际上将如何被使用，这是最好的方法。&lt;wbr&gt;开采需求的过程也是开始与用户群建立和谐的关系、&lt;wbr&gt;了解他们对你正在构建的系统的期许和希望的时候。 &lt;br /&gt;&lt;br /&gt;53、抽象比细节活得更长久 &lt;br /&gt;Abstractions Live Longer than Details &lt;br /&gt;“投资”于抽象，而不是实现。&lt;wbr&gt;抽象能在来自不同的实现和新技术的变化的“攻击”之下存活下去。 &lt;br /&gt;&lt;br /&gt;54、使用项目词汇表 &lt;br /&gt;Use a Project Glossary &lt;br /&gt;如果用户和开发者用不同的名称指称同一事物，或是更糟，&lt;wbr&gt;用同一名称指称不同事物，这样的项目很难取得成功。 &lt;br /&gt;&lt;br /&gt;55、不要在盒子外面思考——要找到盒子 &lt;br /&gt;Don't Think Outside the Box - Find the Box &lt;br /&gt;在遇到不可能解决的问题时，问问自己以下问题： &lt;br /&gt;&lt;br /&gt;有更容易的方法吗？ &lt;br /&gt;你是在设法解决真正的问题，还是被外围的技术问题转移了注意力？ &lt;br /&gt;这件事情为什么是一个问题？ &lt;br /&gt;是什么使它如此难以解决？ &lt;br /&gt;它必须以这种方式完成吗？ &lt;br /&gt;它真的必须完成吗？ &lt;br /&gt;很多时候，当你设法回答这些问题时，你会有让自己吃惊的发现。&lt;wbr&gt;很多时候，对需求的重新诠释能让整个问题全部消失。 &lt;br /&gt;你所需要的只是真正的约束、令人误解的约束、&lt;wbr&gt;还有区分它们的智慧。 &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;56、倾听反复出现的疑虑——等你准备好再开始 &lt;br /&gt;Listen to Nagging Doubts - Start When You're Ready &lt;br /&gt;你的一生都在积累经验与智慧。当你面对一件任务时，&lt;wbr&gt;如果你反复感觉到疑虑，或是体验到某种勉强，要注意它。&lt;wbr&gt;你可能无法准确地指出问题所在，但给它时间，&lt;wbr&gt;你的疑虑很可能就会结晶成某种更坚实的东西，&lt;wbr&gt;某种你可以处理的东西。软件开发仍然不是科学。&lt;wbr&gt;让你的直觉为你的表演做出贡献。 &lt;br /&gt;&lt;br /&gt;57、对有些事情“做”胜于“描述” &lt;br /&gt;Some Things Are Better Done Than Described &lt;br /&gt;你应该倾向于把需求搜集、设计、以及实现视为同一个过程——&lt;wbr&gt;交付高质量的系统——的不同方面。不要掉进规范的螺旋，&lt;wbr&gt;在某个时刻，你需要开始编码。 &lt;br /&gt;&lt;br /&gt;58、不要做形式方法的奴隶 &lt;br /&gt;Don't Be a Slave to Formal Methods &lt;br /&gt;如果你没有把某项技术放进你的开发实践和能力的语境中，&lt;wbr&gt;不要盲目地采用它。 &lt;br /&gt;&lt;br /&gt;59、昂贵的工具不一定能制作出更好的设计 &lt;br /&gt;Expensive Tools Do Not Produce Better Designs &lt;br /&gt;小心供应商的炒作、行业教条、以及价格标签的诱惑。&lt;wbr&gt;在考察工具的产出时，试着不要考虑它值多少钱。 &lt;br /&gt;&lt;br /&gt;60、围绕功能、而不是工作职务进行组织 &lt;br /&gt;Organize Around Functionality,Not Job Functions &lt;br /&gt;把你的人划分成小团队，分别负责最终系统的特定方面的功能。&lt;wbr&gt;让团队按照个人的能力，在内部自行进行组织。 &lt;br /&gt;但是，只有在项目拥有负责的开发者、以及强有力的项目管理时，&lt;wbr&gt;这种途径才有效。创立一组自行其是的团队并放任自流，&lt;wbr&gt;是一种灾难性的处方。 &lt;br /&gt;要记住，团队是由个体组成的。&lt;wbr&gt;让每个成员都能以他们自己的方式闪亮。 &lt;br /&gt;&lt;br /&gt;61、不要使用手工流程 &lt;br /&gt;Don't Use Manual Procedures &lt;br /&gt;shell脚本或批处理文件会一次次地以同一顺序执行同样的指令&lt;wbr&gt;。我们可以自动安排备份、夜间构建、网站维护、&lt;wbr&gt;以及其他任何可以无人照管地完成的事情。让计算机去做重复、&lt;wbr&gt;庸常的事情——它会做得比我们更好。我们有更重要、&lt;wbr&gt;更困难的事情要做。 &lt;br /&gt;&lt;br /&gt;62、早测试，常测试，自动测试。 &lt;br /&gt;Test Early.Test Often.Test Automatically. &lt;br /&gt;与呆在书架上的测试计划相比，每次构建时运行的测试要有效得多。 &lt;br /&gt;&lt;br /&gt;63、要等到通过全部测试，编码才算完成 &lt;br /&gt;Coding Ain't Done 'Til All the Tests Run &lt;br /&gt;就是这样。 &lt;br /&gt;&lt;br /&gt;64、通过“蓄意破坏”测试你的测试 &lt;br /&gt;Use Saboteurs to Test Your Testing &lt;br /&gt;在单独的软件副本上故意引人bug，以检验测试能够抓住它们。 &lt;br /&gt;&lt;br /&gt;65、测试状态覆盖，而不是代码覆盖 &lt;br /&gt;Test State Coverage,Not Code Coverage &lt;br /&gt;确定并测试重要的程序状态。只是测试代码行是不够的。&lt;wbr&gt;即时具有良好的代码覆盖，你用于测试的数据仍然会有巨大的影响，&lt;wbr&gt;而且，更为重要的是，你遍历代码的次序的影响可能是最大的。 &lt;br /&gt;&lt;br /&gt;66、一个bug只抓一次 &lt;br /&gt;Find Bugs Once &lt;br /&gt;一旦测试员找到一个bug，这应该是测试员最后一次找到它。&lt;wbr&gt;此后自动测试应该对其进行检查。 &lt;br /&gt;&lt;br /&gt;67、把英语当作又一种编程语言 &lt;br /&gt;&lt;div class="im" style="color: rgb(80, 0, 80); "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;Treat English as Just Another Programming Language &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;像你编写代码一样编写文档：遵守DRY原则、使用元数据、&lt;wbr&gt;MVC、自动生成，等等。 &lt;br /&gt;&lt;br /&gt;68、把文档建在里面，不要拴在外面 &lt;br /&gt;&lt;div class="im" style="color: rgb(80, 0, 80); "&gt;&lt;span class="Apple-style-span" style="color: rgb(0, 0, 0);"&gt;Build Documentation In,Don't Bolt It On&lt;/span&gt;&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51);"&gt; &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;与代码分离的文档不太可能被修正和更新。&lt;wbr&gt;使用像JavaDoc和NDoc这样的工具，&lt;wbr&gt;我们可以根据源码生成API级的文档。 &lt;br /&gt;文档和代码是同一底层模型的不同视图，&lt;wbr&gt;但视图是唯一应该不同的东西。 &lt;br /&gt;&lt;br /&gt;69、温和地超出用户的期望 &lt;br /&gt;Gently Exceed Your Users' Expectations &lt;br /&gt;要设法让你的用户惊讶。请注意，不是惊吓他们，&lt;wbr&gt;而是要让他们高兴。要理解用户的期望，&lt;wbr&gt;然后给他们的东西要多那么一点。&lt;wbr&gt;给系统增加某种面向用户的特性所需的一点额外努力将一次又一次在&lt;wbr&gt;商誉上带来回报。 &lt;br /&gt;&lt;br /&gt;70、在你的作品上签名 &lt;br /&gt;Sign Your Work &lt;br /&gt;我们想要看到对所有权的自豪。“这是我编写的，&lt;wbr&gt;我对自己的工作负责。”你的签名应该被视为质量的保证。&lt;wbr&gt;当人们在一段代码上看到你的名字时，应该期望它是可靠的、&lt;wbr&gt;用心编写的、测试过的和有文档的，一个真正的专业作品，&lt;wbr&gt;由真正的专业人员编写。 &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-8964941891809805058?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/8964941891809805058/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=8964941891809805058&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8964941891809805058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8964941891809805058'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/04/blog-post.html' title='思维与行为的灵魂'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2863301839793314181</id><published>2009-03-19T23:33:00.002+08:00</published><updated>2009-03-19T23:41:10.727+08:00</updated><title type='text'>完美是不存在的</title><content type='html'>完美是不存在的，Bug是一定存在的。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Chrome的一排标签页不知道怎么被我捣鼓面目全非，跟背后的标题栏争相显示。&lt;/div&gt;&lt;div&gt;QQ登录后没有一个好友显示在线，这怎么可能呢？离线再上线，在线人数一堆。&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;软件要么做得足够简单，明显得没有Bug；要么做得足够复杂，没有明显的Bug。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2863301839793314181?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2863301839793314181/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2863301839793314181&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2863301839793314181'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2863301839793314181'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/03/blog-post.html' title='完美是不存在的'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-7449375425683558755</id><published>2009-02-15T09:44:00.003+08:00</published><updated>2009-02-15T09:54:01.994+08:00</updated><title type='text'>慢慢用心体会</title><content type='html'>生活需要慢慢用心体会，我总是不喜欢一年一度的说法，节日是一年一度的，可是每一天都是一年一度的啊，虽然不是每一天都是节日，可是每一天都要用心去体会，生活是在每一个清晨，每一个傍晚，每一个瞬间，而不只是每一个节日。&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;某天早晨醒来，拿起魔方转来转去，突然体会到了F2L的妙处，生活就是这样。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-7449375425683558755?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/7449375425683558755/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=7449375425683558755&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7449375425683558755'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7449375425683558755'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/02/blog-post_15.html' title='慢慢用心体会'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2389015051132899379</id><published>2009-02-07T23:23:00.002+08:00</published><updated>2009-02-07T23:46:54.159+08:00</updated><title type='text'>想吃涮羊肉</title><content type='html'>前几天小强打电话来的时候，我正和胡铁花在超市采购吃的，准备让他展示一下厨艺，俩人小酌几杯。小强问我什么去北京，他说我想吃涮肉的意思是想去北京。其实我真想去北京，但也真想吃涮肉。可是没找到什么去北京的借口，春节回去时吃涮肉也没什么味道了。&lt;div&gt;昨天跟同事出去吃饭，坐着车想来想去，也没商量出一个好的去处，最后想到了涮羊肉，又打车折回来去涮肉馆，怎么感觉就是没有北京的好吃。难怪在QQ签名上一写出想吃涮羊肉，北京的朋友看见了就回一句“来北京，我请你涮肉”，小强又说他家门口开了家超棒的涮肉馆来诱惑我。可是，终究在北京的一整天，我连门都没出。&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2389015051132899379?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2389015051132899379/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2389015051132899379&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2389015051132899379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2389015051132899379'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2009/02/blog-post.html' title='想吃涮羊肉'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-3025557252897190099</id><published>2008-11-04T19:00:00.000+08:00</published><updated>2009-01-12T19:05:08.349+08:00</updated><title type='text'>近来怎样</title><content type='html'>想你的时候，我就跟烟说话。牙刷毛巾水杯和饮料瓶子，都是我的朋友；他们对我很好。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-3025557252897190099?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/3025557252897190099/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=3025557252897190099&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3025557252897190099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3025557252897190099'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/11/blog-post.html' title='近来怎样'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-3233606660261355763</id><published>2008-09-20T21:21:00.000+08:00</published><updated>2009-01-12T19:05:08.361+08:00</updated><title type='text'>逃离梦魇</title><content type='html'>上一周的工作时间，都是在头痛欲裂的状态中度过的，直到星期五。&lt;br /&gt;从周二开始，就在写考试成绩报告的生成单元代码。由于报告生成是考试的最后一步，而在之前需求比较简单的时候已经有了实现，而且有几个地方与整个程序牵连不清，所以在新的需求要增加报告显示内容，丰富报告形式的形势下，就开始在原有基础上进行修改了，希望能很快完成。然而，可以预料的，欲速则不达。每次调试，都要重复一次考试过程，耗时耗力；每次终于看到报告出来，一定是拍头跺足，没有问题就怪了。在一个大而杂的工程中进行开发，没有单元测试，连续几天，都处于梦魇之中。&lt;br /&gt;终于，忍无可忍，星期五花了一上午的时间，来将七牵八扯的东西分离开来，将考试结果数据保存下来，新建一个工程，读入考试数据，开始专心处理报告的生成。下午终于从梦魇中逃离出来了，完成提交。&lt;br /&gt;想来将整个过程分开，至少有两大好处，不仅便于开发和测试，而且可以更改中间数据来模拟一些不会经常出现的数据。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-3233606660261355763?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/3233606660261355763/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=3233606660261355763&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3233606660261355763'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3233606660261355763'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/09/blog-post.html' title='逃离梦魇'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2536501414591948892</id><published>2008-08-03T17:07:00.000+08:00</published><updated>2009-01-12T19:05:08.373+08:00</updated><title type='text'>晚点的火车</title><content type='html'>我在屋里看了一天的书，看完了在“书是生活”买的小说。&lt;br /&gt;另一天，我又到二七广场转了一圈，一直走到紫荆山。&lt;br /&gt;火车晚点了两个小时，晚两个小时后，我还是回来了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2536501414591948892?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2536501414591948892/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2536501414591948892&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2536501414591948892'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2536501414591948892'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/08/blog-post.html' title='晚点的火车'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2755811529059116249</id><published>2008-08-03T16:09:00.000+08:00</published><updated>2009-01-12T19:05:08.384+08:00</updated><title type='text'>书是生活</title><content type='html'>第三天。&lt;br /&gt;上午，河南博物院，穿越在石器与青铜之间。&lt;br /&gt;突然很想了解文字的起源与演变。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_zybfAlfP40M/SJVtMMhWg0I/AAAAAAAAAAk/Nxvjdb9ihB4/s1600-h/DSC01575.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_zybfAlfP40M/SJVtMMhWg0I/AAAAAAAAAAk/Nxvjdb9ihB4/s400/DSC01575.JPG" alt="" id="BLOGGER_PHOTO_ID_5230206598547669826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;在博物院周围，逛了几个书店。&lt;br /&gt;一个在博物院对面，有个挺好听的名字——阅开心（Sunny Bookstore），但也仅仅是名字好听点而已。&lt;br /&gt;&lt;br /&gt;博物院西边的一家小书店吸引了我，那里不仅有好听的名字。&lt;br /&gt;书是生活——&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zybfAlfP40M/SJVv01T1WhI/AAAAAAAAAAs/_nNjDsNJMtk/s1600-h/DSC01584.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://4.bp.blogspot.com/_zybfAlfP40M/SJVv01T1WhI/AAAAAAAAAAs/_nNjDsNJMtk/s400/DSC01584.JPG" alt="" id="BLOGGER_PHOTO_ID_5230209495714847250" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_zybfAlfP40M/SJVv1FQvy4I/AAAAAAAAAA0/A3S1eYfhkN0/s1600-h/DSC01581.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://3.bp.blogspot.com/_zybfAlfP40M/SJVv1FQvy4I/AAAAAAAAAA0/A3S1eYfhkN0/s400/DSC01581.JPG" alt="" id="BLOGGER_PHOTO_ID_5230209499996867458" border="0" /&gt;&lt;/a&gt;我在那里看了一本书《了不起的盖茨比》，也问了一下书店的经营情况，和我所想的结果差不多。&lt;br /&gt;&lt;br /&gt;最后去了文化路与农业路口的三联书店，有专用的电梯直通四楼的书店。这是一家普通的大型书店，布局和感觉跟中关村的第三极差不多。&lt;br /&gt;&lt;br /&gt;（隔了几天，我又去了大河书社，跟几年前一样）&lt;br /&gt;&lt;br /&gt;书是生活，To read, to live.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2755811529059116249?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2755811529059116249/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2755811529059116249&amp;isPopup=true' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2755811529059116249'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2755811529059116249'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/08/blog-post_03.html' title='书是生活'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_zybfAlfP40M/SJVtMMhWg0I/AAAAAAAAAAk/Nxvjdb9ihB4/s72-c/DSC01575.JPG' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-8351246370461573435</id><published>2008-08-03T14:45:00.000+08:00</published><updated>2009-01-12T19:05:08.394+08:00</updated><title type='text'>曾经熟悉的地方，曾经认识的人</title><content type='html'>第二天，我来到了学校，曾经四年的时光在这里度过，能记得的已微乎其微。&lt;br /&gt;曾经熟悉的地方，曾经认识的人，没有多少变化，却不再熟悉，也不再认得。&lt;br /&gt;学校的变化不大，我没有进入校园，究竟多了些什么，少了些什么，不得而知，也没有意义。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_zybfAlfP40M/SJVgeqhzqaI/AAAAAAAAAAM/KwxrBi6BGow/s1600-h/DSC01550.JPG"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; cursor: pointer;" src="http://1.bp.blogspot.com/_zybfAlfP40M/SJVgeqhzqaI/AAAAAAAAAAM/KwxrBi6BGow/s320/DSC01550.JPG" alt="" id="BLOGGER_PHOTO_ID_5230192622189128098" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;沿着大学路，游荡在熟悉又陌生的地城市。&lt;br /&gt;怀念那些一盘牛肉一盘金芥两瓶啤酒两碗烩面的日子。&lt;br /&gt;&lt;br /&gt;在淮河路古玩城的书市，听到一段对话：&lt;br /&gt;（拿起一本书）多少钱？&lt;br /&gt;（抬头看了一下）你看着给吧&lt;br /&gt;（拿出一张钞票）你找吧。&lt;br /&gt;&lt;br /&gt;在航海路与大学路看到一队从武汉骑车到北京的大学生，沿途有更多的大学生加入其中。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_zybfAlfP40M/SJVhCHG83xI/AAAAAAAAAAU/5xwc-vCKOzo/s1600-h/DSC01555.JPG"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; cursor: pointer;" src="http://4.bp.blogspot.com/_zybfAlfP40M/SJVhCHG83xI/AAAAAAAAAAU/5xwc-vCKOzo/s320/DSC01555.JPG" alt="" id="BLOGGER_PHOTO_ID_5230193231156535058" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-8351246370461573435?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/8351246370461573435/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=8351246370461573435&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8351246370461573435'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8351246370461573435'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/08/blog-post_02.html' title='曾经熟悉的地方，曾经认识的人'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_zybfAlfP40M/SJVgeqhzqaI/AAAAAAAAAAM/KwxrBi6BGow/s72-c/DSC01550.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2188761365882380915</id><published>2008-08-03T14:25:00.000+08:00</published><updated>2009-01-12T19:05:08.406+08:00</updated><title type='text'>换个地方睡觉</title><content type='html'>9日早晨到郑州，这个城市不再熟悉，尽管南部变化不大，显得乱糟糟。&lt;br /&gt;&lt;br /&gt;从一个城市到另一个城市，只是换了个地方睡觉。整整睡了一个下午。一天也没有出去。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2188761365882380915?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2188761365882380915/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2188761365882380915&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2188761365882380915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2188761365882380915'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/08/blog-post_2691.html' title='换个地方睡觉'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-1399548643592720831</id><published>2008-08-03T13:22:00.000+08:00</published><updated>2009-01-12T19:05:08.418+08:00</updated><title type='text'>片断</title><content type='html'>我要到哪里去，不为追寻什么，逃避什么，只是离开。也许只是做一个梦而已。&lt;br /&gt;&lt;br /&gt;听到对面候车室1410的检票通知，心里一阵心慌。其实我想坐的这一列车。&lt;br /&gt;&lt;br /&gt;上了车，就恍若隔世，我不知道自己在什么地方了，似乎是一个从未到过的地方。曾经多少次在这里上车，却不再熟悉。&lt;br /&gt;&lt;br /&gt;车上人来来往往，吵吵闹闹，一切却与我无关，我也不在列车上，只有一个孤魂依附在轰隆隆的列车上。&lt;br /&gt;&lt;br /&gt;离开，并不能躲过什么，就象那阵大雨，一切都还会来。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-1399548643592720831?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/1399548643592720831/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=1399548643592720831&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/1399548643592720831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/1399548643592720831'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/08/blog-post_9358.html' title='片断'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2668028769816444112</id><published>2008-08-03T10:38:00.000+08:00</published><updated>2009-01-12T19:05:08.431+08:00</updated><title type='text'>做错了什么</title><content type='html'>毕业了，大家都走了。是的，不走不行啊。&lt;br /&gt;第二天，我很快收拾了东西，搬出了宿舍，离开了学校。&lt;br /&gt;我被过去和未来挤压着，被刚刚过去的那十几天和即将通向未来的这几天痛击着。坐在驶向未来的公交车上，我发短信的时候，眼里噙满泪水，怕与过去分道扬镖。&lt;br /&gt;当公交车返回现在的时候，我决定去郑州了，打发自己出去散心了。&lt;br /&gt;上午办了没法办的事情，中午买了车票，晚上出发。&lt;br /&gt;我一定做错了什么，在我出门的那一刻，大雨倾盆而至，而当我坐上车的时候，大雨嘎然而止，十几分钟的狂风暴雨冲洗了我。&lt;br /&gt;我一定做错了什么，几天以后从郑州返回时，在我出门的那一刻，大雨突然而至，一直都不停，直到我在狂风暴雨中淌过一路的雨水和污水到了车站。&lt;br /&gt;旅程就这样开始与结束。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2668028769816444112?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2668028769816444112/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2668028769816444112&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2668028769816444112'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2668028769816444112'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/08/blog-post_1752.html' title='做错了什么'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2126703669015188238</id><published>2008-07-28T18:41:00.000+08:00</published><updated>2009-01-12T19:05:08.444+08:00</updated><title type='text'>卓尔不群</title><content type='html'>卓尔不群，一定要记住这句话。&lt;br /&gt;&lt;br /&gt;已经上班两周了。&lt;br /&gt;&lt;br /&gt;很多事情想写下来，但一直没有条件，没有空闲时间可以支配的电脑。&lt;br /&gt;&lt;br /&gt;学校的服务器挂了，突然发现blogspot居然可以访问，估计是奥运的光芒照耀的结果吧。暂时又转回到了Blogspot上，以后再想办法。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2126703669015188238?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2126703669015188238/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2126703669015188238&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2126703669015188238'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2126703669015188238'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/07/blog-post.html' title='卓尔不群'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-3199356134473023333</id><published>2008-07-06T23:07:00.000+08:00</published><updated>2009-01-12T19:05:08.457+08:00</updated><title type='text'>累</title><content type='html'>累了，这十几天来，如何一刻醒一刻痛一刻梦的度过。我不知道，为什么会这样。在为人伤心，替人难过，心疼之后，也为自己伤心难过。&lt;br /&gt;一年，为着那一丝渺茫的希望，苦苦挣扎着，用尽最后一点力；努力，绝望，也不愿许弃。如今却还是不得不在无尽的暗夜前行，未来捉摸不定，也不曾给我一点方向。&lt;br /&gt;送走了朋友与同学的第二天，我也很快彻底离开了学校。我情愿付出所有，只为那一丝缥缈的希望。&lt;br /&gt;累了，我只想看见一丝亮光，那怕黑暗的路还很长很长。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-3199356134473023333?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/3199356134473023333/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=3199356134473023333&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3199356134473023333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3199356134473023333'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/07/blog-post_06.html' title='累'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-4762037195178004551</id><published>2008-07-06T12:39:00.000+08:00</published><updated>2009-01-12T19:05:08.471+08:00</updated><title type='text'>NOKIA? NOKIA!</title><content type='html'>我承认这世界变化太快，机会稍纵即逝。&lt;br /&gt;我承认上次看到的关于手机、手机软件与服务的未来的看法是出自诺基亚的。&lt;br /&gt;我承认我很高兴看到这些消息。&lt;br /&gt;是的，诺基亚&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote&gt;is to act less like a traditional manufacturer, and more like an internet company&lt;/blockquote&gt;收购Trolltech，买断Symbian并使其开源，还有其他已经完成或正在进行的种种行为，显示了其对未来的兴奋。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-4762037195178004551?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/4762037195178004551/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=4762037195178004551&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4762037195178004551'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4762037195178004551'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/07/nokia-nokia.html' title='NOKIA? NOKIA!'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5945576312996682695</id><published>2008-06-29T12:42:00.000+08:00</published><updated>2009-01-12T19:05:08.487+08:00</updated><title type='text'>痛</title><content type='html'>手机从上铺摔下去了&lt;br /&gt;&lt;br /&gt;我心爱的人们哪，我只能眼睁睁看着你们一步步走向深渊或者去品尝鲜艳的毒蘑菇&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5945576312996682695?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5945576312996682695/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5945576312996682695&amp;isPopup=true' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5945576312996682695'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5945576312996682695'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/06/blog-post.html' title='痛'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-131155249680155627</id><published>2008-06-04T21:09:00.000+08:00</published><updated>2009-01-12T19:05:08.504+08:00</updated><title type='text'>我想去做手机软件</title><content type='html'>最近找工作，想去做手机软件。今天也看到了这个&lt;br /&gt;&lt;blockquote&gt;…the mobile-phone industry will soon make the same sharp turn that the mainframe, minicomputer, and PC industries took in past years: Platforms will become standardized, manufacturers will stop making incompatible hardware, and the value of software and services will soar.&lt;br /&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-131155249680155627?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/131155249680155627/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=131155249680155627&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/131155249680155627'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/131155249680155627'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/06/blog-post_04.html' title='我想去做手机软件'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5468282329521782710</id><published>2008-05-24T21:06:00.000+08:00</published><updated>2009-01-12T19:05:08.517+08:00</updated><title type='text'>OPPORTUNITY</title><content type='html'>You'll always miss 100% of the shots you don't take.&lt;br /&gt;打实况的时候总是射门次数太少，所以很少进球，就想起了这句话。&lt;br /&gt;想起了找工作了，要多争取机会，才有找到工作的可能。&lt;br /&gt;&lt;br /&gt;One goal separates the man.&lt;br /&gt;实况的解说中经常会听到这句话。&lt;br /&gt;找工作也一样，公司希望你能证明自己。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5468282329521782710?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5468282329521782710/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5468282329521782710&amp;isPopup=true' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5468282329521782710'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5468282329521782710'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/05/opportunity.html' title='OPPORTUNITY'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-6074020942780622712</id><published>2008-05-18T14:51:00.000+08:00</published><updated>2009-01-12T19:05:08.560+08:00</updated><title type='text'>What is done can not be undone</title><content type='html'>习惯了undo的功能，但是很多东西却是不能undo的。何况虽然undo可以回到过去，但并不代表没有来过。&lt;br /&gt;邮件列表里天天都充斥着要求退订的信件，尽管这个undo的功能就是手边。&lt;br /&gt;可是有些东西的undo就不是这么简单了，在网上注册了一些帐号，很多地方都没有提供删除的功能。于是，一堆从来没有写过帖子的博客、从来没有看过的论坛，都需要赶快undo。网络世界也不是来去自由的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-6074020942780622712?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/6074020942780622712/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=6074020942780622712&amp;isPopup=true' title='2 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6074020942780622712'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6074020942780622712'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/05/what-is-done-can-not-be-undone.html' title='What is done can not be undone'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-6231736699927054173</id><published>2008-05-12T13:32:00.000+08:00</published><updated>2009-01-12T19:05:08.576+08:00</updated><title type='text'>Saying Good-bye to Cambridge Again</title><content type='html'>毕业纪念册发下来了。跟去年的一样。早就默念过，千万别跟去年的一样，结果就是跟我作对。我不喜欢这样的设计，这个东西几乎没有一样是我喜欢的。除此以外，似乎故意跟我过不去，发给我的那本还装倒了几页。不提也罢。&lt;br /&gt;&lt;br /&gt;宿舍同学发现了毕业纪念册里的一首英文诗，叫做Saying Good-bye to Cambridge Again，我从不曾注意到这个，也不曾听闻徐志摩是用英文写的《再别康桥》。于是，真的想知道这个英文是怎么来的，原作还是翻译的？&lt;br /&gt;&lt;ul&gt;&lt;li&gt;百度、Google之，没有结果&lt;/li&gt;&lt;li&gt;查阅《徐志摩全集》，没有英文版的《再别康桥》&lt;/li&gt;&lt;li&gt;翻读有关传记，没有发现关于英文版的《再别康桥》的记述&lt;/li&gt;&lt;li&gt;文献检索，发现《“三美论”观照下的《再别康桥》两译本评析》一文，介绍了两种不同的《再别康桥》英文译本。&lt;/li&gt;&lt;/ul&gt;由此，我认定毕业纪念册上的英文诗不是徐志摩写的，他也没有写过英文版本。那么，接下来的问题就是，毕业纪念册上的版本发源地是哪里，是谁翻译的呢？继续以关键字“Saying Good-bye to Cambridge Again Translated by”百度、Google之，未发现足够信息。&lt;br /&gt;很遗憾，限于英文水平，不能对文字内容进行分析，以回答这样的问题。&lt;br /&gt;到此为止！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-6231736699927054173?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/6231736699927054173/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=6231736699927054173&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6231736699927054173'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6231736699927054173'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/05/saying-good-bye-to-cambridge-again.html' title='Saying Good-bye to Cambridge Again'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5865546752828750166</id><published>2008-05-10T06:41:00.000+08:00</published><updated>2009-01-12T19:05:08.598+08:00</updated><title type='text'>五点多的阳光</title><content type='html'>论文初稿就算完成，好歹快凑够了三万个方块字。&lt;br /&gt;早晨睡到将近五点醒来，看见外面天色已亮，想到工作未定，情绪执迷，无法复眼。&lt;br /&gt;稍后起床，发现已有阳光照射过来，五点多，开始迎接新生活。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5865546752828750166?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5865546752828750166/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5865546752828750166&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5865546752828750166'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5865546752828750166'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/05/blog-post.html' title='五点多的阳光'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-404376109846548439</id><published>2008-05-05T21:11:00.000+08:00</published><updated>2009-01-12T19:05:08.613+08:00</updated><title type='text'>离毕业近了一步</title><content type='html'>下午做完了实验，有点激动，这件令我担心的事终于过去了。现场的效果比我一直预想的要好。大致扫了一下问卷，结果还是可以接受的。有了实验数据，主动权就掌握在自己手里了。可是有点不安，不能静下心来整理论文、分析数据了。一直被论文压着，累积在心底的很多事都在发酵。离毕业近了一步。&lt;br /&gt;&lt;br /&gt;我想把自己的人生仅仅和一个人联系在一起，其结果一定是悲剧。而且这种关系越紧密，所受的折磨和痛苦就越多越深。&lt;br /&gt;刚看到时，我就以为是写给我的。一个人的人生怎么可能仅仅和一个人联系在一起呢，小时候、长大了、再长大……人生怎么会仅仅和一个人联系在一起。可是，悲剧是一定的，因为完美是不存在的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-404376109846548439?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/404376109846548439/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=404376109846548439&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/404376109846548439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/404376109846548439'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/05/blog-post_05.html' title='离毕业近了一步'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-355590638982167799</id><published>2008-04-09T12:51:00.000+08:00</published><updated>2009-01-12T19:05:08.630+08:00</updated><title type='text'>Google is Everything</title><content type='html'>&lt;a href="http://code.google.com/appengine/"&gt;Google App Engine&lt;/a&gt; is released, a preview release. Though I haven't studied it, it seems to be more obvious that Google is everything.&lt;br /&gt;Several software companies have the same goal: to install/run their software in every PC.&lt;br /&gt;However, the internet is changing the situation. A PC becomes just like a telephone, an input device as a sender, an output device as a receiver, and same the cable, no need for CPU, no need for storage, Google is everything. What about operating system? Just &lt;span style="font-style: italic;"&gt;GOS Live&lt;/span&gt; enough, maybe it has a name much cooler than this one.&lt;br /&gt;知道Google App Engine发布了，虽然还没有去看，但是感觉却是越来越强烈，Google就是一切。&lt;br /&gt;好象好几个软件公司的目标都是：让我们的软件运行在每一台PC机上。&lt;br /&gt;但是网络使PC变得跟电话机一样了。也许以后的PC只是一个输入，一个输出，一根网线就OK了，跟电话一样不，一个听筒，一个话筒，一根电话线。PC再也不需要计算，不需要存储，Google就是一切。操作系统？当然GOS Live嘛，也许它会有一个更酷的名字罢了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-355590638982167799?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/355590638982167799/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=355590638982167799&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/355590638982167799'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/355590638982167799'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/04/google-is-everything.html' title='Google is Everything'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5688528554766593525</id><published>2008-04-09T12:21:00.000+08:00</published><updated>2009-01-12T19:05:08.652+08:00</updated><title type='text'>找工作去了</title><content type='html'>师弟帮我把水杯盖子粘好了，他说跟原来一模一样，一点儿也看不出。是的，因为我喜欢这个杯子，所以它确实跟原来一样。&lt;br /&gt;&lt;br /&gt;找工作去了。虽然找工作算什么啊，其他事比找工作重要多了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5688528554766593525?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5688528554766593525/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5688528554766593525&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5688528554766593525'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5688528554766593525'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/04/blog-post.html' title='找工作去了'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-9214035798644201785</id><published>2008-04-02T01:07:00.000+08:00</published><updated>2009-01-12T19:05:08.667+08:00</updated><title type='text'>生还是死</title><content type='html'>对于学校的招聘会本来也没报什么希望，但还是打算去看一下，没想到熬了一夜后睡醒就到十一点多了，也就没有去。&lt;br /&gt;&lt;br /&gt;招聘网站是简历黑洞，提供了一个用人单位与求职者的博弈空间，最终的胜利者却是招聘网站。&lt;br /&gt;为了方便查找职位，写了一些程序来获取职位信息。结果游戏开始了，我这边不断更新查找职位信息，不断地投出简历，希望能在用人单位的招聘邮箱中占据有利位置；而另一个地方，用人单位也不断的刷新职位信息，希望在求职者搜索出的职位列表中抢占有利位置。于是，职位信息刷了一遍又一遍，简历投了一遍又一遍。公司依旧没有找到合适的人选，我也没有找到合适的工作。&lt;br /&gt;&lt;br /&gt;下午从楼下的草地挖了些土，拿回来种花，可是没有一种会开花的花给我种。&lt;br /&gt;&lt;br /&gt;“古之成大事者，不惟有超世之才，亦必有坚忍不拔之志”。在鱼头的空间看到他写的字，有同感。&lt;br /&gt;&lt;br /&gt;这几天是在艰难困苦中度过的，心里快要崩溃了不说，生活也处于了水深火热之中，过着潦倒的日子，每天都从抽屉里搜寻几个硬币拿来充饥。好在艰难的时候快过去了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-9214035798644201785?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/9214035798644201785/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=9214035798644201785&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/9214035798644201785'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/9214035798644201785'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/04/blog-post_01.html' title='生还是死'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-733197261914634510</id><published>2008-03-25T20:58:00.000+08:00</published><updated>2009-01-12T19:05:08.693+08:00</updated><title type='text'>九年如一日</title><content type='html'>炳伟说九年如一日。&lt;br /&gt;&lt;br /&gt;又想起云南的郭同学去年说：&lt;span&gt;12年前我们在测校相识，8年前在测校分别，今天我们在网上重逢，现在的你在忙什么，怀念我们一起走过的日子。&lt;br /&gt;&lt;br /&gt;难忘在一起的情谊。&lt;br /&gt;&lt;br /&gt;九年前的今天，待在省测绘局的宿舍等待实习，等待工作；九年以后，今天，没有工作，没有时间等待。&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-733197261914634510?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/733197261914634510/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=733197261914634510&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/733197261914634510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/733197261914634510'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/blog-post.html' title='九年如一日'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-4650625960615017270</id><published>2008-03-24T21:15:00.000+08:00</published><updated>2009-01-12T19:05:08.704+08:00</updated><title type='text'>碎了</title><content type='html'>早晨一来就发现桌子的水杯盖子被打破了，碎成了几大块，还有一堆细末。上次掉在地上，裂开了，还摔掉了些碎片。&lt;br /&gt;&lt;br /&gt;每当在楼底下想上楼的时候，就想变得像壁虎一样能沿着墙壁飞快地爬到楼顶。结果每次都像爬山虎一样慢慢往上爬。爬山虎绿了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-4650625960615017270?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/4650625960615017270/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=4650625960615017270&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4650625960615017270'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4650625960615017270'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/blog-post_24.html' title='碎了'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-92003896873521758</id><published>2008-03-22T20:24:00.000+08:00</published><updated>2009-01-12T19:05:08.717+08:00</updated><title type='text'>Job</title><content type='html'>看近一期的 &lt;span style="font-style: italic;"&gt;U.S. News &amp;amp; World Report&lt;/span&gt; ，封面故事是关于工作的，跳跃着看见些东西。&lt;br /&gt;&lt;br /&gt;经理在裁人时：&lt;blockquote&gt;When choosing between equally productive workers, they may select the employee they'll have the easiest time facing with bad news.&lt;/blockquote&gt;简单地说，就是谁好说话就裁谁。那么找工作的时候，也是这样的？先拒掉看起来找不到工作也没什么关系的，留下那些急切想到得到这份工作的？当然，前提是要足够productive。&lt;br /&gt;&lt;br /&gt;网上投简历：&lt;br /&gt;&lt;blockquote&gt;Some career advisers call these sites "resume black holes" ... For one, many companies prescreen resumes using software that hunts for key words relating  to skills, training, degree, and experience. Even if you are a perfect match for the job , "you resume may never get to someone who could decipher your potential value" ...&lt;/blockquote&gt;看来招聘网站真的是简历黑洞呀。难怪投了那么多都没有消息。说来也怪，第一天投了两个，第二天就有电话来；后来再投无数，都没有回应了，有同学玩笑说先前那个是个托。想想在网上投简历也是，先前不够熟练，挑仔细了再投，后来顺手了，投的也就随意了，命中率也就低了。估计那些公司也更头痛，每天在面对那么多不着边的简历。一边是急着找工作，一边是怎么也找不到合适的人……&lt;br /&gt;&lt;br /&gt;不能太依靠招聘网站，除以上原因外，还有：&lt;br /&gt;&lt;blockquote&gt;The great majority of jobs are never advertised.&lt;/blockquote&gt;&lt;br /&gt;说来今天又在招聘网站上看到了几个感兴趣的工作，又多扔出去几份简历。期待这几个的回音呀。&lt;br /&gt;&lt;br /&gt;还瞅了一眼，有前景的工作中有不少是生命健康相关方面的，还有一个就是数据挖掘，亚洲商业开发专家也在其中，看来亚洲市场是很有前景的。&lt;br /&gt;而Teacher却被列入Overrated careers，有点想不通。&lt;br /&gt;&lt;br /&gt;同时，还看到了两个研究结果。一个讲体育、音乐和美术能课能提高孩子们的数学和阅读能力。另一个讲分班不能改善学生成绩间的差距。我们的中小学教师也应做这些实验，他们离学生最近，甚至不需要有意的做实验研究，只要注意观察与记录就好了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-92003896873521758?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/92003896873521758/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=92003896873521758&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/92003896873521758'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/92003896873521758'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/job.html' title='Job'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5290587086868521699</id><published>2008-03-22T10:04:00.000+08:00</published><updated>2009-01-12T19:05:08.728+08:00</updated><title type='text'>一年的情，七年的梦</title><content type='html'>一年的梦，醒时肝肠寸断&lt;br /&gt;七年的情，别时支离破碎&lt;br /&gt;&lt;br /&gt;真正意义上的软件或多或少都会有Bug，QQ空间总是会数错数&lt;br /&gt;&lt;blockquote&gt;&lt;span style="font-size:85%;"&gt;共 &lt;span style="color: rgb(51, 102, 255);"&gt;126&lt;/span&gt; 个签名，第 &lt;span style="color: rgb(255, 0, 0);"&gt;22&lt;/span&gt; 页/共 21 页&lt;/span&gt; &lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5290587086868521699?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5290587086868521699/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5290587086868521699&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5290587086868521699'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5290587086868521699'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/blog-post_21.html' title='一年的情，七年的梦'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2146447205538592555</id><published>2008-03-20T20:15:00.000+08:00</published><updated>2009-01-12T19:05:08.740+08:00</updated><title type='text'>错过了，就不再</title><content type='html'>我不喜欢走回头路，所以一直闷着头往前走，结果是有可能绕了一个圈回来的&lt;br /&gt;&lt;br /&gt;错过了，就不在，找不回，追不上&lt;br /&gt;错过了，就不再&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2146447205538592555?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2146447205538592555/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2146447205538592555&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2146447205538592555'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2146447205538592555'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/blog-post_20.html' title='错过了，就不再'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-4584125034329504908</id><published>2008-03-19T22:00:00.000+08:00</published><updated>2009-01-12T19:05:08.754+08:00</updated><title type='text'>原地打转</title><content type='html'>三天，每天都有火烧眉毛的事追着，这样也好，省得没事大白天的发呆&lt;br /&gt;&lt;br /&gt;找工作没有任何进展，半年过去了，还在原地打转&lt;br /&gt;&lt;br /&gt;有人说，你就根本没想找，其实说的挺对&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-4584125034329504908?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/4584125034329504908/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=4584125034329504908&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4584125034329504908'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4584125034329504908'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/blog-post_19.html' title='原地打转'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-3316384353868043510</id><published>2008-03-15T18:54:00.000+08:00</published><updated>2009-01-12T19:05:08.769+08:00</updated><title type='text'>我到另一个世界去了</title><content type='html'>我肯定到另一个世界去了&lt;br /&gt;这个世界的我，咽不下，睡不着，也不得动弹，昏迷着，被无休止的击打着，无力反抗&lt;br /&gt;&lt;br /&gt;我要到另一个世界去&lt;br /&gt;另一个世界，不用吃，不用睡，不用想，轻飘飘的没有重量的世界&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-3316384353868043510?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/3316384353868043510/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=3316384353868043510&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3316384353868043510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3316384353868043510'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/blog-post_15.html' title='我到另一个世界去了'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-4531939203729339843</id><published>2008-03-14T02:21:00.000+08:00</published><updated>2009-01-12T19:05:08.781+08:00</updated><title type='text'>不顺利</title><content type='html'>这是个不顺利的季节，不仅仅是我不顺利，很多人都不顺利。&lt;br /&gt;&lt;br /&gt;我一直以为几个人找不到工作，是个人的问题；可是成批的人找不到工作，就不是个人的问题了。有人会说，只要你足够强，肯定会找到工作的。是的，所以我们都在努力。但是，不论你找到了工作没有，总是有大批的人没有工作的，这样是不对的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-4531939203729339843?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/4531939203729339843/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=4531939203729339843&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4531939203729339843'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4531939203729339843'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/blog-post_13.html' title='不顺利'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2125022087426115169</id><published>2008-03-09T09:58:00.000+08:00</published><updated>2009-01-12T19:05:08.791+08:00</updated><title type='text'>泥潭与恶梦</title><content type='html'>在看&lt;span style="font-style:italic;"&gt;C专家编程&lt;/span&gt;，看过就不敢写程序了&lt;br /&gt;如果你在清醒的时候写，那么很高兴，你正在陷入泥潭&lt;br /&gt;如果你在不清醒的时候写，那么恭喜你，正在经历恶梦&lt;br /&gt;&lt;br /&gt;其实我觉得&lt;span style="font-style:italic;"&gt;C语言接口与实现&lt;/span&gt;这书也相当不错。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2125022087426115169?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2125022087426115169/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2125022087426115169&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2125022087426115169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2125022087426115169'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/blog-post_08.html' title='泥潭与恶梦'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-299246732634609062</id><published>2008-03-08T21:48:00.000+08:00</published><updated>2009-01-12T19:05:08.806+08:00</updated><title type='text'>雨一直下</title><content type='html'>今天上午下雨了，到中午天就晴了&lt;br /&gt;天气有点冷，实验室人很少，上午整理了一份英文的简历出来&lt;br /&gt;中午休息的时候看电影&lt;span style="font-style:italic;"&gt;YOU KILL ME&lt;/span&gt;，一边看书，觉得胃或者是其他部位隐隐有些痛&lt;br /&gt;晚饭后看顾城的诗，那个充满幻想的世界，让我向往&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-299246732634609062?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/299246732634609062/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=299246732634609062&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/299246732634609062'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/299246732634609062'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/blog-post_785.html' title='雨一直下'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-3105939906902498069</id><published>2008-03-07T20:09:00.000+08:00</published><updated>2009-01-12T19:05:08.818+08:00</updated><title type='text'>心情的琐碎</title><content type='html'>昨天晚上回宿舍，十点，锻炼身体，看书，听收音机里的老歌，吃稀饭&lt;br /&gt;十二点，听小说广播，又是迷迷糊糊到一点&lt;br /&gt;四点四十就醒来&lt;br /&gt;早晨起来去洗脸，发现昨晚走路回去时鞋底沾满了泥，把清洁工刚打扫干净的地踩得一塌糊涂，正在惭愧，听得清洁工又过来，仓皇逃回宿舍&lt;br /&gt;上午中午缴尽脑汁写了一堆混乱的代码，就像早晨踩在地上的泥脚印，划在了项目的版本控制系统中&lt;br /&gt;晚上去格致书店和图书馆看了翻了一会儿书&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-3105939906902498069?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/3105939906902498069/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=3105939906902498069&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3105939906902498069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3105939906902498069'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/blog-post_07.html' title='心情的琐碎'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5438671647620653409</id><published>2008-03-07T19:55:00.000+08:00</published><updated>2009-01-12T19:05:08.829+08:00</updated><title type='text'>When Delphi constructor likely to fail</title><content type='html'>How to deal with this problem?&lt;br /&gt;1. constructor Create(var Success: Boolean); &lt;br /&gt;   The client will see the parameter obviously.&lt;br /&gt;2. raise exception&lt;br /&gt;   The client must be told to use try...except to catch the exception.&lt;br /&gt;3. Destroy; Self := nil;&lt;br /&gt;   The client must validate the object it wants to create.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5438671647620653409?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5438671647620653409/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5438671647620653409&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5438671647620653409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5438671647620653409'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/when-delphi-constructor-likely-to-fail.html' title='When Delphi constructor likely to fail'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-8337347808629520869</id><published>2008-03-06T15:05:00.000+08:00</published><updated>2009-01-12T19:05:08.843+08:00</updated><title type='text'>琐碎的心情</title><content type='html'>昨天晚上在宿舍看书，门开着，跑进来一只猫，在屋里逛了一圈，直逛到阳台，没发现什么新鲜玩意儿，就又跑出去了&lt;br /&gt;十二点开始听小说，三国讲到快结束了，迷迷糊糊听到一点睡觉，早上五点就醒来了&lt;br /&gt;早晨起来，发现夜里下雨了；洗濑之后，回宿舍时走过了&lt;br /&gt;晚上看完了100页的招聘信息，看得眼花&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-8337347808629520869?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/8337347808629520869/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=8337347808629520869&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8337347808629520869'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8337347808629520869'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/blog-post_05.html' title='琐碎的心情'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-7496118578903827702</id><published>2008-03-01T21:43:00.000+08:00</published><updated>2009-01-12T19:05:08.859+08:00</updated><title type='text'>写代码就像刨木头</title><content type='html'>起初，是一根粗糙的木头，用心修来修去，就光滑了，摸着也舒服了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-7496118578903827702?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/7496118578903827702/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=7496118578903827702&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7496118578903827702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7496118578903827702'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/03/blog-post_01.html' title='写代码就像刨木头'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-7182098450187845939</id><published>2008-02-21T12:34:00.000+08:00</published><updated>2009-01-12T19:05:08.873+08:00</updated><title type='text'>是近还是远</title><content type='html'>旅途就是一场梦，到站后，不知道我们之间的距离是近还是远&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-7182098450187845939?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/7182098450187845939/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=7182098450187845939&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7182098450187845939'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7182098450187845939'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/02/blog-post.html' title='是近还是远'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-6704753603899950144</id><published>2008-01-31T21:02:00.000+08:00</published><updated>2009-01-12T19:05:08.884+08:00</updated><title type='text'>Formatting</title><content type='html'>今天太高兴了。&lt;br /&gt;不知道哪个恶魔嫉妒了。&lt;br /&gt;结果，&lt;br /&gt;中午在西站的时候手机就有点问题。自动关机了一回。&lt;br /&gt;下午回来居然连连系统错误，终于不能开机了。&lt;br /&gt;只好来个格式化，按了几个高难度的键，Formatting...&lt;br /&gt;名片夹还没来得及备份，软件，短信息，Formatting...&lt;br /&gt;联系方式和短信息，痛啊~~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-6704753603899950144?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/6704753603899950144/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=6704753603899950144&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6704753603899950144'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6704753603899950144'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/01/formatting.html' title='Formatting'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-315775888807426100</id><published>2008-01-30T13:14:00.000+08:00</published><updated>2009-01-12T19:05:08.903+08:00</updated><title type='text'>大雪纷纷落地</title><content type='html'>大雪纷纷落地，&lt;br /&gt;再下三天何妨，&lt;br /&gt;&lt;br /&gt;大雪纷纷落地&lt;br /&gt;有人来到公路&lt;br /&gt;有人来到车站&lt;br /&gt;他们呼天，他们喊地&lt;br /&gt;我们仰望着视线&lt;br /&gt;&lt;br /&gt;电线结冰了，我们赶紧停电&lt;br /&gt;铁塔折断了，我们关上手机&lt;br /&gt;高速封路了，我们耐心等待&lt;br /&gt;铁路晚点了，我们慢慢忍耐&lt;br /&gt;飞机延误了，我们自谋他路&lt;br /&gt;啊，有人来了&lt;br /&gt;我们饿不死了&lt;br /&gt;也冻不死了&lt;br /&gt;&lt;br /&gt;铁塔上的冰，锤子&lt;br /&gt;一下，两下&lt;br /&gt;一下，两下&lt;br /&gt;一下，两下&lt;br /&gt;电线，几十双手&lt;br /&gt;一下，两下&lt;br /&gt;一下，两下&lt;br /&gt;一下，两下&lt;br /&gt;重复着&lt;br /&gt;重复着&lt;br /&gt;重复着&lt;br /&gt;&lt;br /&gt;我毫无意义地重复着&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;我说这次早回来要是找不好工作就亏大了，错过了这么难得的大雪。有人说我得庆幸走得早，没被大雪困住。可是，没有下大雪的时候，车票还不是在瞬间就卖完？&lt;br /&gt;大雪，转移了我的注意力，从人类大迁移到了老天爷上，可是老天爷还是那个老天爷。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-315775888807426100?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/315775888807426100/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=315775888807426100&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/315775888807426100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/315775888807426100'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/01/blog-post.html' title='大雪纷纷落地'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-8665890526329466540</id><published>2008-01-30T12:34:00.000+08:00</published><updated>2009-01-12T19:05:08.921+08:00</updated><title type='text'>面试就像梦游</title><content type='html'>刚刚经历了面试。&lt;br /&gt;面试就是在聊天，聊着聊着就把你的注意力给放松了，目标不明确了，都忘了该说啥了，就像被灌了迷幻药。面试官就暗自高兴了,小样，这下就套出你的真话了吧。面试出来，冷风里一吹，清醒了，原来面试就像去梦游了一场。&lt;br /&gt;没想到面试官对我到其他哪些地方面试过这么有兴趣。也难怪，世界本来就很小的样子，行业圈子更小，没准大家隔三差五一起开开会，今天你当家，明天我坐庄，谈谈公事，聊聊私事，心知肚明着呢。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-8665890526329466540?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/8665890526329466540/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=8665890526329466540&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8665890526329466540'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8665890526329466540'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/01/blog-post_29.html' title='面试就像梦游'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-1977091411083041898</id><published>2008-01-14T22:04:00.000+08:00</published><updated>2009-01-12T19:05:08.933+08:00</updated><title type='text'>音乐魔方</title><content type='html'>我想做一个音乐魔方，每转一下，就会调到不同的音乐，每个方格就会发出不同色彩的光。&lt;br /&gt;You'll never know what you are going to hear next.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-1977091411083041898?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/1977091411083041898/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=1977091411083041898&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/1977091411083041898'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/1977091411083041898'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2008/01/blog-post_14.html' title='音乐魔方'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2660795439056454246</id><published>2007-11-18T21:31:00.000+08:00</published><updated>2009-01-12T19:05:08.947+08:00</updated><title type='text'>刚刚看到的</title><content type='html'>刚刚在2ccc上看到的&lt;br /&gt;&lt;blockquote&gt;[2007-11-17]&lt;br /&gt;股市暴跌，猪肉暴涨，站长顶不顺了，做了近十年程序员，唯一值点钱的也许就这个十年苦心血经营的网站了，现含泪转让本站套点现，感谢所有关心本站的朋友，有意者请联系：webmaster@delphibox.com，站长将发送相关信息给您。&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2660795439056454246?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2660795439056454246/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2660795439056454246&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2660795439056454246'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2660795439056454246'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/11/blog-post.html' title='刚刚看到的'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-4611089383077785819</id><published>2007-10-16T09:12:00.000+08:00</published><updated>2009-01-12T19:05:08.960+08:00</updated><title type='text'>Color! What Color!</title><content type='html'>Free personality analysis from ColorQuiz.com.&lt;br /&gt;Generated on Mon Oct 15 18:09:39 2007.&lt;br /&gt;&lt;br /&gt;      Your Existing Situation&lt;br /&gt;            Having difficulty in standing up to the demands imposed on him. Finds a great effort is involved and wishes to have the situation eased.&lt;br /&gt;      Your Stress Sources&lt;br /&gt;            An existing situation or relationship is unsatisfactory, but he feels unable to change it to bring about the sense of belonging which he needs. Unwilling to expose his vulnerability, he therefore continues to resist this state of affairs, but feels dependent on the attachment. This not only depresses him, but makes him irritable and impatient, producing considerable restlessness and the urge to get away from the situation, either actually or, at least, mentally. Ability to concentrate may suffer.&lt;br /&gt;      Your Restrained Characteristics&lt;br /&gt;            Willing to become emotionally involved as he feels rater isolated and alone. Egocentric and therefore quick to take offense, though he tries to avoid open conflict.&lt;br /&gt;&lt;br /&gt;            Feels that things stand in his way, that circumstances are forcing him to compromise and forgo some pleasures for the time being.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;      Your Desired Objective&lt;br /&gt;            His need to feel more causative and to have a wider sphere of influence makes him restless and he is driven by his desires and hopes. May try to spread his activities over too wide a field.&lt;br /&gt;      Your Actual Problem&lt;br /&gt;            Anxiety and restless dissatisfaction, either with circumstances or with unfulfilled emotional requirements, have produced stress. He feels misunderstood, disoriented, and unsettled. This drives him into a search for new conditions or relationships, in the hope that these might offer greater contentment and peace of mind.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-4611089383077785819?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/4611089383077785819/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=4611089383077785819&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4611089383077785819'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4611089383077785819'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/10/color-what-color.html' title='Color! What Color!'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-517486421499383361</id><published>2007-10-06T14:48:00.000+08:00</published><updated>2009-01-12T19:05:08.974+08:00</updated><title type='text'>行者</title><content type='html'>醉卧西山问孤云，&lt;br /&gt;笑听松声不见月。&lt;br /&gt;寒露未醒痴人梦，&lt;br /&gt;清风却度行者路。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-517486421499383361?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/517486421499383361/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=517486421499383361&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/517486421499383361'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/517486421499383361'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/10/blog-post.html' title='行者'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-7830990592317764588</id><published>2007-08-01T10:16:00.000+08:00</published><updated>2009-01-12T19:05:08.985+08:00</updated><title type='text'>Undocumented MessageBoxTimeOut function</title><content type='html'>&lt;span&gt;&lt;br&gt;From: &lt;a href="http://www.delphi3000.com/articles/article_4808.asp"&gt;http://www.delphi3000.com/articles/article_4808.asp&lt;/a&gt;&lt;br&gt; &lt;br&gt; &lt;/span&gt;&lt;span&gt;There are lots of neat little things that are in many of the DLLs that Microsoft has installed in Windows. Most of them are documented in the Win32 API. However, there are a lot of them that are undocumented. This article shows how to use one of the undocumented functions available in user32.dll, MessageBoxTimeOut.&lt;br&gt; &lt;br&gt; This type of functionality for a MessageBox has been requested on the Delphi newsgroups many times and there have been several solutions written. After being introduced in XP, this functionality is now available to developers using this undocumented API.&lt;br&gt; &lt;br&gt; Since this function is not documented, it is not found in Windows.pas, so it has to be defined. It is identical to the MessageBox API definition except it has two more parameters, wLanguageID and dmMilliseconds.&lt;br&gt; &lt;br&gt; function MessageBoxTimeOut(&lt;br&gt;       hWnd: HWND; lpText: PChar; lpCaption: PChar;&lt;br&gt;       uType: UINT; wLanguageId: WORD; dwMilliseconds: DWORD): Integer; stdcall;&lt;br&gt; function MessageBoxTimeOutA(&lt;br&gt;       hWnd: HWND; lpText: PChar; lpCaption: PChar;&lt;br&gt;       uType: UINT; wLanguageId: WORD; dwMilliseconds: DWORD): Integer; stdcall;&lt;br&gt; &lt;br&gt; function MessageBoxTimeOutW(&lt;br&gt;       hWnd: HWND; lpText: PWideChar; lpCaption: PWideChar;&lt;br&gt;       uType: UINT; wLanguageId: WORD; dwMilliseconds: DWORD): Integer; stdcall;&lt;br&gt; &lt;br&gt; implementation&lt;br&gt; &lt;br&gt; // this const is not defined in Windows.pas&lt;br&gt; const&lt;br&gt;   MB_TIMEDOUT = 32000;&lt;br&gt; &lt;br&gt; function MessageBoxTimeOut; externaluser32 name 'MessageBoxTimeoutA';&lt;br&gt; function MessageBoxTimeOutA; external user32 name 'MessageBoxTimeoutA';&lt;br&gt; function MessageBoxTimeOutW; external user32 name 'MessageBoxTimeoutW';&lt;br&gt; &lt;br&gt; Now, to call the function, it is as easy as setting the flags and making the call. There may be other results returned that I am not aware of besides the standard IDxxx return values and the MB_TIMEDOUT result defined above.&lt;br&gt; &lt;br&gt; var&lt;br&gt;   iResult: Integer;&lt;br&gt;   iFlags: Integer;&lt;br&gt; begin&lt;br&gt;   // Define a MessagBox  with an OK button and a timeout of 2 seconds&lt;br&gt;   iFlags  := MB_OK or MB_SETFOREGROUND or MB_SYSTEMMODAL or MB_ICONINFORMATION;&lt;br&gt;   iResult := MessageBoxTimeout(&lt;br&gt;    Application.Handle,&lt;br&gt;    'Test a timeout of 2 seconds.',&lt;br&gt;    'MessageBoxTimeout Test', iFlags, 0, 2000);&lt;br&gt; &lt;br&gt;   // iResult will = 1 (IDOK)&lt;br&gt;   ShowMessage(IntToStr(iRet));&lt;br&gt; &lt;br&gt;   // Define a MessageBox with a Yes and No button and a timeout of 5 seconds&lt;br&gt;   iFlags  := MB_YESNO or MB_SETFOREGROUND or MB_SYSTEMMODAL or MB_ICONINFORMATION;&lt;br&gt; &lt;br&gt;   iResult := MessageBoxTimeout(&lt;br&gt;     Application.Handle,&lt;br&gt;     'Test a timeout of 5 seconds.',&lt;br&gt;     'MessageBoxTimeout Test', iFlags, 0, 5000);&lt;br&gt; &lt;br&gt;   // iResult = MB_TIMEDOUT if no buttons clicked, otherwise&lt;br&gt;   // iResult will return the value of the button clicked&lt;br&gt; &lt;br&gt;   case iResult of&lt;br&gt;   IDYES:  // Pressed Yes button&lt;br&gt;     ShowMessage('Yes');&lt;br&gt; &lt;br&gt;   IDNO:  // Pressed the No button&lt;br&gt;     ShowMessage('No');&lt;br&gt; &lt;br&gt;   MB_TIMEDOUT: // MessageBox timed out&lt;br&gt;     ShowMessage('TimedOut');&lt;br&gt;   end;&lt;br&gt; end;&lt;br&gt; &lt;br&gt; I presume Borland will not put this into Windows.pas until Microsoft documents it but developers can get a head start on them by using the code above. It is unlikely that Microsoft will depricate this function for quite some time because all of the standard MessageBox API calls actually call MessageBoxTimeOutA or MessageBoxTimeoutW and pass $FFFFFFFF as the timeout period meaning the dialog will wait a very long time, approx 49 days!&lt;br&gt; &lt;br&gt;=======&lt;br&gt;&lt;/span&gt;This function could be useful, however, since it is not documenten, there is no guarantee whether or not this function will continue to exist. Even the fact that other APIs indirectly call it, does not quarantee this. Microsoft could easily remove the function, and write a different implementation for message boxes. &lt;br&gt; &lt;br&gt;But until then, you can use it of course. :) &lt;br&gt; &lt;br&gt;$FFFFFFFF could also mean -1, when the parameter is actually an integer value. In this case, it probably means 'indefinate' instead of 49 days, which makes more sense. I can hardly imagine that every MessageBox will automatically close after 49 days. :)&lt;br&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-7830990592317764588?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/7830990592317764588/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=7830990592317764588&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7830990592317764588'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7830990592317764588'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/07/undocumented-messageboxtimeout-function.html' title='Undocumented MessageBoxTimeOut function'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2734818030813280427</id><published>2007-07-19T22:47:00.000+08:00</published><updated>2009-01-12T19:05:09.013+08:00</updated><title type='text'>时间如流水</title><content type='html'>再来看看昨天的时间&lt;br /&gt;     07:30    起床，奔赴实验室&lt;br /&gt;     08:30    查看邮件、新闻&lt;br /&gt;     09:00    看书：Writing English Language Tests&lt;br /&gt;     11:00    吃午饭、休息&lt;br /&gt;     12:00    写日志&lt;br /&gt;     13:00    睡午觉&lt;br /&gt;     14:00    处理视频&lt;br /&gt;     17:00    吃晚饭、休息&lt;br /&gt;     17:30    视频处理&lt;br /&gt;     18:30    看足球赛&lt;br /&gt;     23:00    聊天、打电话&lt;br /&gt;　　00:00    吃夜宵&lt;br /&gt;     01:00    写程序、听英语&lt;br /&gt;     02:00    游戏&lt;br /&gt;     03:00    睡觉&lt;br /&gt;从起床到睡觉共19.5小时，其中：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;有效学习工作时间7小时&lt;/li&gt;&lt;li&gt;半有效学习工作时间1.5小时&lt;/li&gt;&lt;li&gt;生活琐事5小时&lt;/li&gt;&lt;li&gt;娱乐休闲6小时&lt;/li&gt;&lt;/ul&gt; 地点：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;电脑屏幕前12小时&lt;/li&gt;&lt;/ul&gt; 总结：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;有效工作还不错&lt;/li&gt;&lt;li&gt;娱乐时间真长啊，与其说是娱乐还不如说是郁闷。想起有人在BBS上问的一句话：谁告诉我今天有比赛的？&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;顺便把今天的也总结一下吧&lt;br /&gt;     07:30    起床、查看邮件&lt;br /&gt;     08:30    看书：设计模式&lt;br /&gt;     09:30    处理题库&lt;br /&gt;     10:00    看书：wxPython in Action&lt;br /&gt;     12:00    睡午觉&lt;br /&gt;     14:00    开会&lt;br /&gt;     16:30    修改程序&lt;br /&gt;     17:00    吃晚饭&lt;br /&gt;     17:30    休息、聊天&lt;br /&gt;     18:00    踢球、洗澡&lt;br /&gt;     20:30    写日志&lt;br /&gt;从起床到现在共15小时，其中：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;有效学习工作时间6.5小时&lt;/li&gt;&lt;li&gt;半有效学习工作时间2.5小时&lt;br /&gt;  &lt;/li&gt;&lt;li&gt;生活琐事3.5小时&lt;/li&gt;&lt;li&gt;休闲娱乐2.5小时&lt;/li&gt;&lt;/ul&gt; 地点：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;电脑屏幕前9小时&lt;/li&gt;&lt;/ul&gt; 总结：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;有计划就好了&lt;br /&gt;  &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2734818030813280427?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2734818030813280427/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2734818030813280427&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2734818030813280427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2734818030813280427'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/07/blog-post_19.html' title='时间如流水'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-4110857028745545475</id><published>2007-07-19T22:32:00.000+08:00</published><updated>2009-01-12T19:05:08.999+08:00</updated><title type='text'>翻译 协作 问题</title><content type='html'>在&lt;a title="教育中文翻译" href="http://www.edu2do.com/fanyi/"&gt;教育中文翻译&lt;/a&gt; 的各位热心的“老”人们的帮助下，&lt;a title="翻译了一篇文章" href="http://www.edu2do.com/fanyi/2007/07/17/e-learning-20-all-you-need-to-know.html"&gt;翻译了一篇文章&lt;/a&gt;。当文章出现在网站上时，才发现除了文字的翻译外，还要插入图片、文章分类等工作要做。感谢编辑们的同时，也想到如果只是草草翻译一下文字，恐怕只是给审校和编辑徒增麻烦。所以以后翻译须格外认真。通过这次翻译，也清楚了工作流程，下次就可以集中精力在内容上了。&lt;br /&gt;说 到翻译，有了一点感触。一定要熟悉文章内容。翻译时，也不能只看这一篇文章。文章中的内容，如果不是很清楚，就需要阅读相关的资料；文章中的引用、链接有 时也需要找原文来看。自己阅读的时候，可能有的单词拿不准什么意思就忽略过去了，可是翻译的时候如果找不到准确的意思，恐怕翻出来的就与原意风马牛不相 及。&lt;br /&gt;&lt;br /&gt;这次通过GD共享文档是算是第一次真正的协作吧。以前虽然在TRAC和SVN上作项目，但大家都基本上是在一起，有什么问题主要是当面讨论，靠SVN控制 源码，TRAC的作用非常小。这次就不一样了，体会出了协作的概念和力量。GD也是第一次真正使用，感觉确实比较方便，瞬间已经成了我的主要工作环境，想 不通以前为什么看了一眼就把它抛在脑后了。&lt;br /&gt;&lt;br /&gt;关注教育中文翻译很久了，先是订阅RSS，到现在开始参与翻译，但是没有发现多少自己很感兴趣的内容。也许是我对这个领域了解的太少了，看的东西不多，而 自己其实更象是一个程序员。但我对此还是很有信心的，也相信做这样的事是很值得的，希望能找到更多自己比较熟悉的内容，来参与翻译。&lt;br /&gt;除了翻译，我更希望看到原创的内容。我不是在意原创这个词的意义，只是觉得国外的情况跟我们有不少差距，我们在了解国外的同时，需要关注身边的情况。&lt;br /&gt;&lt;a title="OLDaily" href="http://www.edu2do.com/oldaily/"&gt;OLDaily&lt;/a&gt;上每天的条目都不少，如果想了解清楚每个条目，光是看简短的评述肯定不够，一定要花时间阅读原文。可是，我对于究竟有多少人在阅读这个网站很不乐观，也不知道网站有没有什么统计数据。&lt;br /&gt;突然发现网站上有统计的，平均日22IP，62PV，估计每天都是那些人在看吧。虽然比我预想的要好，但还是很少的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-4110857028745545475?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/4110857028745545475/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=4110857028745545475&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4110857028745545475'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4110857028745545475'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/07/blog-post.html' title='翻译 协作 问题'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-6402278671633405589</id><published>2007-07-18T12:03:00.000+08:00</published><updated>2009-01-12T19:05:09.025+08:00</updated><title type='text'>时间是如何流走的</title><content type='html'>昨天在Google Calendar上记录了一下时间，来看看时间是怎样流走。&lt;br /&gt;&lt;blockquote&gt;     07:30    起床了&lt;br /&gt;     08:00    查看邮件，写一段记录&lt;br /&gt;     08:50    看书：DDG动态链接库&lt;br /&gt;     09:30    取信件，安装视频处理程序&lt;br /&gt;     10:30    继续看书：DDG动态链接库&lt;br /&gt;     11:00    吃午饭&lt;br /&gt;     11:30    继续看书：DDG动态链接库&lt;br /&gt;     12:00    睡午觉&lt;br /&gt;     14:00    翻译&lt;br /&gt;     15:00    测试程序&lt;br /&gt;     17:00    休息&lt;br /&gt;     17:30    吃晚饭&lt;br /&gt;     18:00    翻译、阅读&lt;br /&gt;     19:00    看书：PP3E&lt;br /&gt;     20:00    阅读RSS、聊天&lt;br /&gt;     21:30    奔赴宿舍，准备睡觉&lt;br /&gt;     23:30    睡觉&lt;br /&gt;&lt;/blockquote&gt;从起床到睡觉共16个小时，其中：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;看书2.5小时&lt;/li&gt;&lt;li&gt;测试程序2小时&lt;/li&gt;&lt;li&gt;翻译1.5小时&lt;/li&gt;&lt;li&gt;网上阅读、聊天、收发邮件3小时&lt;/li&gt;&lt;li&gt;视频处理1小时&lt;/li&gt;&lt;li&gt;生活琐事3.5小时&lt;/li&gt;&lt;li&gt;休息2.5小时&lt;/li&gt;&lt;/ul&gt;有效时间：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;有效学习工作时间2.5＋2＋1.5＋1＝7小时&lt;/li&gt;&lt;li&gt;半有效时间3*0.5=1.5小时&lt;/li&gt;&lt;/ul&gt;工作地点：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;电脑屏幕前10小时&lt;/li&gt;&lt;/ul&gt;总结：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;有效时间还是不错的，在有效时间内能高效工作就好。&lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-6402278671633405589?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/6402278671633405589/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=6402278671633405589&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6402278671633405589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/6402278671633405589'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/07/blog-post_17.html' title='时间是如何流走的'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-3062773566847344687</id><published>2007-07-14T20:55:00.000+08:00</published><updated>2009-01-12T19:05:09.053+08:00</updated><title type='text'>无聊</title><content type='html'>刚才写到了无聊，就又想到了另一个无聊的游戏，扫雷，无聊一把，记录一下自己目前最好的战绩：&lt;br /&gt;&lt;ul&gt;&lt;li&gt;初级：3&lt;/li&gt;&lt;li&gt;中级：29&lt;/li&gt;&lt;li&gt;高级：103&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;又想到了笨重的QD，时间以数字方式显示时，时间下面的线条会随着时间变化，却始终没有看出变化的规律。那天上网搜索，没有结果，却发现另有一个网友也在问这个问题，随后有人问答说：估计也没什么意义，就象快速拔号设置时后面乱七八糟的线条一样，还让人以为是手机屏幕出问题了。他称这是NOKIA的蹩脚设计师的问题。哈哈~~&lt;br /&gt;其实QD最糟糕的设计就是那个胶圈了，半年换过一个就已经又惨不忍睹了……&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-3062773566847344687?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/3062773566847344687/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=3062773566847344687&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3062773566847344687'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/3062773566847344687'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/07/blog-post_14.html' title='无聊'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-2131673090787204439</id><published>2007-07-14T20:31:00.000+08:00</published><updated>2009-01-12T19:05:09.038+08:00</updated><title type='text'>Python 猜数字 for S60</title><content type='html'>&lt;pre&gt;无聊小游戏一个，&lt;br /&gt;等时间的时候拿出手机来玩下也不错~~&lt;br /&gt;这回笨重的QD总算派上点用场，&lt;br /&gt;不过写程序时没有模拟器可真是折腾呀，&lt;br /&gt;存储卡取出装上,反反复复……&lt;br /&gt;&lt;br /&gt;#猜数字 for S60&lt;br /&gt;#玩法按照文曲星上的(印象中)&lt;br /&gt;#4个数字，不重复，范围（1-9）&lt;br /&gt;&lt;br /&gt;import appuifw&lt;br /&gt;from random import randint&lt;br /&gt;&lt;br /&gt;def initializeSecret():&lt;br /&gt;    secret = []&lt;br /&gt;    for i in range(4):&lt;br /&gt;        num = randint(1, 9)&lt;br /&gt;        while num in secret:&lt;br /&gt;            num = randint(1, 9)&lt;br /&gt;        secret = secret + [num]&lt;br /&gt;    return secret&lt;br /&gt;&lt;br /&gt;def checkGuess(secret, guess):&lt;br /&gt;    bulls, cows = 0, 0&lt;br /&gt;    for i in range(4):&lt;br /&gt;        if guess[i] in secret:&lt;br /&gt;            if guess[i] == secret[i]:&lt;br /&gt;                bulls = bulls + 1&lt;br /&gt;            else:&lt;br /&gt;                cows = cows + 1&lt;br /&gt;    return (bulls, cows)&lt;br /&gt;&lt;br /&gt;def processGuess(gue):&lt;br /&gt;    guess = []&lt;br /&gt;    if len(gue) != 4:&lt;br /&gt;        return guess&lt;br /&gt;    for i in range(4):&lt;br /&gt;        digit = gue[i]&lt;br /&gt;        try:&lt;br /&gt;            num = int(digit)&lt;br /&gt;            if not 1 &lt;= num &lt;= 9:&lt;br /&gt;                return guess&lt;br /&gt;        except:&lt;br /&gt;            return guess&lt;br /&gt;        if not num in guess:&lt;br /&gt;            guess = guess + [num]&lt;br /&gt;    return guess  &lt;br /&gt;&lt;br /&gt;goon = True&lt;br /&gt;while goon:&lt;br /&gt;    secret = initializeSecret()&lt;br /&gt;    guessTime = 0&lt;br /&gt;    while guessTime &lt; 8:&lt;br /&gt;        gue = appuifw.query(u'Please input four digits:', 'number')&lt;br /&gt;        guess = processGuess(str(gue))&lt;br /&gt;        if len(guess) != 4:&lt;br /&gt;            appuifw.note(u"Invalid input")&lt;br /&gt;            continue&lt;br /&gt;        print guess&lt;br /&gt;        guessTime = guessTime + 1&lt;br /&gt;        result = checkGuess(secret, guess)&lt;br /&gt;        if result[0] == 4:&lt;br /&gt;            appuifw.note(u"You guess it! Congratulations!")&lt;br /&gt;            guessTime = 0&lt;br /&gt;            break&lt;br /&gt;        print result&lt;br /&gt;        appuifw.note(u'%dA%dB'%(result[0], result[1]))&lt;br /&gt;    if guessTime &gt;= 8:&lt;br /&gt;        appuifw.note(u"Sorry, you failed!")&lt;br /&gt;    goon = appuifw.query(u"Next Number?", 'query')&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-2131673090787204439?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/2131673090787204439/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=2131673090787204439&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2131673090787204439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/2131673090787204439'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/07/python-for-s60.html' title='Python 猜数字 for S60'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5267180812992800293</id><published>2007-07-01T23:58:00.000+08:00</published><updated>2009-01-12T19:05:09.066+08:00</updated><title type='text'>这一天</title><content type='html'>早晨七点起来去准备组织口语考试，没想到出现了那么多的问题。&lt;br /&gt;沟通是一个问题，跟教学组负责人沟通没有作任何努力就让步了。考试对我来说没有什么太多兴趣，就是一项服务工作。既然如此，就由他们安排吧，做好服务工作就是了。&lt;br /&gt;没想到出现了这么多的问题，错误状态不断出现，服务器连接失败，监考程序重启，还有考场突然停电。面对这样的情况，是非常沮丧和失望的。不再按照最保守的方法处理了，既然都这样了，用以前没有用过的办法快速处理一下也未尝不可，其实处理结果好坏也无所谓了。提心掉胆怕出错，甚至都快赞同不再往下考的想法了。好不容易一个上午总算过去了，在各个考场跑来跑去，电话打来打去，遇到各种各样的问题，真的累了。考试是结束了，可是留下了一堆乱麻等着去一根根缕清楚。&lt;br /&gt;&lt;br /&gt;中午侄儿打电话来说考取了石家庄二中，甚是高兴。&lt;br /&gt;&lt;br /&gt;下午去KTV打牌，晚上去聚餐。&lt;br /&gt;伤离别，离别就在眼前；说再见，期待再见就是明天。&lt;br /&gt;&lt;br /&gt;晚上回来查看了考试文件与状态相关情况，够麻烦，慢慢理吧 :(&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5267180812992800293?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5267180812992800293/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5267180812992800293&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5267180812992800293'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5267180812992800293'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/07/blog-post_01.html' title='这一天'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5344299654624682673</id><published>2007-06-01T00:46:00.000+08:00</published><updated>2009-01-12T19:05:09.078+08:00</updated><title type='text'>新独立时代</title><content type='html'>　　在《中国式离婚》中，女主角的心理问题源于对自己的不自信，而对自己的不自信是由于没有了工作，失去了独立的基础。&lt;br /&gt;　　与《中国式离婚》不同，《新结婚时代》中的女子个个都是独立的。新型婚姻中的双方在经济上是独立的；女专家的独立自不必说；漂亮的单身女性 ——与《中国式离婚》中离婚的单身母亲一样也是独立的；就连一直生活在农村的女子也可以因为女儿上学的问题而离婚，这也非得以独立为基础。&lt;br /&gt;　　在这里，其他一切——包括男人，都是配角，女人的独立才是主角。这里是新独立时代。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5344299654624682673?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5344299654624682673/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5344299654624682673&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5344299654624682673'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5344299654624682673'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/05/blog-post.html' title='新独立时代'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-58819644684353601</id><published>2007-05-09T12:29:00.000+08:00</published><updated>2009-01-12T19:05:09.092+08:00</updated><title type='text'>五一散记</title><content type='html'>还是记下点儿什么吧。&lt;br /&gt;5.1 骑车去三河，去时四个小时，游览二十分钟，吃饭一个小时，回来五个小时。一个字：累。&lt;br /&gt;5.2 终于买了件花衬衫，开心。&lt;br /&gt;5.3 Lenovo笔记本电脑的PCMCIA 插槽开和关的过程不是可逆的。&lt;br /&gt;5.4 参加同学婚宴，祝福。&lt;br /&gt;5.5 爱丽丝成就了金贝贝的大富翁之旅。&lt;br /&gt;5.6 三个人的同学聚会。&lt;br /&gt;5.7 车站，学校，车站。身在曹营心在汉。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-58819644684353601?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/58819644684353601/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=58819644684353601&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/58819644684353601'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/58819644684353601'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/05/blog-post_08.html' title='五一散记'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-7193868768196386132</id><published>2007-03-27T02:05:00.000+08:00</published><updated>2009-01-12T19:05:09.105+08:00</updated><title type='text'>流水帐</title><content type='html'>昨天去爬大蜀山了，确切地说应该是前天，借着版聚的机会。拍了几张照片。在户外活动就是爽啊，比整天待在电脑前舒服多了。打牌也很有意思，只是没有看见他们怎么杀人。&lt;br /&gt;&lt;br /&gt;连续打了两个晚上的实况，手都抽筋了。看着红脸的伊布被我使得惨不忍睹，自己都不忍心哪~~&lt;br /&gt;&lt;br /&gt;QQ的简单签名引来了众多人的疑问，没有答案。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-7193868768196386132?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/7193868768196386132/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=7193868768196386132&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7193868768196386132'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7193868768196386132'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/03/blog-post.html' title='流水帐'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-5055513516467640961</id><published>2007-01-01T21:44:00.000+08:00</published><updated>2009-01-12T19:05:09.131+08:00</updated><title type='text'>你过得好吗</title><content type='html'>&lt;p&gt;你过得好吗？&lt;br&gt;还好&lt;/p&gt; &lt;p&gt;你过得好吗？&lt;br&gt;什么叫好，什么叫不好？&lt;/p&gt; &lt;p&gt;你过得好吗？&lt;br&gt;不好&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-5055513516467640961?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/5055513516467640961/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=5055513516467640961&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5055513516467640961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/5055513516467640961'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2007/01/blog-post.html' title='你过得好吗'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-4593079059735197122</id><published>2007-01-01T03:33:00.000+08:00</published><updated>2009-01-12T19:05:09.144+08:00</updated><title type='text'>2007的第一碗面</title><content type='html'>&lt;p&gt;&lt;strong&gt;&lt;font color="#0080c0"&gt;希望&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;我希望我什么都第一&lt;/p&gt; &lt;p&gt;我希望生活是温暖的，不会觉得冷&lt;br&gt;温暖也是靠创造的，只有不断的慢慢加温，才会长久，让人心安&lt;/p&gt; &lt;p&gt;&lt;strong&gt;&lt;font color="#0080c0"&gt;都输完了，重新开始&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt; &lt;p&gt;打游戏把积分都输完了，从佃户变成长包身工，在新的一年就要到来的时候。&lt;br&gt;都输完了，重新开始。&lt;/p&gt; &lt;p&gt;&lt;font color="#0080c0"&gt;&lt;strong&gt;第一碗面&lt;/strong&gt;&lt;/font&gt;&lt;/p&gt; &lt;p&gt;好几天没有煮面吃了，都有点想念了。&lt;br&gt;2007的第一碗面，也为这一年的生活定下了一个基调。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-4593079059735197122?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/4593079059735197122/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=4593079059735197122&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4593079059735197122'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4593079059735197122'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2006/12/2007.html' title='2007的第一碗面'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-7088525888476497152</id><published>2006-12-31T04:19:00.000+08:00</published><updated>2009-01-12T19:05:09.156+08:00</updated><title type='text'>记与忘</title><content type='html'>&lt;p&gt;你都记不住。&lt;br&gt;不敢记得那么真切，以后想忘都忘不掉。&lt;/p&gt; &lt;p&gt;永远都记得。&lt;br&gt;还是不要说永远。&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;连续几天的没头没脑的紧张工作，都快要崩溃了。终于到了“到此为止”的时候，都不知怎么才能放松下来了。只想砸东西。&lt;br&gt;累了，也不想休息。浑浑噩噩又是一年就过去了。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-7088525888476497152?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/7088525888476497152/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=7088525888476497152&amp;isPopup=true' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7088525888476497152'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/7088525888476497152'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2006/12/blog-post.html' title='记与忘'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-8197638028498261757</id><published>2006-10-20T01:03:00.000+08:00</published><updated>2009-01-12T19:05:09.167+08:00</updated><title type='text'>似幻觉，如轻烟</title><content type='html'>&lt;p&gt;一切不过象是幻觉，如缕缕轻烟，恍惚间就已逝去。&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-8197638028498261757?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/8197638028498261757/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=8197638028498261757&amp;isPopup=true' title='3 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8197638028498261757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/8197638028498261757'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2006/10/blog-post.html' title='似幻觉，如轻烟'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-4006012385177912817.post-4572487471239080789</id><published>2006-09-13T02:31:00.000+08:00</published><updated>2009-01-12T19:05:09.179+08:00</updated><title type='text'>痛心</title><content type='html'>&lt;p&gt;我也不知道从哪时候起就犯了错误，以至于越走越远，再也无法重新来过．&lt;/p&gt;&lt;p&gt;我无法预知明天，所以我是靠不住的．所以只有痛心，所以无法为别人作出选择．&lt;/p&gt;&lt;p&gt;悄悄地我已被撕得粉碎，再也说不出痛．&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4006012385177912817-4572487471239080789?l=blog.beyondexam.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://blog.beyondexam.com/feeds/4572487471239080789/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=4006012385177912817&amp;postID=4572487471239080789&amp;isPopup=true' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4572487471239080789'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4006012385177912817/posts/default/4572487471239080789'/><link rel='alternate' type='text/html' href='http://blog.beyondexam.com/2006/09/blog-post.html' title='痛心'/><author><name>Eric</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry></feed>
