<?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-9875050</id><updated>2012-02-16T17:24:15.503-02:00</updated><title type='text'>Peter's blog</title><subtitle type='html'></subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>93</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-9875050.post-9114876320564307795</id><published>2012-02-14T16:25:00.002-02:00</published><updated>2012-02-14T16:25:36.928-02:00</updated><title type='text'>There Are Only Three True Job Interview Questions</title><content type='html'>&lt;span style="font-family: Georgia, 'Times New Roman', serif; font-size: 18px; line-height: 24px; text-align: left;"&gt;1.&amp;nbsp; Can you do the job?&lt;/span&gt;&lt;br style="font-family: Georgia, 'Times New Roman', serif; font-size: 18px; line-height: 24px; text-align: left;" /&gt;&lt;span style="font-family: Georgia, 'Times New Roman', serif; font-size: 18px; line-height: 24px; text-align: left;"&gt;2.&amp;nbsp; Will you love the job?&lt;/span&gt;&lt;br style="font-family: Georgia, 'Times New Roman', serif; font-size: 18px; line-height: 24px; text-align: left;" /&gt;&lt;span style="font-family: Georgia, 'Times New Roman', serif; font-size: 18px; line-height: 24px; text-align: left;"&gt;3.&amp;nbsp; Can we tolerate working with you?&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Georgia, 'Times New Roman', serif; font-size: 18px; line-height: 24px; text-align: left;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: Georgia, 'Times New Roman', serif; font-size: 18px; line-height: 24px; text-align: left;"&gt;From:&amp;nbsp;&lt;/span&gt;&lt;a href="http://www.forbes.com/sites/georgebradt/2011/04/27/top-executive-recruiters-agree-there-are-only-three-key-job-interview-questions/"&gt;http://www.forbes.com/sites/georgebradt/2011/04/27/top-executive-recruiters-agree-there-are-only-three-key-job-interview-questions/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-9114876320564307795?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/9114876320564307795/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=9114876320564307795' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/9114876320564307795'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/9114876320564307795'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2012/02/there-are-only-three-true-job-interview.html' title='There Are Only Three True Job Interview Questions'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-8833562316816611578</id><published>2012-02-04T11:41:00.003-02:00</published><updated>2012-02-04T11:55:29.174-02:00</updated><title type='text'>GitHub Social Coding</title><content type='html'>&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.github.com/" target="_blank"&gt;&lt;img border="0" height="400" src="http://2.bp.blogspot.com/-Y_FtvxfKDEs/Ty0xMZ46NiI/AAAAAAAADqg/QnKfmakMBk0/s400/Octocat.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://www.github.com/" target="_blank"&gt;&lt;img border="0" height="88" src="http://4.bp.blogspot.com/-9gTatiF4n5Q/Ty01VXzRLlI/AAAAAAAADqo/y6ujyuaz8EA/s200/GitHub_Logo_SmartObject.jpg" width="200" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;div style="text-align: justify;"&gt;Github is simple to use and powerful git repository with great web interface. If your project is open source, there is no problem if your repository is also open, right? What could be better to open source projects than having free hosting on feature rich and reliable service?&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;But if you are not the good guy and want to have your git repositories private, looks fair to charge you little money to keep your code safe.&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;This looks to be the basic business model do Github and the prices are attractive.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;For those have never being in touch with versioning and code repositories, Github is also good place to start. The step-by-step documentation will guide you over the process of using git. It is really easy to start.&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;Github also encourages you to make friends and to grow your social network around the code you share. I would like to be your friend on GitHub, so you are invited to see my profile: &lt;a href="https://github.com/petersenna"&gt;https://github.com/petersenna&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: justify;"&gt;If you are looking for a job, Github can also help you. You can make your "Job Profile" and select: "Available for hire". The link to your code looks to be that your "open" code repositories are your portfolio.&lt;/div&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-8833562316816611578?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/8833562316816611578/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=8833562316816611578' title='4 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/8833562316816611578'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/8833562316816611578'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2012/02/github-social-coding.html' title='GitHub Social Coding'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-Y_FtvxfKDEs/Ty0xMZ46NiI/AAAAAAAADqg/QnKfmakMBk0/s72-c/Octocat.jpg' height='72' width='72'/><thr:total>4</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-1101699734302156586</id><published>2012-01-31T19:58:00.000-02:00</published><updated>2012-02-03T19:41:12.194-02:00</updated><title type='text'>C code optimization benchmark</title><content type='html'>Steve Oualline talks about C code optimization on his book: &lt;a href="http://www.amazon.com/Practical-Programming-3rd-Steve-Oualline/dp/1565923065/ref=sr_1_sc_1?ie=UTF8&amp;amp;qid=1328041769&amp;amp;sr=8-1-spell" target="_blank"&gt;Practical C Programming&lt;/a&gt;. I was curious about the real performance gains. The benchmark test results are at the end of the post.&lt;br /&gt;&lt;br /&gt;How can this C code be optimized?&lt;br /&gt;&lt;b&gt;matrix1.c&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#define X_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;60&lt;br /&gt;#define Y_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;30&lt;br /&gt;int matrix[X_SIZE][Y_SIZE];&lt;br /&gt;void initmatrix(void)&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;int x,y;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for (x = 0; x &amp;lt; X_SIZE; ++x){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;for (y = 0; y &amp;lt; Y_SIZE; ++y){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;matrix[x][y] = -1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;initmatrix();&lt;br /&gt;}&lt;/blockquote&gt;The first suggested optimization is to use the "register" qualifier for the indexes variables x and y:&lt;br /&gt;&lt;b&gt;matrix2.c&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#define X_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;60&lt;br /&gt;#define Y_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;30&lt;br /&gt;int matrix[X_SIZE][Y_SIZE];&lt;br /&gt;void initmatrix(void)&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;b&gt;register&lt;/b&gt; int x,y;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for (x = 0; x &amp;lt; X_SIZE; ++x){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;for (y = 0; y &amp;lt; Y_SIZE; ++y){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;matrix[x][y] = -1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;initmatrix();&lt;br /&gt;}&lt;/blockquote&gt;&amp;nbsp;Then the optimization suggestion is to order the for loops so that the innermost for is the most complex:&lt;br /&gt;&lt;b&gt;matrix3.c&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;#define X_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;60&lt;br /&gt;#define Y_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;30&lt;br /&gt;int matrix[X_SIZE][Y_SIZE];&lt;br /&gt;void initmatrix(void)&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;register int x,y;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;b&gt;for (y = 0; y &amp;lt; Y_SIZE; ++y){&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;&lt;b&gt;for (x = 0; x &amp;lt; X_SIZE; ++x){&lt;/b&gt;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;matrix[x][y] = -1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;initmatrix();&lt;br /&gt;}&lt;/blockquote&gt;&lt;div&gt;The most tricky to understand is changing Y_SIZE from 30 to 32. This will activate one feature of most C compilers that converts multiples by a power of &amp;nbsp;2 (2, 4, 8, ...) into shifts. This will result in performance gains when the computer is doing pointer&amp;nbsp;arithmetic&amp;nbsp;to access the correspondent memory address of matrix[x][y]. The compiler will change one multiplication operation into one shift operation which is&amp;nbsp;cheaper.&lt;/div&gt;&lt;div&gt;&lt;b&gt;matrix4.c&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;#define X_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;60&lt;br /&gt;#define Y_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;b&gt;32&lt;/b&gt;&lt;br /&gt;int matrix[X_SIZE][Y_SIZE];&lt;br /&gt;void initmatrix(void)&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;register int x,y;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for (y = 0; y &amp;lt; Y_SIZE; ++y){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;for (x = 0; x &amp;lt; X_SIZE; ++x){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;   &lt;/span&gt;matrix[x][y] = -1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;}&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;br /&gt;}&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;initmatrix();&lt;br /&gt;}&lt;/blockquote&gt;Reducing the number of loops and taking control of the pointer&amp;nbsp;arithmetic&amp;nbsp;is great performance optimization.&lt;br /&gt;&lt;b&gt;matrix5.c&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;#define X_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;60&lt;br /&gt;#define Y_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;30&lt;br /&gt;int matrix[X_SIZE][Y_SIZE];&lt;br /&gt;void initmatrix(void)&lt;br /&gt;{&lt;br /&gt;&lt;b&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;register int index;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;register int *matrix_ptr;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;matrix_ptr = &amp;amp;matrix[0][0];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for (index = 0; index &amp;lt; X_SIZE * Y_SIZE; ++index){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;*matrix_ptr = -1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;matrix_ptr++;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;}&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;initmatrix();&lt;br /&gt;}&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;Reducing the number of&amp;nbsp;variables&amp;nbsp;that are necessary to do the pointer arithmetic also improves performance:&lt;/div&gt;&lt;div&gt;&lt;b&gt;matrix6.c&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;#define X_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;60&lt;br /&gt;#define Y_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;32&lt;br /&gt;int matrix[X_SIZE][Y_SIZE];&lt;br /&gt;void initmatrix(void)&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;&lt;b&gt;register int *matrix_ptr;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;for (matrix_ptr = &amp;amp;matrix[0][0];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;matrix_ptr &amp;lt;= &amp;amp;matrix[X_SIZE - 1][Y_SIZE - 1];&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;++matrix_ptr){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt;  &lt;/span&gt;*matrix_ptr = -1;&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;}&lt;/b&gt;&lt;br /&gt;}&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;initmatrix();&lt;br /&gt;}&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;Looks like that there is nothing more to optimize. You can always write some assembly but it may not be good idea. The library function memset() can be used to fill a matrix. "Frequent used library subroutines like memset are often coded into assembly language and may make use of special processor-dependent tricks to do the job faster than could be done in C".&lt;/div&gt;&lt;div&gt;&lt;b&gt;matrix7.c&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote class="tr_bq"&gt;#include &lt;memory.h&gt;&lt;br /&gt;#define X_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;60&lt;br /&gt;#define Y_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;30&lt;br /&gt;int matrix[X_SIZE][Y_SIZE];&lt;br /&gt;&lt;b&gt;void initmatrix(){&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;memset (matrix, -1, sizeof(matrix));&lt;br /&gt;}&lt;/b&gt;&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;initmatrix();&lt;br /&gt;}&lt;/memory.h&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;There is overhead in function call. It is possible to do better with macros.&lt;/div&gt;&lt;div&gt;&lt;b&gt;matrix8.c&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote class="tr_bq"&gt;#include &lt;memory.h&gt;&lt;br /&gt;#define X_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;60&lt;br /&gt;#define Y_SIZE&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;30&lt;br /&gt;int matrix[X_SIZE][Y_SIZE];&lt;br /&gt;&lt;b&gt;#define initmatrix() \&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;memset (matrix, -1, sizeof(matrix));&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;void main()&lt;br /&gt;{&lt;br /&gt;&lt;span class="Apple-tab-span" style="white-space: pre;"&gt; &lt;/span&gt;initmatrix();&lt;br /&gt;}&lt;/memory.h&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;div&gt;The&amp;nbsp;improvements&amp;nbsp;looks good, but how much efficient each&amp;nbsp;optimizations&amp;nbsp;are? I've measured it in clock cycles. And found that the optimization level is processor dependent.&lt;br /&gt;&lt;br /&gt;For clock cycles, lower is better.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Results for:&lt;b&gt;&amp;nbsp;Intel(R) Core(TM) i7-2620M CPU @ 2.70GHz&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;table border="0" cellspacing="0" cols="3" frame="VOID" rules="NONE"&gt; &lt;colgroup&gt;&lt;col width="86"&gt;&lt;/col&gt;&lt;col width="125"&gt;&lt;/col&gt;&lt;col width="86"&gt;&lt;/col&gt;&lt;/colgroup&gt; &lt;tbody&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17" width="86"&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td align="LEFT" width="125"&gt;clock cycles&lt;/td&gt;   &lt;td align="LEFT" width="86"&gt;times faster&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix1()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="11102.151556"&gt;11102.151556&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="1"&gt;1&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix2()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="6400.36597"&gt;6400.36597&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="1.73461199063278"&gt;1.7346119906&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix3()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="6379.460394"&gt;6379.460394&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="1.74029633704471"&gt;1.740296337&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix4()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="5952.497506"&gt;5952.497506&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="1.86512494038162"&gt;1.8651249404&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix5()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="2154.262528"&gt;2154.262528&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="5.15357409401126"&gt;5.153574094&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix6()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="1907.350431"&gt;1907.350431&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="5.82071934740345"&gt;5.8207193474&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix7()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="792.123493"&gt;792.123493&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="14.0156827238553"&gt;14.0156827239&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix8()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="780.254779"&gt;780.254779&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="14.2288799182094"&gt;14.2288799182&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;Results for:&lt;b&gt;&amp;nbsp;Intel(R) Core(TM)2 Quad CPU &amp;nbsp; &amp;nbsp;Q8400 &amp;nbsp;@ 2.66GHz&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;table border="0" cellspacing="0" cols="3" frame="VOID" rules="NONE"&gt; &lt;colgroup&gt;&lt;col width="86"&gt;&lt;/col&gt;&lt;col width="125"&gt;&lt;/col&gt;&lt;col width="86"&gt;&lt;/col&gt;&lt;/colgroup&gt; &lt;tbody&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17" width="86"&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td align="LEFT" width="125"&gt;clock cycles&lt;/td&gt;   &lt;td align="LEFT" width="86"&gt;times faster&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix1()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="17175.114362"&gt;17175.114362&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="1"&gt;1&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix2()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="8153.467501"&gt;8153.467501&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="2.10647977193673"&gt;2.1064797719&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix3()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="8063.182452"&gt;8063.182452&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="2.13006644265378"&gt;2.1300664427&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix4()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="8497.82453"&gt;8497.82453&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="2.02111897008069"&gt;2.0211189701&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix5()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="4300.083046"&gt;4300.083046&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="3.99413550349372"&gt;3.9941355035&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix6()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="4321.695819"&gt;4321.695819&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="3.97416085752517"&gt;3.9741608575&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix7()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="1569.097383"&gt;1569.097383&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="10.9458562279687"&gt;10.945856228&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix8()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="1560.792718"&gt;1560.792718&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="11.0040969335173"&gt;11.0040969335&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;Results for:&amp;nbsp;&lt;b&gt;AMD Athlon(tm) 7750 Dual-Core Processor @ 2.7GHz&lt;/b&gt;&lt;/div&gt;&lt;div&gt;&lt;table border="0" cellspacing="0" cols="3" frame="VOID" rules="NONE"&gt; &lt;colgroup&gt;&lt;col width="86"&gt;&lt;/col&gt;&lt;col width="125"&gt;&lt;/col&gt;&lt;col width="86"&gt;&lt;/col&gt;&lt;/colgroup&gt; &lt;tbody&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17" width="86"&gt;&lt;br /&gt;&lt;/td&gt;   &lt;td align="LEFT" width="125"&gt;clock cycles&lt;/td&gt;   &lt;td align="LEFT" width="86"&gt;times faster&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix1()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="25319.969906"&gt;25319.969906&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="1"&gt;1&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix2()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="10329.498185"&gt;10329.498185&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="2.45122942591427"&gt;2.4512294259&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix3()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="8558.934585"&gt;8558.934585&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="2.95830861359481"&gt;2.9583086136&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix4()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="9480.851235"&gt;9480.851235&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="2.67064309716489"&gt;2.6706430972&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix5()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="5544.608885"&gt;5544.608885&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="4.56659260033632"&gt;4.5665926003&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix6()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="5577.454075"&gt;5577.454075&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="4.5397002943498"&gt;4.5397002943&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix7()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="643.046753"&gt;643.046753&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="39.37500623069"&gt;39.3750062307&lt;/td&gt;  &lt;/tr&gt;&lt;tr&gt;   &lt;td align="LEFT" height="17"&gt;matrix8()&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="631.545791"&gt;631.545791&lt;/td&gt;   &lt;td align="LEFT" sdnum="1033;" sdval="40.0920570872746"&gt;40.0920570873&lt;/td&gt;  &lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;So, it is real! For Intel you can get&lt;b&gt; 2 times faster performance&lt;/b&gt; by doing simple changes and not using pointer arithmetic. If you do take control of pointer arithmetic and trash some variables, the performance gain can go up to almost &lt;b&gt;6 times faster&lt;/b&gt;. The performance gain can reach &lt;b&gt;14 times faster&lt;/b&gt;&amp;nbsp;by using ultra specialized subroutines. It is much better then I was expecting.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;For AMD the use of the specialized functions can result in &lt;b&gt;speedup of more&amp;nbsp;than 40 times&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="text-align: left;"&gt;The clock cycle count is not an integer &lt;/span&gt;&lt;span style="text-align: left;"&gt;because&lt;/span&gt;&lt;span style="text-align: left;"&gt;&amp;nbsp;the values shown are average mean of 256 measurements.&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;For the graphs that shows results in clock cycles, lower is better.&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-mNS74rpm8v0/TyhjuYnozpI/AAAAAAAADqA/B4KXTuJi2UM/s1600/corei7-c-optimizations.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="236" src="http://2.bp.blogspot.com/-mNS74rpm8v0/TyhjuYnozpI/AAAAAAAADqA/B4KXTuJi2UM/s400/corei7-c-optimizations.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;C code optimization benchmark: Core i7&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-IQrEI_THKbU/Tyhj17VszWI/AAAAAAAADqI/2vRpos04Eus/s1600/core2quad-c-optimization.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="237" src="http://2.bp.blogspot.com/-IQrEI_THKbU/Tyhj17VszWI/AAAAAAAADqI/2vRpos04Eus/s400/core2quad-c-optimization.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;C code optimization benchmark: Core 2 Quad&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;table align="center" cellpadding="0" cellspacing="0" class="tr-caption-container" style="margin-left: auto; margin-right: auto; text-align: center;"&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td style="text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-QcZ9LahE6wo/Tyhj6vjHwxI/AAAAAAAADqQ/TTjHJZJybhg/s1600/AthlonX2-optimization.jpg" imageanchor="1" style="margin-left: auto; margin-right: auto;"&gt;&lt;img border="0" height="237" src="http://2.bp.blogspot.com/-QcZ9LahE6wo/Tyhj6vjHwxI/AAAAAAAADqQ/TTjHJZJybhg/s400/AthlonX2-optimization.jpg" width="400" /&gt;&lt;/a&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="tr-caption" style="text-align: center;"&gt;C code optimization benchmark: Athlon X2&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;rdtscbench was used to do the benchmark testing. The source code is available &lt;a href="http://petersenna.com/files/rdtscbench-matrix.tar.gz" target="_blank"&gt;here&lt;/a&gt;. The command line for rdtscbench was: "# ./rdtscbench 256 8". It is also available at:&amp;nbsp;&lt;a href="https://github.com/petersenna/rdtscbench"&gt;https://github.com/petersenna/rdtscbench&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-1101699734302156586?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/1101699734302156586/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=1101699734302156586' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1101699734302156586'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1101699734302156586'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2012/01/c-code-optimization-benchmark.html' title='C code optimization benchmark'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-mNS74rpm8v0/TyhjuYnozpI/AAAAAAAADqA/B4KXTuJi2UM/s72-c/corei7-c-optimizations.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-2434908434836675356</id><published>2012-01-24T16:49:00.000-02:00</published><updated>2012-01-24T16:49:04.136-02:00</updated><title type='text'>The Joel Test: 12 Steps to Better Code</title><content type='html'>"I've come up with my own, highly irresponsible, sloppy test to rate the quality of a software team. The great part about it is that it takes about 3 minutes."&lt;br /&gt;&lt;br /&gt;&lt;div align="center" style="background-color: white; font-family: Georgia, serif; line-height: 20px; margin-bottom: 1em;"&gt;&lt;span style="color: #333333; font-family: 'Arial Black', Arial, Helvetica; font-size: medium;"&gt;The Joel Test&lt;/span&gt;&lt;/div&gt;&lt;ol style="background-color: white; font-family: Georgia, serif; line-height: 20px; margin-bottom: 1em; margin-top: 0px; text-align: left;"&gt;&lt;li&gt;Do you use source control?&lt;/li&gt;&lt;li&gt;Can you make a build in one step?&lt;/li&gt;&lt;li&gt;Do you make daily builds?&lt;/li&gt;&lt;li&gt;Do you have a bug database?&lt;/li&gt;&lt;li&gt;Do you fix bugs before writing new code?&lt;/li&gt;&lt;li&gt;Do you have an up-to-date schedule?&lt;/li&gt;&lt;li&gt;Do you have a spec?&lt;/li&gt;&lt;li&gt;Do programmers have quiet working conditions?&lt;/li&gt;&lt;li&gt;Do you use the best tools money can buy?&lt;/li&gt;&lt;li&gt;Do you have testers?&lt;/li&gt;&lt;li&gt;Do new candidates write code during their interview?&lt;/li&gt;&lt;li&gt;Do you do hallway usability testing?&lt;/li&gt;&lt;/ol&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: Georgia, serif;"&gt;&lt;span style="line-height: 20px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span style="font-family: Georgia, serif;"&gt;&lt;span style="line-height: 20px;"&gt;From:&amp;nbsp;&lt;/span&gt;&lt;/span&gt;&lt;a href="http://www.joelonsoftware.com/articles/fog0000000043.html"&gt;http://www.joelonsoftware.com/articles/fog0000000043.html&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-2434908434836675356?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/2434908434836675356/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=2434908434836675356' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/2434908434836675356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/2434908434836675356'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2012/01/joel-test-12-steps-to-better-code.html' title='The Joel Test: 12 Steps to Better Code'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-9030070685402675934</id><published>2012-01-23T16:27:00.000-02:00</published><updated>2012-01-23T17:07:51.172-02:00</updated><title type='text'>Debugging the C Preprocessor</title><content type='html'>Using the&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;#define&lt;/blockquote&gt;statement is not working as expected? Try:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;b&gt;$ gcc -E source.c&lt;/b&gt;&lt;/blockquote&gt;&lt;br /&gt;It will expand all the defines and print it on screen. For example:&lt;br /&gt;&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&lt;b&gt;$ cat source.c&lt;/b&gt;&lt;br /&gt;...&lt;br /&gt;#define X_SIZE 80&lt;br /&gt;#define Y_SIZE 25&lt;br /&gt;#define UNSET_BIT(x,y) graphics[(x)/8][y] &amp;amp;= ~(0x80 &amp;gt;&amp;gt;((x)%8))&lt;br /&gt;...&lt;br /&gt;int main ()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;for (loc = 0; (loc &amp;lt; X_SIZE) &amp;amp;&amp;amp; (loc &amp;lt; Y_SIZE); ++loc){&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; UNSET_BIT(loc, loc);&lt;br /&gt;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;}&lt;/blockquote&gt;&lt;br /&gt;&lt;div&gt;Is expanded to:&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;blockquote&gt;&lt;b&gt;$ gcc -E source.c&lt;/b&gt;&lt;br /&gt;...&lt;br /&gt;int main ()&lt;br /&gt;{&lt;br /&gt;&amp;nbsp; &amp;nbsp;for (loc = 0; (loc &amp;lt; 80) &amp;amp;&amp;amp; (loc &amp;lt; 25); ++loc){&lt;br /&gt;&amp;nbsp; &amp;nbsp; &amp;nbsp; graphics[(loc)/8][loc] &amp;amp;= ~(0x80 &amp;gt;&amp;gt;((loc)%8));&lt;br /&gt;&amp;nbsp; &amp;nbsp;}&lt;br /&gt;}&amp;nbsp;&lt;/blockquote&gt;&lt;br /&gt;From:&amp;nbsp;Page 144 of&amp;nbsp;&lt;a href="http://www.amazon.com/Practical-Programming-3rd-Steve-Oualline/dp/1565923065/ref=sr_1_1?ie=UTF8&amp;amp;qid=1327343802&amp;amp;sr=8-1" target="_blank"&gt;"Practical C Programming" &amp;nbsp;by Steve Oualline&lt;/a&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-9030070685402675934?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/9030070685402675934/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=9030070685402675934' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/9030070685402675934'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/9030070685402675934'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2012/01/debugging-c-preprocessor.html' title='Debugging the C Preprocessor'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-1506046469048403669</id><published>2012-01-23T15:48:00.000-02:00</published><updated>2012-01-23T16:14:36.183-02:00</updated><title type='text'>How to recompile software with hardware optimization?</title><content type='html'>&lt;br /&gt;This may be useful for compiling local applications that you want to run faster.&lt;br /&gt;&lt;br /&gt;Try this on your computer:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;$ echo "" | gcc -march=native -v -E - 2&amp;gt;&amp;amp;1 | grep cc1&lt;/blockquote&gt;On my computer it has returned:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;&amp;nbsp;/usr/libexec/gcc/x86_64-redhat-linux/4.6.1/cc1 -E -quiet -v&amp;nbsp;&lt;span style="color: blue;"&gt;- -march=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm -mavx -msse4.2 -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=4096 -mtune=corei7-avx&lt;/span&gt;&lt;/blockquote&gt;This command probes the local computer for optimization flags. To use it:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;$ CFLAGS="&lt;span style="color: blue;"&gt;[blue string from above]&lt;/span&gt;" ./configure&lt;/blockquote&gt;You may consider adding the "-O3" flag.&amp;nbsp;The -O3 flag enables levels 1, 2 and 3 of compile time optimization. There are more information about -O3 on gcc man page. For doing it, instead of previous line, use:&lt;br /&gt;&lt;blockquote class="tr_bq"&gt;$ CFLAGS="-O3&amp;nbsp;&lt;span style="color: blue;"&gt;[blue string from above]&lt;/span&gt;" ./configure&lt;/blockquote&gt;&lt;br /&gt;From:&amp;nbsp;&lt;a href="http://blog.mybox.ro/2011/11/02/how-to-recompile-software-with-hardware-optimizations/"&gt;http://blog.mybox.ro/2011/11/02/how-to-recompile-software-with-hardware-optimizations/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-1506046469048403669?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/1506046469048403669/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=1506046469048403669' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1506046469048403669'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1506046469048403669'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2012/01/how-to-recompile-software-with-hardware.html' title='How to recompile software with hardware optimization?'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-6727173686799935077</id><published>2011-12-02T12:45:00.001-02:00</published><updated>2011-12-03T09:10:46.338-02:00</updated><title type='text'>Lego Mindstorm NXT - Programming Options</title><content type='html'>&lt;span class="Apple-style-span" style="font-size: large;"&gt;Option 1: LabView&lt;/span&gt;&lt;br /&gt;The first and the official programming option for the NXT is Labview from National Instruments. It is delivered with&amp;nbsp;8547 LEGO® MINDSTORMS® NXT 2.0.&lt;br /&gt;&lt;br /&gt;Labview is a graphical programming environment. The programming is made connecting bricks and data lines. It is "a great tool" for learning and teaching programming, and it is also fun. It is possible to do non trivial tasks like multi-threading and functions. But for non-small programs it is not practical.&lt;br /&gt;&lt;br /&gt;LabView is used to make programs, to send the compiled programs to the NXT, to remote control the NXT, and to update NXT firmware. Both USB and&amp;nbsp;Bluetooth&amp;nbsp;are supported. I've tested it under Windows but it is also supported under Mac. It does not work under Linux.&lt;br /&gt;&lt;br /&gt;See my enhanced color sorter program:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-VYiXCZYxOiE/Ttj4NXXYfTI/AAAAAAAADpc/yqFseQ1_AJs/s1600/dispenser3d+%25281%2529.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="209" src="http://4.bp.blogspot.com/-VYiXCZYxOiE/Ttj4NXXYfTI/AAAAAAAADpc/yqFseQ1_AJs/s320/dispenser3d+%25281%2529.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;The main program. Note the two threads. The bottom is for the dispenser and color sensor, while the top controls the tray.&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-ZIneKr2AR5Y/TtjoSuUAhGI/AAAAAAAADpE/lv-vliLCHsw/s1600/dispenser_nextd.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="75" src="http://3.bp.blogspot.com/-ZIneKr2AR5Y/TtjoSuUAhGI/AAAAAAAADpE/lv-vliLCHsw/s400/dispenser_nextd.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Function: tray_next&lt;/div&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-FpZjm9rNi54/TtjoS2pt9KI/AAAAAAAADpM/JZIRVfklOK0/s1600/dispenser_previousd.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="75" src="http://2.bp.blogspot.com/-FpZjm9rNi54/TtjoS2pt9KI/AAAAAAAADpM/JZIRVfklOK0/s400/dispenser_previousd.png" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Function: tray_previous&lt;/div&gt;&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/6dkHU3wqWVU" width="420"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: left;"&gt;&lt;/div&gt;&lt;div style="text-align: -webkit-auto;"&gt;&lt;div style="text-align: center;"&gt;This robot is running the code shown above.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;You can download my program&amp;nbsp;&lt;a href="http://petersenna.com/files/colorsorter3.zip" style="text-align: -webkit-auto;"&gt;here&lt;/a&gt;&lt;span class="Apple-style-span" style="text-align: -webkit-auto;"&gt;. You will need LabView to open the files.&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;span class="Apple-style-span" style="text-align: -webkit-auto;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;LabView is the perfect development environment for starting playing with Lego. It is as intuitive as connecting lego bricks and it is also beautiful. But is not practical for non small programs. I would not recommend to implement large software using it. But I would recommend this visual language to introduction to robotics and to programming languages.&lt;/div&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;div style="text-align: left;"&gt;There is lots of information about LabView at:&amp;nbsp;&lt;a href="http://www.ni.com/academic/mindstorms/"&gt;http://www.ni.com/academic/mindstorms/&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Option 2: RobotC&lt;/span&gt;&lt;br /&gt;LabView was successful on allowing me&amp;nbsp;implementing&amp;nbsp;the enhanced color sorter algorithm. But it becomes clear that LabView is not practical for complex and large programs.&lt;br /&gt;&lt;br /&gt;I found Robotc and tried it. There is a 30 days trial version that I used for two weeks.&lt;br /&gt;&lt;br /&gt;The first step is to upgrade the NXT firmware so it can support Robotc binaries. Do not worry about firmware upgrades. It is easy and safe on the NXT. You can always upgrade the firmware to the Lego Offical Firmware using the LabView.&lt;br /&gt;&lt;br /&gt;RobotC offers complete development environment with functions similar to the LabView. But instead of connecting bricks and data lines you write C programs.&lt;br /&gt;&lt;br /&gt;I found some limitations when I was using more than one thread&amp;nbsp;simultaneously. I'm quite sure that those limitations are not&amp;nbsp;insurmountable, but I did not like RobotC. For the basics there are good documentation and tutorials but I did not find free detailed information.&lt;br /&gt;&lt;br /&gt;Like labview, RobotC works on Windows and does not works on Linux.&lt;br /&gt;&lt;br /&gt;See &lt;a href="http://www.robotc.net/"&gt;RobotC&lt;/a&gt; web site.&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Option 3: NXC&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;"&lt;span class="Apple-style-span" style="background-color: white;"&gt;Not eXactly C (NXC) is a high level language, similar to C, built on top of the NBC compiler. It can also be used to program the NXT brick. NXC is basically NQC for the NXT. To compile NXC programs just use the NBC compiler with source code files that have a .nxc file extension. A reference guide for&amp;nbsp;&lt;/span&gt;&lt;a href="http://bricxcc.sourceforge.net/nbc/nxcdoc/NXC_Guide.pdf" style="background-color: white;"&gt;NXC&lt;/a&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&amp;nbsp;is available. You can also access online&amp;nbsp;&lt;/span&gt;&lt;a href="http://bricxcc.sourceforge.net/nbc/nxcdoc/nxcapi/index.html" style="background-color: white;" target="_blank"&gt;API help&lt;/a&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&amp;nbsp;for NXC or download a&amp;nbsp;&lt;/span&gt;&lt;a href="http://bricxcc.sourceforge.net/nbc/nxcdoc/nxc_api.chm" style="background-color: white;"&gt;compiled HTML help&lt;/a&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&amp;nbsp;file. To take advantage of multi-dimensional array support and native shift operations be sure to download the enhanced&amp;nbsp;&lt;/span&gt;&lt;a href="http://bricxcc.sourceforge.net/lms_arm_nbcnxc.zip" style="background-color: white;"&gt;NBC/NXC firmware&lt;/a&gt;&lt;span class="Apple-style-span" style="background-color: white;"&gt;&amp;nbsp;and install it on your NXT.&lt;/span&gt;"&lt;br /&gt;&lt;br /&gt;I liked NXC. "To me", it feels more like C than RobotC and it works on Linux. If you are Windows user, you should try&amp;nbsp;Bricx Command Center that uses NXC/NQC, but if you are Linux user, NXC is great option.&amp;nbsp;I'm&amp;nbsp;using two tools that are official Fedora 15 packages:&amp;nbsp;NQC and NXTRC. NQC is the compiler for the NXC while NXTRC is a tool for remote controlling the NXT and to send files to the Brick using bluetooth.&amp;nbsp;I'm using the following packages:&lt;br /&gt;&lt;br /&gt;nxtrc-2.3-4.fc15.x86_64&lt;br /&gt;&lt;br /&gt;and&lt;br /&gt;&lt;br /&gt;nbc-1.2.1.r3-3.fc15.x86_64&lt;br /&gt;&lt;br /&gt;Installing both on Fedora 15 is as hard as:&lt;br /&gt;# yum install nxtrc nbc&lt;br /&gt;&lt;br /&gt;To compile the color sorter on Fedora 15:&lt;br /&gt;$ &amp;nbsp;nbc dispenser4.nxc -O=dispenser4.rxe -sm-&lt;br /&gt;&lt;br /&gt;Then, to send it to the NXT using bluetooth:&lt;br /&gt;$ nxtrc -a 00:16:53:13:9A:70 -W dispenser4.rxe&lt;br /&gt;&lt;br /&gt;The documentation for NXT is complete and freely available. Also, working on Linux is also very good to me. The binaries made by NXT works on Offical Lego Firmware but you can update to a firmware that is announced to offer better performance. I did not tried the high performance firmware yet.&lt;br /&gt;&lt;br /&gt;The source code of the color sorter can be downloaded from:&amp;nbsp;&lt;a href="http://petersenna.com/files/dispenser4.nxc"&gt;dispenser4.nxc&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;There is more information about NXC &lt;a href="http://bricxcc.sourceforge.net/nbc/"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="font-size: large;"&gt;Conclusion:&lt;/span&gt;&lt;br /&gt;I would start with LabView for initial fun and learning about sensors and motors, then switch to NXC for the complex tasks.&lt;br /&gt;RobotC may have better processing performance and also richer&amp;nbsp;debugging&amp;nbsp;than Bricx Command Center. But for now, processing performance and richer debugging interface are not features that I'm looking for. If you need processing speed and/or rich debugging interface, give RobotC a try.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-6727173686799935077?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/6727173686799935077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=6727173686799935077' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6727173686799935077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6727173686799935077'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/12/lego-mindstorm-nxt-programming-options.html' title='Lego Mindstorm NXT - Programming Options'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-VYiXCZYxOiE/Ttj4NXXYfTI/AAAAAAAADpc/yqFseQ1_AJs/s72-c/dispenser3d+%25281%2529.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-1470219577963134721</id><published>2011-12-01T21:26:00.001-02:00</published><updated>2011-12-02T12:44:05.741-02:00</updated><title type='text'>Lego Mindstorm NXT - Open Source Rules</title><content type='html'>The bad news: My NXT brick was not working properly when I took it from the box. The sensor port 2 was not working. I do not think that there is warranty coverage for Lego Mindstorms in Brazil. I had no better option than try to fix it.&lt;br /&gt;&lt;br /&gt;The good news: Lego delivers all information about the NXT electronics and its embedded software. It is a true open source platform.&lt;br /&gt;&lt;br /&gt;I've downloaded the schematics from:&lt;br /&gt;&lt;a href="http://mindstorms.lego.com/en-us/support/files/default.aspx"&gt;http://mindstorms.lego.com/en-us/support/files/default.aspx&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;And I've noticed a missing component near the port 2. R59 was not there. For lucky it is a common 1k resistor. Thanks to my father's SMD lab, we were able to solder a new resistor, and push hot air over port 2 components. After that port 2 started to work.&lt;br /&gt;&lt;br /&gt;I'm deeply happy with Lego's open source policy for this product. I was wondering how happy I'll be when my car becomes open source. Lego gave us the power to fix the problem without any limitation. It is clear to me now that open source is great for hardware too. Is there open source tendencies for industry?&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-baNgymkQEDE/TtgPmgkLWKI/AAAAAAAADo8/1Guznbr9DLg/s1600/Screenshot-10.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="234" src="http://3.bp.blogspot.com/-baNgymkQEDE/TtgPmgkLWKI/AAAAAAAADo8/1Guznbr9DLg/s320/Screenshot-10.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;R59 was not there when I've opened my NXT for the first time. The schematics is from Lego web site.&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;What kind of information is freely and officially available about the Lego NXT:&lt;/div&gt;&lt;div style="text-align: left;"&gt;- NXT Brick hardware schematics&lt;/div&gt;&lt;div style="text-align: left;"&gt;- Sensors schematics&lt;/div&gt;&lt;div style="text-align: left;"&gt;- I2C Communication protocol used for sensors&lt;/div&gt;&lt;div style="text-align: left;"&gt;- Bluetooth interface specification&lt;/div&gt;&lt;div style="text-align: left;"&gt;- Hardware Developer Kit&lt;/div&gt;&lt;div style="text-align: left;"&gt;-&amp;nbsp;Executable File Specification&lt;/div&gt;&lt;div style="text-align: left;"&gt;- Mobile&amp;nbsp;Application&amp;nbsp;Software&lt;/div&gt;&lt;div style="text-align: left;"&gt;- Mobile Application Documentation&lt;/div&gt;&lt;div style="text-align: left;"&gt;- Open Source Firmware&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;And...&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Lego has supported the development of a remote control to the NXT that runs on Android. The source code is released under GPL3.&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;Check it out:&amp;nbsp;&lt;a href="http://mindstorms.lego.com/en-us/News/ReadMore/Default.aspx?id=227417" style="text-align: -webkit-auto;"&gt;http://mindstorms.lego.com/en-us/News/ReadMore/Default.aspx?id=227417&lt;/a&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: left;"&gt;About my non-working brick, I'm quite sure that this kind of problem happens very few times. Lego Mindstorms NXT 2.0 is clearly a high quality product. I believe that I'm the only in many many many owners who had this kind of trouble. And I admit: It was fun to fix it! :-D&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-1470219577963134721?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/1470219577963134721/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=1470219577963134721' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1470219577963134721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1470219577963134721'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/12/lego-mindstorm-nxt-open-source-rules.html' title='Lego Mindstorm NXT - Open Source Rules'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-baNgymkQEDE/TtgPmgkLWKI/AAAAAAAADo8/1Guznbr9DLg/s72-c/Screenshot-10.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-7138424491902631509</id><published>2011-12-01T21:14:00.001-02:00</published><updated>2011-12-02T14:24:55.904-02:00</updated><title type='text'>Lego Mindstorm NXT</title><content type='html'>Want to have some fun with Robotics? &lt;a href="http://mindstorms.lego.com/en-us/Products/default.aspx"&gt;8547 LEGO® MINDSTORMS® NXT 2.0&lt;/a&gt; is the right kit for you!&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&amp;nbsp;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/6dkHU3wqWVU" width="420"&gt;&lt;/iframe&gt;&amp;nbsp;&lt;/div&gt;&lt;div style="text-align: center;"&gt;Color Sorter with a bit more complex algorithm&lt;/div&gt;&lt;br /&gt;&amp;nbsp;To me Lego Mindstorms NXT is a dream come true. Why? Robotics! Robotics! Robotics!&lt;br /&gt;&lt;br /&gt;What's inside the box?&lt;br /&gt;- The NXT programmable Brick with Bluetooth, USB, 7 I/O ports for sensors and motors, speaker, buttons, and LCD display.&lt;br /&gt;- 4 Sensors: Ultrasonic, light and color, 2 touch sensors&lt;br /&gt;- Some cables&lt;br /&gt;- 600+ pieces for assembling machines animals and humanoids.&lt;br /&gt;- Software for Windows and Mac for programming the NXT.&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;img border="0" height="400" src="http://3.bp.blogspot.com/-UHg4AQqN-5o/TtgLw53pXxI/AAAAAAAADo0/qn10-_njvOk/s400/816YdydkgcL._AA1423_.jpg" width="400" /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://mindstorms.lego.com/en-us/Products/default.aspx"&gt;See Lego's official website&lt;/a&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-7138424491902631509?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/7138424491902631509/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=7138424491902631509' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7138424491902631509'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7138424491902631509'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/12/lego-mindstorm-nxt.html' title='Lego Mindstorm NXT'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/6dkHU3wqWVU/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-6688567516441444942</id><published>2011-11-07T21:00:00.001-02:00</published><updated>2011-11-08T13:23:15.801-02:00</updated><title type='text'>iSCSI and LVM: Boot problem</title><content type='html'>Both LVM and iSCSI are powerful and reliable. But there is an issue with the combination of both that made me fell completely lost more than once.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The Scenario:&lt;/b&gt;&lt;br /&gt;iSCSI target / server is a Linux Box with LVM features&lt;br /&gt;iSCSI&amp;nbsp;target / server exports disk, partition or LVM LV&lt;br /&gt;iSCSI initiator / client uses the exported volume as LVM PV&lt;br /&gt;All works perfectly until rebooting the iSCSI target / server&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The symptom:&lt;/b&gt;&lt;br /&gt;After rebooting the iSCSI&amp;nbsp;target / server, it becomes impossible for the initiator / client use the exported volume as if it were deleted. The iSCSI target / server service itself is working properly but the exported volume is not.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The cause:&lt;/b&gt;&lt;br /&gt;During the boot of the iSCSI target / server, its LVM liked the new found PVs / VGs / LVs. The&amp;nbsp;iSCSI target / server has no idea about those new found are not for the local machine and it "locks" the VGs and LVs for local use. When iSCSI exports the LV, it will contain locked LVM volumes. This is why it becomes impossible to use it on the&amp;nbsp;iSCSI initiator / client.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The solution:&lt;/b&gt;&lt;br /&gt;It is very easy. Edit /etc/lvm/lvm.conf and use "filters" to tell LVM what is not for local use. My filter is configured as:&lt;br /&gt;&lt;br /&gt;filter = [ "a/sda/", "r/.*/" ]&lt;br /&gt;&lt;br /&gt;For testing, just type pvscan after editing the file to see if the filter worked as expected. If so, just reboot and it will work.&lt;br /&gt;&lt;br /&gt;Please note that using sda on the filter is not the safest solution as it is not impossible that sda becomes sdb for example. It will be safer to use UUIDs of something else.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-6688567516441444942?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/6688567516441444942/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=6688567516441444942' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6688567516441444942'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6688567516441444942'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/11/iscsi-and-lvm-take-care-after-first.html' title='iSCSI and LVM: Boot problem'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-9091038555406698696</id><published>2011-11-03T09:52:00.000-02:00</published><updated>2011-11-05T07:40:05.485-02:00</updated><title type='text'>Acer Iconia Tab W501P Review II</title><content type='html'>&lt;b&gt;Fedora 16 Beta&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Feroda 16 Beta runs on the W501P without any major concern. The only issue I found is the Gnome onscreen keyboard that does not work well.&amp;nbsp;Despite the onscreen keyboard, I did not found any serious issue when using Fedora on Iconia Tab W501P.&lt;br /&gt;&lt;br /&gt;I did no testing with ATI proprietary drivers on Fedora.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Ubuntu 11.10&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ubuntu 11.10 also runs on the W501P but there are some details:&lt;br /&gt;1 - When I allowed the installer to download updates during&amp;nbsp;installation, the X did not work very well after first boot. So I installed it again and&amp;nbsp;it is working pretty well without allowing the packages to be updated. I'll wait untill ATI driver supports the C-60 GPU until allowing updates.&lt;br /&gt;&lt;br /&gt;2 - The ATI proprietary driver does &lt;b&gt;NOT&lt;/b&gt; work with C-60 GPU. I've tried Ubuntu's two packages, "AMD Catalyst™ &lt;b&gt;11.9&lt;/b&gt; Proprietary Linux x86 Display Driver", and "AMD Catalyst™ &lt;b&gt;11.10&lt;/b&gt; Proprietary Linux x86 Display Driver". When using Ubuntu's package, an stamp with AMD logo appears on the right bottom corner saying: "Unsupported&amp;nbsp;Hardware". I would not recommend to try those drivers with Ubuntu 11.10. It may be necessary to re-install your Ubuntu.&lt;br /&gt;&lt;br /&gt;After learning about updates and ATI proprietary driver, I'm happy with Ubuntu on W501p. I'm curious about the performance gain by using the proprietary graphics driver. Will it be possible to play HD flash movies on full screen?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The&amp;nbsp;battery&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;I was curious about the sleep state power consumption. I've charged the battery, and asked Ubuntu to sleep the tablet. I removed the charged cord and waited exactly 12 hours. How many % of the battery power were consumed in 12 hours?&lt;br /&gt;&lt;br /&gt;The result is that after 12 hours of sleep state the battery charge was informed to be 92% by Ubuntu. 8% every 12 hours means 16% every 24 hours. Looks like that the Iconia Tab W501P can stay sleeping for more than 6 days. This is good!&lt;br /&gt;&lt;br /&gt;Not tested yet battery life for usage. I think that this will be improved when the proprietary graphics driver is available.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://3.bp.blogspot.com/-rRc1SeA_K1c/TrKANU6TZjI/AAAAAAAADgY/wYxhEthC3vE/s1600/Screenshot+at+2011-11-03+09_43_39.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="160" src="http://3.bp.blogspot.com/-rRc1SeA_K1c/TrKANU6TZjI/AAAAAAAADgY/wYxhEthC3vE/s320/Screenshot+at+2011-11-03+09_43_39.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Battery charge after 12 hours of sleeping&lt;/div&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-9091038555406698696?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/9091038555406698696/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=9091038555406698696' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/9091038555406698696'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/9091038555406698696'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/11/acer-iconia-tab-w501p-review-ii.html' title='Acer Iconia Tab W501P Review II'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/-rRc1SeA_K1c/TrKANU6TZjI/AAAAAAAADgY/wYxhEthC3vE/s72-c/Screenshot+at+2011-11-03+09_43_39.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-5278296706239881571</id><published>2011-11-02T18:13:00.005-02:00</published><updated>2011-11-02T21:00:06.447-02:00</updated><title type='text'>Recording from webcam, saving to file, displaying locally, using VLC, under Linux</title><content type='html'># Change /dev/video1 to your webcam device name&lt;br /&gt;#&amp;nbsp;Change plughw:1,0 to your audio capture device. (Check&amp;nbsp;/proc/asound/devices)&lt;br /&gt;# Change 1920 to the correct width of your webcam ( Check Cheese preferences )&lt;br /&gt;# Change 1080 to the correct height of your webcam ( Check Cheese preferences )&lt;br /&gt;&lt;br /&gt;$ vlc v4l2:///dev/video1 :input-slave=alsa://plughw:1,0 :v4l2-standard=0 :v4l2-aspect-ratio=16\:9 :v4l2-width=1920 :v4l2-height=1080 :v4l2-fps=30 :sout="#transcode{vcodec=mp4v,vb=5000,scale=1,fps=30,acodec=mpga,ab=128,channels=1,samplerate=44100}:duplicate{dst=std{access=file,mux=ts,dst=/tmp/video-output.mpg},dst=display}"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-5278296706239881571?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/5278296706239881571/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=5278296706239881571' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/5278296706239881571'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/5278296706239881571'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/11/how-record-your-webcam-with-vlc-to-file.html' title='Recording from webcam, saving to file, displaying locally, using VLC, under Linux'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-3773140539176916379</id><published>2011-10-29T22:32:00.001-02:00</published><updated>2011-11-02T20:55:35.880-02:00</updated><title type='text'>Acer Iconia Tab W501P Review</title><content type='html'>&lt;b&gt;Specs:&lt;/b&gt;&lt;br /&gt;Model Acer Iconia Tab W501P C62GO3iss&lt;br /&gt;P/N: LE.L0603.038&lt;br /&gt;Model: EAB00&lt;br /&gt;OS: Windows 7®  Professional 32-bit&lt;br /&gt;Processor: AMD Dual-Core C-60&lt;br /&gt;LCD: 10.1" Multi-touch HD LED LCD&lt;br /&gt;Memory: 2GB Memory&lt;br /&gt;Storage: 32GB SSD&lt;br /&gt;Card Reader: 2-in-1 card reader&lt;br /&gt;WLAN: 802.11 b/g/n &amp;amp; BT 3.0 + HS&lt;br /&gt;WWAN: 3G WAN&lt;br /&gt;Webcam: 1.3 Megapixel&lt;br /&gt;Battery: 3-cell Li-ion battery&lt;br /&gt;Software: Microsoft Office 2010 preloaded (purchase a license key to activate)&lt;br /&gt;Microsoft Office Starter 2010&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Introduction:&lt;/b&gt;&lt;br /&gt;I was tremendously curious about the performance of both AMD C-60 processor and it's ATI GPU. I was expecting that it would be possible to play Full-HD flash movies at 30 fps.I'm at Czech Republic, and I ran to the first Acer Iconia TAB W501P that was available at &lt;a href="http://alza.cz/"&gt;http://alza.cz/&lt;/a&gt;. The main differences to W500 is that the W501P has 3G modem and is equipped with AMD C-60 instead of AMD C-50.According to &lt;a href="http://www.amd.com/us/products/notebook/apu/ultrathin/Pages/ultrathin.aspx#3"&gt;http://www.amd.com/us/products/notebook/apu/ultrathin/Pages/ultrathin.aspx#3&lt;/a&gt;, the C-60 can run up to 1333 MHz and it's GPU can run up to 400 MHz, while C-50 maximums are 1000MHz for the CPU and 276 MHz for the GPU.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;First impression&lt;/b&gt;&lt;br /&gt;As the box reached me, I realized that it is "too" heavy. The box itself is heavy, as the tablet and it's keyboard are very well packed but "light weight" is not a feature for the W501P.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The first boot&lt;/b&gt;&lt;br /&gt;Even being a Linux guy, I do not hate Windows. I think that Microsoft does good software, with bad business model, but good software. Windows 7 is not bad software. But the ton of crap that came pre-installed with the tablet is not good. It took 40 minutes installing toolbars and other useless software. &amp;nbsp;After installing all the crap, Windows 7 were so slow that I felt I that I shouldn't have bought the tablet.&lt;br /&gt;&lt;br /&gt;But I noticed that the screen and it's touch sensor are great. It has resolution of 1280x800 with great colors and bright. The touch precision is also great. It just works without needing calibrate anything. Image quality and touchscreen precision are qualities of this tablet. Fullscreen play of Full-HD youtube videos did not went as I was expecting. The frame rate is perfect for resolutions up to 480p. Above 480p it is not perfect any more.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Linux!&lt;/b&gt;&lt;br /&gt;It works on Fedora 16 Beta. 3G modem, wired and wireless devices, single touch screen, two web cams, sleep state, and speed step. Rotation sensor, bluetooth and muti-touch did not work out of the box. I'll check what can be done.&lt;br /&gt;&lt;br /&gt;After tuning the Kernel to use noop scheduler for the SSD the overall performance is not bad. It is light year ahead of 2008 Aspire One with single core Atom. I would not use the tablet for compiling Kernels, but it fits for reading, writing and surfing.Comparing the Iconia tab W501P with Toshiba R830 Core i7 notebook is not fair. But the fast graphics of the tablet really helps on giving the "sensation" of high speed. The user interface is almost as fast as on Core i7 but tasks like starting Libreoffice are much, much slower.&lt;br /&gt;&lt;br /&gt;I was surprised that Fedora 16 comes with on-screen keyboard that shows up only when typing is needed. Almost like it is on Android. The software keyboard itself is very immature and many times it does not appear when it is necessary. I'll try with Ubuntu.&lt;br /&gt;&lt;br /&gt;I'm happy with Linux on Iconia Tab W501P.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;The docking&lt;/b&gt;&lt;br /&gt;It could be thinner and lighter but it is ok. The keys are delicious to press and are not noisy. The stick mouse is fun but sometimes it is easier to touch the screen. Having&amp;nbsp;Ethernet&amp;nbsp;connection is very good.The docking fits the tablet, looking like a closed notebook. It is practical for transporting.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;The battery&lt;/b&gt;&lt;br /&gt;I had no time for testing it, but I do not believe that it would reach 4 hours of non intensive use. I'm curious about sleep state power consumption.&lt;br /&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;b&gt;Next comments&lt;/b&gt;&lt;br /&gt;I'll write again when I have more experience with it. I used the tablet for one day only. I'm really not sure about how can a tablet help me. I'll figure it out, or not, soon. :-)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-SYJ9JbvXR8g/TqyaYzT-h_I/AAAAAAAADfU/pqejkMwCPAE/s1600/toshiba-r830-10p-acer-iconia-tab-w500p.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="300" src="http://4.bp.blogspot.com/-SYJ9JbvXR8g/TqyaYzT-h_I/AAAAAAAADfU/pqejkMwCPAE/s400/toshiba-r830-10p-acer-iconia-tab-w500p.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Toshiba R830-10P and Acer Iconia Tab W501P&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-CVEwj_DsxXM/TqyaoJX1ePI/AAAAAAAADfg/s3Gblne6a5k/s1600/acer-iconia-tab-w500p-2.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="312" src="http://4.bp.blogspot.com/-CVEwj_DsxXM/TqyaoJX1ePI/AAAAAAAADfg/s3Gblne6a5k/s400/acer-iconia-tab-w500p-2.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;On the docking station - Front&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-OLhLwzejjCY/TqyasVvJjuI/AAAAAAAADfs/-2h_blyITFo/s1600/acer-iconia-tab-w500p-3.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="242" src="http://1.bp.blogspot.com/-OLhLwzejjCY/TqyasVvJjuI/AAAAAAAADfs/-2h_blyITFo/s400/acer-iconia-tab-w500p-3.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;On the docking station - Back&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://4.bp.blogspot.com/-T7r9DKS7gsY/TqyawyXeDaI/AAAAAAAADf4/wVX801w_O5U/s1600/acer-iconia-tab-w500p-4.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="379" src="http://4.bp.blogspot.com/-T7r9DKS7gsY/TqyawyXeDaI/AAAAAAAADf4/wVX801w_O5U/s400/acer-iconia-tab-w500p-4.jpg" width="400" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Off the docking station - Front&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://1.bp.blogspot.com/-bgFpeS6y5lU/Tqyc7jBeuuI/AAAAAAAADgA/hRLUwofbNHw/s1600/acer-iconia-tab-w500p-5.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="201" src="http://1.bp.blogspot.com/-bgFpeS6y5lU/Tqyc7jBeuuI/AAAAAAAADgA/hRLUwofbNHw/s320/acer-iconia-tab-w500p-5.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;Docking and tablet closed as notebook&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-3773140539176916379?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/3773140539176916379/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=3773140539176916379' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3773140539176916379'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3773140539176916379'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/10/acer-iconia-tab-w501p-c62go3iss.html' title='Acer Iconia Tab W501P Review'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/-SYJ9JbvXR8g/TqyaYzT-h_I/AAAAAAAADfU/pqejkMwCPAE/s72-c/toshiba-r830-10p-acer-iconia-tab-w500p.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-3321528341122986805</id><published>2011-07-15T15:51:00.001-03:00</published><updated>2011-07-15T15:52:52.343-03:00</updated><title type='text'>Samsung Galaxy S GT-I9000B Firmware upgrade</title><content type='html'>Finally Kies gave me the option to update my phone to Android 2.3.3. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-3321528341122986805?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/3321528341122986805/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=3321528341122986805' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3321528341122986805'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3321528341122986805'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/07/galaxy-s-gt-i9000b-firmware-upgrade.html' title='Samsung Galaxy S GT-I9000B Firmware upgrade'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-5382352771326285278</id><published>2011-07-02T20:51:00.007-03:00</published><updated>2011-07-07T18:28:55.164-03:00</updated><title type='text'>System Monitor applet and other Gnome3 tips</title><content type='html'>Gnome3 is revolutionary. But to enjoy its benefits, I had to exercise my zen side and let many old habits behind. I decided to give it a try. I'm liking it.&lt;br /&gt;&lt;br /&gt;But even liking Gnome3, I was missing System-Monitor applet. But now I have it. :-)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-1v8JrHKCQmE/ThYlDMKtDLI/AAAAAAAADeQ/T0AnjjVREWY/s1600/Screenshot-2.png" imageanchor="1" style="clear:left; float:left;margin-right:1em; margin-bottom:1em"&gt;&lt;img border="0" height="11" width="400" src="http://2.bp.blogspot.com/-1v8JrHKCQmE/ThYlDMKtDLI/AAAAAAAADeQ/T0AnjjVREWY/s400/Screenshot-2.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I followed Matthew Casperson's &lt;a href="http://www.brighthub.com/hubfolio/matthew-casperson/blog/archive/2011/06/09/getting-a-system-monitor-applet-back-in-gnome-3.aspx"&gt;post&lt;/a&gt; and added just some little steps:&lt;br /&gt;&lt;br /&gt;After following the steps described on Matthew Casperson's post:&lt;br /&gt;&lt;br /&gt;$ mkdir ~/bin&lt;br /&gt;$ cd ~/bin&lt;br /&gt;$ ln -s ~/git_projects/gnome-shell-system-monitor-applet/system-monitor-applet-config.py system-monitor-applet-config&lt;br /&gt;&lt;br /&gt;Those steps will enable you to call "Preferences" on the applet icon.&lt;br /&gt;&lt;br /&gt;I would also recommend reading other Matthew Casperson's post: &lt;a href="http://www.brighthub.com/hubfolio/matthew-casperson/blog/archive/2011/05/16/gnome-3-tips-and-tricks.aspx"&gt;Gnome 3 Tips and Tricks&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-5382352771326285278?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/5382352771326285278/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=5382352771326285278' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/5382352771326285278'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/5382352771326285278'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/07/system-monitor-applet-and-many-other.html' title='System Monitor applet and other Gnome3 tips'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-1v8JrHKCQmE/ThYlDMKtDLI/AAAAAAAADeQ/T0AnjjVREWY/s72-c/Screenshot-2.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-1247225357232236394</id><published>2011-06-27T15:20:00.011-03:00</published><updated>2011-06-27T15:48:34.556-03:00</updated><title type='text'>Five steps to create Fedora chroot jail using yum</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Pre-Notes:&lt;/span&gt;&lt;br /&gt; - This will work only if your Linux Distro is based on RPM and YUM. I have tested it on Fedora but it may also work on RHEL and Centos... It will NOT work on Ubuntu, Debian, Suse...&lt;br /&gt; - The operating system and its version will be the same inside and outside the chroot jail.&lt;br /&gt; - On the example, the chroot will be placed at: /chroot/devel&lt;br /&gt; - To install different version of Fedora or other RPM based distro, it will be necessary to manage yum package repositories outside the jail.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;The five steps:&lt;/span&gt;&lt;br /&gt;# 1 - Create the chroot directory&lt;br /&gt;$ sudo mkdir -p /chroot/devel/var/lib/rpm&lt;br /&gt;&lt;br /&gt;# 2 - Initiate rpm db on chroot&lt;br /&gt;$ sudo rpm --root /chroot/devel --initdb&lt;br /&gt;&lt;br /&gt;# 3 - download Fedora Release package.&lt;br /&gt;# If you do not want Fedora, download the correct *-release package and use it &lt;br /&gt;# on step 4. There are examples on the references.&lt;br /&gt;$ yumdownloader --destdir=/tmp fedora-release&lt;br /&gt;&lt;br /&gt;# 4 - Install downloaded Fedora release inside chroot&lt;br /&gt;$ sudo rpm --root /chroot/devel -ivh /tmp/fedora-release*rpm&lt;br /&gt;&lt;br /&gt;# 5 - Install bash and its dependencies on the jail.&lt;br /&gt;# For different versions of Fedora or to install other RPM based distros, it will be&lt;br /&gt;# necessary to configure the correct yum repositories outside the jail, so yum&lt;br /&gt;# can download the correct packages.&lt;br /&gt;$ sudo yum --installroot=/chroot/devel install bash&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Post-Notes:&lt;/span&gt;&lt;br /&gt; - To enter the jail:&lt;br /&gt;$ sudo chroot /chroot/devel&lt;br /&gt; - If you want to install yum inside the jail:&lt;br /&gt;$ sudo yum --installroot=/chroot/devel install yum&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;References:&lt;/span&gt;&lt;br /&gt;&lt;a href="http://prefetch.net/articles/yumchrootlinux.html"&gt;Creating chroot environments with yum&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://linuxclues.blogspot.com/2009/03/fedora-10-chroot-environment-debian-sid.html"&gt;Creating a FEDORA 10 CHROOT Environment in DEBIAN SID&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-1247225357232236394?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/1247225357232236394/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=1247225357232236394' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1247225357232236394'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1247225357232236394'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/06/five-steps-to-create-fedora-chroot-jail.html' title='Five steps to create Fedora chroot jail using yum'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-3456481127981904784</id><published>2011-06-27T08:55:00.001-03:00</published><updated>2011-06-27T08:57:13.897-03:00</updated><title type='text'>The Five Day Study Plan</title><content type='html'>Wants good score on upcoming tests?&lt;br /&gt;&lt;br /&gt;Try &lt;a href="http://lsc.sas.cornell.edu/Sidebars/Study_Skills_Resources/FiveDayStudyPlan.pdf"&gt;this&lt;/a&gt; four page guide.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-3456481127981904784?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/3456481127981904784/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=3456481127981904784' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3456481127981904784'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3456481127981904784'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/06/five-day-study-plan.html' title='The Five Day Study Plan'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-599261173146946936</id><published>2011-05-26T13:58:00.006-03:00</published><updated>2011-05-28T18:07:30.411-03:00</updated><title type='text'>Benchmark: Samsung S2 Portable 500GB USB 2.0 External HD</title><content type='html'>Benchmark results for Samsung S2 Portable 500GB USB 2.0 External HD Performance:&lt;br /&gt;Write (K/sec): 34974 ( 52% of the HD Performance of my notebook )&lt;br /&gt;Re-write (K/sec): 17612 ( 59% of the HD Performance of my notebook )&lt;br /&gt;Read (K/sec): 46580 ( 64% of the HD Performance of my notebook )&lt;br /&gt;Seeks/sec: 123.8 ( 164% of the HD Performance of my notebook )&lt;br /&gt;&lt;br /&gt;Conclusion:&lt;br /&gt;The theoretical speed limit for USB 2.0 would be 60 MByte/sec. The read speed is about 78% of this value wich is not bad. Even not feeling slow, this HD could be faster.&lt;br /&gt;&lt;br /&gt;About tests:&lt;br /&gt;Command line run on both notebooks:&lt;br /&gt;# bonnie++ -n 0 -u 0 -r 8192 -f -b -d /media/Peter-ext3/bonnie/&lt;br /&gt;Bonnie 1.96 @ Fedora 15&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;# hdparm -I /dev/sdb&lt;br /&gt;&lt;br /&gt;/dev/sdb:&lt;br /&gt;&lt;br /&gt;ATA device, with non-removable media&lt;br /&gt; Model Number:       SAMSUNG HM502JX                         &lt;br /&gt; Serial Number:      C2271F141A0TE5      &lt;br /&gt; Firmware Revision:  2AC101C4&lt;br /&gt; Transport:          Serial, ATA8-AST, SATA 1.0a, SATA II Extensions, SATA Rev 2.5, SATA Rev 2.6&lt;br /&gt;Standards:&lt;br /&gt; Used: unknown (minor revision code 0x0028) &lt;br /&gt; Supported: 8 7 6 5 &lt;br /&gt; Likely used: 8&lt;br /&gt;Configuration:&lt;br /&gt; Logical  max current&lt;br /&gt; cylinders 16383 16383&lt;br /&gt; heads  16 16&lt;br /&gt; sectors/track 63 63&lt;br /&gt; --&lt;br /&gt; CHS current addressable sectors:   16514064&lt;br /&gt; LBA    user addressable sectors:  268435455&lt;br /&gt; LBA48  user addressable sectors:  976773168&lt;br /&gt; Logical  Sector size:                   512 bytes&lt;br /&gt; Physical Sector size:                   512 bytes&lt;br /&gt; device size with M = 1024*1024:      476940 MBytes&lt;br /&gt; device size with M = 1000*1000:      500107 MBytes (500 GB)&lt;br /&gt; cache/buffer size  = 8192 KBytes&lt;br /&gt; Form Factor: 2.5 inch&lt;br /&gt;Capabilities:&lt;br /&gt; LBA, IORDY(can be disabled)&lt;br /&gt; Queue depth: 32&lt;br /&gt; Standby timer values: spec'd by Standard, no device specific minimum&lt;br /&gt; R/W multiple sector transfer: Max = 16 Current = ?&lt;br /&gt; Advanced power management level: disabled&lt;br /&gt; Recommended acoustic management value: 254, current value: 0&lt;br /&gt; DMA: mdma0 mdma1 mdma2 udma0 udma1 udma2 udma3 udma4 udma5 *udma6 &lt;br /&gt;      Cycle time: min=120ns recommended=120ns&lt;br /&gt; PIO: pio0 pio1 pio2 pio3 pio4 &lt;br /&gt;      Cycle time: no flow control=120ns  IORDY flow control=120ns&lt;br /&gt;Commands/features:&lt;br /&gt; Enabled Supported:&lt;br /&gt;    * SMART feature set&lt;br /&gt;      Security Mode feature set&lt;br /&gt;    * Power Management feature set&lt;br /&gt;    * Write cache&lt;br /&gt;    * Look-ahead&lt;br /&gt;    * Host Protected Area feature set&lt;br /&gt;    * WRITE_BUFFER command&lt;br /&gt;    * READ_BUFFER command&lt;br /&gt;    * NOP cmd&lt;br /&gt;    * DOWNLOAD_MICROCODE&lt;br /&gt;      Advanced Power Management feature set&lt;br /&gt;      Power-Up In Standby feature set&lt;br /&gt;    * SET_FEATURES required to spinup after power up&lt;br /&gt;      SET_MAX security extension&lt;br /&gt;      Automatic Acoustic Management feature set&lt;br /&gt;    * 48-bit Address feature set&lt;br /&gt;    * Device Configuration Overlay feature set&lt;br /&gt;    * Mandatory FLUSH_CACHE&lt;br /&gt;    * FLUSH_CACHE_EXT&lt;br /&gt;    * SMART error logging&lt;br /&gt;    * SMART self-test&lt;br /&gt;    * General Purpose Logging feature set&lt;br /&gt;    * 64-bit World wide name&lt;br /&gt;    * IDLE_IMMEDIATE with UNLOAD&lt;br /&gt;    * WRITE_UNCORRECTABLE_EXT command&lt;br /&gt;    * {READ,WRITE}_DMA_EXT_GPL commands&lt;br /&gt;    * Segmented DOWNLOAD_MICROCODE&lt;br /&gt;    * Gen1 signaling speed (1.5Gb/s)&lt;br /&gt;    * Gen2 signaling speed (3.0Gb/s)&lt;br /&gt;    * Native Command Queueing (NCQ)&lt;br /&gt;    * Host-initiated interface power management&lt;br /&gt;    * Phy event counters&lt;br /&gt;    * Idle-Unload when NCQ is active&lt;br /&gt;    * NCQ priority information&lt;br /&gt;      DMA Setup Auto-Activate optimization&lt;br /&gt;      Device-initiated interface power management&lt;br /&gt;    * Software settings preservation&lt;br /&gt;    * SMART Command Transport (SCT) feature set&lt;br /&gt;    * SCT Long Sector Access (AC1)&lt;br /&gt;    * SCT LBA Segment Access (AC2)&lt;br /&gt;    * SCT Error Recovery Control (AC3)&lt;br /&gt;    * SCT Features Control (AC4)&lt;br /&gt;    * SCT Data Tables (AC5)&lt;br /&gt;Security: &lt;br /&gt; Master password revision code = 65534&lt;br /&gt;  supported&lt;br /&gt; not enabled&lt;br /&gt; not locked&lt;br /&gt; not frozen&lt;br /&gt; not expired: security count&lt;br /&gt;  supported: enhanced erase&lt;br /&gt; 128min for SECURITY ERASE UNIT. 128min for ENHANCED SECURITY ERASE UNIT.&lt;br /&gt;Logical Unit WWN Device Identifier: 50000f001afbe500&lt;br /&gt; NAA  : 5&lt;br /&gt; IEEE OUI : 0000f0&lt;br /&gt; Unique ID : 01afbe500&lt;br /&gt;Checksum: correct&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-599261173146946936?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/599261173146946936/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=599261173146946936' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/599261173146946936'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/599261173146946936'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/05/samsung-s2-portable-500gb-usb-20.html' title='Benchmark: Samsung S2 Portable 500GB USB 2.0 External HD'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-7505173086094089076</id><published>2011-05-25T20:00:00.007-03:00</published><updated>2011-05-25T20:11:59.545-03:00</updated><title type='text'>WiFi/Wireless on Toshiba R830 on Fedora 15</title><content type='html'>I was not able to use WiFi on Toshiba R830 running Fedora 15. There were missing firmware files for iwl6000g2b adapter. It is very easy to fix it:&lt;br /&gt;&lt;br /&gt;# yum install iwl6000g2b-firmware&lt;br /&gt;&lt;br /&gt;Then reboot and your Wifi will be running after next boot. :-)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-7505173086094089076?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/7505173086094089076/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=7505173086094089076' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7505173086094089076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7505173086094089076'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/05/wifiwireless-on-toshiba-r830-fedora-15.html' title='WiFi/Wireless on Toshiba R830 on Fedora 15'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-7480369475778509061</id><published>2011-05-25T07:40:00.007-03:00</published><updated>2011-05-27T17:02:42.993-03:00</updated><title type='text'>Benchmark: Core 2 Duo T7200 vs. Core i7 2620M</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Test systems:&lt;/span&gt;&lt;br /&gt;System 1: 2007 noteoobk: Toshiba U205-S5067: &lt;span style="font-weight:bold;"&gt;Core 2 Duo T7200&lt;/span&gt;, 4GB RAM, 320 GB HD&lt;br /&gt;System 2: 2011 notebook: Toshiba R830-10P: &lt;span style="font-weight:bold;"&gt;Core i7 2620M&lt;/span&gt;, 8GB RAM, 256 GB SSD&lt;br /&gt;&lt;br /&gt;This benchmark result is not only affected by the processor. Almost all system components affects the result. The processor is only the main component.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Results:&lt;/span&gt;&lt;br /&gt;Evaluating overall performance, for compiling Linux Kernel and generate its RPM packages for Fedora 15: &lt;span style="font-weight:bold;"&gt;Core i7 system is 2.85 times faster than Core 2 Duo system&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Details&lt;/span&gt;&lt;br /&gt;I've run the steps described on: &lt;a href="http://kdpeter.blogspot.com/2011/05/steps-to-test-kernel-build-on-fedora-15.html"&gt;http://kdpeter.blogspot.com/2011/05/steps-to-test-kernel-build-on-fedora-15.html&lt;/a&gt;, for the kernel package kernel-2.6.38.6-27.fc15.src.rpm.&lt;br /&gt;&lt;br /&gt;The only difference to the procedure described above is that I added the command "time" in the building step, to be able to compare necessary time to do same task.&lt;br /&gt;$ time rpmbuild -bb --with baseonly --without debuginfo --target=`uname -m` kernel.spec&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Individual results&lt;/span&gt;&lt;br /&gt;System 1: Core 2 Duo&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;real 67m48.453s&lt;/span&gt;&lt;br /&gt;user 88m6.698s&lt;br /&gt;sys 17m35.033s&lt;br /&gt;&lt;br /&gt;System 2: Core i7&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;real 23m46.994s&lt;/span&gt;&lt;br /&gt;user 68m25.556s&lt;br /&gt;sys 10m29.816s&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-7480369475778509061?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/7480369475778509061/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=7480369475778509061' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7480369475778509061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7480369475778509061'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/05/core-2-duo-t7200-vs-core-i7-2620m.html' title='Benchmark: Core 2 Duo T7200 vs. Core i7 2620M'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-1844642857971376438</id><published>2011-05-24T21:15:00.010-03:00</published><updated>2011-09-24T08:39:02.644-03:00</updated><title type='text'>Benchmark: SSD vs. SATA</title><content type='html'>System 1: 2007 noteoobk: Toshiba U205-S5067: Core 2 Duo T7200, 4GB RAM, &lt;span style="font-weight:bold;"&gt;320 GB HD&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;System 2: 2011 notebook: Toshiba R830-10P: core i7 2620M, 8GB RAM, &lt;span style="font-weight:bold;"&gt;256 GB SSD&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;How many times faster is SSD??&lt;br /&gt;Write: 2.50 times faster&lt;br /&gt;Re-write: 2.83 times faster&lt;br /&gt;Read: 3.89 times faster&lt;br /&gt;Seeks/sec: 23.99 times faster&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Benchmark results:&lt;/span&gt;&lt;br /&gt;System 1: 320GB SATA HD&lt;br /&gt;Write (K/sec): 66608&lt;br /&gt;Re-write (K/sec): 29609&lt;br /&gt;Read (K/sec): 71894&lt;br /&gt;Seeks/sec: 75.4&lt;br /&gt;&lt;br /&gt;System 2: 256GB SATA SSD&lt;br /&gt;Write (K/sec): 166827&lt;br /&gt;Re-write (K/sec): 84040&lt;br /&gt;Read (K/sec): 280068&lt;br /&gt;Seeks/sec: 1809&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;About tests:&lt;/span&gt;&lt;br /&gt;Command line run on both notebooks:&lt;br /&gt;# bonnie++ -n 0 -u 0 -r 8192 -f -b -d /bonnie/&lt;br /&gt;Bonnie 1.96 @ Fedora 15&lt;br /&gt;&lt;br /&gt;System 1 HD info:&lt;br /&gt;hdparm -i /dev/sda&lt;br /&gt;&lt;br /&gt;/dev/sda:&lt;br /&gt;&lt;br /&gt; Model=SAMSUNG HM320JI, FwRev=2SS00_01, SerialNo=S16LJF0S221285&lt;br /&gt; Config={ HardSect NotMFM HdSw&gt;15uSec Fixed DTR&gt;10Mbs }&lt;br /&gt; RawCHS=16383/16/63, TrkSize=34902, SectSize=554, ECCbytes=4&lt;br /&gt; BuffType=DualPortCache, BuffSize=8192kB, MaxMultSect=16, MultSect=off&lt;br /&gt; CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=625142448&lt;br /&gt; IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}&lt;br /&gt; PIO modes:  pio0 pio1 pio2 pio3 pio4 &lt;br /&gt; DMA modes:  mdma0 mdma1 mdma2 &lt;br /&gt; UDMA modes: udma0 udma1 udma2 udma3 udma4 udma5 *udma6 &lt;br /&gt; AdvancedPM=yes: unknown setting WriteCache=enabled&lt;br /&gt; Drive conforms to: ATA/ATAPI-7 T13 1532D revision 0:  ATA/ATAPI-1,2,3,4,5,6,7&lt;br /&gt;&lt;br /&gt; * signifies the current active mode&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;System 2 SSD info:&lt;br /&gt;# hdparm -i /dev/sda&lt;br /&gt;&lt;br /&gt;/dev/sda:&lt;br /&gt;&lt;br /&gt; Model=TOSHIBA THNSNC256GBSJ, FwRev=CJTA0202, SerialNo=21RS106DTCNZ&lt;br /&gt; Config={ Fixed }&lt;br /&gt; RawCHS=16383/16/63, TrkSize=0, SectSize=0, ECCbytes=0&lt;br /&gt; BuffType=unknown, BuffSize=unknown, MaxMultSect=16, MultSect=16&lt;br /&gt; CurCHS=16383/16/63, CurSects=16514064, LBA=yes, LBAsects=500118192&lt;br /&gt; IORDY=on/off, tPIO={min:120,w/IORDY:120}, tDMA={min:120,rec:120}&lt;br /&gt; PIO modes:  pio0 pio3 pio4 &lt;br /&gt; DMA modes:  mdma0 mdma1 mdma2 &lt;br /&gt; UDMA modes: udma0 udma1 udma2 udma3 udma4 *udma5 &lt;br /&gt; AdvancedPM=yes: unknown setting WriteCache=enabled&lt;br /&gt; Drive conforms to: Unspecified:  ATA/ATAPI-3,4,5,6,7&lt;br /&gt;&lt;br /&gt; * signifies the current active mode&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-1844642857971376438?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/1844642857971376438/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=1844642857971376438' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1844642857971376438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1844642857971376438'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2011/05/performance-test-result-ssd-vs-hd.html' title='Benchmark: SSD vs. SATA'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-6801166739926408020</id><published>2010-02-11T12:57:00.004-02:00</published><updated>2010-02-11T13:06:05.253-02:00</updated><title type='text'>Bad Buzz</title><content type='html'>I used to love the Gmail service. It used to be clean, fast and it was always there, just working. Some weeks ago I noticed that it started to be drastically slow for some simple tasks.&lt;br /&gt;&lt;br /&gt;My internet link is perfect, my dns server is also perfect. So I was thinking that there was something wrong with Gmail.&lt;br /&gt;&lt;br /&gt;My guess is that the new feature with dubious utility, Buzz, is the reason of the slowness.&lt;br /&gt;&lt;br /&gt;Google, could you please give me back my fast, clean and reliable Gmail?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-6801166739926408020?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/6801166739926408020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=6801166739926408020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6801166739926408020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6801166739926408020'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2010/02/bad-buzz.html' title='Bad Buzz'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-8117003408051142735</id><published>2009-11-30T15:07:00.001-02:00</published><updated>2009-11-30T15:08:55.821-02:00</updated><title type='text'>Getting source files from Debian Backports</title><content type='html'># For Debian Etch&lt;br /&gt;&lt;br /&gt;echo "deb-src http://www.backports.org/debian etch-backports main contrib non-free" &gt;&gt; /etc/apt/sources.list&lt;br /&gt;&lt;br /&gt;aptitude update&lt;br /&gt;&lt;br /&gt;apt-get source &lt;package name&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-8117003408051142735?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/8117003408051142735/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=8117003408051142735' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/8117003408051142735'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/8117003408051142735'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/11/getting-source-files-from-debian.html' title='Getting source files from Debian Backports'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-144167435033629753</id><published>2009-10-02T09:20:00.007-03:00</published><updated>2009-10-12T21:54:20.143-03:00</updated><title type='text'>Como entrar em contato com o Mercadolivre</title><content type='html'>O Mercadolivre é um bom local para se vender de tudo. Porém o serviço de atendimento é desrespeitoso. É impossível falar com eles e isso é assim de propósito.&lt;br /&gt;&lt;br /&gt;Achei um formulário de contato no site. O endereço é: &lt;br /&gt;&lt;a href="http://www.mercadolivre.com.br/jm/ml.faqs.portalFaqs.FaqsController?axn=frmContact&amp;faqId=6031&amp;categId=PDEN" target="_blank"&gt;http://www.mercadolivre.com.br/jm/ml.faqs.portalFaqs.FaqsController?axn=frmContact&amp;faqId=6031&amp;categId=PDEN&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Vale a pena ligar para o 0800-8911897 só pra criar algum transtorno. É o telefone de uma empresa que presta serviço de cobrança para o MercadoLivre. Eles devem receber ligações de pessoas iradas porque nem o nome eles dizem. Veja o meu roteiro para pertubá-los. Sendo muito educado e polido, fale com a voz mais macia que você tiver:&lt;br /&gt;1 - Ligue o 0800-8911897&lt;br /&gt;2 - Pergunte o nome do atendente&lt;br /&gt;3 - Pergunte o nome da empresa&lt;br /&gt;4 - Pergunte como entrar em contato com o Mercadolivre. O atendente vai te dizer que tem um formulário no site.&lt;br /&gt;5 - Peça ajuda ao atendente. Diga que você já encontrou o formulário mas que não há forma de entrar em contato. O atendente vai te dar alguma ajuda.&lt;br /&gt;6 - Pergunte como a empresa do atendente entra em contato com o Mercadolivre.&lt;br /&gt;7 - Peça uma sugestão sobre o que você deve fazer para entrar em contato com o Mercadolivre.&lt;br /&gt;&lt;br /&gt;Se umas 500 pessoas seguirem este roteiro todos os dias, talvez alguma coisa mude.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-144167435033629753?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/144167435033629753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=144167435033629753' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/144167435033629753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/144167435033629753'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/10/como-entrar-em-contato-com-o.html' title='Como entrar em contato com o Mercadolivre'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-6383928556832498747</id><published>2009-07-12T11:54:00.006-03:00</published><updated>2009-07-12T11:59:58.228-03:00</updated><title type='text'>Other way of creating initrd for Debian</title><content type='html'>I'm working on installing Debian 4 on Z series mainframe and It was required to add preseed.cfg to initrd in order to allow unathenticated packages.&lt;br /&gt;&lt;br /&gt;The original method I knew to create initrd did not work, so I used the above script.&lt;br /&gt;&lt;br /&gt;To convert from downloaded initramfs to "working" initrd image I use the following script:&lt;br /&gt;---------------------&lt;br /&gt;#!/bin/sh&lt;br /&gt;rm -f initrd initrd.gz&lt;br /&gt;dd if=/dev/zero of=initrd bs=10000000 count=1&lt;br /&gt;/sbin/mke2fs -F -m0 initrd&lt;br /&gt;mount -t ext2 -o loop initrd /mnt&lt;br /&gt;gzip -dc initrd.img |(cd /mnt ; cpio -i )&lt;br /&gt;umount /mnt&lt;br /&gt;gzip -9 initrd&lt;br /&gt;---------------------&lt;br /&gt;&lt;br /&gt;Script source: https://bugzilla.redhat.com/show_bug.cgi?id=146237#c1&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-6383928556832498747?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/6383928556832498747/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=6383928556832498747' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6383928556832498747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6383928556832498747'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/07/other-way-of-creating-initrd-for-debian.html' title='Other way of creating initrd for Debian'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-5042037866150718118</id><published>2009-07-06T21:41:00.003-03:00</published><updated>2009-08-01T16:09:28.631-03:00</updated><title type='text'>Eu gosto da GVT</title><content type='html'>Tenho um link de dados muito bom. Contratei o plano de 10Mbps da GVT. São 10Mbps para download e 1Mbps para upload. Para alcançar a velocidade contratada, a GVT configura o modem ADSL com Downstream Rate de 12797 Kbps e Upstream Rate de 1159 Kbps.&lt;br /&gt;&lt;br /&gt;Faço downloads a 1,3 MB/s (10 Mbps = 1,25MB/s). Fazer o download da ISO do Ubunto 8.10 levou menos de 10 minutos.&lt;br /&gt;&lt;br /&gt;Eu monitoro a disponibilidade do serviço de ADSL. Em um ano e meio o link ADSL nunca caiu por problemas na GVT e houve problemas de rota apenas duas vezes. Isso é muito bom.&lt;br /&gt;&lt;br /&gt;Minha experiência com a GVT é muito boa. Quando contratei o serviço de ADSL, decidi configurar o modem duas horas da madrugada. Eu não sabia os parâmetros e liguei para o 10325. O técnico que me atendeu sabia o que estava dizendo e me tratou muito bem.&lt;br /&gt;&lt;br /&gt;Hoje tive outra experiência legal. Eu estava fora de casa e precisei acessar meu servidor caseiro. Meu modem ADSL tem um cliente embutido para o dyndns. Hoje o IP do modem havia sido alterado e o dyndns não captou a mudança. Eu liguei para o atendimento GVT e pedi encarecidamente que o técnico fizesse um "reset" da minha linha ADSL para que o dyndns fosse atualizado. Levei mais tempo "escolhendo a opção desejada" na central da GVT do que para ter o problema resolvido. No total levei menos de 5 minutos para resolver meu problema.&lt;br /&gt;&lt;br /&gt;Se ter um link rápido com a Internet, ter um link confiável e ter atendimento telefônico eficiente e respeitoso são características importantes para você, contrate o serviço de banda larga GVT.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-5042037866150718118?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/5042037866150718118/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=5042037866150718118' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/5042037866150718118'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/5042037866150718118'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/07/eu-gosto-da-gvt.html' title='Eu gosto da GVT'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-4012646066781471244</id><published>2009-06-25T13:25:00.006-03:00</published><updated>2009-06-25T13:37:11.528-03:00</updated><title type='text'>Instalar servidor Sunray Server Software no Linux</title><content type='html'>Eu gastei muitas semanas tentando instalar o servidor Sunray Server Software no Linux.&lt;br /&gt;&lt;br /&gt;Eu NÃO consegui fazer o servidor funcionar no Centos 5.3 x86_64. Talvez o problema esteja relacionado com o pacote do GDM mas não funcioanou.&lt;br /&gt;&lt;br /&gt;Funcionou bem com a versão i386 do Centos.&lt;br /&gt;&lt;br /&gt;Veja o guia passo a passo:&lt;br /&gt;&lt;br /&gt;1 - Instalar o Centos 5.3 i386&lt;br /&gt;1.1 - Se seu servidor possuir mais do que 3GB de RAM, rode como root: yum -y install kernel-PAE&lt;br /&gt;&lt;br /&gt;2 - Rode como root:&lt;br /&gt;yum -y update&lt;br /&gt;reboot&lt;br /&gt;&lt;br /&gt;3 - Download:&lt;br /&gt;srss_4.1_linux.zip de http://www.sun.com/software/sunray/getit.jsp&lt;br /&gt;jre-6u13-linux-i586-rpm.bin de http://www.java.com&lt;br /&gt;apache-tomcat-5.5.27.tar.gz de http://tomcat.apache.org/&lt;br /&gt;&lt;br /&gt;4 - rode como root:&lt;br /&gt;yum install glib dhcp openldap-clients openldap tftp-server libXp openmotif22 openssl compat-libstdc++-33 libusb-devel compat-openldap&lt;br /&gt;yum groupinstall "Development Tools"&lt;br /&gt;yum install kernel-devel&lt;br /&gt;&lt;br /&gt;5 - rode como root:&lt;br /&gt;cd /usr/lib&lt;br /&gt;ln -sf libldap-2.3.so.0.2.31 libldap.so.199&lt;br /&gt;ln -sf libgdbm.so.2.0.0 libgdbm.so.3&lt;br /&gt;ln -sf liblber-2.3.so.0.2.31 liblber.so.199&lt;br /&gt;&lt;br /&gt;6 - instale o jre que você fez o download. Rode como root:&lt;br /&gt;sh jre-6u13-linux-i586-rpm.bin&lt;br /&gt;&lt;br /&gt;7 - instale o tomcat que você fez o download. Rode como root:&lt;br /&gt;cd /opt&lt;br /&gt;tar xvzf apache-tomcat-5.5.27.tar.gz&lt;br /&gt;ln -sf apache-tomcat-5.5.27 apache-tomcat&lt;br /&gt;&lt;br /&gt;8 - Adicione o tomcat como um serviço. copie o código abaixo e cole em /etc/init.d/tomcat&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;# Tomcat Server&lt;br /&gt;#&lt;br /&gt;# chkconfig: 345 96 30&lt;br /&gt;# description: Java servlet container&lt;br /&gt;&lt;br /&gt;JAVA_HOME=/usr/java/latest/&lt;br /&gt;&lt;br /&gt;PATH=${JAVA_HOME}/bin:${PATH}&lt;br /&gt;&lt;br /&gt;TOMCAT_START=/opt/apache-tomcat/bin/startup.sh&lt;br /&gt;&lt;br /&gt;TOMCAT_STOP=/opt/apache-tomcat/bin/shutdown.sh&lt;br /&gt;&lt;br /&gt;export JAVA_HOME PATH&lt;br /&gt;&lt;br /&gt;start()&lt;br /&gt;{&lt;br /&gt;if [ -x ${TOMCAT_START} ]; then&lt;br /&gt;        echo "Starting tomcat server..."&lt;br /&gt;        ${TOMCAT_START} &amp;amp;&lt;br /&gt;else&lt;br /&gt;        echo "Cannot start tomcat server"&lt;br /&gt;fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;stop()&lt;br /&gt;{&lt;br /&gt;if [ -x ${TOMCAT_STOP} ]; then&lt;br /&gt;        echo "Stopping tomcat server..."&lt;br /&gt;        ${TOMCAT_STOP} &amp;amp;&lt;br /&gt;else&lt;br /&gt;        echo "Cannot stop tomcat server"&lt;br /&gt;fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;restart()&lt;br /&gt;{&lt;br /&gt;stop&lt;br /&gt;sleep 10&lt;br /&gt;start&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;status()&lt;br /&gt;{&lt;br /&gt;echo "No status available for tomcat server"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;case "$1" in&lt;br /&gt;'start')&lt;br /&gt;start&lt;br /&gt;;;&lt;br /&gt;'stop')&lt;br /&gt;stop&lt;br /&gt;;;&lt;br /&gt;'restart')&lt;br /&gt;restart&lt;br /&gt;;;&lt;br /&gt;'status')&lt;br /&gt;status&lt;br /&gt;;;&lt;br /&gt;*)&lt;br /&gt;echo "Please supply an argument [start|stop|restart]"&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;9 - Para completar a instalação do tomcat não esqueça de:&lt;br /&gt;chmod +x /etc/init.d/tomcat&lt;br /&gt;chkconfig tomcat on&lt;br /&gt;service tomcat start&lt;br /&gt;&lt;br /&gt;10 - Descompacte o Sunray Server Software que você fez o download:&lt;br /&gt;unzip srss_4.1_linux.zip&lt;br /&gt;cd srss_4.1&lt;br /&gt;./utinstall&lt;br /&gt;reboot&lt;br /&gt;&lt;br /&gt;11 - O primeiro passo de configuração do Sunray Server Software:&lt;br /&gt;cd /opt/SUNWut/sbin&lt;br /&gt;./utconfig&lt;br /&gt;reboot&lt;br /&gt;&lt;br /&gt;12 - O segundo passo de configuração do Sunray Server Software:&lt;br /&gt;Este é o único passo complicado. O utadm usa uma lógica que eu não entendi sobre o /etc/hosts. Só consegui fazer ele funcionar editando o /etc/hosts antes de rodar o utadm.&lt;br /&gt;&lt;br /&gt;A dica é adicionar uma entrada no /etc/hosts com o ip real da sua placa de rede e comentar a linha que começa com 127.0.0.1. Veja o exemplo abaixo:&lt;br /&gt;&lt;br /&gt;Antes de editar:&lt;br /&gt;vi /etc/hosts&lt;br /&gt;# Do not remove the following line, or various programs&lt;br /&gt;# that require network functionality will fail.&lt;br /&gt;127.0.0.1       localhost.localdomain localhost        #Comment this line&lt;br /&gt;::1             localhost6.localdomain6 localhost6&lt;br /&gt;&lt;br /&gt;Depois de editar:&lt;br /&gt;# Do not remove the following line, or various programs&lt;br /&gt;# that require network functionality will fail.&lt;br /&gt;#127.0.0.1       localhost.localdomain localhost&lt;br /&gt;::1             localhost6.localdomain6 localhost6&lt;br /&gt;10.0.0.115     localhost localhost.localdomain&lt;br /&gt;&lt;br /&gt;Agora execute como root:&lt;br /&gt;&lt;br /&gt;cd /opt/SUNWut/sbin&lt;br /&gt;./utadm -a eth0&lt;br /&gt;&lt;br /&gt;E desfaça as alterações que VOCÊ FEZ no /etc/hosts. Não remova a linha que o utadm adicionou. Veja como seu /etc/hosts deve ficar após você desfazer as alterações:&lt;br /&gt;# Do not remove the following line, or various programs&lt;br /&gt;# that require network functionality will fail.&lt;br /&gt;127.0.0.1       localhost.localdomain localhost&lt;br /&gt;::1             localhost6.localdomain6 localhost6&lt;br /&gt;#10.0.0.115     localhost localhost.localdomain&lt;br /&gt;192.168.128.1   localhost-eth0.localdomain # SUNRAY ADD - DO NOT MODIFY&lt;br /&gt;&lt;br /&gt;Agora execute como root:&lt;br /&gt;reboot&lt;br /&gt;&lt;br /&gt;Divirta-se!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-4012646066781471244?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/4012646066781471244/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=4012646066781471244' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/4012646066781471244'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/4012646066781471244'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/06/instalando-servidor-sunray-server.html' title='Instalar servidor Sunray Server Software no Linux'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-7654809707169699574</id><published>2009-06-25T13:02:00.007-03:00</published><updated>2009-06-25T13:37:30.869-03:00</updated><title type='text'>Installing Sunray II server software on Centos 5.3</title><content type='html'>I spent many weeks trying to install Sunray server software on Linux.&lt;br /&gt;&lt;br /&gt;I was NOT able to make it work with Centos 5.3 x86_64. Maybe this is related somehow to GDM package but it did not work.&lt;br /&gt;&lt;br /&gt;It worked when using i386 version of Centos.&lt;br /&gt;&lt;br /&gt;See the step by step guide.&lt;br /&gt;&lt;br /&gt;1 - Install Centos 5.3 i386&lt;br /&gt;1.1 - If you have more than 3GB of installed RAM, run as root: yum -y install kernel-PAE&lt;br /&gt;&lt;br /&gt;2 - Run as root:&lt;br /&gt;yum -y update&lt;br /&gt;reboot&lt;br /&gt;&lt;br /&gt;3 - Download:&lt;br /&gt;srss_4.1_linux.zip from http://www.sun.com/software/sunray/getit.jsp&lt;br /&gt;jre-6u13-linux-i586-rpm.bin from http://www.java.com&lt;br /&gt;apache-tomcat-5.5.27.tar.gz from http://tomcat.apache.org/&lt;br /&gt;&lt;br /&gt;4 - run as root:&lt;br /&gt;yum install glib dhcp openldap-clients openldap tftp-server libXp openmotif22 openssl compat-libstdc++-33 libusb-devel compat-openldap&lt;br /&gt;yum groupinstall "Development Tools"&lt;br /&gt;yum install kernel-devel&lt;br /&gt;&lt;br /&gt;5 - run as root:&lt;br /&gt;cd /usr/lib&lt;br /&gt;ln -sf libldap-2.3.so.0.2.31 libldap.so.199&lt;br /&gt;ln -sf libgdbm.so.2.0.0 libgdbm.so.3&lt;br /&gt;ln -sf liblber-2.3.so.0.2.31 liblber.so.199&lt;br /&gt;&lt;br /&gt;6 - install jre that you have downloaded. Run as root:&lt;br /&gt;sh jre-6u13-linux-i586-rpm.bin&lt;br /&gt;&lt;br /&gt;7 - install tomcat that you have downloaded. Run as root:&lt;br /&gt;cd /opt&lt;br /&gt;tar xvzf apache-tomcat-5.5.27.tar.gz&lt;br /&gt;ln -sf apache-tomcat-5.5.27 apache-tomcat&lt;br /&gt;&lt;br /&gt;8 - Add tomcat as a service. copy and past above code to /etc/init.d/tomcat&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;#&lt;br /&gt;# Tomcat Server&lt;br /&gt;#&lt;br /&gt;# chkconfig: 345 96 30&lt;br /&gt;# description: Java servlet container&lt;br /&gt;&lt;br /&gt;JAVA_HOME=/usr/java/latest/&lt;br /&gt;&lt;br /&gt;PATH=${JAVA_HOME}/bin:${PATH}&lt;br /&gt;&lt;br /&gt;TOMCAT_START=/opt/apache-tomcat/bin/startup.sh&lt;br /&gt;&lt;br /&gt;TOMCAT_STOP=/opt/apache-tomcat/bin/shutdown.sh&lt;br /&gt;&lt;br /&gt;export JAVA_HOME PATH&lt;br /&gt;&lt;br /&gt;start()&lt;br /&gt;{&lt;br /&gt;    if [ -x ${TOMCAT_START} ]; then&lt;br /&gt;            echo "Starting tomcat server..."&lt;br /&gt;            ${TOMCAT_START} &amp;amp;&lt;br /&gt;    else&lt;br /&gt;            echo "Cannot start tomcat server"&lt;br /&gt;    fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;stop()&lt;br /&gt;{&lt;br /&gt;    if [ -x ${TOMCAT_STOP} ]; then&lt;br /&gt;            echo "Stopping tomcat server..."&lt;br /&gt;            ${TOMCAT_STOP} &amp;amp;&lt;br /&gt;    else&lt;br /&gt;            echo "Cannot stop tomcat server"&lt;br /&gt;    fi&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;restart()&lt;br /&gt;{&lt;br /&gt;    stop&lt;br /&gt;    sleep 10&lt;br /&gt;    start&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;status()&lt;br /&gt;{&lt;br /&gt;    echo "No status available for tomcat server"&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;case "$1" in&lt;br /&gt;'start')&lt;br /&gt;    start&lt;br /&gt;    ;;&lt;br /&gt;'stop')&lt;br /&gt;    stop&lt;br /&gt;    ;;&lt;br /&gt;'restart')&lt;br /&gt;    restart&lt;br /&gt;    ;;&lt;br /&gt;'status')&lt;br /&gt;    status&lt;br /&gt;    ;;&lt;br /&gt;*)&lt;br /&gt;    echo "Please supply an argument [start|stop|restart]"&lt;br /&gt;esac&lt;br /&gt;&lt;br /&gt;9 - To complete tomcat installation, do not forget to:&lt;br /&gt;chmod +x /etc/init.d/tomcat&lt;br /&gt;chkconfig tomcat on&lt;br /&gt;service tomcat start&lt;br /&gt;&lt;br /&gt;10 - Unzip the Sunray Server Software that you have downloaded:&lt;br /&gt;unzip srss_4.1_linux.zip&lt;br /&gt;cd srss_4.1&lt;br /&gt;./utinstall&lt;br /&gt;reboot&lt;br /&gt;&lt;br /&gt;11 - First Sunray Server Software configuration step:&lt;br /&gt;cd /opt/SUNWut/sbin&lt;br /&gt;./utconfig&lt;br /&gt;reboot&lt;br /&gt;&lt;br /&gt;12 - Second Sunray Server Software configuration step:&lt;br /&gt;This is the only dificult step. The utadm  uses a logic that I haven't understood about /etc/hosts. The only way to make it works on my scenario is to edit /etc/hosts before running utadm.&lt;br /&gt;&lt;br /&gt;The trick is to add an entry to /etc/hosts that contain the real ip address of your server and to comment the 127.0.0.1 entry. See the example above:&lt;br /&gt;&lt;br /&gt;Before editing:&lt;br /&gt;vi /etc/hosts&lt;br /&gt;# Do not remove the following line, or various programs&lt;br /&gt;# that require network functionality will fail.&lt;br /&gt;127.0.0.1       localhost.localdomain localhost        #Comment this line&lt;br /&gt;::1             localhost6.localdomain6 localhost6&lt;br /&gt;&lt;br /&gt;After editing:&lt;br /&gt;# Do not remove the following line, or various programs&lt;br /&gt;# that require network functionality will fail.&lt;br /&gt;#127.0.0.1       localhost.localdomain localhost&lt;br /&gt;::1             localhost6.localdomain6 localhost6&lt;br /&gt;10.0.0.115     localhost localhost.localdomain&lt;br /&gt;&lt;br /&gt;Now just run as root:&lt;br /&gt;&lt;br /&gt;cd /opt/SUNWut/sbin&lt;br /&gt;./utadm -a eth0&lt;br /&gt;&lt;br /&gt;And undo the changes YOU MADE on /etc/hosts. Do not remove the line added by utadm. See how it should look like after you undo your changes:&lt;br /&gt;# Do not remove the following line, or various programs&lt;br /&gt;# that require network functionality will fail.&lt;br /&gt;127.0.0.1       localhost.localdomain localhost&lt;br /&gt;::1             localhost6.localdomain6 localhost6&lt;br /&gt;#10.0.0.115     localhost localhost.localdomain&lt;br /&gt;192.168.128.1   localhost-eth0.localdomain # SUNRAY ADD - DO NOT MODIFY&lt;br /&gt;&lt;br /&gt;Now run as root: reboot&lt;br /&gt;&lt;br /&gt;And enjoy it.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-7654809707169699574?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/7654809707169699574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=7654809707169699574' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7654809707169699574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7654809707169699574'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/06/installing-sunray-ii-server-software-on.html' title='Installing Sunray II server software on Centos 5.3'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-2378315944644755818</id><published>2009-05-17T16:55:00.003-03:00</published><updated>2009-05-17T16:57:19.385-03:00</updated><title type='text'>Download Centos DVD iso</title><content type='html'>Looking for a place to download Centos DVD iso without bittorrent?&lt;br /&gt;&lt;br /&gt;Check: http://mirror.switch.ch/ftp/mirror/centos/&lt;br /&gt;&lt;br /&gt;Click on the desired version, then on isos, and choose the arch.&lt;br /&gt;&lt;br /&gt;For example version 5.3 dvd isos are at:&lt;br /&gt;http://mirror.switch.ch/ftp/mirror/centos/5.3/isos/i386/CentOS-5.3-i386-bin-DVD.iso&lt;br /&gt;http://mirror.switch.ch/ftp/mirror/centos/5.3/isos/x86_64/CentOS-5.3-x86_64-bin-DVD.iso&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-2378315944644755818?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/2378315944644755818/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=2378315944644755818' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/2378315944644755818'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/2378315944644755818'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/05/download-centos-dvd-iso.html' title='Download Centos DVD iso'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-3558480908105772644</id><published>2009-05-07T10:17:00.005-03:00</published><updated>2009-05-07T14:20:47.436-03:00</updated><title type='text'>HD Upgrade with Ubuntu</title><content type='html'>I was at São Paulo when my notebook locked with bad block messages on screen...&lt;br /&gt;&lt;br /&gt;I tried to stay calm, and it worked.&lt;br /&gt;&lt;br /&gt;Next boot, all my data were there. But I would not wait for the next hang to see if I would loose data next time.&lt;br /&gt;&lt;br /&gt;I went to "Boulevard Shopping" at Avenida Paulista and spend R$ 200,00 in a new 320GB HD + USB case.&lt;br /&gt;&lt;br /&gt;I installed the new HD on the USB case and booted with Fedora rescue environment. Yes, this is correct. Anaconda is the best rescue environment. Download it from, it is less than 200MB: http://fedora.c3sl.ufpr.br/linux/releases/10/Fedora/i386/iso/Fedora-10-i386-netinst.iso&lt;br /&gt;&lt;br /&gt;With fdisk, I created one partition for SWAP and other for the data on the new disk.&lt;br /&gt;&lt;br /&gt;Then mkfs.ext3 on the data partition.&lt;br /&gt;&lt;br /&gt;Mount old data partition on /source.&lt;br /&gt;&lt;br /&gt;Mount new data partition on /target.&lt;br /&gt;&lt;br /&gt;Copy the data from old to new disc with cp -a /soruce/* /target.&lt;br /&gt;&lt;br /&gt;Am I crazy? No! :)&lt;br /&gt;&lt;br /&gt;Now there are still two tasks to be done.&lt;br /&gt;&lt;br /&gt;1 - Install grub on the HD:&lt;br /&gt;#This will enable you to use /dev directory when you chroot to /target&lt;br /&gt;mount -o bind /dev /target/dev &lt;br /&gt;&lt;br /&gt;chroot /target&lt;br /&gt;&lt;br /&gt;grub-install /dev/sda&lt;br /&gt;&lt;br /&gt;2 - Update UUID&lt;br /&gt;# UUID is a safer way to refer to a disk. There is no persistent association between a physical disk and /dev/sda. But all partitions has its own UUID. See more about UUID at: http://en.wikipedia.org/wiki/Universally_Unique_Identifier&lt;br /&gt;&lt;br /&gt;# First you need to find out UUID of your root / partition and SWAP&lt;br /&gt;tune2fs -l /dev/sda2 |grep UUID #will print UUID of /dev/sda2 if it is ext2/3/4 partition&lt;br /&gt;mkswap /dev/sda1 #will format and print UUID of your swap partition&lt;br /&gt;&lt;br /&gt;#Now you have to edit two files&lt;br /&gt;&lt;br /&gt;vi /etc/fstab #Yes! I like vi! :)&lt;br /&gt;#Replace both / UUID and SWAP UUID for the new ones.&lt;br /&gt;&lt;br /&gt;vi vi /boot/grub/menu.lst&lt;br /&gt;&lt;br /&gt;Edit only two lines: &lt;br /&gt;# kopt=root=UUID=08459d45-314e-4288-af13-c6c8819cb604 ro&lt;br /&gt;&lt;br /&gt;and:&lt;br /&gt;&lt;br /&gt;# groot=08459d45-314e-4288-af13-c6c8819cb604&lt;br /&gt;&lt;br /&gt;Note that both lines are commented. KEEP IT COMMENTED. Just change the UUID for the UUID of your root / partition. Those lines are commented because it is used by update-grub not by grub itself.&lt;br /&gt;&lt;br /&gt;now run:&lt;br /&gt;update-grub&lt;br /&gt;&lt;br /&gt;exit # to leave chroot&lt;br /&gt;&lt;br /&gt;halt&lt;br /&gt;&lt;br /&gt;Then I swapped the HDs from the case to the notebook and from the notebook to the case. And all worked very well.&lt;br /&gt;&lt;br /&gt;I took a bit more than 2 hours to migrate 140GB of data between the HDs in an Hotel room. :)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-3558480908105772644?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/3558480908105772644/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=3558480908105772644' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3558480908105772644'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3558480908105772644'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/05/hd-upgrade-with-ubuntu.html' title='HD Upgrade with Ubuntu'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-3314868025565409709</id><published>2009-05-07T09:28:00.002-03:00</published><updated>2009-05-07T09:54:10.753-03:00</updated><title type='text'>30 days with my N95</title><content type='html'>I still like my cell phone very much but there are problems.&lt;br /&gt;&lt;br /&gt;1 - Battery life is good for the phone and bad for 3G. Yesterday the phone died after 3.5 hours of use as 3G modem. I left the phone charging over night and started using it as 3G modem 4 pm.&lt;br /&gt;&lt;br /&gt;2 - So BIG. By technology point of view, it is hard to believe that there are so many things inside that small box. There are many transmitters, receivers, processors, memories, keyboards, jacks, speakers... WOW! But it does not fit perfectly on my jeans pocket.&lt;br /&gt;&lt;br /&gt;3 - As it is big, it is very hard to remove it from my pocket without opening the slice.&lt;br /&gt;&lt;br /&gt;4 - Not always the OK/Continue button is on the same side. Some times the OK swap from left to right. This is not good. I want that ok always on same side and always cancel on same side.&lt;br /&gt;&lt;br /&gt;5 - Popup messages grab key presses. This is not comfortable. "Keypad unlocked" popup takes more time than needed and while it is on screen, I lost the first key pressed. Same for others popups.&lt;br /&gt;&lt;br /&gt;6 - This can be my mistake but looks impossible to forward one phone number stored in contacts over SMS. I had to write the phone number in a paper and enter it again to be able to send it over SMS.&lt;br /&gt;&lt;br /&gt;7 - I can't disable screen saver and keep the back light on when using Google Maps. I think I need to upgrade the firmware.&lt;br /&gt;&lt;br /&gt;8 - When on calendar, why that icon always showing a big and red 30, does not indicate today? When I was new to the phone that big red 30 confused me.&lt;br /&gt;&lt;br /&gt;9 - Someone called me. I can see on the log that John called me. How to see from witch phone number I John called me? I have to go to contacts, look for the caller phone to discover caller phone number. Boring!&lt;br /&gt;&lt;br /&gt;10 - This can be me again but: How can the 3G/Wifi switch be more automatic? Is there a way of setting priorities for different connections? It is good to be able to choose what connection will you use but where is the automatic way of doing that?&lt;br /&gt;&lt;br /&gt;11 - Not very stable. Sometimes the phone reset. It happened when using it as 3G modem and when trying to see photos. In 45 days it has reseted 4 times. Not too bad.&lt;br /&gt;&lt;br /&gt;BUT...&lt;br /&gt;&lt;br /&gt;Even with that issues, the N95 8GB is a good phone. The camera is great. Has good focus and the sensitivity for light is good. Also the videos made with the camera are very good. The sound quality of the speakers is amazing.&lt;br /&gt;&lt;br /&gt;I want smaller N95 with more battery. Is N85 what I'm looking for?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-3314868025565409709?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/3314868025565409709/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=3314868025565409709' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3314868025565409709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3314868025565409709'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/05/30-days-with-my-n95.html' title='30 days with my N95'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-5314060974400039202</id><published>2009-05-04T11:00:00.002-03:00</published><updated>2009-05-04T11:03:55.496-03:00</updated><title type='text'>Stopping ssh atack</title><content type='html'>I was tired of knowing that someone was trying to login my home server 24 hours / day.&lt;br /&gt;&lt;br /&gt;Using fedora:&lt;br /&gt;#yum install denyhosts&lt;br /&gt;#chkconfig denyhosts on&lt;br /&gt;&lt;br /&gt;Denyhosts checks for failed attemps of login and edit hosts.deny file. Simple and efficient.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-5314060974400039202?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/5314060974400039202/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=5314060974400039202' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/5314060974400039202'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/5314060974400039202'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/05/stopping-ssh-atack.html' title='Stopping ssh atack'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-5751969804656713760</id><published>2009-04-05T21:25:00.012-03:00</published><updated>2009-06-14T16:16:03.287-03:00</updated><title type='text'>Installing Moodle on Centos 5</title><content type='html'>I assume that both apache(http) and mysql(database) are on the same server. This is not needed.&lt;br /&gt;&lt;br /&gt;1 - Go to moodle.org and download latest moodle*.tgz.&lt;br /&gt;cd /tmp&lt;br /&gt;wget http://download.moodle.org/stable19/moodle-weekly-19.tgz #Do not use this link. Get latest file from http://www.moodle.org/&lt;br /&gt;&lt;br /&gt;2 - As root:&lt;br /&gt;yum install php php-mysql httpd mysqlclient10 mysql-server php-gd php-mbstring php-xmlrpc&lt;br /&gt;&lt;br /&gt;3 - If your mysql installation is fresh, you will need to assign a root password to it.&lt;br /&gt;&lt;br /&gt;service mysqld start&lt;br /&gt;&lt;br /&gt;/usr/bin/mysqladmin -u root password 'newpassword'&lt;br /&gt;&lt;br /&gt;may assign newpassword as the new mysql root password. Replace newpassword to a safer password.&lt;br /&gt;&lt;br /&gt;4 - Start services and be sure that it will be started automatically.&lt;br /&gt;service httpd start&lt;br /&gt;service mysqld start&lt;br /&gt;chkconfig httpd on&lt;br /&gt;chkconfig mysqld on&lt;br /&gt;&lt;br /&gt;5 - Create a user moodle with a good password that has all privileges on the table moodle. I suggest that you download and install PhpMyAdmin to do it. Try the latest 2.xx.x.x version as it will work on Centos 5. To use PhpMyAdmin, you will need to create a file named config.inc.php inside PhpMyAdmin instalation folder (/var/www/html/phpmyadmin) with mysql information like root password defined on step 3.&lt;br /&gt;&lt;br /&gt;config.inc.php example:&lt;br /&gt;&lt;br /&gt;&amp;lt;?&lt;br /&gt;$i = 1;&lt;br /&gt;$cfg['Servers'][$i]['host'] = 'localhost';&lt;br /&gt;$cfg['Servers'][$i]['extension'] = 'mysqli';&lt;br /&gt;$cfg['Servers'][$i]['connect_type'] = 'tcp';&lt;br /&gt;$cfg['Servers'][$i]['compress'] = false;&lt;br /&gt;$cfg['Servers'][$i]['auth_type'] = 'config';&lt;br /&gt;$cfg['Servers'][$i]['user'] = 'root';&lt;br /&gt;$cfg['Servers'][$i]['password'] = 'newpassword';&lt;br /&gt;?&amp;gt;&lt;br /&gt;&lt;br /&gt;After configure PhpMyAdmin, open your favorite browser, point to PhpMyAdmin installation path and:&lt;br /&gt;&lt;br /&gt;Privileges -&gt; Add a new user -&gt; Fill the form -&gt; Click on "Create database with same name and grant all privileges" -&gt; Go&lt;br /&gt;&lt;br /&gt;Be sure to protect the access to your PhpMyAdmin as it will probably grant root access to anyone that knows its URL. It is a good idea to remove the entire directory after all is working as it is very easy to install it back. Password protect the directory may be good idea too.&lt;br /&gt;&lt;br /&gt;6 - Extract files from moodle*.tgz at /var/www/html/moodle.&lt;br /&gt;mkdir /var/www/html/moodle&lt;br /&gt;cd /var/www/html/moodle&lt;br /&gt;tar xvzf /tmp/moodle-weekly-19.tgz&lt;br /&gt;&lt;br /&gt;7 - Start your favorite browser and point to your server /moodle directory. Follow installation instructions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-5751969804656713760?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/5751969804656713760/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=5751969804656713760' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/5751969804656713760'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/5751969804656713760'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/04/installing-moodle-on-centos-5.html' title='Installing Moodle on Centos 5'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-3235489544110694752</id><published>2009-03-21T18:20:00.006-03:00</published><updated>2009-03-21T19:32:07.502-03:00</updated><title type='text'>24 hours with my N95</title><content type='html'>Yesterday I went to buy a new cell phone. I had G1 and Iphone in mind. The store did not have the G1 and the Iphone was very expensive. But both Nokia E51 and N95 were available at low price.&lt;br /&gt;&lt;br /&gt;E51 was my goal due its reduced size but N95 looks more stylish, has 5.0 megapixel camera with Carl Zeiss lens, has GPS, has 8GB of storage and larger screen than E 51.&lt;br /&gt;&lt;br /&gt;I decided for N95.&lt;br /&gt;&lt;br /&gt;I moved from Motorola K1 to Nokia N95. I'm using the N95 for 24 hours now. &lt;br /&gt;&lt;br /&gt;Let me tell you what are my impressions:&lt;br /&gt;&lt;br /&gt;Good impressions (in order of discover):&lt;br /&gt;1 - Big and clear display. The display is great.&lt;br /&gt;2 - Great camera. The image quality is very good. Looks like that I can use the phone as camera when I go travel next time.&lt;br /&gt;3 - Text prediction from Nokia makes it possible to use numeric keyboard to enter data. For its size, the N95 keyboard is very good for SMS and doing fast google searches.&lt;br /&gt;4 - The top keyboard for multimedia. That's a great idea to be able to slice the display both to top and down. It was really surprising to me to find that buttons there.&lt;br /&gt;5 - WiFi. That's a great feature. The Wifi signal is very good and the configuration interface is very simple.&lt;br /&gt;6 - Integration with Internet. I'm surprised about how the internet worked very well. I was able to see any page I wanted. You tube videos plays very well. The navigation on web pages without mouse and without touch screen is very well made. The web browser is not proof of concept, it is a great and handy tool.&lt;br /&gt;7 - Fast processors. The video playback and web page scroll is very fast. There is more computing power available than needed to the basic features.&lt;br /&gt;8 - Connectivity. GPS, GSM, 3G, Bluetooth, IRDA, USB, AV output to plug the phone on the TV, P1 audio output for standard earphone. It connects to everything...&lt;br /&gt;9 - High quality and loud sound for ringing tones. N95 has great speakers for playing the ringing tones.&lt;br /&gt;10 - Voip! Thats the second greater feature of this phone. This is one of my dreams that are now true. This phone has integrated SIP client that enables me to connect to my SIP server. The interface is great and it really works. I've tested when connected to the wifi and with 3G. Wifi is better but 3G also works. Very, very good! I loved to be able to use VOIP out of the box.&lt;br /&gt;11 - 3G modem for my Linux box. This is the greatest feature of this phone to me. I've configured the N95 to ask me about the USB behavior when I connect the N95 to the PC. If I choose "PC Suite", then Linux will recognize the N95 as USB ACM device. This made everything easy! Just say to gnome PPP that the device is /dev/ttyACM0 and dial. Very, very, very good!&lt;br /&gt;12 - Auto rotation is cool. I liked it.&lt;br /&gt;13 - Time management looks very useful. I have some todos and meetings on Monday. Lets see how good is it. I need to find out how to synchronize with my Desktop.&lt;br /&gt;&lt;br /&gt;Bad impressions:&lt;br /&gt;1 - Big. My old K1 fits well on any pocket. The N95 needs more space than the K1.&lt;br /&gt;2 - Camera needs 2-4 seconds to take a picture after press the button. This is bad when doing shots of moving things but is not a real problem for regular shots.&lt;br /&gt;3 - I've pressed the take picture button accidentally two times when I was talking on the phone. Is there a way to disable that button during a call?&lt;br /&gt;4 - Sound quality for talking. I'm not sure if is it some kind of configuration but the sound quality is not crystal clear when calling others using GSM. I cant hear clearly and the other side also can't hear me perfectly.&lt;br /&gt;&lt;br /&gt;After 24 hours I can say that this is the greatest phone I ever had. Lets see how the big size will annoy me, I think that there will be no problem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-3235489544110694752?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/3235489544110694752/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=3235489544110694752' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3235489544110694752'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3235489544110694752'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/03/24-hours-with-my-n95.html' title='24 hours with my N95'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-3984703433152276633</id><published>2009-03-19T20:43:00.003-03:00</published><updated>2009-03-19T20:58:37.759-03:00</updated><title type='text'>HD upgrade with software RAID on Fedora 9</title><content type='html'>My home server had two 80GB hard drives using software raid level 1. This is very small amount of data for me.&lt;br /&gt;&lt;br /&gt;When I decided to upgrade the HDs to two 1TB hard drives, I was thinking that I would spend 2 hours to upgrade it.&lt;br /&gt;&lt;br /&gt;First I removed the old disks and installed the new ones. Then a fresh new Fedora 9 install. And after that I installed the 4 disks and booted the DVD on recovery mode.&lt;br /&gt;&lt;br /&gt;The Fedora recovery environment tries to mount your root filesystem automatically. This is good because I do not remember how to mount raid arrays by hand.&lt;br /&gt;&lt;br /&gt;The problem is that Anaconda found two raid arrays that were by default at /dev/md0.&lt;br /&gt;&lt;br /&gt;Very funny. After answer yes to Anaconda mount my root filesystem, it asks in a menu if my root partition is located at md0 or at md0.&lt;br /&gt;&lt;br /&gt;Using Anaconda I was able to mount only one array at a time. But I need to copy files between arrays, and I need to have them mounted at same time.&lt;br /&gt;&lt;br /&gt;The only solution I found was to answer no to Anaconda when it asks to mount my root filesystem. One day later:&lt;br /&gt;&lt;br /&gt;mdadm --examine --scan &gt;&gt; /etc/mdadm.conf&lt;br /&gt;vi /etc/mdadm.conf ( There were 2 ARRAY /dev/md0. I've renamed the second one to ARRAY /dev/md1 )&lt;br /&gt;mdadm --assemble /dev/md0&lt;br /&gt;mdadm --assemble /dev/md1&lt;br /&gt;&lt;br /&gt;Then it is just&lt;br /&gt;mkdir /mnt/0;mount /dev/md0 /mnt/0&lt;br /&gt;mkdir /mnt/1;mount /dev/md1 /mnt/1&lt;br /&gt;&lt;br /&gt;As the size of the arrays are very different "df -h" showed me where the old array and where the new array are mounted.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-3984703433152276633?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/3984703433152276633/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=3984703433152276633' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3984703433152276633'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/3984703433152276633'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/03/hd-upgrade-with-software-raid-on-fedora.html' title='HD upgrade with software RAID on Fedora 9'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-783937455817147149</id><published>2009-02-10T10:28:00.002-02:00</published><updated>2009-02-10T10:34:33.079-02:00</updated><title type='text'>checking for changes on websites every 10 seconds</title><content type='html'>url="http://www.google.com/";a=`wget -q $url -O - |md5sum|cut -d "-" -f 1`;while (true);do b=`wget -q $url -O - |md5sum|cut -d "-" -f 1`;if [ $a != $b ];then echo CHANGED;fi;sleep 10;done&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-783937455817147149?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/783937455817147149/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=783937455817147149' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/783937455817147149'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/783937455817147149'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/02/checking-for-changes-on-websites-every.html' title='checking for changes on websites every 10 seconds'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-6914003743181590535</id><published>2009-01-21T12:57:00.001-02:00</published><updated>2009-01-21T13:00:28.557-02:00</updated><title type='text'>sacnning web servers on local network</title><content type='html'>for i in $(seq 1 254); do wget -T 1 -t 1 --spider 192.168.0.$i -O - &gt;/dev/null 2&gt;/dev/null;if [ $? == 0 ];then echo 192.168.0.$i - ok;fi;done&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-6914003743181590535?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/6914003743181590535/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=6914003743181590535' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6914003743181590535'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6914003743181590535'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2009/01/sacnning-web-servers-on-local-network.html' title='sacnning web servers on local network'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-2142689402216212864</id><published>2008-12-03T17:19:00.001-02:00</published><updated>2008-12-03T17:20:18.548-02:00</updated><title type='text'>installing vlc on fedora 8</title><content type='html'>rpm -ivh http://rpm.livna.org/livna-release-8.rpm&lt;br /&gt;rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY-livna&lt;br /&gt;yum -y update&lt;br /&gt;yum -y install vlc&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-2142689402216212864?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/2142689402216212864/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=2142689402216212864' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/2142689402216212864'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/2142689402216212864'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/vlc-on-fedora-8.html' title='installing vlc on fedora 8'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-7273657954360469834</id><published>2008-12-01T16:34:00.001-02:00</published><updated>2008-12-01T16:34:22.932-02:00</updated><title type='text'>Nvidia official Linux driver archive</title><content type='html'>http://www.nvidia.com/object/linux_display_archive.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-7273657954360469834?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/7273657954360469834/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=7273657954360469834' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7273657954360469834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7273657954360469834'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/nvidia-official-linux-driver-archive.html' title='Nvidia official Linux driver archive'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-780731797655367512</id><published>2008-12-01T16:33:00.003-02:00</published><updated>2008-12-01T16:33:53.644-02:00</updated><title type='text'>sources.list 1.0 for Linux Educacional 2.0</title><content type='html'># sources.list 1.0 for Linux Educacional 2.0&lt;br /&gt;# peter@thinnet.com.br&lt;br /&gt;&lt;br /&gt;# Debian repository for packages&lt;br /&gt;deb http://ftp.us.debian.org/debian etch main contrib non-free&lt;br /&gt;&lt;br /&gt;# Debian offical repository for updates&lt;br /&gt;deb http://security.debian.org/ etch/updates main contrib&lt;br /&gt;&lt;br /&gt;# Unoffical repository for newer version files like kernel&lt;br /&gt;deb http://www.backports.org/debian etch-backports main contrib non-free&lt;br /&gt;&lt;br /&gt;# Unofficial debian packages&lt;br /&gt;deb http://ftp.debian-unofficial.org/debian etch main contrib non-free restricted&lt;br /&gt;&lt;br /&gt;# Unoffical multimedia packages like w32codecs and libdvd&lt;br /&gt;deb http://www.debian-multimedia.org etch main&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-780731797655367512?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/780731797655367512/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=780731797655367512' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/780731797655367512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/780731797655367512'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/sourceslist-10-for-linux-educacional-20.html' title='sources.list 1.0 for Linux Educacional 2.0'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-7391701322554292715</id><published>2008-12-01T16:33:00.001-02:00</published><updated>2008-12-01T16:33:18.767-02:00</updated><title type='text'>tar over ssh</title><content type='html'>#to split tar input and output into two different machines over ssh:&lt;br /&gt;&lt;br /&gt;cd /source_dir&lt;br /&gt;tar cf - . |ssh user@remote_server "cd /destination_dir;tar xfv -"&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-7391701322554292715?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/7391701322554292715/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=7391701322554292715' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7391701322554292715'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7391701322554292715'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/tar-over-ssh.html' title='tar over ssh'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-6411020987384606991</id><published>2008-12-01T16:32:00.001-02:00</published><updated>2008-12-01T16:32:51.772-02:00</updated><title type='text'>Remove one character from filenames</title><content type='html'>#Remove % from filenames&lt;br /&gt;for i in `ls |grep "%"`; do a=`echo $i|cut -d % -f 1`;b=`echo $i|cut -d % -f 2`; mv $i $a$b;done&lt;br /&gt;&lt;br /&gt;# More elagant way of doing the same thing&lt;br /&gt;for i in `ls |grep %`; do mv `echo $i` `echo $i |sed 's/[0-9]\%[0-9][ab]//'`; done&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-6411020987384606991?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/6411020987384606991/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=6411020987384606991' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6411020987384606991'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6411020987384606991'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/remove-one-character-from-filenames.html' title='Remove one character from filenames'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-451087173334974753</id><published>2008-12-01T16:31:00.000-02:00</published><updated>2008-12-01T16:32:09.080-02:00</updated><title type='text'>creating standard apt-get repository directory tree</title><content type='html'>#moves all .deb in current folder to its correct place&lt;br /&gt;#zenity_2.14.3-1_i386.deb will be moved to ./z/zenity/zenity_2.14.3-1_i386.deb&lt;br /&gt;&lt;br /&gt;for file in `ls *.deb`;do a=`echo $file |cut -b 1`;b=`echo $file |cut -d "_" -f 1`;c=`echo ./$a/$b`;mkdir -p $c;mv $file $c;done&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-451087173334974753?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/451087173334974753/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=451087173334974753' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/451087173334974753'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/451087173334974753'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/creating-standard-apt-get-repository.html' title='creating standard apt-get repository directory tree'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-6343409769703693919</id><published>2008-12-01T16:30:00.000-02:00</published><updated>2008-12-01T16:31:10.740-02:00</updated><title type='text'>finding duplicates files and removing it</title><content type='html'># fdupes need to be installed&lt;br /&gt;# linuxeducacional20 is the folder where the files will be removed. This must mach the directory name where you want that the files be removed.&lt;br /&gt;&lt;br /&gt;for i in `fdupes -qr . |grep linuxeducacional20`;do rm -rf $i;done&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-6343409769703693919?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/6343409769703693919/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=6343409769703693919' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6343409769703693919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/6343409769703693919'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/finding-duplicates-files-and-removing.html' title='finding duplicates files and removing it'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-1468917490143459005</id><published>2008-12-01T16:29:00.002-02:00</published><updated>2008-12-01T16:30:16.297-02:00</updated><title type='text'>Removing empty directories</title><content type='html'>for i in `find . -empty -type d`; do rm -rf $i;done&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-1468917490143459005?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/1468917490143459005/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=1468917490143459005' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1468917490143459005'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1468917490143459005'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/removing-empty-directories.html' title='Removing empty directories'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-1437182867982036226</id><published>2008-12-01T16:29:00.001-02:00</published><updated>2008-12-01T16:29:31.263-02:00</updated><title type='text'>creating debian installer initrd</title><content type='html'>#! /bin/bash&lt;br /&gt;a=`date +"%s"`&lt;br /&gt;b=`echo $a |cut -b 4``echo $a|cut -b 8-10`;echo $b&lt;br /&gt;find|cpio -o --format=newc|gzip -9c &gt; ../initrd-$b.gz&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-1437182867982036226?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/1437182867982036226/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=1437182867982036226' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1437182867982036226'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/1437182867982036226'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/creating-debian-installer-initrd.html' title='creating debian installer initrd'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-8274854686611971354</id><published>2008-12-01T16:28:00.001-02:00</published><updated>2008-12-01T16:28:47.146-02:00</updated><title type='text'>Extracting files from initrd.gz of Debian Etch Installer</title><content type='html'>sudo cat /mnt/test1/install.386/gtk/initrd.gz |gzip -d|cpio -i&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-8274854686611971354?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/8274854686611971354/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=8274854686611971354' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/8274854686611971354'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/8274854686611971354'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/extracting-files-from-initrdgz-of.html' title='Extracting files from initrd.gz of Debian Etch Installer'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-7286439011199260595</id><published>2008-12-01T16:26:00.005-02:00</published><updated>2008-12-04T15:24:42.411-02:00</updated><title type='text'>USB storage stress test</title><content type='html'>#!/bin/bash&lt;br /&gt;# Peter Senna Tschudin - http://petersenna.com/ - 29/10/2008&lt;br /&gt;# This is useful to test USB stability.&lt;br /&gt;# ./usbstress.sh /dev/sdc1 &lt;- replace sdc1 with your usb storage device&lt;br /&gt;&lt;br /&gt;# SIZE * 1024&lt;br /&gt;SIZE=500000&lt;br /&gt;&lt;br /&gt;date=`date +"%Y-%m-%d_%H.%M.%S"`&lt;br /&gt;mkdir -p /mnt/$date&lt;br /&gt;&lt;br /&gt;# trap ctrl-c and call ctrl_c()&lt;br /&gt;trap ctrl_c INT&lt;br /&gt;&lt;br /&gt;function ctrl_c() {&lt;br /&gt;&lt;blockquote&gt;echo Exiting... Please wait!&lt;br /&gt;umount /mnt/$date&lt;br /&gt;rm -rf /mnt/$date&lt;br /&gt;exit 1&lt;/blockquote&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;umount $1&lt;br /&gt;&lt;br /&gt;i=0&lt;br /&gt;while [ TRUE ];do&lt;br /&gt;&lt;blockquote&gt;echo . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .&lt;br /&gt;echo $i-`date +"%Y-%m-%d_%H.%M.%S"`&lt;br /&gt;let i++&lt;br /&gt;mount $1 /mnt/$date&lt;br /&gt;if [ $? != 0 ];then&lt;br /&gt;&lt;blockquote&gt;exit 1&lt;/blockquote&gt;&lt;br /&gt;fi&lt;br /&gt;echo PC to USB:&lt;br /&gt;dd if=/dev/zero of=/mnt/$date/file bs=1024 count=$SIZE&lt;br /&gt;sync&lt;br /&gt;umount $1&lt;br /&gt;mount $1 /mnt/$date&lt;br /&gt;if [ $? != 0 ];then&lt;br /&gt;&lt;blockquote&gt;exit 1&lt;/blockquote&gt;&lt;br /&gt;fi&lt;br /&gt;echo USB to PC:&lt;br /&gt;dd if=/mnt/$date/file of=/dev/null bs=1024&lt;br /&gt;rm -rf /mnt/$date/file&lt;br /&gt;umount $1&lt;br /&gt;echo "/var/log/dmesg"&lt;br /&gt;tail -n 3 /var/log/dmesg&lt;br /&gt;echo "/var/log/messages"&lt;br /&gt;tail -n 3 /var/log/messages&lt;/blockquote&gt;&lt;br /&gt;done&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-7286439011199260595?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/7286439011199260595/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=7286439011199260595' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7286439011199260595'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/7286439011199260595'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/usb-storage-stress-test.html' title='USB storage stress test'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-2259539206788390266</id><published>2008-12-01T16:25:00.000-02:00</published><updated>2008-12-01T16:26:01.190-02:00</updated><title type='text'>applying patches with series file</title><content type='html'>quilt -a push #patches directory on root development tree containing patches and series file&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-2259539206788390266?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/2259539206788390266/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=2259539206788390266' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/2259539206788390266'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/2259539206788390266'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/applying-patches-with-series-file.html' title='applying patches with series file'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-4660139076377855997</id><published>2008-12-01T16:24:00.003-02:00</published><updated>2009-06-16T16:50:36.011-03:00</updated><title type='text'>netstat</title><content type='html'>IP=`ifconfig eth0 |grep "inet addr"|cut -d ":" -f 2|cut -d " " -f 1`;&lt;br /&gt;#IP=10.0.0.100&lt;br /&gt;export IP;&lt;br /&gt;watch -n 10 'netstat -nap|grep $IP;echo ------------;echo ;for i in `netstat -nap |grep $IP |tr -s " "|cut -d " " -f 5 |cut -d ":" -f 1`;do dig -x $i|grep PTR|grep -v ";";done'&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-4660139076377855997?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/4660139076377855997/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=4660139076377855997' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/4660139076377855997'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/4660139076377855997'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/netstat.html' title='netstat'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-86453394810761765</id><published>2008-12-01T16:22:00.002-02:00</published><updated>2008-12-04T10:21:10.123-02:00</updated><title type='text'>Compile VLC 0.9.6 on Etch</title><content type='html'>See &lt;a href="http://forum.videolan.org/viewtopic.php?f=13&amp;t=53007" target="_new321"&gt;VLC Forum&lt;/a&gt; for more information.&lt;br /&gt;&lt;br /&gt;sources.list:&lt;br /&gt;# sources.list 1.0 for Linux Educacional 2.0&lt;br /&gt;# peter@thinnet.com.br&lt;br /&gt;&lt;br /&gt;# Debian repository for packages&lt;br /&gt;deb http://ftp.us.debian.org/debian etch main contrib non-free&lt;br /&gt;&lt;br /&gt;# Debian offical repository for updates&lt;br /&gt;deb http://security.debian.org/ etch/updates main contrib&lt;br /&gt;&lt;br /&gt;# Unoffical repository for newer version files like kernel&lt;br /&gt;deb http://www.backports.org/debian etch-backports main contrib non-free&lt;br /&gt;&lt;br /&gt;# Unofficial debian packages&lt;br /&gt;deb http://ftp.debian-unofficial.org/debian etch main contrib non-free restricted&lt;br /&gt;&lt;br /&gt;# Unoffical multimedia packages like w32codecs and libdvd&lt;br /&gt;deb http://www.debian-multimedia.org etch main&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;#Remove old libs&lt;br /&gt;dpkg -r libavcodec0d vlc-nox libavformat0d libxine1 kmplayer-common vlc kmplayer-plugin mec-desktop&lt;br /&gt;&lt;br /&gt;# Debs from debian-multimedia.org&lt;br /&gt;dpkg -i libavcodeccvs51_20070329-0.0etch1_i386.deb libavcodeccvs51-dev_20070329-0.0etch1_i386.deb libavformatcvs51_20070329-0.0etch1_i386.deb libavformatcvs51-dev_20070329-0.0etch1_i386.deb libavutilcvs49-dev_20070329-0.0etch1_i386.deb libpostproccvs51_20070329-0.0etch1_i386.deb libpostproccvs51-dev_20070329-0.0etch1_i386.deb libswscalecvs0_20070329-0.0etch1_i386.deb libswscalecvs0-dev_20070329-0.0etch1_i386.deb&lt;br /&gt;&lt;br /&gt;apt-get -f install&lt;br /&gt;&lt;br /&gt;# Debs from debian-multimedia.org&lt;br /&gt;dpkg -i libavcodeccvs51_20070329-0.0etch1_i386.deb libavcodeccvs51-dev_20070329-0.0etch1_i386.deb libavformatcvs51_20070329-0.0etch1_i386.deb libavformatcvs51-dev_20070329-0.0etch1_i386.deb libavutilcvs49-dev_20070329-0.0etch1_i386.deb libpostproccvs51_20070329-0.0etch1_i386.deb libpostproccvs51-dev_20070329-0.0etch1_i386.deb libswscalecvs0_20070329-0.0etch1_i386.deb libswscalecvs0-dev_20070329-0.0etch1_i386.deb&lt;br /&gt;&lt;br /&gt;apt-get install libgcrypt11-dev libfribidi-dev libmad0-dev libasound2-dev libhal-dev libqt4-dev module-assistant liblame-dev libxvidcore4-dev&lt;br /&gt;&lt;br /&gt;m-a prepare&lt;br /&gt;&lt;br /&gt;tar xvjf vlc-0.9.6.tar.bz2&lt;br /&gt;&lt;br /&gt;cd vlc-0.9.6&lt;br /&gt;&lt;br /&gt;./configure&lt;br /&gt;&lt;br /&gt;make&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-86453394810761765?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/86453394810761765/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=86453394810761765' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/86453394810761765'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/86453394810761765'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/12/compile-vlc-096-on-etch.html' title='Compile VLC 0.9.6 on Etch'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-2621058647616304542</id><published>2008-11-10T16:38:00.002-02:00</published><updated>2008-11-10T16:58:25.423-02:00</updated><title type='text'>debian alsa support for compile mplayer</title><content type='html'>Do you want to compile mplayer under Debian with alsa support?&lt;br /&gt;&lt;br /&gt;Try installing libasound2-dev.&lt;br /&gt;&lt;br /&gt;TAGS: debian alsa development package&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-2621058647616304542?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/2621058647616304542/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=2621058647616304542' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/2621058647616304542'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/2621058647616304542'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2008/11/debian-alsa-support-for-compile-mplayer.html' title='debian alsa support for compile mplayer'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-2978945667281850020</id><published>2006-10-21T12:07:00.000-03:00</published><updated>2006-10-21T13:14:40.692-03:00</updated><title type='text'>Uma demonstração do misterioso GooglePC?</title><content type='html'>&lt;center&gt;&lt;a href="http://www.parahard.com/peter/youos-big.jpg" target="youospic"&gt;&lt;img src="http://www.parahard.com/peter/youos-small.jpg"&gt;&lt;/a&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Há varios meses, um amigo me falou que um dos projetos que o Google tocava secretamente era um Sistema Operacional online ou Internet OS.&lt;br /&gt;&lt;br /&gt;Eu estava curioso e achando que o Google seria o primeiro a lançar algo que se pudesse usar com essa tecnologia.&lt;br /&gt;&lt;br /&gt;Porém agora, enquanto eu pesquisava sobre o Xen e MPI esbarrei no YouOS. &lt;br /&gt;&lt;br /&gt;Se você quer testar o que pode ser o futuro da computação, acesse o &lt;a href="http://www.youos.com" target="newYouOS"&gt;YouOS&lt;/a&gt; e clique em: "Try a Demo". O seu navegador se transformará em uma área de trabalho com sub janelas para aplicativos de e-mail, chat e editores de texto. O detalhe é que estes programas não estão no seu HD, eles estão rodando em um servidor conectado a Internet.&lt;br /&gt;&lt;br /&gt;YouOS é o resultado do trabalho de &lt;a href="http://www.youos.com/html/static/team.html" target="4rfc"&gt;quatro recem formados na área de computação&lt;/a&gt;. A simplicidade do projeto o torna uma demonstração interessante. Qualquer um que tentar vai ter a chance de entender o recado: Você não precisa de Windows. Você não precisa nem de um computador. Qualquer coisa que tenha uma tela e teclado é suficiente para logar e começar a trabalhar.&lt;br /&gt;&lt;br /&gt;Mas não desinstale o seu Windows. Não ainda. Hoje o YouOS é mais uma prova de conceito do que um SO prático para uso diário. Use o YouOS por alguns minutos e imagine um YouOS com orçamento para desenvolvimento de um bilhão de dólares. Agora você acredita que o misterioso GooglePC será realidade?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-2978945667281850020?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/2978945667281850020/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=2978945667281850020' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/2978945667281850020'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/2978945667281850020'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2006/10/um-demo-do-to-esperado-googlepc.html' title='Uma demonstração do misterioso GooglePC?'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-115680537550843262</id><published>2006-08-28T19:42:00.000-03:00</published><updated>2006-08-28T20:15:24.370-03:00</updated><title type='text'>RHCE - Detalhado</title><content type='html'>&lt;center&gt;&lt;img src="http://www.parahard.com/peter/rhce.jpg"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;No dia 25/08/2006 fiz a prova RH302. Obtive o certificado Red Hat Certified Engineer. O número do certificado é: 804006447421909&lt;br /&gt;&lt;br /&gt;Você pode verificar ele &lt;a href="http://www.redhat.com/training/certification/verify/?rhce_cert_display:certno=804006447421909&amp;rhce_cert_display:verify_cb=Verify" target="prhce"&gt;aqui&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Minha pontuação:&lt;br /&gt;Solução de problemas: 100&lt;br /&gt;Instalação e Configuração:&lt;br /&gt;Parte de RHCT: 100&lt;br /&gt;Parte de RHCE: 87,5&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-115680537550843262?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/115680537550843262/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=115680537550843262' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/115680537550843262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/115680537550843262'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2006/08/rhce-detalhado.html' title='RHCE - Detalhado'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-114642835286419298</id><published>2006-04-30T17:17:00.000-03:00</published><updated>2006-08-31T18:56:16.443-03:00</updated><title type='text'>Ao topo da pirâmide até dezembro de 2007!</title><content type='html'>&lt;center&gt;&lt;img src="http://www.parahard.com/peter/gls_pyramid.gif"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Objetivo: RHCA até dezembro de 2007.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-114642835286419298?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/114642835286419298/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=114642835286419298' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/114642835286419298'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/114642835286419298'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2006/04/ao-topo-da-pirmide-at-dezembro-de-2007.html' title='Ao topo da pirâmide até dezembro de 2007!'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-114540705420259127</id><published>2006-04-18T21:34:00.000-03:00</published><updated>2006-04-18T21:40:42.480-03:00</updated><title type='text'>http://www.oldversion.com</title><content type='html'>Site muito bom. Possui versões antigas de programas como Adobe Acrobat Reader e Real Player. &lt;a href="http://www.oldversion.com/" target="oldv" &gt;http://www.oldversion.com/&lt;/a&gt;.&lt;br&gt;&lt;i&gt;"Because newer is not always better"&lt;/i&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-114540705420259127?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/114540705420259127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=114540705420259127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/114540705420259127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/114540705420259127'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2006/04/httpwwwoldversioncom.html' title='http://www.oldversion.com'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-114494995487688252</id><published>2006-04-13T14:36:00.000-03:00</published><updated>2006-04-13T14:46:24.183-03:00</updated><title type='text'>http://www.google.com/linux</title><content type='html'>&lt;img src="http://www.parahard.com/peter/linux.gif"&gt;&lt;br /&gt;&lt;form name=gs method=GET action=http://www.google.com/linux&gt;&lt;input type=hidden name=hl value="en"&gt;&lt;input type=hidden name=lr value=""&gt;&lt;input type=text name=q size=41 maxlength=2048 value="" title="Search"&gt;&lt;input type=submit name="btnG" value="Search"&gt;&lt;/form&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-114494995487688252?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/114494995487688252/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=114494995487688252' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/114494995487688252'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/114494995487688252'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2006/04/httpwwwgooglecomlinux.html' title='http://www.google.com/linux'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-114375227491762568</id><published>2006-03-30T17:38:00.000-03:00</published><updated>2006-04-02T09:40:49.326-03:00</updated><title type='text'>{first 10-digit prime found in consecutive digits of e}.com</title><content type='html'>&lt;img src="http://www.parahard.com/peter/billboard.jpg"&gt;&lt;br /&gt;Em 2004 algumas placas como esta apareceram em pontos de grande movimento nos Estados Unidos. Tratava-se de um desafio proposto pelo Google para contratar talentos. Se você conseguisse resolver o problema,  um outro mais complicado seria proposto. Caso acertasse o segundo problema ganharia o direito de enviar seu currículo ao Google para análise.&lt;br /&gt;&lt;br /&gt;Eu tentei resolver este problema usando Java e deu mais trabalho do que eu queria. Duas tardes para fazer e 5 minutos para rodar. O algorítimo que testa se o número é primo é muito primitivo. O programa leva pouco menos de 5 minutos para imprimir na tela "7427466391 ACHEI!!!! - 7427466391 b=100" em um computador com 3,4Gflops de potência.&lt;br /&gt;&lt;br /&gt;O que mais me impressionou foi o fato de que o tão procurado primo esta na posição 100. Se você pegar o centésimo número na sequência dos numeros de E e os próximos nove você vai encontrar 7427466391.&lt;br /&gt;&lt;br /&gt;Download do PrimeFinder:&lt;br /&gt;&lt;a href="http://www.parahard.com/peter/PrimeFinder.class"&gt;PrimeFinder.class&lt;/a&gt; - &lt;a href="http://www.parahard.com/peter/PrimeFinder.java"&gt;PrimeFinder.java&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-114375227491762568?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/114375227491762568/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=114375227491762568' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/114375227491762568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/114375227491762568'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2006/03/first-10-digit-prime-found-in.html' title='{first 10-digit prime found in consecutive digits of e}.com'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-113948739884899782</id><published>2006-02-09T10:14:00.000-02:00</published><updated>2006-02-09T10:16:38.860-02:00</updated><title type='text'>Certificação Redhat</title><content type='html'>Não consigo encontrar em Brasília, uma empresa que faça as provas de certificação Redhat. Caso você saiba de alguma por favor me avise. Meu E-mail é peter@parahard.com.&lt;br /&gt;Obrigado!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-113948739884899782?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/113948739884899782/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=113948739884899782' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/113948739884899782'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/113948739884899782'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2006/02/certificao-redhat.html' title='Certificação Redhat'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-113907085372448632</id><published>2006-02-04T14:33:00.001-02:00</published><updated>2006-02-04T14:34:13.743-02:00</updated><title type='text'>O laboratório de Peter</title><content type='html'>&lt;img src="http://www.parahard.com/peter/peterslab.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-113907085372448632?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/113907085372448632/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=113907085372448632' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/113907085372448632'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/113907085372448632'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2006/02/o-laboratrio-de-peter.html' title='O laboratório de Peter'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-113442113150003865</id><published>2005-12-12T17:40:00.000-02:00</published><updated>2005-12-12T19:26:44.383-02:00</updated><title type='text'>Mesmo Hardware, Mais de 15Gflops!</title><content type='html'>Após instalar o Rocks 4.1 no ultimo sábado consegui rodar o HPL graças aos binários para Athlon que um dos desenvolvedores do Rocks me enviou.&lt;br /&gt;&lt;br /&gt;Houve um incidente muito curioso. Após completar a primeira etapa do HPL a régua de energia elétrica desarmou desligando todo o cluster. Quando os oitos nós estão com carga máxima o cluster consome 1056W. Os danos não foram grandes, apenas uma placa de vídeo.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;a href="http://www.parahard.com/peter/15gs-regua.jpg"&gt;&lt;img src="http://www.parahard.com/peter/15gs-regua.jpg" width="400"&gt;&lt;/a&gt;&lt;br /&gt;A regua não aguentou os mais de 1000W e desarmou&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;Rodar o hpl é simples.&lt;br /&gt;&lt;br /&gt;1 - Copie para o home do seu usuário os arquivos &lt;a href="http://www.parahard.com/peter/15gs-HPL.dat"&gt;HPL&lt;/a&gt; e &lt;a href="http://www.parahard.com/peter/15gs-machines"&gt;machines&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;2 - $ export P4_GLOBMEMSIZE=100000000&lt;br /&gt;&lt;br /&gt;3 - $ /opt/mpich/gnu/bin/mpirun -np 8 -machinefile machines /opt/hpl/gnu/bin/xhpl&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.parahard.com/peter/15gs-cpu.png"&gt;&lt;br /&gt;&lt;img src="http://www.parahard.com/peter/15gs-memory.png"&gt;&lt;br /&gt;&lt;img src="http://www.parahard.com/peter/15gs-network.png"&gt;&lt;br /&gt;&lt;br /&gt;&lt;center&gt;&lt;h3&gt;A melhor marca foi 1.527e+01 Gflops!&lt;/h3&gt;&lt;/center&gt;&lt;br /&gt;A melhora de desempenho em relação ao teste feito em &lt;a href="http://parahard.blogspot.com/2005/02/menos-distante-do-top500.html"&gt;fevereiro&lt;/a&gt; deve-se principalmete ao overclock da memória. Agora ela esta operando a 333MHz contra 266MHz do teste de fevereiro.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-113442113150003865?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/113442113150003865/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=113442113150003865' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/113442113150003865'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/113442113150003865'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/12/mesmo-hardware-mais-de-15gflops.html' title='Mesmo Hardware, Mais de 15Gflops!'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112735825894459738</id><published>2005-09-21T23:26:00.000-03:00</published><updated>2005-09-22T00:07:58.076-03:00</updated><title type='text'>Mercado aposta mais na Intel do que na AMD</title><content type='html'>Joe Osha que é analista de semicondutores da Marrill Lynch alterou o estatus das ações da Intel para "Compre" enquanto abaixou o estatus das ações da AMD para "Neutro".&lt;br /&gt;&lt;br /&gt;A AMD vem conseguindo bons resultados de venda para servidores mas o aumento nas vendas para computadores pessoais e notebooks não superou as expectativas.&lt;br /&gt;&lt;br /&gt;A Intel tem forçado o preço de seus produtos para baixo afim de garantir capacidade de produção ociosa da nova fábrica da AMD, &lt;a href="http://www.amd.com/us-en/0,,3715_10023,00.html"&gt;Fab 36&lt;/a&gt;,  que esta sendo construída na Alemanha.&lt;br /&gt;&lt;br /&gt;A nova fábrica vai praticamente dobrar a capacidade de produção da AMD até o fim de 2006.&lt;br /&gt;&lt;br /&gt;A dúvida é saber se a AMD conseguirá lucros com processadores em 2006 melhores que os de 2005. Graças aos esforços da Intel, é possível que os lucros da AMD com processadores sejam reduzidos em 2006.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112735825894459738?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112735825894459738/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112735825894459738' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112735825894459738'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112735825894459738'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/09/mercado-aposta-mais-na-intel-do-que-na.html' title='Mercado aposta mais na Intel do que na AMD'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112724708260029573</id><published>2005-09-20T17:10:00.000-03:00</published><updated>2005-09-20T17:22:51.193-03:00</updated><title type='text'>Silicon Graphics RASC(TM)</title><content type='html'>&lt;img src="http://www.parahard.com/peter/rasc_brick.jpg"&gt;&lt;BR&gt;RASC™, SGI's new Reconfigurable Application-Specific Computing technology, is capable of increasing application performance by hundreds of times over conventional systems.&lt;br /&gt;&lt;br /&gt;A SGI anunciou recentemente o RASC(TM) que é a sigla de Reconfigurable Application-Specific Computing. Segundo a SGI, esta tecnologia aumenta muito o desempenho de aplicativos que lidam com quantidades enormes de infomação, tais como aplicativos para bioinformática e previsão do tempo.&lt;br /&gt;&lt;br /&gt;Estes aplicativos normalmente executam algumas rotinas ou algorítimos que consomem a maioria do tempo do processador. Tradicionalmente estes programas são limitados por processadores de uso geral que determinam o desempenho do aplicativo. Cada vez mais, tem-se usado processadores que são chamados de Field-Programmable Gate Arrays ou FPGAs que podem ser programados - ou reconfigurados - pelo usuário para uma tafera expecífica. O dispositivo FPGA passa a funcionar como um processador específico para determinado problema. A aceleração por FPGA não tem sido amplamente utilizada porque reprogramar um processador não é simples.&lt;br /&gt;&lt;br /&gt;A solução RASC da SGI foi projetada para superar estes desafios facilitando o uso da tecnologia, tornando o ganho de desempenho disponíveis a mais usuários.&lt;br /&gt;&lt;br /&gt;Veja mais em &lt;a href="http://www.sgi.com/company_info/newsroom/press_releases/2005/september/rasc.html"&gt;SGI Newsroom&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112724708260029573?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112724708260029573/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112724708260029573' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112724708260029573'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112724708260029573'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/09/silicon-graphics-rasctm.html' title='Silicon Graphics RASC(TM)'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112724412347566839</id><published>2005-09-20T16:02:00.000-03:00</published><updated>2005-09-20T16:24:55.596-03:00</updated><title type='text'>Zend Technologies anuncia Zend Platform 2</title><content type='html'>O produto Zend Platform foi inicialmente desenvolvido com o feedback de milhares de clientes Zend que usam PHP em seus aplicativos web. Os recursos desta nova versão permitem que aplicativos desenvolvidos em PHP sejam tão escaláveis e tenham disponibilidade tão alta quanto aqueles desenvolvidos em plataformas não gratuitas.&lt;br /&gt;&lt;br /&gt;Um dos recursos mais interessantes deste novo produto é o que esta sendo chamado de "Session Clustering". Isso permite criar um servidor web dentro de um cluster de computadores e garantir de forma simples e segura a criação de sites dinâmicos. Este recurso é muito importante para sites de grande porte como bancos e lojas virtuais.&lt;br /&gt;&lt;br /&gt;Veja mais em: &lt;a href="http://www.zend.com/platform"&gt;www.zend.com/platform&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112724412347566839?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112724412347566839/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112724412347566839' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112724412347566839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112724412347566839'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/09/zend-technologies-anuncia-zend.html' title='Zend Technologies anuncia Zend Platform 2'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112713457013562203</id><published>2005-09-19T09:51:00.000-03:00</published><updated>2005-09-19T09:56:10.140-03:00</updated><title type='text'>Java na prática</title><content type='html'>Dois livros em formato PDF. Direitos Reservados: Universidade Federal de Viçosa. Alcione de Paiva Oliveira e Vinícius Valente Maciel.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.parahard.com/peter/java-na-pratica-vol1.pdf"&gt;Volume 1&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.parahard.com/peter/java-na-pratica-vol2.pdf"&gt;Volume 2&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;From: http://www.dpi.ufv.br/~vladimir/java/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112713457013562203?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112713457013562203/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112713457013562203' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112713457013562203'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112713457013562203'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/09/java-na-prtica.html' title='Java na prática'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112696475005755337</id><published>2005-09-17T10:45:00.000-03:00</published><updated>2005-09-17T11:38:22.263-03:00</updated><title type='text'>Dell sem processadores Itanium</title><content type='html'>A Dell anunciou que não esta mais produzindo servidores com os processadores Itanium da Intel. Ainda existem servidores em estoque mas a Dell decidiu que os novos servidores utilizarão processadores Xeon com arquitetura EM64T.&lt;br /&gt;&lt;br /&gt;Os vendedores do processador Itanium são gigantes como HP e Fujitsu. A Dell nunca representou parte significativa do marcado de processadores Itanium o que significa que o impacto para a Intel será pequeno.&lt;br /&gt;&lt;br /&gt;No entanto a imagem do Itanium fica um pouco manchada devido a esta ruptura.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.parahard.com/peter/itanium.jpg"&gt;&lt;img src="http://www.parahard.com/peter/itanium.jpg" width="274" border="0"&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112696475005755337?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112696475005755337/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112696475005755337' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112696475005755337'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112696475005755337'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/09/dell-sem-processadores-itanium.html' title='Dell sem processadores Itanium'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112696380067149127</id><published>2005-09-17T10:10:00.000-03:00</published><updated>2005-09-17T11:37:05.990-03:00</updated><title type='text'>Microsoft lança Windows para HPC</title><content type='html'>Em sua batalha contra o Linux e o software livre, a Microsoft lançou a primeira verão beta do Windows Server 2003 Compute Cluster Edition. Este Windows é um sistema operacional para computação de alta performance (HPC). A Microsoft lançou também uma versão modular do servidor web IIS.&lt;br /&gt;&lt;br /&gt;O vice-presidente sênior Bob Muglia da divisão de servidores Windows da Microsoft, anunciou o Windows beta na Microsoft's Professional Developers Conference (PDC) e anunciou a novidade como uma alternativa integrada ao Linux HPC.&lt;br /&gt;&lt;br /&gt;Segundo Muglia, o Windows Server 2003 Compute Cluster Edition funcionará com quatro, oito, 32 e 64 computadores com a abilidade de executar tarefas em diferentes computadores, com diferentes requisitos e demanda de memória.&lt;br /&gt;&lt;br /&gt;Veja &lt;a href="http://www.microsoft.com/windowsserver2003/hpc/default.mspx"&gt;Windows Server 2003 Compute Cluster&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Faça o download da solução beta &lt;a href="http://www.microsoft.com/windowsserver2003/hpc/beta.mspx"&gt;aqui&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112696380067149127?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112696380067149127/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112696380067149127' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112696380067149127'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112696380067149127'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/09/microsoft-lana-windows-para-hpc.html' title='Microsoft lança Windows para HPC'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112307514242387078</id><published>2005-08-03T10:12:00.000-03:00</published><updated>2005-08-03T10:19:44.556-03:00</updated><title type='text'>Geometria Analítica: O livro</title><content type='html'>Neste exato momento estou tendo uma aula de geometria analítica. Saí discretamente da sala de aula para fazer algumas pesquisas sobre o assunto. Descobri um livro livremente distribuído através do site &lt;A HREF="http://www.geometriaanalitica.com.br"&gt;http://www.geometriaanalitica.com.br&lt;/A&gt;. O livro é distribuido em formato PDF e você pode fazer o download dele &lt;A HREF="http://www.parahard.com/peter/av.pdf"&gt;aqui&lt;/a&gt;. A obra é de Jacir J. Venturi.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112307514242387078?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112307514242387078/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112307514242387078' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112307514242387078'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112307514242387078'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/08/geometria-analtica-o-livro.html' title='Geometria Analítica: O livro'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112307257679524651</id><published>2005-08-03T09:24:00.000-03:00</published><updated>2005-08-03T09:36:16.803-03:00</updated><title type='text'>DO NOT GET FRAMED!</title><content type='html'>Acabei de adicionar meu Blog na lista do &lt;a href="http://www.blogs.com.br/"&gt;www.blogs.com.br&lt;/a&gt;. Assim como o gigabusca, o Blogs.com.br cria uma nova janela contendo um frame de publicidade e obtenção de informações. Não gosto disso. Para impedir basta adicionar o seguinte código HTML logo após o &amp;lt;HEAD&amp;gt;.&lt;br /&gt;&lt;br /&gt;&amp;lt;SCRIPT TYPE="text/javascript"&amp;gt;&lt;br /&gt;   &amp;lt;!--&lt;br /&gt;      if (top != self)&lt;br /&gt;         top.location=self.document.location;&lt;br /&gt;   //--&amp;gt;&lt;br /&gt;&amp;lt;/SCRIPT&amp;gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112307257679524651?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112307257679524651/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112307257679524651' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112307257679524651'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112307257679524651'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/08/do-not-get-framed.html' title='DO NOT GET FRAMED!'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112300810390975608</id><published>2005-08-02T15:35:00.000-03:00</published><updated>2005-08-02T17:41:29.413-03:00</updated><title type='text'>Com quantos graus se fritava um Athlon?</title><content type='html'>Já na época do vídeo, o Pentium 4 sem cooler reduzia o clock para manter a temperatura baixa. O Athlon atingia 370 C fritando a placa mãe.&lt;br /&gt;&lt;br /&gt;&lt;A HREF="http://usr.solar.com.br/~peti/thg-amd-intel.avi"&gt;THG's video&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Após este video o site &lt;a href="http://www.tomshardware.com/"&gt;Tom's Hardware Guide&lt;/a&gt; ganhou status e a AMD mudou o projeto dos processadores fazendo os, já existentes, diodos térmicos funcionarem.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112300810390975608?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112300810390975608/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112300810390975608' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112300810390975608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112300810390975608'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/08/com-quantos-graus-se-fritava-um-athlon.html' title='Com quantos graus se fritava um Athlon?'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112300740958844187</id><published>2005-08-02T15:29:00.000-03:00</published><updated>2005-08-02T15:33:35.580-03:00</updated><title type='text'>BioBrew</title><content type='html'>&lt;center&gt;&lt;img src="http://www.parahard.com/peter/biobrew-wtext-300x178.png"&gt;&lt;/center&gt;&lt;br /&gt;&lt;br /&gt;"BioBrew Linux is an open source Linux distribution based on the NPACI Rocks cluster software and enhanced for bioinformaticists and life scientists."&lt;br /&gt;&lt;br /&gt;O BioBrew é um Rocks aperfeiçoado para bioinformática. Vem com vários aplicativos próprios da bioinformática sem perder a simplicidade do Rocks.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://bioinformatics.org/biobrew/"&gt;Home Page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112300740958844187?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112300740958844187/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112300740958844187' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112300740958844187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112300740958844187'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/08/biobrew.html' title='BioBrew'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112300724158725900</id><published>2005-08-02T15:23:00.000-03:00</published><updated>2005-08-02T15:34:22.193-03:00</updated><title type='text'>Rocks Tiled Display</title><content type='html'>Quer jogar Quake em uma resolução de 10240x7680? Com o Visualization Roll para o Rocks não deve ser complicado. Veja o vídeo. &lt;A HREF="http://www.rocksclusters.org/movies/viz-wall.mov"&gt;viz-wall.mov&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://www.parahard.com/peter/wall-789.png" width="400"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112300724158725900?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112300724158725900/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112300724158725900' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112300724158725900'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112300724158725900'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/08/rocks-tiled-display.html' title='Rocks Tiled Display'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112256174629633776</id><published>2005-07-28T11:22:00.000-03:00</published><updated>2005-07-28T14:26:45.320-03:00</updated><title type='text'>maps.google.com</title><content type='html'>&lt;img src="http://www.parahard.com/peter/ucban.jpg"&gt;&lt;p&gt;&lt;br /&gt;Não há limite para o Google. Ele sabe o real valor da informação. Ele tem uma cópia da Internet, em breve vai ter o seu E-mail, sabe quem são seus amigos através do orkut, e a cada dia sabe mais sobre você.&lt;br /&gt;&lt;br /&gt;O Google parece ser muito bonzinho por distribuir gratuitamente fotos tiradas a partir de satélites de todo o globo. Pode parecer difícil imaginar como o google ganha dinheiro com isso. Mas não é.&lt;br /&gt;&lt;br /&gt;Google AdWords é a resposta. O Google AdWords agora permite que você escolha as coordenadas dos computadores onde suas propagandas vão aparecer. Essas propagandas aparecem para todos que acessarem sites do google(google.com, gmail.com, froogle.com, etc) e estiverem nas coordenadas geográficas que o anunciante fornecer.&lt;br /&gt;&lt;br /&gt;A precisão é incrível. Imagine as possibilidades. Quer colocar propaganda nos computadores do seu concorrente? Informe as coordenadas da fábrica dele para o google. Quer colocar propaganda nos computadores do Palácio do Planalto? Basta colocar as coordenadas. Quer que todos do prédio onde você mora vejam sua propaganda? Informe as coordenadas do seu prédio ao google. Quer que eu veja suas propagandas? Informe as coordenadas da minha faculdade para o google, o link esta logo abaixo.&lt;br /&gt;&lt;br /&gt;Veja a &lt;a href="http://maps.google.com/maps?q=bras%C3%ADlia+BR&amp;ll=-15.741960,-47.903695&amp;spn=0.006396,0.010131&amp;t=k&amp;hl=en"&gt;Minha Faculdade&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112256174629633776?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112256174629633776/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112256174629633776' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112256174629633776'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112256174629633776'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/07/mapsgooglecom.html' title='maps.google.com'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112255754563600489</id><published>2005-07-28T10:26:00.000-03:00</published><updated>2005-07-28T10:41:08.686-03:00</updated><title type='text'>Rocks 4.0.0 is Released</title><content type='html'>Foi lançado em 23 de junho a versão 4.0.0 do Rocks. Baseada no CENTOS ao invés do Red Hat Enterprise . Faça já o &lt;a href="http://www.rocksclusters.org/Rocks/motd-archives/000237.html"&gt;download&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;center&gt;4.0.0 (Whitney)&lt;br&gt;&lt;img src="http://www.parahard.com/peter/release-cd.png"&gt;&lt;/center&gt;&lt;p&gt;&lt;br /&gt;&lt;img src="http://www.parahard.com/peter/logo-athlon.jpg"&gt;&lt;img src="http://www.parahard.com/peter/logo-pentium3.jpg"&gt;&lt;img src="http://www.parahard.com/peter/logo-pentium4.jpg"&gt;&lt;img src="http://www.parahard.com/peter/logo-xeon.jpg"&gt;&lt;img src="http://www.parahard.com/peter/logo-opteron.jpg"&gt;&lt;img src="http://www.parahard.com/peter/logo-itanium.jpg"&gt;&lt;img src="http://www.parahard.com/peter/logo-itanium2.jpg"&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112255754563600489?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112255754563600489/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112255754563600489' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112255754563600489'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112255754563600489'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/07/rocks-400-is-released.html' title='Rocks 4.0.0 is Released'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-112066281629796215</id><published>2005-07-06T12:12:00.000-03:00</published><updated>2005-07-27T12:21:00.563-03:00</updated><title type='text'>Plugin JAVA no Fedora 4</title><content type='html'>Clique &lt;a href="http://fedoranews.org/mediawiki/index.php/How_To_Install_Java_Plugin_on_FC4"&gt;aqui&lt;/a&gt;  para ver como ativar o java no FC4.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-112066281629796215?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/112066281629796215/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=112066281629796215' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112066281629796215'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/112066281629796215'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/07/plugin-java-no-fedora-4.html' title='Plugin JAVA no Fedora 4'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-111532210366964370</id><published>2005-05-05T16:39:00.000-03:00</published><updated>2005-05-05T16:41:43.673-03:00</updated><title type='text'>Yum no fedora 3 - Problema com GPG keys</title><content type='html'>Basta: rpm --import /usr/share/doc/fedora-release-3/RPM-GPG-KEY*&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-111532210366964370?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/111532210366964370/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=111532210366964370' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/111532210366964370'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/111532210366964370'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/05/yum-no-fedora-3-problema-com-gpg-keys.html' title='Yum no fedora 3 - Problema com GPG keys'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-111340220306104931</id><published>2005-04-13T11:20:00.000-03:00</published><updated>2005-04-27T04:02:03.986-03:00</updated><title type='text'>NCBI BLAST 32 vs 64 bit performance</title><content type='html'>Joseph Landman is the man of the match. His white paper is at the AMD site. Check it out &lt;a href="http://www.amd.com/us-en/assets/content_type/DownloadableAssets/dwamd_SI_rlsdWP1.0_.pdf"&gt;here&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.scalableinformatics.com/"&gt;http://www.scalableinformatics.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-111340220306104931?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/111340220306104931/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=111340220306104931' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/111340220306104931'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/111340220306104931'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/04/ncbi-blast-32-vs-64-bit-performance.html' title='NCBI BLAST 32 vs 64 bit performance'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-111340181259816812</id><published>2005-04-13T11:15:00.000-03:00</published><updated>2005-08-02T11:36:42.256-03:00</updated><title type='text'>Wetware musing about high performan...</title><content type='html'>Site muito interessante sobre computação paralela e escalabilidade.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://scalability.org/"&gt;scalability.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-111340181259816812?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/111340181259816812/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=111340181259816812' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/111340181259816812'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/111340181259816812'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/04/wetware-musing-about-high-performan.html' title='Wetware musing about high performan...'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-111330940818182517</id><published>2005-04-12T09:35:00.000-03:00</published><updated>2005-04-12T09:36:48.183-03:00</updated><title type='text'>gmail: G is for growth</title><content type='html'>Storage is an important part of email, but that doesn't mean you should have to worry about it. To celebrate our one-year birthday, we're giving everyone one more gigabyte. But why stop the party there? Our plan is to continue growing your storage beyond 2GBs by giving you more space as we are able. We know that email will only become more important in people's lives, and we want Gmail to keep up with our users and their needs. From Gmail, you can expect more.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-111330940818182517?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/111330940818182517/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=111330940818182517' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/111330940818182517'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/111330940818182517'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/04/gmail-g-is-for-growth.html' title='gmail: G is for growth'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-111042039732689282</id><published>2005-03-09T23:04:00.000-03:00</published><updated>2005-03-09T23:06:37.326-03:00</updated><title type='text'>Bloqueando spammers usando o iptables</title><content type='html'>edite o arquivo /etc/sysconfig/iptables&lt;br /&gt;&lt;br /&gt;adicione a seguinte linha onde 200.213.179.2 é o ip do spammer:&lt;br /&gt;-A RH-Firewall-1-INPUT -p tcp -s 200.213.179.2 -j DROP&lt;br /&gt;&lt;br /&gt;depois digite como root no bash service iptables restart&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-111042039732689282?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/111042039732689282/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=111042039732689282' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/111042039732689282'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/111042039732689282'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/03/bloqueando-spammers-usando-o-iptables.html' title='Bloqueando spammers usando o iptables'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-110847776578958448</id><published>2005-02-15T12:21:00.000-02:00</published><updated>2005-02-15T12:29:25.790-02:00</updated><title type='text'>Velocidade do Cluster: Sustained vs. Peak</title><content type='html'>Descobri como calcular a velocidade teorica de pico de um cluster. É muito fácil:&lt;br /&gt;&lt;br /&gt;Peak GFLOPS = [CPUs] * [CPU clock rate (GHz)] * [CPU floating point issue rate]&lt;br /&gt;&lt;br /&gt;O issue rate da sua CPUs descreve quantas operações de ponto flutuante ela pode computar por ciclo.&lt;br /&gt;Um guia simplificado é: (Tipo de CPD: issue rate) Pentium 2: 1, Pentium 4: 2, Athlon XP: 3, Itanium 2: 4.&lt;br /&gt;&lt;br /&gt;Por exemplo: 8 Atlhon XP 2800+(2,083 GHz) = 8 * 2,083 * 3 = 49,992 GFLOPS.&lt;br /&gt;&lt;br /&gt;No caso do crick são 49,992 GFLOPS PEAK e 14,69 GFLOPS SUSTAINED&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-110847776578958448?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/110847776578958448/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=110847776578958448' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110847776578958448'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110847776578958448'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/02/velocidade-do-cluster-sustained-vs.html' title='Velocidade do Cluster: Sustained vs. Peak'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-110834408487125133</id><published>2005-02-13T23:17:00.001-02:00</published><updated>2005-02-13T23:21:24.873-02:00</updated><title type='text'>ClusterFLOP</title><content type='html'>Cluster de 2Gflops por $450!&lt;br /&gt;&lt;a href="http://spinlab.wpi.edu/Projects/ClusterFLOP/cluster-fullsize.jpg"&gt;&lt;img src="http://spinlab.wpi.edu/Projects/ClusterFLOP/cluster-fullsize.jpg" width="400"&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://spinlab.wpi.edu/Projects/ClusterFLOP/"&gt;ClusterFLOP Home Page&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-110834408487125133?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/110834408487125133/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=110834408487125133' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110834408487125133'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110834408487125133'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/02/clusterflop.html' title='ClusterFLOP'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-110799434355124882</id><published>2005-02-09T22:04:00.000-02:00</published><updated>2005-07-27T10:10:20.546-03:00</updated><title type='text'>Portfolio: Loja Virtual</title><content type='html'>Nos anos de 2002 e 2003 trabalhei no projeto de uma loja virtual completa.&lt;br /&gt;&lt;br /&gt;Ela pode ser vista aqui: &lt;a href="http://www.parahard.com/phpshop_core/"&gt;Parahard.com Loja virtual&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Você terá acesso apenas a loja. Existe uma área de administração protegida por senha que permite controlar estoque, gerenciar os pedidos, gerenciar o cadastro de produtos, gerenciar o cadastro de clientes, gerenciar a criação de boletos bancários, gerenciar o cadastro de vendedores, analisar o desempenho de campanhas publicitárias, analisar estatísticas de produtos, etc.&lt;br /&gt;&lt;br /&gt;A loja é baseada no phpshop e no phpboleto. Ambos utilizam PHP e MySQL. O software é rápido e leve.&lt;br /&gt;&lt;center&gt;&lt;img src="http://www.parahard.com/imgs/ph_logo.gif"&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-110799434355124882?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/110799434355124882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=110799434355124882' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110799434355124882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110799434355124882'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/02/portfolio-loja-virtual.html' title='Portfolio: Loja Virtual'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-110799363637533967</id><published>2005-02-09T21:52:00.000-02:00</published><updated>2005-02-10T11:47:15.503-02:00</updated><title type='text'>International Supercomputer Conference</title><content type='html'>&lt;img src="http://www.supercomp.de/gifs/header.gif" width="400"&gt;&lt;br /&gt;Vai acontecer entre os dias 21/06/05 e 24/06/05 em Heidelberg na Alemanhã a Conferencia Internacional de Supercomputadores. O envento é em inglês e é patrocinado por gigantes como IBM, AMD e INTEL. &lt;br /&gt;Para mais informações veja: &lt;br /&gt;&lt;a href="http://www.isc2005.org/" target="new_2005"&gt;http://www.isc2005.org/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Até o dia 21/02/05 eles estão aceitando papers. Os melhores papers concorrem a quase $ 250.000,00 e a despesas pagas. Envie já os seus.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-110799363637533967?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/110799363637533967/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=110799363637533967' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110799363637533967'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110799363637533967'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/02/international-supercomputer-conference.html' title='International Supercomputer Conference'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-110789149352523708</id><published>2005-02-08T17:30:00.000-02:00</published><updated>2005-07-27T10:57:35.883-03:00</updated><title type='text'>Menos distante do TOP500</title><content type='html'>Clique &lt;a href="http://parahard.blogspot.com"&gt;aqui&lt;/a&gt; para voltar para o Blog do Peter.&lt;br /&gt;&lt;br /&gt;Depois de ajustes o cluster obteve resultados melhores com o HPLinpack. Dois dispositivos estão limitando a velocitade. As memórias com barramento DDR266 CL 2.5 e as placas de rede gigabit Realtek. Mas mesmo assim o cluster obteve 14.69Gflops Veja:&lt;br /&gt;&lt;img src="http://www.parahard.com/peter/cricktop500.png"&gt;&lt;br /&gt;&lt;br /&gt;Veja a Saida do HPLinpack &lt;a href="http://www.parahard.com/peter/xhpl30000.txt"&gt;aqui&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-110789149352523708?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/110789149352523708/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=110789149352523708' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110789149352523708'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110789149352523708'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/02/menos-distante-do-top500.html' title='Menos distante do TOP500'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-110711655887552047</id><published>2005-01-30T17:35:00.000-02:00</published><updated>2005-02-08T17:50:19.000-02:00</updated><title type='text'>Rumo ao TOP500</title><content type='html'>Finalmente obtive o resultado da potência do cluster. O melhor número obtido foi 10,27 Gflops. O computador que esta na posição número 500 do TOP500 de 11/2004 marcou 850.6Gflops. O resultado é bom se o preço do cluster for levado em conta. O investimento foi inferior a R$ 20.000,00 ($ 8000,00).&lt;br /&gt;&lt;br /&gt;Veja a saida do HPLinpack &lt;a href="http://www.parahard.com/peter/xhpl7500.txt"&gt;aqui&lt;/a&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-110711655887552047?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/110711655887552047/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=110711655887552047' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110711655887552047'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110711655887552047'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/01/rumo-ao-top500.html' title='Rumo ao TOP500'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-110600281728430990</id><published>2005-01-17T20:54:00.000-02:00</published><updated>2005-01-17T21:01:31.903-02:00</updated><title type='text'>Nagios plugin: check_spamcop</title><content type='html'>Acabou de sair do forno meu mais novo plugin para o Nagios. Ele verifica se o seu servidor smtp esta em alguma lista negra antispam como a bl.spamcop.net. Este é muito mais fácil de instalar do que o check_qm_queue. Basta copiá-lo para o diretório de plugins do nagios (/usr/lib/nagios/plugins) e configurar as permissões para que qualquer um possa executá-lo. O uso também é simples:&lt;br /&gt;check_spamcop [ip do servidor] [black list]&lt;br /&gt;check_spamcop 64.233.171.109 bl.spamcop.net&lt;br /&gt;&lt;a href="http://www.parahard.com/peter/check_spamcop"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-110600281728430990?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/110600281728430990/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=110600281728430990' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110600281728430990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110600281728430990'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/01/nagios-plugin-checkspamcop.html' title='Nagios plugin: check_spamcop'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-110539233140835342</id><published>2005-01-10T19:05:00.000-02:00</published><updated>2005-01-10T23:38:21.940-02:00</updated><title type='text'>LVM sobre Software Raid no Fedora 3</title><content type='html'>Já usamos software raid há algum tempo. Hoje instalei o Fedora 3 em um computador que possui dois HDs IDE. A novidade é que usei LVM.&lt;br /&gt;&lt;br /&gt;Primeiro particionei os dois HDs. Veja como ficaram:&lt;br /&gt;&lt;br /&gt;    Device Boot      Start         End      Blocks   Id  System&lt;br /&gt; /dev/hda1   *           1          13      104391   fd  Linux raid autodetect&lt;br /&gt; /dev/hda2              14        4870    39013852+  fd  Linux raid autodetect&lt;br /&gt; /dev/hdc1   *           1          13      104391   fd  Linux raid autodetect&lt;br /&gt; /dev/hdc2              14        4870    39013852+  fd  Linux raid autodetect&lt;br /&gt;&lt;br /&gt;As partições hda1 e hdc1 são as partições de boot. Já as outras duas partições são de dados.&lt;br /&gt;&lt;br /&gt;Logo em seguida configurei o software raid para funcionar no nível 1(espelhamento).&lt;br /&gt;Os devices /dev/hda1 e /dev/hdc1 formaram o device /dev/md0 que foi definido como sendo do tipo ext3 e foi montando sob o diretório /boot.&lt;br /&gt;As partições /dev/hda2 e /dev/hdc2 formaram o device /dev/md1 que foi definido como sendo do tipo Logical Volume.&lt;br /&gt;&lt;br /&gt;Logo em seguida configurei o LVM:&lt;br /&gt;A raiz ficou com 5 GB e com o device /dev/mapper/VolGroup00-LogVol00&lt;br /&gt;O /home ficou com 5 GB e com o device /dev/mapper/VolGroup00-LogVol01&lt;br /&gt;O /var ficou com 27 GB e com o device /dev/mapper/VolGroup00-LogVol03&lt;br /&gt;O swap ficou com 1 GB e com o device /dev/mapper/VolGroup00-LogVol04&lt;br /&gt;&lt;br /&gt;Após o término da instalação do Fedora 3 eu instalei o grub no hdc para garantir que o boot funcione com apenas um HD. Fiz o seguinte:&lt;br /&gt;&lt;br /&gt;grub&lt;br /&gt;grub&gt;device (hd0) /dev/hdc&lt;br /&gt;grub&gt;root (hd0,0)       &lt;br /&gt;grub&gt;setup (hd0)&lt;br /&gt;grub&gt;quit&lt;br /&gt;&lt;br /&gt;Configurei a ordem de boot na bios para HD0 e HD2.&lt;br /&gt;&lt;br /&gt;Para testar, removi o hda e iniciei o computador. Ele entrou normalmete. Desliguei, recoloquei o hda e religuei. Por não ter participado do último boot, o hda deixou de fazer parte do RAID. Para recolocá-lo:&lt;br /&gt;&lt;br /&gt;mdadm /dev/md0 -a /dev/hda1&lt;br /&gt;mdadm /dev/md1 -a /dev/hda2&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-110539233140835342?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/110539233140835342/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=110539233140835342' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110539233140835342'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110539233140835342'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/01/lvm-sobre-software-raid-no-fedora-3.html' title='LVM sobre Software Raid no Fedora 3'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-110479177022110292</id><published>2005-01-03T20:36:00.000-02:00</published><updated>2006-10-06T15:59:36.890-03:00</updated><title type='text'>A necessidade de computação paralela</title><content type='html'>Suponha que desejamos construir um computador capaz de efetuar um trilhão de operações a cada segundo. Talvez a solução mais óbvia seja simplesmente explorar a fundo tecnologias bem conhecidas. Ou seja, nós podemos tentar construir um computador von Neumann mais ou menos  convencional com um processador extremamente rápido e com uma grande quantidade de memória. Agora suponha que nós queremos um computador que pode executar o código abaixo em um segundo:&lt;br /&gt;&lt;br /&gt;/* x, y e z são arrays de floats, cada uma contendo &lt;br /&gt;/* um trilhão de entradas&lt;br /&gt;for ( i = 0 ; i &lt; UM_TRILHAO ; i++ )&lt;br /&gt;{&lt;br /&gt;     z[i] = x[i] + y[i];&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Em um computador convencional, nós buscaríamos x[i] e y[i] da memória e os guardaríamos em registradores, somaríamos os dois e guardaríamos o resultado em z[i]. Assim para executar este código, nós precisaríamos ser capazes de executar no mínimo 10^12 cópias entre a memória e os registradores a cada segundo. Se a informação viaja na velocidade da luz (3 X 10^8 metros/segundo), e se r é a distância média entre uma palavra de memória e a CPU, então r satisfaz:&lt;br /&gt;&lt;br /&gt;     3 X 10^12r metros = 3 X 10^8 metros/segundo X 1 segundo,&lt;br /&gt;&lt;br /&gt;ou r = 10^-4 metros. Agora, nosso computador convencional ultra rápido deve conter ao menos três trilhões de palavras de memória para poder armazenar x, y e z. Normalmente no nível de hardware, as palavras de memória são organizadas em uma grade retangular regular. Se usármos uma grade quadrada com o lado valendo s e com a CPU no centro, então a distância média entre a CPU e uma palavra de memória é aproximadamente s/2. Então nós queremos que s/2 = 10^-4 metros ou s = 2 X 10^-4 metros. Se as nossas palavras de memória formam uma grade quadrada, um "row" típico de memória conterá&lt;br /&gt;&lt;br /&gt;     ( 3 X 10^12 )^( 1/2 ) = 3^( 1/2 ) X 10^6&lt;br /&gt;&lt;br /&gt;palavras. Assim nós precisamos espremer uma palavra de memória em em um quadrado com o lado valendo&lt;br /&gt;&lt;br /&gt;     ( 2 X 10^-4 metros ) / [ 3^( 1/2 ) X 10^6 ] =~ 10^-10 metros.&lt;br /&gt;&lt;br /&gt;Este é o tamanho de um átomo relativamente pequeno! Em outras palavras isto quer dizer que a não ser que consigamos representar palavras de 32 bits (ou 64 bits) com apenas um átomo, será impossível construir nosso computador.&lt;br /&gt;&lt;br /&gt;Então como construir um computador capaz de realizar um trilhão de operações a cada segundo? Considere a analogia:&lt;br /&gt;&lt;br /&gt;Pedro é um contratante romano expecializado em escavação. Paulo é o seu único empregado e ele é capaz de escavar 1000 metros cúbicos por dia. Entretanto surge uma demanda incrível para os serviços de Pedro quando descobre-se que Átila esta para fazer uma visita a Roma na próxima semana. Pedro percebe que para atender a demanda ele precisa escavar 100000 metros cúbicos por dia durante uma semana. Ele não é bobo. Ele resolve o problema contratando mais 99 homens, aumentando sua força de trabalho de 1 para 100 homens. A analogia deve ser clara: Nosso único empregado é nosso processador e memória, e nossos 100000 metros cúbicos diários são o problema que requer grande poder computacional. Nossa solução também é clara: nós devemos obter mais trabalhadores ou mais processadores e módulos de memória para resolver o problema. Um computador paralelo é simplesmente um computador (ou um conjunto de computadores) com vários processadores que podem trabalhar juntos para resolver um problema.&lt;br /&gt;&lt;br /&gt;PACHECO, Peter S. Parallel Programming with MPI. San Francisco: Morgan Kaufmann Publishers, 1997.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-110479177022110292?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/110479177022110292/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=110479177022110292' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110479177022110292'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110479177022110292'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/01/necessidade-de-computao-paralela.html' title='A necessidade de computação paralela'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-110461082121783746</id><published>2005-01-01T18:20:00.000-02:00</published><updated>2005-01-01T18:38:19.186-02:00</updated><title type='text'>Google Copernicus Center is hiring</title><content type='html'>O Google está entrevistando os candidatos para o departamento de engenharia do centro lunar de pesquisa e hospedagem que será aberto em 2007.  Esta oportunidade original está disponível somente aos indivíduos altamente qualificados que estão dispostos a mudar-se por um período de tempo prolongado...&lt;br /&gt;&lt;center&gt;&lt;img src="http://www.google.com/jobs/images/lunar_cheese.jpg" width=400&gt;&lt;br /&gt;&lt;a href="http://www.google.com/jobs/lunar_job.html"&gt;Google Job Opportunities&lt;/a&gt;&lt;/center&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-110461082121783746?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/110461082121783746/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=110461082121783746' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110461082121783746'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110461082121783746'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2005/01/google-copernicus-center-is-hiring.html' title='Google Copernicus Center is hiring'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-110452516424371757</id><published>2004-12-31T18:29:00.000-02:00</published><updated>2005-01-01T18:35:59.190-02:00</updated><title type='text'>Viva o Rocks!</title><content type='html'>Há quatro anos fazer um cluster HPC era uma tarefa árdua e gastava-se muito tempo. Hoje isso não é mais assim. O Rocks é uma distribuição de Linux baseada no Red Hat Enterprise que torna a vida de quem quer um cluster fácil. Depois de montar o Hardware é possível configurar seu cluster HPC em poucas horas. &lt;a href="http://www.rocksclusters.org" target="newwindow45"&gt;&lt;img src="http://www.rocksclusters.org/rocks.jpg" /&gt;&lt;br /&gt;www.rocksclusters.org&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-110452516424371757?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/110452516424371757/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=110452516424371757' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110452516424371757'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110452516424371757'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2004/12/viva-o-rocks.html' title='Viva o Rocks!'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-110452486933002642</id><published>2004-12-31T18:19:00.000-02:00</published><updated>2005-01-01T18:34:55.663-02:00</updated><title type='text'>Cluster HPC foi mais rápido que nosso SMP</title><content type='html'>Fizemos um benchmark usando o BLAST. Corremos o BLAST em um SMP DELL com 4 Xeon 1.8Ghz e 8GB de RAM e corremos o BLAST em um Cluster HPC com 4 Athlon XP 2800+ Barton com 1GB de memória cada.&lt;br /&gt;&lt;br /&gt;Resultado: Os 4 Athlon levaram 32 segundos enquanto o SMP levou 69 segundos.&lt;br /&gt;&lt;br /&gt;Levando em conta que o preço dos quatro Athlons é 7.5 vezes menor do que o SMP foi um ótimo resultado.&lt;br /&gt;&lt;br /&gt;Cluster de Athlons&lt;br /&gt;&lt;img src="http://www.parahard.com/cluster/fotos/1/mvc-506f.jpg" width="400" /&gt;&lt;br /&gt;&lt;br /&gt;SMP da DELL&lt;br /&gt;&lt;img src="http://www.parahard.com/cluster/fotos/1/mvc-496f.jpg"  width="400" /&gt;&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-110452486933002642?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/110452486933002642/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=110452486933002642' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110452486933002642'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110452486933002642'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2004/12/cluster-hpc-foi-mais-rpido-que-nosso.html' title='Cluster HPC foi mais rápido que nosso SMP'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-9875050.post-110452293442974666</id><published>2004-12-31T17:40:00.000-02:00</published><updated>2005-08-02T11:35:47.866-03:00</updated><title type='text'>*check_qm_queue v0.1: Pluggin para o Nagios: Fila do Qmail</title><content type='html'>Este pluggin escrito em Perl para o Nagios verifica o número de mensagens nas filas local e remota do Qmail.&lt;br /&gt;&lt;br /&gt;Para distribuições de Red Hat &gt; 7.1 é necessário instalar pacote perl-suidperl.&lt;br /&gt;&lt;br /&gt;O script precisa de permissões especiais. Execute estes comandos onde o plugin se encontra:&lt;br /&gt;chown qmails.qmails check_qm_queue&lt;br /&gt;chmod 6755 check_qm_queue&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.parahard.com/peter/check_qm_queue"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/9875050-110452293442974666?l=parahard.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://parahard.blogspot.com/feeds/110452293442974666/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=9875050&amp;postID=110452293442974666' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110452293442974666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/9875050/posts/default/110452293442974666'/><link rel='alternate' type='text/html' href='http://parahard.blogspot.com/2004/12/checkqmqueue-v01-pluggin-para-o-nagios.html' title='*check_qm_queue v0.1: Pluggin para o Nagios: Fila do Qmail'/><author><name>Peter</name><uri>http://www.blogger.com/profile/08044103012321274704</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='http://2.bp.blogspot.com/-BjOEJt5PAFA/TdgILFMPldI/AAAAAAAADbs/DEXjGV1V76A/s220/peter-2011.jpg'/></author><thr:total>0</thr:total></entry></feed>
