<?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-14475696</id><updated>2012-01-10T14:02:19.414+08:00</updated><category term='QRcode'/><category term='iOS'/><category term='UIKit'/><category term='Bash'/><category term='iPhone'/><category term='c++'/><category term='ZBarSDK'/><category term='UIScrollView'/><title type='text'>Work note</title><subtitle type='html'>Things of work</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default?start-index=101&amp;max-results=100'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>158</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-14475696.post-7504877233372367538</id><published>2012-01-10T14:02:00.001+08:00</published><updated>2012-01-10T14:02:19.423+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='UIScrollView'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='UIKit'/><category scheme='http://www.blogger.com/atom/ns#' term='iOS'/><title type='text'>UIScrollView 卡關排解</title><content type='html'>因為卡了三次，特別提醒自己。&lt;br /&gt;&lt;br /&gt;若要做成兩頁，則 &lt;span style="font-family: 'Courier New', Courier, monospace;"&gt;&lt;b&gt;contentSize&lt;/b&gt;&lt;/span&gt; 要涵蓋兩頁寬度。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-7504877233372367538?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/7504877233372367538/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=7504877233372367538&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7504877233372367538'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7504877233372367538'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2012/01/uiscrollview.html' title='UIScrollView 卡關排解'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total><georss:featurename>Taichung City, Taiwan</georss:featurename><georss:point>24.2332076 120.9417368</georss:point><georss:box>23.7698726 120.3100228 24.6965426 121.5734508</georss:box></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-5359716491164893682</id><published>2011-11-18T16:09:00.001+08:00</published><updated>2011-11-18T16:35:51.214+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='QRcode'/><category scheme='http://www.blogger.com/atom/ns#' term='iPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='ZBarSDK'/><title type='text'>Owned scan screen in ZBar</title><content type='html'>By studying the ZBar iPhone SDK &lt;a href="http://zbar.sourceforge.net/iphone/sdkdoc/custom.html"&gt;document&lt;/a&gt;, I need to preview the camera on my own &lt;code&gt;UIView&lt;/code&gt;, then, show the scanned image and text, that's all.All I need is to use &lt;code&gt;ZBarReaderView&lt;/code&gt; and &lt;code&gt;ZBarImageScanner&lt;/code&gt;, the mainly code snippet as below:&lt;script src="https://gist.github.com/1375889.js?file=gistfile1.m"&gt;&lt;/script&gt;The screen result like below:&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-uScoor_oc8U/TsYYtCydYTI/AAAAAAAAIcY/XlOxqQA5IDM/s1600/IMG_0026.PNG" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="640" src="http://2.bp.blogspot.com/-uScoor_oc8U/TsYYtCydYTI/AAAAAAAAIcY/XlOxqQA5IDM/s640/IMG_0026.PNG" width="480" /&gt;&lt;/a&gt;&lt;/div&gt;Check out the full sample from &lt;a href="https://github.com/a2n/zbar-iphone-example"&gt;github&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-5359716491164893682?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/5359716491164893682/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=5359716491164893682&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5359716491164893682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5359716491164893682'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2011/11/owned-scan-screen-in-zbar.html' title='Owned scan screen in ZBar'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-uScoor_oc8U/TsYYtCydYTI/AAAAAAAAIcY/XlOxqQA5IDM/s72-c/IMG_0026.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4572462910886705230</id><published>2011-11-16T09:38:00.001+08:00</published><updated>2011-11-18T11:52:28.215+08:00</updated><title type='text'>露天拍賣密碼</title><content type='html'>&lt;a href="https://member.ruten.com.tw/user/editpwd.htm" target="_blank"&gt;修改密碼網頁&lt;/a&gt;&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/-E-qHpYSLJfQ/TsMUocOo2BI/AAAAAAAAIcM/FxReLmSrdbk/s1600/password_length.png" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="134" src="http://2.bp.blogspot.com/-E-qHpYSLJfQ/TsMUocOo2BI/AAAAAAAAIcM/FxReLmSrdbk/s320/password_length.png" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;希望使用者輸入至多 15 個字元，可是 html 語法卻寫成：&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="https://gist.github.com/1369025.js?file=gistfile1.html"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;正確寫法是：&lt;br /&gt;&lt;br /&gt;&lt;span style="font-family: 'Lucida Grande';"&gt;&lt;span style="font-size: 11px;"&gt;&lt;script src="https://gist.github.com/1369027.js?file=gistfile1.html"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;另外，&lt;a href="https://member.ruten.com.tw/user/login.htm" target="_blank"&gt;登入頁面&lt;/a&gt;&lt;br /&gt;&lt;span style="font-family: 'Lucida Grande';"&gt;&lt;span style="font-size: 11px;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;span style="font-family: 'Lucida Grande';"&gt;&lt;span style="font-size: 11px;"&gt;&lt;script src="https://gist.github.com/1369031.js?file=gistfile1.html"&gt;&lt;/script&gt;&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;修改密碼規定 15 個字元，這裡卻限制 24 個字元，明顯裡外不一。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4572462910886705230?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4572462910886705230/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4572462910886705230&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4572462910886705230'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4572462910886705230'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2011/11/blog-post.html' title='露天拍賣密碼'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-E-qHpYSLJfQ/TsMUocOo2BI/AAAAAAAAIcM/FxReLmSrdbk/s72-c/password_length.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6593450023403129192</id><published>2010-04-14T17:02:00.006+08:00</published><updated>2010-04-14T17:52:54.714+08:00</updated><title type='text'>Get file from Oracle.com with GNU Wget</title><content type='html'>&lt;script src="http://pastebin.com/embed_js.php?i=fNCKWYCW"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;script src="http://pastebin.com/embed_js.php?i=2PnwmCNg"&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6593450023403129192?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6593450023403129192/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6593450023403129192&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6593450023403129192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6593450023403129192'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2010/04/get-file-from-oraclecom-with-gnu-wget.html' title='Get file from Oracle.com with GNU Wget'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-1596811921249088678</id><published>2009-11-16T10:24:00.002+08:00</published><updated>2009-11-16T10:33:28.223+08:00</updated><title type='text'>Installing XP: ***STOP: 0x0000007B (0xF78D2524,0xC0000034,0x00000000,0x00000000)</title><content type='html'>Platform: Lenovo SL400 (2743-RK3)&lt;br /&gt;&lt;br /&gt;When installing Windows XP, during the booting procedure, it shows up the BSOD screen, "Installing XP: ***STOP: 0x0000007B (0xF78D2524,0xC0000034,0x00000000,0x00000000)". After run the complete memtest86+, it occurs again. &lt;br /&gt;&lt;br /&gt;The solution is &lt;a href="http://✿.ws/籣"&gt;here&lt;/a&gt;, disable HD drive from ACHI to Compatibility.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-1596811921249088678?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/1596811921249088678/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=1596811921249088678&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1596811921249088678'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1596811921249088678'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2009/11/installing-xp-stop-0x0000007b.html' title='Installing XP: ***STOP: 0x0000007B (0xF78D2524,0xC0000034,0x00000000,0x00000000)'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-230087805722795474</id><published>2009-08-04T10:32:00.003+08:00</published><updated>2009-08-04T11:01:25.863+08:00</updated><title type='text'>Converting integer to string in ANSI C</title><content type='html'>&lt;code&gt;&lt;br /&gt;const char *base = "BLAH BLAH BLAH";&lt;br /&gt;unsigned int idx = 0;&lt;br /&gt;char *buf = NULL;&lt;br /&gt;&lt;br /&gt;buf = (char *) malloc (strlen (base) + sizeof (unsigned int));&lt;br /&gt;sprintf (buf, "%s%d", buf, idx);&lt;br /&gt;printf ("buf: %s\n", buf);&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Output&lt;/b&gt;&lt;br /&gt;&lt;code&gt;BLAH BLAH BLAH0&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-230087805722795474?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/230087805722795474/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=230087805722795474&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/230087805722795474'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/230087805722795474'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2009/08/converting-integer-to-string-in-ansi-c.html' title='Converting integer to string in ANSI C'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-2591500966499864401</id><published>2009-05-29T21:08:00.003+08:00</published><updated>2009-05-29T21:25:38.949+08:00</updated><title type='text'>Compaq CQ60-201AU downgrade</title><content type='html'>First ball, thanks to &lt;a href="http://tw.myblog.yahoo.com/tsaidickkimo/article?mid=1297&amp;sc=1"&gt;Compaq Presario CQ60-104AU/ CQ60-210AU 改 XP&lt;/a&gt; takes me many hints, and special thanks to &lt;a href="http://forums13.itrc.hp.com/service/forums/bizsupport/questionanswer.do?admit=109447627+1243603044404+28353475&amp;threadId=1197797"&gt;Conexant High Definition SmartAudio 221 probbblemmmm!(WİNDOWS XP DRİVERS=)&lt;/a&gt;, they were just discussing the audio driver.&lt;br /&gt;&lt;br /&gt;This downgrade makes me understand that, some vendors combine some components of their product whole only supports vista drivers, it's really sucks. Fortunately, many geeks turn it works fine. So we can search their great solution and study its experiences.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-2591500966499864401?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/2591500966499864401/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=2591500966499864401&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/2591500966499864401'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/2591500966499864401'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2009/05/compaq-cq60-201au-downgrade.html' title='Compaq CQ60-201AU downgrade'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-5957248394931680552</id><published>2009-05-22T10:33:00.006+08:00</published><updated>2009-05-22T11:03:07.389+08:00</updated><title type='text'>Why was your message broken?</title><content type='html'>I like send messages rather than dialing to communicate wtih my cellphone. As using so far, I have a big problem in my mind, that, why was messages broken when it was enough long to send? I had asked my service provider &lt;a href="http://www.cht.com.tw"&gt;CHT&lt;/a&gt;, the service-person told me that caused by my OLD-SYLTE-PHONE, it is never happen with newer phone. I did not believe that anyhow. Until today morning, I have read a article on OSNEW.com, &lt;a href="http://www.osnews.com/story/21431/Why_Text_Messages_Are_Limited_to_160_Characters"&gt;Why Text Messages Are Limited to 160 Characters&lt;/a&gt;, that pushes me to find something more out.&lt;br /&gt;&lt;br /&gt;My Nokia 1650 cellphone supports SMS, EMS and Instant Messaging, &lt;a href="http://europe.nokia.com/find-products/devices/nokia-1650/specifications"&gt;spec page&lt;/a&gt; said that supports length up to 250 characters, not as long as &lt;a href="http://en.wikipedia.org/wiki/Short_message_service#Message_size"&gt;wikipedia SMS page&lt;/a&gt; said, 160 characters.&lt;br /&gt;&lt;br /&gt;I have not yet find anything solves it problem to normal message.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-5957248394931680552?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/5957248394931680552/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=5957248394931680552&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5957248394931680552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5957248394931680552'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2009/05/why-was-your-message-broken.html' title='Why was your message broken?'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-7520601517369460076</id><published>2009-05-21T09:27:00.002+08:00</published><updated>2009-05-21T09:36:44.143+08:00</updated><title type='text'>Abortion</title><content type='html'>&lt;b&gt;Anyone has this information who has mentioned "abortion". :P&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;glibc &lt;a href="http://www.gnu.org/s/libc/manual/html_node/Aborting-a-Program.html"&gt;25.6.4&lt;/a&gt; Aborting a Program&lt;br /&gt;&lt;br /&gt;&lt;table class="cartouche" summary="cartouche" border="1"&gt;&lt;tr&gt;&lt;td&gt;&lt;br /&gt;&lt;strong&gt;Future Change Warning:&lt;/strong&gt; Proposed Federal censorship regulations&lt;br /&gt;may prohibit us from giving you information about the possibility of&lt;br /&gt;calling this function.  We would be required to say that this is not an&lt;br /&gt;acceptable way of terminating a program. &lt;br /&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Explanation: &lt;a href="http://sources.redhat.com/ml/glibc-linux/1999-q3/msg00013.html"&gt;Re: Federal censorship regulations&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;The warning may be tongue in cheek.  Anyone living in the US is&lt;br /&gt;aware of the extreme sensitivity of the abortion issue (as it&lt;br /&gt;applies to human foetuses, not computer programs).&lt;br /&gt;&lt;br /&gt;Allin Cottrell.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-7520601517369460076?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/7520601517369460076/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=7520601517369460076&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7520601517369460076'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7520601517369460076'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2009/05/abortion.html' title='Abortion'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4601321138203160766</id><published>2009-02-27T19:26:00.002+08:00</published><updated>2009-02-27T19:55:21.957+08:00</updated><title type='text'>Compilin SQLite from source code</title><content type='html'>This article is describe how to compile SQLite 3 from its source code scratch.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Steps&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;1. Setting current path as $TOP variable.&lt;br /&gt;&lt;code&gt;export TOP=`pwd`&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;2. Getting source code tarball from official web site, and save it to $TOP.&lt;br /&gt;&lt;code&gt;wget http://www.sqlite.org/sqlite-3.6.11.tar.gz -O $TOP/sqlite-3.6.11.tar.gz&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;3. Extracting&lt;br /&gt;&lt;code&gt;cd $TOP; gzip -dc sqlite-3.6.11.tar.gz | tar -xf - ; cd sqlite-3.6.11&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;4. Detecting something in system environment.&lt;br /&gt;&lt;code&gt;./configure&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;5. Executing make if previous step successful. Doing debug with err.txt if errors occurs during makeing.&lt;br /&gt;&lt;code&gt;make 1&gt; /dev/null 2&gt; err.txt&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;6. Installing files to system (/usr/local/), need root permission.&lt;br /&gt;&lt;code&gt;# make install&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4601321138203160766?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4601321138203160766/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4601321138203160766&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4601321138203160766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4601321138203160766'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2009/02/compilin-sqlite-from-source-code.html' title='Compilin SQLite from source code'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-5709535589515196674</id><published>2009-02-13T17:18:00.009+08:00</published><updated>2009-02-20T08:04:08.366+08:00</updated><title type='text'>tmux - terminal multiplexer</title><content type='html'>&lt;b&gt;Install steps&lt;/b&gt;&lt;br /&gt;1. Downloading all packages, assume you're in bash shell.&lt;br /&gt;&lt;pre&gt;wget -c http://mentors.debian.net/debian/pool/main/t/tmux/tmux_0.5{-1.d{iff.gz,sc},.orig.tar.gz}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;2. Unpacking and patch, then compie it.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;$ gzip -d tmux_0.5-1.diff.gz&lt;br /&gt;$ tar -zxf tmux_0.5.orig.tar.gz; cd tmux-0.5&lt;br /&gt;$ patch -Np1 &lt; ../tmux_0.5-1.diff&lt;br /&gt;# make 1&gt; /dev/null 2&gt; err.txt &amp;&amp; make install&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;3. Tuning it&lt;br /&gt;&lt;br /&gt;.tmux.conf&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;set prefix ^\&lt;br /&gt;set status on&lt;br /&gt;set status-bg yellow&lt;br /&gt;set status-fg block&lt;br /&gt;set status-right " "&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;# For 0.7&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;unbind ^b&lt;br /&gt;set -g prefix ^\&lt;br /&gt;send-prefix&lt;br /&gt;set -g status on&lt;br /&gt;set -g status-bg yellow&lt;br /&gt;set -g status-fg black&lt;br /&gt;set -g utf8 off&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;.bashrc&lt;br /&gt;&lt;pre&gt;alias t='tmux attach -d'&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Drawbacks&lt;/b&gt;&lt;br /&gt;under testing...&lt;br /&gt;&lt;br /&gt;Really runs faster than GNU Screen!!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;References&lt;/b&gt;&lt;br /&gt;OSNews, &lt;a href="http://osnews.com/comments/20962"&gt;Stayin' Alive with GNU Screen&lt;/a&gt;, http://osnews.com/comments/20962&lt;br /&gt;mentors.debian.net, &lt;a href="http://mentors.debian.net/debian/pool/main/t/tmux/"&gt;http://mentors.debian.net/debian/pool/main/t/tmux/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-5709535589515196674?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/5709535589515196674/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=5709535589515196674&amp;isPopup=true' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5709535589515196674'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5709535589515196674'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2009/02/tmux-terminal-multiplexer.html' title='tmux - terminal multiplexer'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-1842778995044754085</id><published>2009-02-12T16:15:00.005+08:00</published><updated>2009-02-12T19:04:30.424+08:00</updated><title type='text'>SSH Tunnel memo</title><content type='html'>&lt;pre&gt;ssh -CND ${OUTDOOR_PORT} ${USER}@${REMOTE_SERVER}&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Specifies a port ${OUTDOOR_PORT} forwarding (-D) to ${REMOTE_SERVER} with ${USER}, that without executing the remote commands (-N), and requests all data compressed (-C).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Firefox&lt;br /&gt;Changing its SOCKS Host to localhost and Port to ${OUTDOOR_PORT}.&lt;br /&gt;&lt;br /&gt;Opera&lt;br /&gt;Installing the tsocks, do manipulate with links article.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;References:&lt;br /&gt;1. code in the ruins, &lt;a href="http://code.mogrify.org/2006/07/05/opera-9socks-hack/"&gt;Opera 9/SOCKS hack&lt;/a&gt;, http://code.mogrify.org/2006/07/05/opera-9socks-hack/&lt;br /&gt;2. polishlinux.org, &lt;a href="http://polishlinux.org/apps/ssh-tunneling-to-bypass-corporate-firewalls/"&gt;SSH Tunnels: Bypass (Almost) Any Firewall&lt;/a&gt;, http://polishlinux.org/apps/ssh-tunneling-to-bypass-corporate-firewalls/&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-1842778995044754085?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/1842778995044754085/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=1842778995044754085&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1842778995044754085'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1842778995044754085'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2009/02/ssh-tunnel-memo.html' title='SSH Tunnel memo'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4216498611101145490</id><published>2009-01-01T10:13:00.002+08:00</published><updated>2009-01-01T10:23:16.557+08:00</updated><title type='text'>Why didn't Plan 9 take over the world?</title><content type='html'>&lt;a href="http://www.faqs.org/docs/artu/plan9.html"&gt;Plan 9: The Way the Future Was&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Reasons:&lt;br /&gt;*scanty documentation, much confusion and stumbling over fees and licensing.&lt;br /&gt;* In 2003 it looks like Plan 9 failed simply because it fell short of being a compelling enough improvement on Unix to displace its ancestor.&lt;br /&gt;* Some Plan 9 ideas have been absorbed into modern Unixes, particularly the more innovative open-source versions. FreeBSD has a /proc file system modeled exactly on that of Plan 9 that can be used to query or control running processes.&lt;br /&gt;* Experimental 2003 versions of Linux are implementing per-process mount points, a long step toward Plan 9's private namespaces. &lt;br /&gt;* The various open-source Unixes are all moving toward systemwide support for UTF-8, an encoding actually invented for Plan 9.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Conclusion:&lt;br /&gt;Plan 9 is not good enough to take over to the various unix world.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4216498611101145490?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4216498611101145490/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4216498611101145490&amp;isPopup=true' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4216498611101145490'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4216498611101145490'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2009/01/why-didnt-plan-9-take-over-world.html' title='Why didn&apos;t Plan 9 take over the world?'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-5787833844745623188</id><published>2008-10-18T23:02:00.003+08:00</published><updated>2008-10-18T23:28:32.201+08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='c++'/><title type='text'>Modulus accepts floating type ?</title><content type='html'>Honda asks me a statement about C++ as like below:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;float a, b;&lt;br /&gt;a = 10.5;&lt;br /&gt;b = a % 2;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;First ball, there is a statement error, "2" is a integer data-type, and b is a lvalue expression as a floating type, so that they doesn't match in type manner. The line sould be modify to this:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;b = a % 2.0f;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Second, modulus (%) only accept the integral computing, refer from the &lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2008/n2798.pdf"&gt;C++ Standard draft&lt;/a&gt;, Sec. 5.6, p. 124.&lt;br /&gt;&lt;br /&gt;The conclusion is, modulus doesn't accept the floating data.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;The next question is, how to get the remainder as like the modulus does?&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-5787833844745623188?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/5787833844745623188/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=5787833844745623188&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5787833844745623188'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5787833844745623188'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2008/10/modulus-accepts-floating-type.html' title='Modulus accepts floating type ?'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-8270916139511181304</id><published>2008-06-14T18:18:00.001+08:00</published><updated>2008-06-14T18:20:16.502+08:00</updated><title type='text'>Testing Framework</title><content type='html'>lint, &lt;a href="http://en.wikipedia.org/wiki/Lint_programming_tool"&gt;http://en.wikipedia.org/wiki/Lint_programming_tool&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;splint, &lt;a href="http://en.wikipedia.org/wiki/Splint_%28programming_tool%29"&gt;http://en.wikipedia.org/wiki/Splint_%28programming_tool%29&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;JUnit, &lt;a href="http://en.wikipedia.org/wiki/JUnit"&gt;http://en.wikipedia.org/wiki/JUnit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;CPPUnit, &lt;a href="http://cppunit.sourceforge.net/cppunit-wiki"&gt;http://cppunit.sourceforge.net/cppunit-wiki&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-8270916139511181304?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/8270916139511181304/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=8270916139511181304&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8270916139511181304'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8270916139511181304'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2008/06/testing-framework.html' title='Testing Framework'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-2459226010564647568</id><published>2008-02-03T18:14:00.000+08:00</published><updated>2008-02-03T18:17:39.468+08:00</updated><title type='text'>MapReduce</title><content type='html'>&lt;a href="http://groups.google.com/group/ntucsie-parallel-programming-2008?hl=zh-TW"&gt;NTUCSIE Parallel Programming 2008&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://research.google.com/archive/mapreduce.html"&gt;MapReduce: Simplified Data Processing on Large Clusters&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://research.google.com/people/jeff/index.html"&gt;Jeffrey Dean&lt;/a&gt;, Google Fellow&lt;br /&gt;&lt;a href="http://research.google.com/people/sanjay/index.html"&gt;Sanjay Ghemawat&lt;/a&gt;, Google Fellow&lt;br /&gt;&lt;br /&gt;&lt;a href="http://research.google.com/"&gt;Google Research&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-2459226010564647568?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/2459226010564647568/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=2459226010564647568&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/2459226010564647568'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/2459226010564647568'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2008/02/mapreduce.html' title='MapReduce'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-5108213603181146994</id><published>2008-02-01T10:58:00.000+08:00</published><updated>2008-02-01T11:02:21.288+08:00</updated><title type='text'>St about CFS</title><content type='html'>&lt;a href="http://www.ibm.com/developerworks/linux/library/l-cfs/?ca=dgr-lnxw04CFC4Linux"&gt;Multiprocessing with the Completely Fair Scheduler&lt;/a&gt;&lt;br /&gt;&lt;a href="http://kerneltrap.org/node/8208"&gt;Discussing the Completely Fair Scheduler&lt;/a&gt;&lt;br /&gt;&lt;a href="http://kerneltrap.org/node/517"&gt;Interview: Ingo Molnar&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-5108213603181146994?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/5108213603181146994/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=5108213603181146994&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5108213603181146994'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5108213603181146994'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2008/02/st-about-cfs.html' title='St about CFS'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-8734824196209832355</id><published>2007-12-06T16:29:00.000+08:00</published><updated>2007-12-06T16:30:10.755+08:00</updated><title type='text'>SPARC: What to Do if You Forgot Root Password</title><content type='html'>&lt;a href="http://docs.sun.com/app/docs/doc/817-0403/gcbwe?a=view"&gt;SPARC: What to Do if You Forgot Root Password&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;(Use keyboard abort sequence--Press Stop A keys to stop the system)&lt;br /&gt;ok boot net -s&lt;br /&gt;# mount /dev/dsk/c0t3d0s0 /a&lt;br /&gt;# cd /a/etc&lt;br /&gt;# TERM=vt100&lt;br /&gt;# export TERM&lt;br /&gt;# vi shadow&lt;br /&gt;(Remove root's encrypted password string)&lt;br /&gt;# cd /&lt;br /&gt;# umount /a&lt;br /&gt;# init 6&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-8734824196209832355?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/8734824196209832355/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=8734824196209832355&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8734824196209832355'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8734824196209832355'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/12/sparc-what-to-do-if-you-forgot-root.html' title='SPARC: What to Do if You Forgot Root Password'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4895692808179132688</id><published>2007-12-05T21:26:00.001+08:00</published><updated>2007-12-05T21:26:57.468+08:00</updated><title type='text'>Quota setting of Linux &amp; BSD</title><content type='html'>這四天連續看了 Linux 和 FreeBSD 的手冊，設定 quota，今晚的進度即將邁入 Solaris；都是為了推廣系上得 Unix-account Service，所以需要給每位使用者 quota limit。以下寫下個別的心得。&lt;br /&gt;&lt;br /&gt;對於 Linux，是我最熟悉的系統，之前有設定過一次，可是出現錯誤，當下沒有立即排除，造成這次閱讀的時候釐清了一些原本誤解的觀念。例如，Quota 是 kernel mode 的功能，我有一種感覺一直以為要 dependence on HW；要怎樣的 quota limit 就得割一個 partition 給設定檔，一時腦筋轉不過來。既然都是軟體實做了，這些硬體的問題都會克服的。&lt;br /&gt;&lt;br /&gt;接著，Venus 是跑 GNU/Debian Linux，大約花了三個小時設定，釐清觀念，事後很開心，翻起 FreeBSD Handbook 接著看。&lt;br /&gt;&lt;br /&gt;FreeBSD 是 CoreDure Quad 的壯壯機，fBSD 對於我來說是個新系統，先前的成功經驗，加上對 fBSD 的新鮮感，所以猛看手冊。上次的進度停留在 Ch.4，今天大約花了五個小時，一直看到完。我沒那麼神，中間有些東西我不感興趣，例如 printer setting 還有 networking setting，所以就 skip into next lol。早上開始逐章讀，興致全開，竟然編起 FreeBSD Kernel，我真的很開心，因為學到不少新東西。之前見到 &lt;a href="http://www.afoofa.info/blog/"&gt;afoofa&lt;/a&gt; 說 Linux 的 make menuconfig is such friendy to her, but the interface FreeBSD is a little bit bored and monolithic. 但是我反而覺得 Handbook 教的很詳細，我很感謝 maintainer 把文件寫的那麼清楚，一一介紹，讓我觀念清楚明瞭，可以放心地跟著進度走。&lt;br /&gt;&lt;br /&gt;今天編 kernel 都沒有 booting failure，真開心。不過還沒很確定是否要這麼做 make clean cleandepend depend buildkernel installkernel，前面三個步驟是我比較不清楚的。Durning making the source tree, I've found a interesting function, had before in Linux, that is -j, menas make "make" to does something in parallel. And my best argument is "16", not "32". It earns more and more time-saving and performance.&lt;br /&gt;&lt;br /&gt;中午吃完飯，一度沉迷在 SMP 的 option。先說的，這篇 &lt;a href="http://people.freebsd.org/~fsmp/SMP/getstarted.html"&gt;Installing the FreeBSD SMP Kernel&lt;/a&gt; 已經過期了，裡面的 &lt;code&gt;APIC_IO, NCPU, NBUS, NAPIC&lt;/code&gt; 都已經在 6.2 kernel 失效了，只需要指定 &lt;code&gt;SMP&lt;/code&gt; 就行了。&lt;br /&gt;&lt;br /&gt;接著，我又病發了，開始找 SMP 的實做時比較早，心中一直有個感覺，逐漸推翻 FreeBSD 優於 Linux 的看法。Linux 很多人送 code &amp; patch，FreeBSD 則是人數沒有那麼多，而且 Linux 有不少商業公司背書，燒錢改善 Linux。不過，現在下定論還太早，因為各有可取之處。謂之：「量才適性，學而不倦」。&lt;br /&gt;&lt;br /&gt;我現在找到最早的 Linux SMP 是 2.0 加入的，1996。而 FreeBSD 是 5.0, in 2003 推出。不過，我也有看見 1986 就在寫的，不知道正確與否。&lt;br /&gt;&lt;br /&gt;後來，有個疑問：如果 OS kernel has no SMP supports, can program run as parallel, as like MP? 後來想到，如果 OS 沒有 SMP，四隻 folding@home process 會平分一個 CPU 資源，而有 SMP 的話，每隻都是跑到 99.8% 左右。哈哈～ 可是這又不是純 MP，如果用 icc 編的話，應該也會得到同樣的結果。&lt;br /&gt;&lt;br /&gt;好奇 kernel 怎麼知道是 SMP-type cpu，用 asm does detect?&lt;br /&gt;&lt;br /&gt;另一支 BSD Family 就是 Solaris，我一直覺得上面的 utilities 功能都不健全，Linux 算是最健全的，fBSD 其次，Solaris 最少。我看，說不定 AIX, IRIX, HP-UP 更少呢～ 可是，也必須承認，因為硬體特性的關係，這些大廠都寫了很多東西支援，是一般 i386 OS (Linux, fBSD) 不會去實做的。&lt;br /&gt;&lt;br /&gt;光是 Solaris 要設定 quota 的手冊就翻了兩本，因為要 refer，加上我也對它不熟，所以今天眼睛累，手指也酸了，就先暫擱吧。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4895692808179132688?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4895692808179132688/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4895692808179132688&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4895692808179132688'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4895692808179132688'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/12/quota-setting-of-linux-bsd.html' title='Quota setting of Linux &amp; BSD'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-3663391968799693068</id><published>2007-10-22T13:41:00.000+08:00</published><updated>2007-10-22T13:42:31.393+08:00</updated><title type='text'>find -exec vs xargs</title><content type='html'>之前小州 kenduest 有說過這方面的比較，可是不清楚原因，原來就是這麼一回事！&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.sunmanagers.org/pipermail/summaries/2005-March/006255.html"&gt;SUMMARY - find -exec vs xargs&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-3663391968799693068?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/3663391968799693068/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=3663391968799693068&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3663391968799693068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3663391968799693068'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/10/find-exec-vs-xargs.html' title='find -exec vs xargs'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-8569450468607162798</id><published>2007-10-22T13:25:00.000+08:00</published><updated>2007-10-22T13:26:16.049+08:00</updated><title type='text'>Howto: Use tar command through network over ssh session</title><content type='html'>&lt;a href="http://www.cyberciti.biz/faq/howto-use-tar-command-through-network-over-ssh-session/"&gt;Howto: Use tar command through network over ssh session&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;tar cf - /foo1 | ssh ffoo@192.168.1.201 "cat &gt; /backup/wwwdata.tar.gz"&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-8569450468607162798?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/8569450468607162798/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=8569450468607162798&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8569450468607162798'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8569450468607162798'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/10/howto-use-tar-command-through-network.html' title='Howto: Use tar command through network over ssh session'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-1977217137070147485</id><published>2007-10-15T11:00:00.000+08:00</published><updated>2007-10-15T11:05:58.054+08:00</updated><title type='text'>MSDNAA Notes</title><content type='html'>* &lt;a href="http://support.microsoft.com/default.aspx?scid=kb;en-us;299840"&gt;How to use Sysprep with Windows Product Activation or Volume License Media to deploy Windows XP&lt;/a&gt;&lt;br /&gt;* &lt;a href="http://www.microsoft.com/licensing/resources/vol/volumelicensekey/default.mspx"&gt;Volume License Keys&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-1977217137070147485?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/1977217137070147485/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=1977217137070147485&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1977217137070147485'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1977217137070147485'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/10/msdnaa-notes.html' title='MSDNAA Notes'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-1082635956835063796</id><published>2007-09-24T11:14:00.000+08:00</published><updated>2007-09-24T11:19:10.421+08:00</updated><title type='text'>Ptt 的功能未來可能性</title><content type='html'>Why Use Parallel Computing?&lt;br /&gt;*Other reasons might include:&lt;br /&gt;**Overcoming memory constraints - single computers have very finite memory resources. For large problems, using the memories of multiple computers may overcome this obstacle.&lt;br /&gt;&lt;br /&gt;用 MPI 實做應該可行，不用特地買一台 20,000 NT 的 quad cores 機器。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-1082635956835063796?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/1082635956835063796/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=1082635956835063796&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1082635956835063796'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1082635956835063796'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/09/ptt.html' title='Ptt 的功能未來可能性'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-9155514448853819064</id><published>2007-09-22T22:25:00.000+08:00</published><updated>2007-09-22T22:26:54.374+08:00</updated><title type='text'>"The C Programming Language",  Answers to Exercises</title><content type='html'>原來有這個東西，之前就開始寫了，只是後來不知道怎麼對答案，所以就沒有繼續了。有空拿出來把範例全寫完吧！&lt;br /&gt;&lt;br /&gt;&lt;a href="http://users.powernet.co.uk/eton/kandr2/index.html"&gt;Answers to Exercises&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-9155514448853819064?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/9155514448853819064/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=9155514448853819064&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/9155514448853819064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/9155514448853819064'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/09/c-programming-language-answers-to.html' title='&quot;The C Programming Language&quot;,  Answers to Exercises'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-8979481213624994719</id><published>2007-09-22T22:07:00.000+08:00</published><updated>2007-09-22T22:13:31.399+08:00</updated><title type='text'>Heredoc</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Here_document"&gt;Heredoc&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;?php&lt;br /&gt;class foo {&lt;br /&gt;    public $bar = &lt;&lt;&lt;EOT&lt;br /&gt;bar&lt;br /&gt;EOT;&lt;br /&gt;}&lt;br /&gt;?&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;* &lt;a href="http://www.microsoft.com/windowsserver2003/technologies/management/powershell/default.mspx"&gt;Windows PowerShell&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-8979481213624994719?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/8979481213624994719/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=8979481213624994719&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8979481213624994719'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8979481213624994719'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/09/heredoc.html' title='Heredoc'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-384218134389784617</id><published>2007-09-16T16:34:00.000+08:00</published><updated>2007-09-16T16:50:54.306+08:00</updated><title type='text'>MVC - Model-view-controller</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Model-view-controller"&gt;Model-view-controller&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Model-view-controller (MVC) is an architectural pattern used in software engineering. In complex computer applications that present a large amount of data to the user, a developer often wishes to separate data (model) and user interface (view) concerns, so that changes to the user interface will not affect data handling, and that the data can be reorganized without changing the user interface. The model-view-controller solves this problem by decoupling data access and business logic from data presentation and user interaction, by introducing an intermediate component: the controller.&lt;br /&gt;&lt;br /&gt;Perl::Catalyst&lt;br /&gt;Perl::Jifty&lt;br /&gt;PHP::CakePHP&lt;br /&gt;PHP::Zend Framework&lt;br /&gt;&lt;br /&gt;The brief is a good brief of wikipedia, I love its style forever.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-384218134389784617?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/384218134389784617/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=384218134389784617&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/384218134389784617'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/384218134389784617'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/09/mvc-model-view-controller.html' title='MVC - Model-view-controller'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-279422026317718408</id><published>2007-09-16T15:36:00.000+08:00</published><updated>2007-09-16T15:37:21.868+08:00</updated><title type='text'>cd2iso</title><content type='html'>&lt;a href="http://www.geocities.com/h2428/ceco/winiso.html"&gt;The magic of creating CD ISO files under Windows&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;/* This program has been compiled with VC6 and tested under Windows XP SP2 */&lt;br /&gt;  #include &lt;stdio.h&gt;&lt;br /&gt;  #include &lt;share.h&gt;&lt;br /&gt;&lt;br /&gt;  int main ( int argc, char ** argv )&lt;br /&gt;  {&lt;br /&gt;    FILE * f, * out;&lt;br /&gt;    char buf[512];&lt;br /&gt;    unsigned len;&lt;br /&gt;&lt;br /&gt;    if (argc != 2)&lt;br /&gt;    {&lt;br /&gt;      fprintf( stderr, "Syntax: rdiso filename\n" );&lt;br /&gt;      return 1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    if ( (f = _fsopen( "\\\\?\\CdRom0", "rb", _SH_DENYNO )) == NULL)&lt;br /&gt;    {&lt;br /&gt;      fprintf( stderr, "Can't open CdRom0\n" );&lt;br /&gt;      return 1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    if ( (out = fopen( argv[1], "wb" )) == NULL)&lt;br /&gt;    {&lt;br /&gt;      fprintf( stderr, "Can't open %s\n", argv[1] );&lt;br /&gt;      return 1;&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    do&lt;br /&gt;    {&lt;br /&gt;      len = fread( buf, 1, sizeof(buf), f );&lt;br /&gt;      if (len)&lt;br /&gt;        fwrite( buf, 1, len, out );&lt;br /&gt;    }&lt;br /&gt;    while (len == sizeof(buf));&lt;br /&gt;    fclose( f );&lt;br /&gt;    fclose( out );&lt;br /&gt;    return 0;&lt;br /&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-279422026317718408?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/279422026317718408/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=279422026317718408&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/279422026317718408'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/279422026317718408'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/09/cd2iso.html' title='cd2iso'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4460600542315180929</id><published>2007-09-14T17:39:00.000+08:00</published><updated>2007-09-14T17:41:43.075+08:00</updated><title type='text'></title><content type='html'>&lt;a href="http://www.oreilly.com/catalog/cfreebsd/"&gt;&lt;img src="http://www.oreilly.com/catalog/covers/0596005164_cat.gif"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In the book, "&lt;a href="http://www.lemis.com/grog/Documentation/CFBSD/"&gt;The Complete FreeBSD&lt;/a&gt;", wrote,&lt;br /&gt;&lt;br /&gt;“Those Linux books hve over1000 pages! This looks like nothing. What can you do? We need something &lt;i&gt;yesterday!&lt;/i&gt;”&lt;br /&gt;&lt;br /&gt;Haha~~&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4460600542315180929?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4460600542315180929/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4460600542315180929&amp;isPopup=true' title='3 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4460600542315180929'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4460600542315180929'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/09/in-book-complete-freebsd-wrote-those.html' title=''/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-2178457904223222499</id><published>2007-09-07T22:28:00.000+08:00</published><updated>2007-09-07T22:31:29.367+08:00</updated><title type='text'>莫名其妙...</title><content type='html'>1 + 8 + 16 + 32 + 64 = 121 cores&lt;br /&gt;&lt;br /&gt;開心～～～～～～～～～ :D&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.cse.psu.edu/~teranish/ri_02.html"&gt;&lt;img src="http://www.cse.psu.edu/~teranish/img/parallel.jpg"&gt;&lt;/img&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-2178457904223222499?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/2178457904223222499/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=2178457904223222499&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/2178457904223222499'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/2178457904223222499'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/09/blog-post.html' title='莫名其妙...'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-8909647299106259168</id><published>2007-09-06T16:24:00.001+08:00</published><updated>2007-09-06T16:24:36.967+08:00</updated><title type='text'>ssh-copy-id</title><content type='html'>&lt;pre&gt;&lt;br /&gt;ssh-copy-id - install your identity.pub in a remote machine’s authorized_keys&lt;br /&gt;&lt;br /&gt;ssh-copy-id [-i [identity_file]] [user@]machine&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-8909647299106259168?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/8909647299106259168/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=8909647299106259168&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8909647299106259168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8909647299106259168'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/09/ssh-copy-id.html' title='ssh-copy-id'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-8345978091446582679</id><published>2007-09-05T12:06:00.000+08:00</published><updated>2007-09-05T12:09:21.468+08:00</updated><title type='text'>Never have it again!!!</title><content type='html'>&lt;pre&gt;&lt;br /&gt;int** ptr = malloc( sizeof(int) * SIZE );&lt;br /&gt;char** ptr = malloc( sizeof(char) * SIZE );&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;WRONG&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;int** ptr = malloc( sizeof(int**) * SIZE );&lt;br /&gt;char** ptr = malloc( sizeof(char**) * SIZE );&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;RIGHT&lt;/b&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-8345978091446582679?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/8345978091446582679/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=8345978091446582679&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8345978091446582679'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8345978091446582679'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/09/never-have-it-again.html' title='Never have it again!!!'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-8734301873645979870</id><published>2007-08-30T14:19:00.000+08:00</published><updated>2007-08-30T14:24:44.484+08:00</updated><title type='text'>Links in Today</title><content type='html'>&lt;a href="http://swtch.com/~rsc/"&gt;Russ Cox&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-8734301873645979870?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/8734301873645979870/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=8734301873645979870&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8734301873645979870'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8734301873645979870'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/links-in-today_30.html' title='Links in Today'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-7208483863755015446</id><published>2007-08-25T13:25:00.000+08:00</published><updated>2007-08-25T13:30:16.352+08:00</updated><title type='text'>Links in Today</title><content type='html'>&lt;a href="http://www.open-std.org/jtc1/sc22/wg21/docs/18015.html"&gt;Technical Report on C++ Performance&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-7208483863755015446?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/7208483863755015446/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=7208483863755015446&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7208483863755015446'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7208483863755015446'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/links-in-today_25.html' title='Links in Today'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6031026471423003802</id><published>2007-08-22T18:08:00.000+08:00</published><updated>2007-08-22T18:09:31.380+08:00</updated><title type='text'>Linux Networking-HOWTO</title><content type='html'>&lt;a href="http://linux.cis.nctu.edu.tw/LDP/HOWTO/NET3-4-HOWTO-5.html#ss5.7"&gt;5.7 Routing.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6031026471423003802?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6031026471423003802/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6031026471423003802&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6031026471423003802'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6031026471423003802'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/linux-networking-howto.html' title='Linux Networking-HOWTO'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-507892790408742980</id><published>2007-08-22T11:11:00.001+08:00</published><updated>2007-08-22T11:11:27.757+08:00</updated><title type='text'>You cannot modify the Hosts file or the Lmhosts file in Windows Vista</title><content type='html'>&lt;a href="http://support.microsoft.com/kb/923947"&gt;You cannot modify the Hosts file or the Lmhosts file in Windows Vista&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;WORKAROUND&lt;br /&gt;To work around this issue, follow these steps:&lt;br /&gt;1. Click Start Start button , click All Programs, click Accessories, right-click Notepad, and then click Run as administrator.&lt;br /&gt;&lt;br /&gt;User Account Control permission If you are prompted for an administrator password or for a confirmation, type the password, or click Allow.&lt;br /&gt;2. Open the Hosts file or the Lmhosts file, make the necessary changes, and then click Save on the Edit menu.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-507892790408742980?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/507892790408742980/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=507892790408742980&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/507892790408742980'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/507892790408742980'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/you-cannot-modify-hosts-file-or-lmhosts.html' title='You cannot modify the Hosts file or the Lmhosts file in Windows Vista'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4432004289149878510</id><published>2007-08-22T10:51:00.000+08:00</published><updated>2007-08-22T10:52:30.520+08:00</updated><title type='text'>Links in Today</title><content type='html'>&lt;a href="http://fabrice.bellard.free.fr/qemu/kqemu-doc.html"&gt;kqemu&lt;/a&gt;, QEMU Accelerator modules&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.yolinux.com/TUTORIALS/unix_for_dos_users.html"&gt;alias&lt;/a&gt; in dos, use the doskey.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4432004289149878510?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4432004289149878510/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4432004289149878510&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4432004289149878510'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4432004289149878510'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/links-in-today_22.html' title='Links in Today'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6506503387160658949</id><published>2007-08-21T16:06:00.001+08:00</published><updated>2007-08-21T16:29:28.475+08:00</updated><title type='text'>libmtsk.so</title><content type='html'>Forbestperformanceandfunctionality,makesurethatthelatestOpenMPruntimelibrary,&lt;br /&gt;&lt;b&gt;libmtsk.so&lt;/b&gt;,isinstalled on the running system.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;How can I find out the libmtsk.so. :(&lt;br /&gt;&lt;br /&gt;Haha~~ have the patch for old-school. :D&lt;br /&gt;&lt;br /&gt;&lt;a href="http://sunsolve.sun.com/search/document.do?assetkey=1-21-117560-06-1"&gt;SunOS 5.9: Microtasking libraries (libmtsk) patch&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6506503387160658949?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6506503387160658949/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6506503387160658949&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6506503387160658949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6506503387160658949'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/libmtskso.html' title='libmtsk.so'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-5393085470041547603</id><published>2007-08-20T19:24:00.000+08:00</published><updated>2007-08-20T19:30:42.476+08:00</updated><title type='text'>Algorithm for square matrix multiplication</title><content type='html'>The trivial: O(n^3)&lt;br /&gt;The Strassen: O(n^2.807)&lt;br /&gt;The &lt;a href="http://en.wikipedia.org/wiki/Coppersmith%E2%80%93Winograd_algorithm"&gt;fastest&lt;/a&gt;*: O(n^2.376)&lt;br /&gt;&lt;br /&gt;As the Strassen algorithm [ http://0rz.tw/bf2Xo ] mentioned:&lt;br /&gt;&lt;b&gt;&lt;br /&gt;The reduction in the number of multiplications however comes at the price of a somewhat reduced &lt;a href="http://en.wikipedia.org/wiki/Numeric_stability"&gt;numeric stability&lt;/a&gt;.&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;* Coppersmith–Winograd algorithm&lt;br /&gt;Reference:&lt;br /&gt;&lt;br /&gt;*The Simultaneous Triple Product Property and Group-theoretic Results for the Exponent of Matrix Multiplication, &lt;a href="http://arxiv.org/abs/cs.CS/0703145"&gt;arXiv:cs.CS/0703145&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-5393085470041547603?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/5393085470041547603/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=5393085470041547603&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5393085470041547603'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5393085470041547603'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/algorithm-for-square-matrix.html' title='Algorithm for square matrix multiplication'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-433880354946647960</id><published>2007-08-19T14:34:00.000+08:00</published><updated>2007-08-19T14:36:38.681+08:00</updated><title type='text'>Links in Today</title><content type='html'>&lt;a href="http://developers.sun.com/solaris/articles/chip_multi_thread.html"&gt; Improving Application Efficiency Through Chip Multi-Threading&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;2.1.1.8 Multi-Threaded malloc &lt;br /&gt;&lt;br /&gt;malloc and free are single-threaded operations and are among the bottlenecks for multi-threaded applications. A multi-threaded malloc scales with multi-threaded requests and can improve multi-threaded application performance. The Solaris OS has two types of multi-threaded malloc libraries, mt-malloc and umem. &lt;br /&gt;&lt;br /&gt;2.1.1.8.1 Usage &lt;br /&gt;&lt;br /&gt;a. Using mt-malloc: &lt;br /&gt;LD_PRELOAD=libmtmalloc.so&lt;br /&gt;&lt;br /&gt;b. Using libumem: &lt;br /&gt;LD_PRELOAD=libumem.so&lt;br /&gt;&lt;br /&gt;cc [ flag... ] file... -lumem [ library... ]&lt;br /&gt;&lt;br /&gt;跟我的想法是一樣的，因為開矩陣還是需要很多時間的。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-433880354946647960?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/433880354946647960/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=433880354946647960&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/433880354946647960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/433880354946647960'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/links-in-today_19.html' title='Links in Today'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6968101384841089453</id><published>2007-08-16T18:22:00.000+08:00</published><updated>2007-08-16T18:23:16.029+08:00</updated><title type='text'>Ethernet Codes: Vendor codes</title><content type='html'>&lt;a href="http://www.cavebear.com/archive/cavebear/Ethernet/vendor.html"&gt;Ethernet Codes: Vendor codes&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6968101384841089453?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6968101384841089453/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6968101384841089453&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6968101384841089453'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6968101384841089453'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/ethernet-codes-vendor-codes.html' title='Ethernet Codes: Vendor codes'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6946690684982122093</id><published>2007-08-16T13:54:00.001+08:00</published><updated>2007-08-16T13:54:43.381+08:00</updated><title type='text'>Grid Topics</title><content type='html'>&lt;a href="http://www.globus.org/"&gt;The Globus Alliance&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6946690684982122093?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6946690684982122093/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6946690684982122093&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6946690684982122093'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6946690684982122093'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/grid-topics.html' title='Grid Topics'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4331928660571380192</id><published>2007-08-16T10:37:00.000+08:00</published><updated>2007-08-16T10:40:10.030+08:00</updated><title type='text'>gen()</title><content type='html'>&lt;pre&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;stdlib.h&gt;&lt;br /&gt;&lt;br /&gt;#define         N1      5000&lt;br /&gt;#define         N2      5000&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void gen( int** a, int** b)&lt;br /&gt;{&lt;br /&gt;        int i, j;&lt;br /&gt;        for (i = 0; i &lt; N1; i++) {&lt;br /&gt;                for (j = 0; j &lt; N2; j++) {&lt;br /&gt;                        srand( 0 );&lt;br /&gt;                        a[i][j] = rand() % 5 + 1;&lt;br /&gt;                        srand( 1 );&lt;br /&gt;                        b[i][j] = rand() % 5 + 1;&lt;br /&gt;                }&lt;br /&gt;                //printf("i: %d\n", i);&lt;br /&gt;        }&lt;br /&gt;        pthread_exit(NULL);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void mul( int** a, int** b)&lt;br /&gt;{&lt;br /&gt;        int i, j, k;&lt;br /&gt;        int c[N1][N2];&lt;br /&gt;&lt;br /&gt;        for (i = 0; i &lt; N1; i++) {&lt;br /&gt;                for (j = 0;j &lt; N2; j++) {&lt;br /&gt;                        c[i][j] = 0;&lt;br /&gt;                        for (k = 0; k &lt; N1; k++)&lt;br /&gt;                                c[i][j] += a[i][k] * b[k][j];&lt;br /&gt;                        //printf("%d\t", c[i][j]);&lt;br /&gt;                }&lt;br /&gt;                //printf("\n");&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int main(int argc, char *argv[])&lt;br /&gt;{&lt;br /&gt;        int** a = NULL;&lt;br /&gt;        int** b = NULL;&lt;br /&gt;        int** c = NULL;&lt;br /&gt;&lt;br /&gt;        a = (int**) malloc( sizeof(int) * N1 * N2);&lt;br /&gt;        b = (int**) malloc( sizeof(int) * N1 * N2);&lt;br /&gt;        c = (int**) malloc( sizeof(int) * N1 * N2);&lt;br /&gt;&lt;br /&gt;        pthread_t* thread = NULL;&lt;br /&gt;        thread = (pthread_t*) malloc( sizeof(pthread_t) * N1);&lt;br /&gt;        int result;&lt;br /&gt;&lt;br /&gt;        int i;&lt;br /&gt;        for (i = 0; i &lt; N1; i++) {&lt;br /&gt;                a[i] = (int *) malloc( sizeof(int) * N2);&lt;br /&gt;                b[i] = (int *) malloc( sizeof(int) * N2);&lt;br /&gt;                c[i] = (int *) malloc( sizeof(int) * N2);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        gen(a, b);&lt;br /&gt;&lt;br /&gt;        return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;$ gcc m1.c &amp;&amp; time ./a.out&lt;br /&gt;&lt;br /&gt;real    3m55.660s&lt;br /&gt;user    3m55.391s&lt;br /&gt;sys     0m0.184s&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This result without threading.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4331928660571380192?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4331928660571380192/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4331928660571380192&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4331928660571380192'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4331928660571380192'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/gen.html' title='gen()'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-1293273317391414904</id><published>2007-08-13T17:40:00.000+08:00</published><updated>2007-08-13T17:41:29.061+08:00</updated><title type='text'>Links in Today</title><content type='html'>&lt;a href="http://www.128kb.com/"&gt;http://www.128kb.com/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-1293273317391414904?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/1293273317391414904/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=1293273317391414904&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1293273317391414904'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1293273317391414904'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/links-in-today.html' title='Links in Today'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6256827558288475624</id><published>2007-08-13T16:51:00.000+08:00</published><updated>2007-08-13T16:52:10.690+08:00</updated><title type='text'>[C], Dynamic Memory Allocation</title><content type='html'>&lt;a href="http://en.allexperts.com/q/C-1587/memory-allocation-7.htm"&gt;memory allocation&lt;br /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6256827558288475624?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6256827558288475624/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6256827558288475624&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6256827558288475624'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6256827558288475624'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/c-dynamic-memory-allocation.html' title='[C], Dynamic Memory Allocation'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-3949430372991081104</id><published>2007-08-13T11:54:00.001+08:00</published><updated>2007-08-13T11:54:55.532+08:00</updated><title type='text'>IP alias</title><content type='html'>&lt;a href="http://linux-ip.net/html/"&gt;Guide to IP Layer Network Administration with Linux&lt;/a&gt;&lt;br /&gt;&lt;a href="http://pachome1.pacific.net.sg/~harish/linuxipalias.html"&gt;Mini How-to on Setting Up IP Aliasing On A Linux Machine&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-3949430372991081104?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/3949430372991081104/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=3949430372991081104&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3949430372991081104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3949430372991081104'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/ip-alias.html' title='IP alias'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-1852380943837883694</id><published>2007-08-13T11:28:00.000+08:00</published><updated>2007-08-13T11:29:08.844+08:00</updated><title type='text'>About:config entries</title><content type='html'>&lt;a href="http://kb.mozillazine.org/Firefox_:_FAQs_:_About:config_Entries"&gt;About:config entries&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-1852380943837883694?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/1852380943837883694/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=1852380943837883694&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1852380943837883694'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1852380943837883694'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/aboutconfig-entries.html' title='About:config entries'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-2918994373210133914</id><published>2007-08-12T20:10:00.000+08:00</published><updated>2007-08-12T20:12:08.807+08:00</updated><title type='text'></title><content type='html'>&lt;pre&gt;&lt;br /&gt;#include &amp;lt;pthread.h&amp;gt;&lt;br /&gt;#include &amp;lt;stdio.h&amp;gt;&lt;br /&gt;&lt;br /&gt;#define         N       10&lt;br /&gt;&lt;br /&gt;void *test(void *c)&lt;br /&gt;{&lt;br /&gt;        printf("\tI am thread: %d\n", (int)c);&lt;br /&gt;        pthread_exit(NULL);&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;        int i, result;&lt;br /&gt;        pthread_t t[N];&lt;br /&gt;&lt;br /&gt;        for(i = 0; i &lt; N; i++) {&lt;br /&gt;                result = pthread_create(&amp;t[i], NULL, test, (void *)(i));&lt;br /&gt;                if (result)&lt;br /&gt;                        printf("Cannot do create.\n");&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;出來每次結果都不同。 :( 需要明確地等待&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-2918994373210133914?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/2918994373210133914/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=2918994373210133914&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/2918994373210133914'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/2918994373210133914'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/include-include-define-n-10-void.html' title=''/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6602497805242874910</id><published>2007-08-12T19:25:00.000+08:00</published><updated>2007-08-12T19:26:36.078+08:00</updated><title type='text'>BlueGene/L Apply Form</title><content type='html'>&lt;a href="http://www.llnl.gov/asc/computing_resources/bluegenel/using.html"&gt;Using BG/L&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6602497805242874910?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6602497805242874910/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6602497805242874910&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6602497805242874910'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6602497805242874910'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/bluegenel-apply-form.html' title='BlueGene/L Apply Form'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-676547258959143268</id><published>2007-08-12T13:50:00.001+08:00</published><updated>2007-08-13T10:51:32.670+08:00</updated><title type='text'>Cluster Building</title><content type='html'>&lt;a href="http://formosa.nchc.org.tw/"&gt;NCHC Formosa PC Cluster&lt;/a&gt;, 感覺親切。&lt;br /&gt;&lt;a href="http://140.110.2.200/workshop.htm"&gt;研討會資料&lt;/a&gt;, HP 64bit Cluster&lt;br /&gt;&lt;a href="http://www.nchc.org.tw/htdocs/outside_service/hardware/"&gt;硬體資料&lt;/a&gt;&lt;br /&gt;&lt;a href="http://pccluster.nchc.org.tw/main/"&gt;NCHC PC Cluster&lt;/a&gt;&lt;br /&gt;&lt;a href="http://pccluster.nchc.org.tw/xoops/"&gt;國家高速網路與計算中心-PC Cluster 討論區&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.hpc.csie.thu.edu.tw/"&gt;HIGH PERFORMANCE COMPUTING LAB. // 高效能計算實驗室 //&lt;/a&gt;, 東海大學&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.feyrer.de/marathon-cluster/intro-en.html"&gt; Reaching the Goal with the Regensburg Marathon-Cluster&lt;/a&gt;, Hubert Feyrer&lt;br /&gt;&lt;a href="http://www.llnl.gov/computing/hpc/training/"&gt;High Performance Computing Training&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Books,&lt;br /&gt;*&lt;a href="http://mitpress.mit.edu/catalog/item/default.asp?ttype=2&amp;tid=9947"&gt;Beowulf Cluster Computing with Linux&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ec1.images-amazon.com/images/I/51HVMF2TGDL._SS500_.jpg"&gt;&lt;/img&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*&lt;a href="http://www.amazon.com/Parallel-Programming-Techniques-Applications-Workstations/dp/0131405632/ref=pd_bbs_sr_1/105-4044637-7173264?ie=UTF8&amp;s=books&amp;qid=1186899701&amp;sr=1-1"&gt;Parallel Programming: Techniques and Applications Using Networked Workstations and Parallel Computers&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ec1.images-amazon.com/images/I/51WTXPBFT8L.jpg"&gt;&lt;/img&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*&lt;a href="http://www.amazon.com/Introduction-Parallel-Computing-Analysis-Algorithms/dp/0201648652/ref=pd_bbs_sr_1/105-4044637-7173264?ie=UTF8&amp;s=books&amp;qid=1186899860&amp;sr=1-1"&gt;An Introduction to Parallel Computing: Design and Analysis of Algorithms&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src="http://ec1.images-amazon.com/images/I/51F15GY6T7L._SS500_.jpg"&gt;&lt;/img&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-676547258959143268?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/676547258959143268/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=676547258959143268&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/676547258959143268'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/676547258959143268'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/cluster-building.html' title='Cluster Building'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6380901189109634424</id><published>2007-08-12T12:52:00.000+08:00</published><updated>2007-08-12T12:59:46.408+08:00</updated><title type='text'>Passing Multidimensional Arrays</title><content type='html'>&lt;pre&gt;&lt;br /&gt;#include &amp;lt;iostream&amp;gt;&lt;br /&gt;using std::cout;&lt;br /&gt;&lt;br /&gt;void print_m35(int m[3][5]);&lt;br /&gt;void print_mi5(int m[][5], int dim1);&lt;br /&gt;//void print_mij_(int m[][], int dim1, int dim2);&lt;br /&gt;void print_mij(int* m, int dim1, int dim2);&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;void print_m35(int m[3][5])&lt;br /&gt;{&lt;br /&gt;        for (int i = 0; i &lt; 3; i++) {&lt;br /&gt;                for (int j = 0; j &lt; 5; j++) cout &lt;&lt; m[i][j] &lt;&lt; '\t';&lt;br /&gt;                cout &lt;&lt; '\n';&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void print_mi5(int m[][5], int dim1)&lt;br /&gt;{&lt;br /&gt;        for (int i = 0; i &lt; dim1; i++)&lt;br /&gt;                for (int j = 0; j &lt; 5; j++) cout &lt;&lt; m[i][j] &lt;&lt; '\t';&lt;br /&gt;                cout &lt;&lt; '\n';&lt;br /&gt;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;/*&lt;br /&gt;void print_mij_(int m[][], int dim1, int dim2)&lt;br /&gt;{&lt;br /&gt;        for (int i = 0; i &lt; dim1; i++) {&lt;br /&gt;                for (int j = 0; j &lt; dim2; j++) cout &lt;&lt; [i][j] &lt;&lt; '\t';&lt;br /&gt;                cout &lt;&lt; '\n';&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;*/&lt;br /&gt;&lt;br /&gt;void print_mij(int* m, int dim1, int dim2)&lt;br /&gt;{&lt;br /&gt;        for (int i = 0; i &lt; dim1; i++) {&lt;br /&gt;                for (int j = 0; j &lt; dim2; j++) cout &lt;&lt; m[i * dim2 + j] &lt;&lt; '\t';&lt;br /&gt;                cout &lt;&lt; '\n';&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;        int v[3][5];&lt;br /&gt;        for (int i = 0; i &lt; 3; i++)&lt;br /&gt;                for (int j = 0; j &lt; 3; j++)&lt;br /&gt;                        v[i][j] = j;&lt;br /&gt;&lt;br /&gt;        print_m35(v);&lt;br /&gt;        print_mi5(v, 3);&lt;br /&gt;        print_mij(&amp;v[0][0], 3, 5);&lt;br /&gt;&lt;br /&gt;        return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6380901189109634424?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6380901189109634424/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6380901189109634424&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6380901189109634424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6380901189109634424'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/passing-multidimensional-arrays.html' title='Passing Multidimensional Arrays'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-8030347634865387081</id><published>2007-08-11T18:09:00.000+08:00</published><updated>2007-08-11T18:17:37.992+08:00</updated><title type='text'>libc-dev</title><content type='html'>I have installed the icc with stdlibc++.so.5 in my box, a box grow on 2.6 series kernel. And I also have the gcc-4.1.2 with libc6 libraries. Then one time, I'd like to debug with an executable file called "a.out", but I have no idea to do it.  The gdb says that,&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Failed to read a valid object file image from memory&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;When I run it during debug process.&lt;br /&gt;&lt;br /&gt;As the "file" results:&lt;br /&gt;&lt;br /&gt;a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.4.1, dynamically linked (uses shared libs), for GNU/Linux 2.4.1, not stripped&lt;br /&gt;&lt;br /&gt;But actually, it should be like below,&lt;br /&gt;&lt;br /&gt;a.out: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.6.0, dynamically linked (uses shared libs), not stripped&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;I'm not dare to remove the _big_base_ libc6, but I reinstall the "libc-dev" then it returns back to my hoping status. :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-8030347634865387081?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/8030347634865387081/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=8030347634865387081&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8030347634865387081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8030347634865387081'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/libc-dev.html' title='libc-dev'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-653358827908085610</id><published>2007-08-11T17:53:00.000+08:00</published><updated>2007-08-11T17:56:58.764+08:00</updated><title type='text'>SunFire 15K (Solaris &amp; Debian)</title><content type='html'>&lt;a href="http://www.sun.com/bigadmin/hcl/data/systems/details/1776.html"&gt;HCL for Solaris OS&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;Platform Group:   &lt;b&gt;sun4u&lt;/b&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.debian.org/ports/sparc/#status"&gt;Current Status&lt;/a&gt;, Debian on SPARC platform&lt;br /&gt;Supported are Sun4m and Sun4u machines (with a 32-bit userland).&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ultralinux.org/"&gt;UltraLinux&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-653358827908085610?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/653358827908085610/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=653358827908085610&amp;isPopup=true' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/653358827908085610'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/653358827908085610'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/sunfire-15k-solaris-debian.html' title='SunFire 15K (Solaris &amp; Debian)'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-796851201588335021</id><published>2007-08-11T16:05:00.000+08:00</published><updated>2007-08-11T16:47:02.929+08:00</updated><title type='text'>gprof</title><content type='html'>&lt;a href="http://www.mostang.com/~davidm/papers/expo97/paper/"&gt;Linux/Alpha or How to Make Your Applications Fly&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.mostang.com/~davidm/papers/expo97/paper/doc004.html"&gt;Linux Performance Analysis Tools&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[Author], &lt;a href="http://www.mostang.com/~davidm/"&gt;David Mosberger&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;---&lt;br /&gt;&lt;a href="http://www.cs.nyu.edu/~argyle/tutorial.html"&gt;Useful Tools tutorial&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;gprof TIPS:&lt;br /&gt;&lt;br /&gt;    * Don't optimize before profiling&lt;br /&gt;    * Be careful not to optimize before profiling!&lt;br /&gt;    * Profile before you optimize. &lt;br /&gt;&lt;br /&gt;hahaha~~~ :D I compiled it with -O3 options of icc and gcc. :D&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-796851201588335021?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/796851201588335021/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=796851201588335021&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/796851201588335021'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/796851201588335021'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/gprof.html' title='gprof'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6755705916785075585</id><published>2007-08-07T20:51:00.001+08:00</published><updated>2007-08-07T20:53:23.720+08:00</updated><title type='text'>Apache+Subversion Recipe</title><content type='html'>&lt;a href="http://forum.lighttpd.net/topic/59"&gt;subversion with lighty?&lt;/a&gt;&lt;br /&gt;&lt;a href="http://trac.lighttpd.net/trac/wiki/ApacheSubversionRecipe"&gt;Apache+Subversion Recipe&lt;/a&gt;, Good boy!!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6755705916785075585?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6755705916785075585/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6755705916785075585&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6755705916785075585'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6755705916785075585'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/apachesubversion-recipe.html' title='Apache+Subversion Recipe'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-1058854957234435184</id><published>2007-08-07T14:32:00.001+08:00</published><updated>2007-08-07T14:32:13.071+08:00</updated><title type='text'>Linux to Power Google GPhone</title><content type='html'>     HTC      &lt;br&gt;&lt;br&gt; &lt;div style="margin: 0px 2px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="margin: 0px 1px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="padding: 4px; background-color: #c3d9ff;"&gt;&lt;h3 style="margin:0px 3px;font-family:sans-serif"&gt;Sent to you by Alan via Google Reader:&lt;/h3&gt;&lt;/div&gt; &lt;div style="margin: 0px 1px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="margin: 0px 2px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="font-family:sans-serif;overflow:auto;width:100%;margin: 0px 10px"&gt;&lt;h2 style="margin: 0.25em 0 0 0"&gt;&lt;div class=""&gt;&lt;a href="http://osnews.com/story.php/18394/Linux-to-Power-Google-GPhone/"&gt;Linux to Power Google GPhone&lt;/a&gt;&lt;/div&gt;&lt;/h2&gt; &lt;div style="margin-bottom: 0.5em"&gt;via &lt;a href="http://www.osnews.com" class="f"&gt;OSNews&lt;/a&gt; by donotreply@osnews.com (Eugenia Loli-Queru) on Aug 04, 2007&lt;/div&gt;&lt;br style="display:none"&gt; "Google's first mobile phone reportedly will run a Linux operating system on a Texas Instruments "Edge" chipset, and will likely ship to T-Mobile and Orange customers in the Spring of 2008. "GPhone" call minutes and text messages will apparently be funded by mobile advertising, according to reports." The report found at the popular embedded systems Linux news site LinuxDevices.&lt;/div&gt; &lt;br&gt; &lt;div style="margin: 0px 2px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="margin: 0px 1px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="padding: 4px; background-color: #c3d9ff;"&gt;&lt;h3 style="margin:0px 3px;font-family:sans-serif"&gt;Things you can do from here:&lt;/h3&gt; &lt;ul style="font-family:sans-serif"&gt;&lt;li&gt;&lt;div class=""&gt;&lt;a href="http://osnews.com/story.php/18394/Linux-to-Power-Google-GPhone/"&gt;Visit the original item&lt;/a&gt;&lt;/div&gt; on &lt;b&gt;&lt;a href="http://www.osnews.com" class=""&gt;OSNews&lt;/a&gt;&lt;/b&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.google.com/reader/view/feed%2Fhttp%3A%2F%2Fosnews.com%2Ffiles%2Frecent.xml?source=email"&gt;Subscribe to OSNews&lt;/a&gt; using &lt;b&gt;Google Reader&lt;/b&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.google.com/reader/?source=email"&gt;Get started using Google Reader&lt;/a&gt; to easily keep up with &lt;b&gt;all your favorite sites&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; &lt;div style="margin: 0px 1px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="margin: 0px 2px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-1058854957234435184?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/1058854957234435184/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=1058854957234435184&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1058854957234435184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1058854957234435184'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/linux-to-power-google-gphone.html' title='Linux to Power Google GPhone'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-3750868994290423995</id><published>2007-08-06T17:22:00.000+08:00</published><updated>2007-08-06T17:36:57.489+08:00</updated><title type='text'>Matrix Transpose</title><content type='html'>I did ten thousand times multiplication with 800x800 matrix, each element is raged from one to five, integer type.&lt;br /&gt;&lt;br /&gt;yrchen tole me a hint yesterday afternoon, that, the matrices should be tramsposed before did a huge compute. In today's experiment, I wrote two version codes, one doesn't has any transpose loop (called m1), the other does (called m1_t). Both them compiled with gcc, with -O3 optimization. The result is:&lt;br /&gt;&lt;br /&gt;m1_t:&lt;br /&gt;real    5m31.300s&lt;br /&gt;user    5m31.245s&lt;br /&gt;sys     0m0.020s&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;m1:&lt;br /&gt;real    5m30.802s&lt;br /&gt;user    5m30.265s&lt;br /&gt;sys     0m0.008s&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;It looks like that -O3 did the transpose before has the huge matrices multiplication.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#include &lt;stdio.h&gt;&lt;br /&gt;#include &lt;stdlib.h&gt;&lt;br /&gt;&lt;br /&gt;#define DIE     800&lt;br /&gt;&lt;br /&gt;void gen( int a[][DIE]);&lt;br /&gt;void mul( int a[][DIE], int b[][DIE]);&lt;br /&gt;&lt;br /&gt;int main(int argc, char *argv[])&lt;br /&gt;{&lt;br /&gt;        int a[DIE][DIE];&lt;br /&gt;        int b[DIE][DIE];&lt;br /&gt;&lt;br /&gt;        int i;&lt;br /&gt;        for (i = 0; i &lt; 10000; i++) {&lt;br /&gt;                srand(0);&lt;br /&gt;                gen(a);&lt;br /&gt;                srand(1);&lt;br /&gt;                gen(b);&lt;br /&gt;                mul(a, b);&lt;br /&gt;        }&lt;br /&gt;&lt;br /&gt;        return 0;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void gen( int a[][DIE] )&lt;br /&gt;{&lt;br /&gt;        int i, j;&lt;br /&gt;        for (i = 0; i &lt; DIE; i++)&lt;br /&gt;                for (j = 0; j &lt; DIE; j++)&lt;br /&gt;                        a[i][j] = random() % 5 + 1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;void mul( int a[][DIE], int b[][DIE])&lt;br /&gt;{&lt;br /&gt;        int i, j, k;&lt;br /&gt;        int c[DIE][DIE];&lt;br /&gt;&lt;br /&gt;        //Transpose&lt;br /&gt;        for (i = 0; i &lt; DIE; i++)&lt;br /&gt;                for (j = 0; j &lt; DIE; j++)&lt;br /&gt;                        mul[i][j] = b[j][i];&lt;br /&gt;&lt;br /&gt;        for (i = 0; i &lt; DIE; i++) {&lt;br /&gt;                for (j = 0;j &lt; DIE; j++) {&lt;br /&gt;                        c[i][j] = 0;&lt;br /&gt;                        for (k = 0; k &lt; DIE; k++)&lt;br /&gt;                                c[i][j] += a[i][k] * mul[i][k];&lt;br /&gt;                        //printf("%d\t", c[i][j]);&lt;br /&gt;                }&lt;br /&gt;                //printf("\n");&lt;br /&gt;        }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-3750868994290423995?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/3750868994290423995/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=3750868994290423995&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3750868994290423995'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3750868994290423995'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/matrix-transpose.html' title='Matrix Transpose'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-3622034349394449686</id><published>2007-08-04T16:10:00.000+08:00</published><updated>2007-08-04T16:16:55.441+08:00</updated><title type='text'>Matrix Mutiplication Hint</title><content type='html'>先做轉置 (det)。&lt;br /&gt;&lt;br /&gt;因為 CPU 會一次 fetch 1byte in each row, 而 matrix mul 是 col * row，所以可以直接把做一次 det(row) -&gt; col，就能直接 fetch det(row) -&gt; col。速度較快！&lt;br /&gt;&lt;br /&gt;不要使用 recursive，因為 OS 要 handle 很多 stacks is a heavy-loading job。直接改用多個 whilie 把 huge-matrix 展開，開 threads 去分割成 strsen algo smaller-matrix.&lt;br /&gt;&lt;br /&gt;這是 yrchen 給的 common hint.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-3622034349394449686?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/3622034349394449686/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=3622034349394449686&amp;isPopup=true' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3622034349394449686'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3622034349394449686'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/matrix-mutiplication-hinet.html' title='Matrix Mutiplication Hint'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-1745570956300437815</id><published>2007-08-03T16:59:00.001+08:00</published><updated>2007-08-03T16:59:49.719+08:00</updated><title type='text'>Barcode</title><content type='html'>GNU Barcode&lt;br /&gt;&lt;br /&gt;In student card, it shows up "495G0047".&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-1745570956300437815?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/1745570956300437815/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=1745570956300437815&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1745570956300437815'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1745570956300437815'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/barcode.html' title='Barcode'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6718866015553948845</id><published>2007-08-03T16:42:00.000+08:00</published><updated>2007-08-03T16:50:41.279+08:00</updated><title type='text'>Venus spec</title><content type='html'>4 x 184pin DDR400+ 512&lt;br /&gt;&lt;br /&gt;Now,&lt;br /&gt;&lt;br /&gt;184pin DDR400 1GB, 3731&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6718866015553948845?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6718866015553948845/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6718866015553948845&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6718866015553948845'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6718866015553948845'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/venus-spec.html' title='Venus spec'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6639023821880533885</id><published>2007-08-02T10:17:00.001+08:00</published><updated>2007-08-02T12:24:30.327+08:00</updated><title type='text'>MSDNAA FAQ</title><content type='html'>&lt;a href="http://www.ics.uci.edu/computing/windows/msdnaa_faq.php"&gt;ics.uci.edu&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Mirrors:&lt;br /&gt;&lt;a href="http://www.business.uc.edu/technology/msdnaa"&gt;UC College of Business&lt;/a&gt;&lt;br /&gt;&lt;a href="http://ftp.sh.cvut.cz/MSDNAA/Rapid_Setup/"&gt;http://ftp.sh.cvut.cz/MSDNAA/Rapid_Setup/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://umcrookston.net:85/"&gt;http://umcrookston.net:85/&lt;/a&gt; The best&lt;br /&gt;&lt;a href="http://storage.siliconhill.cz/MSDNAA/Rapid_Setup/"&gt;http://storage.siliconhill.cz/MSDNAA/Rapid_Setup/&lt;/a&gt;&lt;br /&gt;&lt;a href="http://imt.uni-paderborn.de/download/msdnaa/"&gt;http://imt.uni-paderborn.de/download/msdnaa/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.google.com/search?hl=en&amp;q=EN_Windows_Embedded_CE_6_DVD.01.sdc&amp;btnG=Google+Search"&gt;EN_Windows_Embedded_CE_6_DVD.01.sdc&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;TODO:&lt;br /&gt;評估校外開放下載的 .sdc 站台&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6639023821880533885?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6639023821880533885/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6639023821880533885&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6639023821880533885'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6639023821880533885'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/08/msdnaa-faq_02.html' title='MSDNAA FAQ'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-1932597964475659291</id><published>2007-07-31T12:42:00.000+08:00</published><updated>2007-07-31T12:43:29.378+08:00</updated><title type='text'>比賽賺錢？</title><content type='html'>&lt;a href="http://csc.pro.edu.tw/"&gt;教育部96年全國校園軟體設計創意競賽&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;獎金真的滿吸引的！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-1932597964475659291?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/1932597964475659291/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=1932597964475659291&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1932597964475659291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1932597964475659291'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/07/blog-post.html' title='比賽賺錢？'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-7886291857197939061</id><published>2007-07-31T11:49:00.000+08:00</published><updated>2007-07-31T11:53:39.635+08:00</updated><title type='text'>pthread</title><content type='html'>&lt;a href="http://www.ibm.com/developerworks/library/l-posix1.html"&gt;POSIX threads explained&lt;/a&gt;, A simple and nimble tool for memory sharing&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.ibm.com/developerworks/views/linux/libraryview.jsp?topic_by=All+topics+and+related+products&amp;sort_order=desc&amp;lcl_sort_order=desc&amp;search_by=Daniel+Robbins&amp;search_flag=true&amp;type_by=All+Types&amp;show_abstract=false&amp;sort_by=Relevance&amp;end_no=100&amp;show_all=true"&gt; Daniel Robbins&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-7886291857197939061?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/7886291857197939061/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=7886291857197939061&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7886291857197939061'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7886291857197939061'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/07/pthread_31.html' title='pthread'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-1518873430574437209</id><published>2007-07-31T11:33:00.000+08:00</published><updated>2007-07-31T11:48:38.849+08:00</updated><title type='text'>Parallel Programming</title><content type='html'>&lt;a href="http://www.csie.ntu.edu.tw/~pangfeng/Parallel%20processing/references.htm"&gt;Reference&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.amazon.com/Parallel-Programming-Techniques-Applications-Workstations/dp/0131405632/ref=pd_bbs_sr_2/002-2822207-2797658?ie=UTF8&amp;s=books&amp;qid=1185852653&amp;sr=1-2"&gt;Parallel Programming:&lt;/a&gt; Techniques and Applications Using Networked Workstations and Parallel Computers&lt;br /&gt;&lt;a href="http://www.cs.uncc.edu/~abw/"&gt;Barry Wilkinson&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.cs.uncc.edu/%7Eabw/parallel/par_prog/topics/"&gt;Parallel Computers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-1518873430574437209?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/1518873430574437209/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=1518873430574437209&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1518873430574437209'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1518873430574437209'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/07/links-in-today.html' title='Parallel Programming'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4034265978005556682</id><published>2007-07-31T11:02:00.001+08:00</published><updated>2007-07-31T11:02:42.104+08:00</updated><title type='text'>Concurrency vs. Parallelism</title><content type='html'>They are not the same! Parallelism is a subset of Concurrency. Parallelism implies simultaneous running of code (which is impossible on uniprocessor machines) while Concurrency implies that many tasks can run in any order and possibly in parallel.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4034265978005556682?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4034265978005556682/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4034265978005556682&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4034265978005556682'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4034265978005556682'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/07/concurrency-vs-parallelism.html' title='Concurrency vs. Parallelism'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-7005070131514147766</id><published>2007-07-27T10:53:00.001+08:00</published><updated>2007-07-27T10:53:57.370+08:00</updated><title type='text'>Linux:  The 0.01 Release</title><content type='html'>         &lt;br&gt;&lt;br&gt; &lt;div style="margin: 0px 2px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="margin: 0px 1px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="padding: 4px; background-color: #c3d9ff;"&gt;&lt;h3 style="margin:0px 3px;font-family:sans-serif"&gt;Sent to you by Alan via Google Reader:&lt;/h3&gt;&lt;/div&gt; &lt;div style="margin: 0px 1px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="margin: 0px 2px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="font-family:sans-serif;overflow:auto;width:100%;margin: 0px 10px"&gt;&lt;h2 style="margin: 0.25em 0 0 0"&gt;&lt;div class=""&gt;&lt;a href="http://kerneltrap.org/node/14002"&gt;Linux: The 0.01 Release&lt;/a&gt;&lt;/div&gt;&lt;/h2&gt; &lt;div style="margin-bottom: 0.5em"&gt;via &lt;a href="http://kerneltrap.org/taxonomy/term/2+3+4+5+6+7+8+10+11+21/0" class="f"&gt;KernelTrap - Linux news, FreeBSD news, OpenBSD news, NetBSD news, GNU/Hurd news, BeOS news, MacOS news, Tools, Windows news, Other news&lt;/a&gt; by Jeremy on Jul 26, 2007&lt;/div&gt;&lt;br style="display:none"&gt; &lt;p&gt;"&lt;i&gt;This is a free minix-like kernel for i386(+) based AT-machines,&lt;/i&gt;" began the Linux version 0.01 release notes in September of 1991 for the first release of the Linux kernel.  "&lt;i&gt;As the version number (0.01) suggests this is not a mature product. Currently only a subset of AT-hardware is supported (hard-disk, screen, keyboard and serial lines), and some of the system calls are not yet fully implemented (notably mount/umount aren't even implemented).&lt;/i&gt;"  Booting the original 0.01 Linux kernel required bootstrapping it with &lt;a href="http://en.wikipedia.org/wiki/Minix"&gt;minix&lt;/a&gt;, and the keyboard driver was written in assembly and hard-wired for a Finnish keyboard.  The listed features were mostly presented as a comparison to minix and included, efficiently using the 386 chip rather than the older 8088, use of system calls rather than message passing, a fully multithreaded FS, minimal task switching, and visible interrupts.  Linus Torvalds noted, "&lt;i&gt;the guiding line when implementing linux was: get it working fast. I wanted the kernel simple, yet powerful enough to run most unix software.&lt;/i&gt;"  In a section titled "Apologies :-)" he noted:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;"This isn't yet the 'mother of all operating systems', and anyone who hoped for that will have to wait for the first real release (1.0), and even then you might not want to change from minix.  This is a source release for those that are interested in seeing what linux looks like, and it's not really supported yet."&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;&lt;a href="http://kerneltrap.org/node/14002"&gt;read more&lt;/a&gt;&lt;/p&gt;&lt;/div&gt; &lt;br&gt; &lt;div style="margin: 0px 2px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="margin: 0px 1px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="padding: 4px; background-color: #c3d9ff;"&gt;&lt;h3 style="margin:0px 3px;font-family:sans-serif"&gt;Things you can do from here:&lt;/h3&gt; &lt;ul style="font-family:sans-serif"&gt;&lt;li&gt;&lt;div class=""&gt;&lt;a href="http://kerneltrap.org/node/14002"&gt;Visit the original item&lt;/a&gt;&lt;/div&gt; on &lt;b&gt;&lt;a href="http://kerneltrap.org/taxonomy/term/2+3+4+5+6+7+8+10+11+21/0" class=""&gt;KernelTrap - Linux news, FreeBSD news, OpenBSD news, NetBSD news, GNU/Hurd news, BeOS news, MacOS news, Tools, Windows news, Other news&lt;/a&gt;&lt;/b&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.google.com/reader/view/feed%2Fhttp%3A%2F%2Fkerneltrap.org%2Ftaxonomy%2Fterm%2F2%2B3%2B4%2B5%2B6%2B7%2B8%2B10%2B11%2B21%2F0%2Ffeed?source=email"&gt;Subscribe to KernelTrap - Linux news, FreeBSD news, OpenBSD news, NetBSD news, GNU/Hurd news, BeOS news, MacOS news, Tools, Windows news, Other news&lt;/a&gt; using &lt;b&gt;Google Reader&lt;/b&gt;&lt;/li&gt; &lt;li&gt;&lt;a href="http://www.google.com/reader/?source=email"&gt;Get started using Google Reader&lt;/a&gt; to easily keep up with &lt;b&gt;all your favorite sites&lt;/b&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt; &lt;div style="margin: 0px 1px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt; &lt;div style="margin: 0px 2px; padding-top: 1px;    background-color: #c3d9ff; font-size: 1px !important;    line-height: 0px !important;"&gt;&amp;nbsp;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-7005070131514147766?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/7005070131514147766/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=7005070131514147766&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7005070131514147766'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7005070131514147766'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/07/linux-001-release.html' title='Linux:  The 0.01 Release'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-2460467959685288878</id><published>2007-07-27T10:36:00.001+08:00</published><updated>2007-07-27T10:36:29.644+08:00</updated><title type='text'>Lighttpd Configuration Reference</title><content type='html'>&lt;a href="http://trac.lighttpd.net/trac/wiki/Docs%3AConfigurationOptions"&gt;http://trac.lighttpd.net/trac/wiki/Docs%3AConfigurationOptions&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-2460467959685288878?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://trac.lighttpd.net/trac/wiki/Docs%3AConfigurationOptions' title='Lighttpd Configuration Reference'/><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/2460467959685288878/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=2460467959685288878&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/2460467959685288878'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/2460467959685288878'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/07/lighttpd-configuration-reference.html' title='Lighttpd Configuration Reference'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-5813886800969597136</id><published>2007-07-26T16:00:00.001+08:00</published><updated>2007-07-26T16:00:57.906+08:00</updated><title type='text'>Uninstall DRBL</title><content type='html'>&lt;pre&gt;for i in `acs drbl|cut -f 1 -d " "`; do agr -y "$i";done&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-5813886800969597136?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/5813886800969597136/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=5813886800969597136&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5813886800969597136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5813886800969597136'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/07/uninstall-drbl.html' title='Uninstall DRBL'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-3822258624665960990</id><published>2007-07-26T15:38:00.000+08:00</published><updated>2007-07-26T15:42:41.335+08:00</updated><title type='text'>Schedule</title><content type='html'>&lt;s&gt;1. Matrix Multiplication&lt;/s&gt;&lt;br /&gt;2. 1 + 2 + 3 + ... + 999999 with pthreads method&lt;br /&gt;3. Dividing the huge matrices into small parts&lt;br /&gt;4. Redo last step with pthreads&lt;br /&gt;5. Knowing how to manipulate icc&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-3822258624665960990?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/3822258624665960990/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=3822258624665960990&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3822258624665960990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3822258624665960990'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/07/schedule.html' title='Schedule'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4747509609133142684</id><published>2007-07-26T15:13:00.000+08:00</published><updated>2007-07-26T15:20:12.828+08:00</updated><title type='text'>pthread</title><content type='html'>&lt;a href="http://en.wikipedia.org/wiki/Pthread"&gt;POSIX Threads&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Native_POSIX_Thread_Library"&gt;Native POSIX Thread Library&lt;/a&gt; (NPTL), getconf GNU_LIBPTHREAD_VERSION, NPTL 2.3.6&lt;br /&gt;&lt;br /&gt;&lt;a href="http://nptltracetool.sourceforge.net/"&gt;NPTL Trace Tool&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www-128.ibm.com/developerworks/linux/library/l-threading.html?ca=dgr-lnxw07LinuxThreadsAndNPTL"&gt;IBM Linux Technology Library&lt;/a&gt;, Linux threading models compared: LinuxThreads and NPTL&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4747509609133142684?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4747509609133142684/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4747509609133142684&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4747509609133142684'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4747509609133142684'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/07/pthread.html' title='pthread'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-7038929428881524529</id><published>2007-07-14T13:42:00.001+08:00</published><updated>2007-07-14T13:42:44.999+08:00</updated><title type='text'>nslookup in Debian 4.0</title><content type='html'>&lt;a href="http://lists.otrs.org/pipermail/otrs/2003-January/000772.html"&gt;Debian: nslookup dependency ?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;apt-get -t stable install dnsutils&lt;br /&gt;&lt;br /&gt;This fixes the problem.&lt;br /&gt;&lt;br /&gt;Bye,&lt;br /&gt;Andreas&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-7038929428881524529?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/7038929428881524529/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=7038929428881524529&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7038929428881524529'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7038929428881524529'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/07/nslookup-in-debian-40.html' title='nslookup in Debian 4.0'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6746031984822331439</id><published>2007-07-13T17:29:00.000+08:00</published><updated>2007-07-14T02:47:57.678+08:00</updated><title type='text'>MSDNAA</title><content type='html'>&lt;a href="http://msdn2.microsoft.com/en-au/academic/bb250609.aspx"&gt;Usage Guidelines&lt;/a&gt;&lt;br /&gt;&lt;a href="http://trac.lighttpd.net/trac/wiki/Docs:ConfigurationOptions"&gt;Lighttpd, Configuration File Options&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-us/subscriptions/aa948871.aspx"&gt;New in Your Subscription&lt;/a&gt;&lt;br /&gt;&lt;a href="http://msdn2.microsoft.com/en-au/subscriptions/aa948872.aspx"&gt;Subscription Highlights - 2006&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;TODOs:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6746031984822331439?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6746031984822331439/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6746031984822331439&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6746031984822331439'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6746031984822331439'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/07/msdnaa.html' title='MSDNAA'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-3704004564105711378</id><published>2007-07-06T10:17:00.000+08:00</published><updated>2007-07-06T10:47:41.004+08:00</updated><title type='text'>HPC Links</title><content type='html'>&lt;a href="http://www.gluster.org/"&gt;Gluster&lt;/a&gt; is a GNU cluster distribution aimed at commoditizing Supercomputing and Superstorage. Core of the Gluster provides a platform for developing clustering applications tailored for a specific tasks such as HPC Clustering, Storage Clustering, Enterprise Provisioning, Database Clustering etc.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.zresearch.com/"&gt;Z RESEARCH&lt;/a&gt; enables System Integrators, with little or no experience in clustering, to build Clustered File Storage, HPC Clusters and Supercomputers from Commodity off the Shelf Components (COTS) using Clustered architecture and Z RESEARCH'S software stack 'Gluster'.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://amar.80x25.org/"&gt;amar&lt;/a&gt;, 可愛的網域。 :) 是一位印裔工程師。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://irc.sjce.net/"&gt;&lt;img src="http://irc.sjce.net/getblessed.png"&gt;&lt;/img&gt;&lt;/a&gt; 白爛的圖片&lt;br /&gt;&lt;br /&gt;&lt;a href="http://en.wikipedia.org/wiki/Computer_cluster"&gt;Computer cluster&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-3704004564105711378?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/3704004564105711378/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=3704004564105711378&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3704004564105711378'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3704004564105711378'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/07/hpc-links.html' title='HPC Links'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-3949054465718659389</id><published>2007-07-05T20:28:00.000+08:00</published><updated>2007-07-05T20:31:44.320+08:00</updated><title type='text'>e1000_request_irq: Unable to allocate MSI interrupt Error: -22</title><content type='html'>結論是，暫時不要用 linux-image-2.6.20-15-generic 或 Feist 的版本。 衝 gutsy!!&lt;br /&gt;&lt;br /&gt;Links:&lt;br /&gt;&lt;a href="http://www.google.com/search?q=dmesg+eth0+e1000_request_irq+Unable+to+allocate+MSI+interrupt+Error%3A+22&amp;btnG=Search&amp;hl=en"&gt;google:&lt;/a&gt;// &lt;pre&gt;dmesg eth0 e1000_request_irq Unable to allocate MSI interrupt Error: 22&lt;/pre&gt;&lt;br /&gt;&lt;a href="https://bugs.launchpad.net/ubuntu/+source/linux-source-2.6.20/+bug/104423"&gt;wired ethernet interface missing&lt;/a&gt;&lt;br /&gt;&lt;a href="https://bugs.launchpad.net/rebuntu/+bug/109033"&gt;e1000 high latency problem, msi error on boot.&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-3949054465718659389?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/3949054465718659389/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=3949054465718659389&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3949054465718659389'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3949054465718659389'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/07/e1000requestirq-unable-to-allocate-msi.html' title='e1000_request_irq: Unable to allocate MSI interrupt Error: -22'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6874558104384160717</id><published>2007-06-22T11:23:00.000+08:00</published><updated>2007-08-03T20:48:07.235+08:00</updated><title type='text'>SunFire 15K</title><content type='html'>&lt;a href="http://www.sun.com/servers/highend/sunfire15k/"&gt;&lt;br /&gt;Overview&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/servers/wp.jsp"&gt;White Papers&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6874558104384160717?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6874558104384160717/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6874558104384160717&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6874558104384160717'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6874558104384160717'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/06/sunfire-15k.html' title='SunFire 15K'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-7009772187964300044</id><published>2007-06-22T10:54:00.000+08:00</published><updated>2007-06-22T10:59:15.002+08:00</updated><title type='text'>OpenMP</title><content type='html'>&lt;a href="http://www.hpcx.ac.uk/research/hpc/"&gt;HPC Research&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.hpcx.ac.uk/research/hpc/technical_reports/HPCxTR0411.pdf"&gt;HPCxTR0411&lt;/a&gt;   "OpenMP Microbenchmarks Version 2.0", Fiona Reid, Mark Bull&lt;br /&gt;&lt;a href="http://www2.epcc.ed.ac.uk/computing/research_activities/openmpbench/download.html"&gt;OpenMP Microbenchmarks page&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.idris.fr/comp/scal/power4/zahir/index-zahir.html"&gt;Zahir, IBM eServer p690, p690+ et p655 (Regatta Power4)&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-7009772187964300044?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/7009772187964300044/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=7009772187964300044&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7009772187964300044'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7009772187964300044'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/06/openmp.html' title='OpenMP'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-5218774714118640421</id><published>2007-06-22T10:02:00.000+08:00</published><updated>2007-06-22T10:31:04.703+08:00</updated><title type='text'>Sparc 64 cross compiler</title><content type='html'>&lt;a href="http://venus/~a2n/sunfire/dmesg.txt"&gt;SunFire dmesg&lt;/a&gt;&lt;br /&gt;Jun 20 13:59:59 stutb genunix: [ID 540533 kern.notice] ^MSunOS Release 5.9 Version Generic_112233-08 64-bit&lt;br /&gt;Jun 20 13:59:59 stutb genunix: [ID 943905 kern.notice] Copyright 1983-2003 Sun Microsystems, Inc.  All rights reserved.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.kegel.com/crosstool/crosstool-0.43/buildlogs/"&gt;Crosstool build results&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;So that all failed!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-5218774714118640421?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/5218774714118640421/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=5218774714118640421&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5218774714118640421'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5218774714118640421'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/06/sparc-64-cross-compiler.html' title='Sparc 64 cross compiler'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-8579396278953902576</id><published>2007-06-21T23:10:00.000+08:00</published><updated>2007-06-21T23:12:30.066+08:00</updated><title type='text'>人家只是轉圖檔而已...</title><content type='html'>竟然造成 kernel panic!! 因為 Out of memory! &lt;br /&gt;&lt;br /&gt;for i in `ls -1 *.jpg`;do (convert -quality 48 -crop +0-1000 "$i" tmp/"$i" &amp;); done&lt;br /&gt;&lt;br /&gt;如此而已就 :(&lt;br /&gt;寫信來去論壇問看看&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-8579396278953902576?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/8579396278953902576/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=8579396278953902576&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8579396278953902576'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8579396278953902576'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/06/blog-post.html' title='人家只是轉圖檔而已...'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-749927331733816500</id><published>2007-06-20T11:11:00.000+08:00</published><updated>2007-07-08T14:41:53.134+08:00</updated><title type='text'>Perldoc, Day 1</title><content type='html'>perlintro.html&lt;br /&gt;&lt;br /&gt;Using my in combination with a use strict;  at the top of your Perl scripts means that the interpreter will pick up certain common programming errors. For instance, in the example above, the final print $b  would cause a compile-time error and prevent you from running the program. Using strict is highly recommended.&lt;br /&gt;&lt;br /&gt;類似 gcc -Wall&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;unless ( condition )&lt;br /&gt;if (!condition)&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Note that the braces are required in Perl, even if you've only got one line in the block.&lt;br /&gt;&lt;br /&gt;Too bad&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;print "LA LA LA\n" while 1;          # loops forever&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Cool!!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;A list of them is given at the start of perlfunc and you can easily read about any given function by using perldoc -f functionname .&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You can read from an open filehandle using the &lt;&gt;  operator. In scalar context it reads a single line from the filehandle, and in list context it reads the whole file in, assigning each line to an element of the list:&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Reading in the whole file at one time is called slurping. It can be useful but it may be a memory hog.&lt;br /&gt;&lt;br /&gt;寫的真傳神！ hog *grin* :P&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;When you're done with your filehandles, you should close() them (though to be honest, Perl will clean up after you if you forget):&lt;br /&gt;&lt;br /&gt;哈！ 好笑！ though to e honest. :P&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;if ($a =~ /foo/) { ... }  # true if $a contains "foo"&lt;/pre&gt;&lt;br /&gt;The //  matching operator is documented in perlop. It operates on $_  by default, or can be bound to another variable using the =~ binding operator (also documented in perlop).&lt;br /&gt;&lt;br /&gt;In [perlop.html],&lt;br /&gt;Binary "=~" binds a scalar expression to a pattern match. Certain operations search or modify the string $_ by default. This operator makes that kind of operation work on some other string. &lt;b&gt;The right argument is a search pattern, substitution, or transliteration. The left argument is what is supposed to be searched, substituted, or transliterated instead of the default $_. When used in scalar context, the return value generally indicates the success of the operation.&lt;/b&gt; Behavior in list context depends on the particular operator. See "Regexp Quote-Like Operators" for details and perlretut for examples using these operators.&lt;br /&gt;&lt;br /&gt;If the right argument is an expression rather than a search pattern, substitution, or transliteration, it is interpreted as a search pattern at run time.&lt;br /&gt;&lt;br /&gt;Binary "!~" is just like "=~" except the return value is negated in the logical sense.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;These are documented at great length in perlre, but for the meantime, here's a quick cheat sheet:&lt;br /&gt;XDDD 快速騙人小抄 (quick cheat sheet)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt; while (&lt;&gt;) {&lt;br /&gt;        next if /^$/;&lt;br /&gt;        print;&lt;br /&gt; }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;我覺得寫的很美！ &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;while ((c = get()) != NULL) {&lt;br /&gt;  printf ("%s\n", c);&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://cpan.stu.edu.tw/"&gt;http://cpan.stu.edu.tw/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;第一次嘗試 CPAN  install Bundle::CPAN 跑出一大堆鬼東西，看起來這個系統寫的很完整，也很大！&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-749927331733816500?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/749927331733816500/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=749927331733816500&amp;isPopup=true' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/749927331733816500'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/749927331733816500'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/06/perldoc-day-1.html' title='Perldoc, Day 1'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6180844222414126747</id><published>2007-06-19T19:50:00.001+08:00</published><updated>2007-06-19T19:50:24.924+08:00</updated><title type='text'>‘Bad fd number’ error in Ubuntu 6.10 (Edgy Eft)</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6180844222414126747?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://diveintomark.org/archives/2006/09/19/bad-fd-number' title='‘Bad fd number’ error in Ubuntu 6.10 (Edgy Eft)'/><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6180844222414126747/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6180844222414126747&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6180844222414126747'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6180844222414126747'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/06/bad-fd-number-error-in-ubuntu-610-edgy.html' title='‘Bad fd number’ error in Ubuntu 6.10 (Edgy Eft)'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-7045709865297467259</id><published>2007-06-19T10:23:00.000+08:00</published><updated>2007-06-19T22:41:39.528+08:00</updated><title type='text'>PCMan, Day 1</title><content type='html'>&lt;a href="http://www.pluralsight.com/articlecontent/cpprep0797.htm"&gt;Demystifying Subclassing&lt;/a&gt;&lt;br /&gt;&lt;a href="http://blogs.netindonesia.net/risman/archive/2005/04/04/1501.aspx"&gt;Advice from the creator of C++&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.awprofessional.com/articles/article.asp?p=25003&amp;seqNum=5"&gt;A Tour of C++&lt;/a&gt;&lt;br /&gt;Procedural Programming&lt;br /&gt;Decide which procedures you want; use the best algorithms you can find.&lt;br /&gt;&lt;br /&gt;Modular Programming&lt;br /&gt;Decide which modules you want; partition the program so that data is hidden within modules.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www-03.ibm.com/systems/bladecenter/dominance/?&amp;p_site=Informit&amp;p_creative=Beach&amp;orgid=201"&gt;IBM Blade Center&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.research.att.com/~bs/"&gt;Bjarne Stroustrup's homepage&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Separate compilation is an issue in all real programs. It is not simply a concern in programs that present facilities, such as a Stack, as modules. Strictly speaking, using separate compilation isn't a language issue; it is an issue of how best to take advantage of a particular language implementation. However, it is of great practical importance. The best approach is to maximize modularity, represent that modularity logically through language features, and then exploit the modularity physically through files for effective separate compilation.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-7045709865297467259?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/7045709865297467259/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=7045709865297467259&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7045709865297467259'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7045709865297467259'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/06/pcman-day-1.html' title='PCMan, Day 1'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4544578330532336891</id><published>2007-05-29T16:37:00.000+08:00</published><updated>2007-05-29T16:39:00.825+08:00</updated><title type='text'>High-efficiency power supplies for home computers and servers (pdf)</title><content type='html'>簡化裡面的元件可以省能源，只是週邊的採購也要能配合。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4544578330532336891?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://services.google.com/blog_resources/PSU_white_paper.pdf' title='High-efficiency power supplies for home computers and servers (pdf)'/><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4544578330532336891/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4544578330532336891&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4544578330532336891'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4544578330532336891'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/05/high-efficiency-power-supplies-for-home.html' title='High-efficiency power supplies for home computers and servers (pdf)'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-7771989781599023614</id><published>2007-05-23T10:57:00.000+08:00</published><updated>2007-05-23T11:04:14.462+08:00</updated><title type='text'>Command shell overview</title><content type='html'>&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-7771989781599023614?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.microsoft.com/resources/documentation/windows/xp/all/proddocs/en-us/ntcmds_shelloverview.mspx?mfr=true' title='Command shell overview'/><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/7771989781599023614/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=7771989781599023614&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7771989781599023614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/7771989781599023614'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/05/command-shell-overview.html' title='Command shell overview'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4301263368307699890</id><published>2007-05-17T12:58:00.000+08:00</published><updated>2007-05-17T12:59:42.232+08:00</updated><title type='text'>Pradeep Padala</title><content type='html'>The author of &lt;a href="http://www.tldp.org/HOWTO/NCURSES-Programming-HOWTO/"&gt;Ncurses Programming HOWTO&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4301263368307699890?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.eecs.umich.edu/~ppadala/' title='Pradeep Padala'/><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4301263368307699890/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4301263368307699890&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4301263368307699890'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4301263368307699890'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/05/pradeep-padala.html' title='Pradeep Padala'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-793709555026098032</id><published>2007-05-16T21:12:00.000+08:00</published><updated>2007-05-16T21:17:28.866+08:00</updated><title type='text'>How can I get input without having the user hit [Enter]?</title><content type='html'>Using standard C/C++, you cannot. However, if you're lucky your compiler may have the non-standard conio.h header (which might include getch()), if you're on *nix (UNIX, Linux, etc.) you can try the ncurses library or switching the terminal mode. On Windows, try the different API input routines (such as those included in the Win32 API).&lt;br /&gt;&lt;br /&gt;Got this answer from, &lt;a href="http://www.daniweb.com/techtalkforums/thread73467.html"&gt; password input&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-793709555026098032?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://faq.cprogramming.com/cgi-bin/smartfaq.cgi?answer=1045691686&amp;id=1043284392' title='How can I get input without having the user hit [Enter]?'/><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/793709555026098032/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=793709555026098032&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/793709555026098032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/793709555026098032'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/05/how-can-i-get-input-without-having-user.html' title='How can I get input without having the user hit [Enter]?'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4880341421198340959</id><published>2007-05-10T11:47:00.000+08:00</published><updated>2007-05-10T11:49:18.913+08:00</updated><title type='text'>GNU coding standards</title><content type='html'>Linus 說得惡名昭彰... :P&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4880341421198340959?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.gnu.org/prep/standards/html_node/index.html' title='GNU coding standards'/><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4880341421198340959/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4880341421198340959&amp;isPopup=true' title='1 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4880341421198340959'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4880341421198340959'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/05/gnu-coding-standards.html' title='GNU coding standards'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-8310061077892804913</id><published>2007-05-08T15:10:00.000+08:00</published><updated>2007-05-08T18:34:26.632+08:00</updated><title type='text'>Linus said st in Linux kernel coding style</title><content type='html'>開宗明義說&lt;br /&gt;&lt;br /&gt;10 First off, I'd suggest printing out a copy of the GNU coding standards,&lt;br /&gt;11 and NOT read it.  Burn them, it's a great symbolic gesture.&lt;br /&gt;&lt;br /&gt;怎麼會這樣啦～&lt;br /&gt;&lt;br /&gt;這變成 &lt;a href="http://home.columbus.rr.com/tbaer/humor/quotes.html"&gt;Humorous Quotes Seen on UseNet&lt;/a&gt; 的收藏。&lt;br /&gt;&lt;br /&gt;&lt;a href="http://linux.omnipotent.net/index.php"&gt;這個東西&lt;/a&gt;酷斃了，排版好漂亮！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;整篇 Linux Kernel coding style 都是很搞笑，而且文筆寫的很直接，帥氣！！ XDDDDD&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;131 Heretic people all over the world have claimed that this inconsistency&lt;br /&gt;132 is ...  well ...  inconsistent, but all right-thinking people know that&lt;br /&gt;133 (a) K&amp;R are _right_ and (b) K&amp;R are right.  Besides, functions are&lt;br /&gt;134 special anyway (you can't nest them in C).&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;182 When declaring pointer data or a function that returns a pointer type, the&lt;br /&gt;183 preferred use of '*' is adjacent to the data name or function name and not&lt;br /&gt;184 adjacent to the type name.  Examples:&lt;br /&gt;185 &lt;br /&gt;186         char *linux_banner;&lt;br /&gt;187         unsigned long long memparse(char *ptr, char **retptr);&lt;br /&gt;188         char *match_strdup(substring_t *s);&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;很好，因為我這次的 Ch5-1 就是寫在 type name。 :P 因為我覺得滿美觀的呀，尤其是要同時宣告很多這種變數的時候，就一個 * 套用到宣告出來的多個變數。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.answers.com/unary"&gt;What is unary&lt;/a&gt;&lt;br /&gt;Meaning one; a single entity or operation, or an expression that requires only one operand.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;209 C is a &lt;b&gt;Spartan&lt;/b&gt; language&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;我以為看到 &lt;a href="http://www.wretch.cc/blog/kojhkimo&amp;article_id=7818016&amp;page=2"&gt;三百兄貴&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;209 C is a Spartan language, and so should your naming be.  Unlike Modula-2&lt;br /&gt;210 and Pascal programmers, &lt;b&gt;C programmers do not use cute names like&lt;br /&gt;211 ThisVariableIsATemporaryCounter.&lt;/b&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;XDDDDDDDD&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;224 Encoding the type of a function into the name (so-called Hungarian&lt;br /&gt;225 notation) is brain damaged - the compiler knows the types anyway and can&lt;br /&gt;226 check those, and it only confuses the programmer.  No wonder MicroSoft&lt;br /&gt;227 makes buggy programs.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;b&gt;brain damaged&lt;/b&gt; 翻譯成「頭殼壞掉」是最適合不過了！！整段寫的超搞笑，笑死我了啦～～～～～&lt;br /&gt;我之前學過 Hungarian notation in VB，覺得 btn 代表 Button 這個元件很合適，也很容易閱讀，可是他為甚麼說只要 compiler 知道類型就好了，不考慮人的問題呢？強記？還是看宣告就行了！？&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;235 If you are afraid to mix up your local variable names, you have another&lt;br /&gt;236 problem, which is called the function-growth-hormone-imbalance syndrome.&lt;br /&gt;237 See chapter 6 (Functions).&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;看到 &lt;b&gt;function-growth-hormone-imbalance syndrome&lt;/b&gt; 還以為什麼專業的單字，害我猛起勁來查 stardict，結果得到 「生長功能荷爾蒙失調併發症」！！幹～～～～ 寫這篇的人到底在寫什麼啦？這篇根本是笑話集！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;244 It's a _mistake_ to use typedef for structures and pointers.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;我承認 Ch5-1 裡面有用到 &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;typedef struct {...} student;&lt;br /&gt;student* stu;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;這種他說的錯誤。而且還犯了兩種錯誤。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;397 Comments are good, but there is also a danger of over-commenting.  NEVER&lt;br /&gt;398 try to explain HOW your code works in a comment: it's much better to&lt;br /&gt;399 write the code so that the _working_ is obvious, and it's a waste of&lt;br /&gt;400 time to explain badly written code.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;所以寫 comment 是為了解釋「工作內容」，而非「如何工作」。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;402 Generally, you want your comments to tell WHAT your code does, not HOW.&lt;br /&gt;403 Also, try to avoid putting comments inside a function body: if the&lt;br /&gt;404 function is so complex that you need to separately comment parts of it,&lt;br /&gt;405 you should probably go back to chapter 6 for a while.  You can make&lt;br /&gt;406 small comments to note or warn about something particularly clever (or&lt;br /&gt;407 ugly), but try to avoid excess.  Instead, put the comments at the head&lt;br /&gt;408 of the function, telling people what it does, and possibly WHY it does&lt;br /&gt;409 it.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;盡量避免一個 function or class 做太多功能，這樣才能節省 comment 的長度，和讀者了解的「墾掘深度」。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;420         /*&lt;br /&gt;421          * This is the preferred style for multi-line&lt;br /&gt;422          * comments in the Linux kernel source code.&lt;br /&gt;423          * Please use it consistently.&lt;br /&gt;424          *&lt;br /&gt;425          * Description:  A column of asterisks on the left side,&lt;br /&gt;426          * with beginning and ending almost-blank lines.&lt;br /&gt;427          */&lt;br /&gt;428 &lt;br /&gt;429 It's also important to comment data, whether they are basic types or derived&lt;br /&gt;430 types.  To this end, use just one data declaration per line (no commas for&lt;br /&gt;431 multiple data declarations).  This leaves you room for a small comment on each&lt;br /&gt;432 item, explaining its use.&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;一個資料描述一行，逗號後面換行。&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;437 That's OK, we all do.  You've probably been told by your long-time Unix&lt;br /&gt;438 user helper that "GNU emacs" automatically formats the C sources for&lt;br /&gt;439 you, and you've noticed that yes, it does do that, but the defaults it&lt;br /&gt;440 uses are less than desirable (in fact, they are worse than random&lt;br /&gt;441 typing - an infinite number of monkeys typing into GNU emacs would never&lt;br /&gt;442 make a good program).&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;這未免也太人身攻擊了吧，p 老師就是 emacs 愛用者，該不會 emacs 的使用者都跑去 non-Linux dist 吧！？ :P 難怪 Linux kernel loading balancing 沒有比某個 BSD 來的好！&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;473 recognize the authority of K&amp;R (the GNU people aren't evil, they are&lt;br /&gt;474 just severely misguided in this matter),&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;哈！我看到這裡，實在是... 想要知道當初是什麼條件讓 Linus Torvalds 願意將 Linux Kernel 以 GPL 釋出！？出櫃？ XDDDD&lt;br /&gt;&lt;br /&gt;@_@!? 出櫃不是 screw-up... : 出櫃（英文“come out of the closet”的直譯，指暴露同志身份）&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RTL : &lt;a href="http://www.answers.com/topic/rtl"&gt;http://www.answers.com/topic/rtl&lt;/a&gt;&lt;br /&gt;Register Transfer Level&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.gnu.org/manual/"&gt;&lt;b&gt;GNU Manuals Online&lt;/b&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.open-std.org/JTC1/SC22/WG14/"&gt;&lt;b&gt;JTC1/SC22/WG14 - C&lt;/b&gt;&lt;/a&gt; &lt;br /&gt;WG14 is the international standardization working group for the programming language C&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-8310061077892804913?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://lxr.linux.no/source/Documentation/CodingStyle#L10' title='Linus said st in Linux kernel coding style'/><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/8310061077892804913/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=8310061077892804913&amp;isPopup=true' title='2 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8310061077892804913'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8310061077892804913'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/05/linux-kernel-coding-style.html' title='Linus said st in Linux kernel coding style'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6520780387077194217</id><published>2007-04-29T11:34:00.000+08:00</published><updated>2007-04-29T11:36:20.121+08:00</updated><title type='text'>Char's pointer's pointer</title><content type='html'>&lt;a href="http://www.java2s.com/Code/C/Pointer/Charspointerspointer.htm"&gt;This&lt;/a&gt; is a good example to know how to pass char's pointer to the function.&lt;br /&gt;&lt;br /&gt;char *name[3];&lt;br /&gt;name[0] = "a2n";&lt;br /&gt;name[1] = "c9s";&lt;br /&gt;name[2] = "ccn";&lt;br /&gt;&lt;br /&gt;Known name at 0x1, and its content is:&lt;br /&gt;&lt;br /&gt;{0x100, 0x101, 0x102}&lt;br /&gt;&lt;br /&gt;Meaning indicates to "a2n", "c9s" and "ccn", respectively.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The array "name" saves the three string's address in its array space, hence, pass the array "name" to other function might via the address, and access the content of array "name" via address again. In the other word, I shall using "Pointer into Pointer" in the parameters field of array "name". :-)&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;h3&gt;Example:&lt;/h3&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;void show(char **name)&lt;br /&gt;{&lt;br /&gt;  for (int i = 0; i &lt; 3; i++) cout &lt;&lt; *name[i] &lt;&lt; endl;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;char *name[3];&lt;br /&gt;name[0] = "a2n";&lt;br /&gt;name[1] = "c9s";&lt;br /&gt;name[2] = "ccn";&lt;br /&gt;show(name);&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6520780387077194217?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='related' href='http://www.java2s.com/Code/C/Pointer/Charspointerspointer.htm' title='Char&apos;s pointer&apos;s pointer'/><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6520780387077194217/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6520780387077194217&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6520780387077194217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6520780387077194217'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/04/chars-pointers-pointer.html' title='Char&apos;s pointer&apos;s pointer'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6390764440651661685</id><published>2007-04-11T16:18:00.000+08:00</published><updated>2007-04-11T16:19:47.525+08:00</updated><title type='text'>How can I create a program alias?</title><content type='html'>&lt;a href="http://www.windowsitpro.com/Articles/ArticleID/14908/14908.html"&gt;How can I create a program alias?&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;A. It is possible to create an alias for a program, for example to define johnword.exe to actually run winword.exe. To do this perform the following:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;*Start the registry editor (regedit.exe)&lt;br /&gt;*Move to HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths&lt;br /&gt;*From the Edit menu select New - Key&lt;br /&gt;*Enter the name of the alias, e.g. johnword.exe and press Enter&lt;br /&gt;*Move to the new key and double click on the (Default) value (it is blank by default)&lt;br /&gt;*Set to the fully qualified file name it should run, e.g. C:\Program *Files\Microsoft Office\Office\winword.exe. Click OK&lt;br /&gt;*Optionally you can create a new String called Path which is where the program will first start running (Edit - New - String Value - Path, double click and set to the starting path)&lt;br /&gt;*Close the registry editor&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;If you now select Run from the start menu and type johnword.exe it would start Microsoft Word, cool!&lt;br /&gt;&lt;br /&gt;If you type your alias from the command prompt it will not find it, however if you type&lt;br /&gt;&lt;br /&gt;C:\&gt; start &lt;alias name&gt;&lt;br /&gt;&lt;br /&gt;it will work fine.&lt;br /&gt;&lt;br /&gt;The actual program name does not have to be an .exe program -- it can be any file that has an association (such as "C:\temp\ntfaq.url"). The alias itself can remain as an .exe.&lt;br /&gt;&lt;br /&gt;If the alias is an .exe, then the "run" or "start" command does not need to include the extension. If the alias is NOT an .exe, then you need to use the full name but then you are not limited to any extensions (but it must have some extension). Your alias can be John.Savill which you have aliased to "C:\ProgramYadaYadaYada\Winword.exe" and Word will start up just fine.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6390764440651661685?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6390764440651661685/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6390764440651661685&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6390764440651661685'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6390764440651661685'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/04/how-can-i-create-program-alias.html' title='How can I create a program alias?'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-8432818576633927108</id><published>2007-04-10T16:57:00.000+08:00</published><updated>2007-04-10T19:17:19.850+08:00</updated><title type='text'>Haiku OS</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_s1gTCa1Asu0/RhtyK5r4SBI/AAAAAAAAABE/uVpfeSpOhDA/s1600-h/Haiku_qemu.PNG"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;" src="http://1.bp.blogspot.com/_s1gTCa1Asu0/RhtyK5r4SBI/AAAAAAAAABE/uVpfeSpOhDA/s320/Haiku_qemu.PNG" border="0" alt=""id="BLOGGER_PHOTO_ID_5051756938635266066" /&gt;&lt;/a&gt;&lt;br /&gt;很像 BeOS，連 icon 也要 vector！ 哈哈！！&lt;br /&gt;&lt;br /&gt;&lt;a href="http://haiku-os.org/files/downloads/2007-02-13_haiku-tech-talk.pdf"&gt;Slide&lt;/a&gt;&lt;br /&gt;&lt;a href="http://haiku-os.org/"&gt;Haiku OS&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-8432818576633927108?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/8432818576633927108/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=8432818576633927108&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8432818576633927108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8432818576633927108'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/04/haiku-os.html' title='Haiku OS'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_s1gTCa1Asu0/RhtyK5r4SBI/AAAAAAAAABE/uVpfeSpOhDA/s72-c/Haiku_qemu.PNG' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4040880585977842206</id><published>2007-03-30T19:47:00.000+08:00</published><updated>2007-03-30T20:03:37.400+08:00</updated><title type='text'>Pointer Discrepancy between vc++ &amp; g++</title><content type='html'>&lt;pre&gt;&lt;br /&gt;  1 #include &lt;iostream&gt;&lt;br /&gt;  2&lt;br /&gt;  3 using namespace std;&lt;br /&gt;  4&lt;br /&gt;  5 int main()&lt;br /&gt;  6 {&lt;br /&gt;  7         int a = 1, b = 2;&lt;br /&gt;  8         int *x;&lt;br /&gt;  9&lt;br /&gt; 10         cout &lt;&lt; "x: " &lt;&lt; x &lt;&lt; '\t';&lt;br /&gt; 11         cout &lt;&lt; "*x: " &lt;&lt; *x &lt;&lt; '\t';&lt;br /&gt; 12         cout &lt;&lt; "&amp;x: " &lt;&lt; &amp;x &lt;&lt; '\t';&lt;br /&gt; 13&lt;br /&gt; 14         cout &lt;&lt; endl;&lt;br /&gt; 15&lt;br /&gt; 16         x = &amp;a;&lt;br /&gt; 17         cout &lt;&lt; "x = &amp;a" &lt;&lt; '\t';&lt;br /&gt; 18         cout &lt;&lt; "x: " &lt;&lt; x &lt;&lt; '\t';&lt;br /&gt; 19         cout &lt;&lt; "*x: " &lt;&lt; *x &lt;&lt; '\t';&lt;br /&gt; 20         cout &lt;&lt; "&amp;x: " &lt;&lt; &amp;x &lt;&lt; '\t';&lt;br /&gt; 21&lt;br /&gt; 22         cout &lt;&lt; endl;&lt;br /&gt; 23&lt;br /&gt; 24         x = &amp;a - 1;&lt;br /&gt; 25         cout &lt;&lt; "x = &amp;b" &lt;&lt; '\t';&lt;br /&gt; 26         cout &lt;&lt; "x: " &lt;&lt; x &lt;&lt; '\t';&lt;br /&gt; 27         cout &lt;&lt; "*x: " &lt;&lt; *x &lt;&lt; '\t';&lt;br /&gt; 28         cout &lt;&lt; "&amp;x: " &lt;&lt; &amp;x &lt;&lt; '\t';&lt;br /&gt; 29&lt;br /&gt; 30         cout &lt;&lt; endl;&lt;br /&gt; 31         return 0;&lt;br /&gt; 32 }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 (VC6++)&lt;/h5&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;modified code...&lt;br /&gt;&lt;br /&gt;x = &amp;a  x: 0012FF7C     *x: 1   &amp;x: 0012FF74&lt;br /&gt;x = &amp;a-1  x: 0012FF78     *x: 2   &amp;x: 0012FF74&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;g++ (GCC) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)&lt;/h5&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;x: 0xb7f518dc   *x: -1  &amp;x: 0xbf97f214&lt;br /&gt;x = &amp;a  x: 0xbf97f218   *x: 1   &amp;x: 0xbf97f214&lt;br /&gt;x = &amp;a-1  x: 0xbf97f214   *x: -1080561132 &amp;x: 0xbf97f214&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;g++ 讓我驚訝！！ 結果 VC++ 2005 Expression 也讓我受精。 XD&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 14.00.50727.762 for 80x86&lt;/h5&gt;&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;x = &amp;a  x: 0012FF60     *x: 1   &amp;x: 0012FF48&lt;br /&gt;x = &amp;a-1  x: 0012FF5C     *x: -858993460  &amp;x: 0012FF48&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4040880585977842206?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4040880585977842206/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4040880585977842206&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4040880585977842206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4040880585977842206'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/03/pointer-discrepancy-between-vc-g.html' title='Pointer Discrepancy between vc++ &amp; g++'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-8257493995309914544</id><published>2007-03-30T18:38:00.000+08:00</published><updated>2007-03-30T20:02:31.084+08:00</updated><title type='text'>Pointer sequence #2</title><content type='html'>&lt;pre&gt;&lt;br /&gt;  1 #include &lt;iostream&gt;&lt;br /&gt;  2&lt;br /&gt;  3 using namespace std;&lt;br /&gt;  4&lt;br /&gt;  5 int main()&lt;br /&gt;  6 {&lt;br /&gt;  7         int a = 1, b = 2;&lt;br /&gt;  8         int *x;&lt;br /&gt;  9&lt;br /&gt; 10         cout &lt;&lt; "x: " &lt;&lt; x &lt;&lt; '\t';&lt;br /&gt; 11         cout &lt;&lt; "*x: " &lt;&lt; *x &lt;&lt; '\t';&lt;br /&gt; 12         cout &lt;&lt; "&amp;x: " &lt;&lt; &amp;x &lt;&lt; '\t';&lt;br /&gt; 13&lt;br /&gt; 14         cout &lt;&lt; endl;&lt;br /&gt; 15&lt;br /&gt; 16         x = &amp;a;&lt;br /&gt; 17         cout &lt;&lt; "x = &amp;a" &lt;&lt; '\t';&lt;br /&gt; 18         cout &lt;&lt; "x: " &lt;&lt; x &lt;&lt; '\t';&lt;br /&gt; 19         cout &lt;&lt; "*x: " &lt;&lt; *x &lt;&lt; '\t';&lt;br /&gt; 20         cout &lt;&lt; "&amp;x: " &lt;&lt; &amp;x &lt;&lt; '\t';&lt;br /&gt; 21&lt;br /&gt; 22         cout &lt;&lt; endl;&lt;br /&gt; 23&lt;br /&gt; 24         x = &amp;b;&lt;br /&gt; 25         cout &lt;&lt; "x = &amp;b" &lt;&lt; '\t';&lt;br /&gt; 26         cout &lt;&lt; "x: " &lt;&lt; x &lt;&lt; '\t';&lt;br /&gt; 27         cout &lt;&lt; "*x: " &lt;&lt; *x &lt;&lt; '\t';&lt;br /&gt; 28         cout &lt;&lt; "&amp;x: " &lt;&lt; &amp;x &lt;&lt; '\t';&lt;br /&gt; 29&lt;br /&gt; 30         cout &lt;&lt; endl;&lt;br /&gt; 31         return 0;&lt;br /&gt; 32 }&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;g++ (GCC) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)&lt;/h5&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;x: 0xb7f078dc   *x: -1  &amp;x: 0xbff350c4&lt;br /&gt;x = &amp;a  x: 0xbff350cc   *x: 1   &amp;x: 0xbff350c4&lt;br /&gt;x = &amp;b  x: 0xbff350c8   *x: 2   &amp;x: 0xbff350c4&lt;br /&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 (VC6++)&lt;/h5&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;跑到 line 10 就結束！&lt;br /&gt;&lt;br /&gt;then modified code.&lt;br /&gt;x = &amp;a  x: 0012FF7C     *x: 1   &amp;x: 0012FF74&lt;br /&gt;x = &amp;b  x: 0012FF78     *x: 2   &amp;x: 0012FF74&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-8257493995309914544?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/8257493995309914544/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=8257493995309914544&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8257493995309914544'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/8257493995309914544'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/03/pointer-sequence-2.html' title='Pointer sequence #2'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-2562189789623412205</id><published>2007-03-30T18:25:00.000+08:00</published><updated>2007-03-30T18:37:34.846+08:00</updated><title type='text'>Pointer sequence #1</title><content type='html'>&lt;pre&gt;&lt;br /&gt;#include &lt;iostream&gt;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;        int a, b, c, d, e;&lt;br /&gt; int i;&lt;br /&gt;&lt;br /&gt;        cout &lt;&lt; "Input five numbers: \n";&lt;br /&gt;        cin &gt;&gt; a &gt;&gt; b &gt;&gt; c &gt;&gt; d &gt;&gt; e;&lt;br /&gt;        cout &lt;&lt; "A: " &lt;&lt; &amp;a &lt;&lt; "\nB: " &lt;&lt; &amp;b&lt;br /&gt;        &lt;&lt; "\nC: " &lt;&lt; &amp;c &lt;&lt; "\nD: " &lt;&lt; &amp;d &lt;&lt; "\nE: " &lt;&lt; &amp;e;&lt;br /&gt;&lt;br /&gt; cout &lt;&lt; endl;&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 (VC6++)&lt;/h5&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;A: 0012FF7C&lt;br /&gt;B: 0012FF78&lt;br /&gt;C: 0012FF74&lt;br /&gt;D: 0012FF70&lt;br /&gt;E: 0012FF6C&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;g++ (GCC) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)&lt;/h5&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;A: 0xbfdc2cec&lt;br /&gt;B: 0xbfdc2ce8&lt;br /&gt;C: 0xbfdc2ce4&lt;br /&gt;D: 0xbfdc2ce0&lt;br /&gt;E: 0xbfdc2cdc&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#include &lt;iostream&gt;&lt;br /&gt;&lt;br /&gt;using namespace std;&lt;br /&gt;&lt;br /&gt;int main()&lt;br /&gt;{&lt;br /&gt;&lt;br /&gt;        cout &lt;&lt; "Input five numbers: \n";&lt;br /&gt;        cin &gt;&gt; a &gt;&gt; b &gt;&gt; c &gt;&gt; d &gt;&gt; e;&lt;br /&gt;        for (i = 0; i &lt; 5; i++)&lt;br /&gt;                cout &lt;&lt; "Var" &lt;&lt; i &lt;&lt; ":\t"&lt;br /&gt;                &lt;&lt; &amp;a - i &lt;&lt; " : "&lt;br /&gt;                &lt;&lt; *(&amp;a - i) &lt;&lt; '\n';&lt;br /&gt;&lt;br /&gt; cout &lt;&lt; endl;&lt;br /&gt; return 0;&lt;br /&gt;}&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 12.00.8804 for 80x86 (VC6++)&lt;/h5&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;Var0:   0012FF7C : 1&lt;br /&gt;Var1:   0012FF78 : 2&lt;br /&gt;Var2:   0012FF74 : 3&lt;br /&gt;Var3:   0012FF70 : 4&lt;br /&gt;Var4:   0012FF6C : 5&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;&lt;h5&gt;g++ (GCC) 4.1.2 20060928 (prerelease) (Ubuntu 4.1.1-13ubuntu5)&lt;/h5&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;1&lt;br /&gt;2&lt;br /&gt;3&lt;br /&gt;4&lt;br /&gt;5&lt;br /&gt;Var0:   0xbfdea9e0 : 1&lt;br /&gt;Var1:   0xbfdea9dc : 2&lt;br /&gt;Var2:   0xbfdea9d8 : 3&lt;br /&gt;Var3:   0xbfdea9d4 : 4&lt;br /&gt;Var4:   0xbfdea9d0 : 5&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-2562189789623412205?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/2562189789623412205/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=2562189789623412205&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/2562189789623412205'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/2562189789623412205'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/03/pointer-sequence-1.html' title='Pointer sequence #1'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-5725798754226443857</id><published>2007-03-08T22:38:00.000+08:00</published><updated>2007-03-08T22:51:59.117+08:00</updated><title type='text'>All mail -&gt; Gmail</title><content type='html'>看到 &lt;a href="http://antbsd.twbbs.org/~ant/wordpress/"&gt;Yi-Feng Tzeng’s Blog&lt;/a&gt; 的 &lt;a href="http://antbsd.twbbs.org/~ant/wordpress/?p=575"&gt;用 Gmail 收取外部郵件&lt;/a&gt;後，開始動手設定我的幾個信箱都納入 Gmail 管理。&lt;br /&gt;&lt;br /&gt;兩個學術單位信箱，Y! 需要付費才有 POP3 收信功能，加上最近的 spam 都直接進入 inbox，所以想要放棄 Y! 了，目前它的功能只剩下 tw.clubs 和網拍的認證而已。&lt;br /&gt;&lt;br /&gt;Gmail 方便至極，不用我多說。哈哈，但是我還是覺得有些改進的空間，找個時間去寫 feedback 給他們。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-5725798754226443857?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/5725798754226443857/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=5725798754226443857&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5725798754226443857'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5725798754226443857'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/03/all-mail-gmail.html' title='All mail -&gt; Gmail'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-5246799911310844465</id><published>2007-02-18T22:51:00.000+08:00</published><updated>2007-02-18T23:13:36.511+08:00</updated><title type='text'>MITOCW grabber</title><content type='html'>&lt;b&gt;NAME&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;grabber.sh - Grabbing the MIT OCW course data.&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;SYNOPSIS&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;sh grabber.sh&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;DESCRIPTION&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;今天清晨睡不著起來寫的一支小程式，專門用來抓 &lt;a href="http://ocw.mit.edu/"&gt;MIT OCW&lt;/a&gt; 的課程資料。獲益就是複習和增進 Regular Expression 的用法，並且搭配很多 Unix pipe (|)，小小的心得而已，跟大家分享我的程式。&lt;/ul&gt;&lt;br /&gt;&lt;b&gt;KNOWN BUGS&lt;/b&gt;&lt;br /&gt;&lt;ol&gt;&lt;br /&gt;1. Welcome.htm 拉到 index.htm 有瑕疵&lt;br /&gt;2. URL.txt 裡面有重複的列，因為課程名稱一樣&lt;br /&gt;&lt;/ol&gt;&lt;br /&gt;&lt;b&gt;AUTHOR&lt;/b&gt;&lt;br /&gt;&lt;ul&gt;Alan Lu. (alan0098/a/gmail/d/com)&lt;/ul&gt;&lt;br /&gt;&lt;br /&gt;&lt;hr&gt;&lt;br /&gt;有行數程式碼放在 &lt;a href="http://163.26.225.215/~a2n/src/grabber_nu.sh.txt"&gt;http://163.26.225.215/~a2n/src/grabber_nu.sh.txt&lt;/a&gt;&lt;br /&gt;無行數的程式碼放在 &lt;a href="http://163.26.225.215/~a2n/src/grabber.sh.txt"&gt;http://163.26.225.215/~a2n/src/grabber.sh.txt&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;RegExp 小記：&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;1. &lt;a href="http://www.regular-expressions.info/"&gt;http://www.regular-expressions.info/&lt;/a&gt;&lt;br /&gt;2. 有機會的話，用 PHP 實做一次吧。&lt;br /&gt;3. 橋個時間來比賽 RegExp race. :D&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-5246799911310844465?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/5246799911310844465/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=5246799911310844465&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5246799911310844465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5246799911310844465'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/02/mitocw-grabber.html' title='MITOCW grabber'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-5894079473512178552</id><published>2007-01-13T16:16:00.000+08:00</published><updated>2007-01-13T16:32:12.673+08:00</updated><title type='text'>Remote backup</title><content type='html'>SSH:&lt;br /&gt;    dd if=/dev/foo | ssh foo@foo dd of=foo&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FTP:&lt;br /&gt;    ftp foo&lt;br /&gt;    ftp&gt; bin&lt;br /&gt;    ftp&gt; put "| dd if=/dev/foo" foo&lt;br /&gt;    ftp&gt; get foo "| dd of=/dev/foo"&lt;br /&gt;    ftp&gt; get foo.tar.bz2 "| tar -xj -"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;ref: 1. http://www.wsp.krakow.pl/~bar/DOC/ssh_backup.html&lt;br /&gt;     2. http://0rz.net/741kp&lt;br /&gt;        http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?&lt;br /&gt;        topic=/com.ibm.aix.doc/infocenter/howto/HT_prftungd_slowTSMbkupperf.htm&lt;br /&gt;google: backup dd if= ftp -ssh&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-5894079473512178552?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/5894079473512178552/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=5894079473512178552&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5894079473512178552'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/5894079473512178552'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/01/remote-backup.html' title='Remote backup'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6740127396315682742</id><published>2007-01-11T18:28:00.000+08:00</published><updated>2007-01-11T19:31:45.674+08:00</updated><title type='text'>GNU GLOBAL</title><content type='html'>&lt;a href="http://www.gnu.org/software/global/"&gt;GNU GLOBAL&lt;/a&gt; is a source code tag system that works the same way across diverse environments.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;17:02:46 :: linux-2.6.19.1 $ time gtags&lt;br /&gt;&lt;br /&gt;real    25m56.492s&lt;br /&gt;user    1m44.167s&lt;br /&gt;sys     1m47.283s&lt;br /&gt;&lt;br /&gt;17:28:48 :: linux-2.6.19.1 $ time htags&lt;br /&gt;&lt;br /&gt;real    43m1.615s&lt;br /&gt;user    3m19.044s&lt;br /&gt;sys     21m41.105s&lt;br /&gt;&lt;br /&gt;19:09:04 :: linux-2.6.19.1 $ du -sh HTML/&lt;br /&gt;2.1G    HTML/&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;目前轉好兩個專案，分別是 7-zip 和 FileZilla，放在&lt;a href="http://163.26.225.215/src/"&gt; 野人 &lt;/a&gt;。提供這種原始碼線上瀏覽的網站，有大名鼎鼎的&lt;a href="http://lxr.linux.no/source/"&gt; Cross-Referencing Linux &lt;/a&gt;，使用 LXR 系統轉換的。&lt;br /&gt;&lt;br /&gt;Update: Notepad++ 399 已新增。&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6740127396315682742?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6740127396315682742/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6740127396315682742&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6740127396315682742'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6740127396315682742'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/01/gnu-global.html' title='GNU GLOBAL'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-4644232982319745357</id><published>2007-01-05T11:09:00.000+08:00</published><updated>2007-01-05T11:10:24.733+08:00</updated><title type='text'>PCman alasing</title><content type='html'>PCMan for win32 的版本，針對英文與中文文章時，中文的 refresh 速度比英文慢，難道是 TryeType 的問題嗎？&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-4644232982319745357?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/4644232982319745357/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=4644232982319745357&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4644232982319745357'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/4644232982319745357'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2007/01/pcman-alasing.html' title='PCman alasing'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-3933937359491876348</id><published>2006-12-25T16:54:00.000+08:00</published><updated>2006-12-25T16:58:18.559+08:00</updated><title type='text'>libc6-dev</title><content type='html'>stdio.h is in libc-dev package.&lt;br /&gt;&lt;br /&gt;GNU C Library: Development Libraries and Header Files&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-3933937359491876348?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/3933937359491876348/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=3933937359491876348&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3933937359491876348'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/3933937359491876348'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2006/12/libc6-dev.html' title='libc6-dev'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-6756292648351376346</id><published>2006-12-18T20:48:00.001+08:00</published><updated>2006-12-18T20:49:04.905+08:00</updated><title type='text'>youtube-dl</title><content type='html'>youtube-dl is a small command-line program to download videos from YouTube.com. It requires the Python interpreter, version 2.4 or later, and it's not platform specific. It should work in your Unix box, in Windows or in Mac OS X. The latest version is 2006.12.07. It's licensed under the MIT License, which means you can modify it, redistribute it or use it however you like complying with a few simple conditions.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.arrakis.es/~rggi3/youtube-dl/"&gt;http://www.arrakis.es/~rggi3/youtube-dl/&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-6756292648351376346?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/6756292648351376346/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=6756292648351376346&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6756292648351376346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/6756292648351376346'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2006/12/youtube-dl.html' title='youtube-dl'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-14475696.post-1034406014057416290</id><published>2006-12-08T10:08:00.000+08:00</published><updated>2007-04-29T17:17:18.433+08:00</updated><title type='text'>agup daily</title><content type='html'>I've been execute "apup" to "sodu apt-get upgrade" daily, it's more than edgy distribution, so it's a experiment one. I am afraid of that there're many holes in my box, that if I haven't update one.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/14475696-1034406014057416290?l=a2n-work.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://a2n-work.blogspot.com/feeds/1034406014057416290/comments/default' title='張貼意見'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=14475696&amp;postID=1034406014057416290&amp;isPopup=true' title='0 個意見'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1034406014057416290'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/14475696/posts/default/1034406014057416290'/><link rel='alternate' type='text/html' href='http://a2n-work.blogspot.com/2006/12/agup-daily.html' title='agup daily'/><author><name>Alan Lu (盧利雄)</name><uri>http://www.blogger.com/profile/06589021619276060421</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='24' src='http://4.bp.blogspot.com/_s1gTCa1Asu0/TJFVr5m9pOI/AAAAAAAAHaQ/sv4bTM7ihF4/S220/DSC05441.jpg'/></author><thr:total>0</thr:total></entry></feed>
