å› ä¸ºæœ€è¿‘çš„å·¥ä½œå½“ä¸é¢‘ç¹åœ°ç”¨åˆ°äº†å¼‚æ¥çš„IO编程模型,对于异æ¥æ¨¡åž‹çš„难于维护性深感切肤之痛。工作之余便在考虑有没有什么方法å¯ä»¥ä½¿è¿™ç§æ¨¡åž‹å˜å¾—æ›´åŠ çš„æ˜“è¯»æ˜“å†™å’Œæ˜“ç»´æŠ¤ï¼Œæœ‰ä¸€ä¸ªæƒ³æ³•å¾ˆè‡ªç„¶çš„äº§ç”Ÿäº†ï¼Œå°±æ˜¯ç”¨æˆ‘ä»¬ç†Ÿæ‚‰çš„æµç¨‹åŒ–的方法æ¥åšå†™å¤„ç†æµç¨‹ï¼Œç„¶åŽåœ¨ä¸€äº›IO触å‘点上异æ¥åŒ–,也就是触å‘一个异æ¥IO请求,将当å‰çš„执行状æ€æ¢å‡ºï¼Œæ¢å…¥å¦ä¸€ä¸ªæ‰§è¡ŒçŠ¶æ€ï¼Œç›´åˆ°IO请求结æŸï¼Œè¯¥æ‰§è¡ŒçŠ¶æ€è¢«å†æ¬¡æ¢å…¥ï¼Œåˆ™ç»§ç»æ‰§è¡Œã€‚
åŽæ¥åŽ»æœç´¢ç›¸å…³çš„问题,å‘现其实这个是一个很è€çš„想法了。在计算机科å¦å½“ä¸ï¼Œè¿™ä¸ªæœ¯è¯å«åšCoroutine,最早æ出是在1969年,而在早期的高级è¯è¨€lispå’Œschema当ä¸å°±æœ‰å®žçŽ°ã€‚如果把Coroutine和函数进行比较的è¯ï¼Œå‡½æ•°åªæœ‰ä¸€ä¸ªå…¥å£ç‚¹ï¼Œè€ŒCoroutineå¯ä»¥æœ‰å¤šä¸ªå…¥å£ç‚¹ã€‚当Coroutine被第一次调用到的时候,它将从起始处开始执行,一旦é‡åˆ°å…·æœ‰yieldè¯ä¹‰çš„è¯å¥çš„时候,就是返回给å¦å¤–一个Coroutine或者调用者,而在接下æ¥è¢«è°ƒç”¨çš„时候,就从yieldè¯å¥ä¸‹é¢çš„一æ¡è¯å¥ç»§ç»æ‰§è¡Œç›´åˆ°é‡åˆ°æ–°çš„yieldè¯å¥æˆ–者Coroutine的结æŸã€‚
如果了解Python,其实Python当ä¸çš„Generator就是一ç§Coroutine。比如
def xrange(start, end):
   val = start;
   while ( val < start ):
      yield val
      val += 1
除了Python,Stackless-Pythonå’Œ.NET也有相应的实现,而C/C++虽然有一些实现,但是通用性都ä¸å¤ªå¥½ï¼Œå› 为实现难度相对比较大,毕竟Coroutineå®Œå…¨é¢ è¦†äº†C/C++基于stack的函数调用模型。
下é¢å¤§ä½“上看一下Coroutineçš„å‡ ä¸ªC实现,下次å†å†™ã€‚
转自è€èŒ‚çš„blog.
http://savycm.spaces.live.com/blog/cns!1AF201418B02D448!649.entry
èœå›å里é¢çš„é“ç†
Â
ä¸ç®¡æ€Žä¹ˆæ ·, 首先,æˆ‘å¿…é¡»æŠŠè‡ªå·±å½“æ ¹è‘±ã€‚æ²¡æœ‰äººä¼šæŠŠè‡ªå·±éƒ½ä¸æŠŠè‡ªå·±å½“回事的人当回事(这个å¥åç¨å¾®æœ‰ç‚¹é•¿)。
å…¶æ¬¡ï¼Œå°±ç®—æˆ‘æŠŠè‡ªå·±å½“æ ¹è‘±ï¼Œä¹Ÿä¸èƒ½åœ¨å¤–é¢å¤ªæ˜¾æ‘†ã€‚å› ä¸ºçŽ°åœ¨çš„å£èŠ‚å¯èƒ½èŠ¹èœæ¯”葱更贵。
最åŽï¼Œå¯¹äºŽé‚£äº›æŠŠè‡ªå·±å¤ªå½“回事的葱们,我必须å¦ä¼šåœ¨ä»–们é¢å‰è£…æˆä¸€é¢—蒜。
最åŽåŠ 一å¥ï¼šå°±ç®—周围都是洋葱,到头æ¥æˆ‘还是一棵葱。
今天å¶å°”在电视上看到的,HONDA(本田)的工程师带ç€ä»–们的类人形机器人ASIMO到四å·ç¾åŒºç»™å©å们表演。电视上åªæœ‰å¾ˆçŸçš„一些片æ–,但是ä»ç„¶å±•ç¤ºäº†ASIMO的一些很强大的特性,比如奔跑。
éšå³Google了一下这款机器人的资料,å‘现这个机器人还真是ä¸ç®€å•ï¼š
æ ¹æ®wikipedia上é¢çš„介ç»ï¼Œè¿™æ¬¾æœºå™¨äººé«˜130公分,é‡54公斤,Airborne time(这是什么,å应时间?)0.03秒,具有34个自由度(å¯ä»¥ç†è§£æˆ34个关节么……)。å¯ä»¥è¯†åˆ«ç§»åŠ¨çš„物体ã€å§¿åŠ¿ã€æ‰‹åŠ¿ã€çŽ¯å¢ƒã€10å¼ è¿åŠ¨ä¸çš„人脸ã€ä»¥åŠä¸åŒçš„声音。
å‡ æ®µYoutube上é¢çš„视频:
CES 2007上é¢çš„demo
http://www.youtube.com/watch?v=cfaAiujrX_Y
以åŠåœ¨HONDA实验室里é¢çš„demo:
http://www.youtube.com/watch?v=Q3C5sc8b3xM
相当的强大。
这款机器人ä¸ä»…具有类人的外观ã€è‡ªä¸»è¡Œèµ°ã€ä¸Šæ¥¼æ¢¯çš„能力,而且å¯ä»¥ä»¥æ—¶é€Ÿ6公里奔跑,以时速5公里转弯。从demo里é¢çœ‹ï¼Œè¿˜å¯ä»¥æ„Ÿå—到人对其手臂的作用力而跟人一起转弯。ä¸ä»…如æ¤ï¼Œçœ‹demo上é¢æŽ¨ä¸€ä¸ªæŽ¨è½¦çš„部分,å¯åŠ¨æ—¶å¤šåŠ 的一点力é“,以åŠè½¬å¼¯æ—¶ä¸¤åªæ‰‹ä¸åŒçš„力é“都相当的好。
å¦å¤–就是精度。看机器人体æ“表演的一段,明显能够看出其手臂在快速的è¿åŠ¨ä¹‹åŽä»ç„¶å¯ä»¥å¿«é€Ÿçš„åœåœ¨æ£ç¡®çš„ä½ç½®ä¸Šã€‚这个看起æ¥å¾ˆcool,而且我相信也是有相当难度的。
看它推推车的那一段,真想弄个回æ¥å¸®æˆ‘去超市买东西……
ä¸è¿‡æ®è¯´ï¼Œåˆ¶é€ 一个需è¦106,710,325日元,折åˆäººæ°‘å¸6829460.8元。
HONDA的网站上é¢è¿˜æœ‰æ›´å¤šçš„视频。
最åŽç”¨HONDAçš„ASIMO墙纸上é¢çš„一å¥è¯æ¥æ述:The power of Dreams。翻译过æ¥å°±æ˜¯ï¼šæ¢¦æƒ³çš„力é‡ã€‚

Randy Pausch是å¡è€åŸºæ¢…隆大å¦çš„教授,2008å¹´7月25æ—¥å› èƒ°è…ºç™ŒåŽ»ä¸–ï¼Œäº«å¹´47å²ã€‚
虽然åªæ˜¯å¡è€åŸºæ¢…隆大å¦çš„教授,其实他的å¦ç”Ÿå·²ç»é布了全çƒå„åœ°ï¼Œå› ä¸ºä»–è‘—å的最åŽä¸€æ¬¡æ¼”讲,关于儿时的梦想的演讲。
ç¦ç‘ç›’å2F(使用龙芯2F处ç†å™¨ï¼‰å‡ºè´§ï¼ŒåŽ»å¹´å¼€å§‹é¢„定的时候登记了一下,于是上个星期龙梦公å¸çš„人问我现在è¦ä¸è¦ç¡®è®¤é¢„定。我是很想æžä¸€ä¸ªè¿‡æ¥çŽ©çŽ©çš„,但是,买回æ¥è¿˜ä¸è§å¾—有空折腾,而且暂时龙梦盒åæ–货,暂时就放一放了。
å¦ä¸€ä¸ªè¯é¢˜æ˜¯æœ‰äººæŠ˜è…¾å‡ºæ¥çš„Android在Nokia N810上é¢çš„æˆåŠŸå®‰è£…,åªæ˜¯Nokia N810也有些å°è´µã€‚
所以……
å°±æ˜¯è¿™æ ·ã€‚
æ¯•ç«Ÿæ ¡å†…ä¸æ˜¯Facebook,在å¦æ¥Facebookå¼€å‘API之形的时候,å´æ²¡æœ‰æ²¿ç”¨å¹³å°çš„æ ¸å¿ƒéƒ¨ä»¶ä¹‹ä¸€ï¼šå¼€å‘许å¯ã€‚
为什么一个平å°çš„å¼€å‘许å¯å¦‚æ¤é‡è¦å‘¢ï¼Ÿå› 为开å‘许å¯æ˜¯å¹³å°ä¾›åº”者和开å‘者之间的法律å议。一个设计良好的åè®®å¯ä»¥è®©ä»¥è¿™ä¸ªå¹³å°ä¸ºæ ¸å¿ƒçš„众多应用形æˆä¸€ä¸ªè‰¯æ€§çš„ã€ç›¸äº’促进的庞大的社区甚至是产业。典型的例å就是Mozilla Firefox以åŠå›´ç»•ç€Mozilla通用许å¯è¯å½¢æˆçš„庞大的Mozilla社区,包括数以万计的æ’件程åºã€æ‰©å±•ã€çš®è‚¤ç‰ç‰ã€‚还有GNU通用许å¯ï¼Œä»¥åŠå›´ç»•åœ¨GNU Linux周围的庞大的GNU社区。
所有的这些æˆåŠŸçš„许å¯éƒ½æœ‰ä¸€ä¸ªå…±åŒç‰¹ç‚¹ï¼šåœ¨ä¿ç•™éƒ¨åˆ†æƒåˆ©çš„åŒæ—¶ï¼Œä¸å‰¥å¤ºä½œè€…本身对于该作å“的知识产æƒå’Œä»–人利用该作å“赚钱的æƒåˆ©ã€‚Mozillaå°±ä¸ç”¨è¯´äº†ï¼Œå®ƒæ—¢ä¸è¦æ±‚æ’件开æºï¼Œä¹Ÿè¦æ±‚æ’件必须把知识产æƒè®©æ¸¡ç»™Mozillaï¼Œä½ çˆ±æ€Žä¹ˆæžæ€Žä¹ˆæžã€‚ä¸¥æ ¼å¦‚GPL者,虽然ä¸å…许通过å°é—æºä»£ç 赚钱,但是并没有剥夺他人出售GPL软件的æƒåˆ©ï¼Œæ›´æ²¡æœ‰é™åˆ¶ä½¿ç”¨GPL软件æä¾›æœåŠ¡èµšé’±ï¼Œè€Œä¸”GPL唯一ä¿ç•™çš„æƒåˆ©ä¾¿æ˜¯ä½œè€…的知识产æƒã€‚æ£å› 为有利å¯å›¾ï¼Œèµ„本æ‰ä¼šèšé›†è¿‡æ¥ï¼Œä½ 自己æ‰èƒ½å˜æˆä¸€ä¸ªå¹³å°ã€‚
ä½†æ˜¯åœ¨æ ¡å†…çš„å¼€å‘许å¯å½“ä¸ï¼Œæœ‰ä¸‹é¢çš„一些规定:
2.4
å¦‚å› å…¶æä¾›ç»™æ ¡å†…ç½‘çš„å¼€å‘作å“å˜åœ¨æƒåˆ©ç‘•ç–µæˆ–侵犯了第三方的åˆæ³•æƒç›Šï¼ˆåŒ…括但ä¸é™äºŽä¸“利æƒã€å•†æ ‡æƒã€è‘—作æƒåŠè‘—作æƒé‚»æŽ¥æƒã€è‚–åƒæƒã€éšç§æƒã€å誉æƒç‰ï¼‰è€Œ
å¯¼è‡´æ ¡å†…ç½‘æˆ–ä¸Žæ ¡å†…ç½‘åˆä½œçš„其他å•ä½é¢ä¸´ä»»ä½•ç´¢èµ”ã€è¯‰è®¼ï¼›æˆ–è€…ä½¿æ ¡å†…ç½‘æˆ–è€…ä¸Žæ ¡å†…ç½‘åˆä½œçš„其他å•ä½å› æ¤éå—任何å誉ã€å£°èª‰æˆ–者财产上的æŸå¤±ï¼Œå¼€å‘者将积æž
地采å–一切å¯èƒ½é‡‡å–的措施,以ä¿è¯æ ¡å†…网åŠä¸Žæ ¡å†…网åˆä½œçš„其他å•ä½å…å—上述索赔ã€è¯‰è®¼çš„å½±å“。åŒæ—¶å¼€å‘è€…å¯¹æ ¡å†…ç½‘åŠä¸Žæ ¡å†…网åˆä½œçš„其他å•ä½å› æ¤éå—的直接
或间接ç»æµŽæŸå¤±è´Ÿæœ‰å…¨éƒ¨çš„èµ”å¿è´£ä»»ï¼›
å…ã€æ’件应用程åºçš„æƒåˆ©å½’属
1.
å¼€å‘è€…åœ¨æ´»åŠ¨æ ¡å†…ç½‘æ’件应用程åºå¼€å‘许å¯è¯ã€ä¸”将其开å‘的作å“æä¾›ç»™æ ¡å†…ç½‘ï¼Œå³è§†ä¸ºå…¶å·²ç»å°†åŸºäºŽä½œå“的全部æƒåˆ©ï¼ŒåŒ…括但ä¸é™äºŽæ‰€æœ‰æƒåŠçŸ¥è¯†äº§æƒæ°¸ä¹…性ã€ä¸å¯æ’¤é”€çš„ã€ç‹¬å®¶è®©æ¸¡ç»™æ ¡å†…网。
2.
ç»å¼€å‘者创作完æˆå¹¶æäº¤ç»™æ ¡å†…ç½‘çš„åº”ç”¨ç¨‹åºï¼Œæ ¡å†…网在全世界范围内享有å…费的ã€æ°¸ä¹…性的ã€ä¸å¯æ’¤é”€çš„æƒåˆ©å’Œè®¸å¯ï¼Œä»¥ä½¿ç”¨ã€å¤åˆ¶ã€å‡ºç‰ˆã€å‘è¡Œã€ä»¥åŽŸæœ‰æˆ–其他
å½¢å¼è¿›è¡Œæ”¹ç¼–ã€è½¬è½½ã€ç¿»è¯‘ã€ä¼ æ’ã€è¡¨æ¼”和展示æ¤ç‰å†…容(整体或部分)。åŒæ—¶å¼€å‘者承诺,ä¸å°±ä¸Šè¿°ä½œå“以åŠä¸Šè¿°ä½œå“的改编作å“对任何第三方进行任何形å¼çš„许
å¯æˆ–授æƒä½¿ç”¨ã€‚
3. ç»å¼€å‘者创作而产生的文本ã€å›¾ç‰‡ã€å›¾å½¢ã€éŸ³é¢‘å’Œ/
或视频ç‰èµ„料的所有æƒåŠçŸ¥è¯†äº§æƒå½’å±žäºŽæ ¡å†…ç½‘ï¼Œæœªç»æ ¡å†…网åŒæ„,开å‘者ä¿è¯ä¸ä»¥ä»»ä½•å½¢å¼ç›´æŽ¥æˆ–间接å‘布ã€æ’放ã€å‡ºäºŽæ’放或å‘布目的而改编或å†å‘行,或者用于其他任何商业目的。åŒæ—¶ä¿è¯ä¸è®¸å¯ä»»ä½•ç¬¬ä¸‰æ–¹ä»Žäº‹ä¸Šè¿°è¡Œä¸ºã€‚
[….]
å…«ã€å…责声明
1ã€æ ¡å†…网有æƒåœ¨æå‰é€šçŸ¥æˆ–ä¸é€šçŸ¥çš„情况下以任何ç†ç”±éšæ—¶ä¿®æ”¹ã€é™åˆ¶ã€æš‚åœæˆ–åœæ¢å…¨éƒ¨æˆ–部分开å‘者æœåŠ¡ï¼Œè€Œä¸”对于任何æ¤ç±»ä¿®æ”¹ã€é™åˆ¶ã€æš‚åœæˆ–åœæ¢è¡Œä¸ºï¼Œæ ¡å†…网对开å‘者或任何第三方ä¸è´Ÿä»»ä½•è´£ä»»ã€‚
简å•çš„说:åšæ’件的开å‘è€…ï¼Œä½ ä¸æ‹¥æœ‰å¯¹äºŽè¯¥æ’件的知识产æƒï¼Œä½ 的知识产æƒå·²ç»è®©æ¸¡ç»™äº†æ ¡å†…ï¼›ä½†æ˜¯ï¼Œå‡ºäº†é—®é¢˜ä½ è¦è´Ÿè´£ï¼Œéœ€è¦èµ”å¿ä½ 也è¦è´Ÿè´£ã€‚
è¿™æ ·åªä¼šå“èµ°å¼€å‘者,平å°ä¸æ˜¯è¿™ä¹ˆåšçš„。
但是å过æ¥è¯´ï¼Œæ ¡å†…有åšæˆå¹³å°çš„打算么?æ怕没有。FacebookåšAPI目的很大程度上是为了把自己平å°åŒ–,让更多的网站å¯ä»¥é€šè¿‡è‡ªå·±çš„用户基础æ¥æŽ¨å¹¿ï¼Œç„¶åŽå¤§å®¶ä¸€èµ·èµšé’±ï¼Œå¯»æ±‚的是一ç§Win-Winçš„å¯èƒ½æ€§ã€‚æ ¡å†…åˆ™èµ°äº†å‡ ä¹Žå®Œå…¨ç›¸å的一æ¡è·¯ï¼Œçœ‹èµ·æ¥æ ¡å†…想è¦é€šè¿‡è¿™ç§æ–¹å¼æ¥å¼¥è¡¥è‡ªå·±åˆ›æ–°åŒ®ä¹çš„问题,但是方å¼é”™äº†â€”—想è¦ä¸–界上的èªæ˜Žäººä¸ºä½ æœåŠ¡ï¼Œä½ 必须给他们点什么,而ä¸æ˜¯ä»Žä»–们那里抢过æ¥ã€‚
æ ¡å†…ç§‰æ‰¿ç€å®ƒä¸€è´¯çš„é£Žæ ¼ï¼Œç´§éšè€å¤§å“¥Facebookçš„è„šæ¥ï¼Œä»Šå¤©ä¹Ÿå…¬å¸ƒäº†å…¶API:
http://app.xiaonei.com/developers/home.do
简å•çœ‹äº†ä¸€ä¸‹ï¼Œæžœç„¶æ˜¯ä¸€è´¯çš„æ ¡å†…é£Žæ ¼ï¼šåŸºæœ¬ä¸Šå®Œå…¨æ˜¯Facebook API的翻版。
当å‰çš„版本当ä¸ï¼Œè¿˜æ²¡æœ‰Facebookçš„FQL(Facebook Query Language)和FBJS(Facebook Javascript),但是已ç»æœ‰äº†REST-like APIå’ŒFBML(Facebook Markup Language)的翻版XNML(Xiaonei Markup Language)。
尽管是新公开,但是æ®æœ‹å‹é‚£é‡Œå¾—æ¥çš„资料,两个礼拜å‰å°±å·²ç»å¯¹ä¸€äº›åˆä½œä¼™ä¼´å…¬å¼€äº†ï¼Œæ‰€ä»¥è™½ç„¶å®˜æ–¹çš„APIå‘布定在明天,今天已ç»æœ‰äº†å¾ˆå¤šçš„应用在上é¢äº†ã€‚大多数应用都ä»ç„¶ä»¥å°†äººä»¬è”系在一起为目的,还有一些å°æ¸¸æˆçš„排行榜ç‰ç‰ï¼Œè¿˜æœ‰å°±æ˜¯ä¸ºè‡ªå·±çš„网站åšæŽ¨å¹¿çš„stub page。
总之还ä¸é”™ã€‚
既然有人问,我就å†æŠŠä»¥å‰Mozillaå‘给我的信é‡æ–°è´´ä¸€ä¸‹ã€‚其实就是以å‰å†™è¿‡çš„一个å°æ’件,在Firefox 3.0 Beta1出æ¥çš„时候,在第一时间跑了一é回归测试å‘现没问题就把Firefox的支æŒç‰ˆæœ¬æ”¹æˆäº†3.0b1而已,也没åšä»€ä¹ˆå¤ªå¤šçš„工作。
Dear Add-on Developer,
Thank you and congratulations for updating your add-on with Firefox 3!
Since you have already updated your add-on to the latest Firefox 3
beta, it is time to claim your Mozilla Add-ons Developer T-shirt. If
you would like to receive the shirt, please fill out the following form
by March 18th:
 https://addons.mozilla.org/en-US/firefox/developers/tshirtrequest
Additionally, if your add-on is one of the top 50 most used add-ons by
Firefox 3 users on the Firefox 3 release day, Mozilla will offer to
sponsor a party (for an amount Mozilla will determine) for you and your
friends. That is, Mozilla will chip in for you and your friends to
celebrate your tools success! Mozilla will be in contact with the top
add-ons shortly after the Firefox 3 release.
Thank you for keeping your extension up to date as we get close to the Firefox 3 release!
Regards,
-Add-ons Admins
ä¸Šä¸¤å¼ pp。知é“我的size的,å¯ä»¥ä¼°è®¡å‡ºæ¥è¿™ä¸ªè¡£æœæœ‰å¤šå¤§äº†ã€‚
æ£é¢ï¼š

背é¢ï¼š

最åŽå†ä½œä¸ªå¹¿å‘Šï¼Œè™½ç„¶Firefox 3å‘布了,但是让æ¯ä¸ªæ ‡ç¾é¡µå…·æœ‰è‡ªå·±çš„输入法状æ€çš„åŠŸèƒ½è¿˜æ˜¯æ²¡æœ‰åŠ ä¸Šã€‚æ‰€ä»¥ï¼Œå¤§å®¶ç»§ç»ç”¨TabIMSwitchå§ã€‚ 🙂
今天下åˆå…¬å¸çš„ä¿å®‰æ‹¿ç€ä¸€åŒ…东西到我那里问我是ä¸æ˜¯æˆ‘的邮件,上书Tæ¤ï¼Œå‘件地是美国山景城。原æ¥Tæ¤å¯„到了,终于寄到了……
打开看了一下,å‘现犯了一个严é‡çš„错误:我忘了Mozilla是在美国的公å¸ï¼Œæ‰€ä»¥Tæ¤ä¹Ÿæ˜¯æŒ‰ç…§ç¾Žå›½å°ºç æ¥çš„,然åŽæˆ‘å´æŒ‰ç…§ä¸å›½Tæ¤çš„å°ºç æ¥å®šçš„,一件XL,打开å‘现如åŒä¸€ä»¶å·¨å¤§çš„ç¡è¡£ï¼Œè€ç¾Žçš„size真的很大很大……
Anyway,衣æœè¿˜ä¸é”™ã€‚
Made in Nicaragua.
本æ¥å¦‚æžœä¸è¯´â€œæ‚¨çš„å¸æˆ·â€äº‘云,我还ä¸æ‹…心。
