<?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-3377236920983282216</id><updated>2011-07-31T01:28:26.787-04:00</updated><category term='InformationRetrieval'/><category term='Engineering'/><category term='MyResearch'/><category term='DoYouKnow'/><category term='News'/><category term='programming'/><title type='text'>Meaningful Life</title><subtitle type='html'>Time is limited but last forever.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>21</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-5554591936565265915</id><published>2010-01-05T09:47:00.000-05:00</published><updated>2010-01-05T09:47:59.807-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='News'/><title type='text'>So exciting that I can download AudioBook from TCPL</title><content type='html'>Thanks to information technology that I can download audiobook from my library without any extra fee. Haha, today's best thing! Enjoying~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-5554591936565265915?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/5554591936565265915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2010/01/so-exciting-that-i-can-download.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/5554591936565265915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/5554591936565265915'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2010/01/so-exciting-that-i-can-download.html' title='So exciting that I can download AudioBook from TCPL'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-8940749289982139620</id><published>2009-05-12T23:31:00.006-04:00</published><updated>2010-01-01T13:35:40.017-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoYouKnow'/><title type='text'>Do you know what is X11?</title><content type='html'>&lt;span style="font-family: 'Lucida Grande'; font-size: 12px;"&gt;X11 for Mac OS X is an implementation of the X Window System that makes it possible to run X11-based applications in Mac OS X. Based on the&amp;nbsp;&lt;a href="http://www.x.org/wiki/" onclick="s_objectID=&amp;quot;http://www.x.org/wiki/_1&amp;quot;;return this.s_oc?this.s_oc(e):true" style="text-decoration: none;"&gt;&lt;span style="color: black;"&gt;X.org Foundation&lt;/span&gt;&lt;/a&gt;&amp;nbsp;releases -- the leading reference implementation of X11 -- X11 for Mac OS X is compatible, fast, and fully integrated with Mac OS X. It features includes full X11R7 compatibility including an X window server, Quartz window manager, libraries, and basic utilities such as xterm. It is optional but installed by default on Mac OS X v10.5 Leopard. The X11 SDK headers are available as part of the&amp;nbsp;&lt;a href="http://developer.apple.com/tools/xcode/" onclick="s_objectID=&amp;quot;http://developer.apple.com/tools/xcode/_1&amp;quot;;return this.s_oc?this.s_oc(e):true" style="text-decoration: none;"&gt;&lt;span style="color: black;"&gt;Xcode&lt;/span&gt;&lt;/a&gt;&amp;nbsp;Developer Tools.&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-8940749289982139620?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/8940749289982139620/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/05/do-you-know-what-is-x11.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/8940749289982139620'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/8940749289982139620'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/05/do-you-know-what-is-x11.html' title='Do you know what is X11?'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-5335438808371719294</id><published>2009-05-10T22:42:00.003-04:00</published><updated>2010-01-01T13:35:26.050-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MyResearch'/><title type='text'>review of SVM</title><content type='html'>&lt;div style="font: 12.0px STHeiti Light; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="font-size: medium;"&gt;SVM(Support Vector Machine) is an classifying algorithm using for machine learning and regression. The basic idea is simple and powerful that find a hyperplane to classify different set of data.&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px STHeiti Light; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 12.0px;"&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px STHeiti Light; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="font-size: medium;"&gt;Initially, there are 2 parameters need to optimize, w and b. How to decide the optimal solution? Maximizing margin between two sets. This goal is equal to minimize the(1/2)||w||^2[I am not very clear about this]. By adding Lagrangian constrain, through derivation of w and b, the optimal answer is gotten.&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px STHeiti Light; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 12.0px;"&gt;&lt;span style="font-size: medium;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px STHeiti Light; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="font-size: medium;"&gt;Then, considering more complicate cases, how can we do when the data are not linear? Recall above the solution is gotten in the linear situation, therefore, we can transform non-linear dataset to linear, then apply SVM on them. This is one key feature about SVM: kernel function.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-5335438808371719294?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/5335438808371719294/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/05/review-of-svm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/5335438808371719294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/5335438808371719294'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/05/review-of-svm.html' title='review of SVM'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-8538125365526738638</id><published>2009-05-10T09:47:00.004-04:00</published><updated>2010-01-01T13:36:35.352-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='MyResearch'/><title type='text'>Review of k-NN and k-means</title><content type='html'>k-NN(k-Nearest Neighbor) and k-means are two totally different algorithm in pattern recognition, &lt;span style="font-size: medium;"&gt;machine&lt;/span&gt; learning and data mining. Sometimes, there are confused that maybe because both algorithm's name are contain "k". Anyway, I believe I will clear after writing this article.&lt;br /&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;First of all, we have to emphasize that the basic differences: k-NN is used to classify but k-means is used to clustering.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;In additionally, let me explain what's the meaning of "k" in both algorithms. As a classifying algorithm, we usually already knew the classes in k-NN, then an object is classified by a majority vote of its neighbors, with the object being assigned to the class most common among its k nearest neighbor. That is to say, if k=1, &amp;nbsp;an object's label is determined by the only one nearest object, if k=3, the object will assigned to one class by voting the 3 nearest neighbors. On the other hand, k&amp;nbsp;in k-means means that there are k clusters in the data, and the algorithm aims to partition n observations into k clusters with the nearest mean.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;To be continuing...&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;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-8538125365526738638?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/8538125365526738638/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/05/review-of-k-nn-and-k-means.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/8538125365526738638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/8538125365526738638'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/05/review-of-k-nn-and-k-means.html' title='Review of k-NN and k-means'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-7288261235332800172</id><published>2009-04-25T13:24:00.006-04:00</published><updated>2010-01-01T13:36:42.398-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='InformationRetrieval'/><title type='text'>PageRank and HITS in link analysis</title><content type='html'>&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;First of all, we have to emphasize that the link analysis in today's discussion mainly concerns the problem of how to give score to web page, that is to say, how to rank the pages in order to surfer's query.&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;Let's take a look at the PageRank. Based on the analysis of page's link with each other, we can get a graph to describe the webs. Since the links have direction, so does the graph. Recall that we have learn from the graphical model, the graph with directions can be viewed as Markov chain.&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;After getting the graph, we can give each edge in the graph a number between [0,1] to present the probability that the surfer will click the link. Typically, if web A has links to B, C, D, then the probability from A to B is assigned 1/3. This is reasonable that the surfer clicks the links with the same probabilities. So if A has N links to other pages, the probability on the edges to other pages will be 1/N.&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;Anyway, there is&amp;nbsp;one possible situation we should consider. What the probability from page Z to page Y if there is no link between them? We can denote the edge with 0 but it is not very reasonable because the surfer can jumped from page Z to page Y by enter an URL. Therefore, we use a teleport operation to simulate this situation. There is a parameter \alpha to denote the probability from Z to Y.&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;Now we can generate a graph to present the web relations by assigned probabilities on edges.&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;Recall that the matrix of this graph is a Markov matrix, there exists an steady state if we perform random walk in this graph. In our link analysis, the steady state can be treated as the most visited pages as well as the score for each pages.&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;Above all, we get the score by doing eigenvalue decomposition of the Matrix for the graph. We can see that the score is static and independent with the query. There also some discussions about the Topic-specific PageRank which take consideration of surfer's preference to construct graphs and combine them together. I am not talk about that here since the basic idea is same.&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;The second algorithm that we will talk about today is HITS, stands for Hyperlink-Induced Topic Search. First of all, there are two very important concepts that we have to talk first, hub score and authority score. Say it simply,&amp;nbsp; hub score estimates the value of its links to other pages. Authority score estimates the vale of the content of&amp;nbsp; the page. If the hub score is high it seems that the links are good, while the authority score is high seems that the the contents in the page are good. A good hub page is one that points to many good authority pages. A good authority page is the one that is pointed by many good hub pages.&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;By the basic idea, we can compute the hub score or authority score by adding the score of all the good authority or good hub respectively. Usually, we initialize the score is 1.&amp;nbsp; This is the method to update one web page, when there are many pages that construct a graph, we can generate an adjacency matrix A to update the hub score and authority score in the web&amp;nbsp; subset.&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;h &amp;lt;- AA'h&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;a &amp;lt;- A'Aa&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;In this way, we can update the h and a vector of hub scores and authority score. The top-scoring hubs and authorities is our want for ranking pages.&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 12.0px Helvetica; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 14.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-7288261235332800172?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/7288261235332800172/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/04/pagerank-and-hits-in-link-analysis.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/7288261235332800172'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/7288261235332800172'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/04/pagerank-and-hits-in-link-analysis.html' title='PageRank and HITS in link analysis'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-443640273398095043</id><published>2009-04-19T14:56:00.028-04:00</published><updated>2010-01-01T13:37:04.162-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='programming'/><title type='text'>File process with Java</title><content type='html'>Summarize the methods of how to do file read and write with Java today. Start my programmer way.&lt;br /&gt;&lt;div&gt;1. Simple Ex. from "Big Java":&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(1)import &amp;amp; source&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.io.FileReader;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.io.FileNotFoundException;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.util.Scanner;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;...&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;private&lt;/span&gt; FileReader &lt;span style="color: #0000c0;"&gt;reader&lt;/span&gt;;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;private&lt;/span&gt; Scanner &lt;span style="color: #0000c0;"&gt;in&lt;/span&gt;;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;...&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #0000c0;"&gt;reader&lt;/span&gt; = &lt;span style="color: #7f0055;"&gt;new&lt;/span&gt; FileReader(&lt;span style="color: #0000c0;"&gt;inFileName&lt;/span&gt;);&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #0000c0;"&gt;in&lt;/span&gt; = &lt;span style="color: #7f0055;"&gt;new&lt;/span&gt; Scanner(&lt;span style="color: #0000c0;"&gt;reader&lt;/span&gt;);&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;...&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;return&lt;/span&gt; &lt;span style="color: #0000c0;"&gt;in&lt;/span&gt;.nextFloat();//&lt;a href="http://java.sun.com/j2se/1.5.0/docs/api/java/util/Scanner.html"&gt;see more&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;(2)exception&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Monaco; font-size: 11px;"&gt;FileNotFoundException&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;2. Get file length and the lines in the file:&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(1)import &amp;amp; source&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt;&amp;nbsp;java.io.FileReader;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt;&amp;nbsp;java.io.IOException;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt;&amp;nbsp;java.io.RandomAccessFile;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt;&amp;nbsp;java.io.LineNumberReader;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt;&amp;nbsp;java.util.Scanner;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;...&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="color: #009900;"&gt;/* get length */&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;RandomAccessFile randFile = &lt;span style="color: #7f0055;"&gt;new&lt;/span&gt; RandomAccessFile(filename, &lt;span style="color: #2a00ff;"&gt;"r"&lt;/span&gt;);&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt;  &lt;/span&gt;&lt;span style="color: #7f0055;"&gt;long&lt;/span&gt; fileLen = randFile.length();&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt;  &lt;/span&gt;randFile.close();&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #009900;"&gt;/* get the number of lines */&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;FileReader readForLine = &lt;span style="color: #7f0055;"&gt;new&lt;/span&gt; FileReader(filename);&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;LineNumberReader lineRead = &lt;span style="color: #7f0055;"&gt;new&lt;/span&gt; LineNumberReader(readForLine);&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;lineRead.skip(fileLen);&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #0000c0;"&gt;numberOfLines&lt;/span&gt; = lineRead.getLineNumber() + 1;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;lineRead.close();&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;readForLine.close();&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;...&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;(2)exception&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;IOException&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;3. read and write for certain constant length&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(1)import &amp;amp; source&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.io.InputStream;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.io.OutputStream;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; &lt;span style="text-decoration: underline;"&gt;java.io.BufferedInputStream&lt;/span&gt;;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.io.BufferedOutputStream;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; &lt;span style="text-decoration: underline;"&gt;java.io.FileInputStream&lt;/span&gt;;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.io.FileOutputStream;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;...&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;InputStream &lt;span style="text-decoration: underline;"&gt;in&lt;/span&gt; = &lt;span style="color: #7f0055;"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;OutputStream out = &lt;span style="color: #7f0055;"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;byte&lt;/span&gt;[] buf = &lt;span style="color: #7f0055;"&gt;null&lt;/span&gt;;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;int&lt;/span&gt; LEN = 4096;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;int&amp;nbsp;&lt;span style="text-decoration: underline;"&gt;reallen = 0;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;...&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;in = new BufferedInputStream(new FileInputStream("&lt;span style="text-decoration: underline;"&gt;in&lt;/span&gt;.&lt;span style="text-decoration: underline;"&gt;txt&lt;/span&gt;"));&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;out = new BufferedOutputStream(new FileOutputStream("out.&lt;span style="text-decoration: underline;"&gt;txt&lt;/span&gt;"));&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;...&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;while((&lt;span style="text-decoration: underline;"&gt;reallen&lt;/span&gt; = in.read(&lt;span style="text-decoration: underline;"&gt;buf&lt;/span&gt;, 0, LEN))!=-1){&lt;span style="white-space: pre;"&gt;&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;out.write(&lt;span style="text-decoration: underline;"&gt;buf&lt;/span&gt;, 0,&amp;nbsp;&lt;span style="text-decoration: underline;"&gt;reallen&lt;/span&gt;);&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;}&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;in.close();&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;out.close();&lt;br /&gt;&lt;/div&gt;&lt;div style="font: normal normal normal 11px/normal Monaco; margin-bottom: 0px; margin-left: 0px; margin-right: 0px; margin-top: 0px;"&gt;...&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;(2)exception&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span style="font-family: Monaco; font-size: 11px;"&gt;IOException&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;4. read and write for variable length(depends on a certain character, Ex. '\n')&lt;br /&gt;&lt;/div&gt;&lt;div&gt;(1)import &amp;amp; source&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.io.InputStream;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.io.OutputStream;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; &lt;span style="text-decoration: underline;"&gt;java.io.BufferedInputStream&lt;/span&gt;;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.io.BufferedOutputStream;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; &lt;span style="text-decoration: underline;"&gt;java.io.FileInputStream&lt;/span&gt;;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.io.FileOutputStream;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.lang.Exception;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px; min-height: 15.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.io.RandomAccessFile;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;import&lt;/span&gt; java.io.IOException;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;...&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;RandomAccessFile raf = &lt;span style="color: #7f0055;"&gt;new&lt;/span&gt; RandomAccessFile(&lt;span style="color: #2a00ff;"&gt;"in.txt"&lt;/span&gt;, &lt;span style="color: #2a00ff;"&gt;"r"&lt;/span&gt;);&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;OutputStream &amp;nbsp;out = &lt;span style="color: #7f0055;"&gt;new&lt;/span&gt; BufferedOutputStream(&lt;span style="color: #7f0055;"&gt;new&lt;/span&gt; FileOutputStream(&lt;span style="color: #2a00ff;"&gt;"out.txt"&lt;/span&gt;));&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;...&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;while&lt;/span&gt;((reallen = raf.read(buf, 0, LEN))!=-1){&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;onelen = filterOneRecord(buf);&lt;span style="color: #009900;"&gt;//see below, stop as first '\n'&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;onelen = (onelen == -1)?(0):(onelen);&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;out.write(&lt;span style="color: #2a00ff;"&gt;'\t'&lt;/span&gt;);&lt;span style="color: #009900;"&gt;//add additional process here, now just add a '\t'&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;out.write(buf, 0, onelen);&lt;span style="color: #3f7f5f;"&gt;//0 is offset&lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="color: #3f7f5f; font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: black;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;startlen += onelen+1;&lt;/span&gt;//1 is the char of '\n', otherwise always start from '\n'&lt;span style="white-space: pre;"&gt;  &lt;/span&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;raf.seek(startlen);&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;}&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;raf.close();&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;out.close();&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;(2)exception&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;IOException&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;(3)functions&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="color: #7f0055;"&gt;private&lt;/span&gt; &lt;span style="color: #7f0055;"&gt;static&lt;/span&gt; &lt;span style="color: #7f0055;"&gt;int&lt;/span&gt; filterOneRecord(&lt;span style="color: #7f0055;"&gt;byte&lt;/span&gt;[] buf)&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;{&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #7f0055;"&gt;int&lt;/span&gt; len=0;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;String str = &lt;span style="color: #7f0055;"&gt;new&lt;/span&gt; String(buf);&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;len = str.indexOf(&lt;span style="color: #2a00ff;"&gt;'\n'&lt;/span&gt;);&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;&lt;span style="white-space: pre;"&gt; &lt;/span&gt;&lt;span style="color: #7f0055;"&gt;return&lt;/span&gt; len;&lt;br /&gt;&lt;/div&gt;&lt;div style="font: 11.0px Monaco; margin: 0.0px 0.0px 0.0px 0.0px;"&gt;}&lt;br /&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-443640273398095043?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/443640273398095043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/04/file-process-with-java.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/443640273398095043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/443640273398095043'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/04/file-process-with-java.html' title='File process with Java'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-6208631388827879734</id><published>2009-03-27T21:35:00.006-04:00</published><updated>2010-01-01T13:37:12.583-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoYouKnow'/><title type='text'>Tcl</title><content type='html'>Today I see the term "tcl" for twice, therefore I think it's worth to note that what is tcl.&lt;br /&gt;&lt;br /&gt;Background, today I restart my travel with Dyninst, after reinstalled my laptop's OS, I download the libdyninst and libdyninst-dev to install, but suddenly, the computer says that the first one needs the denpendency of tcl8.4(what's hell of that?) and the second one says that it needs the dependency of libdyninst(Of course, I didnot install the lib which stucked by tcl8.4). Anyway, after reviewing how to use apitude to search and install the lib of linux, "package installer" installs all the associated dependency automatically, which I do not know why it can not run for the first time.&lt;br /&gt;&lt;br /&gt;Actually, it reminds me one Chinese trade mark TCL which was made fun of Chinese people as "Tao Cha Le" that means "aweful" or "very bad".&lt;br /&gt;&lt;br /&gt;Here we go with tcl. &lt;a href="http://en.wikipedia.org/wiki/Tcl"&gt;&lt;b&gt;Tcl&lt;/b&gt;&lt;/a&gt; (originally from "Tool Command Language", but nonetheless conventionally rendered as "Tcl" rather than "TCL"; pronounced as "tickle" or "tee-cee-ell"&lt;sup class="reference" id="cite_ref-1"&gt;&lt;/sup&gt;) is a scripting language created by John Ousterhout. Originally "born out of frustration"&lt;sup class="reference" id="cite_ref-2"&gt;&lt;/sup&gt;—according to the author—with programmers devising their own (poor quality) languages intended to be embedded into applications, Tcl quickly gained wide acceptance on its own and is generally thought to be easy to learn&lt;sup class="reference" id="cite_ref-3"&gt;&lt;/sup&gt;, but powerful in competent hands. It is most commonly used for rapid prototyping, scripted applications, GUIs and testing. Tcl is used extensively on embedded systems platforms, both in its full form and in several other small-footprinted versions. Tcl is also used for CGI scripting and as the scripting language for the Eggdrop bot. &lt;br /&gt;The combination of Tcl and the Tk GUI toolkit is referred to as &lt;b&gt;Tcl/Tk&lt;/b&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-6208631388827879734?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/6208631388827879734/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/tcl.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/6208631388827879734'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/6208631388827879734'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/tcl.html' title='Tcl'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-7693578042134396803</id><published>2009-03-27T21:32:00.004-04:00</published><updated>2010-01-01T13:37:24.105-05:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoYouKnow'/><title type='text'>Python</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Python_%28programming_language%29"&gt;&lt;b&gt;Python&lt;/b&gt;&lt;/a&gt; is a general-purpose high-level programming language.&lt;sup class="reference" id="cite_ref-1"&gt;&lt;/sup&gt; Its design philosophy emphasizes code readability.&lt;sup class="reference" id="cite_ref-2"&gt;&lt;/sup&gt; Python's core syntax and semantics are minimalistic, while the standard library is large and comprehensive. Its use of whitespace as block delimiters is unusual among popular programming languages.&lt;br /&gt;Python supports multiple programming paradigms (primarily object oriented, imperative, and functional) and features a fully dynamic type system and automatic memory management, similar to Perl, Ruby, Scheme, and Tcl. Like other dynamic languages, Python is often used as a scripting language.&lt;br /&gt;The language has an open, community-based development model managed by the non-profit Python Software Foundation, which maintains the de facto standard definition of the language in CPython, the reference implementation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-7693578042134396803?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/7693578042134396803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/python.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/7693578042134396803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/7693578042134396803'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/python.html' title='Python'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-2190239043510213280</id><published>2009-03-27T20:40:00.003-04:00</published><updated>2009-03-27T20:47:21.815-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoYouKnow'/><title type='text'>ttf</title><content type='html'>Background: yesterday I reinstalled my laptop for a new Linux operating system. Today, I update the language support for Chinese input. During the computer installing the needed package, I wait and see the installation details, finding that there so many libs contain the character of "ttf", what's ttf? Then I search and get the answer:&lt;br /&gt;&lt;br /&gt;TTF refers to True Type Font. &lt;a href="http://en.wikipedia.org/wiki/True_Type_Font"&gt;&lt;b&gt;TrueType&lt;/b&gt;&lt;/a&gt; is an &lt;span class="mw-redirect"&gt;outline font&lt;/span&gt; standard originally developed by &lt;span class="mw-redirect"&gt;Apple Computer&lt;/span&gt; in the late 1980s as a competitor to Adobe's &lt;span class="mw-redirect"&gt;Type 1 fonts&lt;/span&gt; used in PostScript. The primary strength of TrueType was originally that it offered font developers a high degree of control over precisely how their fonts are displayed, right down to particular pixels, at various font heights. (With widely varying rendering technologies in use today, pixel-level control is no longer certain.)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-2190239043510213280?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/2190239043510213280/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/ttf.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/2190239043510213280'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/2190239043510213280'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/ttf.html' title='ttf'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-9198078738836242781</id><published>2009-03-17T21:26:00.001-04:00</published><updated>2009-03-17T21:32:18.905-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Engineering'/><title type='text'>Linus geek (4): apt-get</title><content type='html'>&lt;a href="http://www.cyberciti.biz/howto/question/linux/apt-get-cheat-sheet.php"&gt;apt-get &lt;/a&gt;is the command-line tool for handling packages for Debian Linux which is use to:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Install/manage individual packages &lt;/li&gt;&lt;li&gt;Upgrade packages &lt;/li&gt;&lt;li&gt;Apply security patch(s) &lt;/li&gt;&lt;li&gt;Keep Debian system up to date &lt;/li&gt;&lt;li&gt;Download source .deb files &lt;/li&gt;&lt;li&gt;Front-end to many GUI and other utilities &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-9198078738836242781?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/9198078738836242781/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/linus-geek4.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/9198078738836242781'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/9198078738836242781'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/linus-geek4.html' title='Linus geek (4): apt-get'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-1291578626562860064</id><published>2009-03-17T21:22:00.001-04:00</published><updated>2009-03-17T21:24:23.680-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoYouKnow'/><title type='text'>Data striping &amp; Disk mirroring</title><content type='html'>&lt;ul&gt;&lt;li&gt;Data Striping&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;In &lt;a title="Computer data storage" href="http://en.wikipedia.org/wiki/Computer_data_storage"&gt;computer data storage&lt;/a&gt;, data striping is the segmentation of logically sequential data, such as a single file, so that segments can be assigned to multiple physical devices (usually &lt;a class="mw-redirect" title="Disk drive" href="http://en.wikipedia.org/wiki/Disk_drive"&gt;disk drives&lt;/a&gt; in the case of &lt;a title="RAID" href="http://en.wikipedia.org/wiki/RAID"&gt;RAID&lt;/a&gt; storage, or &lt;a title="Network interface" href="http://en.wikipedia.org/wiki/Network_interface"&gt;network interfaces&lt;/a&gt; in the case of &lt;a class="mw-redirect" title="Grid-oriented Storage" href="http://en.wikipedia.org/wiki/Grid-oriented_Storage"&gt;Grid-oriented Storage&lt;/a&gt;) in a &lt;a title="Round-robin" href="http://en.wikipedia.org/wiki/Round-robin"&gt;round-robin&lt;/a&gt; fashion and thus written concurrently.&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Data Mirroring&lt;/li&gt;&lt;/ul&gt;In &lt;a title="Data storage" href="http://en.wikipedia.org/wiki/Data_storage"&gt;data storage&lt;/a&gt;, disk mirroring or &lt;a class="mw-redirect" title="RAID1" href="http://en.wikipedia.org/wiki/RAID1"&gt;RAID1&lt;/a&gt; is the replication of logical disk volumes onto separate physical &lt;a class="mw-redirect" title="Hard disk" href="http://en.wikipedia.org/wiki/Hard_disk"&gt;hard disks&lt;/a&gt; in &lt;a title="Real-time computing" href="http://en.wikipedia.org/wiki/Real-time_computing"&gt;real time&lt;/a&gt; to ensure &lt;a class="new" title="Continuous availability (page does not exist)" href="http://en.wikipedia.org/w/index.php?title=Continuous_availability&amp;amp;action=edit&amp;amp;redlink=1"&gt;continuous availability&lt;/a&gt;. A mirrored volume is a complete logical representation of separate volume copies.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-1291578626562860064?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/1291578626562860064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/data-striping-disk-mirroring.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/1291578626562860064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/1291578626562860064'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/data-striping-disk-mirroring.html' title='Data striping &amp; Disk mirroring'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-1080939956476578398</id><published>2009-03-17T20:41:00.008-04:00</published><updated>2009-03-17T20:51:32.680-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoYouKnow'/><title type='text'>Solaris &amp; Safari</title><content type='html'>I am a little confused with these two things, since maybe there are similar with start from "S" and both contain "ari". Anyway, after &lt;a href="http://en.wikipedia.org/wiki/Wiki"&gt;wiki&lt;/a&gt;ing them, I am clear, Do you?&lt;br /&gt;&lt;br /&gt;Solaris is a &lt;a title="Unix" href="http://en.wikipedia.org/wiki/Unix"&gt;Unix&lt;/a&gt;-based &lt;a title="Operating system" href="http://en.wikipedia.org/wiki/Operating_system"&gt;operating system&lt;/a&gt; introduced by &lt;a title="Sun Microsystems" href="http://en.wikipedia.org/wiki/Sun_Microsystems"&gt;Sun Microsystems&lt;/a&gt; in 1992 as the successor to &lt;a title="SunOS" href="http://en.wikipedia.org/wiki/SunOS"&gt;SunOS&lt;/a&gt;.&lt;br /&gt;Solaris is known for its &lt;a title="Scalability" href="http://en.wikipedia.org/wiki/Scalability"&gt;scalability&lt;/a&gt;, especially on &lt;a title="SPARC" href="http://en.wikipedia.org/wiki/SPARC"&gt;SPARC&lt;/a&gt; systems, and for originating many innovative features such as &lt;a title="DTrace" href="http://en.wikipedia.org/wiki/DTrace"&gt;DTrace&lt;/a&gt; and &lt;a title="ZFS" href="http://en.wikipedia.org/wiki/ZFS"&gt;ZFS&lt;/a&gt;.&lt;a title="" href="http://en.wikipedia.org/wiki/Solaris_(operating_system)#cite_note-0"&gt;[1]&lt;/a&gt;&lt;a title="" href="http://en.wikipedia.org/wiki/Solaris_(operating_system)#cite_note-1"&gt;[2]&lt;/a&gt; Solaris supports SPARC-based and &lt;a title="X86" href="http://en.wikipedia.org/wiki/X86"&gt;x86&lt;/a&gt;-based &lt;a title="Workstation" href="http://en.wikipedia.org/wiki/Workstation"&gt;workstations&lt;/a&gt; and &lt;a class="mw-redirect" title="Computer server" href="http://en.wikipedia.org/wiki/Computer_server"&gt;servers&lt;/a&gt; from Sun and other vendors, with efforts underway to port to additional platforms.&lt;br /&gt;Solaris is certified against the &lt;a class="mw-redirect" title="Single Unix Specification" href="http://en.wikipedia.org/wiki/Single_Unix_Specification"&gt;Single Unix Specification&lt;/a&gt;. Although it was historically developed as &lt;a title="Proprietary software" href="http://en.wikipedia.org/wiki/Proprietary_software"&gt;proprietary software&lt;/a&gt;, it is supported on systems manufactured by all major server vendors, and the majority of its &lt;a title="Codebase" href="http://en.wikipedia.org/wiki/Codebase"&gt;codebase&lt;/a&gt; is now &lt;a title="Open source software" href="http://en.wikipedia.org/wiki/Open_source_software"&gt;open source software&lt;/a&gt; via the &lt;a title="OpenSolaris" href="http://en.wikipedia.org/wiki/OpenSolaris"&gt;OpenSolaris&lt;/a&gt; project.&lt;br /&gt;&lt;br /&gt;Safari is a &lt;a title="Web browser" href="http://en.wikipedia.org/wiki/Web_browser"&gt;web browser&lt;/a&gt; developed by &lt;a title="Apple Inc." href="http://en.wikipedia.org/wiki/Apple_Inc."&gt;Apple Inc.&lt;/a&gt;. First released as a &lt;a class="mw-redirect" title="Beta (software)" href="http://en.wikipedia.org/wiki/Beta_(software)"&gt;public beta&lt;/a&gt; on January 7, 2003&lt;a title="" href="http://en.wikipedia.org/wiki/Safari_(web_browser)#cite_note-0"&gt;[1]&lt;/a&gt; on the company's &lt;a title="Mac OS X" href="http://en.wikipedia.org/wiki/Mac_OS_X"&gt;Mac OS X&lt;/a&gt; &lt;a title="Operating system" href="http://en.wikipedia.org/wiki/Operating_system"&gt;operating system&lt;/a&gt;, it became Apple's default browser beginning with &lt;a title="Mac OS X v10.3" href="http://en.wikipedia.org/wiki/Mac_OS_X_v10.3"&gt;Mac OS X v10.3&lt;/a&gt;, commonly known as "OS X Panther." Apple has also made Safari the native browser for the &lt;a title="IPhone OS" href="http://en.wikipedia.org/wiki/IPhone_OS"&gt;iPhone OS&lt;/a&gt;.&lt;br /&gt;The current stable release of the browser is 3.2.1 (Macintosh) and 3.2.2 (Windows), but the Apple website more prominently displays the Safari 4 Beta, a pre-release version, for users to download.&lt;br /&gt;On June 11, 2007, a version of Safari was released for the &lt;a title="Microsoft Windows" href="http://en.wikipedia.org/wiki/Microsoft_Windows"&gt;Microsoft Windows&lt;/a&gt; operating system,&lt;a title="" href="http://en.wikipedia.org/wiki/Safari_(web_browser)#cite_note-1"&gt;[2]&lt;/a&gt; supporting both &lt;a title="Windows XP" href="http://en.wikipedia.org/wiki/Windows_XP"&gt;Windows XP&lt;/a&gt; and &lt;a title="Windows Vista" href="http://en.wikipedia.org/wiki/Windows_Vista"&gt;Windows Vista&lt;/a&gt;.&lt;br /&gt;Safari has a 8.02% market share as of February 2009.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-1080939956476578398?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/1080939956476578398/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/solaris.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/1080939956476578398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/1080939956476578398'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/solaris.html' title='Solaris &amp; Safari'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-5868400994542397708</id><published>2009-03-13T10:45:00.010-04:00</published><updated>2009-03-17T20:42:07.355-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='InformationRetrieval'/><title type='text'>Challenges in XML retrieval</title><content type='html'>&lt;p&gt;These &lt;a href="http://www-csli.stanford.edu/~hinrich/information-retrieval-book.html"&gt;challenges &lt;/a&gt;are focus on (1) text-centric XML not data-centric XML retrieval and (2)relevant statistic analysis instead of proprocessing and postprocessing by certain constraints:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Structured document retrieval principle：User want to get parts of document in XML retrieval, not like the unstructured retrieval that return the whole document. So, the first problem is which's parts is returned to user. Structured document retrieval principle suggests the system always retrieve the most specific part of a document answering a query.&lt;/li&gt;&lt;li&gt;Indexing Unit: Parallel to the latter challenge, how to index a document? In unstructured retrieval, it is usually clear that the right document unis is files, or emails, or a web pages and so on. In structured retrieval, there are many approach to defining the indexing unit. Here are 4 approach can be used(based on the tree DOM): (1) Group nodes to nonoverlapping pseudodocuments; (2) Select one of the largest elements as the indexing units; (3) Based on searching the most relevant one of all leaves, we can extend them to larger units in postprocessing; (4) The last, the least restrictive approach is to index all elements(It is clear that this araises indexing redundancy and do some kind of ). &lt;/li&gt;&lt;li&gt;Relevant statistics for XML retrieval ranking: we have give some proper solutions on unstructured document retrieval. But XML retrieval has some features that cause difficulties to distinguish different context of a term when we compute term statistic for raning, e.g. how to calculate idf. &lt;/li&gt;&lt;li&gt;Schema Heterogeneity(Schema Diversity): A schema puts constraints on the structure of allowable XML documents for a particular application. However, IR system does retrieval in a large collection with difference XML schemas. This phonomenon is called schema heterogeneity. So, if a user want to do query with an exactly schema from his/her mind, but unfortunately, it is not match the schema in the collection, he/she will get nothing. &lt;/li&gt;&lt;li&gt;Interface design for XML retrieval: As we saw that the failure of IR retrieval is caused by the schema diversity that user doesnot know the schema in the dataset. Therefore, interface design for XML retrieval raised by the latter challenge. If the system gives user a tree structure of the schema of the collection rather than keyword queries like google does, ideally, schema diversity problem can be partially solved. &lt;/li&gt;&lt;li&gt;Extended query: besides the tree interface design for IR system, we can also support the user by interpreting all parent-child relationships in queris as descendant relationships with any number of intervening modes allowed. &lt;/li&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-5868400994542397708?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/5868400994542397708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/challenges-in-xml-retrieval.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/5868400994542397708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/5868400994542397708'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/challenges-in-xml-retrieval.html' title='Challenges in XML retrieval'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-6879318299272057069</id><published>2009-03-08T14:31:00.003-04:00</published><updated>2009-03-08T21:44:22.227-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Engineering'/><title type='text'>Linux geek (3): cc</title><content type='html'>About &lt;a href="http://www.computerhope.com/unix/ucc.htm#03"&gt;cc&lt;/a&gt;               &lt;p&gt;&lt;a href="http://www.computerhope.com/jargon/c/c.htm"&gt;C&lt;/a&gt;     &lt;a href="http://www.computerhope.com/jargon/c/compile.htm"&gt;compiler&lt;/a&gt;.&lt;/p&gt;               &lt;p class="nb"&gt;&lt;a name="02"&gt;&lt;/a&gt;Syntax&lt;/p&gt;               &lt;p&gt;&lt;i&gt;cc  [ options ]&lt;/i&gt;&lt;/p&gt;               &lt;table width="100%" border="0" cellpadding="0" cellspacing="0"&gt;                 &lt;tbody&gt;&lt;tr&gt;                   &lt;td valign="top" width="120"&gt;-c&lt;/td&gt;                   &lt;td valign="top"&gt;Compiles only; does not attempt to                     link source files.&lt;/td&gt;                 &lt;/tr&gt;                 &lt;tr&gt;                   &lt;td valign="top" width="120"&gt;-D name[=value]&lt;/td&gt;                   &lt;td valign="top"&gt;Is passed to C compiler to assign                     the indicated value to the symbol &lt;i&gt;name&lt;/i&gt; when the C                     preprocessor is run.&lt;/td&gt;                 &lt;/tr&gt;                 &lt;tr&gt;                   &lt;td valign="top" width="120"&gt;-f float&lt;/td&gt;                   &lt;td valign="top"&gt;Specifies the floating point options                     that the compiler and linker use. The following should be                     supported:                     &lt;p&gt;&lt;b&gt;-f -&lt;/b&gt;  - no floating point required&lt;br /&gt;                  &lt;b&gt;-f&lt;/b&gt; - emulated floating point&lt;br /&gt;                  &lt;b&gt;-fp&lt;/b&gt; hardware floating point (using 80x87 coprocessor)&lt;/p&gt;&lt;/td&gt;                 &lt;/tr&gt;                 &lt;tr&gt;                   &lt;td valign="top" width="120"&gt;-Idir&lt;/td&gt;                   &lt;td valign="top"&gt;Search dir for included files whose names do not begin with a slash (/) prior to searching the usual directories. The directories for multiple -I options are searched in the order specified. The preprocessor first searches for #include files in the directory containing sourcefile, and then in directories named with -I options (if any), then /usr/ucbinclude, and finally, in /usr/include.&lt;/td&gt;                 &lt;/tr&gt;                 &lt;tr&gt;                   &lt;td valign="top" width="120"&gt;-Ldir&lt;/td&gt;                   &lt;td valign="top"&gt;Add dir to the list of directories searched for libraries by /usr/ccs/bin/ucbcc. This option is passed to /usr/ccs/bin/ld and /usr/lib. Directories specified with this option are searched before /usr/ucblib and /usr/lib.&lt;/td&gt;                 &lt;/tr&gt;                 &lt;tr&gt;                   &lt;td valign="top" width="120"&gt;-l library&lt;/td&gt;                   &lt;td valign="top"&gt;If linking, adds the indicated                     library to the list of libraries to be linked.&lt;/td&gt;                 &lt;/tr&gt;                 &lt;tr&gt;                   &lt;td valign="top" width="120"&gt;-M&lt;/td&gt;                   &lt;td valign="top"&gt;If linking, creates a map file with                     the same base name as the output executable, but with the suffix                     &lt;tt&gt;.map&lt;/tt&gt;. This map file contains a list of symbols with                     their addresses.&lt;/td&gt;                 &lt;/tr&gt;                 &lt;tr&gt;                   &lt;td valign="top" width="120"&gt;-m model&lt;/td&gt;                   &lt;td valign="top"&gt;Specifies the memory model that the                     compiler and linker use. The models may include:                     &lt;p&gt; &lt;/p&gt;                     &lt;table width="100%" border="0" cellpadding="0" cellspacing="0"&gt;                       &lt;tbody&gt;&lt;tr&gt;                         &lt;td width="40"&gt;-ms&lt;/td&gt;                         &lt;td&gt;small model&lt;/td&gt;                       &lt;/tr&gt;                       &lt;tr&gt;                         &lt;td width="40"&gt;-mm&lt;/td&gt;                         &lt;td&gt;medium model&lt;/td&gt;                       &lt;/tr&gt;                       &lt;tr&gt;                         &lt;td width="40"&gt;-ml&lt;/td&gt;                         &lt;td&gt;large model&lt;/td&gt;                       &lt;/tr&gt;                       &lt;tr&gt;                         &lt;td width="40"&gt;-mf&lt;/td&gt;                         &lt;td&gt;flat model (32-bit)&lt;/td&gt;                       &lt;/tr&gt;                       &lt;tr&gt;                         &lt;td width="40"&gt;-mc&lt;/td&gt;                         &lt;td&gt;compact model&lt;/td&gt;                       &lt;/tr&gt;                       &lt;tr&gt;                         &lt;td width="40"&gt;-mh&lt;/td&gt;                         &lt;td&gt;huge model&lt;/td&gt;                       &lt;/tr&gt;                     &lt;/tbody&gt;&lt;/table&gt;                   &lt;/td&gt;                 &lt;/tr&gt;                 &lt;tr&gt;                   &lt;td valign="top" width="120"&gt;-o output&lt;/td&gt;                   &lt;td valign="top"&gt;If linking, places the executable                     output in the file output.&lt;/td&gt;                 &lt;/tr&gt;                 &lt;tr&gt;                   &lt;td valign="top" width="120"&gt;-S&lt;/td&gt;                   &lt;td valign="top"&gt;Produces assembler listing with                     source code.&lt;/td&gt;                 &lt;/tr&gt;                 &lt;tr&gt;                   &lt;td valign="top" width="120"&gt;-Uname&lt;/td&gt;                   &lt;td valign="top"&gt;Is passed to the C compiler, to undefined                     the symbol name.&lt;/td&gt;                 &lt;/tr&gt;                 &lt;tr&gt;                   &lt;td valign="top" width="120"&gt;-Y P, dir&lt;/td&gt;                   &lt;td valign="top"&gt;Change the  default  directory  used  for  finding               libraries.&lt;/td&gt;                 &lt;/tr&gt;               &lt;/tbody&gt;&lt;/table&gt;               &lt;p class="nb"&gt;&lt;a name="03"&gt;&lt;/a&gt;Examples&lt;/p&gt;               &lt;p&gt;&lt;b&gt;cc myfile.c&lt;/b&gt; - would compile the file myfile.c.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-6879318299272057069?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/6879318299272057069/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/linux-geek-2-cc.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/6879318299272057069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/6879318299272057069'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/linux-geek-2-cc.html' title='Linux geek (3): cc'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-489405657457269097</id><published>2009-03-08T12:47:00.002-04:00</published><updated>2009-03-08T13:10:09.867-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Engineering'/><title type='text'>Linux geek (2): environment variable</title><content type='html'>&lt;span class="bodystyle"&gt;Linux command "export" is used to set an environment variable. Mark each &lt;var&gt;name&lt;/var&gt; to be  passed to child processes in the environment.&lt;br /&gt;&lt;/span&gt;&lt;pre&gt;SYNTAX&lt;br /&gt;    export [-fn] [-p] [&lt;var&gt;name&lt;/var&gt;[=&lt;var&gt;value&lt;/var&gt;]]&lt;br /&gt;&lt;br /&gt;OPTIONS&lt;br /&gt;    -f   The &lt;var&gt;name&lt;/var&gt;s refer to shell functions;&lt;br /&gt;         otherwise the names refer to shell variables&lt;br /&gt;    -n   No longer mark each &lt;var&gt;name&lt;/var&gt; for export.&lt;br /&gt;    -p   Display output in a form that may be reused as input.&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-489405657457269097?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/489405657457269097/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/linux-geek-2-environment-variable.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/489405657457269097'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/489405657457269097'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/linux-geek-2-environment-variable.html' title='Linux geek (2): environment variable'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-2554072636426137520</id><published>2009-03-08T12:18:00.004-04:00</published><updated>2009-03-08T12:29:20.222-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Engineering'/><title type='text'>Linux geek (1): rpm</title><content type='html'>In the Linux system, it can not extract *.rpm file initially(at least, my "Linux aura-laptop 2.6.27-11-generic #1 SMP Thu Jan 29 19:24:39 UTC 2009 i686 GNU/Linux"). If we input "rpm" command in terminal, it will tell you to install the rpm by inputting "sudo apt-get install rpm" to install the rpm. At the same time, using the friendly interface like Ubuntu, you can get it by clicking mouse right button to extract it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-2554072636426137520?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/2554072636426137520/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/linux-geek-1-rpm.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/2554072636426137520'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/2554072636426137520'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/linux-geek-1-rpm.html' title='Linux geek (1): rpm'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-934107648183179812</id><published>2009-03-07T20:48:00.001-05:00</published><updated>2009-03-13T12:18:17.326-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Engineering'/><title type='text'>RPM Package Manager</title><content type='html'>&lt;p style="FONT-FAMILY: arial; TEXT-ALIGN: left"&gt;&lt;b&gt;RPM Package Manager&lt;/b&gt; is a &lt;a title="Package management system" href="http://en.wikipedia.org/wiki/Package_management_system"&gt;package management system&lt;/a&gt;&lt;sup class="reference" id="cite_ref-max_0-0"&gt;&lt;a title="" href="http://en.wikipedia.org/wiki/RPM_Package_Manager#cite_note-max-0"&gt;&lt;span style="font-size:+0;"&gt;[&lt;/span&gt;1&lt;span style="font-size:+0;"&gt;]&lt;/span&gt;&lt;/a&gt;&lt;/sup&gt;. The name RPM refers to two things: a software package &lt;a title="File format" href="http://en.wikipedia.org/wiki/File_format"&gt;file format&lt;/a&gt;, and &lt;a class="mw-redirect" title="Software" href="http://en.wikipedia.org/wiki/Software"&gt;software&lt;/a&gt; packaged in this format. RPM was intended primarily for &lt;a class="mw-redirect" title="Linux distributions" href="http://en.wikipedia.org/wiki/Linux_distributions"&gt;Linux distributions&lt;/a&gt;; the file format &lt;i&gt;RPM&lt;/i&gt; is the baseline package format of the &lt;a title="Linux Standard Base" href="http://en.wikipedia.org/wiki/Linux_Standard_Base"&gt;Linux Standard Base&lt;/a&gt;.&lt;/p&gt;&lt;div style="TEXT-ALIGN: left"&gt;&lt;/div&gt;&lt;p style="FONT-FAMILY: arial; TEXT-ALIGN: left"&gt;Originally developed by &lt;a title="Red Hat" href="http://en.wikipedia.org/wiki/Red_Hat"&gt;Red Hat&lt;/a&gt; for &lt;a title="Red Hat Linux" href="http://en.wikipedia.org/wiki/Red_Hat_Linux"&gt;Red Hat Linux&lt;/a&gt;, RPM is now used by many &lt;a title="Linux distribution" href="http://en.wikipedia.org/wiki/Linux_distribution"&gt;Linux distributions&lt;/a&gt;. It has also been ported to some other &lt;a title="Operating system" href="http://en.wikipedia.org/wiki/Operating_system"&gt;operating systems&lt;/a&gt;, such as &lt;a title="Novell NetWare" href="http://en.wikipedia.org/wiki/Novell_NetWare"&gt;Novell NetWare&lt;/a&gt; (as of version 6.5 SP3) and &lt;a class="mw-redirect" title="AIX operating system" href="http://en.wikipedia.org/wiki/AIX_operating_system"&gt;IBM's AIX&lt;/a&gt; as of version 4.&lt;/p&gt;&lt;div style="TEXT-ALIGN: left"&gt;&lt;/div&gt;&lt;p style="FONT-FAMILY: arial; TEXT-ALIGN: left"&gt;The phrase "RPM Package Manager" is a &lt;a title="Recursive acronym" href="http://en.wikipedia.org/wiki/Recursive_acronym"&gt;recursive acronym&lt;/a&gt;.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-934107648183179812?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/934107648183179812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/rpm-package-manager.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/934107648183179812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/934107648183179812'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/rpm-package-manager.html' title='RPM Package Manager'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-6174485416787857240</id><published>2009-03-04T17:20:00.014-05:00</published><updated>2009-03-17T20:43:33.526-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoYouKnow'/><title type='text'>XML</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/XML"&gt;XML&lt;/a&gt;, refers to eXtensible Markup Language, is meta markup language that is now widely used.&lt;br /&gt;&lt;br /&gt;Before XML, there are many markup languages, GML(&lt;a title="IBM Generalized Markup Language" href="http://en.wikipedia.org/wiki/IBM_Generalized_Markup_Language"&gt;Generalized Markup Language&lt;/a&gt;), &lt;a href="http://en.wikipedia.org/wiki/SGML"&gt;SGML&lt;/a&gt;(Standard Generalized Markup Language), &lt;a href="http://en.wikipedia.org/wiki/HTML"&gt;HTML&lt;/a&gt;(HyperText Markup Language).&lt;br /&gt;&lt;br /&gt;&lt;p&gt;SGML found wide acceptance and use in fields with very large-scale documentation requirements. However, it was generally found to be cumbersome and difficult to learn, a side effect of attempting to do too much and be too flexible. XML is a subset of SGML, designed so as to make the parser much easier to implement than a full SGML parser.&lt;br /&gt;&lt;span title="This claim needs references to reliable sources since April 2007" style="WHITE-SPACE: nowrap"&gt;&lt;/span&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-6174485416787857240?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/6174485416787857240/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/xml-retrieval.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/6174485416787857240'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/6174485416787857240'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/xml-retrieval.html' title='XML'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-5179471634953518632</id><published>2009-03-02T18:13:00.032-05:00</published><updated>2009-03-17T20:43:45.120-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='InformationRetrieval'/><title type='text'>Query refinement</title><content type='html'>Query refinement refers to users modify query using some return results by the IR system. Basically, users attempt to address this problem by manually refining a query. Actually, IR system can help with query refinement, either fully automatically or with the user in the feedback loop.&lt;br /&gt;&lt;br /&gt;The methods for tackling this problem split into two major class: global methods and local methods. Global methods are independent of query and results returned from IR system. Local methods adjust a query relative to the documents that initially appear to match the query.&lt;br /&gt;&lt;br /&gt;Local methods, that include user in the feedback loop, gain more attention because is one of the most used and most successful approaches. While global methods mainly refer to "query expansion" in this book that assist user to refine the initial query according to thesaurus.&lt;br /&gt;&lt;br /&gt;The idea of relevance feedback(RF) is to involve the user in the IR process, therefore, this is a local method to do query refinement. Rocchio algorithm is the classic algorithm for implementing RF. It gives a method of incorporating relevance feedback information into the vector space model. The underlying theory is to find a revised query that maximizing the similarity with relevance documents and meanwhile minimizing similarity with nonrelevant documents. The optimal query should be the one moved from the initial query towards the centriod of the relevant and as far as possible away from the centroid from the nonrelevant documents.&lt;br /&gt;&lt;br /&gt;Anyway, RF seems good for IR system and users. However, there are lots of situations when RF doesn't work. Firstly, RF needs users have prior knowledge that make initial query that is at least somewhere close to the documents they desire. For example, if the user inputs misspelled words, then RF is unlikely to be effective. In addition, RF requires relevant documents to be similar to each other, that is to say, RF works well when relevant documents are highly clustered. That is easy to get an intuition idea the Rocchio RF model treats relevant documents as a single cluster, it's obvious that Rocchio RF will fail if the relevant documents belong to more than one classes. Unfortunately, this could happen if subsets of the documents using different vocabulary, or a query for which the answer set is inherently disjunctive.&lt;br /&gt;&lt;br /&gt;As a result, in general, RF has been little used in web search.&lt;br /&gt;&lt;br /&gt;----Motivated by reading "&lt;a href="http://www-csli.stanford.edu/~hinrich/information-retrieval-book.html"&gt;Information retrieval&lt;/a&gt;".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-5179471634953518632?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/5179471634953518632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/query-refinement.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/5179471634953518632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/5179471634953518632'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/query-refinement.html' title='Query refinement'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-9129966822487609879</id><published>2009-03-02T10:46:00.003-05:00</published><updated>2009-03-17T20:44:04.547-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoYouKnow'/><title type='text'>SIGIR</title><content type='html'>&lt;a href="http://www.sigir.org/index.html"&gt;SIGIR&lt;/a&gt; is the &lt;a title="Association for Computing Machinery" href="http://en.wikipedia.org/wiki/Association_for_Computing_Machinery"&gt;Association for Computing Machinery&lt;/a&gt;'s Special Interest Group on &lt;a class="mw-redirect" title="Information Retrieval" href="http://en.wikipedia.org/wiki/Information_Retrieval"&gt;Information Retrieval&lt;/a&gt;. The scope of the group's specialty is the theory and application of computers to the acquisition, organization, storage, retrieval and distribution of information; emphasis is placed on working with non-numeric information, ranging from natural language to highly structured data bases.&lt;br /&gt;The annual international SIGIR conference series, which began in 1978 (there was an initial SIGIR conference in 1971), is considered one of the most important conferences in the field of information retrieval. The 31st SIGIR conference (&lt;a class="external text" title="http://www.sigir2008.org" href="http://www.sigir2008.org/" rel="nofollow"&gt;SIGIR 2008&lt;/a&gt;) took place in Singapore, and next SIGIR conference (&lt;a class="external text" title="http://www.sigir2009.org" href="http://www.sigir2009.org/" rel="nofollow"&gt;SIGIR 2009&lt;/a&gt;) will be held in Boston MA, USA. SIGIR also sponsors the annual Joint Conference on Digital Libraries &lt;a class="external text" title="http://www.jcdl.org/" href="http://www.jcdl.org/" rel="nofollow"&gt;JCDL&lt;/a&gt; in association with &lt;a title="SIGWEB" href="http://en.wikipedia.org/wiki/SIGWEB"&gt;SIGWEB&lt;/a&gt;, the Conference on Information and Knowledge Management &lt;a class="external text" title="http://www.cikm.org/" href="http://www.cikm.org/" rel="nofollow"&gt;CIKM&lt;/a&gt;, and in 2008 the International Conference on Web Search and Data Mining &lt;a class="external text" title="http://wsdm2008.org/" href="http://wsdm2008.org/" rel="nofollow"&gt;WSDM&lt;/a&gt; in association with &lt;a title="SIGKDD" href="http://en.wikipedia.org/wiki/SIGKDD"&gt;SIGKDD&lt;/a&gt;, &lt;a title="SIGMOD" href="http://en.wikipedia.org/wiki/SIGMOD"&gt;SIGMOD&lt;/a&gt;, and &lt;a title="SIGWEB" href="http://en.wikipedia.org/wiki/SIGWEB"&gt;SIGWEB&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-9129966822487609879?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/9129966822487609879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/sigir.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/9129966822487609879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/9129966822487609879'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/sigir.html' title='SIGIR'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-3377236920983282216.post-253733020282668078</id><published>2009-03-02T09:13:00.004-05:00</published><updated>2009-03-17T20:44:18.464-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='DoYouKnow'/><title type='text'>USPOP2002</title><content type='html'>&lt;a href="file:///U:/Research/tag/DATA_uspop2002/disk1/doc/uspop2002.html"&gt;USPOP2002&lt;/a&gt; is one of groud-truth data for comparison between some different acoustic-based similarity measuerments. It contains pre-calculated features for a collection of 706 albums and8764 popular music tracks from 400 artists. Uspop2002 shares the derived feature representations of each song. USPOP2002 also contains the "style" tags from &lt;a href="http://www.allmusic.com/"&gt;All Music Guide &lt;/a&gt;for each of the 400 artists represented inthe collection.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/3377236920983282216-253733020282668078?l=auradoresearch.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://auradoresearch.blogspot.com/feeds/253733020282668078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/uspop2002.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/253733020282668078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3377236920983282216/posts/default/253733020282668078'/><link rel='alternate' type='text/html' href='http://auradoresearch.blogspot.com/2009/03/uspop2002.html' title='USPOP2002'/><author><name>Aura</name><uri>http://www.blogger.com/profile/13350025398492238011</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
