<?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-6059016432998323683</id><updated>2011-11-28T00:56:53.290+07:00</updated><category term='linux'/><category term='KDE'/><category term='oss'/><category term='sysadmin'/><category term='news'/><category term='kubuntu'/><category term='sunday clip'/><category term='convert'/><category term='security'/><category term='tutorial'/><category term='blogspot'/><category term='softwares'/><category term='làm chủ Bash shell'/><category term='game'/><category term='blog'/><category term='đánh giá'/><category term='20th Anniversary'/><category term='blogger'/><category term='quản trị hệ thống'/><category term='IT  music'/><category term='8'/><category term='windows'/><category term='network'/><category term='fun'/><category term='ubuntu'/><category term='poet'/><category term='svn'/><title type='text'>Blog of Thăng - Linux System Administrator</title><subtitle type='html'>Think open source, think differently...</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://www.duythang.net/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://www.duythang.net/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>38</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-8938878800818326043</id><published>2011-11-28T00:42:00.001+07:00</published><updated>2011-11-28T00:49:09.575+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='8'/><category scheme='http://www.blogger.com/atom/ns#' term='sysadmin'/><category scheme='http://www.blogger.com/atom/ns#' term='quản trị hệ thống'/><title type='text'>Quản trị hệ thống và 8 điều cần nhớ</title><content type='html'>&lt;br /&gt;&lt;div class="separator" style="clear: both; text-align: center;"&gt;&lt;a href="http://2.bp.blogspot.com/-OLARK_BITZ4/TtJ35-1sKcI/AAAAAAAAA4U/W7dToKyva14/s1600/2680168375_97369493e2_o.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" height="240" src="http://2.bp.blogspot.com/-OLARK_BITZ4/TtJ35-1sKcI/AAAAAAAAA4U/W7dToKyva14/s320/2680168375_97369493e2_o.jpg" width="320" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;1. &lt;b&gt;Không bước lên nếu không có đường lùi:&lt;/b&gt; Đừng làm thao tác gì mà chúng ta không thể phục hồi, kể cả việc xoá file tạm (tốt nhất là đừng dùng lệnh xoá, hãy dùng lệnh move).&lt;br /&gt;&lt;br /&gt;2. &lt;b&gt;Luôn kiểm tra dữ liệu sao lưu&lt;/b&gt;, đừng mù quáng cho rằng nó vẫn ổn. Hệ thống sao lưu tự động có thể bị lỗi vào một ngày xấu trời nào đó. Phải đảm bảo rằng &lt;b&gt;luôn có thể phục hồi &lt;/b&gt;dữ liệu từ bản sao lưu.&lt;br /&gt;&lt;br /&gt;3. &lt;b&gt;Ghi chép&lt;/b&gt; lại các công việc đã làm, kể cả những việc không thể quên, vì chúng ta vẫn sẽ quên thôi.&lt;br /&gt;&lt;br /&gt;4. Nếu làm 1 công việc đến lần thứ 2, &lt;b&gt;hãy viết script&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;5. Luôn nhớ: Chúng ta đang làm việc phục vụ người khác,&lt;b&gt; chúng ta không phải là chủ của hệ thống&lt;/b&gt;, nên đừng đùa giỡn với hệ thống. Đừng đem hệ thống ra làm chuột bạch thí nghiệm.&lt;br /&gt;&lt;br /&gt;6. &lt;b&gt;Kiểm tra bản sao lưu dữ liệu&lt;/b&gt;.&lt;br /&gt;&lt;br /&gt;7.&lt;b&gt; Bác học cũng không ngừng học.&lt;/b&gt; Những kiến thức mới sẽ giúp công việc chúng ta nhẹ nhàng hơn, và giúp hệ thống hoạt động ổn định và an toàn hơn.&lt;br /&gt;&lt;br /&gt;8. Một lần nữa,&lt;b&gt; hãy kiểm tra bản backup&lt;/b&gt;.&lt;br /&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-8938878800818326043?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/8938878800818326043/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2011/11/quan-tri-he-thong-va-8-ieu-can-nho.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8938878800818326043'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8938878800818326043'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2011/11/quan-tri-he-thong-va-8-ieu-can-nho.html' title='Quản trị hệ thống và 8 điều cần nhớ'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/-OLARK_BITZ4/TtJ35-1sKcI/AAAAAAAAA4U/W7dToKyva14/s72-c/2680168375_97369493e2_o.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-7915795098005346940</id><published>2011-11-02T00:14:00.001+07:00</published><updated>2011-11-02T00:20:04.560+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='blogger'/><category scheme='http://www.blogger.com/atom/ns#' term='blog'/><category scheme='http://www.blogger.com/atom/ns#' term='blogspot'/><title type='text'>Trở lại với Blogger</title><content type='html'>Hôm nay vào &lt;a href="http://gmailblog.blogspot.com/2011/11/gmails-new-look.html"&gt;blog Gmail &lt;/a&gt;thấy giao diện khác quá, vội quay lại Blogspot của mình thì cảm thấy rất thú vị khi biết nó đã bổ sung giao diện mới Dynamic view, với nhiều kiểu hay ho như Timeline, Mosaic hoặc Magazine. Sau một hồi vọc vạch, quyết định change giao diện blog mình về kiểu &lt;strike&gt;magazine&lt;/strike&gt;&amp;nbsp;sidebar, và từ nay sẽ tìm lại thói quen viết, hehe.&lt;br /&gt;&lt;br /&gt;Về phần bạn Blogspot, phải công nhận là dạo này bạn ấy thay đổi rất nhiều. Trong bối cảnh các mạng xã hội lên ngôi, các tumblelog cũng được đà phát triển, rõ ràng là blog truyền thống, với những sự bất tiện của mình, đang mất thị phần nghiêm trọng. Google ý thức được điều này, nên đã thực hiện rất nhiều "biến tấu" đối với Blogspot, với sự đơn giản hóa và tiết kiệm thời gian, đồng thời nâng cao tính thẩm mĩ và tiện dụng, từ giao diện admin tới khung soạn thảo, và cả giao diện chính của blog. Đó là sự đổi mới toàn diện, từ tổng quan đến chi tiết. Bạn có thể xem chi tiết những sự thay đổi này &lt;a href="http://j.mp/sbzwAt"&gt;ở đây&lt;/a&gt;.&amp;nbsp;Có thể nói, với sự thay máu đợt này, Blogspot đã trở thành dịch vụ blog tiện dụng nhất.&lt;br /&gt;&lt;br /&gt;Để kết thúc entry này, chúng ta hãy quay trở lại với giao diện Dynamic Views qua&amp;nbsp;clip giới thiệu từ Blogger team:&lt;br /&gt;&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="text-align: center;"&gt;&lt;iframe allowfullscreen="" frameborder="0" height="315" src="http://www.youtube.com/embed/lpDQF2lFnBU" width="560"&gt;&lt;/iframe&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-7915795098005346940?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/7915795098005346940/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2011/11/tro-lai-voi-blogger.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/7915795098005346940'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/7915795098005346940'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2011/11/tro-lai-voi-blogger.html' title='Trở lại với Blogger'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/lpDQF2lFnBU/default.jpg' height='72' width='72'/><thr:total>0</thr:total><georss:featurename>Ngõ, Khương Thượng, Đống Đa, Hanoi, Vietnam</georss:featurename><georss:point>21.002791568108968 105.82674980163574</georss:point><georss:box>20.99537956810897 105.81687930163574 21.010203568108967 105.83662030163575</georss:box></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-5021959620357964131</id><published>2011-07-03T15:12:00.002+07:00</published><updated>2011-07-03T15:19:20.632+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sunday clip'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='20th Anniversary'/><title type='text'>Sunday clip: The Story of Linux -  Câu chuyện của 20 năm</title><content type='html'>&lt;div&gt;Chủ nhật là ngày thoải mái nhất để xem các video clip. Hôm nay chúng ta sẽ xem một clip của Linux Foundation, thực hiện nhân dịp kỉ niệm 20 năm Linux. Chúng ta sẽ cùng nhớ lại Linus Torvald đã viết ra Linux như thế nào, liên hệ với dự án GNU ra sao, và cùng xem cách  mà Linux đã làm thay đổi thế giới 20 năm qua. &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;iframe width="640" height="390" src="http://www.youtube.com/embed/5ocq6_3-nEw" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;P/S: Tất nhiên, mỗi chúng ta đều xuất hiện trong câu chuyện này ;))&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-5021959620357964131?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/5021959620357964131/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2011/07/sunday-clip-story-of-linux-cau-chuyen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/5021959620357964131'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/5021959620357964131'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2011/07/sunday-clip-story-of-linux-cau-chuyen.html' title='Sunday clip: The Story of Linux -  Câu chuyện của 20 năm'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/5ocq6_3-nEw/default.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-1375113242788388950</id><published>2011-06-26T22:37:00.003+07:00</published><updated>2011-06-26T22:45:22.957+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sunday clip'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Sunday clip: Linux AD - What does it me</title><content type='html'>&lt;div&gt;Clip rất hay và sáng tạo, nội dung thể hiện triết lý của Linux ^^. Tác phẩm lọt vào top 5 của cuộc thi "We're Linux".&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;iframe width="480" height="390" src="http://www.youtube.com/embed/qWEIQIv8zvY" frameborder="0" allowfullscreen=""&gt;&lt;/iframe&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-1375113242788388950?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/1375113242788388950/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2011/06/sunday-clip-linux-ad-what-does-it-me.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/1375113242788388950'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/1375113242788388950'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2011/06/sunday-clip-linux-ad-what-does-it-me.html' title='Sunday clip: Linux AD - What does it me'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://img.youtube.com/vi/qWEIQIv8zvY/default.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-7315460642380062722</id><published>2010-12-23T23:09:00.006+07:00</published><updated>2011-11-28T00:56:18.465+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oss'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='svn'/><title type='text'>Cài đặt server SVN trên nền CentOS</title><content type='html'>&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;a href="" name="OLE_LINK3"&gt;&lt;/a&gt;&lt;a href="" name="OLE_LINK2"&gt;&lt;/a&gt;&lt;a href="" name="OLE_LINK1"&gt;&lt;span style="color: black; font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;/span&gt;&lt;/a&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;a href="" name="OLE_LINK1"&gt;&lt;span style="color: black; font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;Subversion (SVN) là một phần mềm mã nguồn mở dùng để quản lý và kiểm tra các phiên bản mã nguồn khác nhau trong quá trình phát triển phần mềm.&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="color: black; font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;Trong bài viết này tôi sẽ trình bày các bước thiết lập một máy chủ Subversion trên nền hệ điều hành CentOS. Bài hướng dẫn này bao gồm các nội dung chính:&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;- Cài đặt subversion và cách tạo một repository mới&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;- Thiết lập WebDAV để có thể sử dụng SVN qua giao thức HTTP&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;Bạn cần hiểu về các khái niệm của SVN trước khi cài đặt. Có thể tham khảo ở link sau: &lt;/span&gt;&lt;a href="http://svnbook.red-bean.com/en/1.5/svn.basic.html"&gt;&lt;span style="color: blue; font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;http://svnbook.red-bean.com/en/1.5/svn.basic.html&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;b&gt;1.&lt;/b&gt; Cài đặt Subversion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;Trên Centos, cài đặt subversion rất đơn giản, bạn chỉ cần sử dụng lệnh yum:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;# yum install subversion&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;b&gt;2.&lt;/b&gt; Bước tiếp theo sẽ là tạo một repository mới. Giả sử bạn đã có thư mục &lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;/services/subversion&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;, và muốn tạo repository mới ở đây, tên là &lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;new_project&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;. Các lệnh để thiết lập như sau:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;# svnadmin create --fs-type fsfs /services/subversion/repositories/new_project&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;b&gt;3.&lt;/b&gt; Cài đặt và cấu hình &lt;/span&gt;&lt;span courier="" new="" style="font-size: 12pt;" times=""&gt;mod_dav_svn&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt; của Apache&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;i&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;WebDAV (&lt;/span&gt;&lt;/i&gt;&lt;a href="http://andrew2.andrew.cmu.edu/rfc/rfc2518.html"&gt;&lt;i&gt;&lt;span style="color: blue; font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;RFC 2518&lt;/span&gt;&lt;/i&gt;&lt;/a&gt;&lt;i&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;) là một tập hợp các chuẩn mở rộng của giao thức HTTP, để cho phép nhiều người dùng có thể hợp tác sửa đổi và quản lý từ xa các file trên một webserver. Được viết dựa trên tập chuẩn WebDAV, module dav_svn của Apache cho phép chúng ta truy cập repository SVN của mình thông qua máy chủ web Apache.&lt;/span&gt;&lt;/i&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;- Cài đặt &lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;mod_dav_svn&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;# yum install mod_dav_svn&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;- File &lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;/etc/httpd/conf.d/subversion.conf&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;LoadModule dav_svn_module     modules/mod_dav_svn.so&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;LoadModule authz_svn_module   modules/mod_authz_svn.so&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt; &amp;lt; Location /repos/ &amp;gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;  DAV svn&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;  SVNParentPath /&lt;span style="color: black;"&gt;services/subversion&lt;/span&gt;/repositories/&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;  AuthzSVNAccessFile /&lt;span style="color: black;"&gt;services&lt;/span&gt;/subversion/auth/acl&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;  SVNListParentPath on&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;  SVNPathAuthz off&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;  AuthType Basic&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;  AuthName "SVN Center"&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;  AuthUserFile /&lt;span style="color: black;"&gt;services&lt;/span&gt;/subversion/auth/account&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;  Require valid-user&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;&amp;lt;/Location &amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;Các tham số quan trọng của file &lt;span style="color: black;"&gt;subversion.conf:&lt;/span&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;Tham số &lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;Location&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt; quy định URL SVN của bạn (VD: &lt;i&gt;http://example.com/repos/new_project&lt;/i&gt;).&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;Tham số &lt;/span&gt;&lt;span style="color: black; font-family: 'Courier New'; font-size: 12pt;"&gt;SVNParentPath&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt; khai báo đường dẫn tới thư mục chứa các repository.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;Tham số &lt;/span&gt;&lt;span style="color: black; font-family: 'Courier New'; font-size: 12pt;"&gt;AuthUserFile&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt; khai báo đường dẫn tới file chứa các tài khoản người dùng SVN.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;Giá trị của tham số  &lt;/span&gt;&lt;span style="color: black; font-family: 'Courier New'; font-size: 12pt;"&gt;AuthzSVNAccessFile&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt; là đường dẫn đầy đủ của file cấu hình ACL, có chức năng phân quyền cho người dùng.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;- Tạo thư mục auth: &lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;# mkdir /&lt;span style="color: black;"&gt;services&lt;/span&gt;/subversion/auth&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;- Tạo file tài khoản:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;# touch /&lt;span style="color: black;"&gt;services&lt;/span&gt;/subversion/auth/account&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;- Tạo file access control list:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;# touch &lt;span style="color: black;"&gt;services&lt;/span&gt;/subversion/auth/acl&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;- Restart Apache:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;# service httpd restart&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;b&gt;4.&lt;/b&gt; Để có thể sử dụng repository &lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;new_project&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt; ta đã tạo ở bước 2, cần thiết lập permission cho phép Apache sử dụng thư mục repository (giả sử Apache đang được chạy bởi user apache):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;# chown -R apache:apache /&lt;span style="color: black;"&gt;services&lt;/span&gt;/subversion/repositories/new_project&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;# chmod -R g+w /&lt;span style="color: black;"&gt;services&lt;/span&gt;/subversion/repositories/new_project&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;# chmod g+s /&lt;span style="color: black;"&gt;services&lt;/span&gt;/subversion/repositories/new_project/db&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;b&gt;5.&lt;/b&gt; Tạo một tài khoản SVN mới bằng lệnh (hệ thống sẽ yêu cầu bạn khai báo mật khẩu cho tài khoản này):&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;# htpasswd -m /&lt;span style="color: black;"&gt;services&lt;/span&gt;/subversion/auth/account svn_user&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;b&gt;6.&lt;/b&gt; Cấp quyền truy cập cho tài khoản &lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;svn_user&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt; bằng cách khai báo repository và tài khoản vào file acl như sau:&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;&lt;/span&gt;&lt;/div&gt;&lt;blockquote&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;[new_project:/]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;svn_user = rw&lt;/span&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;Như vậy, tài khoản &lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;svn_user&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt; sẽ có quyền đọc và ghi đối với repository &lt;/span&gt;&lt;span style="font-family: 'Courier New'; font-size: 12pt;"&gt;new_project&lt;/span&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;. Bạn có thể check out repository của mình thông qua URL &lt;i&gt;http://example.com/repos/new_project &lt;/i&gt;với tài khoản trên.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;Nếu bạn muốn tạo thêm một repository mới, hãy thực hiện lại các bước 2, 4, 5, 6.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;Để tìm hiểu thêm về cách cài đặt và cấu hình Subversion, bạn hãy đọc chương 5 của ebook: &lt;/span&gt;&lt;span style="color: blue; font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;a href="http://svnbook.red-bean.com/en/1.5/svn-book.html"&gt;http://svnbook.red-bean.com/en/1.5/svn-book.html&lt;/a&gt;&lt;/span&gt;&lt;a href="http://svnbook.red-bean.com/en/1.5/svn-book.html"&gt;&lt;/a&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div class="MsoNormal" style="line-height: normal; margin-bottom: .0001pt; margin-bottom: 0in;"&gt;&lt;span style="font-family: 'Times New Roman', serif; font-size: 12pt;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-7315460642380062722?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/7315460642380062722/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2010/12/cai-at-server-svn-tren-nen-centos.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/7315460642380062722'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/7315460642380062722'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2010/12/cai-at-server-svn-tren-nen-centos.html' title='Cài đặt server SVN trên nền CentOS'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-6009201051550500289</id><published>2010-12-04T00:27:00.004+07:00</published><updated>2010-12-04T00:36:59.567+07:00</updated><title type='text'>Google sắp mở Chrome Web Store</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i165.photobucket.com/albums/u59/Thangola/linh%20tinh/Chromeapp.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 600px;" src="http://i165.photobucket.com/albums/u59/Thangola/linh%20tinh/Chromeapp.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span class="Apple-style-span" style="border-collapse: collapse; font-family: arial, sans-serif; font-size: 13px; "&gt;&lt;p&gt;Đang code thì nhận được email từ team Chrome/Chromium. Như vậy là Google sắp tung ra chiêu mới: Web Store, để chọn đường cho việc kinh doanh apps trên Chrome OS sau này. Các bạn tập tành viết app dần đi, sắp bán được rồi đấy ^^.&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;&lt;span&gt;&lt;i&gt;&lt;span class="Apple-style-span" style="font-size: medium; "&gt;&lt;/span&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;h1 class="ha" style="font-family: arial, sans-serif; font-size: 16px; margin-top: 12px; margin-right: 150px !important; margin-bottom: 5px; margin-left: 10px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(0, 0, 0); background: inherit; border-right: inherit; position: relative; z-index: 10; "&gt;&lt;span id=":q1" class="hP" style="padding-right: 10px; "&gt;&lt;i&gt;Upcoming Launch of the Chrome Web Store&lt;/i&gt;&lt;/span&gt;&lt;/h1&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;Hello!&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;i&gt;&lt;span&gt;Thank you for developing for Google Chrome. These last few months, our team has been hard at work, preparing for the&lt;/span&gt;&lt;span&gt;&lt;a href="http://chrome.google.com/extensions" target="_blank" style="color: rgb(25, 107, 123); "&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="http://chrome.google.com/extensions" target="_blank" style="color: rgb(25, 107, 123); "&gt;Chrome Web Store&lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="http://chrome.google.com/extensions" target="_blank" style="color: rgb(25, 107, 123); "&gt;l&lt;/a&gt;&lt;/span&gt;&lt;span&gt;aunch later this year. Extensions and themes for Google Chrome will be part of this new store. With this email we wanted to inform you of some upcoming developments and changes in the extensions gallery and how you can best prepare the items you have listed in the gallery for the upcoming launch.&lt;/span&gt;&lt;/i&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li value="1" style="margin-left: 15px; "&gt;&lt;i&gt;&lt;span&gt;We have updated our guidelines for extension and theme creative assets&lt;/span&gt;&lt;span&gt;: We recommend you to produce all the creative materials described in our&lt;/span&gt;&lt;span&gt;&lt;a href="http://code.google.com/chrome/webstore/docs/images.html" target="_blank" style="color: rgb(25, 107, 123); "&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="http://code.google.com/chrome/webstore/docs/images.html" target="_blank" style="color: rgb(25, 107, 123); "&gt;docs&lt;/a&gt;&lt;/span&gt;&lt;span&gt;. These are currently available only to apps developers but the same guidelines will apply to all items listed in the store&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;span&gt;once we launch. So, &lt;/span&gt;&lt;span&gt;if you get these prepared now, you are going to be ready when the store launches. For those of you with complex extensions, we also highly recommend investing some time in preparing videos and slideshows, describing how your extensions work.&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li value="2" style="margin-left: 15px; "&gt;&lt;i&gt;&lt;span&gt;Double-check our &lt;/span&gt;&lt;span&gt;&lt;a href="http://code.google.com/chrome/webstore/branding.html" target="_blank" style="color: rgb(25, 107, 123); "&gt;branding policies&lt;/a&gt;&lt;/span&gt;&lt;span&gt;: If you are using Google trademarks and brand names to describe your items, please take a moment to re-read our branding policies to help you avoid common mistakes.&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li value="1" style="margin-left: 15px; "&gt;&lt;i&gt;&lt;span&gt;Verify your listed items using Google’s Webmaster Tools&lt;/span&gt;&lt;span&gt;: This new feature allows you to associate your website with the items you have posted in the store. This will make users more comfortable trying them out. Access this feature at the&lt;/span&gt;&lt;span&gt;&lt;a href="https://chrome.google.com/extensions/developer/dashboard" target="_blank" style="color: rgb(25, 107, 123); "&gt; &lt;/a&gt;&lt;/span&gt;&lt;span&gt;&lt;a href="https://chrome.google.com/extensions/developer/dashboard" target="_blank" style="color: rgb(25, 107, 123); "&gt;developer dashboard&lt;/a&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li value="1" style="margin-left: 15px; "&gt;&lt;i&gt;&lt;span&gt;Set up your Google Checkout merchant account and associate it with your developer account&lt;/span&gt;&lt;span&gt;: If you are &lt;/span&gt;&lt;span&gt;located in the US&lt;/span&gt;&lt;span&gt; and want to sell apps and eventually extensions or themes through the store, you’ll need to register for a Google Checkout merchant account. You can find more information on this new &lt;/span&gt;&lt;span&gt;&lt;a href="http://www.google.com/support/chrome/bin/answer.py?answer=96832" target="_blank" style="color: rgb(25, 107, 123); "&gt;help article&lt;/a&gt;&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;ol&gt;&lt;li value="1" style="margin-left: 15px; "&gt;&lt;i&gt;&lt;span&gt;Make your extensions more discoverable:&lt;/span&gt;&lt;span&gt; We will be launching a robust system of extensions categories in the gallery. You now have the option to classify your extension in up to three of these categories through the developer dashboard. This will help your extension be discovered by users who will be browsing the pages for each category.&lt;/span&gt;&lt;/i&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;span&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;i&gt;Thank you again for making Google Chrome a better browser.&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;i&gt; &lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;span&gt;&lt;i&gt;The Google Chrome Extensions team&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;span&gt;&lt;/span&gt;&lt;/p&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-6009201051550500289?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/6009201051550500289/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2010/12/google-sap-mo-chrome-web-store.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/6009201051550500289'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/6009201051550500289'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2010/12/google-sap-mo-chrome-web-store.html' title='Google sắp mở Chrome Web Store'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i165.photobucket.com/albums/u59/Thangola/linh%20tinh/th_Chromeapp.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-2751298226085829478</id><published>2010-06-02T23:52:00.000+07:00</published><updated>2010-06-02T23:53:57.968+07:00</updated><title type='text'>Bảo vệ mắt tốt hơn với Redshift</title><content type='html'>Bạn là người làm việc với máy tính? Bạn sử dụng máy nhiều hơn 10 giờ mỗi ngày? Và mỗi tối bạn có hơn 5 tiếng dùng máy? Mắt bạn luôn ở trong trạng thái mệt mỏi hoặc buồn ngủ do ánh sáng từ màn hình máy tính. Hãy thử sử dụng phần mềm &lt;a href="http://jonls.dk/redshift/"&gt;Redshift&lt;/a&gt;. Redshift sẽ tinh chỉnh nhiệt độ màu của màn hình cho phù hợp với ánh sáng xung quanh bạn, dựa vào toạ độ địa lý của bạn. &lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Vào ban đêm, nhiệt độ màu sẽ được chỉnh cho phù hợp với nhiệt độ màu của đèn trong phòng (khoảng 3700K đối với bóng dây tóc). Ban ngày, nhiệt độ màu sẽ tương ứng với nhiệt độ màu của ánh sáng tự nhiên, khoảng 5500K - 6500K (mặc định là 5500K). Ánh sáng sẽ có nhiệt độ cao hơn vào những ngày nhiều mây. Khi nhiệt độ màu màn hình phù hợp với nhiệt độ màu của ngoại cảnh, mắt bạn sẽ không còn cảm giác mệt mỏi do làm việc lâu bên máy tính nữa.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Để cài đặt Redshift cho Ubuntu Lucid và Karmic, bạn có thể thêm repository và cài như sau:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span"   style="  color: rgb(51, 51, 51); line-height: 19px; font-family:Arial, Tahoma, Verdana;font-size:12px;"&gt;&lt;ul&gt;&lt;li&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;sudo add-apt-repository&lt;/span&gt;&lt;/b&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt; &lt;/span&gt;&lt;strong&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;ppa:jonls/redshift-ppa&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;li&gt;&lt;strong&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;sudo apt-get update &amp;amp;&amp;amp; sudo apt-get install redshift&lt;/span&gt;&lt;/strong&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;Sau khi cài đặt thành công, bạn vào website &lt;a href="http://www.getlatlon.com/"&gt;http://www.getlatlon.com/&lt;/a&gt; để lấy vĩ độ và kinh độ chính xác nơi bạn ở. Ví dụ, toạ độ ở Yên Phụ, Hà Nội là khoảng (21.1, 105.9). Sau đó, bạn mở một cửa sổ Terminal và chạy lệnh sau để redshift hoạt động:&lt;/div&gt;&lt;div&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"   style="font-size:100%;color:#333333;"&gt;&lt;span class="Apple-style-span"  style=" line-height: 19px;font-size:12px;"&gt;&lt;b&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;gtk-redshift -l 21.1:105:9 &lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/div&gt;&lt;div&gt;Để chương trình có thể chạy lúc khởi động, bạn thêm lệnh trên vào danh mục các ứng dụng chạy start-up (&lt;span class="Apple-style-span"   style="  color: rgb(51, 51, 51); line-height: 19px; font-family:Arial, Tahoma, Verdana;font-size:12px;"&gt;&lt;em class=" aptureTMMSelection"&gt;System &gt; Preferences &gt; Start-up Application&lt;/em&gt;&lt;/span&gt;). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bạn có thể sử dụng tham số -t để thay đổi nhiệt độ màu mặc định của redshift. Ví dụ:&lt;/div&gt;&lt;span class="Apple-style-span"   style="  color: rgb(51, 51, 51); font-weight: bold; line-height: 19px; font-family:Arial, Tahoma, Verdana;font-size:12px;"&gt;&lt;ul&gt;&lt;li&gt;&lt;span class="Apple-style-span"  style="font-family:'courier new';"&gt;gtk-redshift  -l  21.1:105:9 -t 6700:4700&lt;/span&gt;&lt;/li&gt;&lt;/ul&gt;&lt;/span&gt;&lt;div&gt;Trong đó 6700 là nhiệt độ màu ban ngày, 4700 là nhiệt độ màu ban đêm. Mình thấy để nhiệt độ là 6700:4700 sẽ vừa với mắt hơn ^^ (mặc định là 5500:3700).&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bạn cũng có thể tạm thời tắt redshift để xem ảnh hoặc phim với màu sắc thực bằng cách kích chuột vào biểu tượng của redshift trên khay hệ thống.&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Chúc các bạn sức khoẻ để thành công ^^.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-2751298226085829478?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/2751298226085829478/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2010/06/bao-ve-mat-tot-hon-voi-redshift.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/2751298226085829478'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/2751298226085829478'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2010/06/bao-ve-mat-tot-hon-voi-redshift.html' title='Bảo vệ mắt tốt hơn với Redshift'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-2363148861479689064</id><published>2010-05-30T23:49:00.002+07:00</published><updated>2010-06-02T23:57:22.060+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sunday clip'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Sunday clip: Linux everything is possible</title><content type='html'>&lt;object height="385" width="480"&gt;&lt;param name="movie" value="http://www.youtube.com/v/bSEGj3PK4Is&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/bSEGj3PK4Is&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="385" width="480"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;Imagine a place, where everyone can by fly ^^...&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-2363148861479689064?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/2363148861479689064/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2010/05/linux-everything-is-possible.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/2363148861479689064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/2363148861479689064'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2010/05/linux-everything-is-possible.html' title='Sunday clip: Linux everything is possible'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-3862763738184409580</id><published>2010-05-23T23:39:00.001+07:00</published><updated>2010-05-23T23:43:00.142+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='sunday clip'/><category scheme='http://www.blogger.com/atom/ns#' term='IT  music'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Sunday clip: Linux Sets You Free</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/8bVDQ4rVrM4&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/8bVDQ4rVrM4&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bài hát vui nhộn được sáng tác và thể hiện bởi Scott Dastrup. &lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-3862763738184409580?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/3862763738184409580/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2010/05/sunday-clip-linux-sets-you-free.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/3862763738184409580'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/3862763738184409580'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2010/05/sunday-clip-linux-sets-you-free.html' title='Sunday clip: Linux Sets You Free'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-8074600640172301100</id><published>2010-05-14T00:19:00.006+07:00</published><updated>2010-05-14T01:08:18.493+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='softwares'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Những phần mềm nào sẽ được cài mặc định cho Ubuntu Netbook Edition 10.10?</title><content type='html'>&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/unity-2.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 640px;" src="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/unity-2.png" border="0" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="https://blueprints.edge.launchpad.net/ubuntu/+spec/desktop-maverick-une-app-selection"&gt;Bản kế hoạch các phần mềm mặc định&lt;/a&gt; cho Ubuntu Netbook Edition 10.10 (UNE 10.10) vừa được đưa lên Launchpad ngày hôm nay. Tất nhiên danh sách này vẫn đang trong quá trình thảo luận, và có thể có những thay đổi nếu cần ^^.&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Đầu tiên là&lt;b&gt; trình duyệt web&lt;/b&gt;. Trình duyệt mặc định cho UNE 10.10 sẽ là &lt;a href="http://code.google.com/chromium/"&gt;Chromium&lt;/a&gt;, phần mềm nguồn mở do Google hậu thuẫn. Bản kế hoạch viết rằng Chromium sẽ là trình duyệt mặc định cho đến bản Alpha3, nếu như nó phù hợp với kích thước của đĩa LiveCD. Chromium cũng còn một số vấn đề khác cần xem xét. Các vấn đề này chủ yếu liên quan đến sự tương thích về phần mềm (in ấn, &lt;span class="Apple-style-span"   style="  line-height: 17px; font-family:'dejavu sans', 'bitstream vera sans', verdana, sans-serif;font-size:14px;"&gt;ffmepg, openjdk,...&lt;/span&gt;) cũng như giao diện (menu, buttons). Nếu Chromium không được chọn, trình duyệt mặc định sẽ là Midori.&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 26, 139); -webkit-text-decorations-in-effect: underline; "&gt;&lt;br /&gt;&lt;img src="http://yorba.org/static/images/shotwell/shotwell1.jpg" border="0" alt="" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 640px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;a href="http://yorba.org/shotwell/"&gt;Shotwell&lt;/a&gt; nhiều khả năng sẽ được chọn làm trình &lt;b&gt;quản lý ảnh&lt;/b&gt;. Shotwell tương đối nhẹ, và tương thích khá tốt với các dịch vụ. Đây là trình quản lý ảnh duy nhất trên Gnome hiện có thể tương tác với cả Picasa, Flick và Facebook.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 26, 139); -webkit-text-decorations-in-effect: underline; "&gt;&lt;img src="http://projects.gnome.org/gnumeric/images/gnumeric-sample.png" border="0" alt="" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 640px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 26, 139); -webkit-text-decorations-in-effect: underline; "&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;b&gt;Bộ công cụ văn phòng&lt;/b&gt; OpenOffice sẽ được thay thế bởi ba phần mềm tương ứng là Abiword, &lt;a href="http://projects.gnome.org/gnumeric/"&gt;Gnumeric&lt;/a&gt; và &lt;a href="http://blogs.gnome.org/racarr/2010/04/20/introducing-glide-presentations-for-gnome/"&gt;Glide&lt;/a&gt;. Cũng như Ubuntu 10.04, Zoho sẽ vẫn được cung cấp kèm theo, tuy nhiên nhược điểm của dịch vụ này là không phục vụ chỉnh sửa ngoại tuyến! &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(85, 26, 139); -webkit-text-decorations-in-effect: underline; "&gt;&lt;br /&gt;&lt;img src="http://download.banshee-project.org/shots/1.5.1/banshee-autodj.png" border="0" alt="" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 600px; height: 369px; " /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Về &lt;b&gt;chương trình multimedia&lt;/b&gt;, khả năng Banshee được chọn vẫn cao nhất. Trình chơi nhạc của Moblin (&lt;span class="Apple-style-span"   style="  line-height: 17px; font-family:'dejavu sans', 'bitstream vera sans', verdana, sans-serif;font-size:14px;"&gt;hornsey&lt;/span&gt;) đã bị bỏ rơi. XBMC tuy tốt nhưng lại không sử dung gstreamer. Vấn đề của Banshee chỉ là liệu nó có phù hợp với đĩa LiveCD (lại vấn đề dung lượng ^.-). &lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Cuối cùng, nhóm phát triển vẫn đang thảo luận về việc trình khách email nào sẽ được cài mặc định. Có vẻ như họ sẽ tuỳ biến lại Evolution cho phù hợp với netbook. Đã có một bản tuỳ biến của Evolution là &lt;span class="Apple-style-span"   style="  ;font-family:Verdana, Arial, Helvetica, sans-serif;font-size:13px;"&gt;&lt;a href="http://live.gnome.org/Evolution/Art" style="color: rgb(23, 57, 75); text-decoration: underline; font-weight: bold; "&gt;Evolution Express&lt;/a&gt;&lt;/span&gt;, nhưng hình như có nhiều người không thích nó.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Về phần mình, mình vẫn khoái nghe nhạc bằng Rthymbox, Symphony cho tác vụ văn phòng và webmail + 1 tool notify cho thư điện tử :"&gt;.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-8074600640172301100?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/8074600640172301100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2010/05/nhung-phan-mem-nao-se-uoc-cai-mac-inh.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8074600640172301100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8074600640172301100'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2010/05/nhung-phan-mem-nao-se-uoc-cai-mac-inh.html' title='Những phần mềm nào sẽ được cài mặc định cho Ubuntu Netbook Edition 10.10?'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i165.photobucket.com/albums/u59/Thangola/Screenshot/th_unity-2.png' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-8600052806241923333</id><published>2010-05-09T04:52:00.002+07:00</published><updated>2010-05-09T05:20:19.383+07:00</updated><title type='text'>Cần làm gì sau khi cài Ubuntu: Chạy script này ngay</title><content type='html'>&lt;div&gt;&lt;br /&gt;&lt;/div&gt;Script được viết bởi Andrew[at]webupd8.org, Mục đích của script này là đơn giản hoá việc cấu hình mọi thứ của Lucid ngay sau khi cài đặt. Việc cấu hình bao gồm tự động mount các ổ NTFS lúc khởi động, thêm các kho (repository) bổ sung như Medibuntu hay GetDeb, xoá các gói không cần thiết, cài đặt các phần mềm quan trọng (VLC, Chrome, Dropbox,...) cho đến những tinh chỉnh nhỏ như chuyển windows button về bên trái theo kiểu Karmic, tắt âm thanh đăng nhập hoặc đổi ngày đầu tuần thành Thứ 2 thay vì chủ Nhật,...&lt;br /&gt;&lt;br /&gt;Nhờ script, chúng ta có thể tiến hành nhanh chóng và đơn giản những công việc mà ta có thể phải tốn hàng chục câu lệnh.&lt;br /&gt;&lt;br /&gt;Phiên bản mới nhất 0.4.9.1 đã hỗ trợ tiếng Việt. Các bạn có thể tải về từ địa chỉ:&lt;br /&gt;&lt;a href="http://launchpad.net/ubuntustart/0.4.x/0.4.9/+download/ubuntu-10.04-start-0.4.9.1.tar.gz"&gt;http://launchpad.net/ubuntustart/0.4.x/0.4.9/+download/ubuntu-10.04-start-0.4.9.1.tar.gz&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Một vài screenshot:&lt;br /&gt;&lt;br /&gt;&lt;div&gt;&lt;a href="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/Lucid-start-script-1.png"&gt;&lt;br /&gt;&lt;img src="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/Lucid-start-script-1.png" border="0" alt="" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 499px; height: 691px; " /&gt;&lt;/a&gt;&lt;a href="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/Lucid-start-script-2.png"&gt;&lt;br /&gt;&lt;img src="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/Lucid-start-script-2.png" border="0" alt="" style="display: block; margin-top: 0px; margin-right: auto; margin-bottom: 10px; margin-left: auto; text-align: center; cursor: pointer; width: 647px; height: 542px; " /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-8600052806241923333?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/8600052806241923333/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2010/05/can-lam-gi-sau-khi-cai-ubuntu-chay.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8600052806241923333'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8600052806241923333'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2010/05/can-lam-gi-sau-khi-cai-ubuntu-chay.html' title='Cần làm gì sau khi cài Ubuntu: Chạy script này ngay'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i165.photobucket.com/albums/u59/Thangola/Screenshot/th_Lucid-start-script-1.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-3464037947752324023</id><published>2009-12-15T23:33:00.011+07:00</published><updated>2010-04-14T13:34:24.669+07:00</updated><title type='text'>Tìm hiểu những cải tiến của KDE SC 4.4b</title><content type='html'>Beta 1 là bản thử nghiệm mới nhất của KDE SC 4.4. Tin rằng nó sẽ có nhiều cải tiến, tôi đã cài thử lên OpenSUSE 11.2 và làm việc trên đó liên tục trong vài ngày gần đây. Và giờ đây tôi xin được tổng hợp một số tính năng mới của bản KDE này (Video demo có ở cuối bài viết này).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/kdesc-44-window-tabbed-3.png"&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 700px;" src="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/kdesc-44-window-tabbed-3.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Bản 4.4 beta là bản đầu tiên sử dụng tên mới KDE SC (KDE Software Compilation) [*], thay cho tên cũ là KDE desktop environment. Ở phiên bản này, nhóm phát triển đã xây dựng những tính năng mới rất thú vị.&lt;br /&gt;&lt;br /&gt;Nếu bạn rất thích cách bố trí tab trên title bar của Google Chrome, hãy nghía qua bức ảnh sau của Mozilla FireFox trên KDE SC 4.4, và chú ý vào thanh tiêu đề của cửa sổ:&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 700px;" src="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/kdesc-44-window-tabbed-1.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Bạn nghĩ rằng Mozilla đã cải tiến giao diện cho FF? Không. Đây là tính năng "Tabbed windows" của KWin. Tính năng này cho phép người dùng nhóm các cửa sổ khác nhau vào một group hiển thị dạng tab. Điều này thực sự tiện lợi khi người dùng phải làm việc với rất nhiều cửa sổ đồng thời.&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer;" src="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/kdesc-44-window-tabbed-2.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Cũng như KWin, Plasma cũng đã có rất nhiều thay đổi. Folder Viewer đã được cải tiến đến mức tiện lợi nhất, giúp chúng ta có thể view một file ở bất kỳ thư mục nào mà không tốn đến một lần click chuột:&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 700px;" src="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/kde-44-folder-viewer.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hộp thoại Add Widgets đã được thay đổi, tích hợp xuống đáy màn hình, gọn gàng và tiện dụng:&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 700px;" src="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/112-snapshot8.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Trong khi đó, hộp thoại Run lại được chuyển lên trên, tích hợp tính năng search desktop được cung cấp bởi dự án Nepomuk:&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer;" src="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/kdesc-44-runbox-1.png" alt="" border="0" /&gt;      &lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer;" src="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/kdesc-44-runbox-2.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Từ phiên bản KDE 4.0, nhóm phát triển đã muốn thay đổi khái niệm Desktop truyền thống, bản chất là một thư mục bình thường. Để làm điều đó, họ đã đưa ra khái niệm Activity, kèm theo đó là các Widgets. KDE SC 4.4 đã cụ thể hóa khái niệm này. Một desktop có thể được cài đặt trở thành một trong 3 loại Activity:&lt;br /&gt;- Desktop Activity: Là Desktop trong các version trước của KDE4: Một không gian và chúng ta thêm thoải mái các Widgets để có các chức năng mong muốn.&lt;br /&gt;- Search and Launch Activity: Activity này cho phép chúng ta search và khởi động các chương trình trên máy cá nhân một cách nhanh nhất.&lt;br /&gt;- News Activity: Activity này được tối ưu cho việc đọc tin (RSS, microblog,...) bằng việc chia các Widgets tin tức vào hai cột. Tuy nhiên chức năng này chưa được hoàn thiện (còn khá nhiều bug).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Desktop Activity:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 700px;" src="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/112-snapshot7.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Search and Launch Activity:&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;img style="display: block; margin: 0px auto 10px; text-align: center; cursor: pointer; width: 700px;" src="http://i165.photobucket.com/albums/u59/Thangola/Screenshot/112-snapshot4-1.png" alt="" border="0" /&gt;&lt;br /&gt;&lt;br /&gt;Ngoài ra, các ứng dụng khác trong KDE SC 4.4 như Dolphin, Konsole, Knotifier, Klipper cũng có nhiều thay đổi tích cực. Để có những trải nghiệm cụ thể, bạn hãy cài thử lên VirtualBox ^^.&lt;br /&gt;&lt;br /&gt;Have fun ^^.&lt;br /&gt;&lt;br /&gt;&lt;a name="comment"&gt;[*]&lt;/a&gt; Nhãn hiệu KDE đã được xác định lại từ &lt;span style="font-weight: bold;"&gt;"K Desktop Environment"&lt;/span&gt; thành &lt;strong&gt;"KDE Software Compilation"&lt;/strong&gt;, thể hiện rằng KDE hiện nay không còn là một phần mềm như trước, mà đã trở thành một tập hợp các phần mềm xây dựng trên một nền tảng chung (KDE Platform).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update:&lt;/span&gt; Video giới thiệu tính năng của KDE SC 4.4&lt;br /&gt;&lt;br /&gt;Part I:&lt;br /&gt;&lt;br /&gt;&lt;object height="385" width="640"&gt;&lt;param name="movie" value="http://www.youtube.com/v/aEuapaLJF8g&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;embed src="http://www.youtube.com/v/aEuapaLJF8g&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x234900&amp;amp;color2=0x4e9e00" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" height="385" width="640"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Part II:&lt;br /&gt;&lt;br /&gt;&lt;object width="640" height="385"&gt;&lt;param name="movie" value="http://www.youtube.com/v/WrcIUkQnYjk&amp;hl=en_US&amp;fs=1&amp;color1=0x234900&amp;color2=0x4e9e00"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/WrcIUkQnYjk&amp;hl=en_US&amp;fs=1&amp;color1=0x234900&amp;color2=0x4e9e00" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="640" height="385"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-3464037947752324023?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/3464037947752324023/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2009/12/beta-1-la-ban-thu-nghiem-moi-nhat-cua.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/3464037947752324023'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/3464037947752324023'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2009/12/beta-1-la-ban-thu-nghiem-moi-nhat-cua.html' title='Tìm hiểu những cải tiến của KDE SC 4.4b'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://i165.photobucket.com/albums/u59/Thangola/Screenshot/th_kdesc-44-window-tabbed-3.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-3931156123143703099</id><published>2009-06-23T23:49:00.005+07:00</published><updated>2009-06-24T00:23:24.078+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='làm chủ Bash shell'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Làm chủ Linux Bash shell: Chuyển hướng xuất/nhập trong Linux</title><content type='html'>&lt;span style="font-style: italic; color: rgb(0, 102, 0);"&gt;Tiếp tục serie bài &lt;/span&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;Làm chủ Linux Bash shell&lt;/span&gt;&lt;span style="font-style: italic; color: rgb(0, 102, 0);"&gt; với một bài viết của anh Nguyễn Việt Cường, thành viên nhóm OSG ColTech. Bài viết đã được đăng ở &lt;a href="http://www.fotech.org/forum/"&gt;diễn đàn Fotech&lt;/a&gt; ở &lt;a href="http://www.fotech.org/forum/index.php?showtopic=15541"&gt;chủ đề này&lt;/a&gt;.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hôm nay nhân chuyện có người hỏi về làm thế nào để chạy một lệnh một cách "âm thầm" tức là không in cái gì ra màn hình cả, mình viết một cái tut nhỏ về chuyện này. Ví dụ đưa ra ở đây là lệnh curl, chi tiết về cú pháp lệnh thì sử dụng "man curl" trên Linux hoặc trên Google.&lt;br /&gt;&lt;br /&gt;Trước hết, ta sẽ đi thẳng vào vấn đề rồi sau đó mới giải thích. Để một lệnh chạy trong chế độ "âm thầm" như vậy thì ta thêm đoạn sau vào đuôi lệnh:&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(0, 102, 0);"&gt;&gt; /dev/null 2&gt;&amp;amp;1&lt;/blockquote&gt;Mà cụ thể nếu ta muốn làm công việc đó với lệnh curl thì như sau:&lt;br /&gt;&lt;blockquote  style="font-family:courier new;"&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;$ curl http://osg.vnu.edu.vn/ &gt; /dev/null 2&gt;&amp;amp;1&lt;/span&gt;&lt;/blockquote&gt;Vì sao lại làm thế? Dấu "&gt;" có ý nghĩa gì? "&lt;span style="font-family:courier new;"&gt;/dev/null&lt;/span&gt;" là cái gì mà ghê gớm thế? "2&gt;&amp;amp;1" là cái gì mà trông kì lạ thế? Đó cũng là những thắc mắc của mình khi bước vào thế giới Linux/Unix.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. Giới thiệu&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Trên hầu hết các hệ điều hành nói chung và Linux/Unix nói riêng thì có 3 dòng xuất nhập chuẩn (I/O) là STDIN, STDOUT và STDERR mà chức năng tương ứng là dòng nhập chuẩn, dòng xuất chuẩn và dòng xuất lỗi chuẩn. Chúng được gọi là các open file và hệ thống gán cho mỗi file này một con số gọi là file descriptor. Ba con số tương ứng với 3 dòng xuất nhập chuẩn ở trên là 0, 1 và  2. Cụ thể:&lt;br /&gt;&lt;blockquote style="font-family: arial; color: rgb(0, 102, 0);"&gt;standard input -&gt; stdin -&gt; 0&lt;&gt; stdout -&gt; 1&gt;&lt;br /&gt;standard error -&gt; stderr -&gt; 2&gt;&lt;/blockquote&gt;Trong C++ thì 3 dòng xuất nhập chuẩn này tương ứng với 3 đối tượng cin, cout và cerr.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Chú ý:&lt;/span&gt; Trong bài tut này thì mình sử dụng Bourne shell trong đó dấu $ thể hiện user bình thường và # thể hiện user root. Tuy nhiên hầu hết nội dung trong bài này có thể áp dụng với một số loại shell khác như sh, csh, tcsh... Với C chell (csh, tcsh) thì không sử dụng được các con số (file descriptor).&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. Xuất/Nhập&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Trong chế độ command line của hầu hết các hệ điều hành thì "&lt;" dùng cho chuyển hướng nhập và "&gt;" dùng cho chuyển hướng xuất. Vì sao phải chuyển hướng? Vì có nhiều lúc ta muốn kết quả xuất ra màn hình được lưu lại vào một file và dữ liệu nhập vào thay vì từ bàn phím thì lại từ một file.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2.1. STDIN&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;STDIN chỉ các dòng nhập chuẩn nói chung và nó thường là từ bàn phím. Khi chúng ta gõ bàn phím tức là chúng ta đang nhập vào STDIN. Để dữ liệu đầu vào là một file thì ta dùng dấu "&lt;". Ví dụ, nếu ta dùng lệnh cat mà không có tham số thì khi ta gõ gì nó sẽ hiển thị ra cái đó, hay nói đúng hơn sẽ hiển thị lại những gì ta nhập vào từ input chuẩn. Vậy thì giả dụ ta cần hiển thị file /etc/passwd thì ngoài cách truyền thống là   &lt;blockquote style="font-family: courier new; color: rgb(0, 102, 0);"&gt;$ cat /etc/passwd&lt;/blockquote&gt;  thì ta có thể sử dụng:&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;&lt;blockquote&gt; $ cat &lt; /etc/passwd&lt;/blockquote&gt;&lt;/span&gt;  hoặc&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(0, 102, 0);"&gt;$ cat 0&lt; /etc/passwd&lt;/blockquote&gt;  Tại sao lại có thể bỏ số 0 mà chức năng vẫn tương tự? Đó là vì mỗi khi khởi tạo một process thì hệ thống đã gắn một dòng nhập chuẩn cho process đó mà ở đây là STDIN hay 0.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2.2. STDOUT &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;STDOUT là các dòng xuất chuẩn nói chung và nó thường là xuất ra màn hình, ra cửa sổ console hoặc terminal. Để dữ liệu đầu ra được ghi vào một file thì ta sử dụng dấu "&gt;". Ví dụ ta muốn danh sách các file trong một thư mục được ghi vào file dir.txt thì ta sử dụng lệnh sau:&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(0, 102, 0);"&gt;$ ls -al &gt; dir.txt&lt;/blockquote&gt;hoặc&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(0, 102, 0);"&gt;$ ls -al 1&gt; dir.txt&lt;/blockquote&gt;Lí do vì sao có thể bỏ số 1 đi tương tự như với STDIN, tức là khi khởi tạo một process thì hệ thống đã gắn một dòng xuất chuẩn cho process đó mà ở đây là STDOUT hay 1.&lt;br /&gt;&lt;br /&gt;Đến đây ta có thể kết hợp sử dụng song song STDIN và STDOUT để làm thao tác copy file. Ví dụ ta muốn backup file /etc/passwd thì ta có thể làm như sau:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;$ cat &lt; /etc/passwd &gt; ~/passwd.bak&lt;/span&gt;&lt;/blockquote&gt;Lệnh này tương đương với lệnh:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;$ cp /etc/passwd ~/passwd.bak&lt;/span&gt;&lt;/blockquote&gt;Có một ứng dụng cực kì có ích của việc kết hợp này là chuyển đổi file text giữa Windows và Unix. Như các bạn đều biết thì trong file text của Windows, việc xuống dòng được thể hiện bằng cặp kí tự &lt;span style="font-family:courier new;"&gt;\r\n&lt;/span&gt; còn trong Linux/Unix thì chỉ là &lt;span style="font-family:courier new;"&gt;\n&lt;/span&gt;. Ai phải  trên cả hai môi trường đều thấy sự bất tiện của việc chuyển đổi đó. Giải pháp đưa ra ở đây là sử dụng lệnh &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;tr&lt;/span&gt;, cụ thể như sau:&lt;br /&gt;&lt;blockquote style="font-family: courier new; color: rgb(0, 102, 0);"&gt;tr -d '\r' &lt;&gt; unix.cpp&lt;/blockquote&gt;Lệnh này sẽ nhận dòng nhập chuẩn sau đó xoá các kí tự &lt;span style="font-family:courier new;"&gt;\r&lt;/span&gt; rồi ghi ra dòng xuất chuẩn. Dòng nhập và dòng xuất ở đây được định hướng lại để đến từ một file và ghi ra một file.&lt;br /&gt;&lt;br /&gt;Tuy nhiên nếu dùng "&gt;" thì nội dung của file sẽ bị xoá trước khi ghi nội dung mới. Nếu ta muốn nội dung mới sẽ được ghi nối tiếp vào file thì ta sử dụng 2 dấu lớn hơn, tức là "&gt;&gt;". Ví dụ nếu bạn muốn nối nội dung của thư mục &lt;span style="font-family:courier new;"&gt;/home&lt;/span&gt; vào cuối file &lt;span style="font-family:courier new;"&gt;passwd.bak &lt;/span&gt;ở trên thì bạn làm như sau:&lt;br /&gt;&lt;blockquote style="color: rgb(0, 102, 0);"&gt;&lt;span style="font-family:courier new;"&gt;$ ls /home &gt;&gt; ~/passwd.bak&lt;/span&gt;&lt;/blockquote&gt;Bây giờ nếu ta muốn lấy mã HTML của trang chủ của OSG và ghi vào file &lt;span style="font-family:courier new;"&gt;osg.html&lt;/span&gt; thì ta sử dụng lệnh sau:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;$ curl http://osg.vnu.edu.vn/ &gt; osg.html&lt;/span&gt;&lt;/blockquote&gt;Thực hiện lệnh trên các bạn có thấy gì lạ không? Mặc dù mã HTML thay vì xuất ra màn hình mà được đưa vào file osg.html nhưng vẫn có các thông tin thể hiện trạng thái download hiển thị trên màn hình. Làm thế nào mà lại được như thế? Làm thế nào để lệnh curl câm lặng hoàn toàn? Hồi sau sẽ rõ.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2.3. STDERR&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;STDERR là dòng xuất lỗi chuẩn nói chung và nó cũng thường xuất trực tiếp ra màn hình, console hay terminal. Cú pháp tương tự như STDOUT, tức là sử dụng "&lt;span style="font-family:courier new;"&gt;&gt;&lt;/span&gt;" để xuất ra file và "&gt;&gt;" để nối vào một file đã có (chưa có thì hệ thống sẽ tự tạo ra). Tuy nhiên điểm khác biệt là bạn phải chỉ rõ số 2, tức là "2&gt;" hoặc "2&gt;&gt;". Lí do là vì chỉ có 1 dòng xuất chuẩn và 1 dòng nhập chuẩn cho mỗi process mà thông thường hệ thống chỉ định là STDOUT và STDIN.&lt;br /&gt;&lt;br /&gt;Vậy trong trường hợp của lệnh &lt;span style="font-family:courier new;"&gt;curl &lt;/span&gt;trong phần 2.2 ở trên, nếu ta muốn ghi cả 2 loại output đó ra file thì ta làm như sau:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;$ curl http://osg.vnu.edu.vn/ &gt; osg.html 2&gt; osg.log&lt;/span&gt;&lt;/blockquote&gt;Thế nào? Không có cái gì xuất ra màn hình hết đúng không? Vì nội dung trang web đã được lưu vào file &lt;span style="font-family:courier new;"&gt;osg.html&lt;/span&gt; còn các dòng lưu trạng thái download đã được ghi vào file&lt;span style="font-family:courier new;"&gt; osg.log&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Nhưng thế thì tốn dung lượng đĩa và có nguy cơ gây hỏng đĩa vì phải ghi file mà. Con người quả thật quá tham lam . Vậy thì phải sáng tạo ra cái gì đó như kiểu cái thùng không đáy hay gọi mĩ miều hơn thì nó là "lỗ đen" hay "black hole", tức là một nơi mà cho cái gì vào cũng mất hút luôn. Linux/Unix có cái đó cho bạn, đó là &lt;span style="font-family:courier new;"&gt;/dev/null.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;2.4. /dev/null&lt;/span&gt;&lt;br /&gt;Theo định nghĩa trên Wikipedia của&lt;span style="font-family:courier new;"&gt; /dev/null&lt;/span&gt;:&lt;br /&gt;&lt;blockquote&gt;In Unix-like operating systems, &lt;span style="font-family:courier new;"&gt;/dev/null&lt;/span&gt; or the null device is a special file that discards all data written to it (but reports that the write operation succeeded), and provides no data to any process that reads from it (it returns &lt;span style="font-family:courier new;"&gt;EOF&lt;/span&gt;). In Unix programmer jargon, it may also be called the bit bucket or black hole.&lt;/blockquote&gt;Tạm dịch là:&lt;br /&gt;&lt;blockquote&gt;Trong các hệ điều hành kiểu Unix, &lt;span style="font-family:courier new;"&gt;/dev/null&lt;/span&gt; hay thiết bị null là một tệp tin đặc biệt, nó bỏ qua mọi dữ liệu ghi lên nó (nhưng có báo cáo về việc ghi dữ liệu thành công) và không cung cấp bất kì dữ liệu gì khi đọc từ nó (trả về &lt;span style="font-family:courier new;"&gt;EOF&lt;/span&gt;). Trong biệt ngữ của các lập trình viên Unix, nó đuợc gọi là "bit bucket" hoặc "black hole".&lt;/blockquote&gt;Vậy thì đó chính là cái ta cần rồi. Như vậy câu lệnh &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;curl &lt;/span&gt;ở trên có thể cho nó thực hiện câm lặng bằng cách:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;$ curl http://osg.vnu.edu.vn/ &gt; /dev/null  2&gt; /dev/null&lt;/span&gt;&lt;/blockquote&gt;Không có cái gì xuất ra màn hình cả, cũng không có cái gì được ghi lại cả. Nhưng... lại nhưng, con người vẫn tham lắm, làm thế nào để cái lệnh trên ngắn gọn hơn, trông technical hơn, nói chung là để ai không biết thì sẽ không hiểu gì (đôi khi đó là cái thú của dân kĩ thuật). Ta sẽ dùng "2&gt;&amp;amp;1" ở đây, tức là:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;$ curl http://osg.vnu.edu.vn/ &gt; /dev/null  2&gt;&amp;amp;1&lt;/span&gt;&lt;/blockquote&gt;Câu lệnh trên tức là dòng xuất chuẩn (1) sẽ bị đưa vào &lt;span style="font-family:courier new;"&gt;/dev/null&lt;/span&gt; và dòng lỗi chuẩn (2) sẽ được đưa vào dòng xuất chuẩn (1) mà ở đây là&lt;span style="font-family:courier new;"&gt; /dev/null&lt;/span&gt;.&lt;br /&gt;&lt;br /&gt;Đặc biệt lưu ý là với cú pháp sử dụng dấu &lt;span style="font-family:courier new;"&gt;&amp;amp;&lt;/span&gt; thì dấu &lt;span style="font-family:courier new;"&gt;&amp;amp;&lt;/span&gt; và dấu &gt; phải đi liền nhau, không có khoảng cách.&lt;br /&gt;&lt;br /&gt;Ngoài các file descriptor 0, 1, 2 ở trên thì còn có từ 3 -&gt; 9 nữa. Tuy nhiên bài viết này chỉ dành cho mức độ newbie nên không để cập sâu, chi tiết các bạn có thể tự tìm hiểu thêm trên Internet hoặc trong các sách về lập trình shell.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Pipe&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Như vậy chúng ta đã biết cách để chuyển hướng dòng xuất/nhập của một lệnh hay một process. Bằng cách này ta có thể chuyển dữ liệu xuất của một lệnh thành dữ liệu nhập của một lệnh khác thông qua một file trung gian. Tuy nhiên ta không muốn có file trung gian đó, một phần vì việc ghi lên đĩa cứng, phần khác là do... tham. Đó chính là vấn đề mà pipe giải quyết. Trong Linux, ta sử dụng dấu "|" để làm việc này.&lt;br /&gt;&lt;br /&gt;Ví dụ khi ta muốn xem lại nội dung thư mục&lt;span style="font-family:courier new;"&gt; /etc&lt;/span&gt; nhưng kết quả của nó lại dài quá mà ta muốn xem lại thì ta làm như sau&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;$ ls -al /etc | more&lt;/span&gt;&lt;/blockquote&gt;hoặc&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;$ ls -al /etc | less&lt;/span&gt;&lt;/blockquote&gt;(thoát bằng phím q).&lt;br /&gt;&lt;br /&gt;hoặc ta muốn đếm số user trong hệ thống có sử dụng mặc định bash shell thì ta làm như sau:&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;$ cat /etc/passwd | grep "/bin/bash" | wc -l&lt;/span&gt;&lt;/blockquote&gt;Lệnh này có nghĩa là đưa nội dung file &lt;span style="font-family:courier new;"&gt;/etc/passwd&lt;/span&gt; ra dòng xuất chuẩn; dòng xuất chuẩn này thành dòng nhập chuẩn của lệnh &lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;grep &lt;/span&gt;và lệnh này chỉ lọc ra các dòng có chưa xâu "&lt;span style="font-family:courier new;"&gt;/bin/bash&lt;/span&gt;" để đưa ra dòng xuất chuẩn; dòng xuất chuẩn này lại thành dòng nhập chuẩn của lệnh&lt;span style="font-family:courier new;"&gt; wc -l&lt;/span&gt; là lệnh đếm số dòng của dòng nhập chuẩn và đưa ra số dòng ra dòng xuất chuẩn; cuối cùng dòng xuất chuẩn này sẽ được đưa ra trực tiếp màn hình vì nó không thành dòng nhập chuẩn của lệnh nào nữa.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. Tài liệu tham khảo&lt;/span&gt;&lt;br /&gt;[1] Google&lt;br /&gt;[2] Wikipedia&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-3931156123143703099?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/3931156123143703099/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2009/06/chuyen-huong-xuatnhap-trong-linux-tac.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/3931156123143703099'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/3931156123143703099'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2009/06/chuyen-huong-xuatnhap-trong-linux-tac.html' title='Làm chủ Linux Bash shell: Chuyển hướng xuất/nhập trong Linux'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-1974551621060729524</id><published>2009-05-13T15:49:00.005+07:00</published><updated>2009-05-14T15:48:29.290+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='news'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Linux.com, luồng gió mới cho cộng đồng</title><content type='html'>Khi Linux Foundation nhận lại tên miền Linux.com từ SourceForge đầu năm nay, họ đã có dự định xây dựng lại website, sao cho nó không chỉ là nơi đăng những tin tức liên quan đến Linux. Và sáng nay, khi bạn vào địa chỉ &lt;a href="http://linux.com/"&gt;http://linux.com&lt;/a&gt;, bạn sẽ nhận thấy một Linux.com hoàn toàn mới, và như một vài trang tin Linux nhận xét: "nó đủ khiến cho những người say mê Linux có thể tự hào". Cộng đồng đã lên tiếng cảm ơn chính mình, bởi chính họ là những người đưa ra phần lớn ý kiến đóng góp cho website.&lt;br /&gt;&lt;br /&gt;Trên tinh thần nguồn mở thực sự, Linux Foundation đã thiết kế một website mang đậm chất tương tác, có thể tập hợp được tri thức của toàn cộng đồng. Dựa trên ý tưởng từ những người dùng, những nhà phát triển và những người đam mê Linux, website mới có khả năng thu thập thông tin và khiến thức từ nhiều nguồn và theo cách mà có thể tiếp cận được với cả người dùng mới và các bậc lão làng Linux.&lt;br /&gt;&lt;br /&gt;Một trong những tính năng thú vị và hấp dẫn của website Linux.com mới là "Linux Guru". Người dùng đã đăng ký có thể kiếm điểm và nâng cấp trạng thái guru của mình bằng cách tham gia các hoạt động trên website. Top 50 người đóng góp nhiều nhất sẽ được ghi tên vào bản báo cáo hàng năm của tổ chức. Top 5 guru sẽ đại diện cho cộng đồng, được mời tới dự lễ họp mặt hàng năm của Linux Foundation (Linux Foundation Collaboration Summit). Mỗi năm sẽ có một thành viên trở thành "Ultimate Linux Guru" và sẽ được đích thân Linus Tovard tặng một máy notebook, để ghi nhận sự đóng góp cho cộng đồng.&lt;br /&gt;&lt;br /&gt;Website có năm phần chính: &lt;a href="http://linux.com/news"&gt;News &lt;/a&gt;- tin tức Linux; &lt;a href="http://linux.com/community"&gt;Community &lt;/a&gt;- là nơi những thành viên đã đăng ký có thể kết nối với những người khác; &lt;a href="http://linux.com/distrocentral"&gt;Distribution Central&lt;/a&gt; - các distro tương tác với người dùng ở đây; &lt;a href="http://linux.com/learn"&gt;Learn &lt;/a&gt;- là nơi các trang Man, HowTos và các tài liệu Linux khác được lưu trữ, đồng thời cũng là diễn đàn để cộng đồng hỏi và trả lời; &lt;a href="http://linux.com/directory"&gt;Directory &lt;/a&gt;- lưu trữ các phần mềm, ebook, dịch vụ,...&lt;br /&gt;&lt;br /&gt;Linux.com với giao diện và chức năng mới đã mang lại một luồng gió mới cho cộng đồng Linux. Chúng ta cùng chúc cho website sẽ đạt được những gì mà cộng đồng kỳ vọng, dựa trên chính sức mạnh của cộng đồng.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Update&lt;/span&gt;: Cùng chúng tôi tham gia nhóm &lt;a style="font-weight: bold;" href="http://linux.com/community/groups/viewgroup/258-Vietnamese+Linux+enthusiasts"&gt;Vietnamese Linux enthusiasts&lt;/a&gt; ở &lt;a href="http://linux.com/"&gt;&lt;span style="font-weight: bold;"&gt;Linux.com&lt;/span&gt;&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-1974551621060729524?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/1974551621060729524/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2009/05/linuxcom-luong-gio-moi-cho-cong-ong.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/1974551621060729524'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/1974551621060729524'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2009/05/linuxcom-luong-gio-moi-cho-cong-ong.html' title='Linux.com, luồng gió mới cho cộng đồng'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-8228821727588602814</id><published>2009-04-21T10:12:00.009+07:00</published><updated>2009-07-02T10:18:03.630+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='oss'/><category scheme='http://www.blogger.com/atom/ns#' term='news'/><title type='text'>Oracle mua Sun, rồi sao?</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.techcrunch.com/wp-content/uploads/2009/04/oracle-sun.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 399px; height: 269px;" src="http://www.techcrunch.com/wp-content/uploads/2009/04/oracle-sun.png" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a href="http://www.sun.com/aboutsun/pr/2009-04/sunflash.20090420.1.xml"&gt;Oracle đã vượt qua IBM để mua được Sun&lt;/a&gt; với giao dịch có giá trị xấp xỉ 7,4 tỷ USD. Bỏ qua những gì liên quan đến kinh tế và mớ cổ phiếu lộn xộn, bỏ qua những bình luận về khả năng của IBM và Oracle, tôi chỉ muốn biết quan điểm của các nhà lãnh đạo của cả Sun và Oracle đối với phần mềm mã nguồn mở như thế nào? Điều gĩ sẽ xảy ra với MySQL? Solaris sẽ như thế nào? Hướng phát triển của Java? Những câu hỏi và đến lúc này vẫn chưa có lời đáp cụ thể.&lt;br /&gt;&lt;br /&gt;Theo như &lt;a href="http://www.sun.com/aboutsun/pr/2009-04/sunflash.20090420.1.xml"&gt;lời công bố từ Sun&lt;/a&gt;, Java sẽ là nền tảng cho Oracle Fusion Middleware, trong khi hệ điều hành Solaris sẽ là nền tảng chính cho hệ quản trị cơ sở dữ liệu Oracle.&lt;br /&gt;&lt;br /&gt;Đồng thời, Oracle cũng đã nhận được một số công nghệ ảo hóa từ việc mua Sun. Nhưng nếu bạn là người có quan tâm tới mã nguồn mở, có lẽ bạn sẽ tự hỏi về số phận của OpenOffice và MySQL. Trong lời công bố trên, họ không nhắc đến hai phần mềm này. Có lẽ chúng ta sẽ phải chờ thêm.&lt;br /&gt;&lt;br /&gt;(Bạn nên ghé thăm &lt;a href="http://www.sun.com/software/opensource/index.jsp"&gt;trang OSS của Sun&lt;/a&gt; và &lt;a href="http://oss.oracle.com/"&gt;của Oracle&lt;/a&gt; nếu muốn biết thêm về các phần mềm nguồn mở liên quan đến hai tên tuổi này).&lt;br /&gt;&lt;br /&gt;Update:&lt;br /&gt;- Đọc thêm bài &lt;span style="font-weight: bold;"&gt;"Oracle mua Sun có ý nghĩa gì với Linux&lt;/span&gt;" trên &lt;a href="http://blog.360.yahoo.com/blog-LU.CUQA9b6gRyol5jVT.?p=3470"&gt;Nghialt's blog&lt;/a&gt;.&lt;br /&gt;- Đọc thêm chủ đề "&lt;span style="font-weight: bold;"&gt;Oracle mua Sun, rồi sao"&lt;/span&gt; trên &lt;a href="http://www.fotech.org/forum/index.php?showtopic=22781"&gt;FOTECH.ORG&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-8228821727588602814?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/8228821727588602814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2009/04/oracle-mua-sun-roi-sao.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8228821727588602814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8228821727588602814'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2009/04/oracle-mua-sun-roi-sao.html' title='Oracle mua Sun, rồi sao?'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-7195742535244673067</id><published>2009-04-14T21:54:00.003+07:00</published><updated>2009-04-14T22:33:55.766+07:00</updated><title type='text'>What does it mean to be Free?</title><content type='html'>&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/qWEIQIv8zvY&amp;amp;rel=0&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1"&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;embed src="http://www.youtube.com/v/qWEIQIv8zvY&amp;amp;rel=0&amp;amp;color1=0xb1b1b1&amp;amp;color2=0xcfcfcf&amp;amp;hl=en&amp;amp;feature=player_embedded&amp;amp;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;What does it mean to be Free?&lt;/h3&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;(Transcript)&lt;/span&gt;&lt;br /&gt;&lt;blockquote style="font-style: italic;"&gt;Free is being able to choose. Choose your own space to be in. To form your surroundings in a way that will make you take the best out of you. Free is to say NO. It is to be able to choose your limits, to stretch them to a place only you can create, and change them when you feel they no longer fit you. Free is to say what ever you want, to whomever you want, and however you want. Free is to know you have a different option. Do you know you have a different option? Linux! Get your freedom.&lt;/blockquote&gt;Đây là đoạn clip giành chiến thắng trong cuộc thi video clip mang chủ đề &lt;span style="font-style: italic;"&gt;We're Linux&lt;/span&gt; do &lt;a href="http://video.linuxfoundation.org/category/video-category/-linux-foundation-video-contest"&gt;Linux Foundation&lt;/a&gt; tổ chức.&lt;br /&gt;Để xem tất cả các clip thì click &lt;a href="http://video.linuxfoundation.org/category/video-category/-linux-foundation-video-contest"&gt;vào đây&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-7195742535244673067?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/7195742535244673067/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2009/04/what-does-it-mean-to-be-free.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/7195742535244673067'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/7195742535244673067'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2009/04/what-does-it-mean-to-be-free.html' title='What does it mean to be Free?'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-7889501224830347689</id><published>2009-03-29T10:04:00.004+07:00</published><updated>2009-03-31T01:02:14.184+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='game'/><title type='text'>Cây bút ma thuật</title><content type='html'>Magic pen - một game giải trí rất hay, phù hợp mọi đối tượng, nhất là bạn yêu vật lý :D&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;object width="760" height="494"&gt;&lt;param name="movie" value="http://www.physicsgames.net/swf/magicpen2.swf"&gt;&lt;embed src="http://www.physicsgames.net/swf/magicpen2.swf" type="application/x-shockwave-flash" width="760" height="494"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-7889501224830347689?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/7889501224830347689/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2009/03/magic-pen-met-game-giai-tri-rat-hay-phu.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/7889501224830347689'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/7889501224830347689'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2009/03/magic-pen-met-game-giai-tri-rat-hay-phu.html' title='Cây bút ma thuật'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-5096141390910715803</id><published>2009-03-22T01:10:00.012+07:00</published><updated>2009-06-23T17:49:17.233+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='làm chủ Bash shell'/><title type='text'>Làm chủ Linux Bash shell: Tùy biến command promt với biến $PS1</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7HQMEKpIxtQ/SceuSTTESKI/AAAAAAAAAYU/1AoEwOUH9m0/s1600-h/T%C3%B9y+bi%E1%BA%BFn+command+promt+v%E1%BB%9Bi+bi%E1%BA%BFn+%24PS1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 264px;" src="http://3.bp.blogspot.com/_7HQMEKpIxtQ/SceuSTTESKI/AAAAAAAAAYU/1AoEwOUH9m0/s400/T%C3%B9y+bi%E1%BA%BFn+command+promt+v%E1%BB%9Bi+bi%E1%BA%BFn+%24PS1.jpg" alt="" id="BLOGGER_PHOTO_ID_5316409514575284386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Tiếp tục seri bài làm chủ Linux Bash shell nào. Bài viết này được tôi dựa vào một tutorial của tôi trên FOTECH và mở rộng thêm, nếu bạn nào thấy hơi quen xin đừng thắc mắc &gt;:).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Bash shell có khả năng hiển thị trước mỗi dòng lệnh một đoạn thông tin ngắn, gọi là &lt;span style="font-weight: bold;"&gt;dấu nhắc lệnh&lt;/span&gt;, hay &lt;span style="font-weight: bold;"&gt;command promt&lt;/span&gt;. Mặc định có dạng:&lt;br /&gt;&lt;div class="codemain"&gt;&lt;!--ec1--&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote style="color: rgb(0, 102, 0);"&gt;&lt;span style="font-family:courier new;"&gt;[user]@[host]:[đường dẫn]$ &lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;VD:&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;&lt;blockquote&gt;thangphamduy@mr-PC:~$&lt;/blockquote&gt;&lt;/span&gt;&lt;!--c2--&gt;&lt;/div&gt;Bạn có thể tùy biến bằng cách sửa lại giá trị của biến môi trường PS1 như sau:&lt;div class="codemain"&gt;&lt;!--ec1--&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote style="color: rgb(0, 102, 0);"&gt;&lt;span style="font-family:courier new;"&gt;PS1='&lt;span style="font-style: italic;"&gt;[Noi dung muon hien thi]&lt;/span&gt;'&lt;/span&gt;&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;VD:&lt;/span&gt; nếu dòng trên có nội dung là:&lt;br /&gt;&lt;span style="font-family:courier new;"&gt;&lt;/span&gt;&lt;blockquote style="color: rgb(0, 102, 0);"&gt;&lt;span style="font-family:courier new;"&gt;PS1='Welcome to my Linux  '&lt;/span&gt;&lt;/blockquote&gt;thì trước mỗi dòng lệnh sẽ hiển thị đúng xâu trên.&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;Bạn có thể tùy biến xâu &lt;span style="font-style: italic;font-family:courier new;" &gt;[Noi dung muon hien thi]&lt;/span&gt; bằng cách chèn vào một ký tự sau dấu thoát (backslash \) như sau:&lt;div class="codemain" face="courier new"&gt;&lt;!--ec1--&gt;&lt;blockquote&gt;\!    Hiển thị số thứ tự của lệnh trong history&lt;br /&gt;\#    Hiển thị số thứ tự lệnh của lệnh hiện tại&lt;br /&gt;\$    Hiển thị dấu $ nếu là user bình thường và dấu # nếu là user root&lt;br /&gt;\\    Hiển thị dấu backslash (\)&lt;br /&gt;\d    Hiển thị ngày hiện tại&lt;br /&gt;\h    Hiển thị host name&lt;br /&gt;\n    In dấu xuống dòng&lt;br /&gt;\s    Hiển thị tên shell&lt;br /&gt;\t    Hiển thị giờ hiện tại&lt;br /&gt;\u    Hiển thị username&lt;br /&gt;\W    Hiển thị tên thư mục hiện hành&lt;br /&gt;\w    Hiển thị đường dẫn đầy đủ của thư mục hiện hành&lt;/blockquote&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;span style="font-weight: bold;"&gt;Ví dụ:&lt;/span&gt;&lt;div class="codemain" style="font-family: courier new;"&gt;&lt;!--ec1--&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;PS1='\u\$'&lt;/span&gt;&lt;br /&gt;sẽ cho kết quả: "&lt;span style="color: rgb(0, 102, 0);"&gt;root#&lt;/span&gt;"&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;PS1='\u@\t \w\$'&lt;/span&gt;&lt;br /&gt;sẽ cho kết quả: "&lt;span style="color: rgb(0, 102, 0);"&gt;root@20:49:48 /etc/httpd&lt;/span&gt;#&lt;br /&gt;&lt;span style="color: rgb(0, 102, 0);"&gt;PS1='\t \u@\h \s \$'&lt;/span&gt;&lt;br /&gt;sẽ cho kết quả: "&lt;span style="color: rgb(0, 102, 0);"&gt;20:49:48 root@proLappy -bash #&lt;/span&gt;"&lt;br /&gt;&lt;/blockquote&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;span style="font-weight: bold;"&gt;[*]Hiển thị màu:&lt;/span&gt;&lt;br /&gt;Bạn thử thiết lập biến PS1 như sau và xem kết quả như thế nào ^^&lt;div style="font-family: courier new; color: rgb(0, 102, 0);" class="codemain"&gt;&lt;blockquote&gt;&lt;!--ec1--&gt;PS1='\[\033[01;32m\]\t \u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '&lt;!--c2--&gt;&lt;/blockquote&gt;&lt;/div&gt;&lt;!--ec2--&gt;Bây giờ dấu nhắc lệnh đã có màu xanh lá cây :D. Quy tắc ở đây là thư thế nào? Nếu bạn muốn đặt một màu cho một phần tử nào đó của promt, bạn hãy đặt mã màu trước phần tử đó, và mã xóa màu sau phần tử đó.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Mã màu có dạng:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;span style="color: rgb(0, 102, 0);font-family:courier new;" &gt;\[\033\[01;32m\]\]&lt;/span&gt;&lt;br /&gt;&lt;/blockquote&gt;Hãy thay thế 32 với các số trong khoảng 30 - 37 để nhận được các màu khác nhau, thay thế 01 với các số trong khoảng 00 - 07 để nhận được các cách tô màu khác nhau (làm nhạt màu, màu gạch chân, màu highlight,...)&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Mã đóng màu:&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;/blockquote&gt;&lt;blockquote style="font-family: courier new; color: rgb(0, 102, 0);"&gt;\[\033[00m\]&lt;/blockquote&gt;&lt;span style="font-weight: bold;"&gt;[*] Lưu ý:&lt;/span&gt;&lt;br /&gt;- Nếu bạn không sử dụng mã đóng màu thì màu đó sẽ còn hiệu lực cho tới khi bạn dùng một mã màu khác thay thế.&lt;br /&gt;- Việc thiết lập mã màu chỉ có ý nghĩa với những terminal có hỗ trợ màu 16bit trở lên như &lt;span style="font-family:courier new;"&gt;xterm&lt;/span&gt;, &lt;span style="font-family:courier new;"&gt;rxvt&lt;/span&gt;, hay &lt;span style="font-family:courier new;"&gt;gnome-terminal&lt;/span&gt;, &lt;span style="font-family:courier new;"&gt;konsole&lt;/span&gt;,...&lt;br /&gt;&lt;u&gt;&lt;b&gt;&lt;br /&gt;&lt;/b&gt;&lt;/u&gt;Okie. Như thế là bạn đã có thể thêm các thông tin hữu ích và đẹp mắt vào trước mỗi dòng lệnh trong terminal. Nhưng nếu bạn logout, giá trị vừa thiết lập cho biến $PS1 sẽ bị reset về giá trị default! Để không phải thiết lập lại giá trị của biến này, hãy thêm vào cuối file ~/.bashrc dòng lệnh sau để export giá trị mới cho biến môi trường PS1:&lt;br /&gt;&lt;blockquote style="color: rgb(0, 102, 0);"&gt;&lt;span style="font-family:courier new;"&gt;export &lt;/span&gt;&lt;span style="font-family:courier new;"&gt;PS1='\n\[\033[02;31m\]. ___ ___ ___\[\033[00m\] |--- \[\033[02;33m\]\t \d\n\[\033[02;31m\] /__// _// ./\[\033[00m\] --- \[\033[01;32m\]\w\n\[\033[02;31m\]/ . / \ /__/\[\033[00m\] \[\033[02;35m\]\u@\h \[\033[02;37m\]\$ \[\033[02;38m\]'&lt;/span&gt;&lt;/blockquote&gt;Chúc các bạn ngày chủ nhật vui vẻ.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold; color: rgb(0, 51, 0);"&gt;Update&lt;/span&gt;&lt;span style="color: rgb(0, 51, 0);"&gt;:&lt;/span&gt; Để xem danh sách các mã màu và một số ví dụ khác, xin đọc entry &lt;a href="http://tuyetkiem.wordpress.com/2009/03/25/command-prompt-ps1/"&gt;Command promt và biến PS1&lt;/a&gt; trên &lt;a href="http://tuyetkiem.wordpress.com/"&gt;blog của tuyetkiem&lt;/a&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-5096141390910715803?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/5096141390910715803/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2009/03/lam-chu-linux-bash-shell-tuy-bien.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/5096141390910715803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/5096141390910715803'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2009/03/lam-chu-linux-bash-shell-tuy-bien.html' title='Làm chủ Linux Bash shell: Tùy biến command promt với biến $PS1'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_7HQMEKpIxtQ/SceuSTTESKI/AAAAAAAAAYU/1AoEwOUH9m0/s72-c/T%C3%B9y+bi%E1%BA%BFn+command+promt+v%E1%BB%9Bi+bi%E1%BA%BFn+%24PS1.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-4531933905805690691</id><published>2009-03-16T23:53:00.007+07:00</published><updated>2009-03-17T01:08:50.098+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='softwares'/><category scheme='http://www.blogger.com/atom/ns#' term='convert'/><title type='text'>Giải pháp hoàn chỉnh cho việc convert file PDF thành file DOC</title><content type='html'>PDF và DOC, hai loại file văn bản phổ biến nhất hiện nay. Khi chúng ta soạn thảo, chúng ta tạo một file doc và sử dụng MS Word, OpenOffice Write hoặc một chương trình soạn thảo văn bản khác để chỉnh sửa file doc đó. File doc quả thật rất tiện dụng trong trường hợp này.&lt;br /&gt;&lt;br /&gt;Tuy vậy, để "mang vác" file văn bản từ nơi này sang nơi khác mà vẫn giữ nguyên định dạng, đọc file văn bản tiện lợi, tốn ít tài nguyên hệ thống thì file doc không còn là một lựa chọn hợp lý. Nào, đoán xem... Okay, bạn đã đoán đúng: chúng ta nên sử dụng định dạng pdf. Hầu hết các tài liệu dạng read-only (ebook, scanned book,...) đều được xuất bản dưới định dạng pdf.&lt;br /&gt;&lt;br /&gt;Và một quá trình rất hợp lý bắt đầu từ người viết đến người đọc diễn ra:&lt;br /&gt;&lt;blockquote&gt;Soạn thảo file doc -&gt; convert DOC to PDF -&gt; đọc file pdf&lt;/blockquote&gt;Tuy nhiên đôi khi quá trình này không nên kết thúc ở đây: người đọc cũng muốn chỉnh sửa file pdf đã xuất bản. Có hai lựa chọn: sử dụng một chương trình chỉnh sửa file pdf, hoặc convert ngược từ pdf về doc. Thường thì chương trình chỉnh sửa file pdf sẽ không có đầy đủ tính năng như một chương trình soạn thảo văn bản chuyên dụng. Do đó chúng ta thường chọn cách thứ hai.&lt;br /&gt;&lt;br /&gt;Tuy nhiên việc chuyển một file pdf về file doc một cách hoàn chỉnh cũng là một vấn đề nan giải. Đã một thời gian dài, chúng ta luôn cố tìm một ứng dụng convert như thế: Convert giữ nguyên font chữ, bullet, căn lề, bảng,... và... tiếng Việt.&lt;br /&gt;&lt;br /&gt;Trong bài viết này tôi xin giới thiệu một công cụ thỏa mãn khá đầy đủ các yêu cầu trên: &lt;a href="http://www.pdftoword.com/"&gt;http://www.pdftoword.com/&lt;/a&gt;. Đây là một ứng dụng trên nền Web do &lt;a href="http://www.nitropdf.com/"&gt;Nitro software&lt;/a&gt; cung cấp. Việc sử dụng quá đơn giản, có lẽ không cần phải trình bày nhiều. Xin đưa kết quả lên đây là đủ:&lt;br /&gt;&lt;br /&gt;Nguồn:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://duythang.net.googlepages.com/pdf2doc-pdf.jpg"&gt;&lt;img src="http://duythang.net.googlepages.com/pdf2doc-pdf.jpg" width="600" /&gt; &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Kết quả:&lt;br /&gt;&lt;br /&gt;&lt;a href="http://duythang.net.googlepages.com/pdf2doc-doc.jpg"&gt;&lt;img src="http://duythang.net.googlepages.com/pdf2doc-doc.jpg" width="600" /&gt; &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Và đây là toàn bộ file kết quả: &lt;a href="http://duythang.net.googlepages.com/SudungGrub.doc"&gt;http://duythang.net.googlepages.com/SudungGrub.doc&lt;/a&gt; .&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-4531933905805690691?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/4531933905805690691/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2009/03/giai-phap-hoan-chinh-cho-viec-convert.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/4531933905805690691'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/4531933905805690691'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2009/03/giai-phap-hoan-chinh-cho-viec-convert.html' title='Giải pháp hoàn chỉnh cho việc convert file PDF thành file DOC'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-6307394500454408953</id><published>2009-03-01T23:02:00.002+07:00</published><updated>2009-03-01T23:12:48.903+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT  music'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>The day the routers die</title><content type='html'>&lt;embed flashvars="blogmode=1&amp;amp;file=http://chacha.vn/embedded/v1.0/getMedia.php?songId=57690" type="application/x-shockwave-flash" src="http://chacha.vn/embedded/v1.0/mp3player.swf" wmode="transparent" allowscriptaccess="none" width="368" height="130"&gt;&lt;/embed&gt;&lt;br /&gt;Bài hát khá thú vị của Gary Fieldman, nói về kết cục của IPv4 và sự cần thiết của IPv6.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic; font-weight: bold;"&gt;Lyrics:&lt;/span&gt;&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;a long long time ago&lt;br /&gt;i can still remember&lt;br /&gt;when my laptop could connect elsewhere&lt;br /&gt;&lt;br /&gt;   and i tell you all there was a day&lt;br /&gt;the network card i threw away&lt;br /&gt;had a purpose - and it worked for you and me…&lt;br /&gt;&lt;br /&gt;   but 18 years completely wasted&lt;br /&gt;with each address we’ve aggregated&lt;br /&gt;the tables overflowing&lt;br /&gt;the traffic just stopped flowing…&lt;br /&gt;&lt;br /&gt;and now we’re bearing all the scars&lt;br /&gt;and all my traceroutes showing stars…&lt;br /&gt;the packets would travel faster in cars…&lt;br /&gt;the day… the routers died…&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;    Chorus (ALL!!!!!)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;   so bye bye, folks at RIPE 55&lt;br /&gt;be persuaded to upgrade it or your network will die&lt;br /&gt;IPv6 just makes me let out a sigh&lt;br /&gt;but I s’pose we’d better give it a try&lt;br /&gt;I suppose we’d better give it a try&lt;br /&gt;&lt;br /&gt;   now did you write an RFC&lt;br /&gt;that dictated how we all should be&lt;br /&gt;did we listen like we should that day&lt;br /&gt;&lt;br /&gt;now you back at RIPE fifty-four&lt;br /&gt;where we heard the same things months before&lt;br /&gt;and the people knew they’d have to change their ways…&lt;br /&gt;&lt;br /&gt;and we - knew that all the ISPs&lt;br /&gt;could be - future proof for centuries&lt;br /&gt;&lt;br /&gt;but that was then not now&lt;br /&gt;spent too much time playing WoW&lt;br /&gt;&lt;br /&gt;ooh there was time we sat on IRC&lt;br /&gt;making jokes on how this day would be&lt;br /&gt;now there’s no more use for TCP&lt;br /&gt;the day the routers died…&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Chorus (chime in now)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;so bye bye, folks at RIPE 55&lt;br /&gt;be persuaded to upgrade it or your network will die&lt;br /&gt;IPv6 just makes me let out a sigh&lt;br /&gt;but I s’pose we’d better give it a try&lt;br /&gt;I suppose we’d better give it a try&lt;br /&gt;&lt;br /&gt;I remember those old days I mourn&lt;br /&gt;sitting in my room, downloading porn&lt;br /&gt;yeah that’s how it used to be…&lt;br /&gt;&lt;br /&gt;when the packets flowed from A to B&lt;br /&gt;via routers that could talk IP&lt;br /&gt;There was data… that could be exchanged between you and me…&lt;br /&gt;&lt;br /&gt;oh but - I could see you all ignore&lt;br /&gt;the fact - we’d fill up IPv4&lt;br /&gt;&lt;br /&gt;but we all lost the nerve&lt;br /&gt;and we got what we deserved!&lt;br /&gt;&lt;br /&gt;and while… we threw our network kit away&lt;br /&gt;and wished we’d heard the things they say&lt;br /&gt;put all our lives in disarray&lt;br /&gt;&lt;br /&gt;the day… the routers died…&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Chorus (those silent will be shot)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;so bye bye, folks at RIPE 55&lt;br /&gt;be persuaded to upgrade it or your network will die&lt;br /&gt;IPv6 just makes me let out a sigh&lt;br /&gt;but I s’pose we’d better give it a try&lt;br /&gt;I suppose we’d better give it a try&lt;br /&gt;&lt;br /&gt;saw a man with whom I used to peer&lt;br /&gt;asked him to rescue my career&lt;br /&gt;he just sighed and turned away…&lt;br /&gt;&lt;br /&gt;I went down to the net cafe&lt;br /&gt;that I used to visit everyday&lt;br /&gt;but the man there said I might as well just leave…&lt;br /&gt;&lt;br /&gt;and now we’ve all lost our purpose..&lt;br /&gt;my cisco shares completely worthless…&lt;br /&gt;&lt;br /&gt;no future meetings for me&lt;br /&gt;at the Hotel Krasnapolsky&lt;br /&gt;&lt;br /&gt;and the men that make us push and push&lt;br /&gt;like Geoff Huston and Randy Bush&lt;br /&gt;should’ve listened to what they told us…&lt;br /&gt;The day… the routers… died&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style: italic;"&gt;Chorus (time to lose your voice)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;bye bye, folks at RIPE 55&lt;br /&gt;be persuaded to upgrade it or your network will die&lt;br /&gt;IPv6 just makes me let out a sigh&lt;br /&gt;but I spose we’d better give it a try&lt;br /&gt;I suppose we’d better give it a try&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-6307394500454408953?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/6307394500454408953/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2009/03/day-routers-die.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/6307394500454408953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/6307394500454408953'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2009/03/day-routers-die.html' title='The day the routers die'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-4712003531128164964</id><published>2009-02-11T18:15:00.001+07:00</published><updated>2009-02-11T18:17:55.456+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='đánh giá'/><title type='text'>[Đánh giá] KDE 4.2</title><content type='html'>KDE 4.2 vẫn kế thừa các ưu điểm của KDE 4.1 như sự tiện dụng, tính tuỳ biến cao. Những bổ sung mới của bản này chủ yếu tâp trụng vào sự tiện dụng của các ứng dụng cũ, đồng thời nâng cao tính ổn định của hệ thống, thể hiện sự tỷ mỷ của nhóm phát triển.&lt;br /&gt;&lt;br /&gt;Một số screenshot:&lt;br /&gt;&lt;br /&gt;Desktop (Cái widget nhỏ nhỏ trống trống ở phía dưới là Pastebin, một tính năng mới của KDE4.2):&lt;br /&gt;&lt;br /&gt;&lt;img title="Click Here To See Image Full Size " style="width: 600px; cursor: pointer;" src="http://lh5.ggpht.com/_7HQMEKpIxtQ/SZKrIAqKx4I/AAAAAAAAAV8/8IGZFI1PNGU/s800/VRWySwzw.png" alt="Hình ảnh" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Main menu (Lancelot):&lt;br /&gt;&lt;br /&gt;&lt;img title="Click Here To See Image Full Size " style="width: 600px; cursor: pointer;" src="http://lh5.ggpht.com/_7HQMEKpIxtQ/SZKrH3EH4LI/AAAAAAAAAVs/QXN7MljKHWA/s800/screenshot-valentine1.png" alt="Hình ảnh" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hộp thoại Run:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh5.ggpht.com/_7HQMEKpIxtQ/SZKrINjqaGI/AAAAAAAAAV0/Af71DkggycA/s800/bOvjN2o.png" alt="Hình ảnh" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Các tính năng mới:&lt;br /&gt;- Pastebin : Upload ảnh/file lên server bằng cách kéo file thả vào Pastebin widget trên destop, đường link được trả về và lưu trong clipboard (cực kỳ tiện lợi - 3 cái ảnh trên đều được upload theo kiểu này, từ khi shot đến khi upload xong chỉ mất 8s).&lt;br /&gt;- Main menu Lancelot, tiện lợi hơn hẳn so với các kiểu Start menu của KDE 4.1 và 3.5 : Sắp xếp hợp lý, search thông minh, có thể kích hoạt các ứng dụng mà chỉ cần di chuột (ko cần click - mình đánh giá cao tính năng này).&lt;br /&gt;&lt;br /&gt;Cải thiện:&lt;br /&gt;- System tray: có thể ẩn các biểu tượng không mong muốn&lt;br /&gt;- Task manager đã có thể hiển thị trên nhiều dòng cũng như nhóm các cửa sổ theo group.&lt;br /&gt;- Điều khiển Widgets trên Destop vô cùng dề dàng&lt;br /&gt;- Bộ ứng dụng Kontact, Kmail, KNotifier đã có thể sánh ngang được với MS Office Outlook.&lt;br /&gt;- Widgets đã có thể được phát triển bằng JS và Ruby, đồng nghĩa với số Widget sẽ gia tăng nhanh chóng, và chúng ta có thể quên đi SuperKaramba (trình hỗ trợ Desktop Widget).&lt;br /&gt;- Các hiệu ứng được kế thừa từ Compiz nhưng không chạy theo số lượng mà chú trọng vào chất lượng. Các hiệu ứng đã được chỉnh sửa lại cực kỳ tốt, nhìn rất mượt và không bị răng cưa.&lt;br /&gt;&lt;br /&gt;Ngoài ra, còn rất nhiều các chỉnh sửa nhỏ khác như hộp thoại Run (Alt + F2), file preview và icon zoom trong Dolphin,... Tóm lại, cảm nhận của tớ về phiên bản này được túm gọn trong mấy chữ: hiệu ứng mượt mà, giao diện mát mắt và chức năng tiện dụng.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-4712003531128164964?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/4712003531128164964/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2009/02/anh-gia-kde-42.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/4712003531128164964'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/4712003531128164964'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2009/02/anh-gia-kde-42.html' title='[Đánh giá] KDE 4.2'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh5.ggpht.com/_7HQMEKpIxtQ/SZKrIAqKx4I/AAAAAAAAAV8/8IGZFI1PNGU/s72-c/VRWySwzw.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-186321041711913123</id><published>2009-02-08T22:38:00.003+07:00</published><updated>2009-02-08T22:45:22.762+07:00</updated><title type='text'>Tuyển tập Linux Ebooks</title><content type='html'>&lt;a href="http://sites.google.com/site/thangola/"&gt;http://sites.google.com/site/thangola/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Tuyển tập một số ebook về Linux có giá trị, nội dung bao gồm những kiến thức cơ bản về Linux (FHS, Bash shell, Grub,...), hướng dẫn sử dụng một số phần mềm Linux thông dụng (Apache, Bind, DHCP, Vsftpd,...) và một số ebook dạng cheat-sheets.&lt;br /&gt;&lt;br /&gt;Have fun ^^.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-186321041711913123?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/186321041711913123/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2009/02/tuyen-tap-linux-ebooks.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/186321041711913123'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/186321041711913123'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2009/02/tuyen-tap-linux-ebooks.html' title='Tuyển tập Linux Ebooks'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-4855635180603073643</id><published>2008-12-28T08:45:00.003+07:00</published><updated>2008-12-28T08:55:58.978+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT  music'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><title type='text'>Every OS suck</title><content type='html'>&lt;p&gt;Bài hát cũng có thể xem là một biên niên sử máy tính và hệ điều hành từ những năm 1970 đến nay. Tác giả của bài hát này là nhóm &lt;a href="http://www.deadtroll.com/"&gt;Three Dead Trolls in a Baggie&lt;/a&gt;.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Chúc các bạn cuối tuần vui vẻ ^^.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;embed flashvars="blogmode=1&amp;amp;file=http://chacha.vn/embedded/v1.0/getMedia.php?songId=57695" type="application/x-shockwave-flash" src="http://chacha.vn/embedded/v1.0/mp3player.swf" wmode="transparent" allowscriptaccess="none" width="368" height="130"&gt;&lt;/embed&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;The lyric:&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;blockquote style="font-style: italic; color: rgb(0, 102, 0);"&gt;&lt;p&gt;You see, I come from a time in the nineteen-hundred-and-seventies when&lt;br /&gt;computers were used for two things - to either go to the moon, or play&lt;br /&gt;Pong… nothing in between. Y’see, you didn’t need a fancy operating&lt;br /&gt;system to play Pong, and the men who went to the moon — God Bless ‘em —&lt;br /&gt;did it with no mouse, and a plain text-only black-and-white screen,&lt;br /&gt;and 32 kilobytes of RAM.&lt;/p&gt; &lt;p&gt;But then ’round ’bout the late 70’s, home computers started to do a&lt;br /&gt;little more than play Pong… very little more. Like computers started&lt;br /&gt;to play non-Pong-like games, and balance checkbooks, and why… you&lt;br /&gt;could play Zaxxon on your Apple II, or… write a book! All with a&lt;br /&gt;computer that had 32 kilobytes of RAM! It was good enough to go to&lt;br /&gt;the moon, it was good enough for you.&lt;/p&gt; &lt;p&gt;It was a golden time. A time before Windows, a time before mouses, a&lt;br /&gt;time before the internet and bloatware, and a time…&lt;br /&gt;before every OS sucked.&lt;/p&gt; &lt;p&gt;*sigh*&lt;/p&gt; &lt;p&gt;[singing]&lt;/p&gt; &lt;p&gt;Well, way back in the olden times,&lt;br /&gt;my computer worked for me.&lt;br /&gt;I’d laugh and play, all night and day,&lt;br /&gt;on Zork I, II and III.&lt;/p&gt; &lt;p&gt;The Amiga, VIC-20 and the Sinclair II,&lt;br /&gt;The TRS 80 and the Apple II,&lt;br /&gt;they did what they were supposed to do,&lt;br /&gt;wasn’t much… but it was enough.&lt;/p&gt; &lt;p&gt;But then Xerox made a prototype,&lt;br /&gt;Steve Jobs came on the scene,&lt;br /&gt;read “Of Mice and Menus,” Windows, Icons&lt;br /&gt;a trash, and a bitmap screen.&lt;/p&gt; &lt;p&gt;Well Stevie said to Xerox,&lt;br /&gt;“Boys, turn your heads and cough.”&lt;br /&gt;And when no-one was looking,&lt;br /&gt;he ripped their interfaces off.&lt;/p&gt; &lt;p&gt;Stole every feature that he had seen,&lt;br /&gt;put it in a cute box with a tiny little screen,&lt;br /&gt;Mac OS 1 ran that machine,&lt;br /&gt;only cost five thousand bucks.&lt;/p&gt; &lt;p&gt;But it was slow, it was buggy,&lt;br /&gt;so they wrote it again,&lt;br /&gt;And now they’re up to OS 10,&lt;br /&gt;they’ll charge you for the Beta, then charge you again,&lt;br /&gt;but the Mac OS still sucks.&lt;/p&gt; &lt;p&gt;Every OS wastes your time,&lt;br /&gt;from the desktop to the lap,&lt;br /&gt;Everything since Apple Dos,&lt;br /&gt;Just a bunch of crap.&lt;/p&gt; &lt;p&gt;From Microsoft, to Macintosh,&lt;br /&gt;to Lin– line– lin– lie… nux,&lt;br /&gt;Every computer crashes,&lt;br /&gt;’cause every OS sucks.&lt;/p&gt; &lt;p&gt;Well then Microsoft jumped in the game,&lt;br /&gt;copied Apple’s interface, with an OS named,&lt;br /&gt;“Windows 3.1″ - it was twice as lame,&lt;br /&gt;but the stock price rose and rose.&lt;/p&gt; &lt;p&gt;Then Windows 95, then 98,&lt;br /&gt;man solitaire never ran so great,&lt;br /&gt;and every single version came out late,&lt;br /&gt;but I guess that’s the way it goes.&lt;/p&gt; &lt;p&gt;But that bloatware’ll crash and delete your work,&lt;br /&gt;NT, ME, man, none of ‘em work.&lt;br /&gt;Bill Gates may be richer than Captain Kirk,&lt;br /&gt;but the Windows OS blows!&lt;br /&gt;And sucks!&lt;br /&gt;At the same time!&lt;/p&gt; &lt;p&gt;I’d trade it in, yeah right… for what?&lt;br /&gt;It’s top of the line from the Compuhut.&lt;br /&gt;The fridge, stove and toaster, never crash on me,&lt;br /&gt;I should be able to get online, without a PHD.&lt;/p&gt; &lt;p&gt;My phone doesn’t take a week to boot it,&lt;br /&gt;my TV doesn’t crash when I mute it,&lt;br /&gt;I miss ASCII text, and my floppy drive,&lt;br /&gt;I wish VIC-20 was still alive…&lt;/p&gt; &lt;p&gt;But it ain’t the hardware, man.&lt;/p&gt; &lt;p&gt;It’s just that every OS sucks… and blows.&lt;/p&gt; &lt;p&gt;Now there’s lih-nux or lie-nux,&lt;br /&gt;I don’t know how you say it,&lt;br /&gt;or how you install it, or use it, or play it,&lt;br /&gt;or where you download it, or what programs run,&lt;br /&gt;but lih-nux, or lie-nux, don’t look like much fun.&lt;/p&gt; &lt;p&gt;However you say it, it’s getting great press,&lt;br /&gt;though how it survives is anyone’s guess,&lt;br /&gt;If you ask me, it’s a great big mess,&lt;br /&gt;for elitist, nerdy shmucks.&lt;/p&gt; &lt;p&gt;“It’s free!” they say, if you can get it to run,&lt;br /&gt;the Geeks say, “Hey, that’s half the fun!”&lt;br /&gt;Yeah, but I got a girlfriend, and things to get done,&lt;br /&gt;the Linux OS SUCKS.&lt;br /&gt;(I’m sorry to say it, but it does.)&lt;/p&gt; &lt;p&gt;Every OS wastes your time,&lt;br /&gt;from the desktop to the lap,&lt;br /&gt;Everything since the abacus,&lt;br /&gt;Just a bunch of crap.&lt;/p&gt; &lt;p&gt;From Microsoft, to Macintosh,&lt;br /&gt;to lin– line– lin– lie… nux.&lt;br /&gt;Every computer crashes,&lt;br /&gt;’cause every OS sucks.&lt;/p&gt; &lt;p&gt;Every computer crashes… ’cause every OS sucks! &lt;/p&gt;&lt;/blockquote&gt;&lt;p&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-4855635180603073643?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/4855635180603073643/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/12/every-os-suck.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/4855635180603073643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/4855635180603073643'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/12/every-os-suck.html' title='Every OS suck'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-5346935642121335159</id><published>2008-12-12T11:34:00.006+07:00</published><updated>2008-12-12T20:44:22.666+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='làm chủ Bash shell'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Làm chủ Linux Bash shell: Xử lý string trong Bash shell</title><content type='html'>Một trong những shell được sử dụng thường xuyên trong &lt;span class="wiki_link"&gt;Linux&lt;/span&gt; là bash shell. Khi viết các shell script, công việc mà người sử dụng hay gặp phải nhất có lẽ là xử lý string (tìm file, xử lý tên file, xử lý log, xử lý chuỗi nhập vào,...). Sau đây tôi xin trình bày một số điểm mấu chốt thú vị trong xử lý string với bash shell.&lt;br /&gt;&lt;br /&gt;Hai lệnh đầu tiên, đơn giản nhưng tương đối hữu ích, đó là&lt;!--fonto:Courier New--&gt; &lt;span style="font-family:Courier New;"&gt;&lt;!--/fonto--&gt;&lt;!--sizeo:3--&gt;&lt;span style="line-height: 100%;font-size:12;" &gt;&lt;!--/sizeo--&gt;dirname&lt;!--sizec--&gt;&lt;/span&gt;&lt;!--/sizec--&gt;&lt;!--fontc--&gt;&lt;/span&gt;&lt;!--/fontc--&gt; và &lt;!--fonto:Courier New--&gt;&lt;span style="font-family:Courier New;"&gt;&lt;!--/fonto--&gt;&lt;!--sizeo:3--&gt;&lt;span style="line-height: 100%;font-size:12;" &gt;&lt;!--/sizeo--&gt;basename&lt;!--sizec--&gt;&lt;/span&gt;&lt;!--/sizec--&gt;&lt;!--fontc--&gt;&lt;/span&gt;&lt;!--/fontc--&gt;. Cho một biến có chứa 1 string dạng đường dẫn đến 1 thư mục D hoặc 1 file X, lệnh &lt;!--fonto:Courier New--&gt;&lt;span style="font-family:Courier New;"&gt;&lt;!--/fonto--&gt;&lt;!--sizeo:3--&gt;&lt;span style="line-height: 100%;font-size:12;" &gt;&lt;!--/sizeo--&gt;basename&lt;!--sizec--&gt;&lt;/span&gt;&lt;!--/sizec--&gt;&lt;!--fontc--&gt;&lt;/span&gt;&lt;!--/fontc--&gt; sẽ trả về đúng tên thư mục D hoặc tên file X, còn lệnh &lt;!--fonto:Courier New--&gt;&lt;span style="font-family:Courier New;"&gt;&lt;!--/fonto--&gt;&lt;!--sizeo:3--&gt;&lt;span style="line-height: 100%;font-size:12;" &gt;&lt;!--/sizeo--&gt;dirname&lt;!--sizec--&gt;&lt;/span&gt;&lt;!--/sizec--&gt;&lt;!--fontc--&gt;&lt;/span&gt;&lt;!--/fontc--&gt; trả về phàn đường dẫn đến thư mục mẹ của D hoặc X. Ví dụ:&lt;br /&gt;&lt;!--c1--&gt;&lt;blockquote style="font-family: courier new;"&gt;&lt;div class="codemain"&gt;&lt;!--ec1--&gt;$ basename /home/thangphamduy/workspace/foo.txt&lt;br /&gt;foo.txt&lt;br /&gt;$ dirname /home/thangphamduy/workspace/foo.txt&lt;br /&gt;/home/thangphamduy/workspace&lt;br /&gt;$ basename /home/thangphamduy/workspace&lt;br /&gt;workspace&lt;br /&gt;$ dirname /home/thangphamduy/workspace&lt;br /&gt;&lt;br /&gt;/home/thangphamduy&lt;!--c2--&gt;&lt;/div&gt;&lt;/blockquote&gt;&lt;!--c1--&gt;&lt;div class="codetop"&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="font-family: courier new;" class="codemain"&gt;&lt;!--ec1--&gt;&lt;blockquote&gt;$ ALPHA="/home/thangphamduy/temp/bar.txt"&lt;br /&gt;$ BETA=`dirname $ALPHA`&lt;br /&gt;$ echo $BETA&lt;br /&gt;/home/thangphamduy/temp&lt;/blockquote&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;br /&gt;Đó chỉ là xử lý xâu đơn giản, tiếp đây, chúng ta thử xử lý xâu một cách "pro" hơn với bash shell. Trong 1 biểu thức, ta thường bắt gặp một biến được đặt trong cặp dấu ngoặc nhọn kiểu như&lt;!--fonto:Courier New--&gt; &lt;span style="font-family:Courier New;"&gt;&lt;!--/fonto--&gt;&lt;!--sizeo:3--&gt;&lt;span style="line-height: 100%;font-size:12;" &gt;&lt;!--/sizeo--&gt;${MYVAR}&lt;!--sizec--&gt;&lt;/span&gt;&lt;!--/sizec--&gt;&lt;!--fontc--&gt;&lt;/span&gt;&lt;!--/fontc--&gt;. Và bash cũng cho phép chúng ta xử lý biến đó ngay trong cặp ngoặc nhọn. Chúng ta có thể dễ dàng cắt bỏ hay lấy ra một phần của string chứa trong biến một cách rất dễ dàng. Để dễ hình dung, các bạn có thể xem ví dụ sau:&lt;br /&gt;&lt;br /&gt;&lt;div style="font-family: courier new;" class="codemain"&gt;&lt;!--ec1--&gt;&lt;blockquote&gt;$ MYVAR=foodforthought.jpg&lt;br /&gt;$ echo ${MYVAR##*fo}&lt;br /&gt;rthought.jpg&lt;br /&gt;$ echo ${MYVAR#*fo}&lt;br /&gt;odforthought.jpg&lt;/blockquote&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;Trong lệnh thứ nhất, ở phía trong dấu &lt;!--fonto:Courier New--&gt;&lt;span style="font-family:Courier New;"&gt;&lt;!--/fonto--&gt;&lt;!--sizeo:3--&gt;&lt;span style="line-height: 100%;font-size:12;" &gt;&lt;!--/sizeo--&gt;${}&lt;!--sizec--&gt;&lt;/span&gt;&lt;!--/sizec--&gt;&lt;!--fontc--&gt;&lt;/span&gt;&lt;!--/fontc--&gt;, đầu tiên chúng ta viết tên biến, sau đó là hai dấu #, rồi đến 1 chuỗi ký tự đại diện (*fo). Vậy lệnh này có nghĩa là gì và nó được bash shell thực hiện như thế nào? Lệnh này (&lt;!--fonto:Courier New--&gt;&lt;span style="font-family:Courier New;"&gt;&lt;!--/fonto--&gt;&lt;!--sizeo:3--&gt;&lt;span style="line-height: 100%;font-size:12;" &gt;&lt;!--/sizeo--&gt;echo ${MYVAR##*fo}&lt;!--sizec--&gt;&lt;/span&gt;&lt;!--/sizec--&gt;&lt;!--fontc--&gt;&lt;/span&gt;&lt;!--/fontc--&gt;) sẽ khiến cho bash thực hiện việc cắt bỏ chuối dài nhất, tính từ ký tự đầu tiên, khớp với chuỗi ký tự đại diện (còn gọi là wildcard), sau đó in phần còn lại ra stdout. Khi gặp lệnh này, bash shell sẽ thực hiện việc tìm kiếm tất cả các xâu con khớp với chuỗi ký tự đại diện *fo trong xâu được chứa bởi&lt;!--fonto:Courier New--&gt; &lt;span style="font-family:Courier New;"&gt;&lt;!--/fonto--&gt;&lt;!--sizeo:3--&gt;&lt;span style="line-height: 100%;font-size:12;" &gt;&lt;!--/sizeo--&gt;$MYVAR&lt;!--sizec--&gt;&lt;/span&gt;&lt;!--/sizec--&gt;&lt;!--fontc--&gt;&lt;/span&gt;&lt;!--/fontc--&gt;(tức là tìm tất cả các xâu kết thúc với 2 ký tự fo):&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;&lt;div class="codemain"&gt;&lt;!--ec1--&gt;f  &lt;br /&gt;fo              MATCHES *fo&lt;br /&gt;foo&lt;br /&gt;food&lt;br /&gt;foodf      &lt;br /&gt;foodfo          MATCHES *fo&lt;br /&gt;foodfor&lt;br /&gt;foodfort   &lt;br /&gt;foodforth&lt;br /&gt;foodfortho &lt;br /&gt;foodforthou&lt;br /&gt;foodforthoug&lt;br /&gt;foodforthought&lt;br /&gt;foodforthought.j&lt;br /&gt;foodforthought.jp&lt;br /&gt;foodforthought.jpg&lt;/div&gt;&lt;/blockquote&gt;&lt;div class="codemain"&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;br /&gt;Sau khi kết thúc tìm kiếm (trong VD trên bash tìm được 2 kết quả), bash sẽ lấy xâu kết quả dài nhất (foodfo), rồi loại bỏ nó ra khỏi xâu gốc (phần còn lại: rthought.jpg), rồi in kết quả ra màn hình.&lt;br /&gt;&lt;br /&gt;Trong câu lệnh thứ hai (&lt;!--fonto:Courier New--&gt;&lt;span style="font-family:Courier New;"&gt;&lt;!--/fonto--&gt;&lt;!--sizeo:3--&gt;&lt;span style="line-height: 100%;font-size:12;" &gt;&lt;!--/sizeo--&gt;echo ${MYVAR#*fo}&lt;!--sizec--&gt;&lt;/span&gt;&lt;!--/sizec--&gt;&lt;!--fontc--&gt;&lt;/span&gt;&lt;!--/fontc--&gt;), công việc cũng tương tự như trên, nhưng thay vì lấy kết quả dài nhất, bash shell lại lấy kết quả ngắn nhất (fo) rồi loại bỏ khỏi xâu gốc và in kết quả ra màn hình. Thực ra khi chỉ sử dụng 1 dấu # ở phần tùy biến, ngay khi tìm được kết quả đầu tiên, bash shell sẽ lập tức dừng việc tìm kiếm lại.&lt;br /&gt;&lt;br /&gt;Để tìm kiếm từ cuối xâu thay vì tìm kiếm từ đầu xâu, chúng ta thay các tùy biến # và ## bằng các tùy biến % và %%, cách sử dụng hoàn toàn tương tự. Ví dụ:&lt;br /&gt;&lt;!--c1--&gt;&lt;div style="font-family: courier new;" class="codemain"&gt;&lt;!--ec1--&gt;&lt;blockquote&gt;$ MYVAR=thangphamduy/workspace/bar.foo.txt&lt;br /&gt;$ echo ${MYVAR%.*}&lt;br /&gt;thangphamduy/workspace/bar.foo&lt;br /&gt;$ echo ${MYVAR%%.*}&lt;br /&gt;thangphamduy/workspace/bar&lt;/blockquote&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;br /&gt;Và một cách xử lý string nữa, ít được dùng tới hơn, nhưng nhiều lúc rất có ích, đó là cắt xâu theo vị trí:&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;$ MYVAR=http://thangphamduy.blogspot.com&lt;br /&gt;$ echo ${MYVAR:0:13}&lt;br /&gt;http://fotech&lt;br /&gt;$ echo ${MYVAR:8:17}&lt;br /&gt;fotech.org&lt;/blockquote&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;span&gt;Phần &lt;/span&gt;&lt;span&gt;xử lý string xin được dừng lại tại đây, cảm ơn quý vị và các bạn đã quan tâm theo dõi &gt;:).&lt;/span&gt;&lt;span style="font-style: italic;"&gt;&lt;br /&gt;(Tham khảo từ &lt;/span&gt;&lt;a style="font-style: italic;" href="http://www.ibm.com/developerworks/library/l-bash.html"&gt;Bash by example - IBM&lt;/a&gt;&lt;span style="font-style: italic;"&gt;)&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="codemain"&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-5346935642121335159?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/5346935642121335159/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/12/lm-ch-linux-bash-shell-x-l-string-trong.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/5346935642121335159'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/5346935642121335159'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/12/lm-ch-linux-bash-shell-x-l-string-trong.html' title='Làm chủ Linux Bash shell: Xử lý string trong Bash shell'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-2722435021028750915</id><published>2008-12-01T23:44:00.001+07:00</published><updated>2008-12-01T23:53:04.175+07:00</updated><title type='text'>Vim mind share soaring: roundup of 10 vim articles, recent and older gems</title><content type='html'>&lt;p&gt;(Copy from &lt;a href="http://durdn.com/blog/2008/11/26/vim-mind-share-soaring-roundup-of-10-vim-articles-recent-and-older-gems/"&gt;durdn.com&lt;/a&gt;)&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;Am I the only one to notice that there is a lot of &lt;a href="http://www.vim.org/"&gt;vim&lt;/a&gt; love in the airwaves recently?&lt;/p&gt; &lt;p&gt;I saw the trend very clearly, spanning from &lt;a href="http://www.reddit.com/r/programming/search?q=vim"&gt;reddit&lt;/a&gt; to &lt;a href="http://news.ycombinator.com/"&gt;news.yc&lt;/a&gt; and let me say that the material that came up recently is very good; those neat posts prompted me to improve my vimrc dramatically and I really like what I learned.&lt;/p&gt; &lt;p&gt;In this installment, instead than annotating my vimrc (another one? not that interesting, I’ll refrain) , I want to compile a roundup of the best vim articles I saw recently.&lt;/p&gt; &lt;p&gt;I’ll also add a few classics that changed me from a hater to a vim lover and will conclude with some minor tips out of my bag.&lt;/p&gt; &lt;p&gt;So here we go with the roundup.&lt;/p&gt; &lt;h3&gt;Recent Vim Articles Roundup&lt;/h3&gt; &lt;p&gt;Jamis Buck&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;a href="http://weblog.jamisbuck.org/2008/11/17/vim-follow-up"&gt;Vim Follow Up&lt;/a&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;a href="http://weblog.jamisbuck.org/2008/10/10/coming-home-to-vim"&gt;Coming Home To Vim&lt;/a&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;Jamis Buck switches back to vim from a period using &lt;a href="http://macromates.com/"&gt;TextMate&lt;/a&gt; and talks about his experience and his configuration. Many useful tips in there.&lt;/p&gt; &lt;p&gt;Stephen Bach&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;a href="http://items.sjbach.com/319/configuring-vim-right"&gt;Configuring Vim Right&lt;/a&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;Sensible defaults for your vimrc, recommended.&lt;/p&gt; &lt;p&gt;Learnr dev blog&lt;/p&gt;  &lt;p style="padding-left: 30px;"&gt;&lt;a href="http://blog.learnr.org/post/59098925/configuring-vim-some-more"&gt;Configuring Vim Some More&lt;/a&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;Some additional configuration options that totally make sense and I incorporated in my config too.&lt;/p&gt; &lt;p&gt;Swaroop C H&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;a href="http://www.swaroopch.com/notes/Vim"&gt;A byte of vim&lt;/a&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;A new free e-book on vim, worth reading. Covers also advanced topics like writing your own plug-ins.&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;a href="http://www.swaroopch.com/blog/effective-vim/"&gt;Effective Vim&lt;/a&gt;&lt;/p&gt; &lt;p&gt;This ends the recent vim trend spotting. But there are some older links that are worth sharing in my opinion.&lt;/p&gt; &lt;h3&gt;Older Vim Gems&lt;/h3&gt; &lt;p&gt;Jonathan McPherson&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;a href="http://jmcpherson.org/editing.html"&gt;Efficient Editing With Vim&lt;/a&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;This is a true gem, an intermediate level tutorial that will convert you from a beginner vim user to a way more proficient one.&lt;a href="http://jmcpherson.org/editing.html"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;Jerry Wang&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;a href="http://www.jerrywang.net/vi/vitutor1.html"&gt;vi for smarties&lt;/a&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;Very good beginners guide to vim.&lt;a href="http://www.jerrywang.net/vi/vitutor1.html"&gt;&lt;br /&gt;&lt;/a&gt;&lt;/p&gt; &lt;p&gt;&lt;span style="font-family: arial;"&gt;David Rayner&lt;/span&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;a href="http://www.rayninfo.co.uk/vimtips.html?dupe=with_honor"&gt;best of vim tips&lt;/a&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;Raw tips from a very long time vi/vim user&lt;/p&gt; &lt;h3&gt;Vim is also great for Python development, 3 ideas…&lt;/h3&gt; &lt;p style="padding-left: 30px;"&gt;&lt;a href="http://blogs.warwick.ac.uk/dwatkins/entry/vim_omnicomplete_awesomeness/"&gt;vim omnicomplete awesomeness&lt;/a&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;a href="http://blog.sontek.net/2008/05/11/python-with-a-modular-ide-vim/"&gt;How to make vim a modular Python IDE&lt;/a&gt;&lt;/p&gt; &lt;p style="padding-left: 30px;"&gt;&lt;a href="http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/"&gt;How to replicate SLIME in vim&lt;/a&gt;&lt;/p&gt; &lt;h3&gt;&lt;strong&gt;Finally a few tips from myself&lt;/strong&gt;&lt;/h3&gt; &lt;p&gt;&lt;strong&gt;vimperator&lt;/strong&gt;: If you’re a heavy vim user you might want to checkout the great Firefox extension &lt;a href="http://vimperator.org/trac/wiki/Vimperator"&gt;vimperator&lt;/a&gt;. You’ll find yourself browsing mouse-less with familiar vim keystrokes in a matter of minutes. I love it.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;viPlugin for Eclipse&lt;/strong&gt;: If you’re a Java developer (been there, done that) and you’re stuck with &lt;a href="http://www.eclipse.org/"&gt;Eclipse&lt;/a&gt;, you definitely want to have &lt;a href="http://www.satokar.com/viplugin/"&gt;viPlugin&lt;/a&gt;. It makes the Eclipse experience something much more pleasurable for one who has vi keystrokes embedded in the fingers.&lt;/p&gt; &lt;p&gt;&lt;strong&gt;cool color scheme&lt;/strong&gt;: If you’ve seen “&lt;a href="http://media.rubyonrails.org/video/rails_take2_with_sound.mov"&gt;some&lt;/a&gt;” screen-casts and you have just a subterranean &lt;a href="http://macromates.com/"&gt;TextMate&lt;/a&gt; envy and you can’t stop thinking at that cool color-scheme, well think no more, you can use &lt;a href="http://www.vim.org/scripts/script.php?script_id=1794"&gt;this one&lt;/a&gt; or my &lt;a href="http://durdn.com/vibrantink-durdn.vim"&gt;humbly tweaked version&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;For &lt;a href="http://delicious.com/"&gt;delicious&lt;/a&gt; users &lt;a href="http://delicious.com/durdn/vim?setcount=50"&gt;here is the page&lt;/a&gt; of my bookmarks that made me notice the trend.&lt;/p&gt; &lt;h3&gt;Ending note&lt;/h3&gt; &lt;p&gt;For full disclosure I have to say that I have been - and still am sometimes - an &lt;a href="http://www.gnu.org/software/emacs/"&gt;Emacs&lt;/a&gt; user. One of the rebel ones daring enough to use &lt;a href="http://www.delorie.com/gnu/docs/emacs/viper.html"&gt;Viper&lt;/a&gt; mode. So now you know.&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-2722435021028750915?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/2722435021028750915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/12/roundup-of-vim-articles.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/2722435021028750915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/2722435021028750915'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/12/roundup-of-vim-articles.html' title='Vim mind share soaring: roundup of 10 vim articles, recent and older gems'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-9007409454241855882</id><published>2008-11-27T00:39:00.001+07:00</published><updated>2008-11-27T00:41:55.397+07:00</updated><title type='text'>Gmail themes</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7HQMEKpIxtQ/SS2KBb0qUEI/AAAAAAAAALQ/3HzkGB4H7z0/s1600-h/gmail.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 241px;" src="http://3.bp.blogspot.com/_7HQMEKpIxtQ/SS2KBb0qUEI/AAAAAAAAALQ/3HzkGB4H7z0/s400/gmail.jpg" alt="" id="BLOGGER_PHOTO_ID_5273022495973855298" border="0" /&gt;&lt;/a&gt;Now Google lets us choose themes for Gmail ^^. There are about 30 themes. So cool.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-9007409454241855882?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/9007409454241855882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/11/gmail-themes.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/9007409454241855882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/9007409454241855882'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/11/gmail-themes.html' title='Gmail themes'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_7HQMEKpIxtQ/SS2KBb0qUEI/AAAAAAAAALQ/3HzkGB4H7z0/s72-c/gmail.jpg' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-2696591271167097042</id><published>2008-11-08T13:53:00.002+07:00</published><updated>2008-11-08T14:02:05.143+07:00</updated><title type='text'>Screenshoots</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_7HQMEKpIxtQ/SRU40XU36QI/AAAAAAAAALE/swsgVFCnmFE/s1600-h/Screenshot2.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px;" src="http://4.bp.blogspot.com/_7HQMEKpIxtQ/SRU40XU36QI/AAAAAAAAALE/swsgVFCnmFE/s400/Screenshot2.png" alt="" id="BLOGGER_PHOTO_ID_5266177811545581826" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7HQMEKpIxtQ/SRU40HuZ8tI/AAAAAAAAAK8/mgvuoe8mtUU/s1600-h/desktop.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 250px;" src="http://1.bp.blogspot.com/_7HQMEKpIxtQ/SRU40HuZ8tI/AAAAAAAAAK8/mgvuoe8mtUU/s400/desktop.png" alt="" id="BLOGGER_PHOTO_ID_5266177807357702866" border="0" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-2696591271167097042?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/2696591271167097042/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/11/screenshoot.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/2696591271167097042'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/2696591271167097042'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/11/screenshoot.html' title='Screenshoots'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_7HQMEKpIxtQ/SRU40XU36QI/AAAAAAAAALE/swsgVFCnmFE/s72-c/Screenshot2.png' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-6980645602808394814</id><published>2008-11-04T17:37:00.005+07:00</published><updated>2008-12-12T12:11:39.481+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>Cài đặt Ubuntu/Kubuntu 8.10 từ USB</title><content type='html'>&lt;span style="font-weight: bold;"&gt;1. Chuẩn bị&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Hệ điều hành Windows XP/Vista.&lt;br /&gt;&lt;br /&gt;- File ISO Ubuntu 8.10 (&lt;a href="http://mirror-fpt-telecom.fpt.net/ubuntu-releases/intrepid/"&gt;link download&lt;/a&gt;) hoặc Kubuntu 8.10 (&lt;a href="http://mirror-fpt-telecom.fpt.net/ubuntu-releases/kubuntu/intrepid/"&gt;link download&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;- USB dung lượng lớn hơn hoặc bằng 1 GB.&lt;br /&gt;&lt;br /&gt;- Chương trình HP USB Disk Storage (&lt;a href="http://h50178.www5.hp.com/local_drivers/17550/SP27608.exe"&gt;link download&lt;/a&gt;).&lt;br /&gt;&lt;br /&gt;- Công cụ tạo USB khởi động:&lt;br /&gt;+ &lt;a href="http://duythang.net.googlepages.com/Ubuntu810.exe"&gt;link dành cho Ubuntu&lt;/a&gt; (file nén exe)&lt;br /&gt;+ &lt;a href="http://duythang.net.googlepages.com/Kubuntu810.rar"&gt;link dành cho Kubuntu&lt;/a&gt; (file nén rar)&lt;br /&gt;&lt;br /&gt;[*] Từ bây giờ tớ sẽ chỉ hướng dẫn cho Ubuntu, bạn nào cài Kubuntu thì cứ thay chữ Ubuntu bằng Kubuntu là okie ^^.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. Tạo USB khởi động&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Kết nối máy tính với USB.&lt;br /&gt;&lt;br /&gt;- Đầu tiên các bạn sử dụng chương trình HP USB DS format USB của bạn về định dạng FAT32.&lt;br /&gt;&lt;br /&gt;- Tiếp đó giải nén cái công cụ tại USB khởi động ở trên vào đâu đó trên đĩa cứng, ta được thư mục Ubuntu810.&lt;br /&gt;&lt;br /&gt;- Copy file ISO của Ubuntu 8.10 vào thư mục Ubuntu 8.10.&lt;br /&gt;&lt;br /&gt;- Chạy file Ubuntu810.bat trong thư mục Ubuntu810.&lt;br /&gt;&lt;br /&gt;- Làm theo hướng dẫn trên cửa sổ hiện ra, và chờ đến khi nó báo thành công.&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;3. Cài đặt Ubuntu 8.10&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;- Khởi động lại máy tính&lt;br /&gt;&lt;br /&gt;- Vào BIOS thiết lập chế độ khởi động từ USB (cái này cách làm tùy BIOS, nhưng hầu hết BIOS không quá cũ đều hỗ trợ ^^).&lt;br /&gt;&lt;br /&gt;- Tiếp tục cài đặt như khi cài từ LiveCD.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;4. Tổng kết&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Việc cài từ USB có nhiều ưu điểm hơn cài từ LiveCD do tận dụng được khả năng đọc/ghi tốc độ cao của USB, tiết kiệm được cả thời gian (thời gian cài đặt ở máy tớ là 8 phút) và tiền bạc (tiền đĩa CD và hao mòn ổ ghi =))).&lt;br /&gt;&lt;br /&gt;Nếu đã có LiveCD, bạn cũng có thể tạo USB cài Ubuntu bằng cách boot vào LiveCD và làm như sau:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7HQMEKpIxtQ/SRAxzystDyI/AAAAAAAAAKs/igNAfkydxl4/s1600-h/Ubuntu-USB-1.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 384px; height: 400px;" src="http://3.bp.blogspot.com/_7HQMEKpIxtQ/SRAxzystDyI/AAAAAAAAAKs/igNAfkydxl4/s400/Ubuntu-USB-1.jpg" alt="" id="BLOGGER_PHOTO_ID_5264762730248474402" border="0" /&gt;&lt;/a&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_7HQMEKpIxtQ/SRAxz-OHQ4I/AAAAAAAAAK0/6TexLjmjMLY/s1600-h/Ubuntu-USB.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 393px; height: 400px;" src="http://1.bp.blogspot.com/_7HQMEKpIxtQ/SRAxz-OHQ4I/AAAAAAAAAK0/6TexLjmjMLY/s400/Ubuntu-USB.jpg" alt="" id="BLOGGER_PHOTO_ID_5264762733341393794" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Bài viết này tớ có tham khảo từ &lt;a href="http://www.pendrivelinux.com/2008/10/06/usb-ubuntu-810-install-from-windows-non-persistent/"&gt;pendrivelinux&lt;/a&gt;. Cái tool dành cho Kubuntu 8.10 là do tớ edit từ cái dành tool cho Ubuntu nên không có định dạng exe như cái của pendrivelinux ^^.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-6980645602808394814?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/6980645602808394814/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/11/ci-t-ubuntukubuntu-810-t-usb.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/6980645602808394814'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/6980645602808394814'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/11/ci-t-ubuntukubuntu-810-t-usb.html' title='Cài đặt Ubuntu/Kubuntu 8.10 từ USB'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_7HQMEKpIxtQ/SRAxzystDyI/AAAAAAAAAKs/igNAfkydxl4/s72-c/Ubuntu-USB-1.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-7885476187139499291</id><published>2008-11-02T22:38:00.010+07:00</published><updated>2009-02-11T18:18:49.595+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='KDE'/><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='đánh giá'/><category scheme='http://www.blogger.com/atom/ns#' term='kubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu'/><title type='text'>[Đánh giá] Kubuntu 8.10</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7HQMEKpIxtQ/SQ5dq__2rnI/AAAAAAAAAKY/G9v25FbGF0A/s1600-h/Ibex.jpg"&gt;&lt;img style="margin: 0pt 0pt 10px 10px; float: right; cursor: pointer; width: 237px; height: 400px;" src="http://2.bp.blogspot.com/_7HQMEKpIxtQ/SQ5dq__2rnI/AAAAAAAAAKY/G9v25FbGF0A/s400/Ibex.jpg" alt="" id="BLOGGER_PHOTO_ID_5264248007757835890" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Vào ngày cuối tháng 10, khi Halloween đã tới rất gần, một sự kiện được trông đợi bởi những chiếc đồng hồ đếm ngược đã xảy ra: Bản Ubuntu 8.10 đã ra đời. Kèm theo đó là các phiên bản trên các nền đồ họa khác: Kubuntu 8.10, Xubuntu 8.10.&lt;br /&gt;&lt;br /&gt;Trước hết xin gửi lời cảm ơn đến bác CườngNV @ JAIST. Bác có lẽ là người đầu tiên làm mirror Ubuntu 8.10 ở Việt Nam cho anh em download và cài đặt Ubuntu ngay khi đang còn nóng. Bác cũng update ngay con Kubuntu khi em yêu cầu ^^.&lt;br /&gt;&lt;br /&gt;Theo như phản ánh của anh em Fotech thì bản Ubuntu 8.10 khá là chán. Việc thực hiện upgrade có tỷ lệ thất bại khá cao. Thêm vào đó, khả năng nhận phần cứng (card wireless, card màn hình) chưa tốt (còn tệ hợn bản RC :(). Có lẽ đây là hệ quả của sức ép từ phần sau dấu chấm của con số 8.10 gây ra. Rõ ràng tuyên bố trước là đúng 6 tháng sẽ phát hành một phiên bản khiến cho dù phiên bản chưa thật hoàn chỉnh vẫn phải tung ra.&lt;br /&gt;&lt;br /&gt;Tớ chỉ mới cài thử bản Kubuntu 8.10 trên laptop. Tuy nhiên tớ đánh giá khá cao bản này. Kubuntu 8.10 được xây dựng dựa vào nền đồ họa KDE 4.1 khá tốt. KDE 4.1 có khá nhiều tính năng nổi bật thú vị.&lt;br /&gt;&lt;br /&gt;KDE 4.1 là bản cải tiến của KDE 4.0. Khái niệm Desktop đã được thay đổi hoàn toàn. Bây giờ Desktop được gọi với tên mới là Plasma, là nơi để đính các Gadget, và chính các Gadget này với độ tùy biến cao sẽ mang lại các tiện ích cho người sử dụng. Thanh Start menu được thiết kế thành các Tab tiện lợi và có bổ sung ô search thông minh (đú theo Vista ^^). Phiên bản 4.1 bổ sung những điểm thiếu sót cho KDE 4.0: Gadget Folder view cho phép đưa một thư mục bất kỳ lên Plasma; main panel có tính tùy biến cao; bổ sung thêm công cụ Grub editor tiện lợi.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.kde.org/img/kde41.png"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 437px; height: 199px;" src="http://www.kde.org/img/kde41.png" alt="" border="0" /&gt;&lt;/a&gt;Một điều đáng nói ở Kubuntu 8.10 là vấn đề giao diện và font chữ đã được cải thiện đặc biệt. Các bạn có thể thấy rõ nhất điều này khi cài thử FF3. Đã không còn những font + giao diện xấu mù, mà thay vào đó là một bộ mặt hoàn toàn khác.&lt;br /&gt;&lt;br /&gt;Bản Kubuntu 8.10 cũng đã fix được khá nhiều lỗi liên quan đến tính tương thích phàn mềm. Tớ dùng thử một ngày mà chưa gặp lỗi crash lần nào. Tớ cài bộ gõ XUnikey, để chế độ Foward, và tớ có thể sử dụng nó với hầu hết các phần mềm (trừ Konqueror không sao gõ được tiếng Việt).&lt;br /&gt;Tuy nhiên tớ vẫn còn vướng một số vấn đề nhỏ khi sử dụng bản này. Tớ không thể mở được các file mp3 bằng Amarok. Tớ cũng không thể kết nối wireless được (cái này không biết do hệ điều hành hay tại AP nữa ^^). Kopete không thể kết nối được máy chủ Yahoo (một số anh em Fotech bảo là do máy chủ lỗi, tạm tin vậy ^^).&lt;br /&gt;&lt;br /&gt;Kết lại một câu là Kubuntu 8.10 cũng đáng để dùng đấy chứ nhỉ ^^.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-7885476187139499291?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/7885476187139499291/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/11/nh-gi-kubuntu-810.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/7885476187139499291'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/7885476187139499291'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/11/nh-gi-kubuntu-810.html' title='[Đánh giá] Kubuntu 8.10'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_7HQMEKpIxtQ/SQ5dq__2rnI/AAAAAAAAAKY/G9v25FbGF0A/s72-c/Ibex.jpg' height='72' width='72'/><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-6456403493488735954</id><published>2008-11-01T23:08:00.007+07:00</published><updated>2008-12-12T12:11:48.931+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Truy cập phân vùng Linux từ Windows</title><content type='html'>Bạn dùng song song 2 hệ điều hành Windows và Linux? Trong Linux có thể truy cập phân vùng NTFS bằng NTFS-3G, thật là dễ dàng. Nhưng từ Windows nếu muốn truy cập vào phân vùng ext2, ext3 thì bạn phải làm thế nào? Thực ra là có khá nhiều cách, và đều không phức tạp hơn NTFS-3G. Bài viết này tớ sẽ giới thiệu 2 phương pháp đơn giản và hiệu quả nhất ^^.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;1. Ext2 Installable File System (Ext2IFS)&lt;/span&gt;&lt;br /&gt;Bạn có thể download phần mềm này từ địa chỉ: &lt;a href="http://www.fs-driver.org/index.html"&gt;http://www.fs-driver.org/index.html&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Quá trình cài đặt rất đơn giản, bộ cài đặt sẽ tự scan (các) ổ cứng của bạn và hiển thị tất cả các phân vùng như hình dưới. Bạn có thể chọn chữ cái cho các phân vùng bạn muốn sử dụng.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7HQMEKpIxtQ/SQyCavxhdTI/AAAAAAAAAJ4/FI6a6yzjF5s/s1600-h/Ext2IFS.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 461px; height: 265px;" src="http://2.bp.blogspot.com/_7HQMEKpIxtQ/SQyCavxhdTI/AAAAAAAAAJ4/FI6a6yzjF5s/s400/Ext2IFS.jpg" alt="" id="BLOGGER_PHOTO_ID_5263725460501656882" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Sau khi chọn Next, bộ cài sẽ hiển thị phần Release note của version. Phần này có rất nhiều thông tin có ích, các bạn nên đọc kỹ:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_7HQMEKpIxtQ/SQyCbVAPnxI/AAAAAAAAAKA/zn6c0lPLTXo/s1600-h/Ext2IFS-Readme.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 400px; height: 396px;" src="http://3.bp.blogspot.com/_7HQMEKpIxtQ/SQyCbVAPnxI/AAAAAAAAAKA/zn6c0lPLTXo/s400/Ext2IFS-Readme.jpg" alt="" id="BLOGGER_PHOTO_ID_5263725470495514386" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Và đây là kết quả ^^:&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_7HQMEKpIxtQ/SQyJSQRiciI/AAAAAAAAAKQ/ATK_e4AdxxM/s1600-h/Ext2IFS-Explorer.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 473px; height: 432px;" src="http://2.bp.blogspot.com/_7HQMEKpIxtQ/SQyJSQRiciI/AAAAAAAAAKQ/ATK_e4AdxxM/s400/Ext2IFS-Explorer.jpg" alt="" id="BLOGGER_PHOTO_ID_5263733011188445730" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ưu điểm: Truy cập dễ dàng với Windows Explorer như là một phân vùng Windows ^^. Có thể tùy biến quyền ReadOnly hoặc không :D.&lt;br /&gt;Nhược điểm: Chỉ hỗ trợ số inode tối đa là 128bytes, do đó chỉ hoạt động tốt với phân vùng Ext2 và cả Ext3 nếu Ext3 được format dưới dạng số inode 128bytes (tham số -i của lệnh mkfs.ext3).&lt;br /&gt;* Khuyến cáo: Nếu bạn sử dụng Windows Vista, hãy tắt tính năng User Account Control để đảm bảo không xảy ra lỗi khi truy cập phân vùng Linux .&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;2. Total Commander + Plugin &lt;span style="font-style: italic;"&gt;ext2+reiser&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;(Nguồn: &lt;a href="http://tuyetkiem.wordpress.com/2008/10/28/l%E1%BA%A5y-d%E1%BB%AF-li%E1%BB%87u-%E1%BB%9F-phan-vung-linux-t%E1%BB%AB-windows/"&gt;http://tuyetkiem.wordpress.com/2008/10/28/l%...B-windows/&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Nếu bạn đã khá quen với sự tiện dụng của Total Commader (TC) thì có một plug-in khá hữu ích, bổ sung cho TC tính năng truy cập các định dạng phân vùng Linux như ext2, ext3, reiserfs.&lt;br /&gt;&lt;br /&gt;Bạn có thể download plugin trên ở đây: &lt;a href="http://www.ghisler.com/plugins.htm"&gt;http://www.ghisler.com/plugins.htm&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Ưu điểm: Sử dụng tốt với các phân vùng định dạng ext2, ext3 (ReiserFs thì tớ không có điều kiện kiểm chứng). Tận dụng được sự tiện dụng của TC.&lt;br /&gt;Nhược điểm: Hơi chậm :D.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-6456403493488735954?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/6456403493488735954/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/11/truy-cp-phn-vng-linux-t-windows.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/6456403493488735954'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/6456403493488735954'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/11/truy-cp-phn-vng-linux-t-windows.html' title='Truy cập phân vùng Linux từ Windows'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_7HQMEKpIxtQ/SQyCavxhdTI/AAAAAAAAAJ4/FI6a6yzjF5s/s72-c/Ext2IFS.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-456489446915355461</id><published>2008-10-30T17:02:00.002+07:00</published><updated>2008-10-30T17:08:16.641+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='windows'/><title type='text'>Top secret routine of Microsoft Vista</title><content type='html'>That's Vista =))&lt;br /&gt;&lt;blockquote style="font-family: courier new;"&gt;&lt;div class="codetop"&gt;CODE&lt;/div&gt;&lt;div class="codemain"&gt;&lt;!--ec1--&gt;    /*&lt;br /&gt;    TOP SECRET Microsoft(c) Project:Longhorn(TM) SP1&lt;br /&gt;    Estimated release date:2008&lt;br /&gt;    */&lt;br /&gt;    #include “win95.h”&lt;br /&gt;    #include “win98.h”&lt;br /&gt;    #include “leopard.h”&lt;br /&gt;&lt;br /&gt;    char chew_up_some_ram[10000000];&lt;br /&gt;&lt;br /&gt;    void main () {&lt;br /&gt;    while (!CRASHED) {&lt;br /&gt;&lt;br /&gt;    if (first_time_install) {&lt;br /&gt;    make_10_gigabyte_swapfile();&lt;br /&gt;    do_nothing_loop();&lt;br /&gt;    search_and_destroy(FIREFOX | OPENOFFICEORG | ANYTHING_GOOGLE);&lt;br /&gt;    hang_system();&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    if (still_not_crashed) {&lt;br /&gt;    basically_run_windows_xp();&lt;br /&gt;    do_nothing_loop();&lt;br /&gt;    }&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    if (!DX10GPU()) {&lt;br /&gt;    set_graphics(aero, very_slow);&lt;br /&gt;    set_mouse(reaction, sometimes);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    // printf(”Welcome to Windows 2000″);&lt;br /&gt;    // printf(”Welcome to Windows XP”);&lt;br /&gt;    printf(”Welcome to Windows Vista”);&lt;br /&gt;&lt;br /&gt;    while (something) {&lt;br /&gt;    sleep(10);&lt;br /&gt;    get_user_input();&lt;br /&gt;    sleep(10);&lt;br /&gt;    act_on_user_input();&lt;br /&gt;    sleep(10);&lt;br /&gt;    flicker_led_promisingly(hard_disk);&lt;br /&gt;    }&lt;br /&gt;&lt;br /&gt;    creat_general_protection_fault();&lt;br /&gt;    }&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt; &lt;!--IBF.ATTACHMENT_229848--&gt;        &lt;br /&gt;&lt;/blockquote&gt;(From &lt;a href="http://silverhat.wordpress.com/2008/04/08/windows-vista-code-revealed/"&gt;http://silverhat.wordpress.com/2008/04/08/windows-vista-code-revealed/&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-456489446915355461?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/456489446915355461/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/10/top-secret-routine-of-microsoft-vista.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/456489446915355461'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/456489446915355461'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/10/top-secret-routine-of-microsoft-vista.html' title='Top secret routine of Microsoft Vista'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-8371305651924099104</id><published>2008-10-08T19:22:00.001+07:00</published><updated>2008-10-08T19:29:07.292+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='poet'/><title type='text'>ƯỚC MƠ CỦA LẬP TRÌNH VIÊN</title><content type='html'>Đời vẫn chê rằng: lập trinh viên&lt;br /&gt;Chỉ biết vẽ đồ thị hình tim trên &lt;span class="wiki_link"&gt;màn hình&lt;/span&gt; đồ hoạ&lt;br /&gt;Hay phân tích và đem số hoá&lt;br /&gt;Thành bit, byte cả những nhành hoa&lt;br /&gt;Chẳng biết tí ti về nhạc, hoạ, thơ ca&lt;br /&gt;&lt;br /&gt;Biết làm sao được. IT không lãng mạn.&lt;br /&gt;Cảm xúc không sinh được theo thuật toán&lt;br /&gt;Nên &lt;span class="wiki_link"&gt;máy tính&lt;/span&gt; không biết làm thơ&lt;br /&gt;&lt;br /&gt;Nhưng lập trinh viên thì biết ước mơ&lt;br /&gt;Mong cuộc sống đẹp hơn nhờ những chương trình tự động&lt;br /&gt;Mong chắp cánh cho những niềm hi vọng&lt;br /&gt;Kết nối những trái tim vượt khoảng cách không gian...&lt;br /&gt;&lt;br /&gt;(From &lt;a href="http://fotech.org/"&gt;fotech.org&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-8371305651924099104?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/8371305651924099104/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/10/c-m-ca-lp-trnh-vin.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8371305651924099104'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8371305651924099104'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/10/c-m-ca-lp-trnh-vin.html' title='ƯỚC MƠ CỦA LẬP TRÌNH VIÊN'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-2104758581352037470</id><published>2008-09-26T08:16:00.002+07:00</published><updated>2008-09-26T19:28:50.228+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poet'/><title type='text'>Giá mà được chết đi một lúc</title><content type='html'>&lt;span class="Apple-style-span" style="color: rgb(34, 34, 34); line-height: 20px;font-family:arial;font-size:13;"  &gt;Giá mà được chết đi một lúc&lt;br /&gt;Chắc bình yên hơn một giấc ngủ dài&lt;br /&gt;Nếu được xuống địa ngục thì càng tốt&lt;br /&gt;Lên thiên đường sợ chả gặp ai&lt;br /&gt;&lt;br /&gt;Giá mà được chết đi một lúc&lt;br /&gt;Tỉnh dậy xem người ta khóc hay cười&lt;br /&gt;Và xem thử mình sẽ cười hay khóc&lt;br /&gt;Làm ma có sướng hơn làm người?&lt;br /&gt;&lt;br /&gt;Giá mà được chết đi một lúc&lt;br /&gt;Nằm im cho cuộc sống nhỏ tuôn trào&lt;br /&gt;Nếu người ta tống ngay vào nhà xác&lt;br /&gt;Cứ thế mà chết cóng cũng chẳng sao.&lt;br /&gt;&lt;br /&gt;&lt;nguyễn&gt;&lt;/nguyễn&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(34, 34, 34); line-height: 20px;font-family:arial;font-size:48;"  &gt;&lt;span class="Apple-style-span"  style="font-size:13;"&gt;(Nguyễn Thế Hoàng Linh)&lt;/span&gt;&lt;br /&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-2104758581352037470?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/2104758581352037470/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/09/gi-m-c-cht-i-mt-lc.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/2104758581352037470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/2104758581352037470'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/09/gi-m-c-cht-i-mt-lc.html' title='Giá mà được chết đi một lúc'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-4545695568980005449</id><published>2008-09-24T11:47:00.007+07:00</published><updated>2008-12-12T12:10:29.743+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><category scheme='http://www.blogger.com/atom/ns#' term='làm chủ Bash shell'/><category scheme='http://www.blogger.com/atom/ns#' term='tutorial'/><title type='text'>Làm chủ Linux Bash shell với ký tự "!"</title><content type='html'>&lt;span class="Apple-style-span" style="color: rgb(34, 34, 34); font-weight: bold; line-height: 19px;font-family:Verdana;font-size:48;"  &gt;&lt;span class="Apple-style-span" style="font-weight: normal;font-size:12;" &gt;- &lt;i&gt;Cú pháp:&lt;/i&gt; !{Some chars} &lt;i&gt;&lt;/i&gt;&lt;/span&gt;&lt;/span&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(34, 34, 34); font-weight: bold; line-height: 19px;font-family:Verdana;font-size:48;"  &gt;&lt;span class="Apple-style-span" style="font-weight: normal;font-size:12;" &gt;&lt;i&gt;Ý nghĩa:&lt;/i&gt; gọi và thực thi lệnh gần nhất trong đã thực thi có phần bắt đầu là {some chars}&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(34, 34, 34); font-weight: bold; line-height: 19px;font-family:Verdana;font-size:48;"  &gt;&lt;span class="Apple-style-span" style="font-weight: normal;font-size:12;" &gt;&lt;br /&gt;&lt;div class="codetop" style="margin: 0px auto; padding: 3px; background-image: url(http://www.fotech.org/forum/style_images/fotech/css_img_code.gif); background-repeat: no-repeat; background-color: rgb(253, 219, 204); color: rgb(0, 0, 0); font-weight: bold; background-position: 100% 50%;"&gt;CODE&lt;/div&gt;&lt;div class="codemain" style="border: 1px dotted rgb(0, 0, 0); margin: 0px auto; padding: 2px; background-color: rgb(250, 252, 254); color: rgb(70, 85, 132); font-family: 'Courier New',Courier,Verdana,Arial;"&gt;$ cat /home/mrpc/workspace/learning-bash/test.txt&lt;br /&gt;dong thu nhat&lt;br /&gt;$ echo "bo sung them dong thu hai" &gt;&gt; ~/test.txt&lt;br /&gt;$!cat&lt;br /&gt;cat /home/mrpc/workspace/learning-bash/test.txt&lt;br /&gt;dong thu nhat&lt;br /&gt;bo sung them dong thu hai&lt;/div&gt;- &lt;i&gt;Cú pháp:&lt;/i&gt; {tên lệnh} [danh sách tham số | !$]&lt;br /&gt;&lt;i&gt;Ý nghĩa&lt;/i&gt;: Gọi lệnh và thay tham số !$ trong danh sách tham số bằng tham số cuối cùng của lệnh vừa gõ&lt;br /&gt;&lt;div class="codetop" style="margin: 0px auto; padding: 3px; background-image: url(http://www.fotech.org/forum/style_images/fotech/css_img_code.gif); background-repeat: no-repeat; background-color: rgb(253, 219, 204); color: rgb(0, 0, 0); font-weight: bold; background-position: 100% 50%;"&gt;CODE&lt;/div&gt;&lt;div class="codemain" style="border: 1px dotted rgb(0, 0, 0); margin: 0px auto; padding: 2px; background-color: rgb(250, 252, 254); color: rgb(70, 85, 132); font-family: 'Courier New',Courier,Verdana,Arial;"&gt;$ touch /home/mrpc/workspace/learning-bash/ten.file.rat.la.dai.txt&lt;br /&gt;$ echo "dong dau tien" &gt;&gt; !$&lt;br /&gt;$ cat !$&lt;br /&gt;dong dau tien&lt;/div&gt;&lt;br /&gt;&lt;/span&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-4545695568980005449?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/4545695568980005449/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/09/lm-ch-linux-bash-shell.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/4545695568980005449'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/4545695568980005449'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/09/lm-ch-linux-bash-shell.html' title='Làm chủ Linux Bash shell với ký tự &quot;!&quot;'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-8681270466265074</id><published>2008-09-17T08:13:00.000+07:00</published><updated>2008-09-17T08:14:10.254+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='poet'/><title type='text'>Chảy đi sông ơi</title><content type='html'>&lt;span class="Apple-style-span" style="color: rgb(51, 51, 51); font-family: arial; font-size: 12px; "&gt;Chảy đi sông ơi&lt;br /&gt;Băn khoăn làm gì&lt;br /&gt;Ai sống mãi được&lt;br /&gt;Em thì nông nổi&lt;br /&gt;Anh thì mê mải&lt;br /&gt;&lt;br /&gt;Anh đi tìm gì&lt;br /&gt;Lòng người đen bạc&lt;br /&gt;Mỹ nhân già đi&lt;br /&gt;Lời ai than thở&lt;br /&gt;&lt;br /&gt;Cuốn trong gió chiều&lt;br /&gt;Anh hùng cười gượng&lt;br /&gt;Nét buồn cô liêu&lt;br /&gt;Sóng đời đãi hết&lt;br /&gt;&lt;br /&gt;Chảy đi sông ơi&lt;br /&gt;Cho tôi nhớ lại&lt;br /&gt;Bên ai một chiều&lt;br /&gt;Thôi thì thôi vậy&lt;br /&gt;&lt;br /&gt;Yêu người tôi yêu&lt;br /&gt;Hết rồi nước mắt&lt;br /&gt;Mưa giăng ngợp chiều&lt;br /&gt;Thôi thì thôi nhé&lt;br /&gt;&lt;br /&gt;Em thì em bé&lt;br /&gt;Anh thì hoang vắng...&lt;br /&gt;&lt;br /&gt;&lt;huy&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-8681270466265074?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/8681270466265074/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/09/chy-i-sng-i.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8681270466265074'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8681270466265074'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/09/chy-i-sng-i.html' title='Chảy đi sông ơi'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-9176550182657918488</id><published>2008-09-15T08:43:00.006+07:00</published><updated>2009-03-02T10:53:50.971+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='IT  music'/><category scheme='http://www.blogger.com/atom/ns#' term='network'/><category scheme='http://www.blogger.com/atom/ns#' term='fun'/><category scheme='http://www.blogger.com/atom/ns#' term='security'/><title type='text'>Alice and Bob</title><content type='html'>Alice và Bob là hai nhân vật thường xuyên xuất hiện trong các bài giảng và các vấn đề về mã hóa và bảo mật. Việc sử dụng hai cái tên này bắt nguồn từ việc các vấn đề mã hóa thường phải đề cập đến "A muốn gửi một thông điệp cho B". Ngoài Alice và Bob, còn có một số nhân vật khác như:&lt;div&gt;- Eve: người nghe trộm thông tin, được biết như là kẻ tấn công với hình thức passive.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;- Mallory: không như Eve, Mallory là kẻ tấn công  hiểm độc. Mallory luôn muốn sửa đổi thông tin, thay thế bằng tin khác hoặc nhân bản các tin lên,...&lt;/div&gt;&lt;div&gt;- Trend: may mắn cho Alice và Bob, họ luôn có sự giúp đỡ của Trend, bên thứ ba, người cung cấp các giao thức an toàn để truyền tin.&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;Bài hát sau do MC Plus+ (*) sáng tác. Bài hát nói về mối quan hệ của Alice, Bob, Trend, Eve và Mallory, cùng với các vấn đề liên quan đến an toàn mạng như các thuật toán mã hóa, ưu nhược điểm của chúng.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;[*] &lt;a href="http://www.mcplusplus.com/"&gt;MC Plus+&lt;/a&gt; tên thật là &lt;a href="http://www.cs.purdue.edu/people/graduate_students/anavabi/"&gt;Armand Navabi,&lt;/a&gt; đang nghiên cứu về khoa học máy tính tại đại học Purdue.&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;div&gt;&lt;br /&gt;&lt;/div&gt;&lt;embed flashvars="blogmode=1&amp;amp;file=http://chacha.vn/embedded/v1.0/getMedia.php?songId=57694" type="application/x-shockwave-flash" src="http://chacha.vn/embedded/v1.0/mp3player.swf" wmode="transparent" allowscriptaccess="none" height="130" width="368"&gt;&lt;/embed&gt;&lt;div&gt;Lyric:&lt;/div&gt;&lt;div&gt;&lt;span class="Apple-style-span" style="color: rgb(41, 48, 59);font-family:'Trebuchet MS';font-size:13;"  &gt;&lt;p style="margin: 0px 0px 1em; padding: 0px; line-height: 170%;"&gt;&lt;/p&gt;&lt;blockquote&gt;&lt;p style="margin: 0px 0px 1em; padding: 0px; line-height: 170%;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Alice is sending her message to Bob&lt;br /&gt;Protecting that transmission is Crypto’s job&lt;br /&gt;Without the help of our good friend Trent,&lt;br /&gt;It’s hard to get that secret message sent&lt;br /&gt;Work tries to deposit the check of your salary&lt;br /&gt;But with no crypto, it’ll be changed by Mallory&lt;br /&gt;You think no one will see what it is, you believe?&lt;br /&gt;But you should never forget, there’s always an Eve…&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px 0px 1em; padding: 0px; line-height: 170%;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;[Chorus]&lt;br /&gt;‘Cause I’m encrypting s**t like every single day&lt;br /&gt;Sending data across the network in a safe way&lt;br /&gt;Protecting messages to make my pay&lt;br /&gt;If you hack me, you’re guilty under DMCA&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px 0px 1em; padding: 0px; line-height: 170%;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;DES is wrong if you listen to NIST&lt;br /&gt;Double DES ain’t no better man, that got dissed&lt;br /&gt;Twofish for AES, that was Schneier’s wish&lt;br /&gt;Like a shot from the key, Rijndael made the swish&lt;br /&gt;But Blowfish is still the fastest in the land&lt;br /&gt;And Bruce used his fame to make a few grand&lt;br /&gt;Use ECB, and I’ll crack your ciphertext&lt;br /&gt;Try CFB mode to keep everyone perplexed&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px 0px 1em; padding: 0px; line-height: 170%;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;[Chorus]&lt;br /&gt;‘Cause I’m encrypting s**t like every single day&lt;br /&gt;Sending data across the network in a safe way&lt;br /&gt;Protecting messages to make my pay&lt;br /&gt;If you hack me, you’re guilty under DMCA&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px 0px 1em; padding: 0px; line-height: 170%;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Random numbers ain’t easy to produce…&lt;br /&gt;Do it wrong, and your key I’ll deduce&lt;br /&gt;RSA, only public cipher in the game&lt;br /&gt;Creating it helped give Rivest his fame&lt;br /&gt;If we could factor large composites in poly time,&lt;br /&gt;We’d have enough money to not have to rhyme&lt;br /&gt;Digesting messages with a hashing function&lt;br /&gt;Using SHA1 or else it won’t cause disfunction&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px 0px 1em; padding: 0px; line-height: 170%;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;[Chorus]&lt;br /&gt;‘Cause I’m encrypting s**t like every single day&lt;br /&gt;Sending data across the network in a safe way&lt;br /&gt;Protecting messages to make my pay&lt;br /&gt;If you hack me, you’re guilty under DMCA&lt;/span&gt;&lt;/p&gt;&lt;p style="margin: 0px 0px 1em; padding: 0px; line-height: 170%;"&gt;&lt;span class="Apple-style-span" style="font-style: italic;"&gt;Password confirmed. Stand by…&lt;/span&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;p style="margin: 0px 0px 1em; padding: 0px; line-height: 170%;"&gt;&lt;/p&gt;&lt;/span&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-9176550182657918488?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/9176550182657918488/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/09/alice-and-bob.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/9176550182657918488'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/9176550182657918488'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/09/alice-and-bob.html' title='Alice and Bob'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-3135033253937807539</id><published>2008-09-14T00:25:00.002+07:00</published><updated>2008-09-14T01:33:43.732+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='linux'/><title type='text'>Why Linux?</title><content type='html'>Linux là một hệ điều hành máy tính kiểu Unix. Linux là một ví dụ nổi bật nhất cho việc phát triển phần mềm miễn phí và nguồn mở; mã nguồn của nó có thể được xem, chỉnh sửa, sử dụng hay phân phối lại một cách miễn phí bởi bất kỳ ai.&lt;br /&gt;&lt;br /&gt;Nổi tiếng chủ yếu vì mục đích sử dụng làm máy chủ, Linux đã nhận được sự hỗ trợ của nhiều tập đoàn lớn như IBM, Sun Microsystems, Dell, HP và Novell. Nó được sử dụng làm hệ điều hành cho nhiều hệ phần cứng khác nhau, bao gồm máy tính cá nhân, siêu máy tính, máy chơi game chuyên dụng (PS2 và PS3 là 2 ví dụ điển hình :D) và các thiết bị nhúng như là điện thoại di động hay router.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://lh6.ggpht.com/duythang.net/SMv5GVMdiLI/AAAAAAAAAGc/ghQ53-m7Ahk/2428594983_fe30642b19_o.jpg"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 464px; height: 348px;" src="http://lh6.ggpht.com/duythang.net/SMv5GVMdiLI/AAAAAAAAAGc/ghQ53-m7Ahk/2428594983_fe30642b19_o.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Bức ảnh trên là một trong những câu trả lời cho câu hỏi "Why Linux?".&lt;br /&gt;&lt;br /&gt;Để tìm hiểu về lịch sử hệ điều hành Linux, các bạn có thể xem ở đây: &lt;a href="http://en.wikipedia.org/wiki/Linux#History"&gt;History of Linux OS&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Đây là sơ đồ phát triển của các hệ điểu hành Unix nói chung:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh4.ggpht.com/duythang.net/SMv5GaIrTWI/AAAAAAAAAGU/Q8EgB0RV5JM/655px-Unix_history.png" /&gt;&lt;br /&gt;&lt;br /&gt;Và sơ đồ phát triển của các Linux distro:&lt;br /&gt;&lt;br /&gt;&lt;img src="http://lh6.ggpht.com/duythang.net/SMv5F5aTCrI/AAAAAAAAAGM/le8kjlDdDoY/linuxdistrotimeline.png" width="600" /&gt;&lt;br /&gt;(&lt;a href="http://lh6.ggpht.com/duythang.net/SMv5F5aTCrI/AAAAAAAAAGM/le8kjlDdDoY/linuxdistrotimeline.png"&gt;View full size&lt;/a&gt;)&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-3135033253937807539?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/3135033253937807539/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/09/why-linux.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/3135033253937807539'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/3135033253937807539'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/09/why-linux.html' title='Why Linux?'/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://lh6.ggpht.com/duythang.net/SMv5GVMdiLI/AAAAAAAAAGc/ghQ53-m7Ahk/s72-c/2428594983_fe30642b19_o.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-6059016432998323683.post-8540201849338473915</id><published>2008-07-06T01:17:00.008+07:00</published><updated>2009-07-06T01:30:48.870+07:00</updated><title type='text'></title><content type='html'>&lt;script type="text/javascript"&gt; id = 25205; clr = "FFFFFF-000000--FEFFD6"; &lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://kontactr.com/wp.js"&gt;&lt;/script&gt;&lt;br /&gt;&lt;br /&gt;&lt;style&gt;&lt;br /&gt;.meta {display: none!important;visibility: hidden!important;}&lt;br /&gt;#disqus_thread {display: none!important;visibility: hidden!important;}&lt;br /&gt;#koment {display: none!important;visibility: hidden!important;}&lt;br /&gt;&lt;/style&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/6059016432998323683-8540201849338473915?l=www.duythang.net' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://www.duythang.net/feeds/8540201849338473915/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.duythang.net/2008/07/id-25205-clr-ffffff-000000-feffd6.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8540201849338473915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/6059016432998323683/posts/default/8540201849338473915'/><link rel='alternate' type='text/html' href='http://www.duythang.net/2008/07/id-25205-clr-ffffff-000000-feffd6.html' title=''/><author><name>Phạm Duy Thăng</name><uri>http://www.blogger.com/profile/04354594847650175676</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='30' src='http://2.bp.blogspot.com/_7HQMEKpIxtQ/TROFEm7GUdI/AAAAAAAAAkM/S06hNcsGRFs/S220/Thang.vietnam.png'/></author><thr:total>0</thr:total></entry></feed>
