<?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-16069314</id><updated>2011-12-15T10:51:55.874+08:00</updated><category term='transaction'/><category term='gae'/><title type='text'>Sevenever Lucky 7</title><subtitle type='html'>Here is sevenever's blog
Something about programming,Linux,geek...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>37</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-16069314.post-7976729226839968928</id><published>2009-02-10T00:14:00.003+08:00</published><updated>2009-02-10T00:52:12.078+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='transaction'/><category scheme='http://www.blogger.com/atom/ns#' term='gae'/><title type='text'>App Engine中的事务隔离级别</title><content type='html'>DataStore中的事务隔离级别介绍。&lt;br /&gt;关键是这一段话：&lt;br /&gt;A request that looks up an updated entity by its key at a time after Milestone A is guaranteed to see the latest version of that entity. However, if a concurrent request executes a query whose predicate (the 'where clause' for you SQL/GQL fans out there) is not satisfied by the pre-update entity but is satisfied by the post-update entity, the entity will only be part of the result set if the query executes after the commit() operation has reached Milestone B.&lt;br /&gt;1。通过key来检索的查询，是肯定能获得entity的最新版本的。（当然是在MilestoneA之后，MilestoneA之前的修改对其他的查询是不可见的）&lt;br /&gt;2。通过断言（就是where字句，或者构造出来的query对象）来检索的查询，有可能所出来的某些结果不满足查询条件，也有可能有些满足查询条件的结果没有被检索出来。&lt;br /&gt;为什么？&lt;br /&gt;因为2中的查询是通过扫描索引来检索entity的，有可能查询的时候索引还没有更新，此时扫描索引记录是满足断言的，而返回结果集的时候记录已经被更新了，此时记录不满足断言，但是结果集已经被确定，这条记录就被当作满足断言的记录返回了。&lt;br /&gt;&lt;br /&gt;所以DataStore只对上面英文中的两种情况作保证，这就是传说中的Read Committed transaction isolation level?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16069314-7976729226839968928?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://code.google.com/appengine/articles/transaction_isolation.html' title='App Engine中的事务隔离级别'/><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/7976729226839968928/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=7976729226839968928' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/7976729226839968928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/7976729226839968928'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2009/02/app-engine.html' title='App Engine中的事务隔离级别'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-72331139462856603</id><published>2007-11-09T20:52:00.000+08:00</published><updated>2007-11-09T22:24:46.585+08:00</updated><title type='text'>一个Memory Access Violent问题的解决：</title><content type='html'>&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;问题出现：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;最近做一个项目，原来的开发平台是VC6，最近搬到VS2005上并新做一功能，但是在开发期间跑程序的时候经常发生内存越界的错误，提示写访问0x00000010位置的内存。&lt;br /&gt;因为是正在开发的程序，所以很快的定位到了发生错误的代码，是一个对EnterCriticalSection的调用，紧接其后的是一行对两个long型的比较语句，代码如下：&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;EnterCriticalSection( &amp;amp;sndlock );&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;if( sndr != sndw ) {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    sndno = sndr;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;} else    {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    sndno = -1;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;sndlock是一个全局变量，一个临界区的结构，用来进行线程互斥的。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms682608.aspx"&gt;EnterCriticalSection&lt;/a&gt;函数的定义是：&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;void EnterCriticalSection(&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;  LPCRITICAL_SECTION lpCriticalSection&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;);&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/library/ms682530.aspx"&gt;CRITICAL_SECTION&lt;/a&gt;结构的定义是&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;typedef struct _RTL_CRITICAL_SECTION {&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    PRTL_CRITICAL_SECTION_DEBUG DebugInfo;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    //&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    //  The following three fields control entering and exiting the critical&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    //  section for the resource&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    //&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    LONG LockCount;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    LONG RecursionCount;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    HANDLE OwningThread;        // from the thread's ClientId-&gt;UniqueThread&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    HANDLE LockSemaphore;&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    ULONG_PTR SpinCount;        // force size on 64-bit systems when packed&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;} RTL_CRITICAL_SECTION, *PRTL_CRITICAL_SECTION;&lt;/span&gt;&lt;br /&gt;各字段具体含义请查一下&lt;a href="http://msdn2.microsoft.com/"&gt;MSDN&lt;/a&gt;。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;初步分析：&lt;/span&gt;&lt;br /&gt;初步判断问题出在EnterCriticalSection里面。我的第一直觉是有缓冲区溢出，因为以前也遇到过，缓冲区溢出写乱了堆栈，导致栈内保存的EBP,ESP等寄存器被毁坏，函数返回时马上遇到内存越界的错误。可是这一般是发生在自己写的函数里面，而EnterCriticalSection是一个久经革命考验Windows API，不太可能在其内部还有缓冲区溢出。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;第一个解决方案：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;总结现象，发现并不是每次走到这里都会导致越界，并且出错的几率还蛮小，几乎是2，30比1。考虑到是多线程的程序，有位同事就提出可能出错的时候是临界区正好被别的线程占用了，而正好另一段程序也是在此临界区中做了IO操作，如果临界区资源不可用，当前线程调用EnterCriticalSection就会出问题，并给出了一个解决方案：将其他线程在临界区中的IO操作移出临界区。可是问题就来了，按照MSDN的说法，如果临界区资源被其他线程占用，EnterCriticalSection函数调用会一直阻塞到资源被释放，而绝不应该出现内存越界访问的错误啊。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;font-size:180%;" &gt;跟踪：&lt;/span&gt;&lt;br /&gt;多线程的界面程序，跟踪定位的比较困难，因为之前也没这方面经验，哪位大大有经验请不吝赐教！幸好这里还是一个比较特殊的位置，正好是进入临界区的代码。&lt;br /&gt;当然在做事情之前放一把狗还是有用的，可是无论是搜EnterCriticalSection还是Windows内核缓冲区溢出都找不到有价值的答案。心存疑惑的马上跟踪汇编代码，&lt;br /&gt;进入EnterCriticalSection之前，先查看一下sndlock结构，这个东西的地址是0x0053870c，再看它的的值，咦？其它成员都正常，可是DebugInfo指针怎么会是0x00000000？我想一定是存放Debug信息的，就算是NULL也问题不大吧。继续跟踪定位到ntdll.dll! 7c958fea()，的确是干了坏事&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;7C958FE8  mov         eax,dword ptr [esi] &lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;7C958FEA  inc         dword ptr [eax+10h] &lt;/span&gt;&lt;br /&gt;此时 eax 为 0x00000000，要对ptr [eax+10h]加个1当然是出错了。&lt;br /&gt;那么问题就肯定出在esi上了，esi此时为0x0053870c，看到没有？正好是sndlock的地址，7C958FE8  mov         eax,dword ptr [esi] 这一句话就是把DebugInfo的值放到eax，然后。。。惨剧就发生了。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;弯路：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;当然过程不是这样的一帆风顺的，同事猜测是临界区资源被占用导致内存越界之后，为了证明他的观点“错误”，我在进入EnterCriticalSection之前，手动修改了sndlock结构，把LockCount从0xffffffff改为0x00000000,把RecursionCount从0改为1，把OwningThread改为界面主线程的的句柄号，然后再进入EnterCriticalSection函数，还真的是每次都会导致出错。怎么跟MSDN说的不一样嘛，难道真的有bug？&lt;br /&gt;为了证明Windows API没有错误，我另外谢了一个程序，模拟一个线程占用了临界区资源后，另一个线程调用EnterCriticalSection，但是结果一切正常，没有发生越界错误。&lt;br /&gt;真是奇怪了，老子来了招野蛮的，两个程序一起跑，从调用EnterCriticalSection的地方单步跟踪反汇编，最后才找出来esi指向的DebugInfo指针不一样，一个为0x00000000，另一个为可访问的内存。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;罪魁祸首：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;那么是谁把sndlock.DebugInfo搞成了0x00000000呢？我又一次使出了野蛮大法，先查找所有sndlock，然后全部设置断点，跑程序，发现居然调用了两次InitializeCriticalSection，可是调用InitializeCriticalSection再DeleteCriticalSection ，然后重新初始化临界区InitializeCriticalSection也不会出问题啊（我在自己的小程序里面已经试验过了）。那么就把sndlock.DebugInfo放到Watch窗口里面，看它什么时候变的。&lt;br /&gt;其中的过程就不多说，最后反正是定位在一行这样的代码上&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;time( (time_t*)&amp;amp;begtm );&lt;/span&gt;&lt;br /&gt;对，就是它改了sndlock.DebugInfo，可是为什么呢？这个函数跟sndlock有什么关系？&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;真相大白：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;那么我们就来看看它们有什么关系，此begtm是一long型的全局变量，看看begtm的地址0x00538708，就比sndlock结构的地址少4！！！那么很可能time函数溢出了，废话少说，让我们看看time()函数的定义（用VS的Goto Define）：&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;static __inline time_t __CRTDECL time(time_t * _Time)&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;{&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;    return _time64(_Time);&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;}&lt;/span&gt;&lt;br /&gt;那么参数类型time_t *又是什么呢：&lt;br /&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#ifndef _TIME_T_DEFINED&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#ifdef _USE_32BIT_TIME_T&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;typedef __time32_t time_t;      /* time value */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#else&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;typedef __time64_t time_t;      /* time value */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#endif&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#define _TIME_T_DEFINED         /* avoid multiple def's of time_t */&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;#endif&lt;/span&gt;&lt;br /&gt;定位到的是typedef __time64_t time_t这一行，那么__time64_t又是什么类型呢？&lt;br /&gt;同样使用VS的Goto Define：&lt;br /&gt;&lt;span style="color: rgb(0, 153, 0);"&gt;typedef __int64 __time64_t;     /* 64-bit time value */&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;看到了吗？就是它，我们的begtm定义的时候是long型的，也就是占用4byte，而此时的time函数会把它的参数当64位的整形处理，就是说把0x00538708以后的8个字节都修改了，而这个时间的整形表示是不大于2的32次方减一的，所以紧跟在begtm后面的我们的小可怜sndlock.DebugInfo就被无情的强暴成了0x00000000（此处略去关于bigendian littleendian介绍若干）&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;解决方案：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;凶手找到了，那我们就来搞定它把，time()函数说需要time_t*做参数，那我们就给它time_t*吧。修改全局变量begtm的声明为&lt;br /&gt;time_t begtm;&lt;br /&gt;重新编译，连接，测试。没有问题。就算在进入EnterCriticalSection之前，手动修改sndlock结构同样不会造成越界错误，这个线程只是痴痴的等在那里，永远不回来。。。&lt;br /&gt;&lt;br /&gt;另一个解决办法是，编译的时候定义一下_USE_32BIT_TIME_T宏，使用32位的时间值。不过我觉得还是修改程序比较好，程序本来就有错嘛。&lt;br /&gt;&lt;br /&gt;那么为什么在VC6的环境下不出错呢？可能您已经想到了，VC6的环境下的time_t是定义成32位整形的，正好是long的长度，不会出任何问题。&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:180%;"&gt;&lt;span style="font-weight: bold;"&gt;经验和教训：&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;1.程序差错的时候不能放过任何细微的地方，如果在发现DebugInfo为0x00000000的时候不放过，就可能少走后面的弯路，更快的找到问题所在。&lt;br /&gt;2.不能得过且过，遇到问题要深入分析。如果我按照同事的观点，把IO放到临界区外，此处进入临界区的时候，资源被占用的机会变少，的确会减少错误发生的次数，但是却不能完全解决，遇到合适的时机，错误发生的条件仍然会满足。如果就因此放弃调查，可能今后就酿成重要事故。&lt;br /&gt;3.调用函数的时候，最好根据函数定义的参数类型调用，不能看到time_t是long typedef过来的就直接声明为long型。如果以后编译参数改变或者编译器改变就很容易出现莫名其妙的错误。&lt;br /&gt;4.基础知识还是很重要的，特别是做C或者C++的东西。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16069314-72331139462856603?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/72331139462856603/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=72331139462856603' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/72331139462856603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/72331139462856603'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2007/11/memory-access-violent.html' title='一个Memory Access Violent问题的解决：'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-1198504263432188097</id><published>2007-09-28T10:50:00.000+08:00</published><updated>2008-12-10T18:59:22.803+08:00</updated><title type='text'>Google Toolbar buttons</title><content type='html'>Today I created 2 &lt;a href="http://www.google.com/tools/toolbar/buttons/apis/howto_guide.html#host_where"&gt;google toolbar buttons&lt;/a&gt;  you can use it to access my homepage and picasaweb.&lt;br /&gt;To install, click the 2 links below:&lt;br /&gt;&lt;a href="http://toolbar.google.com/buttons/add?url=http://pages.sevenever.com-a.googlepages.com/www.sevenever.com.xml"&gt;Install 7ever button&lt;/a&gt;&lt;br /&gt;&lt;a href="http://toolbar.google.com/buttons/add?url=http://pages.sevenever.com-a.googlepages.com/picasaweb.xml"&gt;Install picasaweb button&lt;/a&gt;&lt;br /&gt;&lt;a href="http://toolbar.google.com/buttons/add?url=http://sevenever.googlepages.com/LinuxManpage.xml"&gt;Install Linux Manpage button&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_fdLwLVaSB9A/RvzJ91XeuYI/AAAAAAAAAq4/-IYLCiqTQxo/s1600-h/buttons.PNG"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_fdLwLVaSB9A/RvzJ91XeuYI/AAAAAAAAAq4/-IYLCiqTQxo/s320/buttons.PNG" alt="" id="BLOGGER_PHOTO_ID_5115185340920805762" 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/16069314-1198504263432188097?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/1198504263432188097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=1198504263432188097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/1198504263432188097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/1198504263432188097'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2007/09/google-toolbar-buttons.html' title='Google Toolbar buttons'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fdLwLVaSB9A/RvzJ91XeuYI/AAAAAAAAAq4/-IYLCiqTQxo/s72-c/buttons.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-6923046300720149065</id><published>2007-08-24T11:55:00.000+08:00</published><updated>2008-12-10T18:59:24.419+08:00</updated><title type='text'>闲得无聊,用手机上上这几个"有名"的网站(5.7ever,新浪,slashdot篇)</title><content type='html'>&lt;ul&gt;&lt;li&gt;7ever&lt;/li&gt;&lt;/ul&gt;&lt;br /&gt;这个网站当然算不上有名，不过是俺自家的，拉出来溜溜不过分吧？就当做个广告了。&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5bwmgBWuI/AAAAAAAAAXc/UrGgSgM-4Dk/s1600-h/1c40603.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5bwmgBWuI/AAAAAAAAAXc/UrGgSgM-4Dk/s320/1c40603.png" alt="" id="BLOGGER_PHOTO_ID_5102116318384052962" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5cI2gBWvI/AAAAAAAAAXk/ohcZzvMA_7Q/s1600-h/1c40606.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5cI2gBWvI/AAAAAAAAAXk/ohcZzvMA_7Q/s320/1c40606.png" alt="" id="BLOGGER_PHOTO_ID_5102116734995880690" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5caWgBWwI/AAAAAAAAAXs/sHeygQt1qKg/s1600-h/1c40608.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5caWgBWwI/AAAAAAAAAXs/sHeygQt1qKg/s320/1c40608.png" alt="" id="BLOGGER_PHOTO_ID_5102117035643591426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5ci2gBWxI/AAAAAAAAAX0/dXkfEuhNplk/s1600-h/1c4060b.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5ci2gBWxI/AAAAAAAAAX0/dXkfEuhNplk/s320/1c4060b.png" alt="" id="BLOGGER_PHOTO_ID_5102117181672479506" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5cqGgBWyI/AAAAAAAAAX8/7Sxow6P_sO0/s1600-h/1c40610.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5cqGgBWyI/AAAAAAAAAX8/7Sxow6P_sO0/s320/1c40610.png" alt="" id="BLOGGER_PHOTO_ID_5102117306226531106" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;就不评论自己的东西了，不过放在上面的Adsence的广告好像没有显示出来。。。&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;新浪&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5dIGgBWzI/AAAAAAAAAYE/fcgMV7zay4I/s1600-h/1c40354.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5dIGgBWzI/AAAAAAAAAYE/fcgMV7zay4I/s320/1c40354.png" alt="" id="BLOGGER_PHOTO_ID_5102117821622606642" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5dQWgBW0I/AAAAAAAAAYM/OUzB5GePwXE/s1600-h/1c40385.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5dQWgBW0I/AAAAAAAAAYM/OUzB5GePwXE/s320/1c40385.png" alt="" id="BLOGGER_PHOTO_ID_5102117963356527426" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;基本和网易一样，失望透顶。&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;slashdot&lt;/li&gt;&lt;/ul&gt;新闻站，希望它在手机上表现好一点，好让我们在旅途中也可以看nerd新闻。&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5eH2gBW1I/AAAAAAAAAYU/53Qz_1aOjs4/s1600-h/1c40483.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5eH2gBW1I/AAAAAAAAAYU/53Qz_1aOjs4/s320/1c40483.png" alt="" id="BLOGGER_PHOTO_ID_5102118916839267154" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5evmgBW2I/AAAAAAAAAYc/QEqChFSBC28/s1600-h/1c40489.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5evmgBW2I/AAAAAAAAAYc/QEqChFSBC28/s320/1c40489.png" alt="" id="BLOGGER_PHOTO_ID_5102119599739067234" border="0" /&gt;&lt;/a&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/16069314-6923046300720149065?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/6923046300720149065/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=6923046300720149065' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/6923046300720149065'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/6923046300720149065'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2007/08/57everslashdot.html' title='闲得无聊,用手机上上这几个&quot;有名&quot;的网站(5.7ever,新浪,slashdot篇)'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5bwmgBWuI/AAAAAAAAAXc/UrGgSgM-4Dk/s72-c/1c40603.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-2401385341890433798</id><published>2007-08-24T11:35:00.000+08:00</published><updated>2008-12-10T18:59:26.468+08:00</updated><title type='text'>闲得无聊,用手机上上这几个"有名"的网站(4.空中网，Live space篇)</title><content type='html'>&lt;ul&gt;&lt;li&gt;空中网&lt;/li&gt;&lt;/ul&gt;广告词是：手机上网就上空中网，我们来看看怎么样：&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5Sk2gBWlI/AAAAAAAAAWU/q8AoDVAq2RY/s1600-h/1c40599.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5Sk2gBWlI/AAAAAAAAAWU/q8AoDVAq2RY/s320/1c40599.png" alt="" id="BLOGGER_PHOTO_ID_5102106220915939922" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5Sx2gBWmI/AAAAAAAAAWc/muqEkljOF1M/s1600-h/1c4059b.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5Sx2gBWmI/AAAAAAAAAWc/muqEkljOF1M/s320/1c4059b.png" alt="" id="BLOGGER_PHOTO_ID_5102106444254239330" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;显示效果还是不错的，专业的还就是不一样。用来看看新闻什么的还不错。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Live space&lt;/li&gt;&lt;/ul&gt;微软同学有没有考虑到我们手机浏览space的感受呢？考虑到space已经支持Firefox，那我们的移动版Opera的表现如何呢？&lt;br /&gt;&lt;br /&gt;这个是我的Live space首页：&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5TXWgBWnI/AAAAAAAAAWk/kFbcw2AGFPc/s1600-h/1c40b36.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5TXWgBWnI/AAAAAAAAAWk/kFbcw2AGFPc/s320/1c40b36.png" alt="" id="BLOGGER_PHOTO_ID_5102107088499333746" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5TjmgBWoI/AAAAAAAAAWs/eHSitxLxqPM/s1600-h/1c40b39.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5TjmgBWoI/AAAAAAAAAWs/eHSitxLxqPM/s320/1c40b39.png" alt="" id="BLOGGER_PHOTO_ID_5102107298952731266" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5UpWgBWpI/AAAAAAAAAW0/s5HMEqaPY-A/s1600-h/1c40b47.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5UpWgBWpI/AAAAAAAAAW0/s5HMEqaPY-A/s320/1c40b47.png" alt="" id="BLOGGER_PHOTO_ID_5102108497248606866" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5UyGgBWqI/AAAAAAAAAW8/aVJhnue9I9A/s1600-h/1c40b49.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5UyGgBWqI/AAAAAAAAAW8/aVJhnue9I9A/s320/1c40b49.png" alt="" id="BLOGGER_PHOTO_ID_5102108647572462242" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;页面显示还算正常除了顶部的两个图标让人看了有些头晕，不过似乎又是一个发送PC相同内容的家伙。看到了吗？200多K了还没有载入完毕，这得给移动贡献多少钞票啊，不愧是M$，中国移动找找移动内容合作伙伴肯定会考虑你们的。。。&lt;br /&gt;&lt;br /&gt;看到picasaweb刚才优异的表现，大家一定关心live space的相册如何吧？结果让我们有点失望：&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5VKGgBWrI/AAAAAAAAAXE/jcUGjagK1Is/s1600-h/1c40b65.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5VKGgBWrI/AAAAAAAAAXE/jcUGjagK1Is/s320/1c40b65.png" alt="" id="BLOGGER_PHOTO_ID_5102109059889322674" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5VXGgBWsI/AAAAAAAAAXM/uBH1SR2jX8E/s1600-h/1c40b66.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5VXGgBWsI/AAAAAAAAAXM/uBH1SR2jX8E/s320/1c40b66.png" alt="" id="BLOGGER_PHOTO_ID_5102109283227622082" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5VvWgBWtI/AAAAAAAAAXU/uODIh0eFNeY/s1600-h/1c40b68.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5VvWgBWtI/AAAAAAAAAXU/uODIh0eFNeY/s320/1c40b68.png" alt="" id="BLOGGER_PHOTO_ID_5102109699839449810" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;发送的内容好像不大了，载入也挺快，可是。。。可是。。。我们要看的照片呢？找Gates同学要吧&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16069314-2401385341890433798?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/2401385341890433798/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=2401385341890433798' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/2401385341890433798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/2401385341890433798'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2007/08/4live-space.html' title='闲得无聊,用手机上上这几个&quot;有名&quot;的网站(4.空中网，Live space篇)'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5Sk2gBWlI/AAAAAAAAAWU/q8AoDVAq2RY/s72-c/1c40599.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-4213616088469165914</id><published>2007-08-24T11:01:00.000+08:00</published><updated>2008-12-10T18:59:27.691+08:00</updated><title type='text'>闲得无聊,用手机上上这几个"有名"的网站(3.Google篇)</title><content type='html'>&lt;ul&gt;&lt;li&gt;Google&lt;/li&gt;&lt;/ul&gt;互联网毋庸置疑的老大，看看他们有什么高明之处：&lt;br /&gt;首页你们已经看见过了吧，很简洁，专为移动终端定制，&lt;br /&gt;通过抓包发现用手机上www.google.com，被重定向到了www.google.com/m，大家可以用PC的浏览器浏览zhege&lt;br /&gt;这个首页大小是0.81 KB (833 字节)，那个logo图片大小是1.98 KB（2026 字节）&lt;br /&gt;总共3K不到。&lt;br /&gt;&lt;br /&gt;那么它的搜索结果页面呢？&lt;br /&gt;Look:&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5MUmgBWcI/AAAAAAAAAVM/a0-nQtJOWK4/s1600-h/1c40a98.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5MUmgBWcI/AAAAAAAAAVM/a0-nQtJOWK4/s320/1c40a98.png" alt="" id="BLOGGER_PHOTO_ID_5102099344673298882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5NEWgBWdI/AAAAAAAAAVU/ur6VUdxMPeY/s1600-h/1c40a9a.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5NEWgBWdI/AAAAAAAAAVU/ur6VUdxMPeY/s320/1c40a9a.png" alt="" id="BLOGGER_PHOTO_ID_5102100165012052434" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5NKWgBWeI/AAAAAAAAAVc/wxet_-7AcJc/s1600-h/1c40a9c.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5NKWgBWeI/AAAAAAAAAVc/wxet_-7AcJc/s320/1c40a9c.png" alt="" id="BLOGGER_PHOTO_ID_5102100268091267554" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5NRWgBWfI/AAAAAAAAAVk/O1qZc7jzLpY/s1600-h/1c40a9e.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5NRWgBWfI/AAAAAAAAAVk/O1qZc7jzLpY/s320/1c40a9e.png" alt="" id="BLOGGER_PHOTO_ID_5102100388350351858" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;结果页面总共2.42 KB (2,479 字节)，考虑到logo图片使用了IF-MODIFY-SINCE 的header,流量应该不超过64字节，所以总共结果页面还是3K不到。&lt;br /&gt;&lt;br /&gt;顺便跑到picasaweb看了看，这部分的显示效果可以用惊艳来形容，绝对适合手机浏览&lt;br /&gt;&lt;br /&gt;这是相册列表：&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5NeWgBWgI/AAAAAAAAAVs/SXYsbOzqWl0/s1600-h/1c400dc.png"&gt;&lt;img style="cursor: pointer;" src="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs5NeWgBWgI/AAAAAAAAAVs/SXYsbOzqWl0/s320/1c400dc.png" alt="" id="BLOGGER_PHOTO_ID_5102100611688651266" border="0" /&gt;&lt;/a&gt;&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/_fdLwLVaSB9A/Rs5PqGgBWiI/AAAAAAAAAV8/O-od5pbhtaM/s1600-h/1c409ee.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5PqGgBWiI/AAAAAAAAAV8/O-od5pbhtaM/s320/1c409ee.png" alt="" id="BLOGGER_PHOTO_ID_5102103012575369762" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5QJmgBWjI/AAAAAAAAAWE/JG3K0wSGvOA/s1600-h/1c409fd.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5QJmgBWjI/AAAAAAAAAWE/JG3K0wSGvOA/s320/1c409fd.png" alt="" id="BLOGGER_PHOTO_ID_5102103553741249074" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5QeGgBWkI/AAAAAAAAAWM/vJ1gDsmrtts/s1600-h/1c40131.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5QeGgBWkI/AAAAAAAAAWM/vJ1gDsmrtts/s320/1c40131.png" alt="" id="BLOGGER_PHOTO_ID_5102103905928567362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;不得不佩服Google的功力啊，人家赚这么多钱可不是白来的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16069314-4213616088469165914?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/4213616088469165914/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=4213616088469165914' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/4213616088469165914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/4213616088469165914'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2007/08/3google.html' title='闲得无聊,用手机上上这几个&quot;有名&quot;的网站(3.Google篇)'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5MUmgBWcI/AAAAAAAAAVM/a0-nQtJOWK4/s72-c/1c40a98.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-7612081137137795589</id><published>2007-08-24T10:35:00.000+08:00</published><updated>2008-12-10T18:59:29.173+08:00</updated><title type='text'>闲得无聊,用手机上上这几个"有名"的网站(2.ebay篇)</title><content type='html'>&lt;ul&gt;&lt;li&gt;ebay&lt;/li&gt;&lt;/ul&gt;ebay的首页&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5HD2gBWUI/AAAAAAAAAUM/fvzvk-84fjI/s1600-h/1c404d7.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5HD2gBWUI/AAAAAAAAAUM/fvzvk-84fjI/s320/1c404d7.png" alt="" id="BLOGGER_PHOTO_ID_5102093559352351042" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5HXmgBWVI/AAAAAAAAAUU/eD_W_tjh3_0/s1600-h/1c404dc.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5HXmgBWVI/AAAAAAAAAUU/eD_W_tjh3_0/s320/1c404dc.png" alt="" id="BLOGGER_PHOTO_ID_5102093898654767442" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5HrmgBWWI/AAAAAAAAAUc/Hsr6u9Epi98/s1600-h/1c404de.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs5HrmgBWWI/AAAAAAAAAUc/Hsr6u9Epi98/s320/1c404de.png" alt="" id="BLOGGER_PHOTO_ID_5102094242252151138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5H5GgBWXI/AAAAAAAAAUk/nC2HQmJJyrM/s1600-h/1c404df.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5H5GgBWXI/AAAAAAAAAUk/nC2HQmJJyrM/s320/1c404df.png" alt="" id="BLOGGER_PHOTO_ID_5102094474180385138" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5IFGgBWYI/AAAAAAAAAUs/AZUsyyecHwE/s1600-h/1c404e1.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5IFGgBWYI/AAAAAAAAAUs/AZUsyyecHwE/s320/1c404e1.png" alt="" id="BLOGGER_PHOTO_ID_5102094680338815362" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5IW2gBWZI/AAAAAAAAAU0/ps93Fe04VMc/s1600-h/1c404e2.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5IW2gBWZI/AAAAAAAAAU0/ps93Fe04VMc/s320/1c404e2.png" alt="" id="BLOGGER_PHOTO_ID_5102094985281493394" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;总体来讲显示还是不错的，栏目也比较清晰，页面灭有混乱的感觉。&lt;br /&gt;&lt;br /&gt;那么进入卖东西的页面呢？随便点了一个book的链接：&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5IuGgBWaI/AAAAAAAAAU8/oyNMYCvm3qQ/s1600-h/1c4052b.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5IuGgBWaI/AAAAAAAAAU8/oyNMYCvm3qQ/s320/1c4052b.png" alt="" id="BLOGGER_PHOTO_ID_5102095384713451938" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5I-GgBWbI/AAAAAAAAAVE/uL-VsdiH9LU/s1600-h/1c4052c.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs5I-GgBWbI/AAAAAAAAAVE/uL-VsdiH9LU/s320/1c4052c.png" alt="" id="BLOGGER_PHOTO_ID_5102095659591358898" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;感觉还是和163什么的差不多，扔给我一个100多K的页面，虽然显示还行，没有混乱，但是头上很多都是其他产品的链接，要下拉50%以后才能看到有效内容。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16069314-7612081137137795589?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/7612081137137795589/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=7612081137137795589' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/7612081137137795589'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/7612081137137795589'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2007/08/2ebay.html' title='闲得无聊,用手机上上这几个&quot;有名&quot;的网站(2.ebay篇)'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs5HD2gBWUI/AAAAAAAAAUM/fvzvk-84fjI/s72-c/1c404d7.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-8621890722696997101</id><published>2007-08-23T23:42:00.000+08:00</published><updated>2008-12-10T18:59:30.979+08:00</updated><title type='text'>闲得无聊,用手机上上这几个"有名"的网站(1.网易,百度篇)</title><content type='html'>&lt;ul&gt;&lt;li&gt;网易&lt;/li&gt;&lt;/ul&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs2rcGgBWKI/AAAAAAAAAS8/pawwgWzMWHw/s1600-h/1c40aab.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs2rcGgBWKI/AAAAAAAAAS8/pawwgWzMWHw/s320/1c40aab.png" alt="" id="BLOGGER_PHOTO_ID_5101922452150245538" border="0" /&gt;&lt;/a&gt;&lt;p&gt;网易上来就是一个登录框,这和后面的新浪是一样的.然后还是对我象普通浏览器一样,直接把他的主页发给了我,看见那个滚动条变得多细了吗?这个首页载入完,俺的GPRS流量可增加不少(带图片好几百K啊),我的钱包啊...&lt;/p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs2teWgBWNI/AAAAAAAAATU/VB2d3jrq2UQ/s1600-h/1c40aac.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs2teWgBWNI/AAAAAAAAATU/VB2d3jrq2UQ/s320/1c40aac.png" alt="" id="BLOGGER_PHOTO_ID_5101924689828206802" border="0" /&gt;&lt;/a&gt;&lt;p&gt;频道列表&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs2tCGgBWMI/AAAAAAAAATM/yNsXrx73G08/s1600-h/1c40ac0.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs2tCGgBWMI/AAAAAAAAATM/yNsXrx73G08/s320/1c40ac0.png" alt="" id="BLOGGER_PHOTO_ID_5101924204496902338" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;这个mm还可以看看.hot&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/_fdLwLVaSB9A/Rs2u62gBWOI/AAAAAAAAATc/VfG1thIkbjE/s1600-h/1c40ae5.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs2u62gBWOI/AAAAAAAAATc/VfG1thIkbjE/s320/1c40ae5.png" alt="" id="BLOGGER_PHOTO_ID_5101926278966106338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs2vOGgBWPI/AAAAAAAAATk/zh-r6GkiEbw/s1600-h/1c40ae7.png"&gt;&lt;img style="cursor: pointer; width: 239px; height: 270px;" src="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs2vOGgBWPI/AAAAAAAAATk/zh-r6GkiEbw/s320/1c40ae7.png" alt="" id="BLOGGER_PHOTO_ID_5101926609678588146" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;看来只是一个卖手机的地方...&lt;br /&gt;&lt;ul&gt;&lt;li&gt;百度&lt;/li&gt;&lt;/ul&gt;那百度的表现如何呢?&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs2wOmgBWQI/AAAAAAAAATs/lfmqr1B09D0/s1600-h/1c40a40.png"&gt;&lt;img style="cursor: pointer; width: 239px; height: 316px;" src="http://3.bp.blogspot.com/_fdLwLVaSB9A/Rs2wOmgBWQI/AAAAAAAAATs/lfmqr1B09D0/s320/1c40a40.png" alt="" id="BLOGGER_PHOTO_ID_5101927717780150530" border="0" /&gt;&lt;/a&gt;&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/_fdLwLVaSB9A/Rs2xwWgBWRI/AAAAAAAAAT0/Il2lTKx8rZ8/s1600-h/1c40a56.png"&gt;&lt;img style="cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs2xwWgBWRI/AAAAAAAAAT0/Il2lTKx8rZ8/s320/1c40a56.png" alt="" id="BLOGGER_PHOTO_ID_5101929397112363282" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs2yDGgBWSI/AAAAAAAAAT8/txIdkAZwYtg/s1600-h/1c40a58.png"&gt;&lt;img style="cursor: pointer;" src="http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs2yDGgBWSI/AAAAAAAAAT8/txIdkAZwYtg/s320/1c40a58.png" alt="" id="BLOGGER_PHOTO_ID_5101929719234910498" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs2yw2gBWTI/AAAAAAAAAUE/rxxTJEIfmSg/s1600-h/1c40a5a.png"&gt;&lt;img style="cursor: pointer;" src="http://4.bp.blogspot.com/_fdLwLVaSB9A/Rs2yw2gBWTI/AAAAAAAAAUE/rxxTJEIfmSg/s320/1c40a5a.png" alt="" id="BLOGGER_PHOTO_ID_5101930505213925682" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;搜索结果页面的表示还是不错的,产生的流量也不大,感觉和PC浏览差别不大,(怀疑百度也是完全发送相通页面,只是百度的内容都是text,所以没有产生如网易般恐怖的流量).只是搜索结果先出来的是一串广告,下面才是真正的搜索结果. 不过鉴于百度搜索结果的前几页都是广告,这也不算什么了...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16069314-8621890722696997101?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/8621890722696997101/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=8621890722696997101' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/8621890722696997101'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/8621890722696997101'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2007/08/1.html' title='闲得无聊,用手机上上这几个&quot;有名&quot;的网站(1.网易,百度篇)'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_fdLwLVaSB9A/Rs2rcGgBWKI/AAAAAAAAAS8/pawwgWzMWHw/s72-c/1c40aab.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-3727544089800912567</id><published>2007-08-23T23:17:00.000+08:00</published><updated>2008-12-10T18:59:31.433+08:00</updated><title type='text'>闲得无聊,用手机上上这几个"有名"的网站</title><content type='html'>测试一下网站对手机浏览的友好度,和手机显示这几个网站的效果.&lt;br /&gt;&lt;br /&gt;*测试目标网站:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;网易 http://www.163.com&lt;br /&gt;&lt;/li&gt;&lt;li&gt;百度 http://www.baidu.com&lt;br /&gt;&lt;/li&gt;&lt;li&gt;ebay http://www.ebay.com&lt;br /&gt;&lt;/li&gt;&lt;li&gt;Google http://www.google.com&lt;br /&gt;&lt;/li&gt;&lt;li&gt;空中网 http://www.kong.net&lt;br /&gt;&lt;/li&gt;&lt;li&gt;live space http://sevenever.space.live.com&lt;br /&gt;&lt;/li&gt;&lt;li&gt;7ever http://www.sevenever.com&lt;br /&gt;&lt;/li&gt;&lt;li&gt;新浪 http://www.sina.com&lt;br /&gt;&lt;/li&gt;&lt;li&gt;slashdot http://slashdot.org&lt;/li&gt;&lt;/ul&gt;测试工具:&lt;br /&gt;浏览器: Opera 8.00&lt;br /&gt;系统:    Motorola E6(E690) Linux kernel 2.4.20&lt;br /&gt;&lt;br /&gt;测试方法:&lt;br /&gt;使用浏览器浏览各网站. 当然我还没有烧钱到乱用GPRS上网的地步, 我是在自己的Debian PC和E6之间建立了Ethernet On USB, 然后通过PC做gateway, 让E6上网的.&lt;br /&gt;看看我们用的工具:&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs2pnWgBWII/AAAAAAAAASs/E80eJ-Q2WGc/s1600-h/100_4709.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs2pnWgBWII/AAAAAAAAASs/E80eJ-Q2WGc/s320/100_4709.JPG" alt="" id="BLOGGER_PHOTO_ID_5101920446400518274" border="0" /&gt;&lt;/a&gt;PC连着手机&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs2qIWgBWJI/AAAAAAAAAS0/8fwBJIiAKlg/s1600-h/100_4710.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs2qIWgBWJI/AAAAAAAAAS0/8fwBJIiAKlg/s320/100_4710.JPG" alt="" id="BLOGGER_PHOTO_ID_5101921013336201362" border="0" /&gt;&lt;/a&gt;用来浏览的手机&lt;br /&gt;&lt;br /&gt;&lt;div style="text-align: left;"&gt;这是一次HTTP访问过程的抓包&lt;br /&gt;GET / HTTP/1.1&lt;br /&gt;User-Agent: MOT-MOTOROKR E6/1.0/R533_G_11.12.02P Mozilla/4.0 (compatible; MSIE 6.0; Linux; MOTOROKR E6; 781) Profile/MIDP-2.0 Configuration/CLDC-1.1 Opera 8.00 [&lt;br /&gt;Host: www.baidu.com&lt;br /&gt;Accept: text/html, application/xml;q=0.9, application/xhtml+xml, multipart/mixed, application/vnd.wap.multipart.mixed, image/png, image/jpeg, image/gif, image/x-xbitmap, */*;q=0.1&lt;br /&gt;Accept-Language: zh-cn,en&lt;br /&gt;Accept-Charset: iso-8859-1, utf-8, utf-16, *;q=0.1&lt;br /&gt;Accept-Encoding: deflate, gzip, x-gzip, identity, *;q=0&lt;br /&gt;Cookie: BAIDUID=******************************&lt;br /&gt;Cookie2: $Version=1&lt;br /&gt;Cache-Control: no-cache&lt;br /&gt;Connection: Keep-Alive, TE&lt;br /&gt;TE: deflate, gzip, chunked, identity, trailers&lt;br /&gt;&lt;br /&gt;HTTP/1.1 200 OK&lt;br /&gt;Date: Thu, 23 Aug 2007 14:34:22 GMT&lt;br /&gt;Server: BWS/1.0&lt;br /&gt;Content-Length: 1742&lt;br /&gt;Content-Type: text/html&lt;br /&gt;Expires: Thu, 23 Aug 2007 14:34:22 GMT&lt;br /&gt;Cache-Control: max-age=0&lt;br /&gt;Content-Encoding: gzip&lt;br /&gt;&lt;br /&gt;从中可以看出&lt;br /&gt;1.HTTP RESPONSE使用了gzip压缩,这可以大大减少流量,帮我们省钱.&lt;br /&gt;2.HTTP REQUEST中的User-Agent信息说明浏览器是移动终端的,如果服务器能根据此信息判别浏览器,则可以提供定制的页面,利于手机浏览器显示.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&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/16069314-3727544089800912567?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/3727544089800912567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=3727544089800912567' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/3727544089800912567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/3727544089800912567'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2007/08/blog-post.html' title='闲得无聊,用手机上上这几个&quot;有名&quot;的网站'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_fdLwLVaSB9A/Rs2pnWgBWII/AAAAAAAAASs/E80eJ-Q2WGc/s72-c/100_4709.JPG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116862636936701594</id><published>2007-01-13T02:25:00.000+08:00</published><updated>2007-01-13T02:26:10.356+08:00</updated><title type='text'>使用System.Web.Mail名称空间连接需要验证的SMTP服务器</title><content type='html'>只需对增加相应标识即可： &lt;div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 98%;"&gt; &lt;div&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; 使用SmtpMail对象发送邮件MailMessage mailObj = new MailMessage();&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;mailObj.Fields.Add(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;http://schemas.microsoft.com/cdo/configuration/smtpauthenticate&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;1&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;); &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;设置需要验证&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;mailObj.Fields.Add(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;http://schemas.microsoft.com/cdo/configuration/sendusername&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, username); &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;用户名&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;mailObj.Fields.Add(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;http://schemas.microsoft.com/cdo/configuration/sendpassword&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;, password); &lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;密码&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;注意：Fields属性只在 .NET Framework 1.1 版本以后有效。&lt;/p&gt; 2007/01/12  .NET Framework 2.0好像都不用这样做了。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16069314-116862636936701594?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116862636936701594/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116862636936701594' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116862636936701594'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116862636936701594'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2007/01/systemwebmailsmtp.html' title='使用System.Web.Mail名称空间连接需要验证的SMTP服务器'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116862629282851961</id><published>2007-01-13T02:24:00.000+08:00</published><updated>2007-01-13T02:24:52.933+08:00</updated><title type='text'>Web服务中使用Soap标头自定义身份验证和授权</title><content type='html'>&lt;a target="_blank" name="custom"&gt;&lt;span&gt;使用 Soap 标头自定义身份验证和授权&lt;/span&gt; &lt;p&gt;Windows 身份验证非常适合 Intranet 方案，这种情况下您是对自己的域中的用户进行身份验证。然而在 Internet 上，您可能需要对 SQL 数据库执行自定义身份验证和授权。在这种情况中，应向服务传递自定义凭据（如用户名和密码），并让服务自己处理身份验证和授权。 &lt;/p&gt;&lt;p&gt;将额外的信息连同请求一起传递给 XML Web 服务的简便方法是通过 SOAP 标头。为此，需要在服务中定义一个从 &lt;b&gt;SOAPHeader&lt;/b&gt; 派生的类，然后将服务的公共字段声明为该类型。这在服务的公共合同中公开，并且当从 WebServiceUtil.exe 创建代理时可由客户端使用，如下例所示：&lt;/p&gt; &lt;div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 98%;"&gt; &lt;div&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; System.Web.Services;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;using&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; System.Web.Services.Protocols;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;//&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt; AuthHeader class extends from SoapHeader&lt;/span&gt;&lt;span style="color: rgb(0, 128, 0);"&gt;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /&gt;&lt;img style="" src="http://blog.aspcool.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; AuthHeader : SoapHeader &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); background-color: rgb(255, 255, 255);"&gt;&lt;img src="http://blog.aspcool.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Username;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; Password;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /&gt;&lt;img style="" src="http://blog.aspcool.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;class&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; HeaderService : WebService &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); background-color: rgb(255, 255, 255);"&gt;&lt;img src="http://blog.aspcool.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; AuthHeader sHeader;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;    &lt;img src="http://blog.aspcool.com/Images/dot.gif" /&gt;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/a&gt; &lt;p&gt;服务中的每个 &lt;b&gt;WebMethod&lt;/b&gt; 都可以使用 &lt;b&gt;SoapHeader&lt;/b&gt; 自定义属性定义一组关联的标头。默认情况下，标头是必需的，但也可以定义可选标头。&lt;b&gt;SoapHeader&lt;/b&gt; 属性指定公共字段的名称或者 &lt;b&gt;Client&lt;/b&gt; 或 &lt;b&gt;Server&lt;/b&gt; 类的属性（本标题中称为 &lt;b&gt;Headers&lt;/b&gt; 属性）。在为输入标头调用方法前，&lt;b&gt;WebService&lt;/b&gt; 设置 &lt;b&gt;Headers&lt;/b&gt; 属性的值；而当方法为输出标头返回时，&lt;b&gt;WebService&lt;/b&gt; 检索该值。有关输出标头或可选标头的更多信息，请参阅 .NET 框架 SDK 文档。 &lt;/p&gt; &lt;div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 98%;"&gt; &lt;div&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;[WebMethod(Description&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;This method requires a custom soap header set by the caller&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)]&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;[SoapHeader(&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;sHeader&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)]&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/ExpandedBlockStart.gif" align="top" /&gt;&lt;img style="" src="http://blog.aspcool.com/Images/OutliningIndicators/ContractedBlock.gif" align="top" /&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;public&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;string&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; SecureMethod() &lt;/span&gt;&lt;span style="border: 1px solid rgb(128, 128, 128); background-color: rgb(255, 255, 255);"&gt;&lt;img src="http://blog.aspcool.com/Images/dot.gif" /&gt;&lt;/span&gt;&lt;span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;{&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;if&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; (sHeader &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;==&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;null&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;)&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;ERROR: Please supply credentials&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;    &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;else&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;        &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;return&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;USER: &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;+&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; sHeader.Username;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/InBlock.gif" align="top" /&gt;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/ExpandedBlockEnd.gif" align="top" /&gt;}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt;然后，客户端在调用要求标头的方法之前，直接在代理类上设置标头，如下面的示例所示： &lt;/p&gt; &lt;p&gt; &lt;/p&gt; &lt;div style="border: 0.5pt solid windowtext; padding: 4px 5.4pt; background: rgb(230, 230, 230) none repeat scroll 0% 50%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial; width: 98%;"&gt; &lt;div&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;HeaderService h &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; HeaderService();&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;AuthHeader myHeader &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 255);"&gt;new&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; AuthHeader();&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;myHeader.Username &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;JohnDoe&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;myHeader.Password &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;password&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;"&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;h.AuthHeader &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; myHeader;&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;String result &lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;=&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; h.SecureMethod();&lt;br /&gt;&lt;img src="http://blog.aspcool.com/Images/OutliningIndicators/None.gif" align="top" /&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt; &lt;p&gt; &lt;/p&gt; &lt;p&gt;参见：&lt;a target="_blank" href="http://chs.gotdotnet.com/quickstart/aspplus/doc/secureservices.aspx"&gt;http://chs.gotdotnet.com/quickstart/aspplus/doc/secureservices.aspx&lt;/a&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16069314-116862629282851961?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://chs.gotdotnet.com/quickstart/aspplus/doc/secureservices.aspx' title='Web服务中使用Soap标头自定义身份验证和授权'/><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116862629282851961/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116862629282851961' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116862629282851961'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116862629282851961'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2007/01/websoap.html' title='Web服务中使用Soap标头自定义身份验证和授权'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116862439755127503</id><published>2007-01-13T01:53:00.000+08:00</published><updated>2007-01-13T02:13:17.006+08:00</updated><title type='text'>什么是Terrarium?</title><content type='html'>&lt;style type="text/css"&gt;&lt;!--   @page { size: 21cm 29.7cm; margin: 2cm }   H1 { margin-bottom: 0.11cm; color: #d88000 }   H1.western { font-family: "SimSun", serif; font-size: 16pt }   H1.cjk { font-family: "AR PL KaitiM GB"; font-size: 16pt }   H1.ctl { font-family: "Arial", sans-serif; font-size: 16pt }   H2 { margin-bottom: 0.11cm }   H2.western { font-family: "SimSun", serif; font-size: 13pt }   H2.cjk { font-family: "AR PL KaitiM GB"; font-size: 13pt }   H2.ctl { font-family: "Arial", sans-serif; font-size: 14pt; font-style: italic }   H3 { margin-bottom: 0.11cm; color: #333333 }   H3.western { font-family: "SimSun", serif; font-size: 12pt }   H3.cjk { font-family: "AR PL KaitiM GB"; font-size: 12pt }   H3.ctl { font-family: "Arial", sans-serif; font-size: 13pt }   P { margin-bottom: 0.21cm }  --&gt;  &lt;/style&gt;  这篇文章翻译自Terrarium官方网站上的一篇介绍 &lt;a href="http://www.windowsforms.net/Terrarium/WhatIsTerrarium/?tabindex=10&amp;tabid=42"&gt;&lt;span class="Normal"&gt;&lt;b&gt;What is Terrarium? &lt;/b&gt;&lt;/span&gt;&lt;/a&gt;&lt;br /&gt;还有些文档可以在&lt;a href="http://www.windowsforms.net/Terrarium/docs/"&gt;这里&lt;/a&gt;找到，相当老的一个东西了，不过2003年的时候试过翻译&lt;b&gt;&lt;a href="http://www.windowsforms.net/Terrarium/docs/OrganismSDK/default.aspx"&gt;Adanced Developer Guide&lt;/a&gt;  ，&lt;/b&gt;后来半途而费了，昨天拾起来就干脆从这一篇开始了。&lt;br /&gt;&lt;br /&gt;玩的人不多吧，感觉还是没有&lt;a href="http://www.google.com/search?q=robocode"&gt;robocode&lt;/a&gt;好玩，robocode什么时候搬到sf.net上去了，呵呵。&lt;br /&gt;以下是译文：&lt;br /&gt;&lt;br /&gt;&lt;h1 class="cjk"&gt;什么是&lt;span style="font-family:SimSun,serif;"&gt;Terrarium?&lt;/span&gt;&lt;/h1&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:SimSun,serif;"&gt;&lt;a href="http://www.windowsforms.net/Applications/application.aspx?PageID=30&amp;tabindex=8"&gt;Terrarium&lt;/a&gt;&lt;/span&gt;是&lt;a href="http://www.microsoft.com/"&gt;微软&lt;/a&gt;&lt;span style="font-family:SimSun,serif;"&gt;®&lt;/span&gt;创建的一个编程游戏，它的目的是用于介绍&lt;span style="font-family:SimSun,serif;"&gt;&lt;a href="http://msdn2.microsoft.com/en-us/netframework/default.aspx"&gt;.NET Framework&lt;/a&gt;&lt;/span&gt;的软件开发。在&lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;游戏里，开发者可以创建各种生物&lt;span style="font-family:SimSun,serif;"&gt;:&lt;/span&gt;草食动物，肉食动物或者植物，然后可以把它们引入一个点对点的网络生态系统进行优胜劣汰竞争。这个游戏不但给大家提供了测试软件开发和战略技能的媒介，还提供了真实的评估生存竞争的各种行为和特征的进化论&lt;span style="font-family:SimSun,serif;"&gt;/&lt;/span&gt;人工智能模型。 &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;同时展示了&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework&lt;/span&gt;的一些特性，比如利用&lt;span style="font-family:SimSun,serif;"&gt;Windows Forms&lt;/span&gt;集成&lt;span style="font-family:SimSun,serif;"&gt;DirectX®&lt;/span&gt;创建强大的用户界面&lt;span style="font-family:SimSun,serif;"&gt;(UI)&lt;/span&gt;， &lt;span style="font-family:SimSun,serif;"&gt;XML Web services&lt;/span&gt;，对点对点网络的支持的，对多种编程语言的支持，通过远程&lt;span style="font-family:SimSun,serif;"&gt;Web server&lt;/span&gt;升级智能客户端和基于窗口的应用，和&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;基于凭证的代码访问安全策略执行框架&lt;/span&gt;&lt;/span&gt;。这篇文章将着重讲&lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;的技术优势，概略的介绍上面讲到的&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework&lt;/span&gt;特性在有游戏中的角色。&lt;/p&gt; &lt;h2 class="cjk"&gt;游戏概述&lt;/h2&gt; &lt;p style="margin-bottom: 0cm;"&gt;在深入技术细节之前，让我们简要的看看如何玩这个游戏。游戏可以运行在两种模式下：&lt;/p&gt; &lt;p style="margin-left: 1.27cm; text-indent: -1.27cm; margin-top: 0.42cm; margin-bottom: 0cm;"&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span lang="en-US"&gt;&lt;b&gt;Terrarium&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;b&gt;模式&lt;/b&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;b&gt; – &lt;/b&gt;&lt;span style=""&gt;在这种模式下，可以有两种选择。&lt;/span&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style=""&gt;1----&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style=""&gt;用户可以单独运行，不连接到其它任何节点。这种情况下，屏幕上表示的就是整个生态系统。这很适合于用来测试我们养的生物。&lt;/span&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style=""&gt;2----&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style=""&gt;用户也可以选择进入几个节点组成的一个小组，生态系统包括了参加的这几台计算机。这很容易，每个参与者通过在&lt;/span&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style=""&gt;Terrarium&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style=""&gt;控制台&lt;/span&gt;&lt;/span&gt;&lt;span style=""&gt;输入一个大家事先商定好的字符串，就能进入同一个频道。当然只有输入同样字符串的用户电脑才能加入想同的生态系统。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-left: 1.27cm; text-indent: -1.27cm; margin-top: 0.42cm; margin-bottom: 0cm;"&gt; &lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;          &lt;b&gt;&lt;span style="font-size:100%;"&gt;生态系统模式&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;b&gt; &lt;/b&gt;– 这是标准模式，世界上所有以此模式运行的客户端都在一个大的生态系统中，每台参加的计算机都只是生态系统中的一小部分。&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-left: 1.27cm; text-indent: -1.27cm; margin-top: 0.42cm; margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;两种模式下，开发者都可以创建自己的生物，可以使用&lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;类库和&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework SDK&lt;/span&gt;或者&lt;span style="font-family:SimSun,serif;"&gt;Visual Studio .NET.&lt;/span&gt;或者都不创建自己的生物，而只是把&lt;span style="font-family:SimSun,serif;"&gt;Terrarium &lt;/span&gt;作为一个程序运行着或者作为屏保，看别人做的生物在自己的电脑上掐架。&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;创建生物的时候，开发者对生物有完全的控制，包括遗传特性&lt;span style="font-family:SimSun,serif;"&gt;(&lt;/span&gt;视野，速度，防御力，攻击力等&lt;span style="font-family:SimSun,serif;"&gt;)&lt;/span&gt;，行为&lt;span style="font-family:SimSun,serif;"&gt;(&lt;/span&gt;定位猎物，移动，攻击的算法等&lt;span style="font-family:SimSun,serif;"&gt;)&lt;/span&gt;，繁殖&lt;span style="font-family:SimSun,serif;"&gt;(&lt;/span&gt;生育后代的频率，遗传给后代的信息等&lt;span style="font-family:SimSun,serif;"&gt;)&lt;/span&gt;。完成开发后，代码被编译为一个程序集&lt;span style="font-family:SimSun,serif;"&gt;(&lt;/span&gt;动态链接库，&lt;span style="font-family:SimSun,serif;"&gt;DLL),&lt;/span&gt;程序集可以被加载进入本地的生态系统分片，可以通过 &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;控制台看到。在生态系统模式，当一种生物被初始化引入时，它的&lt;span style="font-family:SimSun,serif;"&gt;10&lt;/span&gt;个个体就被分散在本地生态系统分片中，在整个生态系统网络中，任何人就不能再引入这种生物了，除非这种生物都死掉了。而在&lt;span style="font-family:SimSun,serif;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;&lt;span lang="en-US"&gt;&lt;span style=""&gt;Terrarium&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style=""&gt;模式，对同一种生物，可以引入无限多个个体。&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;生物一被加载入 &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;游戏，它就按照代码的指令行动。在被消灭之前，每个生物只被分配&lt;span style="font-family:SimSun,serif;"&gt;2&lt;/span&gt;到&lt;span style="font-family:SimSun,serif;"&gt;5&lt;/span&gt;毫秒的行动时间&lt;span style="font-family:SimSun,serif;"&gt;(&lt;/span&gt;根据计算机速度而有不同&lt;span style="font-family:SimSun,serif;"&gt;)&lt;/span&gt;。这样可以防止某个生物因为某种原因占用处理器，挂起系统，比如代码出现死循环。&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;在网络上的每个节点都有一个蓝色的心灵传送器随机的滚动，如果用户在登录过的节点运行&lt;span style="font-family:SimSun,serif;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;(&lt;/span&gt;&lt;/span&gt;生态系统模式或&lt;span style="font-family:SimSun,serif;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;Terrarium&lt;/span&gt;&lt;/span&gt;模式的私有频道&lt;span style="font-family:SimSun,serif;"&gt;&lt;span style="font-family:Verdana,sans-serif;"&gt;)&lt;/span&gt;&lt;/span&gt;，只要心灵传送器滚过某个生物体，这个生物就被传送到一个随机选择的节点。&lt;/p&gt; &lt;h2 class="cjk"&gt;界面&lt;/h2&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://photos1.blogger.com/x/blogger/6288/1511/1600/282801/UI.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer;" src="http://photos1.blogger.com/x/blogger/6288/1511/320/434243/UI.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;上面的截图是 &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;控制台，这里可以看到生态系统的一小片，还有一些控件，用于客户端引入生物，提供报表信息等。上面的界面和按钮都是使用&lt;span style="font-family:SimSun,serif;"&gt;Windows Forms&lt;/span&gt;生成的&lt;span style="font-family:SimSun,serif;"&gt;(.NET Framework&lt;/span&gt;中基于&lt;span style="font-family:SimSun,serif;"&gt;Windows&lt;/span&gt;的&lt;span style="font-family:SimSun,serif;"&gt;UI&lt;/span&gt;类&lt;span style="font-family:SimSun,serif;"&gt;)&lt;/span&gt;，这些易于开发的，可扩展的库高效的组合了&lt;span style="font-family:SimSun,serif;"&gt;Visual Basic&lt;/span&gt;的可用性和&lt;span style="font-family:SimSun,serif;"&gt;C++&lt;/span&gt;的强大。&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;生态系统的图形，包括以&lt;span style="font-family:SimSun,serif;"&gt;20&lt;/span&gt;帧每秒显示的生物和陆地，都是用&lt;span style="font-family:SimSun,serif;"&gt;DirectX&lt;/span&gt;开发的，这是一套提供给开发者对图形硬件直接控制的图形库，具有强大的优化的图形性能。有趣的是，在开发&lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;的时候，&lt;span style="font-family:SimSun,serif;"&gt;DirectX SDK&lt;/span&gt;还没有托管的实现，换言之还没有基于&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework&lt;/span&gt;的代码。其结果就是 &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;利用了&lt;span style="font-family:SimSun,serif;"&gt;COM Interop, &lt;/span&gt;一种把原有的非托管代码并入基于&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework&lt;/span&gt;程序的服务。调用非托管代码是很有用的一个功能，这让开发者开发新的应用时利用已存在的和继承下来的组件。&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;h2 class="cjk"&gt;&lt;span style="font-family:SimSun,serif;"&gt;XML Web Services&lt;/span&gt;&lt;/h2&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:SimSun,serif;"&gt;XML Web service&lt;/span&gt;是一种在&lt;span style="font-family:SimSun,serif;"&gt;Internet&lt;/span&gt;或者&lt;span style="font-family:SimSun,serif;"&gt;intranet&lt;/span&gt;上使用&lt;span style="font-family:SimSun,serif;"&gt;Internet&lt;/span&gt;协议和标准以编程方式暴露其功能的应用，这些协议和标准包括&lt;span style="font-family:SimSun,serif;"&gt;SOAP,WSDL&lt;/span&gt;和&lt;span style="font-family:SimSun,serif;"&gt;XML&lt;/span&gt;。基本上， &lt;span style="font-family:SimSun,serif;"&gt;XML Web services&lt;/span&gt;提供松耦合，基于消息的，平台中立的分布式计算模型，它允许运行在任何平台的客户机调用远程调用运行在任何平台上的服务器的功能，甚至可以穿越防火墙。&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;到处都在使用&lt;span style="font-family:SimSun,serif;"&gt;XML Web services&lt;/span&gt;。游戏运行在一个点对点的网络，每个参与的机器都是平等的，同时作为客户端也是服务器，但是有一台主服务器用来查找节点，执行报告。节点计算机和主计算机之间就是使用&lt;span style="font-family:SimSun,serif;"&gt;XML Web services&lt;/span&gt;进行交互的。&lt;/p&gt; &lt;h3 class="cjk"&gt;验证&lt;span style="font-family:SimSun,serif;"&gt;IP&lt;/span&gt;地址&lt;/h3&gt; &lt;p style="margin-bottom: 0cm;"&gt;当一个节点第一次加载 &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;的实例时，它调用主服务器上的 &lt;span style="font-family:SimSun,serif;"&gt;XML Web service&lt;/span&gt;来看到自己向主服务器暴露的&lt;span style="font-family:SimSun,serif;"&gt;IP&lt;/span&gt;地址。通过比较向外暴露的&lt;span style="font-family:SimSun,serif;"&gt;IP&lt;/span&gt;地址和自己的本地&lt;span style="font-family:SimSun,serif;"&gt;IP&lt;/span&gt;地址，游戏可以知道自己的&lt;span style="font-family:SimSun,serif;"&gt;IP&lt;/span&gt;地址是不是被改变了，如果是被改变了的话，别的节点就不能和它通信了。比如说客户端通过代理或者网络地址转换&lt;span style="font-family:SimSun,serif;"&gt;(NAT)&lt;/span&gt;连接到主服务器，这样的话节点就不能加入生物系统，因为别的节点不能直接与之通信。&lt;/p&gt; &lt;h3 class="cjk"&gt;登录和节点发现&lt;/h3&gt; &lt;p style="margin-bottom: 0cm;"&gt;假定某个节点计算机有静态的公网地址，它就会调用主服务器上的另一个 &lt;span style="font-family:SimSun,serif;"&gt;XML Web service&lt;/span&gt;来注册到主服务器上的已登录列表。然后，主服务器返回一个包含&lt;span style="font-family:SimSun,serif;"&gt;20-30&lt;/span&gt;个地理相邻的&lt;span style="font-family:SimSun,serif;"&gt;IP&lt;/span&gt;地址列表&lt;span style="font-family:SimSun,serif;"&gt;----&lt;/span&gt;节点通讯录，这个列表以后用来交换生物&lt;span style="font-family:SimSun,serif;"&gt;(&lt;/span&gt;通过心灵传送&lt;span style="font-family:SimSun,serif;"&gt;)&lt;/span&gt;。这种&lt;span style="font-family:SimSun,serif;"&gt;20-30&lt;/span&gt;个&lt;span style="font-family:SimSun,serif;"&gt;IP&lt;/span&gt;地址的节点通讯录以某种方式交叠，然后所有的节点就能连成一个大网络&lt;span style="font-family:SimSun,serif;"&gt;----&lt;/span&gt;没有任何与网络上其它部分孤立的岛。一个节点会拒绝任何不是来自于这个节点通讯录的连接请求。节点计算机每&lt;span style="font-family:SimSun,serif;"&gt;5&lt;/span&gt;分钟刷新一次注册状态，如果超过&lt;span style="font-family:SimSun,serif;"&gt;15&lt;/span&gt;分钟没有成功刷新，节点就被当做断开了网络并且从已登录列表中删除，并且在所有的节点通讯录中删除。&lt;/p&gt; &lt;h3 class="cjk"&gt;加载生物程序集&lt;/h3&gt; &lt;p style="margin-bottom: 0cm;"&gt;一旦开发者写好了生物程序集，就可以用“引入动物”按钮把生物加载进入生态系统。在后台，程序集的代码被快速的扫描保证所有关键的方法都在，没有可能用于作弊的功能。如果程序集通过检查，的、节点计算机调用主服务器上的一个 &lt;span style="font-family:SimSun,serif;"&gt;XML Web service&lt;/span&gt;登录这个生物，实际上也发送一个拷贝到服务器上。在这所有之后，&lt;span style="font-family:SimSun,serif;"&gt;10&lt;/span&gt;个生物的个体才被加载进入本地的 &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;生态系统分片。当生物被部署进入&lt;span style="font-family:SimSun,serif;"&gt;Terrarium &lt;/span&gt;生态系统，它们就在&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework&lt;/span&gt;的&lt;span style="font-size:100%;"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;基于凭证的代码访问安全策略执行框架&lt;/span&gt;&lt;/span&gt;中运行。&lt;/p&gt; &lt;h3 class="cjk"&gt;报告&lt;/h3&gt; &lt;p style="margin-bottom: 0cm;"&gt;大概每六分钟每个节点会收集在自己生态系统分片上存活的生物类型，数量信息，打包成数据集，然后发送到中心服务器上，从各个参与者节点发送过来的数据集在中心服务器被合计，然后发布在一个公共站点上做统计报告。&lt;/p&gt; &lt;h2 class="cjk"&gt;点对点网络&lt;/h2&gt; &lt;p style="margin-bottom: 0cm;"&gt;点对点网络功能是使用&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework&lt;/span&gt;中&lt;span style="font-family:SimSun,serif;"&gt;System.Net&lt;/span&gt;和&lt;span style="font-family:SimSun,serif;"&gt;System.IO&lt;/span&gt;命名空间下的类实现的。当心灵传送器球滚过生物体，节点计算机就从主服务器给它的“节点通讯录”中随机的选取一个节点，然后询问这个节点是否已经有这个生物体的程序集，如果没有的话就把程序集通过网络流传输过去，这点在&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework&lt;/span&gt;可以使用&lt;span style="font-family:SimSun,serif;"&gt;System.Net&lt;/span&gt;命名空间很容易实现。一旦生物体的程序集在接收者的本地磁盘上，生物的状态对象&lt;span style="font-family:SimSun,serif;"&gt;(&lt;/span&gt;包含生物的当前大小，能量等级等信息&lt;span style="font-family:SimSun,serif;"&gt;)&lt;/span&gt;就被用 &lt;span style="font-family:SimSun,serif;"&gt;System.Runtime.Serialization&lt;/span&gt;的类序列化，然后通过另一个网络流传送到接收的节点。状态对象反序列化并且和生物程序集关联以后就激活了这个生物体，结果的生物体就是发送前节点上那个生物体的精确拷贝。然后这个生物体就被插入到接收节点的生态系统分片中，最终被激活。&lt;/p&gt; &lt;h2 class="cjk"&gt;对多种编程语言的支持&lt;/h2&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework&lt;/span&gt;支持超过&lt;span style="font-family:SimSun,serif;"&gt;20&lt;/span&gt;中编程语言，包括 &lt;span style="font-family:SimSun,serif;"&gt;C++, C#, COBOL, Fortran&lt;/span&gt;和&lt;span style="font-family:SimSun,serif;"&gt;Java&lt;/span&gt;。开发者可以选择最适合他们需求和技术的语言，而无论用什么语言编写的代码都可以和其它&lt;span style="font-family:SimSun,serif;"&gt;20&lt;/span&gt;几种语言编写的类透明的通讯，甚至继承别的语言编写的类。目前 &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;生物可以用&lt;span style="font-family:SimSun,serif;"&gt;C#&lt;/span&gt;或者&lt;span style="font-family:SimSun,serif;"&gt;Visual Basic .NET&lt;/span&gt;编写。这是为了防止作弊，就想我们以前提到的，当生物被加载时， &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;会扫描它的代码，保证代码没有隐藏对其它生物不公平的功能。比如说静态方法，线程调用或者析构函数都可以用来作弊，然而有些语言的编译器会自动生成静态的构造函数。 &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;代码扫描会检查出这样的代码不允许它们运行。将来 &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;会支持更多编程语言。&lt;/p&gt; &lt;h2 class="cjk"&gt;从远程&lt;span style="font-family:SimSun,serif;"&gt;Web&lt;/span&gt;服务器更新&lt;/h2&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="color: rgb(128, 0, 0);"&gt;&lt;span style="font-family:SimSun,serif;"&gt;[&lt;/span&gt;从&lt;span style="font-family:SimSun,serif;"&gt;Terrarium 1.2&lt;/span&gt;版本起这个功能被去掉了&lt;span style="font-family:SimSun,serif;"&gt;]&lt;/span&gt;&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;br /&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;通过防止&lt;span style="font-family:SimSun,serif;"&gt;DLL&lt;/span&gt;冲突和允许系统管理员通过远程&lt;span style="font-family:SimSun,serif;"&gt;Web&lt;/span&gt;服务器发布和升级应用，&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework&lt;/span&gt;极大的改进了智能客户端和基于&lt;span style="font-family:SimSun,serif;"&gt;Windows&lt;/span&gt;的应用程序的发布过程。 &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;实际是使用另一个程序&lt;span style="font-family:SimSun,serif;"&gt;.NET&lt;/span&gt;程序升级器&lt;span style="font-family:SimSun,serif;"&gt;----&lt;/span&gt;来透明的处理这些工作的。这个组件&lt;span style="font-family:SimSun,serif;"&gt;(&lt;/span&gt;将在&lt;span style="font-family:SimSun,serif;"&gt;2&lt;/span&gt;月跟随&lt;span style="font-family:SimSun,serif;"&gt;MSDN&lt;/span&gt;文档一起发布&lt;span style="font-family:SimSun,serif;"&gt;)&lt;/span&gt;调用主服务器上的 &lt;span style="font-family:SimSun,serif;"&gt;XML Web service&lt;/span&gt;看是否有更新可用。&lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;客户端启动&lt;span style="font-family:SimSun,serif;"&gt;30&lt;/span&gt;秒后就开始调用这个&lt;span style="font-family:SimSun,serif;"&gt;XML Web service&lt;/span&gt;，然后每&lt;span style="font-family:SimSun,serif;"&gt;15&lt;/span&gt;分钟再检查一次。这个&lt;span style="font-family:SimSun,serif;"&gt;XML Web service&lt;/span&gt;简单的比较当前节点运行的&lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;版本和最新可用的版本，如果有新的版本，它返回新版本的下载&lt;span style="font-family:SimSun,serif;"&gt;URL.&lt;/span&gt;&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&gt;使用 &lt;span style="font-family:SimSun,serif;"&gt;System.Net&lt;/span&gt;的类，节点的计算机可以在运行老版本的时候下载新文件到新的目录。数字签名可以保证新版本的文件是可靠的没有被篡改过。下载完成后，&lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;的配置文件中，关于包含游戏&lt;span style="font-family:SimSun,serif;"&gt;UI&lt;/span&gt;和功能的段被修改指向到新的目录。下一次 &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;运行的时候，就会启动新的版本。保存上一个版本的目录还会保留，新版本如果运行出错可以返回上一个版本。再老的版本就删掉释放磁盘空间了。&lt;/p&gt; &lt;h2 class="cjk"&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;&lt;span style="font-size:100%;"&gt;基于凭证和代码访问安全性&lt;/span&gt;&lt;/span&gt;&lt;/h2&gt; &lt;p style="margin-bottom: 0cm;"&gt;一般来讲，&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework&lt;/span&gt;中基于凭证的安全性使代码在不同的级别被信任，这依据代码的来源和其它一些性质，比如说作者的身份。这些性质代表的凭证被用来给这块代码赋予一个代码组或者代码分类，某个代码组或者代码分类有自己的一套许可控制决定代码能访问哪些资源。运行的时候，利用代码访问安全性技术，&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework&lt;/span&gt;公共运行时&lt;span style="font-family:SimSun,serif;"&gt;(CLR)&lt;/span&gt;做底层安全检查，保证代码只执行被授权的操作。&lt;span style="font-family:SimSun,serif;"&gt;CLR&lt;/span&gt;不仅检查视图执行操作的代码的许可，还检查堆栈中可能调用这块程序集的代码的许可。只有在这样全面的堆栈检查之后被允许的操作才能够执行。代码组和它们对应的许可可以被设置为企业级，机器级，用户级和应用程序域级不同的级别。运行时，许可是交错的，所以实际上，机器级的设置只会比企业级的设置约束更严格。在 &lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;中，主要的安全设置发生在应用程序域级别。在&lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;应用程序域中，生物的代码被给予只可执行的安全许可。&lt;/p&gt; &lt;h2 class="cjk"&gt;总结&lt;/h2&gt; &lt;p style="margin-bottom: 0cm;"&gt;&lt;span style="font-family:SimSun,serif;"&gt;Terrarium&lt;/span&gt;提供了一个了解&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework&lt;/span&gt;编程的非常棒的途径，一个展示&lt;span style="font-family:SimSun,serif;"&gt;.NET Framework&lt;/span&gt;内置技术进步的橱窗，学习进化论生物学和人工智能的强大模型工具。当然最首要和最重要的是，它是一个游戏。只要你想，开发一个生物可以非常容易，也可以非常有挑战性，可以用来玩玩，也可以用于竞技。祝你玩得尽兴，好运。&lt;/p&gt; &lt;p style="margin-bottom: 0cm;"&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/16069314-116862439755127503?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116862439755127503/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116862439755127503' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116862439755127503'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116862439755127503'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2007/01/terrarium.html' title='什么是Terrarium?'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116848965870563213</id><published>2007-01-11T12:19:00.000+08:00</published><updated>2007-01-13T02:23:20.966+08:00</updated><title type='text'>从html到txt的转换</title><content type='html'>&lt;span style=""&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;看到有人写了从html到txt的转换，用python做的，其实&lt;a href="http://w3m.sourceforge.net/"&gt;w3m&lt;/a&gt;（一个字符界面浏览器）一样能做到&lt;br /&gt;&lt;br /&gt;w3m&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt; -&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0);"&gt;dump&lt;/span&gt; -cols 80 foo.html &gt; bar.txt&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;其实我就是这样写了个脚本自动下载"&lt;a href="http://book.mop.com/moplz/user/story_6465,2.html"&gt;街头骗子&lt;/a&gt;"然后转换成txt放到psp上面看的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16069314-116848965870563213?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://tb.blog.csdn.net/TrackBack.aspx?PostId=1474180' title='从html到txt的转换'/><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116848965870563213/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116848965870563213' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116848965870563213'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116848965870563213'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2007/01/htmltxt.html' title='从html到txt的转换'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116707176923584121</id><published>2006-12-26T02:35:00.000+08:00</published><updated>2007-01-13T02:21:12.210+08:00</updated><title type='text'>WinForm判断窗口是如何关闭的</title><content type='html'>Private Sub Form1_Closing()Sub Form1_Closing(ByVal sender As Object,ByVal e As System.ComponentModel.CancelEventArgs) _&lt;br /&gt;Handles MyBase.Closing&lt;br /&gt;      Dim O As System.Diagnostics.StackTrace = _&lt;br /&gt;         New System.Diagnostics.StackTrace(True)&lt;br /&gt;      Dim F As System.Diagnostics.StackFrame&lt;br /&gt;&lt;br /&gt;      F = O.GetFrame(7)&lt;br /&gt;&lt;br /&gt;      Select Case F.GetMethod.Name.ToString&lt;br /&gt;          Case "SendMessage"&lt;br /&gt;              MsgBox("你用me.close()来关的吧.")&lt;br /&gt;          Case "CallWindowProc"&lt;br /&gt;              MsgBox("你点X按钮了吧")&lt;br /&gt;              '在这里加你的代码&lt;br /&gt;          Case "DispatchMessageW"&lt;br /&gt;              MsgBox("你用任务管理器来关的吧")&lt;br /&gt;          Case Else&lt;br /&gt;              MsgBox("不晓得你是怎么关的")&lt;br /&gt;      End Select&lt;br /&gt;  End Sub&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16069314-116707176923584121?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116707176923584121/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116707176923584121' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116707176923584121'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116707176923584121'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/12/winform.html' title='WinForm判断窗口是如何关闭的'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706968992669586</id><published>2006-12-26T01:58:00.000+08:00</published><updated>2007-01-21T02:16:49.993+08:00</updated><title type='text'>验证身份证校验码</title><content type='html'>很早以前(2003)年的时候做的一个小东西了，验证身份证校验码的程序。&lt;br /&gt;具体的身份证校验码算法就不在这里贴了，放狗搜一下就出来了。&lt;br /&gt;&lt;a href="http://www.sevenever.com/software/IDCard.exe.tar.gz"&gt;下载地址&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16069314-116706968992669586?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706968992669586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706968992669586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706968992669586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706968992669586'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/12/blog-post_26.html' title='验证身份证校验码'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706602547093761</id><published>2006-12-23T01:40:00.000+08:00</published><updated>2007-01-10T19:31:17.730+08:00</updated><title type='text'>一个可以锁定表头和表尾的style</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;a href="http://www.sevenever.com/LockHeadAndTail.html"&gt;这里&lt;/a&gt;可见效果&lt;br /&gt;表头的行应用locked&lt;br /&gt;&lt;br /&gt;tr.locked&lt;br /&gt;&lt;br /&gt;{ &lt;br /&gt;&lt;br /&gt; position:relative;&lt;br /&gt;&lt;br /&gt; top:&lt;br /&gt;expression(document.getElementById("divgrid").scrollTop); /*IE5+&lt;br /&gt;only*/&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;表尾的行应用lockedfoot&lt;br /&gt;&lt;br /&gt;tr.lockedfoot&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;  position:relative;&lt;br /&gt;top:expression(&lt;br /&gt;  document.getElementById("divgrid").scrollHeight&amp;lt;=document.getElementById("divgrid").clientHeight)?&lt;br /&gt;0&lt;br /&gt;:&lt;br /&gt;document.getElementById("divgrid").scrollTop-&lt;br /&gt;(document.getElementById("divgrid").scrollHeight-document.getElementById("divgrid").clientHeight));&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; /*IE5+ only*/&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;这个用法只有IE5+支持，在Firefox&lt;br /&gt;2.0里面没有用，表头和表尾还在老地方。&lt;br /&gt;&lt;br /&gt;例子如下：&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/head&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;body&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;div id="divgrid" style="width: 420px;height:&lt;br /&gt;200px;overflow: auto;scrollbar-base-color:#ffeaff;"&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;table class="Grid" cellspacing="0" rules="all"&lt;br /&gt;UseAccessibleHeader="True" border="1" id="DataGrid1"&lt;br /&gt;style="border-collapse:collapse;word-wrap: normal;;"&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;tr style="background-color: navy;color:&lt;br /&gt;white;border: 2px solid silver;position:relative;top:&lt;br /&gt;expression(document.getElementById('divgrid').scrollTop-2);"&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&amp;gt;Name&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Address&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;City&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;State&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Zip&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Random&lt;br /&gt;Babble&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;Head&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;Head&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;Head&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;Head&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;Head&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;Head&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;1&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;ma la ge&lt;br /&gt;bi&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;圣诞节&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;shanghai&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;43230&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;adfkasdfasdfsdfa sadfa dfa aksdjfkasajskdfjaf&lt;br /&gt;kasdjfakfjdfkjaklsdf adksfjkalsfd&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;2&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;ma la ge&lt;br /&gt;bi&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;圣诞节&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;shanghai&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;43230&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;adfkasdfasdfsdfa sadfa dfa aksdjfkasajskdfjaf&lt;br /&gt;kasdjfakfjdfkjaklsdf adksfjkalsfd&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;3&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;ma la ge&lt;br /&gt;bi&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;圣诞节&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;shanghai&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;43230&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;adfkasdfasdfsdfa sadfa dfa aksdjfkasajskdfjaf&lt;br /&gt;kasdjfakfjdfkjaklsdf adksfjkalsfd&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;4&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;ma la ge&lt;br /&gt;bi&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;圣诞节&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;shanghai&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;43230&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;adfkasdfasdfsdfa sadfa dfa aksdjfkasajskdfjaf&lt;br /&gt;kasdjfakfjdfkjaklsdf adksfjkalsfd&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;5&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;ma la ge&lt;br /&gt;bi&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;圣诞节&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;shanghai&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;43230&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;adfkasdfasdfsdfa sadfa dfa aksdjfkasajskdfjaf&lt;br /&gt;kasdjfakfjdfkjaklsdf adksfjkalsfd&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;6&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;ma la ge&lt;br /&gt;bi&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;圣诞节&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;shanghai&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;43230&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;adfkasdfasdfsdfa sadfa dfa aksdjfkasajskdfjaf&lt;br /&gt;kasdjfakfjdfkjaklsdf adksfjkalsfd&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;7&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;ma la ge&lt;br /&gt;bi&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;圣诞节&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;shanghai&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;43230&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;adfkasdfasdfsdfa sadfa dfa aksdjfkasajskdfjaf&lt;br /&gt;kasdjfakfjdfkjaklsdf adksfjkalsfd&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;8&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;ma la ge&lt;br /&gt;bi&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;圣诞节&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;shanghai&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;43230&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;adfkasdfasdfsdfa sadfa dfa aksdjfkasajskdfjaf&lt;br /&gt;kasdjfakfjdfkjaklsdf adksfjkalsfd&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;9&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;ma la ge&lt;br /&gt;bi&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;圣诞节&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;shanghai&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;43230&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;adfkasdfasdfsdfa sadfa dfa aksdjfkasajskdfjaf&lt;br /&gt;kasdjfakfjdfkjaklsdf adksfjkalsfd&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;10&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;ma la ge&lt;br /&gt;bi&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;圣诞节&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;shanghai&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;43230&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;adfkasdfasdfsdfa sadfa dfa aksdjfkasajskdfjaf&lt;br /&gt;kasdjfakfjdfkjaklsdf adksfjkalsfd&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&amp;lt;tr&amp;gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;11&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;ma la ge&lt;br /&gt;bi&amp;lt;/td&amp;gt;&amp;lt;td nowrap="nowrap"&amp;gt;圣诞节&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;shanghai&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;43230&amp;lt;/td&amp;gt;&amp;lt;td&lt;br /&gt;nowrap="nowrap"&amp;gt;adfkasdfasdfsdfa sadfa dfa aksdjfkasajskdfjaf&lt;br /&gt;kasdjfakfjdfkjaklsdf adksfjkalsfd&amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&amp;lt;tr style="background-color:&lt;br /&gt;navy;    color: white;border: 2px solid&lt;br /&gt;silver;position:relative;top:&lt;br /&gt;expression((document.getElementById('divgrid').scrollHeight &amp;lt;=&lt;br /&gt;document.getElementById('divgrid').clientHeight)?0:document.getElementById('divgrid').scrollTop-(document.getElementById('divgrid').scrollHeight-document.getElementById('divgrid').clientHeight));"&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;             &amp;lt;td&amp;gt;Foot&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Foot&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Foot&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Foot&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt;Foot&amp;lt;/td&amp;gt;&amp;lt;td&amp;gt; &amp;lt;/td&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;         &amp;lt;/tr&amp;gt;&lt;br /&gt;&lt;br /&gt;     &amp;lt;/table&amp;gt;&lt;br /&gt;&lt;br /&gt; &amp;lt;/div&amp;gt;&lt;br /&gt;&lt;br /&gt;&amp;lt;/body&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&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/16069314-116706602547093761?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706602547093761/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706602547093761' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706602547093761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706602547093761'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/12/style.html' title='一个可以锁定表头和表尾的style'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706603392103452</id><published>2006-12-01T22:29:00.000+08:00</published><updated>2006-12-26T01:23:50.683+08:00</updated><title type='text'>啤酒许可证</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;今天玩&lt;a href="http://www.msghelp.net/"&gt;MSN&lt;br /&gt;Plus&lt;/a&gt;的一个脚本&lt;a href="http://www.msghelp.net/showthread.php?tid=61023"&gt;rssreader&lt;/a&gt;的时候，发现了这个有趣的许可证协议----"THE&lt;br /&gt;BEER-WARE LICENSE"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;在那个&lt;a href="http://svn.thedt.net/scripts/plusscripts/dt/rssreader/autoupdate.js"&gt;&lt;br /&gt;autoupdate.js&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;* "THE BEER-WARE LICENSE" (Revision 42):&lt;br /&gt;&lt;br /&gt;* &amp;lt;darktempler@gmail.com&amp;gt; wrote this file. As long as you&lt;br /&gt;retain this notice you&lt;br /&gt;&lt;br /&gt;* can do whatever you want with this stuff. If we meet some day,&lt;br /&gt;and you think&lt;br /&gt;&lt;br /&gt;* this stuff is worth it, you can buy me a beer in return Matt&lt;br /&gt;Labrum (-dt-)&lt;br /&gt;&lt;br /&gt;*&lt;br /&gt;----------------------------------------------------------------------------&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;意思就是说只要保留这个Notice你就可以对这些代码任意玩，如果你觉得这个软件有用，以后遇到作者了可以给他买杯啤酒作为回报&lt;br /&gt;:-)&lt;br /&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/16069314-116706603392103452?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706603392103452/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706603392103452' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706603392103452'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706603392103452'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/12/blog-post.html' title='啤酒许可证'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706603782054228</id><published>2006-12-01T03:32:00.000+08:00</published><updated>2006-12-26T01:24:24.506+08:00</updated><title type='text'>谈论 自动变换MSN昵称</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;我想做dll扩展它的功能呢，比如通过RSS读取新闻用来做我的MyPersonalMessage。&lt;br /&gt;有没有人告诉我哪里有Windows下处理RSS的类库啊？最好是傻瓜型的，给个RSS地址就能拿出所有title和链接的那种。&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;另记JScript的文档：&lt;a href="http://msdn2.microsoft.com/zh-cn/library/72bd815a%28VS.80%29.aspx"&gt;&lt;br /&gt;http://msdn2.microsoft.com/zh-cn/library/72bd815a(VS.80).aspx&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;引用&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;a href="http://xpenxpenxpen.spaces.live.com/blog/cns%21AF980FD46D83FB4B%21561.entry"&gt;&lt;br /&gt;自动变换MSN昵称&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;div style="border: 1px solid black; overflow: auto; height: 554px;"&gt;&lt;br /&gt;&lt;p&gt;首先你的MSN一定要是8.0的。&lt;br /&gt;&lt;br /&gt;然后去下载Messenger Plus 4.0（&lt;a href="http://www.msgpluslive.com.tw/"&gt;http://www.msgpluslive.com.tw/&lt;/a&gt;&lt;br /&gt;）&lt;br /&gt;&lt;br /&gt;安装好以后多出来一个“Plus”的菜单。进入“偏好设定--〉脚本”&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;这里就可以自己写JavaScript来实现自动变换MSN昵称的功能了。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;下面是我实现的一个倒计时提醒器，提醒自己离某一个纪念日还有多少天。以及每隔1分钟自动更换自己的头像。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;var picIndex = 1;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;function OnEvent_Initialize(MessengerStart)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;var myTimer1 = "myTimer1";&lt;br /&gt;&lt;br /&gt;MsgPlus.AddTimer("myTimer1", 100);&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;function OnEvent_Uninitialize(MessengerExit)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;}&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;function OnEvent_Timer(myTimer1)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;var nowDate = new Date(); //现在时刻&lt;br /&gt;&lt;br /&gt;var endDate = new Date(2007, 1 - 1, 1); //元旦&lt;br /&gt;&lt;br /&gt;var interval = endDate .getTime() - nowDate .getTime();&lt;br /&gt;&lt;br /&gt;var leftTime = interval / 1000 / 3600 / 24;&lt;br /&gt;&lt;br /&gt;var leftHour = interval / 1000 / 3600 % 24;&lt;br /&gt;&lt;br /&gt;var leftTimeString = String(leftTime);&lt;br /&gt;&lt;br /&gt;var leftHourString = String(leftHour);&lt;br /&gt;&lt;br /&gt;var leftDays = leftTimeString.substr(0, 2);&lt;br /&gt;&lt;br /&gt;//去掉小数点&lt;br /&gt;&lt;br /&gt;if (leftDays.indexOf(".") == 1) {&lt;br /&gt;&lt;br /&gt; leftDays = leftDays.substr(0, 1);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;leftHourString = leftHourString.substr(0, 5);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;var Message =  leftDays + "天" + leftHourString + "小时" +&lt;br /&gt;"LEFT"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Message = MsgPlus.RemoveFormatCodes(Message);&lt;br /&gt;&lt;br /&gt;Messenger.MyPersonalMessage = Message;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//循环显示图片&lt;br /&gt;&lt;br /&gt;var picDir = "C:\\Documents and&lt;br /&gt;Settings\\Administrator\\デスクトップ\\MyPicture\\";&lt;br /&gt;&lt;br /&gt;Messenger.MyDisplayPicture = picDir + picIndex + ".jpg";&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; var maxPicNo = 16; // 图片数量&lt;br /&gt;&lt;br /&gt;picIndex ++;&lt;br /&gt;&lt;br /&gt;if (picIndex &amp;gt; maxPicNo ) {&lt;br /&gt;&lt;br /&gt; picIndex = 1;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MsgPlus.AddTimer("myTimer1", 60000); //每60秒刷新一次&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;更多关于Messenger Plus所支持的脚本的信息，可参见&lt;br /&gt;&lt;a href="http://www.msgpluslive.com.tw/scripts/"&gt;http://www.msgpluslive.com.tw/scripts/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;/blockquote&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/16069314-116706603782054228?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706603782054228/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706603782054228' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706603782054228'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706603782054228'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/12/msn.html' title='谈论 自动变换MSN昵称'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706604380248389</id><published>2006-11-20T20:47:00.000+08:00</published><updated>2006-12-26T01:25:04.706+08:00</updated><title type='text'>纪念日提醒</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;想做一个应用，设置好某个重要的日子，比如某某的生日，再设置何时提醒，比如一年一次，然后时间到了或者提前几天(都可以自己设置)的时候就通过E-mail或者短信或者电话的方式提醒。这样各位大忙人就不会因为忘了自己老婆的生日而跪主板了吧？&lt;br /&gt;&lt;br /&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/16069314-116706604380248389?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706604380248389/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706604380248389' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706604380248389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706604380248389'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/11/blog-post.html' title='纪念日提醒'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706605875281097</id><published>2006-10-31T23:54:00.000+08:00</published><updated>2006-12-26T01:37:02.156+08:00</updated><title type='text'>where is the postinst script?</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;&lt;span style="font-size:-1;"&gt;Debian sid repository中一个&lt;a href="http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=388568"&gt;bug&lt;/a&gt;让我郁闷了好久。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;安装xserver-xorg结果那个时候的mirror.geekbone.org的sid&lt;br /&gt;repository中，这个包的postinst脚本有bug，所以安装之后的设置没有完成，当时我就直接把安装进程给杀了，可是后来apt-get的时候总是报一个:&lt;br /&gt;dpkg was interuptted, you must manually run 'dpkg --configure -a'&lt;br /&gt;to correct the problem.这样的错误，可是我执行dpkg&lt;br /&gt;--configure&lt;br /&gt;-a它又去执行那个错误的postinst脚本去了，于是再次进入死循环。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;于是我按照那个bug页面说的想去修改postinst脚本，但是不知道在哪里，找了很久找不到，我想把/var/cache/apt/archives/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;下面的deb都删除了重新下载安装，可是无论运行apt-get&lt;br /&gt;dpkg 还是aptitude都报那个 dpkg was&lt;br /&gt;interuptted的错，并且运行dpkg --configure&lt;br /&gt;-a它又去执行那个错误的postinst脚本。很明显这个时候运行的postinst不是deb包中的那个了，一定保存在别的什么地方。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;google了一下&lt;a href="http://www.google.com/search?q=postinst&amp;amp;amp;hl=zh-CN&amp;amp;lr=&amp;amp;newwindow=1&amp;amp;start=10&amp;amp;amp;sa=N"&gt;&lt;br /&gt;postinst&lt;/a&gt;，从结果中发现了一个路径挺像/var/lib/dpkg/info/于是cd过去，果然找到xserver-xorg.postinst，打开emacs修改之，然后重新运行dpkg&lt;br /&gt;--configure -a ，成功！&lt;br /&gt;&lt;br /&gt;&lt;/span&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/16069314-116706605875281097?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706605875281097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706605875281097' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706605875281097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706605875281097'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/10/where-is-postinst-script.html' title='where is the postinst script?'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706606381169169</id><published>2006-10-09T22:06:00.000+08:00</published><updated>2006-12-26T01:38:39.773+08:00</updated><title type='text'>[zt]修复 Pinging ? with 32 bytes of data 问题</title><content type='html'>Pinging ? with 32 bytes of data 故障解决&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;拨号一切正常。确不能上网。&lt;br /&gt;&lt;br /&gt;ping DNS&lt;br /&gt;通。但奇怪的是居然有个？挂在那（居然不是IP），还有机器内置喇叭报警(滴的一声)。ping任何一个IP都是如此......&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;C:\&gt;ping 202.98.96.68&lt;br /&gt;&lt;br /&gt;Pinging ? with 32 bytes of data:&lt;br /&gt;&lt;br /&gt;Reply from 202.98.96.68: bytes=32 time=17ms TTL=248&lt;br /&gt;&lt;br /&gt;Reply from 202.98.96.68: bytes=32 time=19ms TTL=248&lt;br /&gt;&lt;br /&gt;Reply from 202.98.96.68: bytes=32 time=19ms TTL=248&lt;br /&gt;&lt;br /&gt;Reply from 202.98.96.68: bytes=32 time=18ms TTL=248&lt;br /&gt;&lt;br /&gt;Ping statistics for :&lt;br /&gt;&lt;br /&gt;Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),&lt;br /&gt;&lt;br /&gt;Approximate round trip times in milli-seconds:&lt;br /&gt;&lt;br /&gt;Minimum = 17ms, Maximum = 19ms, Average = 18ms&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;用netstat命令居然连端口号都没了。&lt;br /&gt;&lt;br /&gt;C:\&gt;NETSTAT -AN&lt;br /&gt;&lt;br /&gt;Active Connections&lt;br /&gt;&lt;br /&gt;Proto Local Address Foreign Address State&lt;br /&gt;&lt;br /&gt;C:\&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;先还以为是网卡问题，删之，结果同等。。遂上网得以下原因&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;造成原因：winsock问题。。&lt;br /&gt;&lt;br /&gt;得解决方案：&lt;br /&gt;&lt;br /&gt;一、使用超级兔子中的IE修复（其中有一项‘强力修复Winsock2’）&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;二、使用win中的netsh命令&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Microsoft Windows XP [Version 5.1.2600]&lt;br /&gt;&lt;br /&gt;(C) Copyright 1985-2001 Microsoft Corp.&lt;br /&gt;&lt;br /&gt;C:\&gt;netsh winsock reset&lt;br /&gt;&lt;br /&gt;Sucessfully reset the Winsock Catalog.&lt;br /&gt;&lt;br /&gt;You must restart the machine in order to complete the reset.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;C:\&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;本人推荐使用netsh winsock&lt;br /&gt;reset命令,简单方便,无副作用.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16069314-116706606381169169?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706606381169169/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706606381169169' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706606381169169'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706606381169169'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/10/zt-pinging-with-32-bytes-of-data.html' title='[zt]修复 Pinging ? with 32 bytes of data 问题'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706607523395891</id><published>2006-07-30T10:42:00.000+08:00</published><updated>2006-12-26T01:39:11.560+08:00</updated><title type='text'>Firefox issue in Debian sid repository</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;&lt;a href="http://akula-xie.spaces.msn.com/"&gt;Akula&lt;/a&gt; invited me to&lt;br /&gt;play a online game &lt;a href="http://www.eve-online.com.cn/download/system_info.html"&gt;EVE&lt;/a&gt;,which&lt;br /&gt;need some DirectX9 features.So I need swap my two video card&lt;br /&gt;(Radeon 7200 and Radeon 8500) in two boxes.Although 8500 is not a&lt;br /&gt;DirectX9 card but it is more powerful than 7200.&lt;br /&gt;&lt;br /&gt;Everything went smoothly(switch to radeon driver,load drm&lt;br /&gt;module,restart gdm),except firefox----some text were hidden in&lt;br /&gt;webpage,both acsii and Chinese text because they had the same color&lt;br /&gt;with page's bgcolor.When I selected hidden text with mouse they&lt;br /&gt;could appear normal,oberviously this is some problem about X11&lt;br /&gt;font.&lt;br /&gt;&lt;br /&gt;some screenshots:(from &lt;a href="http://www.linuxsir.org/"&gt;linuxsir.org)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.linuxsir.org/bbs/showthread.php?t=265158&amp;amp;highlight=firefox"&gt;&lt;br /&gt;TangSDX&lt;/a&gt; gave a solution.&lt;br /&gt;&lt;br /&gt;export MOZ_DISABLE_PANGO=1&lt;br /&gt;&lt;br /&gt;firefox&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But launching ff from console by type some command sounds like not&lt;br /&gt;a sound idea and I do know how to edit gnome menu item to export an&lt;br /&gt;environment viarable before execute some program.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;So I edited firefox script like this:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;su&lt;br /&gt;&lt;br /&gt;cd /usr/lib/firefox&lt;br /&gt;&lt;br /&gt;emacs firefox&lt;br /&gt;&lt;br /&gt;find a line like this export MOZ_DISABLE_PANGO&lt;br /&gt;&lt;br /&gt;modify it to export MOZ_DISABLE_PANGO=1&lt;br /&gt;&lt;br /&gt;save file&lt;br /&gt;&lt;br /&gt;logout&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;launch ff from gnome main menu&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;now everything perfect!&lt;br /&gt;&lt;br /&gt;&lt;br /&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/16069314-116706607523395891?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706607523395891/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706607523395891' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706607523395891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706607523395891'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/07/firefox-issue-in-debian-sid-repository.html' title='Firefox issue in Debian sid repository'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-115359233982237413</id><published>2006-07-23T02:18:00.000+08:00</published><updated>2006-07-23T02:18:59.830+08:00</updated><title type='text'></title><content type='html'>a new start&lt;br /&gt;&lt;p&gt;Finally I come to here,through google and gnome.&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/16069314-115359233982237413?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/115359233982237413/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=115359233982237413' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/115359233982237413'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/115359233982237413'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/07/new-start-finally-i-come-to.html' title=''/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706608880237596</id><published>2006-06-17T04:19:00.000+08:00</published><updated>2006-12-26T01:42:47.933+08:00</updated><title type='text'>FoxHunter</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;一个KillQQ的衍生物，用来查看Foxmail的密码，如果哪位同学忘记了Foxmail里面保存的邮箱密码可以用它来查看。没什么新鲜得咚咚，就是拷贝了KillQQ的一些代码过来。&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;a href="http://sevenever.vicp.net/software/FoxHunter.exe.tar.gz"&gt;下载&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;另记：Linux下修改密码的命令是passwd&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;//***************************************************************&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;//函数：&lt;br /&gt;&lt;br /&gt;// DecryptFoxmail&lt;br /&gt;&lt;br /&gt;// 解密Foxmail的服务器密码&lt;br /&gt;&lt;br /&gt;//参数：&lt;br /&gt;&lt;br /&gt;// pwd 密文，pwdDecrypted 明文&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;bool FoxHunterCore::DecryptFoxmail(LPCSTR pwd, LPSTR&lt;br /&gt;pwdDecrypted)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;*pwdDecrypted=0;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;int iPwdLen = strlen(pwd); //密文长度&lt;br /&gt;&lt;br /&gt;int iPwdLen1 = iPwdLen / 2 -1; //明文长度&lt;br /&gt;&lt;br /&gt;if( iPwdLen &amp;gt; MAX_PATH )&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return false;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;BYTE Key = 0x5A;&lt;br /&gt;&lt;br /&gt;BYTE A[8]={0x7E,0x64,0x72,0x61,0x47,0x6F,0x6E,0x7E};&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;BYTE B[MAX_PATH]={0};&lt;br /&gt;&lt;br /&gt;BYTE C[MAX_PATH]={0};&lt;br /&gt;&lt;br /&gt;BYTE D[MAX_PATH]={0};&lt;br /&gt;&lt;br /&gt;//使用传入的字符串初始化数组B,同时检查字符&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;char ch=0;&lt;br /&gt;&lt;br /&gt;BYTE higherByte;&lt;br /&gt;&lt;br /&gt;int iCounter=0;&lt;br /&gt;&lt;br /&gt;while( ( ch = *(pwd+iCounter) )!= 0)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;if(47&amp;lt;ch &amp;amp;&amp; ch&amp;lt;58) //小于A&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;if( iCounter % 2 ==0 ) //高位&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;higherByte = ch - 48;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else //低位&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;B[iCounter/2]=(higherByte&amp;lt;&amp;lt;4) | (ch - 48);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else if(64&amp;lt;ch &amp;amp;&amp; ch&amp;lt;71) //A--F&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;if( iCounter % 2 ==0 ) //高位&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;higherByte = ch - 55;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else //低位&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;B[iCounter/2]=(higherByte&amp;lt;&amp;lt;4) | (ch - 55);&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;return false;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;iCounter++;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//循环计数器&lt;br /&gt;&lt;br /&gt;int i;&lt;br /&gt;&lt;br /&gt;//生成数组 C&lt;br /&gt;&lt;br /&gt;C[0] = B[0] ^ Key;&lt;br /&gt;&lt;br /&gt;for(i=1; i &amp;lt; iPwdLen1 ;i++)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;C[i] = B[i];&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//生成数组 D&lt;br /&gt;&lt;br /&gt;for( i=0; i &amp;lt; iPwdLen1 ;i++)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;D[i] = B[i+1] ^ A[i % 8];&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;//生成明文&lt;br /&gt;&lt;br /&gt;for( i=0; i &amp;lt; iPwdLen1 ;i++)&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;if(D[i] &amp;lt; C[i] )&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;pwdDecrypted[i] = 0xFF + D[i] - C[i];&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;else&lt;br /&gt;&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;pwdDecrypted[i] = D[i] - C[i];&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;pwdDecrypted[iPwdLen1]=0;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;return true;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;&lt;br /&gt;&lt;/p&gt;&lt;br /&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/16069314-116706608880237596?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706608880237596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706608880237596' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706608880237596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706608880237596'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/06/foxhunter.html' title='FoxHunter'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706609094405064</id><published>2006-06-17T04:15:00.000+08:00</published><updated>2006-12-26T01:43:17.350+08:00</updated><title type='text'>从aspcool搬了一些文章过来</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;1.从&lt;a href="http://blog.aspcool.net/sevenever"&gt;aspcool&lt;/a&gt;搬了一些文章过来，aspcool让我担心的安全问题终于还是发生了，上次他们的服务器被黑，两周都没恢复服务。两周之后居然发现2006年以来的文章全部丢失了，从此我就对他们失去了信心。文章很多都是一年以前的，其中有个普鲁斯特问卷也快一年了，我今年再做做看一年的变化有多大。&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;2.有机会搞个服务器了，这次新装宽带，准备弄个无线router，上&lt;a href="http://www.newegg.com.cn"&gt;newegg&lt;/a&gt; 看到这款&lt;a href="http://www.newegg.com.cn/Products/ProductDetail.aspx?sysno=12784"&gt;&lt;br /&gt;D-Link&lt;/a&gt;的还不错，才280，支持802.11g，DDNS，给那台老赛扬装个Debian，上个bind做DNS，同时弄个httpd放点图片啊，做个ftp服务啊什么的都可以。----不过担心噪音和功耗的问题，暂时考虑换个机箱风扇，去掉cpu风扇，只要一个硬盘。同时有了无线网络，mm可以用本本上网，我也可以用PSP上网了&lt;br /&gt;$-)&lt;br/&gt;&lt;br /&gt;3.DELL在网上卖2999的服务器，今天有人买了，看起来挺实惠的，不过我不能买，咽咽口水。&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&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/16069314-116706609094405064?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706609094405064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706609094405064' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706609094405064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706609094405064'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/06/aspcool.html' title='从aspcool搬了一些文章过来'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706609456848341</id><published>2006-06-17T03:39:00.000+08:00</published><updated>2006-12-26T01:45:00.303+08:00</updated><title type='text'> Explorer.exe右键菜单中添加“在当前目录执行CMD.exe”小工具。</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://sevenever.vicp.net/software/ShellEx.tar.gz"&gt;下载&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;这&lt;br /&gt;是一个扩展Explorer的小工具，在右键菜单中添加运行cmd.exe按钮。如果安装了.NET&lt;br /&gt;SDK还可以添加运行.NET命令提示符。使用的时候在目录下空白的地方（不要点到文件）右键，右键菜单会多一个东西。平时做事情的时候如果在一个很深的&lt;br /&gt;目录下面想运行cmd，就必须在命令提示符下面不停的cd过去，于是萌发了做这样一个小工具的念头，也让自己学习Windows&lt;br /&gt;Shell Extension的编程。&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;使用VC6.0制作，用VC2003做的时候发现IShellExtInit::Initialize执行了，IContextMenu::QueryContextMenu却没有执行，至今郁闷，如有哪位知道，麻烦告知sevenever(at)gmail.com，先谢了。&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;源文件请发邮件到sevenever(at)gmail.com索取&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;&lt;br /&gt;因为东西非常简单，所以就做了两个脚本安装卸载了。&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;安装：&lt;br/&gt;&lt;br /&gt;双击 Install.bat 会建立如下路径C:\Program&lt;br /&gt;files\Seven\MyTools &lt;br /&gt;并复制文件DirBkgndExt.dll到此目录然后注册，如果成功会提示。&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;卸载：&lt;br/&gt;&lt;br /&gt;双击 Uninstall.bat&lt;br /&gt;会注销组件DirBkgndExt.dll同时删除DirBkgndExt.dll文件，但是目录还会保存。&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;使用：&lt;br/&gt;&lt;br /&gt;安装后右键菜单应该就有项“运行&lt;br /&gt;CMD.exe”了，如果系统中安装了 .NET SDK，可以&lt;br/&gt;&lt;br /&gt;1。 编辑注册表文件path.reg中"DONNET CMD PARAMETER"="/k&lt;br /&gt;C:\\Progra~1\\Micros~1.NET\\Common7\\Tools\\vsvars32.bat"一行，将C:\Progra~1\\Micros~1.NET\\Common7\\Tools\\vsvars32.bat的路径更改为你的vsvars32.bat&lt;br /&gt;路径（注意其中路径为短路径，分隔符需要转义，如果VS2003按默认安装就不用改啦，这正是我安装的路径）&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;2。修改 "Donnet&lt;br /&gt;Installed"=dword:00000000一行将00000000改为00000001。&lt;br/&gt;&lt;br /&gt;3。双击path.reg文件，将注册表信息导入。&lt;br/&gt;&lt;br /&gt;这样右键菜单应该就有项“VS2003命令提示符”了，这个设置了.NET&lt;br /&gt;SDK的一些环境变量，可以编译cs，vb文件。。。。&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;如果有任何问题请邮件 sevenever(at)gmail.com。&lt;/p&gt;&lt;br /&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/16069314-116706609456848341?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706609456848341/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706609456848341' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706609456848341'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706609456848341'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/06/explorerexecmdexe.html' title=' Explorer.exe右键菜单中添加“在当前目录执行CMD.exe”小工具。'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706614465642450</id><published>2006-05-29T08:36:00.000+08:00</published><updated>2006-12-26T01:45:33.280+08:00</updated><title type='text'>又可以申请拿免费光盘了</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;还是老地方https://shipit.ubuntu.com/&lt;br/&gt;&lt;br /&gt;现在的版本是Ubuntu 6.06 LTS (Dapper&lt;br /&gt;Drake)，这次最多能申请10张，想想上次申请的60几张都没怎么送出去，而是用了几张做杯垫，造成了很大的浪费（邮资不便宜的）。上次6.01刚在网上放出下载的时候同事在虚拟机里面试用过，界面总体还是感觉和上次的版本差不多（都是gnome嘛，配色也一样）。不过添加了中文输入法scim。&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Vista的不断跳票不知道会不会给这些OS一些扩张的机会？&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;现在继续送Ubuntu&lt;br /&gt;5.10的光盘，如果谁想要就留个言，上海市内环线内免费送到家。（够义气吧）&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;什么是Ubuntu（班图），&lt;strong&gt;“Ubuntu”&lt;br /&gt;是一个古非洲语单词, 意思是&lt;br /&gt;“乐于分享”。班图精神也意味&lt;br /&gt;“我和他人紧紧相连，密不可分，我们都在同一种生活之中。”&lt;br /&gt;Ubuntu Linux&lt;br /&gt;也将班图精神带到了软件世界。&lt;/strong&gt;Ubuntu&lt;br /&gt;是一个完全以 Linux 为基础的操作系统,&lt;br /&gt;可自由的获得，并提供社区和专业的支持。&lt;strong&gt;----《&lt;a href="http://www.ubuntu.org.cn/"&gt;Ubuntu中文网&lt;/a&gt;》&lt;br/&gt;&lt;br /&gt;简单点说就是和Windows差不多，你以后可以不用盗版windows了。&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;ps:今天和mm玩很开心，mm好pp.&lt;br/&gt;&lt;br /&gt;&lt;/strong&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/16069314-116706614465642450?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706614465642450/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706614465642450' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706614465642450'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706614465642450'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/05/blog-post.html' title='又可以申请拿免费光盘了'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706615072818258</id><published>2006-05-01T00:33:00.000+08:00</published><updated>2006-12-26T01:45:50.860+08:00</updated><title type='text'>Are you a geek or nerd?</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;&lt;a href="http://www.okcupid.com/tests/take?testid=9935030990046738815"&gt;&lt;br /&gt;大家来做测试&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;&lt;div style="text-align:center"&gt;&lt;span&gt;&lt;font size="5"&gt;&lt;b&gt;Pure&lt;br /&gt;Nerd&lt;/b&gt;&lt;/font&gt;&lt;/span&gt;&lt;br/&gt;&lt;br /&gt; &lt;span&gt;65 % Nerd, 26% Geek, 39% Dork&lt;/span&gt;&lt;br/&gt;&lt;br /&gt; &lt;span&gt;For The Record:&lt;/span&gt;&lt;br/&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span&gt;&lt;br/&gt;&lt;br /&gt; A Nerd is someone who is passionate about learning/being&lt;br /&gt;smart/academia.&lt;br/&gt;&lt;br /&gt;A Geek is someone who is passionate about some particular area or&lt;br /&gt;subject, often an obscure or difficult one.&lt;br/&gt;&lt;br /&gt;A Dork is someone who has difficulty with common social&lt;br /&gt;expectations/interactions.&lt;br/&gt;&lt;br /&gt; You scored better than half in Nerd, earning you the title of:&lt;br /&gt;&lt;b&gt;Pure Nerd&lt;/b&gt;.&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt; The times, they are a-changing. It used to be that being&lt;br /&gt;exceptionally smart led to being unpopular, which would ultimately&lt;br /&gt;lead to picking up all of the traits and tendences associated with&lt;br /&gt;the "dork." No-longer. Being smart isn't as socially crippling as&lt;br /&gt;it once was, and even more so as you get older: eventually being a&lt;br /&gt;Pure Nerd will likely be replaced with the following label: Purely&lt;br /&gt;Successful.&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt; Congratulations!&lt;br/&gt;&lt;br /&gt;&lt;/span&gt; &lt;br/&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/16069314-116706615072818258?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706615072818258/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706615072818258' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706615072818258'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706615072818258'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/05/are-you-geek-or-nerd.html' title='Are you a geek or nerd?'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706615278989520</id><published>2006-04-29T01:54:00.000+08:00</published><updated>2006-12-26T01:46:19.300+08:00</updated><title type='text'>传说中的WebOS----YouOS</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;看图先,目前尚在alpha版本。如果懒得注册可以用demo试玩一下，不敢说一定，至少80%你会去注册正式用户的。&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;这个&lt;a href="http://www.youos.com"&gt;YouOS&lt;/a&gt;利用的是浏览器完成基本的操作系统具有的资源管理功能，它的用户个人数据和文件都存放在Internet服务器上。&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;现在已经有了100多个应用程序可以在这个OS上安装，包括字处理--RichTextEditor,邮件客户端--YouMail,自带的聊天工具--Chat(有一个公共频道，但是好像不能连接到&lt;a href="http://freenode.net/"&gt;FreeNode&lt;/a&gt;),通过&lt;a href="http://www.e-messenger.net"&gt;e-messenger&lt;/a&gt;&lt;br /&gt;实现了MSN，还有一个mp3播放器，你可以上传mp3到你的空间，然后使用它的一个flash的媒体播放器播放，一个"视频"播放器(其实是连续的显示几个gif图片，成为一部电影，比如以前用Diablo魔法图标做的那个电影)。甚至还有一个shell，提供运行程序，杀死进程的功能&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;shell里面的功能包括：&lt;br/&gt;&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;exit - get the hell out of dodge&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;help - i need somebody&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;kill (process_id) - kill a process with that id&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;props (object) [verbose] - get a list of properties for an&lt;br /&gt;object&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;ps - get a list of running processes&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;run (app_id) - run an app by that id&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;ls [tag1 tag2 tag3] - get list of files, optionally filtered by&lt;br /&gt;tags&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;lt [data_id] - get list of all tags in namespace, or for just&lt;br /&gt;one data_id&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;tag (data_id) (tag1) [tag2 tag3] - tag a file / datastructure&lt;br /&gt;with given tags&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;untag (data_id) (tag1) [tag2 tag3] - remove given tags ona file&lt;br /&gt;/ datastructure&lt;/li&gt;&lt;br /&gt;&lt;br /&gt;&lt;li&gt;debug (module) - register a module (such as uos.system.network)&lt;br /&gt;for debug tracing&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;我无话可说，实在是太cool了。&lt;br/&gt;&lt;br /&gt;嗯，有一个binary clock，强烈推荐一把。&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;除此之外，作为一个OS肯定是要提供API接口的咯，当然YouOS也不例外，它提供了几个简单的接口，你可以使用JavaScript来开发自己的应用，比如你的游戏，安装后可以在世界上任何有网络的地方玩，又比如你的病毒----用JavaScript劫持别人的Session等等。。。&lt;br/&gt;&lt;br /&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/16069314-116706615278989520?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706615278989520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706615278989520' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706615278989520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706615278989520'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/04/webos-youos.html' title='传说中的WebOS----YouOS'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706615962880897</id><published>2006-04-09T04:17:00.000+08:00</published><updated>2006-12-26T01:46:36.886+08:00</updated><title type='text'>惊喜的发现btchina.net的torrent列表能在FF中正常显示了</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;记得前几天给mozilla发过一次btchina.net不能正常显示的报告,现在居然好了,不会是偶的报告起了作用吧?&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;庆祝以后可以方便的bt啦!&lt;br/&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/16069314-116706615962880897?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706615962880897/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706615962880897' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706615962880897'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706615962880897'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/04/btchinanettorrentff.html' title='惊喜的发现btchina.net的torrent列表能在FF中正常显示了'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706616173183376</id><published>2006-03-08T07:05:00.000+08:00</published><updated>2006-12-26T01:46:59.826+08:00</updated><title type='text'>ubuntu arrived</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;&lt;p&gt;&lt;a href="http://shipit.ubuntu.com/"&gt;Get free Operation System in&lt;br /&gt;shipit.ubuntu.com&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;I was waiting for so long,my 2 ubuntu order(2006.1.4 and 2006.1.14)&lt;br /&gt;arrived together today ---- The first order 15 CDs and the second&lt;br /&gt;order 45 CDs.Thanks for ubuntu group's work and gift :)&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;There is a text "linux for human beings" under the big "Ubuntu" on&lt;br /&gt;the cover,maybe Fedora is for spirit?Debian is for evil?Gentoo is&lt;br /&gt;for God?&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;But the first 15 CDs looks like have some problems.I cann't use the&lt;br /&gt;live CD(a ubuntu demo in CD which does not need to install) to try&lt;br /&gt;ubuntu on my PC,another explain is my CD-ROM works out.Luckly ,I&lt;br /&gt;have more discs to try one by one.&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;After all,the demo ubuntu is running on my box.While installing I&lt;br /&gt;didn't config anything nor give any information about my computer&lt;br /&gt;and my networking enviroment,but the clever boy recognized all&lt;br /&gt;devices and fetch IP address from the router.&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;What surprise me is the new OS is more easy to use than Windows XP&lt;br /&gt;in some aspect,when I connect the Kodak 7440 to PC ,a window is&lt;br /&gt;poped up,prompting me to import photos into PC, there is no need to&lt;br /&gt;install any program!Firefox and OpenOffices are installed too.And a&lt;br /&gt;bittorrent client is placed in Applications----&amp;gt;Internet program&lt;br /&gt;menu.Thanks for gnome project, we can get so many program and tools&lt;br /&gt;we need in daily work.&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;One of weaknesses is the same to other Linux including my&lt;br /&gt;Debian:&lt;br/&gt;&lt;br /&gt;Chinese font looks still ugly,but English font is so clear,I like&lt;br /&gt;it!Some others are :&lt;br/&gt;&lt;br /&gt;I cann't find Chinese input method easily,or it was not involved in&lt;br /&gt;default settings.That's why I type words here in my poor&lt;br /&gt;English.&lt;br/&gt;&lt;br /&gt;Cann't play mp3s,rm videos, maybe it was caused by some license&lt;br /&gt;reason.&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Well,It's a good OS for daily use,you can find Internet&lt;br /&gt;brawser,mail client,office software suit,text editor,media&lt;br /&gt;player,network share tools after installing.&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;I have 40 CDs for x86,15CDs for x86 64-bit and 5CDs for Mac ,any&lt;br /&gt;one who need CDs just give me a message on msn or email,I am glad&lt;br /&gt;to deliver CDs for you.Also you can appy CDs by yourself,navigate&lt;br /&gt;to &lt;a href="http://shipit.ubuntu.com/"&gt;shipit.ubuntu.com&lt;/a&gt;&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Some words on the ubuntu CD's cover:&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;"Ubuntu" is an ancient African word that means "humanity to&lt;br /&gt;others".This Linux distribution brings the spirit of Ubuntu to the&lt;br /&gt;software world.&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;Ubuntu is Software Libre.You are legally entitled and encouraged to&lt;br /&gt;copy,share and redistribute this CD for yourself and your&lt;br /&gt;friends.Share the spirit of Ubuntu!&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt; &lt;/p&gt;&lt;br /&gt;&lt;br /&gt;&lt;p&gt;ps:I post this piece of blog on new ubuntu demo OS using firefox&lt;br /&gt;1.0.7.&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;&lt;/p&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/16069314-116706616173183376?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706616173183376/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706616173183376' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706616173183376'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706616173183376'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/03/ubuntu-arrived.html' title='ubuntu arrived'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706616744265206</id><published>2006-02-26T00:57:00.000+08:00</published><updated>2006-12-26T01:47:18.623+08:00</updated><title type='text'>更加坚定了使用fcitx输入法的决心</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;输入jiba，它能立刻知道我想输入什么东西。就凭着一点。&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/16069314-116706616744265206?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706616744265206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706616744265206' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706616744265206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706616744265206'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/02/fcitx.html' title='更加坚定了使用fcitx输入法的决心'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706617843924597</id><published>2006-01-04T09:01:00.000+08:00</published><updated>2006-12-26T01:47:53.436+08:00</updated><title type='text'>Debian安装记</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;前次在虚拟机里面玩了一把Debian，版本是3.1&lt;br /&gt;Sarge，光盘是用骡子拉下来的，只有第一张。印象还不错，这次搞了台新机器就骚包直接装Debian了。&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;硬件配置如下：&lt;br/&gt;&lt;br /&gt;CPU: Athlon64 3000+ oc to 2.5G&lt;br/&gt;&lt;br /&gt;Mem:  DDR 400 512M X 2&lt;br/&gt;&lt;br /&gt;HDD:   WD JB 160G SATA&lt;br/&gt;&lt;br /&gt;MotherBoard: Asus K8N chipset nforce3 250&lt;br/&gt;&lt;br /&gt;&lt;br/&gt;&lt;br /&gt;直接光盘起动输入Linux就开始安装了，因为以前玩过一会儿RH9,还算知道一点，遇到第一个问题就是2.4的内核不能直接支持这个网卡，导致在安装的时候出现如下画面，让我这个新手不知如何是好，直接跑到Asus网站上找驱动，下载了驱动安装程序，提示说内核版本和预编译的驱动模块内核不符，需要重新编译模块。。。晕倒，怎么安装内核编译环境啊？好象第一张光盘里面没有内核源文件，那怎么办呢？幸好还有那个残留的Windows&lt;br /&gt;XP，立马Google nforce3&lt;br /&gt;Debian还真的让我在Linuxsir上找到一位难兄，他说2.4不直接支持这个网卡，但是2.6的支持，所以直接用linux26安装，安装的时候说找不到网卡直接不管就行了，安装好以后直接重新起动就能自动找到网卡驱动模块了。&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;我照着他说的做，重新起动，俺们的机器是2.6了！ifconfig&lt;br /&gt;-a还真的有了eth0，bring&lt;br /&gt;up这块网卡interface，设置好网卡ip和路由，还真的能ping通DNS服务器了，但是设置好apt&lt;br /&gt;source&lt;br /&gt;list开始安装软件的时候居然找不到geekbone.org的地址，用ping&lt;br /&gt;一看居然DNS错误，难道还要自己设置DNS地址？晕倒，又找到帮手系统Windows&lt;br /&gt;XP上Debian手册查找网络设置，他说是用resolv.conf，但是又没有说清楚具体怎么个设置法。晕倒，没办法，总不能不安装软件吧？老子直接修改hosts，加上geekbone.org的一条记录，先吧软件装好再说。于是apt-get&lt;br /&gt;install gnome-core x-window-system-core&lt;br /&gt;fcitx.配置XFree86的时候基本一路yes，只是显示分辨率的时候修改为了1280X1024。&lt;br/&gt;&lt;br /&gt;&lt;br /&gt;关键的一步来了startx，在尝试了3次以后gdm很郁闷的告诉我，他不能起动X，叫我去看日志，tail了一把那个log文件，他说找不到核心指针设备，我晕倒，鼠标明明就在上面的嘛，搞不懂了。再一次的，我配置了X,满怀期待的等待出现那个螺旋形的logo，结果还是让人失望：同样的错误。拿起鼠标刚想砸，突然发现那个小红屁股今天怎么不亮了，我晕倒，鼠标怎么没有上电啊？把鼠标从USB口拔下，然后重新接上去，startx终于见到了可爱的螺旋。&lt;br/&gt;&lt;br /&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/16069314-116706617843924597?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706617843924597/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706617843924597' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706617843924597'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706617843924597'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2006/01/debian.html' title='Debian安装记'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706618402919006</id><published>2005-12-23T08:17:00.000+08:00</published><updated>2006-12-26T01:48:18.926+08:00</updated><title type='text'>准备装Debian</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;后天就可以到手新机器了,这次直接上Debian.准备全程记录这次安装过程。老机器准备做bt专用机，或者开放作为Web，ftp，mail服务器，这下俺的sevenever.com总算能有个家了。&lt;br/&gt;&lt;br /&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/16069314-116706618402919006?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706618402919006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706618402919006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706618402919006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706618402919006'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2005/12/debian.html' title='准备装Debian'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706618626768280</id><published>2005-12-21T09:42:00.000+08:00</published><updated>2006-12-26T01:48:33.780+08:00</updated><title type='text'>images.google.com为什么经常不能访问呢？</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;&lt;br/&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/16069314-116706618626768280?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706618626768280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706618626768280' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706618626768280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706618626768280'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2005/12/imagesgooglecom.html' title='images.google.com为什么经常不能访问呢？'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-116706621217598718</id><published>2005-09-10T22:09:00.000+08:00</published><updated>2006-12-26T01:39:42.576+08:00</updated><title type='text'>手掌机</title><content type='html'>&lt;div xmlns="http://www.w3.org/1999/xhtml"&gt;&lt;br /&gt;&lt;div&gt;&lt;br /&gt;一个ARM7的机器，可执行程序限制128K以下，栈空间限制32K，不允许使用堆空间，堆栈中函数调用没有缓冲保护，一旦溢出必死无疑。15天之内完成所有程序，包括PC机上的C++通讯程序。。。对于C的程序，我只能这么办了，指针满天飞，结构体一大堆。设计书也不详细，自己完全天马行空。到目前为止遇到过1次buffer&lt;br /&gt;overflow，mem&lt;br /&gt;leak倒是没有（没有堆要发生这个也太难了吧）。-----------------------------以上，2005-09-10教师节，没有和教师MM在一起而是跑到公司加班的原因。&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/16069314-116706621217598718?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/116706621217598718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=116706621217598718' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706621217598718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/116706621217598718'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2005/09/blog-post.html' title='手掌机'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-16069314.post-112550128146683529</id><published>2005-08-31T22:29:00.000+08:00</published><updated>2007-01-13T02:24:04.593+08:00</updated><title type='text'>无题</title><content type='html'>[Bloogle]&lt;br /&gt; 今天猛然发现Google也开始玩Blog了立刻抢了一个茅坑：http://sevenever.blogspot.com/ 这年头都用免费的Blog勾引大家，刚刚夸过了msn space,这个Google做的东西不能比她差吧？到底有什么好咚咚过会儿好好逛一圈给大家一个评测，呵呵。嗯，这次的名字感觉没上次那个Gmail有 创意啊，Google和Blog。。。想了半天，憋出来一个Bloogle...&lt;br /&gt; 范围，老天爷就开始挑战我的耐力了。网管，项目，日语三个东西齐头并&lt;br /&gt; [铁人三项]&lt;br /&gt; 今天被一同事调侃曰：铁人三项选手，唉，自从光荣的进入本命年的管辖进，从早上睁开 眼，就开始干晚上做梦想的事情，一直到晚上10点多都歇不下来。想想已经有好多天上午没有喝过水了，5555,不能让妈妈知道。&lt;br /&gt;&lt;br /&gt; [成长]&lt;br /&gt; 昨晚夜不能寐，无聊的看电视CCTV4一个不知道叫什么的电视剧，讲一对小夫妻在北京的故事。夫妻都没啥钱，为了能好好工作他们生了孩子都留在爷爷奶奶家 里。妻子在电视台上班，台里的领导是夫妻大学时的老班长。小有才华的丈夫成长没有工作，想自己创业，但总是不顺处处碰壁，给人家拍片，不要，好不容易找到 一个机会，重拍，借台里的摄像机，摔了。这更让本来就困难的家雪上加霜。虽然贤惠懂事的妻子徐帆一直支持他,小两口也挺幸福的。可是事业不得志的丈夫在重 压下心态变化，一件小事让他们大吵了一架。看着委屈的徐帆，实在唏嘘不已。感想什么的就不说了，不过我相信，成长和爱情，一定会成功的。&lt;br /&gt;&lt;br /&gt; [第三天]&lt;br /&gt; 已经是第三天，下午P的时候居然突然想到她现在的情况。。。好想打个电话问问。亲爱的，真对不起。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/16069314-112550128146683529?l=sevenever.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://sevenever.blogspot.com/feeds/112550128146683529/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=16069314&amp;postID=112550128146683529' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/112550128146683529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/16069314/posts/default/112550128146683529'/><link rel='alternate' type='text/html' href='http://sevenever.blogspot.com/2005/08/blog-post.html' title='无题'/><author><name>sevevever</name><uri>http://www.blogger.com/profile/08505037639870752225</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://1.bp.blogspot.com/_fdLwLVaSB9A/SLYwMSg_A2I/AAAAAAAABH8/cMtmu36tGOA/S220/logo128.gif'/></author><thr:total>3</thr:total></entry></feed>
